[gallery] Add initial code 14/66714/1 tizen_legacy
authorGowtham Anandha Babu <gowtham.ab@samsung.com>
Wed, 20 Apr 2016 11:43:32 +0000 (17:13 +0530)
committerGowtham Anandha Babu <gowtham.ab@samsung.com>
Wed, 20 Apr 2016 11:45:25 +0000 (17:15 +0530)
Tested under Tizen 3.0 Emulator.

Change-Id: Id3125abeae52dd1cc9bcb01507a0b93cde27103a

280 files changed:
CMakeLists.txt [new file with mode: 0755]
INSTALL [new file with mode: 0755]
LICENSE [new file with mode: 0644]
NOTICE [new file with mode: 0755]
cscope.out [new file with mode: 0644]
inc/data/gl-data-type.h [new file with mode: 0755]
inc/data/gl-data-util.h [new file with mode: 0755]
inc/data/gl-data.h [new file with mode: 0755]
inc/data/gl-local-data.h [new file with mode: 0755]
inc/features/gl-albums-sel.h [new file with mode: 0755]
inc/features/gl-albums.h [new file with mode: 0755]
inc/features/gl-entry.h [new file with mode: 0755]
inc/features/gl-main.h [new file with mode: 0755]
inc/features/gl-pinchzoom.h [new file with mode: 0755]
inc/features/gl-thumbs-edit.h [new file with mode: 0755]
inc/features/gl-thumbs-sel.h [new file with mode: 0755]
inc/features/gl-thumbs.h [new file with mode: 0755]
inc/gallery.h [new file with mode: 0644]
inc/util/gl-db-update.h [new file with mode: 0755]
inc/util/gl-debug.h [new file with mode: 0755]
inc/util/gl-exif.h [new file with mode: 0755]
inc/util/gl-ext-exec.h [new file with mode: 0755]
inc/util/gl-ext-ug-load.h [new file with mode: 0755]
inc/util/gl-file-util.h [new file with mode: 0644]
inc/util/gl-fs.h [new file with mode: 0755]
inc/util/gl-icons.h [new file with mode: 0755]
inc/util/gl-lang.h [new file with mode: 0755]
inc/util/gl-strings.h [new file with mode: 0755]
inc/util/gl-ta.h [new file with mode: 0755]
inc/util/gl-thread-util.h [new file with mode: 0755]
inc/util/gl-ui-util.h [new file with mode: 0755]
inc/util/gl-util.h [new file with mode: 0755]
inc/widget/gl-button.h [new file with mode: 0755]
inc/widget/gl-controlbar.h [new file with mode: 0644]
inc/widget/gl-ctxpopup.h [new file with mode: 0644]
inc/widget/gl-editfield.h [new file with mode: 0644]
inc/widget/gl-gesture.h [new file with mode: 0644]
inc/widget/gl-nocontents.h [new file with mode: 0644]
inc/widget/gl-notify.h [new file with mode: 0644]
inc/widget/gl-popup.h [new file with mode: 0644]
inc/widget/gl-progressbar.h [new file with mode: 0644]
inc/widget/gl-rotate-bg.h [new file with mode: 0644]
inc/widget/gl-thumb.h [new file with mode: 0644]
inc/widget/gl-tile.h [new file with mode: 0644]
org.tizen.gallery.efl [new file with mode: 0755]
org.tizen.gallery.manifest [new file with mode: 0644]
org.tizen.gallery.xml [new file with mode: 0755]
packaging/org.tizen.gallery.spec [new file with mode: 0755]
project_def.prop [new file with mode: 0644]
res/black_theme/edc/gallery-edc-res.h [new file with mode: 0755]
res/black_theme/edc/gallery.edc [new file with mode: 0755]
res/black_theme/edc/gl-button.edc [new file with mode: 0755]
res/black_theme/edc/gl-check.edc [new file with mode: 0755]
res/black_theme/edc/gl-ctxpopup.edc [new file with mode: 0755]
res/black_theme/edc/gl-entry.edc [new file with mode: 0755]
res/black_theme/edc/gl-expanded-title.edc [new file with mode: 0755]
res/black_theme/edc/gl-gengrid-item-albums.edc [new file with mode: 0755]
res/black_theme/edc/gl-gengrid-item-ctxpopup.edc [new file with mode: 0755]
res/black_theme/edc/gl-gengrid-item-thumbview.edc [new file with mode: 0755]
res/black_theme/edc/gl-gengrid.edc [new file with mode: 0644]
res/black_theme/edc/gl-label.edc [new file with mode: 0644]
res/black_theme/edc/gl-macro.edc [new file with mode: 0644]
res/black_theme/edc/gl-naviframe.edc [new file with mode: 0644]
res/black_theme/edc/gl-nocontents.edc [new file with mode: 0644]
res/black_theme/edc/gl-popup-entry.edc [new file with mode: 0644]
res/black_theme/edc/gl-progressbar.edc [new file with mode: 0644]
res/black_theme/edc/gl-selection-notification.edc [new file with mode: 0644]
res/black_theme/edc/gl-timeline.edc [new file with mode: 0644]
res/black_theme/edc/images/00_EditField_clear.png [new file with mode: 0755]
res/black_theme/edc/images/00_badge_bg.png [new file with mode: 0644]
res/black_theme/edc/images/00_button_icon_arrow.png [new file with mode: 0755]
res/black_theme/edc/images/00_button_icon_arrow_press.png [new file with mode: 0755]
res/black_theme/edc/images/00_button_reveal.png [new file with mode: 0755]
res/black_theme/edc/images/00_button_reveal_press.png [new file with mode: 0755]
res/black_theme/edc/images/00_check_bg_dim.png [new file with mode: 0755]
res/black_theme/edc/images/00_circle_thumbnail_bg.png [new file with mode: 0755]
res/black_theme/edc/images/00_grid_overscrolling_bottom.png [new file with mode: 0755]
res/black_theme/edc/images/00_grid_overscrolling_left.png [new file with mode: 0755]
res/black_theme/edc/images/00_grid_overscrolling_right.png [new file with mode: 0755]
res/black_theme/edc/images/00_grid_overscrolling_top.png [new file with mode: 0755]
res/black_theme/edc/images/00_more_popup_press.png [new file with mode: 0755]
res/black_theme/edc/images/00_overscrolling_left.png [new file with mode: 0755]
res/black_theme/edc/images/00_overscrolling_right.png [new file with mode: 0755]
res/black_theme/edc/images/00_overscrolling_top.png [new file with mode: 0755]
res/black_theme/edc/images/00_popup_dropdown_bg.png [new file with mode: 0755]
res/black_theme/edc/images/00_popup_dropdown_title_bg.png [new file with mode: 0755]
res/black_theme/edc/images/00_popup_dropdown_title_bg_focus.png [new file with mode: 0755]
res/black_theme/edc/images/00_popup_dropdown_title_bg_press.png [new file with mode: 0755]
res/black_theme/edc/images/00_popup_overscrolling_bottom.png [new file with mode: 0755]
res/black_theme/edc/images/00_popup_overscrolling_left.png [new file with mode: 0755]
res/black_theme/edc/images/00_popup_overscrolling_right.png [new file with mode: 0755]
res/black_theme/edc/images/00_popup_overscrolling_top.png [new file with mode: 0755]
res/black_theme/edc/images/00_popup_scroll.png [new file with mode: 0755]
res/black_theme/edc/images/00_popup_scroll_h.png [new file with mode: 0755]
res/black_theme/edc/images/00_popup_scroll_v.png [new file with mode: 0755]
res/black_theme/edc/images/00_scroll_bar.png [new file with mode: 0755]
res/black_theme/edc/images/00_search_edit_field_bg.png [new file with mode: 0755]
res/black_theme/edc/images/00_search_edit_field_bg_focus.png [new file with mode: 0755]
res/black_theme/edc/images/00_thumbs_bg_focus.png [new file with mode: 0755]
res/black_theme/edc/images/00_title_bg.png [new file with mode: 0755]
res/black_theme/edc/images/00_winset_list_progress_bg.png [new file with mode: 0755]
res/black_theme/edc/images/00_winset_title_tabbar_bg.png [new file with mode: 0755]
res/black_theme/edc/images/T01_Nocontents_picture.png [new file with mode: 0755]
res/black_theme/edc/images/T01_album_edit_check_bg.png [new file with mode: 0755]
res/black_theme/edc/images/T01_album_edit_check_off.png [new file with mode: 0755]
res/black_theme/edc/images/T01_album_edit_check_on.png [new file with mode: 0755]
res/black_theme/edc/images/T01_album_edit_rename.png [new file with mode: 0755]
res/black_theme/edc/images/T01_album_edit_rename_bg.png [new file with mode: 0755]
res/black_theme/edc/images/T01_album_edit_rename_bg_press.png [new file with mode: 0755]
res/black_theme/edc/images/T01_album_edit_rename_press.png [new file with mode: 0755]
res/black_theme/edc/images/T01_album_folder_bg.png [new file with mode: 0755]
res/black_theme/edc/images/T01_album_icon_sd_card.png [new file with mode: 0755]
res/black_theme/edc/images/T01_btn_play.png [new file with mode: 0755]
res/black_theme/edc/images/T01_bubble_icon_footsteps.png [new file with mode: 0755]
res/black_theme/edc/images/T01_bubble_icon_gridview.png [new file with mode: 0755]
res/black_theme/edc/images/T01_button_circle_bg_normal.png [new file with mode: 0755]
res/black_theme/edc/images/T01_button_circle_bg_normal_press.png [new file with mode: 0755]
res/black_theme/edc/images/T01_check.png [new file with mode: 0755]
res/black_theme/edc/images/T01_checkbox.png [new file with mode: 0755]
res/black_theme/edc/images/T01_controlbar_icon_slideshow.png [new file with mode: 0755]
res/black_theme/edc/images/T01_editl_effect.png [new file with mode: 0755]
res/black_theme/edc/images/T01_gallery_album_progress_bar.png [new file with mode: 0755]
res/black_theme/edc/images/T01_icon_back.png [new file with mode: 0644]
res/black_theme/edc/images/T01_nocontents_videos.png [new file with mode: 0755]
res/black_theme/edc/images/T01_thumbs_bustshot_bg.png [new file with mode: 0755]
res/black_theme/edc/images/T01_video_play.png [new file with mode: 0755]
res/black_theme/edc/images/core_pattern_empty_bg.png [new file with mode: 0755]
res/black_theme/edc/images/core_pattern_empty_bg_h.png [new file with mode: 0755]
res/black_theme/edc/images/gallery_icon_container.png [new file with mode: 0644]
res/black_theme/edc/images/gallery_icon_full.png [new file with mode: 0644]
res/black_theme/edc/sounds/S_Touch_30ms.wav [new file with mode: 0755]
res/black_theme/edc/sounds/button-pressed.wav [new file with mode: 0755]
res/black_theme/images/Contents_broken_351X261.png [new file with mode: 0755]
res/black_theme/images/No_thumbnail_351X261.png [new file with mode: 0755]
res/black_theme/images/T01_btn_play.png [new file with mode: 0755]
res/black_theme/images_edc/T01_album_icon_camera.png [new file with mode: 0755]
res/black_theme/images_edc/T01_album_icon_download.png [new file with mode: 0755]
res/black_theme/images_edc/T01_album_icon_folder.png [new file with mode: 0755]
res/black_theme/images_edc/T01_album_icon_sd_card.png [new file with mode: 0755]
res/black_theme/images_edc/T01_btn_thumbnail_play.png [new file with mode: 0755]
res/black_theme/images_edc/T01_icon_add_folder.png [new file with mode: 0755]
res/black_theme/images_edc/T01_icon_back.png [new file with mode: 0644]
res/black_theme/images_edc/T01_icon_bustshot_45x45.PNG [new file with mode: 0755]
res/black_theme/images_edc/T01_icon_camera_all.png [new file with mode: 0755]
res/black_theme/images_edc/T01_icon_lock.png [new file with mode: 0755]
res/black_theme/images_edc/T01_icon_panorama.png [new file with mode: 0755]
res/black_theme/images_edc/T01_icon_share.png [new file with mode: 0755]
res/black_theme/images_edc/T01_icon_sound_shot.png [new file with mode: 0755]
res/black_theme/images_edc/T01_icon_thumbnail_bookmark.png [new file with mode: 0755]
res/black_theme/images_edc/T01_nocontents_videos.png [new file with mode: 0755]
res/black_theme/images_edc/T01_popup_copy.png [new file with mode: 0755]
res/black_theme/images_edc/T01_popup_icon_delete.png [new file with mode: 0755]
res/black_theme/images_edc/T01_popup_icon_done.png [new file with mode: 0755]
res/black_theme/images_edc/T01_popup_icon_edit.png [new file with mode: 0755]
res/black_theme/images_edc/T01_popup_icon_new_album.png [new file with mode: 0755]
res/black_theme/images_edc/T01_popup_icon_rename.png [new file with mode: 0755]
res/black_theme/images_edc/T01_popup_icon_rotate_left.png [new file with mode: 0755]
res/black_theme/images_edc/T01_popup_icon_rotate_right.png [new file with mode: 0755]
res/black_theme/images_edc/T01_popup_icon_slideshow.png [new file with mode: 0755]
res/black_theme/images_edc/T01_popup_move.png [new file with mode: 0755]
res/black_theme/images_edc/T01_title_icon_select_all.png [new file with mode: 0755]
res/black_theme/images_edc/T02_popup_icon_edit_image.png [new file with mode: 0755]
res/black_theme/images_edc/T02_popup_icon_settings.png [new file with mode: 0755]
res/black_theme/images_edc/gallery_list_icon_folder.png [new file with mode: 0644]
res/black_theme/images_edc/gallery_list_icon_my_files_sd_card.png [new file with mode: 0644]
res/black_theme/images_edc/gl-images.edc [new file with mode: 0644]
res/gallery.uri [new file with mode: 0755]
res/icon/org.tizen.gallery.png [new file with mode: 0644]
res/po/CMakeLists.txt [new file with mode: 0755]
res/po/POTFILES.in [new file with mode: 0755]
res/po/ar.po [new file with mode: 0644]
res/po/az.po [new file with mode: 0644]
res/po/bg.po [new file with mode: 0644]
res/po/ca.po [new file with mode: 0644]
res/po/cs.po [new file with mode: 0644]
res/po/da.po [new file with mode: 0644]
res/po/de.po [new file with mode: 0644]
res/po/el_GR.po [new file with mode: 0644]
res/po/en.po [new file with mode: 0644]
res/po/en_PH.po [new file with mode: 0644]
res/po/en_US.po [new file with mode: 0644]
res/po/es_ES.po [new file with mode: 0644]
res/po/es_US.po [new file with mode: 0644]
res/po/et.po [new file with mode: 0644]
res/po/eu.po [new file with mode: 0644]
res/po/fi.po [new file with mode: 0644]
res/po/fr.po [new file with mode: 0644]
res/po/fr_CA.po [new file with mode: 0644]
res/po/ga.po [new file with mode: 0644]
res/po/gl.po [new file with mode: 0644]
res/po/hi.po [new file with mode: 0644]
res/po/hr.po [new file with mode: 0644]
res/po/hu.po [new file with mode: 0644]
res/po/hy.po [new file with mode: 0644]
res/po/is.po [new file with mode: 0644]
res/po/it_IT.po [new file with mode: 0644]
res/po/ja_JP.po [new file with mode: 0644]
res/po/ka.po [new file with mode: 0644]
res/po/kk.po [new file with mode: 0644]
res/po/ko_KR.po [new file with mode: 0644]
res/po/lt.po [new file with mode: 0644]
res/po/lv.po [new file with mode: 0644]
res/po/mk.po [new file with mode: 0644]
res/po/nb.po [new file with mode: 0644]
res/po/nl.po [new file with mode: 0644]
res/po/pl.po [new file with mode: 0644]
res/po/pt_BR.po [new file with mode: 0644]
res/po/pt_PT.po [new file with mode: 0644]
res/po/ro.po [new file with mode: 0644]
res/po/ru_RU.po [new file with mode: 0644]
res/po/sk.po [new file with mode: 0644]
res/po/sl.po [new file with mode: 0644]
res/po/sr.po [new file with mode: 0644]
res/po/sv.po [new file with mode: 0644]
res/po/tr_TR.po [new file with mode: 0644]
res/po/uk.po [new file with mode: 0644]
res/po/update-po.sh [new file with mode: 0755]
res/po/uz.po [new file with mode: 0644]
res/po/zh_CN.po [new file with mode: 0644]
res/po/zh_HK.po [new file with mode: 0644]
res/po/zh_TW.po [new file with mode: 0644]
res/res.xml [new file with mode: 0644]
shared/res/org.tizen.gallery.png [new file with mode: 0644]
src/2dview/gl-albums-edit.c [new file with mode: 0644]
src/2dview/gl-albums-edit.h [new file with mode: 0644]
src/2dview/gl-albums-new.c [new file with mode: 0644]
src/2dview/gl-albums-new.h [new file with mode: 0644]
src/2dview/gl-albums-rename.c [new file with mode: 0644]
src/2dview/gl-albums-rename.h [new file with mode: 0644]
src/2dview/gl-ecore-animator.h [new file with mode: 0644]
src/2dview/gl-exception.h [new file with mode: 0644]
src/2dview/gl-timeline.c [new file with mode: 0644]
src/2dview/gl-timeline.h [new file with mode: 0644]
src/data/gl-data-type.c [new file with mode: 0644]
src/data/gl-data-util.c [new file with mode: 0644]
src/data/gl-data.c [new file with mode: 0644]
src/data/gl-local-data.c [new file with mode: 0644]
src/features/gl-albums-sel.c [new file with mode: 0644]
src/features/gl-albums.c [new file with mode: 0644]
src/features/gl-entry.c [new file with mode: 0644]
src/features/gl-main.c [new file with mode: 0644]
src/features/gl-pinchzoom.c [new file with mode: 0644]
src/features/gl-thumbs-edit.c [new file with mode: 0644]
src/features/gl-thumbs-sel.c [new file with mode: 0644]
src/features/gl-thumbs.c [new file with mode: 0644]
src/gallery.c [new file with mode: 0644]
src/util/gl-db-update.c [new file with mode: 0644]
src/util/gl-debug.c [new file with mode: 0644]
src/util/gl-exif.c [new file with mode: 0644]
src/util/gl-ext-exec.c [new file with mode: 0644]
src/util/gl-ext-ug-load.c [new file with mode: 0755]
src/util/gl-file-util.c [new file with mode: 0644]
src/util/gl-fs.c [new file with mode: 0644]
src/util/gl-lang.c [new file with mode: 0644]
src/util/gl-ta.c [new file with mode: 0644]
src/util/gl-thread-util.c [new file with mode: 0644]
src/util/gl-ui-util.c [new file with mode: 0644]
src/util/gl-util.c [new file with mode: 0644]
src/widget/gl-button.c [new file with mode: 0644]
src/widget/gl-controlbar.c [new file with mode: 0644]
src/widget/gl-ctxpopup.c [new file with mode: 0644]
src/widget/gl-editfield.c [new file with mode: 0644]
src/widget/gl-gesture.c [new file with mode: 0644]
src/widget/gl-nocontents.c [new file with mode: 0644]
src/widget/gl-notify.c [new file with mode: 0644]
src/widget/gl-popup.c [new file with mode: 0644]
src/widget/gl-progressbar.c [new file with mode: 0644]
src/widget/gl-rotate-bg.c [new file with mode: 0644]
src/widget/gl-thumb.c [new file with mode: 0644]
src/widget/gl-tile.c [new file with mode: 0644]
tizen-manifest.xml [new file with mode: 0644]
widget/CMakeLists.txt [new file with mode: 0644]
widget/include/gl_widget.h [new file with mode: 0644]
widget/include/gl_widget_debug.h [new file with mode: 0644]
widget/res/CMakeLists.txt [new file with mode: 0644]
widget/res/gallerywidget.edc [new file with mode: 0644]
widget/res/images/today_button.png [new file with mode: 0644]
widget/res/preview_gallery_4x4.png [new file with mode: 0644]
widget/src/gl_widget_create.c [new file with mode: 0644]
widget/src/gl_widget_main.c [new file with mode: 0644]

diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100755 (executable)
index 0000000..4dc33b5
--- /dev/null
@@ -0,0 +1,147 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+PROJECT(gallery C CXX)
+
+SET(RSRC_DIR res)
+
+SET(EDC_DIR black_theme/edc)
+SET(IMG_DIR black_theme/edc/images)
+SET(SOUND_DIR black_theme/edc/sounds)
+SET(IMG_EDC_DIR black_theme/images_edc)
+
+AUX_SOURCE_DIRECTORY(${CMAKE_SOURCE_DIR}/src/2dview 2DVIEW_SRCS)
+
+AUX_SOURCE_DIRECTORY(${CMAKE_SOURCE_DIR}/src MAIN_SRCS)
+AUX_SOURCE_DIRECTORY(${CMAKE_SOURCE_DIR}/src/features FEATURE_SRCS)
+AUX_SOURCE_DIRECTORY(${CMAKE_SOURCE_DIR}/src/widget WIDGET_SRCS)
+AUX_SOURCE_DIRECTORY(${CMAKE_SOURCE_DIR}/src/util UTIL_SRCS)
+AUX_SOURCE_DIRECTORY(${CMAKE_SOURCE_DIR}/src/data DATA_SRCS)
+
+SET(APP_SRCS
+       ${2DVIEW_SRCS}
+       ${MAIN_SRCS}
+       ${FEATURE_SRCS}
+       ${WIDGET_SRCS}
+       ${UTIL_SRCS}
+       ${DATA_SRCS}
+       )
+
+SET(VENDOR "tizen")
+SET(PACKAGE ${PROJECT_NAME})
+SET(PKGNAME "org.${VENDOR}.gallery")
+SET(PREFIX ${CMAKE_INSTALL_PREFIX})
+SET(BINDIR "${PREFIX}/bin")
+SET(RESDIR "${PREFIX}/res")
+SET(DATADIR "${PREFIX}/data")
+SET(LOCALEDIR "${RESDIR}/locale")
+SET(ICONDIR "/usr/share/icons/default/small")
+SET(EDJDIR "${RESDIR}/edje")
+
+IF("${CMAKE_BUILD_TYPE}" STREQUAL "")
+       SET(CMAKE_BUILD_TYPE "Release")
+ENDIF("${CMAKE_BUILD_TYPE}" STREQUAL "")
+MESSAGE("Build type: ${CMAKE_BUILD_TYPE}")
+
+INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/src/2dview)
+INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/inc)
+INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/inc/data)
+INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/inc/util)
+INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/inc/widget)
+INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/inc/features)
+
+INCLUDE(FindPkgConfig)
+pkg_check_modules(pkgs REQUIRED
+       appsvc
+       elementary
+       evas
+       efl-extension
+       glib-2.0
+       notification
+       storage
+       capi-appfw-application
+       capi-content-media-content
+       capi-system-system-settings
+       capi-appfw-widget-application
+)
+
+FOREACH(flag ${pkgs_CFLAGS})
+       SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
+ENDFOREACH(flag)
+
+SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fvisibility=hidden")
+SET(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fPIC")
+SET(CMAKE_C_FLAGS_DEBUG "-O0 -g -fpie")
+SET(CMAKE_C_FLAGS_RELEASE "-O2 -fpie")
+
+FIND_PROGRAM(UNAME NAMES uname)
+EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH")
+IF("${ARCH}" MATCHES "arm")
+       ADD_DEFINITIONS("-DTARGET")
+       MESSAGE("add -DTARGET")
+ENDIF("${ARCH}" MATCHES "arm")
+
+ADD_DEFINITIONS("-DVENDOR=\"${VENDOR}\"")
+ADD_DEFINITIONS("-DPACKAGE=\"${PACKAGE}\"")
+ADD_DEFINITIONS("-DPACKAGE_NAME=\"${PKGNAME}\"")
+ADD_DEFINITIONS("-DPREFIX=\"${PREFIX}\"")
+ADD_DEFINITIONS("-DRESDIR=\"${RESDIR}\"")
+ADD_DEFINITIONS("-DDATADIR=\"${DATADIR}\"")
+ADD_DEFINITIONS("-DLOCALEDIR=\"${LOCALEDIR}\"")
+ADD_DEFINITIONS("-DICONDIR=\"${ICONDIR}\"")
+ADD_DEFINITIONS("-DEDJDIR=\"${EDJDIR}\"")
+
+ADD_DEFINITIONS("-D_USE_DLOG_")
+ADD_DEFINITIONS("-D_USE_SECURE_LOG_")
+ADD_DEFINITIONS("-D_USE_ROTATE_BG")
+ADD_DEFINITIONS("-D_RENAME_ALBUM_SENSITIVE")
+ADD_DEFINITIONS("-D_USE_OPENGL_BACKEND")
+ADD_DEFINITIONS("-D_USE_GRID_CHECK")
+ADD_DEFINITIONS("-D_USE_ALBUM_SHARE")
+
+SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie")
+SET(CMAKE_LDFLAGS "-Wl,-zdefs" )
+
+ADD_EXECUTABLE(${PROJECT_NAME} ${APP_SRCS})
+TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} -lstdc++ "-ldl")
+
+# EDC/EDJ
+ADD_CUSTOM_COMMAND(OUTPUT gallery.edj
+               COMMAND edje_cc -id ${CMAKE_SOURCE_DIR}/${RSRC_DIR}/${IMG_DIR}
+               -sd  ${CMAKE_SOURCE_DIR}/${RSRC_DIR}/${SOUND_DIR}
+               ${CMAKE_SOURCE_DIR}/${RSRC_DIR}/${EDC_DIR}/gallery.edc ${CMAKE_BINARY_DIR}/gallery.edj
+               DEPENDS ${CMAKE_SOURCE_DIR}/${RSRC_DIR}/${EDC_DIR}/gallery.edc
+)
+
+ADD_CUSTOM_COMMAND(OUTPUT gl-images.edj
+               COMMAND edje_cc -id ${CMAKE_SOURCE_DIR}/${RSRC_DIR}/${IMG_EDC_DIR}
+               ${CMAKE_SOURCE_DIR}/${RSRC_DIR}/${IMG_EDC_DIR}/gl-images.edc ${CMAKE_BINARY_DIR}/gl-images.edj
+               DEPENDS ${CMAKE_SOURCE_DIR}/${RSRC_DIR}/${IMG_EDC_DIR}/gl-images.edc
+)
+
+ADD_CUSTOM_TARGET(edj_build DEPENDS gallery.edj gl-images.edj)
+
+ADD_DEPENDENCIES(${PROJECT_NAME} edj_build)
+
+INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${BINDIR})
+INSTALL(FILES ${CMAKE_BINARY_DIR}/gallery.edj DESTINATION ${EDJDIR})
+INSTALL(FILES ${CMAKE_BINARY_DIR}/gl-images.edj DESTINATION ${EDJDIR})
+
+# install manifest file & icon
+INSTALL(FILES ${CMAKE_BINARY_DIR}/${PKGNAME}.xml DESTINATION /usr/share/packages)
+INSTALL(FILES ${CMAKE_SOURCE_DIR}/${RSRC_DIR}/icon/${PKGNAME}.png DESTINATION ${ICONDIR})
+INSTALL(FILES ${CMAKE_SOURCE_DIR}/widget/res/preview_gallery_4x4.png DESTINATION ${ICONDIR})
+
+INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/res/black_theme/images DESTINATION ${RESDIR})
+
+# install content shortcut uri file
+INSTALL(FILES ${CMAKE_SOURCE_DIR}/${RSRC_DIR}/gallery.uri DESTINATION /usr/share/miregex)
+
+# install smack rule file
+INSTALL(FILES ${CMAKE_SOURCE_DIR}/org.tizen.gallery.efl DESTINATION  /etc/smack/accesses.d)
+
+# install application HOME directory
+INSTALL(DIRECTORY DESTINATION /opt/usr/apps/${PKGNAME}/data)
+
+# i18n
+ADD_SUBDIRECTORY(res/po)
+ADD_SUBDIRECTORY(widget)
+
diff --git a/INSTALL b/INSTALL
new file mode 100755 (executable)
index 0000000..3f81c54
--- /dev/null
+++ b/INSTALL
@@ -0,0 +1,33 @@
+1. make the build directory
+
+  ex) 
+
+   $ mkdir build
+
+
+2. change the working directory to the build directory
+
+  ex)
+
+   $ cd build
+
+
+3. run 'cmake'
+
+  $ cmake ${SOURCE_DIR} -DCMAKE_INSTALL_PREFIX=/opt/apps/@@PKGNAME@@
+
+  ex)
+
+   $ cmake .. -DCMAKE_INSTALL_PREFIX=/opt/apps/@@PKGNAME@@
+
+   or
+
+   $ cmake ..
+
+
+4. make & make install
+
+  ex)
+
+   $ make -j 2 && make install
+
diff --git a/LICENSE b/LICENSE
new file mode 100644 (file)
index 0000000..54b213e
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,204 @@
+Copyright (c) 2000 - 2015 Samsung Electronics Co., Ltd. All rights reserved.
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   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.
+
diff --git a/NOTICE b/NOTICE
new file mode 100755 (executable)
index 0000000..62e0bd2
--- /dev/null
+++ b/NOTICE
@@ -0,0 +1,3 @@
+Copyright (c) 2000-2015 Samsung Electronics Co., Ltd. All rights reserved.
+
+
diff --git a/cscope.out b/cscope.out
new file mode 100644 (file)
index 0000000..28271e4
--- /dev/null
@@ -0,0 +1,187674 @@
+cscope 15 $HOME/wearables/gallery               0001107946
+       @inc/data/gl-data-type.h
+
+18 #iâdeà
+_GL_DATA_TYPE_H_
+
+
+19 \ 1
+       #_GL_DATA_TYPE_H_
+
+
+       )
+
+21 \ 2
+       ~<¡dlib.h
+>
+
+22 \ 2
+       ~<med\9f_cÚ\8bÁ.h
+>
+
+23 \ 2
+       ~<e\9aa_li¡.h
+>
+
+24 \ 2
+       ~<EËm\92\8fry.h
+>
+
+26 #ifdeà
+__ýlu¥lus
+
+
+31 \ 1
+       #GL_FREEIF
+(
+±r
+) \
+
+33 if(
+±r
+ !ð
+NULL
+) { \
+
+34 
+       `ä\93
+(
+±r
+); \
+
+35 
+±r
+ = 
+NULL
+; \
+
+37 } \1f0)
+
+       )
+
+39 \ 1
+       #GL_FREE
+(
+±r
+) \
+
+41 
+       `ä\93
+(
+±r
+); \
+
+42 
+±r
+ = 
+NULL
+; \
+
+43 } \1f0)
+
+       )
+
+45 \ 1
+       #GL_GFREEIF
+(
+±r
+) \
+
+47 if(
+±r
+ !ð
+NULL
+) { \
+
+48 
+       `g_ä\93
+(
+±r
+); \
+
+49 
+±r
+ = 
+NULL
+; \
+
+51 } \1f0)
+
+       )
+
+53 \ 1
+       #GL_GFREE
+(
+±r
+) \
+
+55 
+       `g_ä\93
+(
+±r
+); \
+
+56 
+±r
+ = 
+NULL
+; \
+
+57 } \1f0)
+
+       )
+
+59 \ 1
+       #GL_TYPE_ALBUM
+ (0x55551)
+
+       )
+
+60 \ 1
+       #GL_TYPE_MEDIA
+ (0x55553)
+
+       )
+
+61 \ 1
+       #GL_TYPE_WEB_MEDIA
+ (0x55554)
+
+       )
+
+64 
+GL_STORE_T_PHONE
+ = 0,
+
+65 
+GL_STORE_T_MMC
+,
+
+66 
+GL_STORE_T_ALL
+,
+
+67 
+GL_STORE_T_FAV
+,
+
+68 } 
+       tgl_¡Üe_ty³_e
+;
+
+71 \e\19
+_gl_®bum_t
+       tgl_®bum_s
+;
+
+72 \e\19
+_gl_med\9f_t
+       tgl_med\9f_s
+;
+
+73 \e\19
+_gl_image_t
+       tgl_image_s
+;
+
+74 \e\19
+_gl_video_t
+       tgl_video_s
+;
+
+76 \19
+       s_gl_®bum_t
+ {
+
+77 \12
+gty³
+;
+
+78 
+med\9f_fÞd\94_h
+fÞd\94_h
+;
+
+79 \ 5*
+uuid
+;
+
+80 \ 5*
+di¥Ïy_Çme
+;
+
+81 \ 5*
+·th
+;
+
+82 \12
+ty³
+;
+
+83 
+time_t
+mtime
+;
+
+84 \12
+couÁ
+;
+
+87 \19
+       s_gl_med\9f_t
+ {
+
+88 \1e*
+ad
+;
+
+89 \12
+gty³
+;
+
+90 
+med\9f_\9afo_h
+med\9f_h
+;
+
+91 \ 5*
+uuid
+;
+
+92 \12
+ty³
+;
+
+93 \ 5*
+thumb_u¾
+;
+
+94 \ 5*
+f\9ee_u¾
+;
+
+95 
+time_t
+mtime
+;
+
+96 \ 5*
+di¥Ïy_Çme
+;
+
+97 \12
+mode
+;
+
+98 \ 5*
+ext
+;
+
+99 
+gl_¡Üe_ty³_e
+¡Üage_ty³
+;
+
+100 
+boÞ
+b_ü\97\8b_thumb
+;
+
+101 
+boÞ
+check_¡©e
+;
+
+102 
+Elm_Objeù_I\8bm
+ *
+\96m_\99em
+;
+
+105 
+gl_image_s
+ *
+image_\9afo
+;
+
+106 
+gl_video_s
+ *
+video_\9afo
+;
+
+110 \19
+       s_gl_image_t
+ {
+
+111 \ 5*
+med\9f_uuid
+;
+
+112 
+image_m\91a_h
+image_h
+;
+
+113 \12
\9bÁ©iÚ
+;
+
+114 \ 5*
+bur¡shÙ_id
+;
+
+117 \19
+       s_gl_video_t
+ {
+
+118 \ 5*
+med\9f_uuid
+;
+
+119 
+video_m\91a_h
+video_h
+;
+
+120 \ 5*
+t\99Ë
+;
+
+121 
+time_t
+Ï¡_¶ayed_pos
+;
+
+122 \12
+du¿tiÚ
+;
+
+123 \12
+bookm¬ks
+;
+
+126 \12
+_gl_d©a_ty³_Ãw_med\9f
+(
+gl_med\9f_s
+ **
+\99em
+);
+
+127 \12
+_gl_d©a_ty³_Ãw_®bum
+(
+gl_®bum_s
+ **
+®bum
+);
+
+129 \12
+_gl_d©a_ty³_ä\93_med\9f_li¡
+(
+E\9aa_Li¡
+ **
+li¡
+);
+
+130 \12
+_gl_d©a_ty³_ä\93_®bum_li¡
+(
+E\9aa_Li¡
+ **
+li¡
+);
+
+131 \12
+_gl_d©a_ty³_ä\93_gl\99em
+(\1e**
+\99em
+);
+
+133 #ifdeà
+__ýlu¥lus
+
+
+       @inc/data/gl-data-util.h
+
+17 #iâdeà
+_GL_DATA_UTIL_H_
+
+
+18 \ 1
+       #_GL_DATA_UTIL_H_
+
+
+       )
+
+20 \ 2
+       ~<e\9aa_li¡.h
+>
+
+21 \ 2
+       ~<glib.h
+>
+
+22 \ 2
+       ~<EËm\92\8fry.h
+>
+
+23 \ 2
+       ~"gl-d©a-ty³.h
+"
+
+25 #ifdeà
+__ýlu¥lus
+
+
+30 \ 1
+       #GL_MAX_BYTES_FOR_CHAR
+ 3
+
+       )
+
+31 \ 1
+       #GL_FILE_PATH_LEN_MAX
+ (4095 * 
+GL_MAX_BYTES_FOR_CHAR
+ + 1)
+
+       )
+
+32 \ 1
+       #GL_FILE_NAME_LEN_MAX
+ (255 * 
+GL_MAX_BYTES_FOR_CHAR
+ + 1)
+
+       )
+
+33 \ 1
+       #GL_DIR_PATH_LEN_MAX
+GL_FILE_PATH_LEN_MAX
+
+
+       )
+
+34 \ 1
+       #GL_ARRAY_LEN_MAX
+ 256
+
+       )
+
+35 \ 1
+       #GL_FILE_EXT_LEN_MAX
+ 256
+
+       )
+
+36 \ 1
+       #GL_FIRST_VIEW_START_POS
+ 0
+
+       )
+
+37 \ 1
+       #GL_FIRST_VIEW_END_POS
+ 47
+
+38 \ 1
+       #GL_GET_UNTIL_LAST_RECORD
+ 65536
+
+39 \ 1
+       #GL_GET_ALL_RECORDS
+ (-1)
+
+       )
+
+40 \ 1
+       #GL_GET_ONE_RECORD
+ 1
+
+       )
+
+41 \ 1
+       #GL_GET_ALL_RECORDS_ID
+NULL
+
+
+       )
+
+43 \ 1
+       #GL_ALBUM_COVER_THUMB_NUM
+ 1
+
+       )
+
+50 \ 1
+       #GL_NEW_RECORD_ID
+NULL
+
+
+       )
+
+51 \ 1
+       #GL_PINCH_WIDTH
+ 4
+
+       )
+
+52 \ 1
+       #GL_PINCH_LANDSCAPE_WIDTH
+ 9
+
+       )
+
+54 \ 1
+       #GL_JPEG_FILE_EXT
+ "jpg"
+
+       )
+
+57 
+GL_SORT_BY_NONE
+,
+
+58 
+GL_SORT_BY_NAME_DESC
+,
+
+59 
+GL_SORT_BY_NAME_ASC
+,
+
+60 
+GL_SORT_BY_DATE_DESC
+,
+
+61 
+GL_SORT_BY_DATE_ASC
+,
+
+62 } 
+       tgl_sÜt_ty³_e
+;
+
+65 
+GL_ICON_NORMAL
+,
+
+66 
+GL_ICON_CORRUPTED_FILE
+
+
+67 }
+       tgl_icÚ_ty³_e
+;
+
+70 
+E\9aa_Li¡
+ *
+þi¡
+;
+
+72 \12
+ed\99_út
+;
+
+73 \12
+phÚe_út
+;
+
+74 } 
+       tgl_þu¡\94_li¡
+;
+
+76 \e\19
+_gl_thumb_d©a_t
+       tgl_thumb_d©a_s
+;
+
+77 \e\19
+_gl_®bum_d©a_t
+       tgl_®bum_d©a_s
+;
+
+78 \e\19
+_gl_þu¡\94
+       tgl_þu¡\94
+;
+
+80 \e\19
+       s_gl_\99em
+ {
+
+81 
+gl_med\9f_s
+ *
+\99em
+;
+
+82 \12
+icÚ_idx
+;
+
+83 \12
+li¡_\99em_út
+;
+
+85 \12
+li¡_idx
+[
+GL_PINCH_LANDSCAPE_WIDTH
+];
+
+87 
+Elm_Objeù_I\8bm
+ *
+\96m_\99em
+;
+
+88 
+boÞ
\97µ\92d
+;
+
+89 
+boÞ
+checked
+;
+
+90 \12
+£qu\92û
+;
+
+91 
+boÞ
+b_d\96\91ed
+;
+
+93 \12
+¡Üe_ty³
+;
+
+94 \19
+_gl_\99em
+ *
+´e_g\99em
+;
+
+95 \1e*
+ad
+;
+
+96 
+gl_thumb_d©a_s
+ *
+thumb_d©a
+;
+
+97 
+gl_þu¡\94
+ *
+®bum
+;
+
+98 } 
+       tgl_\99em
+;
+
+100 \19
+       s_gl_þu¡\94
+ {
+
+101 
+gl_®bum_s
+ *
+þu¡\94
+;
+
+102 \12
+\9adex
+;
+
+103 
+E\9aa_Li¡
+ *
+\96
+;
+
+104 
+E\9aa_Li¡
+ *
+\96i¡1
+;
+
+105 
+Elm_Objeù_I\8bm
+ *
+\99em
+;
+
+106 
+boÞ
+checked
+;
+
+108 \1e*
+ad
+;
+
+109 
+gl_\99em
+ *
+cov\94
+;
+
+110 \12
+cov\94_thumbs_út
+;
+
+111 
+gl_®bum_d©a_s
+ *
+®bum_d©a
+;
+
+114 \19
+       s_gl_®bum_d©a_t
+ {
+
+115 \1e*
+ad
+;
+
+116 
+gl_þu¡\94
+ *
+®bum
+;
+
+119 \19
+       s_gl_thumb_d©a_t
+ {
+
+120 \1e*
+ad
+;
+
+121 
+gl_\99em
+ *
+\99em
+;
+
+124 
+boÞ
+_gl_d©a_ut\9e_g\91_f\9ee_d\9c_Çme
+(cڡ \ 5*
+f\9ee_·th
+, \ 5*
+f\9e\92ame
+,
+
+125 \ 5*
+d\9c_Çme
+, \ 5*
+d\9c_·th
+);
+
+126 
+gl_\99em
+ *
+_gl_d©a_ut\9e_ÿÎoc_g\99em
+(\1e);
+
+127 \12
+_gl_d©a_ut\9e\93_g\99em
+(
+gl_\99em
+ *
+g\99em
+);
+
+128 
+gl_þu¡\94
+ *
+_gl_d©a_ut\9e_ÿÎoc_gþu¡\94
+(\1e);
+
+129 \12
+_gl_d©a_ut\9e\93_gþu¡\94
+(
+gl_þu¡\94
+ *
+gþu¡\94
+);
+
+130 
+gl_þu¡\94
+ *
+_gl_d©a_ut\9e_Ãw_gþu¡\94_®l
+(\1e*
+d©a
+, \12
+couÁ
+);
+
+131 
+gl_þu¡\94
+ *
+_gl_d©a_ut\9e_Ãw_gþu¡\94_çv
+(\1e*
+d©a
+, \12
+couÁ
+);
+
+132 
+gl_þu¡\94_li¡
+ *
+_gl_d©a_ut\9e_ÿÎoc_þu¡\94_li¡
+(\1e);
+
+133 \12
+_gl_d©a_ut\9e\97r_gty³_\99em_li¡
+(
+E\9aa_Li¡
+ **
+\96
+);
+
+134 \12
+_gl_d©a_ut\9e\97r_\99em_li¡
+(
+E\9aa_Li¡
+ **
+\96
+);
+
+135 \12
+_gl_d©a_ut\9e\97r_þu¡\94_li¡
+(
+E\9aa_Li¡
+ **
+\96
+);
+
+136 \12
+_gl_d©a_ut\9e_g\91_£Ëùed_þu¡\94_id_li¡
+(\1e*
+d©a
+,
+
+137 
+E\9aa_Li¡
+ **
+£l_id_li¡
+);
+
+138 \12
+_gl_d©a_ut\9e_g\91_£Ëùed_¡r_ids
+(
+E\9aa_Li¡
+ **
+£l_li¡
+, E\9aa_Li¡ **
+\96
+);
+
+139 
+boÞ
+_gl_d©a_ut\9e_check_£Ëùed_¡r_id
+(
+E\9aa_Li¡
+ **
+£l_id_li¡
+, cڡ \ 5*
+id
+);
+
+140 \12
+_gl_d©a_ut\9e\93_£Ëùed_¡r_li¡
+(
+E\9aa_Li¡
+ **
+£l_id_li¡
+);
+
+141 
+boÞ
+_gl_d©a_ut\9e_check_£Ëùed_\9at_id
+(
+E\9aa_Li¡
+ **
+£l_id_li¡
+, \12
+id
+);
+
+142 \12
+_gl_d©a_ut\9e_check_®bum_£Ëùed_f\9ees
+(
+gl_þu¡\94
+ *
+®bum
+,
+
+143 \12*
+img_út
+, \12*
+£l_út
+,
+
+144 \12*
+web_út
+);
+
+145 \12
+_gl_d©a_ut\9e_g\91_cÚd
+(\ 5*
+cÚd
+);
+
+146 \12
+_gl_d©a_ut\9e_g\91_çv_cÚd
+(\ 5*
+cÚd
+);
+
+148 #ifdeà
+__ýlu¥lus
+
+
+       @inc/data/gl-data.h
+
+18 #iâdeà
+_GL_DATA_H_
+
+
+19 \ 1
+       #_GL_DATA_H_
+
+
+       )
+
+21 \ 2
+       ~<e\9aa_li¡.h
+>
+
+22 \ 2
+       ~<glib.h
+>
+
+23 \ 2
+       ~<EËm\92\8fry.h
+>
+
+24 \ 2
+       ~"gl-loÿl-d©a.h
+"
+
+25 \ 2
+       ~"gl-d©a-ut\9e.h
+"
+
+27 #ifdeà
+__ýlu¥lus
+
+
+32 \12
+_gl_d©a_ý_\99em_li¡
+(\1e*
+d©a
+, 
+E\9aa_Li¡
+ *
+\96
+, E\9aa_Li¡ **
+p_\96
+);
+
+33 \12
+_gl_d©a_þ\97r_þu¡\94_li¡
+(\1e*
+d©a
+, 
+boÞ
+b_fÜû
+);
+
+34 
+boÞ
+_gl_d©a_g\91_þu¡\94_li¡
+(\1e*
+d©a
+);
+
+35 \12
+_gl_d©a_upd©e_þu¡\94_li¡
+(\1e*
+d©a
+);
+
+36 \12
+_gl_d©a_þu¡\94_li¡_»move
+(\1e*
+d©a
+, 
+gl_þu¡\94
+ *
+\99em
+);
+
+37 
+boÞ
+_gl_d©a_exi¡s_\99em
+(\1e*
+d©a
+, cڡ \ 5*
+id
+);
+
+38 \12
+_gl_d©a_g\91_þu¡\94_by_id
+(\1e*
+d©a
+, cڡ \ 5*
+þu¡\94_id
+,
+
+39 
+gl_þu¡\94
+ **
+þu¡\94
+);
+
+40 \12
+_gl_d©a_g\91_þu¡\94_by_·th
+(\1e*
+d©a
+, cڡ \ 5*
+·th
+,
+
+41 
+gl_þu¡\94
+ **
+þu¡\94
+);
+
+42 \12
+_gl_d©a_g\91_\99em_út
+(cڡ \ 5*
+þu¡\94_id
+, \12
+®bum_ty³
+, \12*
+\99em_út
+);
+
+43 \12
+_gl_d©a_upd©e_\99em_út
+(
+gl_þu¡\94
+ *
+®bum
+);
+
+44 \12
+_gl_d©a_g\91_\99ems
+(\12
+¡¬t_pos
+, \12
+\92d_pos
+, 
+E\9aa_Li¡
+ **
+li¡
+);
+
+45 \12
+_gl_d©a_g\91_\99ems_®bum
+(\1e*
+d©a
+, 
+gl_þu¡\94
+ *
+®bum
+, \12
+¡¬t_pos
+,
+
+46 \12
+\92d_pos
+, 
+E\9aa_Li¡
+ **
+p_\96
+);
+
+47 \12
+_gl_d©a_upd©e_\99em_li¡
+(\1e*
+d©a
+, 
+E\9aa_Li¡
+ **
+£l_id_li¡
+,
+
+48 
+E\9aa_Li¡
+ **
+p_\96
+);
+
+49 
+boÞ
+_gl_d©a_is_\99em_út_z\94o
+(\1e*
+d©a
+, 
+med\9f_cÚ\8bÁ_ty³_e
+ty³
+,
+
+50 
+E\9aa_Li¡
+ *
+\96
+);
+
+51 \12
+_gl_d©a_g\91_f\9c¡_\99em
+(
+med\9f_cÚ\8bÁ_ty³_e
+ty³
+, 
+E\9aa_Li¡
+ *
+\96
+,
+
+52 
+gl_\99em
+ **
+p_g\99em
+);
+
+53 \12
+_gl_d©a_g\91_®bum_cov\94
+(
+gl_þu¡\94
+ *
+®bum
+, 
+gl_\99em
+ **
+pg\99em
+,
+
+54 
+med\9f_cÚ\8bÁ_Üd\94_e
+sÜt_ty³
+);
+
+55 
+gl_\99em
+ *
+_gl_d©a_Ãw_\99em_m\99em
+(
+gl_med\9f_s
+ *
+m\99em
+);
+
+56 \12
+_gl_d©a_g\91_Üig_\99em_by_\9adex
+(\1e*
+d©a
+, 
+gl_\99em
+ **
+g\99em
+, \12
+idx
+);
+
+57 \12
+_gl_d©a_d\96\91e_f\9ee
+(\ 5*
+·th
+, \ 5*
+uuid
+, 
+boÞ
+is_hide
+);
+
+58 \12
+_gl_d©a_£Ëùed_li¡_­³nd
+(\1e*
+d©a
+, 
+gl_\99em
+ *
+g\99em
+);
+
+59 \12
+_gl_d©a_£Ëùed_li¡_»move
+(\1e*
+d©a
+, 
+gl_\99em
+ *
+g\99em
+);
+
+60 \12
+_gl_d©a_£Ëùed_çv_li¡_»move
+(\1e*
+d©a
+, 
+gl_\99em
+ *
+g\99em
+);
+
+61 \12
+_gl_d©a_£Ëùed_li¡_»move_Úe
+(\1e*
+d©a
+, 
+gl_\99em
+ *
+g\99em
+);
+
+62 
+gl_\99em
+ *
+_gl_d©a_£Ëùed_li¡_g\91_Áh
+(\1e*
+d©a
+, \12
+idx
+);
+
+63 \12
+_gl_d©a_£Ëùed_li¡_f\9a®ize
+(\1e*
+d©a
+);
+
+64 \12
+_gl_d©a_þ\97r_£Ëùed_\9afo
+(\1e*
+d©a
+);
+
+65 \12
+_gl_d©a_£Ëùed_li¡_couÁ
+(\1e*
+d©a
+);
+
+66 
+boÞ
+_gl_d©a_is_®bums_£Ëùed_em±y
+(\1e*
+d©a
+);
+
+67 \12
+_gl_d©a_g\91_®bums_£Ëùed_f\9ees
+(\1e*
+d©a
+, \1e*
+g\91_cb
+, \1e*
+cb_d©a
+);
+
+68 \12
+_gl_d©a_g\91_®bums_£Ëùed_út
+(\1e*
+d©a
+);
+
+69 \12
+_gl_d©a_£Ëùed_add_bur¡shÙ
+(\1e*
+d©a
+, 
+gl_\99em
+ *
+g\99em
+, 
+E\9aa_Li¡
+ *
+\96
+);
+
+70 
+boÞ
+_gl_d©a_g\91_bur¡shÙ_¡©us
+(\1e*
+d©a
+, 
+gl_\99em
+ *
+g\99em
+);
+
+71 \12
+_gl_d©a_®bums_£Ëùed_li¡_­³nd
+(\1e*
+d©a
+, 
+gl_þu¡\94
+ *
+\99em
+);
+
+72 \12
+_gl_d©a_®bums_£Ëùed_li¡_»move
+(\1e*
+d©a
+, 
+gl_þu¡\94
+ *
+\99em
+);
+
+73 \12
+_gl_d©a_f\9a®ize_®bums_£Ëùed_li¡
+(\1e*
+d©a
+);
+
+74 \12
+_gl_d©a_\9a\99
+(\1e*
+d©a
+);
+
+75 \12
+_gl_d©a_f\9a®ize
+(\1e*
+d©a
+);
+
+76 
+gl_\99em
+ *
+_gl_d©a_Ãw_g\99em
+(\1e*
+d©a
+, cڡ \ 5*
+\99em_id
+);
+
+77 
+boÞ
+_gl_d©a_is_roÙ_·th
+(cڡ \ 5*
+·th
+);
+
+78 
+boÞ
+_gl_d©a_check_roÙ_ty³
+(cڡ \ 5*
+·th
+, cڡ \ 5*
+roÙ
+);
+
+79 
+boÞ
+_gl_d©a_is_deçuÉ_®bum
+(cڡ \ 5*
+m©ch_fÞd\94
+, 
+gl_®bum_s
+ *
+®bum
+);
+
+80 
+boÞ
+_gl_d©a_is_sü\93nshÙ_®bum
+(cڡ \ 5*
+m©ch_fÞd\94
+, 
+gl_®bum_s
+ *
+®bum
+);
+
+81 
+boÞ
+_gl_d©a_is_ÿm\94a_®bum
+(
+gl_®bum_s
+ *
+®bum
+);
+
+82 \12
+_gl_d©a_d\96\91e_med\9f
+(\1e*
+d©a
+, 
+gl_med\9f_s
+ *
+med\9f_\99em
+);
+
+83 \12
+_gl_d©a_ü\97\8b_thumb
+(
+gl_med\9f_s
+ *
+\99em
+,
+
+84 
+med\9f_thumbÇ\9e_com¶\91ed_cb
+ÿÎback
+,
+
+85 \1e*
+u£r_d©a
+);
+
+86 \12
+_gl_d©a_ÿnûl_thumb
+(
+gl_med\9f_s
+ *
+\99em
+);
+
+87 
+boÞ
+_gl_d©a_is_®bum_exi¡s
+(\1e*
+d©a
+, 
+gl_þu¡\94
+ *
+®bum
+);
+
+88 \12
+_gl_d©a_§ve_£Ëùed_¡r_ids
+(\1e*
+d©a
+, 
+E\9aa_Li¡
+ **
+\96
+);
+
+89 \12
+_gl_d©a_»¡Üe_£Ëùed
+(
+E\9aa_Li¡
+ *
+£l_ids
+, 
+gl_\99em
+ *
+g\99em
+);
+
+90 
+boÞ
+_gl_d©a_check_£Ëùed_id
+(
+E\9aa_Li¡
+ *
+£l_id_li¡
+, cڡ \ 5*
+id
+);
+
+92 #ifdeà
+__ýlu¥lus
+
+
+       @inc/data/gl-local-data.h
+
+18 #iâdeà
+_GL_LOCAL_DATA_H_
+
+
+19 \ 1
+       #_GL_LOCAL_DATA_H_
+
+
+       )
+
+21 \ 2
+       ~"gl-d©a-ty³.h
+"
+
+23 #ifdeà
+__ýlu¥lus
+
+
+30 \ 1
+       #GL_CONDITION_IMAGE_VIDEO
+ "(MEDIA_TYPE=0 OR MEDIA_TYPE=1)"
+
+       )
+
+31 \ 1
+       #GL_CONDITION_IMAGE
+ "(MEDIA_TYPE=0)"
+
+       )
+
+32 \ 1
+       #GL_CONDITION_VIDEO
+ "(MEDIA_TYPE=1)"
+
+       )
+
+33 \ 1
+       #GL_CONDITION_ORDER
+ "MEDIA_TIMELINE, MEDIA_DISPLAY_NAME"
+
+       )
+
+35 \ 1
+       #CONDITION_LENGTH
+ 512
+
+       )
+
+36 \ 1
+       #KEYWORD_LENGTH
+ 128
+
+       )
+
+38 \e\19
+_gl_f\9e\8br_t
+       tgl_f\9e\8br_s
+;
+
+40 \19
+       s_gl_f\9e\8br_t
+ {
+
+41 \ 5
+cÚd
+[
+CONDITION_LENGTH
+];
+
+42 
+med\9f_cÚ\8bÁ_cÞÏtiÚ_e
+cÞÏ\8b_ty³
+;
+
+43 
+med\9f_cÚ\8bÁ_Üd\94_e
+sÜt_ty³
+;
+
+44 \ 5
+sÜt_keywÜd
+[
+KEYWORD_LENGTH
+];
+
+45 \12
+off£t
+;
+
+46 \12
+couÁ
+;
+
+47 
+boÞ
+w\99h_m\91a
+;
+
+50 \12
+_gl_loÿl_d©a_cÚÃù
+(\1e);
+
+51 \12
+_gl_loÿl_d©a_discÚÃù
+(\1e);
+
+52 \12
+_gl_loÿl_d©a_g\91_®bum_by_·th
+(\ 5*
+·th
+, 
+gl_®bum_s
+ **
+®bum
+);
+
+53 \12
+_gl_loÿl_d©a_g\91_®bum_li¡
+(
+gl_f\9e\8br_s
+ *
+cÚd\99
+, 
+E\9aa_Li¡
+ **
+\96
+);
+
+54 \12
+_gl_loÿl_d©a_g\91_med\9f_by_id
+(\ 5*
+med\9f_id
+, 
+gl_med\9f_s
+ **
+m\99em
+);
+
+55 \12
+_gl_loÿl_d©a_g\91_med\9f_by_·th
+(cڡ \ 5*
+·th
+, 
+gl_med\9f_s
+ **
+m\99em
+);
+
+56 \12
+_gl_loÿl_d©a_g\91_med\9f_couÁ
+(cڡ \ 5*
+þu¡\94_id
+, 
+gl_f\9e\8br_s
+ *
+cÚd\99
+,
+
+57 \12*
+\99em_út
+);
+
+58 \12
+_gl_loÿl_d©a_g\91_®l_med\9f_couÁ
+(
+gl_f\9e\8br_s
+ *
+f\9e\8br
+, \12*
+\99em_út
+);
+
+59 \12
+_gl_loÿl_d©a_g\91_®bum_med\9f_li¡
+(
+gl_f\9e\8br_s
+ *
+cÚd\99
+,
+
+60 cڡ \ 5*
+®bum_id
+, 
+E\9aa_Li¡
+ **
+\96
+);
+
+61 \12
+_gl_loÿl_d©a_g\91_®bum_cov\94
+(
+gl_f\9e\8br_s
+ *
+cÚd\99
+, cڡ \ 5*
+®bum_id
+,
+
+62 
+E\9aa_Li¡
+ **
+\96
+);
+
+63 \12
+_gl_loÿl_d©a_g\91_®l_®bums_med\9f_li¡
+(
+gl_f\9e\8br_s
+ *
+cÚd\99
+,
+
+64 
+E\9aa_Li¡
+ **
+\96
+);
+
+65 \12
+_gl_loÿl_d©a_g\91_çv_®bums_med\9f_li¡
+(
+gl_f\9e\8br_s
+ *
+cÚd\99
+,
+
+66 
+E\9aa_Li¡
+ **
+\96
+);
+
+67 \12
+_gl_loÿl_d©a_g\91_®l_®bums_cov\94
+(
+gl_f\9e\8br_s
+ *
+cÚd\99
+,
+
+68 
+E\9aa_Li¡
+ **
+\96
+);
+
+69 \12
+_gl_loÿl_d©a_g\91_çv_®bums_cov\94
+(
+gl_f\9e\8br_s
+ *
+cÚd\99
+,
+
+70 
+E\9aa_Li¡
+ **
+\96
+);
+
+71 \12
+_gl_loÿl_d©a_d\96\91e_®bum
+(
+gl_®bum_s
+ *
+þu¡\94
+, \1e*
+cb
+, \1e*
+d©a
+, 
+boÞ
+is_hide
+);
+
+72 \12
+_gl_loÿl_d©a_add_med\9f
+(cڡ \ 5*
+f\9ee_u¾
+, 
+med\9f_\9afo_h
+ *
+\9afo
+);
+
+73 \12
+_gl_loÿl_d©a_g\91_thumb
+(
+gl_med\9f_s
+ *
+m\99em
+, \ 5**
+thumb
+);
+
+74 \12
+_gl_loÿl_d©a_move_med\9f
+(
+gl_med\9f_s
+ *
+m\99em
+, cڡ \ 5*
+d¡
+);
+
+75 
+boÞ
+_gl_loÿl_d©a_is_®bum_exi¡s
+(\ 5*
+·th
+);
+
+76 \12
+_gl_loÿl_d©a_g\91_·th_by_id
+(cڡ \ 5*
+uuid
+, \ 5**
+·th
+);
+
+78 #ifdeà
+__ýlu¥lus
+
+
+       @inc/features/gl-albums-sel.h
+
+18 #iâdeà
+_GL_ALBUMS_SEL_H_
+
+
+19 \ 1
+       #_GL_ALBUMS_SEL_H_
+
+
+       )
+
+21 \ 2
+       ~<EËm\92\8fry.h
+>
+
+22 \ 2
+       ~"g®Ëry.h
+"
+
+24 \12
+_gl_®bums_£l_ü\97\8b_v\9bw
+(\1e*
+d©a
+);
+
+25 \12
+_gl_®bums_£l_upd©e_v\9bw
+(\1e*
+d©a
+);
+
+26 \12
+_gl_®bums_£l_pÝ_v\9bw
+(\1e*
+d©a
+);
+
+27 \12
+_gl_®bums_£l_rÙ©e_v\9bw
+(\1e*
+d©a
+);
+
+       @inc/features/gl-albums.h
+
+18 #iâdeà
+_GL_ALBUMS_H_
+
+
+19 \ 1
+       #_GL_ALBUMS_H_
+
+
+       )
+
+21 \ 2
+       ~<EËm\92\8fry.h
+>
+
+22 \ 2
+       ~"g®Ëry.h
+"
+
+24 \12
+_gl_®bums_þo£_®bum
+(\1e*
+d©a
+);
+
+25 \12
+gl_®bums_upd©e_\99ems
+(\1e*
+d©a
+);
+
+26 \12
+_gl_®bums_ü\97\8b_v\9bw
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+·»Á
+);
+
+27 \12
+gl_®bums_upd©e_v\9bw
+(\1e*
+d©a
+);
+
+28 \12
+gl_®bums_chªge_to_v\9bw
+(\1e*
+d©a
+);
+
+29 \12
+gl_®bums_»move_nocÚ\8bÁs
+(\1e*
+d©a
+);
+
+30 \12
+gl_®bums_ä\93_d©a
+(\1e*
+d©a
+);
+
+31 \12
+_gl_®bums_show_v\9bw_\8fb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+·»Á
+);
+
+32 \12
+_gl_®bums_hide_v\9bw_\8fb
+(\1e*
+d©a
+);
+
+33 \12
+_gl_®bums_chªge_mode
+(\1e*
+d©a
+, 
+boÞ
+b_ed\99
+);
+
+34 \12
+_gl_®bums_check_b\8as
+(\1e*
+d©a
+);
+
+35 \12
+_gl_®bums_rÙ©e_v\9bw
+(\1e*
+d©a
+);
+
+36 \12
+_gl_®bums_£t_cu¼\92t
+(\1e*
+d©a
+, 
+gl_þu¡\94
+ *
+cu¼\92t
+);
+
+37 
+gl_þu¡\94
+ *
+_gl_®bums_g\91_cu¼\92t
+(\1e*
+d©a
+);
+
+38 \12
+_gl_®bums_þ\97r_cbs
+(
+Evas_Objeù
+ *
+v\9bw
+);
+
+39 \12
+gl_®bums_Ý\92_®bum
+(
+gl_þu¡\94
+ * 
+®bum_\99em
+);
+
+40 
+Evas_Objeù
+ *
+_gl_®bums_add_g\92grid
+(\1e*
+d©a
+, Evas_Objeù *
+·»Á
+);
+
+41 
+Evas_Objeù
+ *
+_gl_®bums_add_v\9bw
+(\1e*
+d©a
+, Evas_Objeù *
+·»Á
+);
+
+42 
+Evas_Objeù
+ *
+_gl_®bums_£l_add_v\9bw
+(\1e*
+d©a
+, Evas_Objeù *
+·»Á
+);
+
+43 \1e
+__gl_®bums_Ãw_®bum_£l
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+);
+
+44 \12
+_gl_®bums_ü\97\8b_\99ems
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+·»Á
+);
+
+45 \12
+_gl_¥l\99_®bums_ü\97\8b_\99ems
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+·»Á
+);
+
+       @inc/features/gl-entry.h
+
+18 #iâdeà
+_GL_ENTRY_H_
+
+
+19 \ 1
+       #_GL_ENTRY_H_
+
+
+       )
+
+21 \ 2
+       ~<EËm\92\8fry.h
+>
+
+23 \12
+_gl_\92\8cy_ü\97\8b_v\9bw
+(\1e*
+d©a
+, \ 5*
+Çme
+, \ 5*
+t\99Ë
+);
+
+24 \12
+_gl_\92\8cy_»sume_v\9bw
+(\1e*
+d©a
+);
+
+       @inc/features/gl-main.h
+
+18 #iâdeà
+_GL_MIAN_H_
+
+
+19 \ 1
+       #_GL_MIAN_H_
+
+
+       )
+
+21 \ 2
+       ~"g®Ëry.h
+"
+
+23 #ifdeà
+__ýlu¥lus
+
+
+28 \12
+_gl_ma\9a_add_»g_idËr
+(\1e*
+d©a
+);
+
+29 \12
+_gl_ma\9a\97\8b_v\9bw
+(
+gl_­pd©a
+ *
+ad
+);
+
+30 \12
+_gl_ma\9a\97r_v\9bw
+(
+gl_­pd©a
+ *
+ad
+);
+
+31 
+E\9aa_BoÞ
+_gl_ma\9a_upd©e_v\9bw
+(\1e*
+d©a
+);
+
+32 \12
+_gl_ma\9a_ȣt_v\9bw
+(\1e*
+d©a
+);
+
+34 #ifdeà
+__ýlu¥lus
+
+
+       @inc/features/gl-pinchzoom.h
+
+18 #iâdeà
+_GL_PINCHZOOM_H_
+
+
+19 \ 1
+       #_GL_PINCHZOOM_H_
+
+
+       )
+
+21 \12
+_gl_p\9ach_add_ev\92t
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+Ïyout
+);
+
+22 \12
+_gl_p\9ach_»£t_æag
+(\1e*
+d©a
+);
+
+       @inc/features/gl-thumbs-edit.h
+
+18 #iâdeà
+_GL_THUMB_EDIT_H_
+
+
+19 \ 1
+       #_GL_THUMB_EDIT_H_
+
+
+       )
+
+21 \ 2
+       ~<EËm\92\8fry.h
+>
+
+22 \ 2
+       ~"g®Ëry.h
+"
+
+24 \12
+_gl_thumbs_ed\99_add_b\8as
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+·»Á
+,
+
+25 
+Elm_Objeù_I\8bm
+ *
+nf_\99
+);
+
+26 \12
+_gl_thumbs_ed\99\97\8b_v\9bw
+(\1e*
+d©a
+);
+
+27 \12
+_gl_thumbs_ed\99_upd©e_v\9bw
+(\1e*
+d©a
+);
+
+28 \12
+_gl_thumbs_ed\99_pÝ_v\9bw
+(\1e*
+d©a
+);
+
+29 \12
+_gl_thumbs_ed\99_upd©e_Ïng
+(\1e*
+d©a
+);
+
+30 \12
+_gl_thumbs_ed\99_di§bË_b\8as
+(\1e*
+d©a
+, 
+boÞ
+b_di§bË
+);
+
+31 \12
+_gl_thumbs_ed\99_g\91_·th
+(\1e*
+d©a
+, \ 5**
+f\9ees
+);
+
+       @inc/features/gl-thumbs-sel.h
+
+18 #iâdeà
+_GL_THUMB_SEL_H_
+
+
+19 \ 1
+       #_GL_THUMB_SEL_H_
+
+
+       )
+
+21 \ 2
+       ~<EËm\92\8fry.h
+>
+
+22 \ 2
+       ~"g®Ëry.h
+"
+
+24 \12
+_gl_thumbs_£l_ü\97\8b_v\9bw
+(\1e*
+d©a
+, 
+gl_þu¡\94
+ *
+®bum_\99em
+);
+
+25 \12
+_gl_thumbs_£l_upd©e_v\9bw
+(\1e*
+d©a
+);
+
+26 \12
+_gl_thumbs_£l_pÝ_v\9bw
+(\1e*
+d©a
+, 
+boÞ
+b_pÝ
+);
+
+27 \12
+_gl_thumbs_£l_upd©e_Ïng
+(\1e*
+d©a
+);
+
+28 \12
+_gl_thumbs_£l_di§bË_b\8as
+(\1e*
+d©a
+, 
+boÞ
+b_di§bËd
+);
+
+       @inc/features/gl-thumbs.h
+
+18 #iâdeà
+_GL_THUMBS_H_
+
+
+19 \ 1
+       #_GL_THUMBS_H_
+
+
+       )
+
+21 \ 2
+       ~<EËm\92\8fry.h
+>
+
+22 \ 2
+       ~"g®Ëry.h
+"
+
+24 \e\f
+       e_gl_thumb_mode
+ {
+
+25 
+       mGL_THUMB_ALL
+,
+
+26 
+       mGL_THUMB_IMAGES
+,
+
+27 
+       mGL_THUMB_VIDEOS
+,
+
+28 } 
+       tgl_thumb_mode
+;
+
+31 \ 1
+       #GL_THUMBS_EDIT_FIRST
+ (0x1 << 8)
+
+       )
+
+33 \e\f
+       e_gl_thumbs_ed\99_mode_t
+ {
+
+34 
+       mGL_THUMBS_EDIT_NONE
+ = (0x00),
+
+35 
+       mGL_THUMBS_EDIT_NORMAL
+ = (0x1 << 0),
+
+36 
+       mGL_THUMBS_EDIT_SHARE
+ = (0x1 << 1),
+
+37 
+       mGL_THUMBS_EDIT_COPY
+ = (0x1 << 2),
+
+38 
+       mGL_THUMBS_EDIT_MOVE
+ = (0x1 << 3),
+
+39 #ifdeà
+_USE_APP_SLIDESHOW
+
+
+40 
+       mGL_THUMBS_EDIT_SLIDESHOW
+ = (0x1 << 4è| 
+GL_THUMBS_EDIT_FIRST
+,
+
+42 } 
+       tgl_thumbs_ed\99_e
+;
+
+44 
+E\9aa_BoÞ
+_gl_thumbs_­³nd_\99ems
+(\1e*
+d©a
+);
+
+45 \12
+_gl_thumbs_upd©e_»®ized_\99ems
+(\1e*
+d©a
+);
+
+46 
+Evas_Objeù
+ *
+_gl_thumbs_g\91_cÚ\8bÁ
+(\1e*
+d©a
+, Evas_Objeù *
+·»Á
+,
+
+47 
+gl_\99em
+ *
+g\99em
+, \12
+w
+, \12
+h
+);
+
+48 \12
+_gl_thumbs_add_b\8as
+(\1e*
+d©a
+);
+
+49 \1e
+_gl_thumbs_mou£_down
+(\1e*
+d©a
+, 
+Evas
+ *
+e
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+);
+
+50 \1e
+_gl_thumbs_mou£_up
+(\1e*
+d©a
+, 
+Evas
+ *
+e
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+);
+
+51 
+Evas_Objeù
+ *
+_gl_thumbs_add_grid
+(\1e*
+d©a
+, Evas_Objeù *
+·»Á
+,
+
+52 
+gl_thumb_mode
+mode
+);
+
+53 \12
+_gl_thumbs_show_ed\99_v\9bw
+(\1e*
+d©a
+);
+
+54 \12
+_gl_thumbs_show_v\9bw
+(\1e*
+d©a
+);
+
+55 
+E\9aa_BoÞ
+_gl_thumbs_show_\99ems
+(\1e*
+d©a
+);
+
+56 \12
+_gl_thumbs_£t_li¡
+(\1e*
+d©a
+, 
+E\9aa_Li¡
+ *
+\96
+);
+
+57 \12
+_gl_thumbs_þ\97r_ªd_£t_li¡
+(\1e*
+d©a
+, 
+E\9aa_Li¡
+ *
+\96
+);
+
+58 \12
+_gl_thumbs_g\91_li¡
+(\1e*
+d©a
+, 
+E\9aa_Li¡
+ **
+p_\96
+);
+
+59 \12
+_gl_thumbs_ü\97\8b_v\9bw
+(\1e*
+d©a
+, \12
+nf_mode
+, \ 5*
+t\99Ë
+, 
+boÞ
+b_idËr
+,
+
+60 
+Elm_Naviäame_I\8bm_PÝ_Cb
+func
+);
+
+61 \12
+_gl_thumbs_upd©e_¥l\99_v\9bw
+(\1e*
+d©a
+, \12
+nf_mode
+, \ 5*
+t\99Ë
+, 
+boÞ
+b_idËr
+,
+
+62 
+Elm_Naviäame_I\8bm_PÝ_Cb
+func
+);
+
+63 \12
+_gl_thumbs_upd©e_ed\99_¥l\99_v\9bw
+(\1e*
+d©a
+, \12
+nf_mode
+, \ 5*
+t\99Ë
+, 
+boÞ
+b_idËr
+,
+
+64 
+Elm_Naviäame_I\8bm_PÝ_Cb
+func
+);
+
+65 \12
+_gl_thumbs_upd©e_\99ems
+(\1e*
+d©a
+);
+
+66 \12
+_gl_thumbs_upd©e_v\9bw
+(\1e*
+d©a
+);
+
+67 \12
+_gl_thumbs_de¡roy_v\9bw
+(\1e*
+d©a
+, 
+boÞ
+b_pÝ
+);
+
+68 \12
+_gl_thumbs_de¡roy_v\9bw_w\99h_cb
+(\1e*
+d©a
+, \1e*
+cb
+);
+
+69 
+boÞ
+_gl_thumbs_g\91_v\9bw
+(\1e*
+d©a
+, 
+Evas_Objeù
+ **
+v\9bw
+);
+
+70 
+boÞ
+_gl_thumbs_show_nocÚ\8bÁs
+(\1e*
+d©a
+);
+
+71 \12
+_gl_thumbs_£t_nocÚ\8bÁs
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+noc
+);
+
+72 \12
+_gl_thumbs_£t_size
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+gridv\9bw
+);
+
+73 \12
+_gl_thumbs_þ\97r_cbs
+(
+Evas_Objeù
+ *
+grid
+);
+
+74 \12
+_gl_thumbs_d\96\91e_v\9bw
+(\1e*
+d©a
+);
+
+75 \12
+_gl_thumbs_upd©e_size
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+v\9bw
+);
+
+76 
+boÞ
+_gl_thumbs_is_­³nd
+(
+gl_\99em
+ *
+g\99em
+, \ 5**
+bur¡shÙ_id
+);
+
+77 
+boÞ
+_gl_thumbs_check_z\94o
+(\1e*
+d©a
+);
+
+78 \12
+_gl_thumbs_upd©e_Ïb\96
+(
+Elm_Objeù_I\8bm
+ *
+nf_\99
+, \ 5*
+t\99Ë
+);
+
+79 \12
+_gl_thumbs_upd©e_Ïb\96_\8bxt
+(
+Elm_Objeù_I\8bm
+ *
+nf_\99
+, \12
+£l_út
+,
+
+80 
+boÞ
+b_Ïng
+);
+
+81 \12
+_gl_thumbs_upd©e_Ïng
+(\1e*
+d©a
+);
+
+82 \12
+_gl_thumbs_di§bË_¦ideshow
+(\1e*
+d©a
+, 
+boÞ
+b_di§bËd
+);
+
+83 \12
+_gl_thumbs_di§bË_sh¬e
+(\1e*
+d©a
+, 
+boÞ
+b_di§bËd
+);
+
+84 \12
+_gl_thumbs_check_b\8as
+(\1e*
+d©a
+);
+
+85 \12
+_gl_thumbs_upd©e_£qu\92û
+(\1e*
+d©a
+);
+
+86 \12
+_gl_thumbs_£t_ed\99_mode
+(\1e*
+d©a
+, \12
+mode
+);
+
+87 \12
+_gl_thumbs_g\91_ed\99_mode
+(\1e*
+d©a
+);
+
+88 \12
+_gl_thumbs_rÙ©e_v\9bw
+(\1e*
+d©a
+);
+
+89 \1e
+_gl_thumbs_£l_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+);
+
+90 \1e
+_gl_thumbs_Ý\92_f\9ee
+(\1e*
+d©a
+);
+
+91 \1e
+_gl_thumbs_Ý\92_f\9ee_£Ëù_mode
+(\1e*
+d©a
+);
+
+92 \12
+_gl_thumbs_ü\97\8b_thumb
+(
+gl_\99em
+ *
+g\99em
+);
+
+93 \1e
+_gl_thumbs_chªge_v\9bw
+(\1e*
+d©a
+, \12
+´ev_x
+, \12
+cu¼\92t_x
+);
+
+94 \1e
+_gl_thumb_upd©e_¥l\99_v\9bw
+(\1e*
+d©a
+);
+
+       @inc/gallery.h
+
+18 #iâdeà
+_GALLERY_H_
+
+
+19 \ 1
+       #_GALLERY_H_
+
+
+       )
+
+21 \ 2
+       ~<±h»ad.h
+>
+
+22 \ 2
+       ~<­p.h
+>
+
+23 \ 2
+       ~<eæ_ex\8bnsiÚ.h
+>
+
+25 \ 2
+       ~"gl-d©a.h
+"
+
+27 #iâdeà
+EXPORT_API
+
+
+28 \ 1
+       #EXPORT_API
+       `__©\8cibu\8b__
+ ((
+       `visib\9e\99y
+("deçuÉ")))
+
+       )
+
+31 #ifdeà
+__ýlu¥lus
+
+
+36 #ià!
+def\9aed
+(
+APPDIR
+)
+
+37 \ 1
+       #APPDIR
+ "/u¤/­ps/Üg.tiz\92.g®Ëry"
+
+       )
+
+40 #ià!
+def\9aed
+(
+PACKAGE
+)
+
+41 \ 1
+       #PACKAGE
+ "g®Ëry"
+
+       )
+
+44 #ià!
+def\9aed
+(
+LOCALEDIR
+)
+
+45 \ 1
+       #LOCALEDIR
+APPDIR
+"/»s/loÿË"
+
+       )
+
+48 #ià!
+def\9aed
+(
+EDJDIR
+)
+
+49 \ 1
+       #EDJDIR
+APPDIR
+"/»s/edje"
+
+       )
+
+52 #ià!
+def\9aed
+(
+IMAGEDIR
+)
+
+53 \ 1
+       #IMAGEDIR
+APPDIR
+"/»s/images/"
+
+       )
+
+56 \ 1
+       #PKGNAME_GALLERY
+ "Üg.tiz\92.g®Ëry"
+
+       )
+
+57 \ 1
+       #GL_APP_DEFAULT_ICON_DIR
+ "/u¤/sh¬e/icÚs/deçuÉ/sm®l"
+
+       )
+
+61 \ 1
+       #GL_EDJ_FILE
+EDJDIR
+ "/" 
+PACKAGE
+ ".edj"
+
+       )
+
+65 \ 1
+       #GL_GRP_CONTROLBAR
+ "g®Ëry/Ïyout"
+
+       )
+
+66 \ 1
+       #GL_GRP_GRIDVIEW
+ "g®Ëry/gridv\9bw"
+
+       )
+
+67 \ 1
+       #GL_GRP_PLACES_MARKER
+ "g®Ëry/¶aû_m¬k\94"
+
+       )
+
+68 \ 1
+       #GL_GRP_PROGRESSBAR
+ "g®Ëry/´og»ssb¬"
+
+       )
+
+69 \ 1
+       #GL_GRP_PHOTOFRAME
+ "phÙoäame"
+
+       )
+
+73 \ 1
+       #GL_NAVIFRAME_PREV_BTN
+ "´ev_b\8a"
+
+       )
+
+74 \ 1
+       #GL_NAVIFRAME_TITLE_PREV_BTN
+ "t\99Ë_´ev_b\8a"
+
+       )
+
+75 \ 1
+       #GL_NAVIFRAME_TITLE_RIGHT_BTN
+ "t\99Ë_right_b\8a"
+
+       )
+
+76 \ 1
+       #GL_NAVIFRAME_TITLE_LEFT_BTN
+ "t\99Ë_Ëá_b\8a"
+
+       )
+
+77 \ 1
+       #GL_NAVIFRAME_TITLE_MORE_BTN
+ "t\99Ë_mÜe_b\8a"
+
+       )
+
+78 \ 1
+       #GL_NAVIFRAME_TITLE_BTN1
+ "t\99Ë_toÞb¬_bu\89Ú1"
+
+       )
+
+79 \ 1
+       #GL_NAVIFRAME_TITLE_BTN2
+ "t\99Ë_toÞb¬_bu\89Ú2"
+
+       )
+
+81 \ 1
+       #GL_NAVIFRAME_BTN1
+ "toÞb¬_bu\89Ú1"
+
+       )
+
+82 \ 1
+       #GL_NAVIFRAME_BTN2
+ "toÞb¬_bu\89Ú2"
+
+       )
+
+83 \ 1
+       #GL_NAVIFRAME_MORE
+ "toÞb¬_mÜe_b\8a"
+
+       )
+
+84 \ 1
+       #GL_NAVIFRAME_TOOLBAR
+ "toÞb¬"
+
+       )
+
+86 \ 1
+       #GL_POPUP_TEXT
+ "t\99Ë,\8bxt"
+
+       )
+
+87 \ 1
+       #GL_NOCONTENTS_TEXT
+ "\96m.\8bxt"
+
+       )
+
+88 \ 1
+       #GL_NOCONTENTS_TEXT2
+ "\96m.\8bxt.2"
+
+       )
+
+89 \ 1
+       #GL_GRID_TEXT
+ "\96m.\8bxt"
+
+       )
+
+90 \ 1
+       #GL_NAAVIFRAME_TEXT
+ "\96m.\8bxt.t\99Ë"
+
+       )
+
+92 \ 1
+       #GL_IMF_ON
+ "v\9ctu®key·d,¡©e,Ú"
+
+       )
+
+93 \ 1
+       #GL_IMF_OFF
+ "v\9ctu®key·d,¡©e,off"
+
+       )
+
+94 \ 1
+       #GL_STA_ON
+ "þ\9dbßrd,¡©e,Ú"
+
+       )
+
+95 \ 1
+       #GL_STA_OFF
+ "þ\9dbßrd,¡©e,off"
+
+       )
+
+99 \ 1
+       #GL_CLASS_GENGRID
+ "g\92grid"
+
+       )
+
+100 #ifdeà
+_USE_CUSTOMIZED_GENGRID_STYLE
+
+
+101 \ 1
+       #GL_GENGRID_STYLE_GALLERY
+ "g®Ëry"
+
+       )
+
+104 \ 1
+       #GL_BUTTON_STYLE_RENAME
+ "rename"
+
+105 \ 1
+       #GL_BUTTON_STYLE_NAVI_MORE
+ "Çviäame/mÜe/deçuÉ"
+
+       )
+
+106 \ 1
+       #GL_BUTTON_STYLE_NAVI_TITLE
+ "Çviäame/t\99Ë_\8bxt"
+
+       )
+
+107 \ 1
+       #GL_BUTTON_STYLE_NAVI_TITLE_ICON
+ "Çviäame/t\99Ë_icÚ"
+
+       )
+
+108 \ 1
+       #GL_BUTTON_STYLE_NAVI_TOOLBAR
+ "Çviäame/toÞb¬/deçuÉ"
+
+       )
+
+109 \ 1
+       #GL_BUTTON_STYLE_NAVI_TOOLBAR_LEFT
+ "Çviäame/toÞb¬/Ëá"
+
+       )
+
+110 \ 1
+       #GL_BUTTON_STYLE_NAVI_TOOLBAR_RIGHT
+ "Çviäame/toÞb¬/right"
+
+       )
+
+113 \ 1
+       #GL_BUTTON_STYLE_NAVI_PRE
+ "Çviäame/back_b\8a/deçuÉ"
+
+       )
+
+114 #ifdeà
+_USE_ROTATE_BG
+
+
+115 \ 1
+       #GL_BUTTON_STYLE_NAVI_CTRL
+ "Çviäame_cÚ\8cÞ/muÉ\9e\9ae"
+
+       )
+
+118 \ 1
+       #GL_CHECKBOX_STYLE_DEFAULT
+ "g®Ëry/deçuÉ"
+
+       )
+
+119 \ 1
+       #GL_GENLIST_STYLE_DEFAULT
+GL_CHECKBOX_STYLE_DEFAULT
+
+
+       )
+
+120 \ 1
+       #GL_POPUP_STYLE_DEFAULT
+GL_CHECKBOX_STYLE_DEFAULT
+
+
+       )
+
+121 \ 1
+       #GL_CONTROLBAR_STYLE_NAVI
+ "Çviäame"
+
+       )
+
+122 \ 1
+       #GL_CBAR_STYLE_DEFAULT
+GL_CHECKBOX_STYLE_DEFAULT
+
+
+       )
+
+126 \ 1
+       #GL_SEPERATOR_BT
+ '?'
+
+       )
+
+127 \ 1
+       #GL_ARGV_MSS_TYPE
+ "MSS_Ty³"
+
+       )
+
+128 \ 1
+       #GL_ARGV_MSS_3
+ "3"
+
+       )
+
+129 \ 1
+       #GL_ARGV_MSS_SORT_TYPE
+ "MSS_SÜt_ty³"
+
+       )
+
+130 \ 1
+       #GL_ARGV_MSS_SORT_1
+ "1"
+
+       )
+
+133 \ 1
+       #GL_MIME_IMAGE_ALL
+ "image/*"
+
+       )
+
+134 \ 1
+       #GL_MIME_VIDEO_ALL
+ "video/*"
+
+       )
+
+136 \ 1
+       #GL_AUL_PREFIX
+ "g®Ëry:"
+
+       )
+
+137 \ 1
+       #GL_AUL_IMAGE
+ "imagev\9bw\94"
+
+       )
+
+142 \ 1
+       #GL_WIN_WIDTH
+ 720
+
+       )
+
+143 \ 1
+       #GL_WIN_HEIGHT
+ 1280
+
+       )
+
+145 \ 1
+       #GL_FIXED_HEIGHT
+ (111 + 98)
+
+       )
+
+148 \ 1
+       #GL_TAG_FAVORITES_ID
+ 0
+
+       )
+
+149 \ 1
+       #GL_ALBUM_ALL_ID
+ "GALLERY_ALBUM_ALL_ALBUMS_ID"
+
+       )
+
+150 \ 1
+       #GL_ALBUM_FAVOURITE_ID
+ "GALLERY_ALBUM_FAVOURITE_ALBUMS_ID"
+
+       )
+
+151 \ 1
+       #GL_ALBUM_ALLSHARE_ID
+ "GALLERY_ALBUM_ALLSHARE_ID"
+
+       )
+
+152 \ 1
+       #GL_ALBUM_PTP_ID
+ "GALLERY_ALBUM_PTP_ID"
+
+       )
+
+155 \ 1
+       #GL_GRID_ITEM_CNT
+ 32
+
+       )
+
+157 \ 1
+       #GL_GRID_ITEM_ZOOM_LEVEL_02
+ 2
+
+       )
+
+158 \ 1
+       #GL_GRID_ITEM_ZOOM_LEVEL_03
+ (1.35f)
+
+       )
+
+159 \ 1
+       #GL_GRID_ITEM_ZOOM_LEVEL_02_CNT
+ 8
+
+       )
+
+161 \ 1
+       #GL_MOUSE_RANGE
+ 10
+
+       )
+
+164 \ 1
+       #GL_MAP_LONG_MAX
+ 180.0
+
+       )
+
+165 \ 1
+       #GL_MAP_LONG_MIN
+ (-180.0)
+
+       )
+
+166 \ 1
+       #GL_MAP_LAT_MAX
+ 90.0
+
+       )
+
+167 \ 1
+       #GL_MAP_LAT_MIN
+ (-90.0)
+
+       )
+
+168 \ 1
+       #GL_MAP_GEO_INIT
+ 1000.0
+
+       )
+
+171 \ 1
+       #GL_MTYPE_ITEN_ID_LEN_MAX
+ 37
+
+       )
+
+174 \ 1
+       #GL_ALBUM_NAME_LEN_MAX
+GL_FILE_NAME_LEN_MAX
+
+
+       )
+
+176 \ 1
+       #GL_DATE_INFO_LEN_MAX
+ 256
+
+       )
+
+177 \ 1
+       #GL_POPUP_DESC_LEN_MAX
+ 256
+
+       )
+
+178 \ 1
+       #GL_EXT_STR_COUNT_LEN
+ 20
+
+       )
+
+179 \ 1
+       #GL_FACE_DETECT_INFO_LEN_MAX
+ 128
+
+       )
+
+182 \ 1
+       #GL_WEB_ALBUM_TITLE_LEN_MAX
+ 256
+
+       )
+
+183 \ 1
+       #GL_WEB_ALBUM_ID_LEN_MAX
+GL_WEB_ALBUM_TITLE_LEN_MAX
+
+
+       )
+
+184 \ 1
+       #GL_WEB_WEBNODE_NAME_LEN_MAX
+ 128
+
+       )
+
+185 \ 1
+       #GL_WEB_WEBNODE_ALBUM_ID_LEN_MAX
+GL_WEB_WEBNODE_NAME_LEN_MAX
+
+
+       )
+
+186 \ 1
+       #GL_WEB_WEBNODE_TOKEN_LEN_MAX
+ 512
+
+       )
+
+188 \ 1
+       #GL_PLACE_DATA_STR_LEN_MAX
+ 64
+
+       )
+
+191 \ 1
+       #GL_PTP_MODEL_LEN_MAX
+ 128
+
+       )
+
+194 \ 1
+       #GL_DEFAULT_YEAR
+ 1900
+
+       )
+
+196 \ 1
+       #GL_TIME_MSEC_PER_SEC
+ 1000
+
+       )
+
+198 \ 1
+       #GL_TIME_USEC_PER_SEC
+ 1000000L
+
+       )
+
+200 \ 1
+       #GL_TIME_USEC_PER_MSEC
+ 1000
+
+       )
+
+202 \ 1
+       #GL_TIME_SEC_PER_MIN
+ 60
+
+       )
+
+204 \ 1
+       #GL_TIME_MIN_PER_HOUR
+ 60
+
+       )
+
+206 \ 1
+       #GL_TIME_SEC_PER_HOUR
+ (
+GL_TIME_MIN_PER_HOUR
+ * 
+GL_TIME_SEC_PER_MIN
+)
+
+       )
+
+209 \ 1
+       #GL_INTERGER_LEN_MAX
+ 12
+
+       )
+
+211 \ 1
+       #GL_ERROR_BUF_LEN
+ 1024
+
+       )
+
+214 \ 1
+       #GL_ROOT_PATH_PHONE
+ "/Ýt/u¤/med\9f"
+
+       )
+
+215 \ 1
+       #GL_ROOT_PATH_MMC
+ "/Ýt/¡Üage/sdÿrd"
+
+       )
+
+216 \ 1
+       #GL_DEFAULT_PATH_IMAGES
+GL_ROOT_PATH_PHONE
+"/Pictures"
+
+217 \ 1
+       #GL_DEFAULT_PATH_PICTURES
+GL_ROOT_PATH_PHONE
+"/Images"
+
+       )
+
+218 \ 1
+       #GL_DOWNLOADS_PATH
+GL_ROOT_PATH_PHONE
+"/DowÆßds"
+
+       )
+
+219 \ 1
+       #GL_DATA_FOLDER_PATH
+ "/Ýt/u¤/­ps/"
+PKGNAME_GALLERY
+"/d©a"
+
+       )
+
+221 \ 1
+       #GL_NAVIFRAME_OBJ_DATA_KEY
+ "gl_Çviäame_d©a_key"
+
+       )
+
+222 \ 1
+       #GL_NAVIFRAME_UG_UPDATE_KEY
+ "gl_Çviäame_ug_upd©e_key"
+
+       )
+
+223 \ 1
+       #GL_NAVIFRAME_UG_RESULT_KEY
+ "gl_Çviäame_ug_»suÉ_key"
+
+       )
+
+224 \ 1
+       #GL_NAVIFRAME_SLIDESHOW_DATA_KEY
+ "gl_Çviäame_¦ideshow_d©a_key"
+
+       )
+
+225 #ifdeà
+_USE_APP_SLIDESHOW
+
+
+226 \ 1
+       #GL_NAVIFRAME_SELECTED_SLIDESHOW_KEY
+ "gl_Çviäame_£Ëùed_¦ideshow_key"
+
+       )
+
+228 \ 1
+       #GL_NAVIFRAME_POP_CB_KEY
+ "gl_Çviäame_pÝ_cb_key"
+
+       )
+
+231 \e\f
+       e_gl_v\9bw_mode
+
+
+233 
+GL_VIEW_NONE
+,
+
+234 
+GL_VIEW_ALBUMS
+,
+
+235 
+GL_VIEW_ALBUMS_EDIT
+,
+
+236 
+GL_VIEW_ALBUMS_RENAME
+,
+
+237 
+GL_VIEW_ALBUMS_SELECT
+,
+
+238 
+GL_VIEW_TIMELINE
+,
+
+239 
+GL_VIEW_THUMBS
+,
+
+240 
+GL_VIEW_THUMBS_EDIT
+,
+
+241 
+GL_VIEW_THUMBS_SELECT
+,
+
+242 
+GL_VIEW_ALBUM_REORDER
+,
+
+243 } 
+       tgl_v\9bw_mode
+;
+
+245 \e\f
+       e_gl_­p_ex\99_mode
+
+
+247 
+GL_APP_EXIT_NONE
+,
+
+248 
+GL_APP_EXIT_MASS_STORAGE
+,
+
+249 } 
+       tgl_­p_ex\99_mode
+;
+
+251 \e\f
+       e_gl_\92\8cy_mode
+
+
+253 
+GL_ENTRY_NONE
+,
+
+254 
+GL_ENTRY_NEW_ALBUM
+,
+
+255 
+GL_ENTRY_RENAME_ALBUM
+,
+
+256 
+GL_ENTRY_RENAME_TAG
+,
+
+257 } 
+       tgl_\92\8cy_mode
+;
+
+260 \f
+       e_gl_g\9cd_t
+ {
+
+261 
+GL_GRID_T_NONE
+,
+
+262 
+GL_GRID_T_LOCAL
+,
+
+263 
+GL_GRID_T_ALLALBUMS
+,
+
+264 
+GL_GRID_T_FAV
+,
+
+266 \e\f
+_gl_g\9cd_t
+       tgl_grid_t_e
+;
+
+268 \f
+       e_gl_ed\99_mode_t
+ {
+
+269 
+GL_GRID_EDIT
+ = 0,
+
+270 
+GL_GRID_SHARE
+,
+
+272 \e\f
+_gl_ed\99_mode_t
+       t_gl_ed\99_mode_t_e
+;
+
+274 \e\f
+       e_gl_d\91a\9e_v\9bw_di¥Ïy_Üd\94
+ {
+
+275 
+ORDER_ASC
+ = 0,
+
+276 
+ORDER_DESC
+
+
+277 }
+       t_gl_v\9bw_Üd\94
+;
+
+279 \e\f
+       e_gl_®bum_d\91a\9e_v\9bw_mode
+ {
+
+280 
+DETAIL_VIEW
+ = 0,
+
+281 
+SPLIT_VIEW
+
+
+282 }
+       t_gl_d\91a\9e_v\9bw_mode
+;
+
+285 \e\19
+gl_db_nÙi_t
+       tgl_db_nÙi_s
+;
+
+286 \e\19
+_gl_tim\96\9ae_t
+       tgl_tim\96\9ae_s
+;
+
+290 
+Evas_Objeù
+ *
+ù¾b¬_ly
+;
+
+292 
+Evas_Objeù
+ *
+ù¾b¬_v\9bw_ly
+;
+
+294 
+Elm_Objeù_I\8bm
+ *
+nf_\99
+;
+
+295 \12
+\8fb_mode
+;
+
+296 
+EcÜe_Tim\94
+ *
+avoid_muÉi_\8fp
+;
+
+297 } 
+       tgl_ù¾_\9afo
+;
+
+301 
+Evas_Objeù
+ *
+ge¡u»_£l
+;
+
+302 
+Evas_Objeù
+ *
+ge¡u»
+;
+
+303 \12
+zoom_Ëv\96
+;
+
+304 } 
+       tgl_p\9ach_\9afo
+;
+
+306 \e\19
+_gl_mou£_t
+       tgl_mou£_s
+;
+
+307 \19
+       s_gl_mou£_t
+ {
+
+308 
+Evas_CoÜd
+x
+;
+
+309 
+Evas_CoÜd
+y
+;
+
+310 
+boÞ
+b_´es£d
+;
+
+315 
+Elm_G\92grid_I\8bm_CÏss
+d©e_gic
+;
+
+316 
+Evas_Objeù
+ *
+Ïyout
+;
+
+318 
+Evas_Objeù
+ *
+£Ëù_v\9bw
+;
+
+319 
+Evas_Objeù
+ *
+£Ëù_Ïyout
+;
+
+320 
+Evas_Objeù
+ *
+v\9bw
+;
+
+321 
+Evas_Objeù
+ *
+nocÚ\8bÁs
+;
+
+322 
+boÞ
+b_¦ideshow_di§bË
+;
+
+324 
+boÞ
+is_­³nd
+;
+
+326 \12
+ed\99_mode
+;
+
+328 
+Elm_Objeù_I\8bm
+ *
+nf_\99
+;
+
+329 
+Elm_Objeù_I\8bm
+ *
+nf_\99_£Ëù
+;
+
+330 \ 5*
+t\99Ë
+;
+
+331 
+gl_mou£_s
+mou£
+;
+
+332 
+EcÜe_Tim\94
+ *
+þicked_tim\94
+;
+
+334 \12
+icÚ_w
+;
+
+335 \12
+icÚ_h
+;
+
+337 
+E\9aa_Li¡
+ *
+med\9fs_\96
+;
+
+338 \12
+couÁ
+;
+
+339 
+boÞ
+back_to_nÜm®
+;
+
+340 
+_gl_v\9bw_Üd\94
+med\9f_di¥Ïy_Üd\94
+;
+
+341 
+gl_grid_t_e
+grid_ty³
+;
+
+342 
+Elm_Objeù_I\8bm
+ *
+\99
+;
+
+343 
+_gl_d\91a\9e_v\9bw_mode
+¥l\99_v\9bw_mode
+;
+
+344 
+boÞ
+muÉi_touch
+;
+
+345 
+boÞ
+upd©e_¥l\99_v\9bw
+;
+
+346 } 
+       tgl_grid_\9afo
+;
+
+350 
+boÞ
+b_­p_ÿÎed
+;
+
+351 
+­p_cÚ\8cÞ_h
+ug
+;
+
+352 \12
+ug_ty³
+;
+
+353 \12
+iv_ty³
+;
+
+354 \1e*
+d©a
+;
+
+355 \12
+sÜt_ty³
+;
+
+356 
+boÞ
+b_¡¬t_¦ideshow
+;
+
+357 
+boÞ
+b_ug_Ïunched
+;
+
+358 #ifdeà
+_USE_APP_SLIDESHOW
+
+
+359 
+boÞ
+b_£Ëùed_¦ideshow
+;
+
+361 } 
+       tgl_ug_\9afo
+;
+
+365 
+Elm_G\92grid_I\8bm_CÏss
+gic
+;
+
+366 
+Evas_Objeù
+ *
+v\9bw
+;
+
+367 
+Evas_Objeù
+ *
+nocÚ\8bÁs
+;
+
+369 
+Evas_Objeù
+ *
+£Ëù_v\9bw
+;
+
+371 
+Evas_Objeù
+ *
+£Ëù_Ïyout
+;
+
+373 \12
+b_sh¬e_mode
+;
+
+374 
+gl_þu¡\94
+ *
+cu¼\92t
+;
+
+376 
+gl_þu¡\94
+ *
+£Ëùed
+;
+
+378 \ 5*
+·th
+;
+
+379 \ 5
+Ãw_Çme
+[
+GL_ALBUM_NAME_LEN_MAX
+];
+
+380 
+boÞ
+b_Ãw_®bum
+;
+
+381 \ 5*
+\8bmp_®bum_Çme
+;
+
+382 \12
+f\9ee_mc_mode
+;
+
+383 
+E\9aa_Li¡
+ *
+£l_\96
+;
+
+384 
+gl_þu¡\94_li¡
+ *
+\96
+;
+
+385 \12
+®bums_út
+;
+
+386 \ 5
+de¡_fÞd\94
+[
+GL_DIR_PATH_LEN_MAX
+];
+
+388 
+Elm_Objeù_I\8bm
+ *
+nf_\99_£Ëù
+;
+
+389 
+Elm_Objeù_I\8bm
+ *
+grid_£l_\99em
+;
+
+390 \ 5*
+£Ëùed_uuid
+;
+
+391 } 
+       tgl_®bum_\9afo
+;
+
+395 
+Evas_Objeù
+ *
+ed\99f\9bld
+;
+
+396 
+Evas_Objeù
+ *
+\92\8cy
+;
+
+397 
+Evas_Objeù
+ *
+pÝup
+;
+
+398 
+EcÜe_IMF_CÚ\8bxt
+ *
+cڋxt
+;
+
+399 
+Elm_EÁry_F\9e\8br_Lim\99_Size
+ *
+lim\99_f\9e\8br
+;
+
+402 \12
+mode
+;
+
+404 
+Evas_Objeù
+ *
+dÚe_b\8a
+;
+
+405 
+Elm_Objeù_I\8bm
+ *
+nf_\99
+;
+
+406 \1e*
+Ý_cb
+;
+
+407 
+boÞ
+b_hide_toÞb¬
+;
+
+408 
+boÞ
+b_hide_s\9d
+;
+
+409 } 
+       tgl_\92\8cy_\9afo
+;
+
+413 
+Evas_Objeù
+ *
+pÝup
+;
+
+414 
+Evas_Objeù
+ *
+memÜy_fuÎ_pÝup
+;
+
+415 \12
+mode
+;
+
+417 
+EcÜe_Tim\94
+ *
+d\96_tim\94
+;
+
+418 } 
+       tgl_pÝup_\9afo
+;
+
+421 
+E\9aa_Li¡
+ *
+\96
+;
+
+422 
+E\9aa_Li¡
+ *
+çv_\96
+;
+
+423 \12
+images_út
+;
+
+424 \12
+j³g_út
+;
+
+425 \12
+di§bË_hide_út
+;
+
+427 \12
+£l_út
+;
+
+429 
+E\9aa_BoÞ
+ck_¡©e
+;
+
+430 
+Evas_Objeù
+ *
+£Ëù®l_ck
+;
+
+431 
+E\9aa_Li¡
+ *
+cÝy_\96
+;
+
+432 } 
+       tgl_£Ëùed_\9afo
+;
+
+435 
+Evas_Objeù
+ *
+pÝup
+;
+
+436 
+Evas_Objeù
+ *
+pb¬
+;
+
+437 
+Evas_Objeù
+ *
+¡©us_Ïb\96
+;
+
+438 
+EcÜe_Tim\94
+ *
+pb¬_tim\94
+;
+
+443 
+EcÜe_Tim\94
+ *
+¡¬t_th»ad_tim\94
+;
+
+448 
+EcÜe_Job
+ *
+d\96_pb¬_job
+;
+
+449 
+EcÜe_Tim\94
+ *
+d\96_pb¬_tim\94
+;
+
+450 
+EcÜe_P\9de
+ *
+sync_p\9de
+;
+
+451 
+±h»ad_mu\8bx_t
+pb¬_lock
+;
+
+452 
+±h»ad_mu\8bx_t
+Ȋesh_lock
+;
+
+453 
+±h»ad_cÚd_t
+»äesh_cÚd
+;
+
+454 \12
+»äesh_æag
+;
+
+455 \12
+pb¬_ÿnûl
+;
+
+457 \12
+f\9aished_út
+;
+
+458 \12
+tÙ®_út
+;
+
+459 \1e*
+Ý_cb
+;
+
+460 \1e*
+upd©e_cb
+;
+
+461 \1e*
+d\96_\99em_cb
+;
+
+462 } 
+       tgl_pb¬_\9afo
+;
+
+466 
+Evas_Objeù
+ *
+w\9a
+;
+
+467 
+Evas_Objeù
+ *
+Ïyout
+;
+
+468 
+Evas_Objeù
+ *
+Çviäame
+;
+
+469 
+Evas_Objeù
+ *
+bg
+;
+
+470 
+Evas_Objeù
+ *
+ùxpÝup
+;
+
+471 
+Evas_Objeù
+ *
+\92\8cy_w\9a
+;
+
+472 \12
+r٩e_mode
+;
+
+473 \12
+v\9bw_mode
+;
+
+474 
+boÞ
\92\8cªt
+;
+
+475 
+boÞ
+b_·u£d
+;
+
+477 
+EcÜe_Ev\92t_HªdËr
+ *
+keydown_hªdËr
+;
+
+479 
+EcÜe_Ev\92t_HªdËr
+ *
+fÚt_hªdËr
+;
+
+480 \1e*
+dlÝ\92_iv_hªdË
+;
+
+482 
+EcÜe_Tim\94
+ *
+»g_idËr
+;
+
+483 
+boÞ
+b_»ged_idËr
+;
+
+485 \12
+®l_med\9fs_út
+;
+
+486 
+time_t
+ϡ_mtime
+;
+
+487 \12
+med\9fs_Ý_ty³
+;
+
+488 \12
+mmc_¡©e
+;
+
+490 \12
+svi_hªdË
+;
+
+491 \12
+sound_¡©us
+;
+
+492 
+EcÜe_IdËr
+ *
+mmc_idËr
+;
+
+493 \12
+ex\8bº®StÜageId
+;
+
+494 } 
+       tgl_ma\9a_\9afo
+;
+
+497 \19
+       s_gl_­pd©a
+
+
+499 
+gl_ma\9a_\9afo
+ma\9a\9afo
+;
+
+500 
+gl_ù¾_\9afo
+ù¾\9afo
+;
+
+501 
+gl_®bum_\9afo
+®bum\9afo
+;
+
+502 
+gl_grid_\9afo
+grid\9afo
+;
+
+503 
+gl_p\9ach_\9afo
+p\9ach\9afo
+;
+
+504 
+gl_\92\8cy_\9afo
+\92\8cy\9afo
+;
+
+505 
+gl_pÝup_\9afo
+pÝup\9afo
+;
+
+506 
+gl_pb¬_\9afo
+pb¬\9afo
+;
+
+507 
+gl_ug_\9afo
+ug\9afo
+;
+
+508 
+gl_£Ëùed_\9afo
+£l\9afo
+;
+
+509 
+gl_tim\96\9ae_s
+ *
+\8e\9afo
+;
+
+511 
+gl_db_nÙi_s
+ *
+db_nÙi_d
+;
+
+514 \e\19
+_gl_­pd©a
+       tgl_­pd©a
+;
+
+516 #ifdeà
+__ýlu¥lus
+
+
+       @inc/util/gl-db-update.h
+
+18 #iâdeà
+_GL_DB_UPDATE_H_
+
+
+19 \ 1
+       #_GL_DB_UPDATE_H_
+
+
+       )
+
+21 \12
+_gl_db_upd©e_add_tim\94
+(\1e*
+d©a
+);
+
+22 
+boÞ
+_gl_db_upd©e_lock_Úû
+(\1e*
+d©a
+, boÞ 
+¡©us
+);
+
+23 
+boÞ
+_gl_db_upd©e_lock_®ways
+(\1e*
+d©a
+, boÞ 
+¡©us
+);
+
+24 
+boÞ
+_gl_db_upd©e_£t_couÁ
+(\1e*
+d©a
+, \12
+couÁ
+);
+
+25 \12
+_gl_db_upd©e_g\91_\9afo
+(\1e*
+d©a
+,
+
+26 
+med\9f_cÚ\8bÁ_db_upd©e_\99em_ty³_e
+ *
+upd©e_\99em
+,
+
+27 
+med\9f_cÚ\8bÁ_db_upd©e_ty³_e
+ *
+upd©e_ty³
+,
+
+28 
+GLi¡
+ **
+uuids
+);
+
+29 
+boÞ
+_gl_db_upd©e_»g_cb
+(\1e*
+d©a
+);
+
+30 
+boÞ
+_gl_db_upd©e_\9a\99
+(\1e*
+d©a
+);
+
+31 
+boÞ
+_gl_db_upd©e_f\9a®ize
+(\1e*
+d©a
+);
+
+       @inc/util/gl-debug.h
+
+18 #iâdeà
+_GL_DEBUG_H_
+
+
+19 \ 1
+       #_GL_DEBUG_H_
+
+
+       )
+
+21 \ 2
+       ~<dlog.h
+>
+
+22 \ 2
+       ~<as£¹.h
+>
+
+23 \ 2
+       ~"gl-\8f.h
+"
+
+24 \ 2
+       ~<¡dio.h
+>
+
+26 #ifdeà
+__ýlu¥lus
+
+
+31 #ifdeà
+LOG_TAG
+
+
+32 #undeà
+LOG_TAG
+
+
+35 \ 1
+       #LOG_TAG
+ "GALLERY"
+
+       )
+
+38 \ 1
+       #FONT_COLOR_RESET
+ "\033[0m"
+
+       )
+
+39 \ 1
+       #FONT_COLOR_RED
+ "\033[31m"
+
+       )
+
+40 \ 1
+       #FONT_COLOR_GREEN
+ "\033[32m"
+
+       )
+
+41 \ 1
+       #FONT_COLOR_YELLOW
+ "\033[33m"
+
+       )
+
+42 \ 1
+       #FONT_COLOR_BLUE
+ "\033[34m"
+
+       )
+
+43 \ 1
+       #FONT_COLOR_PURPLE
+ "\033[35m"
+
+       )
+
+44 \ 1
+       #FONT_COLOR_CYAN
+ "\033[36m"
+
+       )
+
+45 \ 1
+       #FONT_COLOR_GRAY
+ "\033[37m"
+
+       )
+
+47 #ifdeà
+_USE_DLOG_
+
+
+49 \ 1
+       #gl_dbg
+(
+fmt
+, 
+¬g
+...è
+       `LOGD
+(
+FONT_COLOR_BLUE
+ fm\88
+FONT_COLOR_RESET
+, ##¬g)
+
+       )
+
+50 \ 1
+       #gl_dbgI
+(
+fmt
+, 
+¬g
+...è
+       `LOGI
+(
+FONT_COLOR_GREEN
+ fm\88
+FONT_COLOR_RESET
+, ##¬g)
+
+       )
+
+51 \ 1
+       #gl_dbgW
+(
+fmt
+, 
+¬g
+...è
+       `LOGW
+(
+FONT_COLOR_CYAN
+ fm\88
+FONT_COLOR_RESET
+, ##¬g)
+
+       )
+
+52 \ 1
+       #gl_dbgE
+(
+fmt
+, 
+¬g
+...è
+       `LOGE
+(
+FONT_COLOR_RED
+ fm\88
+FONT_COLOR_RESET
+, ##¬g)
+
+       )
+
+54 \ 1
+       #GL_PROFILE_IN
+       `LOG
+(
+LOG_DEBUG
+, "LAUNCH", "[g®Ëry:AµliÿtiÚ:%s:IN]", 
+__FUNCTION__
+)
+
+       )
+
+55 \ 1
+       #GL_PROFILE_OUT
+       `LOG
+(
+LOG_DEBUG
+, "LAUNCH", "[g®Ëry:AµliÿtiÚ:%s:OUT]", 
+__FUNCTION__
+)
+
+       )
+
+56 \ 1
+       #GL_PROFILE_F_IN
+(
+func
+       `LOG
+(
+LOG_DEBUG
+, "LAUNCH","[g®Ëry:AµliÿtiÚ:"func":IN]")
+
+       )
+
+57 \ 1
+       #GL_PROFILE_F_OUT
+(
+func
+       `LOG
+(
+LOG_DEBUG
+, "LAUNCH","[g®Ëry:AµliÿtiÚ:"func":OUT]")
+
+       )
+
+61 \ 1
+       #gl_dbg
+(
+fmt
+,
+¬g
+...)
+
+       )
+
+62 \ 1
+       #gl_dbgW
+(
+fmt
+, 
+¬g
+...)
+
+       )
+
+63 \ 1
+       #gl_dbgE
+(
+fmt
+, 
+¬g
+...)
+
+       )
+
+65 \ 1
+       #GL_PROFILE_IN
+
+
+       )
+
+66 \ 1
+       #GL_PROFILE_OUT
+
+
+       )
+
+67 \ 1
+       #GL_PROFILE_F_IN
+(
+func
+)
+
+       )
+
+68 \ 1
+       #GL_PROFILE_F_OUT
+(
+func
+)
+
+       )
+
+72 #ifdeà
+_USE_SECURE_LOG_
+
+
+73 \ 1
+       #gl_sdbg
+(
+fmt
+, 
+¬g
+...è
+       `SECURE_LOGD
+(
+FONT_COLOR_BLUE
+ fm\88
+FONT_COLOR_RESET
+, ##¬g)
+
+       )
+
+74 \ 1
+       #gl_sdbgW
+(
+fmt
+, 
+¬g
+...è
+       `SECURE_LOGI
+(
+FONT_COLOR_GREEN
+ fm\88
+FONT_COLOR_RESET
+, ##¬g)
+
+       )
+
+75 \ 1
+       #gl_sdbgE
+(
+fmt
+, 
+¬g
+...è
+       `SECURE_LOGE
+(
+FONT_COLOR_RED
+ fm\88
+FONT_COLOR_RESET
+, ##¬g)
+
+       )
+
+79 \ 2
+       ~<time.h
+>
+
+80 \ 2
+       ~<sys/time.h
+>
+
+85 \1e
+gl_´\9at_debug_time_ex
+(\13
+¡¬t
+, \13
+\92d
+, cڡ \ 5*
+func_Çme
+, \ 5*
+time_¡r\9ag
+);
+
+89 \ 1
+       #gl_»tm_if
+(
+ex´
+, 
+fmt
+, 
+¬g
+...) do { \
+
+90 ià(
+ex´
+) { \
+
+91 
+       `gl_dbgE
+(
+fmt
+, ##
+¬g
+); \
+
+92 
+       `gl_dbgE
+("(%sè-> %s(è»tuº", #ex´, 
+__FUNCTION__
+); \
+
+95 } \1f0)
+
+       )
+
+97 \ 1
+       #gl_»tvm_if
+(
+ex´
+, 
+v®
+, 
+fmt
+, 
+¬g
+...) do { \
+
+98 ià(
+ex´
+) { \
+
+99 
+       `gl_dbgE
+(
+fmt
+, ##
+¬g
+); \
+
+100 
+       `gl_dbgE
+("(%sè-> %s(è»tuº", #ex´, 
+__FUNCTION__
+); \
+
+101 \15 (
+v®
+); \
+
+103 } \1f0)
+
+       )
+
+105 \ 1
+       #GL_CHECK_EXCEP
+(
+ex´
+) do { \
+
+106 ià(!(
+ex´
+)) { \
+
+107 
+       `gl_dbgE
+("Critical ERROR ########################################## Check below item.");\
+
+108 \10
+gl_exû±iÚ
+;\
+
+110 } \1f0)
+
+       )
+
+112 \ 1
+       #GL_CHECK_VAL
+(
+ex´
+, 
+v®
+       `gl_»tvm_if
+(!Óx´), v®, "Inv®id\85¬am\91\94,\84\91uº ERROR code!")
+
+       )
+
+113 \ 1
+       #GL_CHECK_NULL
+(
+ex´
+       `gl_»tvm_if
+(!Óx´), 
+NULL
+, "Inv®id\85¬am\91\94,\84\91uº NULL!")
+
+       )
+
+114 \ 1
+       #GL_CHECK_FALSE
+(
+ex´
+       `gl_»tvm_if
+(!Óx´), 
+çl£
+, "Inv®id\85¬am\91\94,\84\91uº FALSE!")
+
+       )
+
+115 \ 1
+       #GL_CHECK_CANCEL
+(
+ex´
+       `gl_»tvm_if
+(!Óx´), 
+ECORE_CALLBACK_CANCEL
+, "Inv®id\85¬am\91\94,\84\91uº ECORE_CALLBACK_CANCEL!")
+
+       )
+
+116 \ 1
+       #GL_CHECK
+(
+ex´
+       `gl_»tm_if
+(!Óx´), "Inv®id\85¬am\91\94,\84\91uº!")
+
+       )
+
+118 \ 1
+       #gl_as£¹
+(
+ex´
+) do { \
+
+119 ià(!(
+ex´
+)) { \
+
+120 
+       `gl_dbgE
+("Critical ERROR ########################################## Check below item.");\
+
+121 
+       `as£¹
+(
+çl£
+); \
+
+123 } \1f0)
+
+       )
+
+125 #ifdeà
+__ýlu¥lus
+
+
+       @inc/util/gl-exif.h
+
+18 #ifdeà
+_USE_ROTATE_BG
+
+
+20 #iâdeà
+_GL_EXIF_H_
+
+
+21 \ 1
+       #_GL_EXIF_H_
+
+
+       )
+
+23 \ 2
+       ~<¡dboÞ.h
+>
+
+24 \ 2
+       ~<¡dio.h
+>
+
+26 #ifdeà
+__ýlu¥lus
+
+
+39 \f
+       e_gl_Ü\9bÁ©iÚ_rÙ_t
+ {
+
+40 
+GL_ORIENTATION_ROT_ERR
+ = 0,
+
+41 
+GL_ORIENTATION_ROT_0
+ = 1,
+
+42 
+GL_ORIENTATION_ROT_180
+ = 3,
+
+43 
+GL_ORIENTATION_ROT_90
+ = 6,
+
+44 
+GL_ORIENTATION_ROT_270
+ = 8,
+
+46 \e\f
+_gl_Ü\9bÁ©iÚ_rÙ_t
+       tgl_Ü\9bÁ©iÚ_rÙ_e
+;
+
+48 
+boÞ
+_gl_exif_check_img_ty³
+(\ 5*
+f\9ee_·th
+);
+
+49 \12
+_gl_exif_g\91\9bÁ©iÚ
+(\ 5*
+f\9ee_·th
+, \1d\12*
\9bÁ©iÚ
+);
+
+50 \12
+_gl_exif_£t_Ü\9bÁ©iÚ
+(\ 5*
+f\9ee_·th
+, \1d\12
\9bÁ©iÚ
+);
+
+51 \12
+_gl_exif_g\91_rÙ©ed_Ü\9bÁ©iÚ
+(\1d\12
\9bÁ©iÚ
+, 
+boÞ
+b_Ëá
+);
+
+53 #ifdeà
+__ýlu¥lus
+
+
+       @inc/util/gl-ext-exec.h
+
+18 #iâdeà
+_GL_EXT_EXEC_H_
+
+
+19 \ 1
+       #_GL_EXT_EXEC_H_
+
+
+       )
+
+23 
+       mGL_LAUNCH_FAIL
+,
+
+24 
+       mGL_LAUNCH_SUCCESS
+
+
+25 } 
+       tgl_Ïunch_¡©us
+;
+
+29 
+       mGL_APP_NONE
+ = -1,
+
+30 
+       mGL_APP_VIDEOPLAYER
+,
+
+31 
+       mGL_APP_EMOLINK
+,
+
+32 } 
+       tgl_ext_­p_ty³
+;
+
+34 \12
+gl_ext_exec
+(\1e*
+d©a
+, 
+gl_ext_­p_ty³
+ty³
+);
+
+35 #ifdeà
+GL_EXTENDED_FEATURES
+
+
+36 \12
+_gl_ext_lßd_ÿm\94a
+(\1e*
+d©a
+);
+
+37 \12
+_gl_ext_lßd_\9b
+(\1e*
+d©a
+, \1e*
+g\91_·th_cb
+);
+
+38 \12
+_gl_ext_lßd
+(cڡ \ 5*
+uri
+, cڡ \ 5*
\94©iÚ
+, cڡ \ 5*
+pkg
+, cڡ \ 5*
+pkg_id
+, cڡ \ 5*
+mime
+);
+
+39 \12
+_gl_ext_Ïunch_image_ed\99Ü
+(cڡ \ 5*
+·th_¡r\9ag
+);
+
+40 \12
+_gl_ext_Ïunch_sh¬e
+(\1e*
+d©a
+, \12
+tÙ®_út
+, \1e*
+g\91_·th_cb
+);
+
+41 \12
+_gl_ext_is_Ïrg\94_thª_sh¬e_max
+(\12
+tÙ®_út
+);
+
+42 \12
+_gl_ext_Ïunch_sh¬e_w\99h_f\9ees
+(\1e*
+d©a
+, \12
+tÙ®_út
+, \ 5**
+f\9ees
+);
+
+43 #iâdeà
+_USE_APP_SLIDESHOW
+
+
+44 \12
+_gl_ext_Ïunch_g®Ëry_ug
+(\1e*
+d©a
+);
+
+       @inc/util/gl-ext-ug-load.h
+
+18 #iâdeà
+_GL_EXT_UG_LOAD_H_
+
+
+19 \ 1
+       #_GL_EXT_UG_LOAD_H_
+
+
+       )
+
+21 \ 2
+       ~"gl-d©a.h
+"
+
+25 
+       mGL_UG_FAIL
+,
+
+26 
+       mGL_UG_SUCCESS
+
+
+27 } 
+       tgl_ug_lßd_¡©us
+;
+
+31 
+       mGL_UG_IMAGEVIEWER
+,
+
+32 
+       mGL_UG_GALLERY_SETTING_SLIDESHOW
+,
+
+33 
+       mGL_UG_GALLERY_SETTING
+,
+
+34 
+       mGL_UG_CNT
+,
+
+35 } 
+       tgl_ext_ug_ty³
+;
+
+39 
+       mGL_UG_IV
+,
+
+41 
+       mGL_UG_IV_SLIDESHOW
+,
+
+43 
+       mGL_UG_IV_SLIDESHOW_ALL
+,
+
+44 #ifdeà
+_USE_APP_SLIDESHOW
+
+
+46 
+       mGL_UG_IV_SLIDESHOW_SELECTED
+,
+
+48 
+       mGL_UG_IV_CNT
+,
+
+49 } 
+       tgl_ext_iv_ty³
+;
+
+51 \12
+gl_ext_lßd_ug
+(\1e*
+d©a
+, 
+gl_ext_ug_ty³
+ty³
+);
+
+52 \12
+gl_ext_lßd_iv_ug
+(\1e*
+d©a
+, 
+gl_\99em
+ *
+\99em
+, 
+gl_ext_iv_ty³
+ty³
+);
+
+53 \12
+gl_ext_lßd_iv_ug_£Ëù_mode
+(\1e*
+d©a
+, 
+gl_med\9f_s
+ *
+\99em
+, 
+gl_ext_iv_ty³
+ty³
+);
+
+54 \12
+gl_ext_lßd_iv_time_ug_£Ëù_mode
+(\1e*
+d©a
+, 
+gl_med\9f_s
+ *
+\99em
+, 
+gl_ext_iv_ty³
+ty³
+, \12
+sÜt_ty³
+);
+
+55 \12
+_gl_ext_lßd_iv_tim\96\9ae
+(\1e*
+d©a
+, cڡ \ 5*
+·th
+, \12
+£qu\92û
+, \12
+sÜt_ty³
+);
+
+       @inc/util/gl-file-util.h
+
+18 #iâdeà
+_GL_FILE_UTIL_H_
+
+
+19 \ 1
+       #_GL_FILE_UTIL_H_
+
+
+       )
+
+21 \ 2
+       ~<¡dio.h
+>
+
+22 \ 2
+       ~<¡dlib.h
+>
+
+23 \ 2
+       ~<sys/¡©.h
+>
+
+24 \ 2
+       ~<d\9c\92t.h
+>
+
+25 \ 2
+       ~<¡r\9ag.h
+>
+
+26 \ 2
+       ~<E\9aa.h
+>
+
+28 #ifdeà
+__ýlu¥lus
+
+
+33 \12
+gl_f\9ee_exi¡s
+(cڡ \ 5*
+·th
+);
+
+35 \12
+gl_f\9ee_is_d\9c
+(cڡ \ 5*
+·th
+);
+
+37 \12
+gl_f\9ee_uÆ\9ak
+(cڡ \ 5*
+f\9e\92ame
+);
+
+39 \12
+gl_f\9ee_size
+(cڡ \ 5*
+f\9e\92ame
+);
+
+41 \12
+gl_f\9ee_rmd\9c
+(cڡ \ 5*
+f\9e\92ame
+);
+
+43 \12
+gl_f\9ee_d\9c_is_em±y
+(cڡ \ 5*
+·th
+);
+
+45 
+E\9aa_Li¡
+ *
+gl_f\9ee_ls
+(cڡ \ 5*
+d\9c
+);
+
+47 \12
+gl_f\9ee_»cursive_rm
+(cڡ \ 5*
+d\9c
+);
+
+49 \ 5
+gl_f\9ee_d\9c_g\91
+(cڡ \ 5
+·th
+[]);
+
+51 \12
+gl_f\9ee_mk·th
+(cڡ \ 5*
+·th
+);
+
+53 \12
+gl_f\9ee_mv
+(cڡ \ 5*
+¤c
+, cڡ \ 5*
+d¡
+);
+
+55 #ifdeà
+__ýlu¥lus
+
+
+       @inc/util/gl-fs.h
+
+17 #iâdeà
+_GL_FS_H_
+
+
+18 \ 1
+       #_GL_FS_H_
+
+
+       )
+
+20 #ifdeà
+__ýlu¥lus
+
+
+24 \ 2
+       ~<¡dio.h
+>
+
+25 \ 2
+       ~<¡dboÞ.h
+>
+
+26 \ 2
+       ~<¡r\9ag.h
+>
+
+27 \ 2
+       ~<¡dlib.h
+>
+
+28 \ 2
+       ~<d\9c\92t.h
+>
+
+29 \ 2
+       ~<sys/¡©.h
+>
+
+30 \ 2
+       ~<uni¡d.h
+>
+
+31 \ 2
+       ~<sys/ty³s.h
+>
+
+32 \ 2
+       ~<sys/¡©.h
+>
+
+33 \ 2
+       ~<l\9aux/fs.h
+>
+
+34 \ 2
+       ~<E\9aa.h
+>
+
+35 \ 2
+       ~<glib.h
+>
+
+37 \e\19
+_gl_node_\9afo_t
+       tgl_node_\9afo_s
+;
+
+38 \19
+       s_gl_node_\9afo_t
+ {
+
+40 \ 5*
+·th
+;
+
+42 \ 5*
+Çme
+;
+
+44 
+time_t
+mtime
+;
+
+46 \1d\13\13
+size
+;
+
+49 \12
+_gl_fs_upd©e_f\9ee_mtime
+(cڡ \ 5*
+·th
+);
+
+50 \12
+_gl_fs_g\91_f\9ee_¡©
+(cڡ \ 5*
+f\9e\92ame
+, 
+gl_node_\9afo_s
+ **
+node
+);
+
+51 \1d\13\13
+_gl_fs_g\91_fÞd\94_size
+(\ 5*
+·th
+);
+
+52 \12
+_gl_fs_rm_fÞd\94
+(\ 5*
+·th
+, \13\13
+cut_size
+, \13\13
+max_size
+,
+
+53 \1d\12
+exp\9ced_time
+);
+
+54 #ifdeà
+_RENAME_ALBUM_SENSITIVE
+
+
+55 
+boÞ
+_gl_fs_check_Çme_ÿ£
+(\ 5*
+d\9c
+, \ 5*
+exi¡_Çme
+);
+
+57 
+boÞ
+_gl_fs_is_low_memÜy
+(\1d\13\13
+tٮ_size
+);
+
+58 \1d\13\13
+gl_fs_g\91\93_¥aû
+(\12
+¡©e
+);
+
+59 \12
+_gl_fs_g\91_f\9ee_ext
+(cڡ \ 5*
+f\9ee_·th
+, \ 5*
+f\9ee_ext
+, \12
+max_Ën
+);
+
+60 
+boÞ
+_gl_fs_g\91_·th_w\99hout_ext
+(cڡ \ 5*
+f\9ee_·th
+, \ 5*
+f\9ee_ext
+,
+
+61 \ 5*
+Ãw_·th
+);
+
+62 
+E\9aa_BoÞ
+_gl_fs_move
+(\1e*
+d©a
+, cڡ \ 5*
+¤c
+, cڡ \ 5*
+d¡
+);
+
+63 
+E\9aa_BoÞ
+_gl_fs_cÝy
+(\1e*
+d©a
+, cڡ \ 5*
+¤c
+, cڡ \ 5*
+d¡
+);
+
+64 \ 5*
+_gl_fs_g\91_unique_fuÎ_·th
+(\ 5*
+f\9ee_·th
+, \ 5*
+ext
+);
+
+65 \ 5*
+_gl_fs_g\91_unique_Ãw_®bum_Çme
+(\ 5*
+·»Á_·th
+, \ 5*
+deçuÉ_Çme
+,
+
+66 \ 5**
+Ãw_Çme
+);
+
+67 
+boÞ
+_gl_fs_v®id©e_Çme
+(cڡ \ 5*
+Ãw_Çme
+);
+
+68 
+boÞ
+_gl_fs_v®id©e_ch¬aù\94
+(cڡ \ 5
+Çme_ch¬
+);
+
+69 \12
+_gl_fs_g\91_deçuÉ_fÞd\94
+(\ 5*
+·th
+);
+
+70 
+boÞ
+_gl_fs_mkd\9c
+(cڡ \ 5*
+·th
+);
+
+72 #ifdeà
+__ýlu¥lus
+
+
+       @inc/util/gl-icons.h
+
+18 #iâdeà
+_GL_ICONS_H_
+
+
+19 \ 1
+       #_GL_ICONS_H_
+
+
+       )
+
+21 \ 1
+       #GL_APPDIR
+ "/u¤/­ps/Üg.tiz\92.g®Ëry"
+
+       )
+
+22 \ 1
+       #GL_EDJDIR
+GL_APPDIR
+"/»s/edje"
+
+       )
+
+23 \ 1
+       #GL_IMAGEDIR
+GL_APPDIR
+"/»s/images/"
+
+       )
+
+24 \ 1
+       #GL_APP_DEFAULT_ICON_DIR
+ "/u¤/sh¬e/icÚs/deçuÉ/sm®l"
+
+       )
+
+28 \ 1
+       #GL_ICON_DEFAULT
+GL_APP_DEFAULT_ICON_DIR
+"/Üg.tiz\92.g®Ëry.²g"
+
+       )
+
+29 \ 1
+       #GL_ICON_DB_DEFAULT_THUMB
+ "/Ýt/u¤/d©a/f\9ee-mªag\94-£rviû/.thumb/thumb_deçuÉ.²g"
+
+       )
+
+30 \ 1
+       #GL_ICON_NO_THUMBNAIL
+GL_IMAGEDIR
+"No_thumbÇ\9e_351X261.²g"
+
+       )
+
+31 \ 1
+       #GL_ICON_CONTENTS_BROKEN
+GL_IMAGEDIR
+"CÚ\8bÁs_brok\92_351X261.²g"
+
+       )
+
+35 \ 1
+       #GL_IMAGES_EDJ_FILE
+GL_EDJDIR
+"/gl-images.edj"
+
+       )
+
+37 \ 1
+       #GL_ICON_LOCK
+ "T01_icÚ_lock.²g"
+
+       )
+
+38 \ 1
+       #GL_ICON_ALBUM_CAMERA
+ "T01_®bum_icÚ_ÿm\94a.²g"
+
+       )
+
+39 \ 1
+       #GL_ICON_ALBUM_DOWNLOAD
+ "T01_®bum_icÚ_dowÆßd.²g"
+
+       )
+
+40 \ 1
+       #GL_ICON_ALBUM_FOLDER
+ "T01_®bum_icÚ_fÞd\94.²g"
+
+       )
+
+41 \ 1
+       #GL_ICON_ALBUM_MMC
+ "T01_®bum_icÚ_sd_ÿrd.²g"
+
+       )
+
+43 \ 1
+       #GL_ICON_VIDEO_PLAY
+ "T01_b\8a_thumbÇ\9e_¶ay.²g"
+
+       )
+
+44 \ 1
+       #GL_ICON_THUMB_BOOKMARK
+ "T01_icÚ_thumbÇ\9e_bookm¬k.²g"
+
+       )
+
+46 \ 1
+       #GL_ICON_SOUND_SHOT
+ "T01_icÚ_sound_shÙ.²g"
+
+       )
+
+47 \ 1
+       #GL_ICON_PANORAMA
+ "T01_icÚ_·nÜama.²g"
+
+       )
+
+48 \ 1
+       #GL_ICON_BURSTSHOT
+ "T01_icÚ_bu¡shÙ_45x45.PNG"
+
+       )
+
+50 \ 1
+       #GL_ICON_TITLE_SELECT_ALL
+ "T01_t\99Ë_icÚ_£Ëù_®l.²g"
+
+       )
+
+51 \ 1
+       #GL_ICON_CAMERA
+ "T01_icÚ_ÿm\94a_®l.²g"
+
+       )
+
+53 \ 1
+       #GL_ICON_NEW_ALBUM
+ "T01_pÝup_icÚ_Ãw_®bum.²g"
+
+       )
+
+54 \ 1
+       #GL_ICON_SLIDESHOW
+ "T01_pÝup_icÚ_¦ideshow.²g"
+
+       )
+
+55 \ 1
+       #GL_ICON_SHARE
+ "T01_icÚ_sh¬e.²g"
+
+       )
+
+56 \ 1
+       #GL_ICON_COPY
+ "T01_pÝup_cÝy.²g"
+
+       )
+
+57 \ 1
+       #GL_ICON_MOVE
+ "T01_pÝup_move.²g"
+
+       )
+
+58 \ 1
+       #GL_ICON_EDIT_IMAGE
+ "T02_pÝup_icÚ_ed\99_image.²g"
+
+       )
+
+59 \ 1
+       #GL_ICON_SETTINGS
+ "T02_pÝup_icÚ_£\89\9ags.²g"
+
+       )
+
+60 \ 1
+       #GL_ICON_ROTATE_RIGHT
+ "T01_pÝup_icÚ_rÙ©e_right.²g"
+
+       )
+
+61 \ 1
+       #GL_ICON_ROTATE_LEFT
+ "T01_pÝup_icÚ_rÙ©e_Ëá.²g"
+
+       )
+
+62 \ 1
+       #GL_ICON_EDIT
+ "T01_pÝup_icÚ_ed\99.²g"
+
+       )
+
+63 \ 1
+       #GL_ICON_DELETE
+ "T01_pÝup_icÚ_d\96\91e.²g"
+
+       )
+
+64 \ 1
+       #GL_ICON_DONE
+ "T01_pÝup_icÚ_dÚe.²g"
+
+       )
+
+65 \ 1
+       #GL_ICON_RENAME
+ "T01_pÝup_icÚ_»Çme.²g"
+
+       )
+
+66 \ 1
+       #GL_ICON_NOCONGENTS_VIDEOS
+ "T01_nocÚ\8bÁs_videos.²g"
+
+       )
+
+67 \ 1
+       #GL_ICON_BACK
+ "T01_icÚ_back.²g"
+
+       )
+
+68 \ 1
+       #GL_ICON_FOLDER
+ "g®Ëry_li¡_icÚ_fÞd\94.²g"
+
+       )
+
+69 \ 1
+       #GL_ICON_MMC
+ "g®Ëry_li¡_icÚ_my_f\9ees_sd_ÿrd.²g"
+
+       )
+
+       @inc/util/gl-lang.h
+
+18 #iâdeà
+_GL_LANG_H_
+
+
+19 \ 1
+       #_GL_LANG_H_
+
+
+       )
+
+21 \ 2
+       ~"g®Ëry.h
+"
+
+23 #ifdeà
+__ýlu¥lus
+
+
+28 \12
+_gl_Ïng_upd©e
+(\1e*
+d©a
+);
+
+30 #ifdeà
+__ýlu¥lus
+
+
+       @inc/util/gl-strings.h
+
+19 #iâdeà
+_GL_STRINGS_H_
+
+
+20 \ 1
+       #_GL_STRINGS_H_
+
+
+       )
+
+22 #ifdeà
+__ýlu¥lus
+
+
+27 \ 1
+       #GL_STR_DOMAIN_SYS
+ "sys_¡r\9ag"
+
+       )
+
+28 \ 1
+       #GL_STR_DOMAIN_LOCAL
+PACKAGE
+
+
+       )
+
+31 \ 1
+       #GL_STR_ALBUM_CAMERA
+       `_
+("Cam\94a")
+
+       )
+
+32 \ 1
+       #GL_STR_ALBUM_DOWNLOADS
+       `_
+("DowÆßds")
+
+       )
+
+33 \ 1
+       #GL_STR_ALBUM_SCREENSHOTS
+       `_
+("Sü\93nshÙs")
+
+       )
+
+36 \ 1
+       #GL_STR_UNDER_IMPLEMENTATION
+       `_
+("Und\94 Im¶em\92\8ftiÚ!")
+
+       )
+
+38 \ 1
+       #GL_STR_INVALID_INPUT_PARAMETER
+       `_
+("IDS_MEDIABR_POP_INVALID_INPUT_PARAMETER")
+
+       )
+
+39 \ 1
+       #GL_STR_ENTRY_IS_EMPTY
+       `_
+("IDS_MEDIABR_POP_ENTRY_IS_EMPTY")
+
+       )
+
+40 \ 1
+       #GL_STR_SAME_NAME_ALREADY_IN_USE
+       `_
+("IDS_MEDIABR_POP_SAME_NAME_ALREADY_IN_USE")
+
+       )
+
+42 \ 1
+       #GL_STR_UNABLE_tO_RENAME
+       `_
+("IDS_MEDIABR_POP_UNABLE_TO_RENAME")
+
+       )
+
+43 \ 1
+       #GL_STR_NO_ALBUMS_SELECTED
+       `_
+("IDS_MEDIABR_POP_NO_ALBUMS_SELECTED")
+
+       )
+
+44 \ 1
+       #GL_STR_SELECT_ITEM
+       `_
+(
+GL_STR_ID_SELECT_ITEM
+)
+
+       )
+
+45 \ 1
+       #GL_STR_NO_ALBUMS
+       `_
+(
+GL_STR_ID_NO_ALBUMS
+)
+
+       )
+
+47 \ 1
+       #GL_STR_EMPTY
+       `_
+("")
+
+       )
+
+48 \ 1
+       #GL_STR_NO_NAME
+GL_STR_ID_NO_NAME
+
+
+       )
+
+50 \ 1
+       #GL_STR_MORE
+       `dg\91\8bxt
+("sys_¡r\9ag", "IDS_COM_BODY_MORE")
+
+       )
+
+52 \ 1
+       #GL_STR_DELETE_1_FILE
+       `_
+("IDS_MEDIABR_POP_1_ITEM_WILL_BE_DELETED")
+
+       )
+
+53 \ 1
+       #GL_STR_DELETE_PD_FILES
+       `_
+("IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DELETED_ABB")
+
+       )
+
+55 \ 1
+       #GL_STR_DELETE_1_ALBUM
+       `_
+("IDS_MEDIABR_POP_1_ALBUM_WILL_BE_DELETED")
+
+       )
+
+56 \ 1
+       #GL_STR_DELETE_PD_ALBUMS
+       `_
+("IDS_MEDIABR_POP_PD_ALBUMS_WILL_BE_DELETED")
+
+       )
+
+58 \ 1
+       #GL_STR_PD_SELECTED
+       `_
+("IDS_GALLERY_HEADER_PD_SELECTED_ABB")
+
+       )
+
+60 \ 1
+       #GL_STR_CREATE_FOLDER_Q
+       `_
+("IDS_MEDIABR_POP_CREATE_FOLDER_Q")
+
+       )
+
+61 \ 1
+       #GL_STR_ITEMS
+       `_
+("\99ems")
+
+       )
+
+62 \ 1
+       #GL_STR_ITEM
+       `_
+("\99em")
+
+       )
+
+63 \ 1
+       #GL_STR_RETRY_Q
+       `_
+("IDS_MEDIABR_POP_RETRY_Q")
+
+       )
+
+64 \ 1
+       #GL_STR_REMOVE_COMFIRMATION
+       `_
+("IDS_MEDIABR_POPUP_REMOVE_Q")
+
+       )
+
+67 \ 1
+       #GL_STR_OPERATION_FAILED
+       `dg\91\8bxt
+("sys_¡r\9ag", 
+GL_STR_ID_OPERATION_FAILED
+)
+
+       )
+
+68 \ 1
+       #GL_STR_CAMERA
+       `dg\91\8bxt
+("sys_¡r\9ag", 
+GL_STR_ID_CAMERA
+)
+
+       )
+
+69 \ 1
+       #GL_STR_CANCELLED
+       `dg\91\8bxt
+("sys_¡r\9ag", "IDS_COM_POP_CANCELLED")
+
+       )
+
+70 \ 1
+       #GL_STR_SUCCESS
+       `dg\91\8bxt
+("sys_¡r\9ag", "IDS_COM_POP_SUCCESS")
+
+       )
+
+71 \ 1
+       #GL_STR_FAILED
+       `dg\91\8bxt
+("sys_¡r\9ag", "IDS_COM_POP_FAILED")
+
+       )
+
+72 \ 1
+       #GL_STR_BACK
+       `dg\91\8bxt
+("sys_¡r\9ag", "IDS_COM_SK_BACK")
+
+       )
+
+73 \ 1
+       #GL_STR_DELETE
+       `dg\91\8bxt
+("sys_¡r\9ag", 
+GL_STR_ID_DELETE
+)
+
+       )
+
+74 \ 1
+       #GL_STR_ALBUMS
+ "IDS_GALLERY_BUTTON_ALBUMS"
+
+       )
+
+75 \ 1
+       #GL_STR_ID_TIME_LINE
+ "IDS_MEDIABR_HEADER_TIMELINE_ABB"
+
+       )
+
+76 \ 1
+       #GL_STR_TIME_LINE
+       `dg\91\8bxt
+("sys_¡r\9ag","IDS_MEDIABR_HEADER_TIMELINE_ABB")
+
+       )
+
+77 \ 1
+       #GL_STR_DELETED
+       `dg\91\8bxt
+("sys_¡r\9ag", "IDS_COM_POP_DELETED")
+
+       )
+
+78 \ 1
+       #GL_STR_DELETE_COMFIRMATION
+       `dg\91\8bxt
+("sys_¡r\9ag", "IDS_COM_POP_DELETE_Q")
+
+       )
+
+79 \ 1
+       #GL_STR_SELECTED
+       `dg\91\8bxt
+("sys_¡r\9ag", "IDS_COM_POP_SELECTED")
+
+       )
+
+80 \ 1
+       #GL_STR_ADDED
+       `dg\91\8bxt
+("sys_¡r\9ag", "IDS_COM_POP_ADDED")
+
+       )
+
+81 \ 1
+       #GL_STR_MOVED
+       `dg\91\8bxt
+("sys_¡r\9ag", "IDS_COM_POP_MOVED")
+
+       )
+
+82 \ 1
+       #GL_STR_COPIED
+       `dg\91\8bxt
+("sys_¡r\9ag", "IDS_COM_POP_COPIED_P")
+
+       )
+
+83 \ 1
+       #GL_STR_SELECT_ALL
+       `dg\91\8bxt
+("sys_¡r\9ag", "IDS_COM_BODY_SELECT_ALL")
+
+       )
+
+84 \ 1
+       #GL_STR_NO_FILES_SELECTED
+       `dg\91\8bxt
+("sys_¡r\9ag", 
+GL_STR_ID_NO_FILES_SELECTED
+)
+
+       )
+
+85 \ 1
+       #GL_STR_APPLICATION_NOT_INSTALLED
+       `dg\91\8bxt
+("sys_¡r\9ag", "IDS_COM_BODY_APPLICATION_NOT_INSTALLED")
+
+       )
+
+86 \ 1
+       #GL_STR_PROCESSING
+       `dg\91\8bxt
+("sys_¡r\9ag", "IDS_COM_POP_PROCESSING")
+
+       )
+
+87 \ 1
+       #GL_STR_TODAY
+       `dg\91\8bxt
+("sys_¡r\9ag", "IDS_COM_BODY_TODAY")
+
+       )
+
+88 \ 1
+       #GL_STR_YESTERDAY
+       `dg\91\8bxt
+("sys_¡r\9ag", "IDS_COM_BODY_YESTERDAY")
+
+       )
+
+89 \ 1
+       #GL_STR_SUN
+       `dg\91\8bxt
+("sys_¡r\9ag", "IDS_COM_POP_SUN")
+
+       )
+
+90 \ 1
+       #GL_STR_MON
+       `dg\91\8bxt
+("sys_¡r\9ag", "IDS_COM_POP_MON")
+
+       )
+
+91 \ 1
+       #GL_STR_TUE
+       `dg\91\8bxt
+("sys_¡r\9ag", "IDS_COM_POP_TUE")
+
+       )
+
+92 \ 1
+       #GL_STR_WED
+       `dg\91\8bxt
+("sys_¡r\9ag", "IDS_COM_POP_WED")
+
+       )
+
+93 \ 1
+       #GL_STR_THU
+       `dg\91\8bxt
+("sys_¡r\9ag", "IDS_COM_POP_THU")
+
+       )
+
+94 \ 1
+       #GL_STR_FRI
+       `dg\91\8bxt
+("sys_¡r\9ag", "IDS_COM_POP_FRI")
+
+       )
+
+95 \ 1
+       #GL_STR_SAT
+       `dg\91\8bxt
+("sys_¡r\9ag", "IDS_COM_POP_SAT")
+
+       )
+
+96 \ 1
+       #GL_STR_HELP
+       `dg\91\8bxt
+("sys_¡r\9ag", "IDS_COM_BODY_HELP")
+
+       )
+
+99 \ 1
+       #GL_STR_SR_TAB
+       `_
+("\8fb")
+
+       )
+
+100 \ 1
+       #GL_STR_SR_DOUBLE_TAP
+       `_
+("doubË\81­\81Ømov\90tØcÚ\8bÁs")
+
+       )
+
+101 \ 1
+       #GL_STR_SR_THUMBNAIL_VIEW
+       `_
+("ThumbÇ\9e v\9bw")
+
+       )
+
+102 \ 1
+       #GL_STR_SR_FOUCUSED_POINT
+       `_
+("Focu£d\85o\9at")
+
+       )
+
+103 \ 1
+       #GL_STR_SR_UNFOUCUSED_POINT
+       `_
+("Unfocu£d\85o\9at")
+
+       )
+
+104 \ 1
+       #GL_STR_SR_THUMBS_DOUBLE_TAP
+       `_
+("doubË\81­\81Ø´ev\9bw it")
+
+       )
+
+105 \ 1
+       #GL_STR_SR_ALBUM_DOUBLE_TAP
+       `_
+("doubË\81­\81ØÝ\92\81h\90®bum")
+
+       )
+
+106 \ 1
+       #GL_STR_SR_BUTTON
+       `_
+("bu\89Ú")
+
+       )
+
+107 \ 1
+       #GL_STR_SR_TITLE
+       `_
+("t\99Ë")
+
+       )
+
+110 \ 1
+       #GL_STR_ID_DELETE_ACCOUNT_COMFIRMATION
+ "IDS_MEDIABR_POP_ALL_DATA_RELATED_TO_THIS_ACCOUNT_WILL_BE_DELETED_CONTINUE_Q"
+
+       )
+
+111 \ 1
+       #GL_STR_ID_DELETE_WEB_ALBUMS
+ "Som\90web\87lbum w\9eÈb\90d\96\91ed"
+
+       )
+
+112 \ 1
+       #GL_STR_ID_DELETE
+ "IDS_COM_OPT_DELETE"
+
+       )
+
+113 \ 1
+       #GL_STR_ID_CANCEL
+ "IDS_COM_SK_CANCEL"
+
+       )
+
+114 \ 1
+       #GL_STR_ID_CANCEL_ABB
+ "IDS_MEDIABR_BUTTON_CANCEL_ABB"
+
+       )
+
+115 \ 1
+       #GL_STR_ID_MOVE_TO_ALBUM
+       `dg\91\8bxt
+(
+GL_STR_DOMAIN_LOCAL
+, "IDS_GALLERY_OPT_MOVE_TO_ALBUM")
+
+       )
+
+116 \ 1
+       #GL_STR_ID_COPY_TO_ALBUM
+       `dg\91\8bxt
+(
+GL_STR_DOMAIN_LOCAL
+, "IDS_GALLERY_OPT_COPY_TO_ALBUM")
+
+       )
+
+117 \ 1
+       #GL_STR_ID_MOVE
+ "IDS_COM_BODY_MOVE"
+
+       )
+
+118 \ 1
+       #GL_STR_ID_COPY
+ "IDS_COM_BODY_COPY"
+
+       )
+
+119 \ 1
+       #GL_STR_ID_NEW_ALBUM
+ "IDS_GALLERY_OPT_CREATE_ALBUM"
+
+       )
+
+120 \ 1
+       #GL_STR_ID_NEW_ALBUM_CONFIRMATION
+ "IDS_MEDIABR_POP_DO_YOU_WANT_TO_COPY_OR_MOVE_THE_PICTURES_FROM_THE_ORIGINAL_ALBUM_Q"
+
+       )
+
+121 \ 1
+       #GL_STR_ID_OPERATION_FAILED
+ "IDS_COM_BODY_OPERATION_FAILED"
+
+       )
+
+122 \ 1
+       #GL_STR_ID_CLOSE
+ "IDS_COM_BODY_CLOSE"
+
+       )
+
+123 \ 1
+       #GL_STR_ID_SHARE
+ "IDS_MEDIABR_OPT_SHARE"
+
+       )
+
+124 \ 1
+       #GL_STR_ID_START
+ "IDS_COM_BODY_START"
+
+       )
+
+125 \ 1
+       #GL_STR_ID_SETTINGS
+ "IDS_COM_BODY_SETTINGS"
+
+       )
+
+126 #ifdeà
+SUPPORT_SLIDESHOW
+
+
+127 \ 1
+       #GL_STR_ID_SLIDESHOW
+ "IDS_MEDIABR_OPT_SLIDESHOW"
+
+       )
+
+129 \ 1
+       #GL_STR_ID_START_SLIDESHOW
+ "IDS_MEDIABR_OPT_START_SLIDESHOW"
+
+       )
+
+130 \ 1
+       #GL_STR_ID_SLIDESHOW_SETTINGS
+ "IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS"
+
+       )
+
+131 \ 1
+       #GL_STR_ID_ALBUMS
+ "IDS_COM_BODY_ALBUMS"
+
+       )
+
+133 \ 1
+       #GL_STR_ID_GALLERY
+ "IDS_COM_BODY_GALLERY"
+
+       )
+
+134 \ 1
+       #GL_STR_ID_CHNAGE_NAME
+ "IDS_COM_BODY_CHANGE_NAME"
+
+       )
+
+135 \ 1
+       #GL_STR_ID_MOVING
+ "IDS_COM_POP_MOVING"
+
+       )
+
+136 \ 1
+       #GL_STR_ID_COPYING
+ "IDS_COM_POP_COPYING_ING"
+
+       )
+
+137 \ 1
+       #GL_STR_ID_DELETING
+ "IDS_COM_POP_DELETING"
+
+       )
+
+138 \ 1
+       #GL_STR_ID_YES
+ "IDS_COM_SK_YES"
+
+       )
+
+139 \ 1
+       #GL_STR_ID_NO
+ "IDS_COM_SK_NO"
+
+       )
+
+140 \ 1
+       #GL_STR_ID_OK
+ "IDS_COM_SK_OK"
+
+       )
+
+141 \ 1
+       #GL_STR_ID_DONE
+ "IDS_COM_SK_DONE"
+
+       )
+
+142 \ 1
+       #GL_STR_ID_RENAME
+ "IDS_COM_SK_RENAME"
+
+       )
+
+143 \ 1
+       #GL_STR_ID_CAMERA
+ "IDS_COM_BODY_CAMERA"
+
+       )
+
+144 \ 1
+       #GL_STR_ID_EDIT
+ "IDS_COM_BODY_EDIT"
+
+       )
+
+145 \ 1
+       #GL_STR_ID_SAVE
+ "IDS_COM_SK_SAVE"
+
+       )
+
+146 \ 1
+       #GL_STR_ID_DOWNLOADS
+ "IDS_MF_BODY_DOWNLOADS"
+
+       )
+
+147 \ 1
+       #GL_STR_ID_SCREENSHOTS
+ "IDS_MF_BODY_SCREENSHOTS"
+
+       )
+
+148 \ 1
+       #GL_STR_ID_NO_ITEMS
+       `dg\91\8bxt
+(
+GL_STR_DOMAIN_LOCAL
+, "IDS_MEDIABR_POP_NO_ITEMS")
+
+       )
+
+149 \ 1
+       #GL_STR_ID_NO_ITEMS_SECOND
+       `dg\91\8bxt
+(
+GL_STR_DOMAIN_LOCAL
+, "IDS_GALLERY_BODY_AFTER_YOU_TAKE_PICTURES_THEY_WILL_BE_SHOWN_HERE")
+
+       )
+
+150 \ 1
+       #GL_STR_ID_NO_CONTENTS
+ "IDS_COM_BODY_NO_CONTENTS"
+
+       )
+
+151 \ 1
+       #GL_STR_ID_NO_FILES_SELECTED
+ "IDS_COM_POP_NO_FILES_SELECTED"
+
+       )
+
+152 \ 1
+       #GL_STR_ID_NO_NAME
+ "IDS_MEDIABR_POP_NO_NAME"
+
+       )
+
+153 \ 1
+       #GL_STR_ID_ALL_ALBUMS
+       `dg\91\8bxt
+(
+GL_STR_DOMAIN_LOCAL
+, "IDS_MEDIABR_BODY_ALL_ALBUMS")
+
+       )
+
+154 \ 1
+       #GL_STR_ID_FAVOURITE_ALBUMS
+       `dg\91\8bxt
+(
+GL_STR_DOMAIN_LOCAL
+, "IDS_TW_BODY_FAVORITES")
+
+       )
+
+155 \ 1
+       #GL_STR_ID_SELECT_ALBUM
+ "IDS_MEDIABR_HEADER_SELECT_ALBUM"
+
+       )
+
+156 \ 1
+       #GL_STR_TIME_VIEW
+ "IDS_GALLERY_HEADER_TIME"
+
+       )
+
+157 \ 1
+       #GL_STR_SCREEN_HEIGHT_HD
+ 1280
+
+       )
+
+158 \ 1
+       #GL_STR_SCREEN_WIDTH_HD
+ 720
+
+       )
+
+159 \ 1
+       #GL_STR_SCREEN_HEIGHT_QHD
+ 960
+
+       )
+
+160 \ 1
+       #GL_STR_SCREEN_WIDTH_QHD
+ 540
+
+       )
+
+161 \ 1
+       #GL_STR_SCREEN_HEIGHT_WVGA
+ 800
+
+       )
+
+162 \ 1
+       #GL_STR_SCREEN_WIDTH_WVGA
+ 480
+
+       )
+
+163 \ 1
+       #GL_STR_SORT
+ "IDS_MF_OPT_SORT_BY_ABB"
+
+       )
+
+164 \ 1
+       #GL_STR_DATE_OLDEST
+ "IDS_GALLERY_OPT_DATE_HOLDEST_ABB3"
+
+       )
+
+165 \ 1
+       #GL_STR_DATE_MOST_RECENT
+ "IDS_GALLERY_OPT_DATE_HMOST_RECENT_ABB2"
+
+       )
+
+166 \ 1
+       #GL_STR_ID_ALBUM_DEFAULT
+       `dg\91\8bxt
+(
+GL_STR_DOMAIN_LOCAL
+, "IDS_GALLERY_HEADER_ALBUM")
+
+       )
+
+167 \ 1
+       #GL_STR_ID_REORDER
+       `dg\91\8bxt
+(
+GL_STR_DOMAIN_LOCAL
+, "IDS_CLOCK_HEADER_REORDER_ABB")
+
+       )
+
+168 \ 1
+       #GL_STR_ID_SAME_DESTINATION_ERROR_MSG
+       `dg\91\8bxt
+(
+GL_STR_DOMAIN_LOCAL
+, "IDS_GALLERY_TPOP_SELECTED_ALBUM_SAME_AS_SOURCE_ALBUM_SELECT_ANOTHER_ALBUM")
+
+       )
+
+169 \ 1
+       #GL_STR_ID_VIEW_AS
+ "IDS_GALLERY_OPT_VIEW_AS"
+
+       )
+
+170 \ 1
+       #GL_STR_ID_CANCEL_CAP
+ "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+
+       )
+
+171 \ 1
+       #GL_STR_ID_DONE_CAP
+ "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+
+       )
+
+173 \ 1
+       #GL_STR_ID_ALBUM
+       `dg\91\8bxt
+(
+GL_STR_DOMAIN_LOCAL
+, "IDS_GALLERY_BUTTON_ALBUMS")
+
+       )
+
+174 \ 1
+       #GL_STR_ID_SELECT_ITEM
+ "IDS_MEDIABR_HEADER_SELECT_ITEM"
+
+       )
+
+175 \ 1
+       #GL_STR_ID_NO_ALBUMS
+ "IDS_MEDIABR_BODY_NO_ALBUMS"
+
+       )
+
+176 \ 1
+       #GL_STR_ID_JAN
+       `dg\91\8bxt
+(
+GL_STR_DOMAIN_LOCAL
+, "IDS_COM_BODY_JAN_ABB")
+
+       )
+
+177 \ 1
+       #GL_STR_ID_FEB
+       `dg\91\8bxt
+(
+GL_STR_DOMAIN_LOCAL
+, "IDS_COM_BODY_FEB_ABB")
+
+       )
+
+178 \ 1
+       #GL_STR_ID_MAR
+       `dg\91\8bxt
+(
+GL_STR_DOMAIN_LOCAL
+, "IDS_COM_BODY_MAR_ABB")
+
+       )
+
+179 \ 1
+       #GL_STR_ID_APR
+       `dg\91\8bxt
+(
+GL_STR_DOMAIN_LOCAL
+, "IDS_COM_BODY_APR_ABB")
+
+       )
+
+180 \ 1
+       #GL_STR_ID_MAY
+       `dg\91\8bxt
+(
+GL_STR_DOMAIN_LOCAL
+, "IDS_COM_BODY_MAY_ABB")
+
+       )
+
+181 \ 1
+       #GL_STR_ID_JUN
+       `dg\91\8bxt
+(
+GL_STR_DOMAIN_LOCAL
+, "IDS_COM_BODY_JUN_ABB")
+
+       )
+
+182 \ 1
+       #GL_STR_ID_JUL
+       `dg\91\8bxt
+(
+GL_STR_DOMAIN_LOCAL
+, "IDS_COM_BODY_JUL_ABB")
+
+       )
+
+183 \ 1
+       #GL_STR_ID_AUG
+       `dg\91\8bxt
+(
+GL_STR_DOMAIN_LOCAL
+, "IDS_COM_BODY_AUG_ABB")
+
+       )
+
+184 \ 1
+       #GL_STR_ID_SEP
+       `dg\91\8bxt
+(
+GL_STR_DOMAIN_LOCAL
+, "IDS_COM_BODY_SEP_ABB")
+
+       )
+
+185 \ 1
+       #GL_STR_ID_OCT
+       `dg\91\8bxt
+(
+GL_STR_DOMAIN_LOCAL
+, "IDS_COM_BODY_OCT_ABB")
+
+       )
+
+186 \ 1
+       #GL_STR_ID_NOV
+       `dg\91\8bxt
+(
+GL_STR_DOMAIN_LOCAL
+, "IDS_COM_BODY_NOV_ABB")
+
+       )
+
+187 \ 1
+       #GL_STR_ID_DEC
+       `dg\91\8bxt
+(
+GL_STR_DOMAIN_LOCAL
+, "IDS_COM_BODY_DEC_ABB")
+
+       )
+
+189 \ 1
+       #GL_STR_ID_ROTATE_LEFT
+ "IDS_MEDIABR_OPT_ROTATE_LEFT"
+
+       )
+
+190 \ 1
+       #GL_STR_ID_ROTATE_RIGHT
+ "IDS_MEDIABR_OPT_ROTATE_RIGHT"
+
+       )
+
+191 \ 1
+       #GL_STR_ID_EDIT_IMAGE
+ "IDS_MEDIABR_OPT_EDIT_IMAGE"
+
+       )
+
+192 \ 1
+       #GL_STR_ID_ROTATING
+       `_
+("IDS_MEDIABR_POP_ROTATING_ING")
+
+       )
+
+195 \ 1
+       #GL_STR_ID_ALL_ITEMS
+ "IDS_MEDIABR_OPT_ALL_ITEMS"
+
+       )
+
+196 \ 1
+       #GL_STR_ID_SELECT_ITEMS
+ "IDS_MEDIABR_BODY_SELECT_ITEMS"
+
+       )
+
+197 \ 1
+       #GL_STR_ID_SELECT_ALL
+ "IDS_GALLERY_HEADER_SELECT_ALL_ABB"
+
+       )
+
+199 \ 1
+       #GL_STR_ID_DETAILS
+ "IDS_COM_BODY_DETAILS"
+
+       )
+
+200 \ 1
+       #GL_STR_ID_MAX_NO_CHARS_REACHED
+ "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+
+       )
+
+202 \ 1
+       #GL_STR_ID_SHARE_LIMIT
+       `_
+("IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS")
+
+       )
+
+204 \ 1
+       #GL_STR_ID_UNSUPPORTED_FILE_TYPE
+ "IDS_COM_BODY_UNSUPPORTED_FILE_TYPE"
+
+       )
+
+206 \ 1
+       #GL_STR_ID_DELETE_COMFIRMATION
+ "IDS_COM_POP_DELETE_Q"
+
+       )
+
+208 \ 1
+       #GL_STR_ID_DELETE_1_FILE
+ "IDS_MEDIABR_POP_1_ITEM_WILL_BE_DELETED"
+
+       )
+
+209 \ 1
+       #GL_STR_ID_DELETE_PD_FILES
+ "IDS_MEDIABR_POP_PD_ITEMS_WILL_BE_DELETED"
+
+       )
+
+210 \ 1
+       #GL_STR_PD_ITEMS
+       `_
+("IDS_MEDIABR_BODY_PD_ITEMS")
+
+       )
+
+212 \ 1
+       #GL_STR_ID_DELETE_1_ALBUM
+ "IDS_MEDIABR_POP_1_ALBUM_WILL_BE_DELETED"
+
+       )
+
+213 \ 1
+       #GL_STR_ID_DELETE_PD_ALBUMS
+ "IDS_MEDIABR_POP_PD_ALBUMS_WILL_BE_DELETED"
+
+       )
+
+215 \ 1
+       #GL_STR_ID_INVALID_INPUT_PARAMETER
+ "IDS_MEDIABR_POP_INVALID_INPUT_PARAMETER"
+
+       )
+
+216 \ 1
+       #GL_STR_ID_ENTRY_IS_EMPTY
+ "IDS_MEDIABR_POP_ENTRY_IS_EMPTY"
+
+       )
+
+217 \ 1
+       #GL_STR_ID_SAME_NAME_ALREADY_IN_USE
+ "IDS_MEDIABR_POP_SAME_NAME_ALREADY_IN_USE"
+
+       )
+
+219 \ 1
+       #GL_STR_ID_THERE_IS_ONLY_ONE_ALBUM
+ "IDS_IV_BODY_THERE_IS_ONLY_ONE_ALBUM"
+
+       )
+
+222 \ 1
+       #GL_STR_1_ITEM
+       `_
+("IDS_EMAIL_BODY_1_ITEM")
+
+       )
+
+223 \ 1
+       #GL_STR_REMOVED
+       `_
+("IDS_MF_POP_REMOVED")
+
+       )
+
+224 \ 1
+       #GL_STR_ID_ENTER_TAG_NAME
+ "IDS_MEDIABR_POP_ENTER_TAG_NAME"
+
+       )
+
+225 \ 1
+       #GL_STR_MEMORY_FULL
+ "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
+
+       )
+
+226 \ 1
+       #GL_DEVICE_MEMORY_FULL
+ "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_IN_YOUR_DEVICE_STORAGE_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+
+       )
+
+227 \ 1
+       #GL_STR_SETTINGS
+ "IDS_MF_BUTTON_SETTINGS"
+
+       )
+
+228 \ 1
+       #GL_DATA_SAVE_FAILED
+ "IDS_MF_HEADER_UNABLE_TO_SAVE_DATA_ABB"
+
+       )
+
+230 #ifdeà
+__ýlu¥lus
+
+
+       @inc/util/gl-ta.h
+
+18 #iâdeà
+_GL_TA_H_
+
+
+19 \ 1
+       #_GL_TA_H_
+
+
+       )
+
+22 #ifdeà
+_ENABLE_TA
+
+
+24 \ 1
+       #GL_TA_MAX_CHECKPOINT
+ 500
+
+       )
+
+25 \ 1
+       #GL_TA_MAX_ACCUM
+ 500
+
+       )
+
+26 \ 1
+       #GL_TA_TIME_BUF_LEN
+ 256
+
+       )
+
+28 \e\19
+       s_gl_\8f_checkpo\9at
+
+
+30 \1d\13
+       mtime¡amp
+;
+
+31 \ 5*
+       mÇme
+;
+
+32 } 
+       tgl_\8f_checkpo\9at
+;
+
+34 \e\19
+       s_gl_\8f_accum_\99em
+
+
+36 \1d\13
+       m\96­£d_accum
+;
+
+37 \1d\13
+       mnum_ÿÎs
+;
+
+38 \1d\13
+       m\96­£d_m\9a
+;
+
+39 \1d\13
+       m\96­£d_max
+;
+
+40 \1d\13
+       mf\9c¡_¡¬t
+;
+
+41 \1d\13
+       mÏ¡_\92d
+;
+
+43 \ 5*
+       mÇme
+;
+
+45 \1d\13
+       mtime¡amp
+;
+
+46 \12
+       mÚ_e¡im©e
+;
+
+47 \12
+       mnum_uÅa\9c
+;
+
+48 } 
+       tgl_\8f_accum_\99em
+;
+
+50 \ 1
+       #GL_TA_SHOW_STDOUT
+ 0
+
+       )
+
+51 \ 1
+       #GL_TA_SHOW_STDERR
+ 1
+
+       )
+
+52 \ 1
+       #GL_TA_SHOW_FILE
+ 2
+
+       )
+
+53 \ 1
+       #GL_TA_RESULT_FILE
+ "/tmp/g®Ëry-\8f.log"
+
+       )
+
+57 \12
+gl_\8f_\9a\99
+(\1e);
+
+58 \12
+gl_\8f_»Ëa£
+(\1e);
+
+59 \1e
+gl_\8f_£t_\92abË
+(\12
+\92abË
+);
+
+60 \ 5*
+gl_\8f_fmt
+(cڡ \ 5*
+fmt
+, ...);
+
+64 \12
+gl_\8f_add_checkpo\9at
+(\ 5*
+Çme
+, \12
+show
+, \ 5*
+f\9e\92ame
+, \12
+l\9ae
+);
+
+65 \1e
+gl_\8f_show_checkpo\9ats
+(\1e);
+
+66 \1e
+gl_\8f_show_diff
+(\ 5*
+Çme1
+, \ 5*
+Çme2
+);
+
+68 \12
+gl_\8f_g\91_numof_checkpo\9ats
+();
+
+69 \1d\13
+gl_\8f_g\91_diff
+(\ 5*
+Çme1
+, \ 5*
+Çme2
+);
+
+70 \ 5*
+gl_\8f_g\91_Çme
+(\12
+idx
+);
+
+75 \12
+gl_\8f_accum_\99em_beg\9a
+(\ 5*
+Çme
+, \12
+show
+, \ 5*
+f\9e\92ame
+, \12
+l\9ae
+);
+
+76 \12
+gl_\8f_accum_\99em_\92d
+(\ 5*
+Çme
+, \12
+show
+, \ 5*
+f\9e\92ame
+, \12
+l\9ae
+);
+
+77 \1e
+gl_\8f_accum_show_»suÉ
+(\12
+d\9ceùiÚ
+);
+
+80 \ 1
+       #GL_TA_INIT
+(èÐ
+       `gl_\8f_\9a\99
+(è)
+
+       )
+
+81 \ 1
+       #GL_TA_RELEASE
+(èÐ
+       `gl_\8f_»Ëa£
+(è)
+
+       )
+
+82 \ 1
+       #GL_TA_SET_ENABLE
+(
+\92abË
+èÐ
+       `gl_\8f_£t_\92abË
+ÓÇbËè)
+
+       )
+
+85 \ 1
+       #GL_TA_ADD_CHECKPOINT
+(
+Çme
+,
+show
+èÐ
+       `gl_\8f_add_checkpo\9at
+Òame,show,
+__FILE__
+,
+__LINE__
+è)
+
+       )
+
+86 \ 1
+       #GL_TA_SHOW_CHECKPOINTS
+(èÐ
+       `gl_\8f_show_checkpo\9ats
+(è)
+
+       )
+
+87 \ 1
+       #GL_TA_SHOW_DIFF
+(
+Çme1
+, 
+Çme2
+èÐ
+       `gl_\8f_show_diff
+Òame1,\82ame2è)
+
+       )
+
+88 \ 1
+       #GL_TA_GET_NUMOF_CHECKPOINTS
+(èÐ
+       `gl_\8f_g\91_numof_checkpo\9ats
+(è)
+
+       )
+
+89 \ 1
+       #GL_TA_GET_DIFF
+(
+Çme1
+, 
+Çme2
+èÐ
+       `gl_\8f_g\91_diff
+Òame1,\82ame2è)
+
+       )
+
+90 \ 1
+       #GL_TA_GET_NAME
+(
+idx
+èÐ
+       `gl_\8f_g\91_Çme
+(idxè)
+
+       )
+
+93 \ 1
+       #GL_TA_ACUM_ITEM_BEGIN
+(
+Çme
+,
+show
+èÐ
+       `gl_\8f_accum_\99em_beg\9a
+Òame,show,
+__FILE__
+,
+__LINE__
+è)
+
+       )
+
+94 \ 1
+       #GL_TA_ACUM_ITEM_END
+(
+Çme
+,
+show
+èÐ
+       `gl_\8f_accum_\99em_\92d
+Òame,show,
+__FILE__
+,
+__LINE__
+è)
+
+       )
+
+95 \ 1
+       #GL_TA_ACUM_ITEM_SHOW_RESULT
+(èÐ
+       `gl_\8f_accum_show_»suÉ
+(
+GL_TA_SHOW_STDOUT
+è)
+
+       )
+
+96 \ 1
+       #GL_TA_ACUM_ITEM_SHOW_RESULT_TO
+(
+x
+èÐ
+       `gl_\8f_accum_show_»suÉ
+(xè)
+
+       )
+
+98 \ 1
+       #__gl_\8f__
+(
+Çme
+, 
+x
+) \
+
+99 
+       `GL_TA_ACUM_ITEM_BEGIN
+(
+Çme
+, 0); \
+
+100 
+x
+ \
+
+101 
+       `GL_TA_ACUM_ITEM_END
+(
+Çme
+, 0);
+
+       )
+
+103 \ 1
+       #__gl_\8ffmt__
+(
+fmt
+, 
+¬gs
+...èÐ
+       `gl_\8f_fmt
+(fmt, ##¬gsè)
+
+       )
+
+107 \ 1
+       #GL_TA_INIT
+()
+
+       )
+
+108 \ 1
+       #GL_TA_RELEASE
+()
+
+       )
+
+109 \ 1
+       #GL_TA_SET_ENABLE
+(
+\92abË
+)
+
+       )
+
+112 \ 1
+       #GL_TA_ADD_CHECKPOINT
+(
+Çme
+,
+show
+)
+
+       )
+
+113 \ 1
+       #GL_TA_SHOW_CHECKPOINTS
+()
+
+       )
+
+114 \ 1
+       #GL_TA_SHOW_DIFF
+(
+Çme1
+, 
+Çme2
+)
+
+       )
+
+115 \ 1
+       #GL_TA_GET_NUMOF_CHECKPOINTS
+()
+
+       )
+
+116 \ 1
+       #GL_TA_GET_DIFF
+(
+Çme1
+, 
+Çme2
+)
+
+       )
+
+117 \ 1
+       #GL_TA_GET_NAME
+(
+idx
+)
+
+       )
+
+120 \ 1
+       #GL_TA_ACUM_ITEM_BEGIN
+(
+Çme
+,
+show
+)
+
+       )
+
+121 \ 1
+       #GL_TA_ACUM_ITEM_END
+(
+Çme
+,
+show
+)
+
+       )
+
+122 \ 1
+       #GL_TA_ACUM_ITEM_SHOW_RESULT
+()
+
+       )
+
+123 \ 1
+       #GL_TA_ACUM_ITEM_SHOW_RESULT_TO
+(
+x
+)
+
+       )
+
+124 \ 1
+       #__gl_\8f__
+(
+Çme
+, 
+x
+       )
+x
+
+125 \ 1
+       #__gl_\8ffmt__
+(
+fmt
+, 
+¬gs
+...)
+
+       )
+
+       @inc/util/gl-thread-util.h
+
+18 #iâdeà
+_GL_THREAD_UTIL_H_
+
+
+19 \ 1
+       #_GL_THREAD_UTIL_H_
+
+
+       )
+
+21 #ifdeà
+__ýlu¥lus
+
+
+28 
+GL_PB_CANCEL_NONE
+,
+
+29 
+GL_PB_CANCEL_NORMAL
+,
+
+30 
+GL_PB_CANCEL_BUTTON
+,
+
+31 
+GL_PB_CANCEL_MMC
+,
+
+32 
+GL_PB_CANCEL_ERROR
+,
+
+33 
+GL_PB_CANCEL_RESET
+,
+
+34 } 
+       tgl_pb_ÿnûl_mode
+;
+
+36 \12
+gl_th»ad_em\99_Ãxt_sigÇl
+(\1e*
+d©a
+);
+
+37 \12
+gl_th»ad_wa\99_Ãxt_sigÇl
+(\1e*
+d©a
+);
+
+38 \12
+gl_th»ad_£t_ÿnûl_¡©e
+(\1e*
+d©a
+, \12
+v®
+);
+
+39 \12
+gl_th»ad_g\91_ÿnûl_¡©e
+(\1e*
+d©a
+, \12*
+v®
+);
+
+40 \1e
+gl_th»ad_wr\99e_p\9de
+(\1e*
+d©a
+, \12
+f\9aished_út
+, \12
+pÝup_Ý
+);
+
+41 \12
+gl_th»ad_g\92_d©a_th»ad
+(\1e*
+d©a
+);
+
+42 \12
+gl_th»ad_de¡roy_lock
+(\1e*
+d©a
+);
+
+43 \12
+gl_th»ad_\9a\99_lock
+(\1e*
+d©a
+);
+
+44 \12
+_gl_th»ad_£t_Ý_cb
+(\1e*
+d©a
+, \1e*
+Ý_cb
+);
+
+45 \12
+_gl_th»ad_£t_upd©e_cb
+(\1e*
+d©a
+, \1e*
+upd©e_cb
+);
+
+46 \12
+_gl_th»ad_£t_d\96_\99em_cb
+(\1e*
+d©a
+, \1e*
+d\96_\99em_cb
+);
+
+47 \12
+_gl_th»ad_£t_tÙ®_út
+(\1e*
+d©a
+, \12
+tÙ®_út
+);
+
+49 #ifdeà
+__ýlu¥lus
+
+
+       @inc/util/gl-ui-util.h
+
+18 #iâdeà
+_GL_UI_UTIL_H_
+
+
+19 \ 1
+       #_GL_UI_UTIL_H_
+
+
+       )
+
+21 \ 2
+       ~"g®Ëry.h
+"
+
+22 \ 2
+       ~"gl-icÚs.h
+"
+
+24 #ifdeà
+__ýlu¥lus
+
+
+29 \ 1
+       #_EDJ
+(
+o
+       `\96m_Ïyout_edje_g\91
+(o)
+
+       )
+
+30 \ 1
+       #_GET_ICON
+(
+_·th
+) \
+
+31 ((1 =ð
+       `gl_f\9ee_exi¡s
+(
+_·th
+è&& (
+       `gl_f\9ee_size
+(_·thè> 0)è? _·th : 
+GL_ICON_NO_THUMBNAIL
+)
+
+       )
+
+32 \ 1
+       #_GET_APP_ICON
+(
+_·th
+) \
+
+33 ((1 =ð
+       `gl_f\9ee_exi¡s
+(
+_·th
+è&& (
+       `gl_f\9ee_size
+(_·thè> 0)è? _·th : 
+GL_ICON_DEFAULT
+)
+
+       )
+
+36 \ 1
+       #GL_SIGNAL_GESTURE_DEFAULT
+ "\96m,ge¡u»,¡©e,deçuÉ"
+
+       )
+
+37 \ 1
+       #GL_SIGNAL_GESTURE_DISABLED
+ "\96m,ge¡u»,¡©e,di§bËd"
+
+       )
+
+38 \ 1
+       #GL_TRANS_FINISHED
+ "\8cªs\99iÚ,f\9aished"
+
+       )
+
+42 
+GL_NAVI_ALBUMS
+,
+
+43 
+GL_NAVI_ALBUMS_EDIT
+,
+
+44 
+GL_NAVI_ALBUMS_RENAME
+,
+
+45 
+GL_NAVI_ALBUMS_NEW
+,
+
+46 
+GL_NAVI_ALBUMS_SELECT
+,
+
+47 
+GL_NAVI_PLACES
+,
+
+48 
+GL_NAVI_TAGS
+,
+
+49 
+GL_NAVI_TAGS_EDIT
+,
+
+50 
+GL_NAVI_TAGS_NEW
+,
+
+51 
+GL_NAVI_TAGS_RENAME
+,
+
+52 
+GL_NAVI_THUMBS
+,
+
+53 
+GL_NAVI_THUMBS_EDIT
+,
+
+54 
+GL_NAVI_THUMBS_SELECT
+,
+
+55 
+GL_NAVI_WEB
+,
+
+56 
+GL_NAVI_WEB_EDIT
+,
+
+57 } 
+       tgl_Çvi_mode
+;
+
+61 
+GL_POPUP_ADDHOME_SIZE_1
+,
+
+62 
+GL_POPUP_ADDHOME_SIZE_2
+,
+
+63 
+GL_POPUP_ADDHOME_SIZE_NUM
+,
+
+64 } 
+       tgl_pÝup_addhome_size
+;
+
+66 \e\f
+_gl_ui_x±_b\8a_t
+       tgl_ui_x±_b\8a_e
+;
+
+68 \f
+       e_gl_ui_x±_b\8a_t
+ {
+
+69 
+GL_UI_XPT_CAMERA
+ = (0x1 << 0),
+
+70 
+GL_UI_XPT_SEL_ALL
+ = (0x1 << 1),
+
+71 
+GL_UI_XPT_SHARE
+ = (0x1 << 2),
+
+72 
+GL_UI_XPT_DONE
+ = (0x1 << 3),
+
+75 
+Evas_Objeù
+ *
+_gl_ui_ü\97\8b_gridv\9bw_ly
+(\1e*
+d©a
+, Evas_Objeù *
+·»Á
+);
+
+76 
+Evas_Objeù
+ *
+gl_ui_lßd_edj
+(Evas_Objeù * 
+·»Á
+, cڡ \ 5*
+f\9ee
+, cڡ \ 5*
+group
+);
+
+77 \12
+_gl_ui_rm_£ÏÎ_b\8a
+(
+Elm_Objeù_I\8bm
+ *
+nf_\99
+);
+
+78 \12
+_gl_ui_add_£ÏÎ_b\8a
+(
+Evas_Objeù
+ *
+Çviäame
+, 
+Elm_Objeù_I\8bm
+ *
+nf_\99
+,
+
+79 
+Evas_Sm¬t_Cb
+cb_func
+, \1e*
+d©a
+);
+
+81 \12
+_gl_ui_add_x±_b\8as
+(
+Elm_Objeù_I\8bm
+ *
+nf_\99
+, 
+gl_ui_x±_b\8a_e
+x±_b\8a
+,
+
+82 
+Evas_Sm¬t_Cb
+r_cb
+, Evas_Sm¬t_Cb 
+l_cb
+, \1e*
+d©a
+);
+
+83 
+Evas_Objeù
+ *
+_gl_ui_g\91_x±_b\8a
+(
+Elm_Objeù_I\8bm
+ *
+nf_\99
+, 
+gl_ui_x±_b\8a_e
+ui_b\8a
+);
+
+84 \12
+_gl_ui_di§bË_x±_b\8a
+(
+Elm_Objeù_I\8bm
+ *
+nf_\99
+, 
+gl_ui_x±_b\8a_e
+ui_b\8a
+, 
+boÞ
+b_di§bËd
+);
+
+85 \12
+_gl_ui_þ\97r_x±_b\8as
+(
+Elm_Objeù_I\8bm
+ *
+nf_\99
+);
+
+87 \12
+_gl_ui_þ\97r_b\8as
+(\1e*
+d©a
+);
+
+88 \12
+_gl_ui_hide_back_bu\89Ú
+(
+Elm_Objeù_I\8bm
+ *
+nf_\99
+);
+
+89 
+gl_icÚ_ty³_e
+_gl_ui_\96m_bg_f\9ee_£t
+(
+Evas_Objeù
+ *
+bg
+, 
+gl_\99em
+ *
+g\99
+);
+
+90 \12
+_gl_ui_£t_cÚ\8bÁ
+(
+Evas_Objeù
+ *
+Ïyout
+, cڡ \ 5*
+·¹
+,
+
+91 
+Evas_Objeù
+ *
+Ãw_cÚ\8bÁ
+);
+
+92 \12
+_gl_ui_add_cÚfÜm_cbs
+(\1e*
+d©a
+);
+
+93 \12
+_gl_ui_d\96_cÚfÜm_cbs
+(
+Evas_Objeù
+ *
+Çviäame
+);
+
+94 \12
+_gl_ui_£t_cÚfÜm_ov\94Ïp
+(
+Evas_Objeù
+ *
+Çviäame
+);
+
+95 \12
+_gl_ui_di§bË_b\8a
+(
+Evas_Objeù
+ *
+b\8a
+);
+
+96 \12
+_gl_ui_\92abË_b\8a
+(
+Evas_Objeù
+ *
+b\8a
+);
+
+97 \12
+_gl_ui_di§bË_m\92u
+(
+Elm_Objeù_I\8bm
+ *
+nf_\99
+, 
+boÞ
+b_di§bËd
+);
+
+98 
+Evas_Objeù
+ *
+_gl_ui_g\91_b\8a
+(\1e*
+d©a
+, 
+Elm_Objeù_I\8bm
+ *
+nf_\99
+,
+
+99 cڡ \ 5*
+·¹
+);
+
+100 \12
+_gl_ui_upd©e_»®ized_li¡_ck
+(
+Evas_Objeù
+ *
+v\9bw
+, cڡ \ 5*
+·¹
+,
+
+101 
+E\9aa_BoÞ
+¡©e
+);
+
+102 \12
+_gl_ui_upd©e_»®ized_grid_ck
+(
+Evas_Objeù
+ *
+v\9bw
+, cڡ \ 5*
+·¹1
+,
+
+103 cڡ \ 5*
+·¹2
+, 
+E\9aa_BoÞ
+¡©e
+);
+
+104 \12
+_gl_ui_£t_checkbox_¡©e
+(
+Elm_Objeù_I\8bm
+ *
+\99
+, cڡ \ 5*
+·¹
+,
+
+105 
+E\9aa_BoÞ
+¡©e
+);
+
+106 \12
+_gl_ui_upd©e_»®ized_li¡_f\9bld
+(
+Evas_Objeù
+ *
+v\9bw
+, cڡ \ 5*
+·¹
+);
+
+107 \12
+_gl_ui_upd©e_li¡_f\9bld
+(
+Elm_Objeù_I\8bm
+ *
+\99
+, cڡ \ 5*
+·¹
+);
+
+108 \12
+_gl_ui_»£t_süÞËr_pos
+(
+Evas_Objeù
+ *
+obj
+);
+
+109 \12
+_gl_ui_d\96_süÞËr_pos
+(
+Evas_Objeù
+ *
+obj
+);
+
+110 \12
+_gl_ui_§ve_süÞËr_pos
+(
+Evas_Objeù
+ *
+obj
+);
+
+111 \12
+_gl_ui_»¡Üe_süÞËr_pos
+(
+Evas_Objeù
+ *
+obj
+);
+
+112 \12
+_gl_ui_rÙ©e_v\9bw
+(\1e*
+d©a
+, \12
+v\9bw_mode
+);
+
+113 \12
+_gl_ui_£t_toÞb¬_¡©e
+(\1e*
+d©a
+, 
+boÞ
+b_hide
+);
+
+114 
+boÞ
+_gl_ui_hide_key·d
+(\1e*
+d©a
+);
+
+115 \12
+_gl_ui_d\96_nf_\99ems
+(
+Evas_Objeù
+ *
+nf
+, 
+Elm_Objeù_I\8bm
+ *
+to_\99
+);
+
+116 \12
+_gl_ui_£t_\8cª¦©e_¡r
+(
+Evas_Objeù
+ *
+obj
+, cڡ \ 5*
+¡r
+);
+
+117 \12
+_gl_ui_£t_\8cª¦©abË_\99em
+(
+Elm_Objeù_I\8bm
+ *
+nf_\99
+, cڡ \ 5*
+¡r
+);
+
+118 \12
+_gl_ui_£t_\8cª¦©abË_\99em_·¹
+(
+Elm_Objeù_I\8bm
+ *
+nf_\99
+, cڡ \ 5*
+·¹
+,
+
+119 cڡ \ 5*
+¡r
+);
+
+120 \12
+_gl_ui_£t_\8cª¦©e_·¹_¡r
+(
+Evas_Objeù
+ *
+obj
+, cڡ \ 5*
+·¹
+,
+
+121 cڡ \ 5*
+¡r
+);
+
+122 \12
+_gl_ui_chªge_t\99Ë
+(
+Elm_Objeù_I\8bm
+ *
+nf_\99
+, cڡ \ 5*
+\8bxt
+);
+
+123 \12
+_gl_ui_upd©e_Ïb\96_\8bxt
+(
+Elm_Objeù_I\8bm
+ *
+nf_\99
+, \12
+£l_út
+, 
+boÞ
+b_Ïng
+);
+
+124 \12
+_gl_ui_chªge_Çvi_t\99Ë
+(
+Elm_Objeù_I\8bm
+ *
+nf_\99
+, \ 5*
+\8bxt
+, 
+boÞ
+b_drÝdown
+);
+
+125 \12
+_gl_ui_upd©e_Çvi_t\99Ë_\8bxt
+(
+Elm_Objeù_I\8bm
+ *
+nf_\99
+, \12
+£l_út
+, 
+boÞ
+b_Ïng
+);
+
+126 \12
+_gl_ui_add_£ÏÎ_ck
+(
+Evas_Objeù
+ *
+·»Á
+, \ 5*
+·¹
+, \ 5*
+·¹_b\8a
+,
+
+127 
+Evas_Sm¬t_Cb
+cb_func
+, \1e*
+d©a
+);
+
+128 #ifdeà
+_USE_GRID_CHECK
+
+
+129 \12
+_gl_show_grid_checks
+(
+Evas_Objeù
+ *
+v\9bw
+, cڡ \ 5*
+ck_·¹
+);
+
+130 \12
+_gl_show_grid_checks_du®
+(
+Evas_Objeù
+ *
+v\9bw
+, cڡ \ 5*
+ck_·¹
+, cڡ \ 5*
+ck_·¹2
+);
+
+133 #ifdeà
+__ýlu¥lus
+
+
+       @inc/util/gl-util.h
+
+18 #iâdeà
+_GL_UTIL_H_
+
+
+19 \ 1
+       #_GL_UTIL_H_
+
+
+       )
+
+21 #ifdeà
+__ýlu¥lus
+
+
+25 \ 2
+       ~"gl-d©a.h
+"
+
+26 \ 2
+       ~"g®Ëry.h
+"
+
+30 \ 1
+       #GL_HOME_ALBUM_COVER_NUM
+ 1
+
+       )
+
+32 \ 1
+       #GL_FILE_EXISTS
+(
+·th
+) \
+
+33 (
+·th
+ && (1 =ð
+       `gl_f\9ee_exi¡s
+Õ©h)è&& (
+       `gl_f\9ee_size
+Õ©hè> 0))
+
+       )
+
+34 \ 1
+       #GL_ICON_SET_FILE
+(
+icÚ
+, 
+img
+) \
+
+35 
+       `\96m_image_f\9ee_£t
+(
+icÚ
+, 
+GL_IMAGES_EDJ_FILE
+, 
+img
+)
+
+       )
+
+37 \ 1
+       #GL_BG_SET_FILE
+(
+icÚ
+, 
+img
+) \
+
+38 
+       `\96m_bg_f\9ee_£t
+(
+icÚ
+, 
+GL_IMAGES_EDJ_FILE
+, 
+img
+)
+
+       )
+
+40 \ 1
+       #GL_IF_DEL_TIMER
+(
+tim\94
+) \
+
+42 if(
+tim\94
+ !ð
+NULL
+) { \
+
+43 
+       `ecÜe_tim\94_d\96
+(
+tim\94
+); \
+
+44 
+tim\94
+ = 
+NULL
+; \
+
+46 } \1f0)
+
+       )
+
+48 \ 1
+       #GL_IF_DEL_IDLER
+(
+idËr
+) \
+
+50 if(
+idËr
+ !ð
+NULL
+) { \
+
+51 
+       `ecÜe_idËr_d\96
+(
+idËr
+); \
+
+52 
+idËr
+ = 
+NULL
+; \
+
+54 } \1f0)
+
+       )
+
+56 \ 1
+       #GL_IF_DEL_JOB
+(
+job
+) \
+
+58 if(
+job
+ !ð
+NULL
+) { \
+
+59 
+       `ecÜe_job_d\96
+(
+job
+); \
+
+60 
+job
+ = 
+NULL
+; \
+
+62 } \1f0)
+
+       )
+
+64 \ 1
+       #GL_IF_DEL_ANIMATOR
+(
+ªim©Ü
+) \
+
+66 if(
+ªim©Ü
+ !ð
+NULL
+) { \
+
+67 
+       `ecÜe_ªim©Ü_d\96
+(
+ªim©Ü
+); \
+
+68 
+ªim©Ü
+ = 
+NULL
+; \
+
+70 } \1f0)
+
+       )
+
+72 \ 1
+       #GL_IF_DEL_TRANSIT
+(
+\8cªs\99
+) \
+
+74 if(
+\8cªs\99
+ !ð
+NULL
+) { \
+
+75 
+       `\96m_\8cªs\99_d\96
+(
+\8cªs\99
+); \
+
+76 
+\8cªs\99
+ = 
+NULL
+; \
+
+78 } \1f0)
+
+       )
+
+80 \ 1
+       #GL_IF_DEL_PIPE
+(
+p\9de
+) \
+
+82 if(
+p\9de
+ !ð
+NULL
+) { \
+
+83 
+       `ecÜe_p\9de_d\96
+(
+p\9de
+); \
+
+84 
+p\9de
+ = 
+NULL
+; \
+
+86 } \1f0)
+
+       )
+
+88 \ 1
+       #GL_IF_DEL_EVENT_HANDLER
+(
+hªdËr
+) \
+
+90 if(
+hªdËr
+ !ð
+NULL
+) { \
+
+91 
+       `ecÜe_ev\92t_hªdËr_d\96
+(
+hªdËr
+); \
+
+92 
+hªdËr
+ = 
+NULL
+; \
+
+94 } \1f0)
+
+       )
+
+96 \ 1
+       #GL_IF_DEL_OBJ
+(
+obj
+) \
+
+98 if(
+obj
+ !ð
+NULL
+) { \
+
+99 
+       `evas_objeù_d\96
+(
+obj
+); \
+
+100 
+obj
+ = 
+NULL
+; \
+
+102 } \1f0)
+
+       )
+
+104 \ 1
+       #GL_IF_FREE_ELIST
+(
+\96
+) \
+
+106 if(
+\96
+ !ð
+NULL
+) { \
+
+107 
+       `e\9aa_li¡_ä\93
+(
+\96
+); \
+
+108 
+\96
+ = 
+NULL
+; \
+
+110 } \1f0)
+
+       )
+
+115 
+GL_MMC_STATE_NONE
+,
+
+116 
+GL_MMC_STATE_ADDED
+,
+
+117 
+GL_MMC_STATE_ADDED_MOVING
+,
+
+118 
+GL_MMC_STATE_ADDING_MOVING
+,
+
+119 
+GL_MMC_STATE_REMOVED
+,
+
+120 
+GL_MMC_STATE_REMOVED_MOVING
+,
+
+121 } 
+       tgl_mmc_¡©e_mode
+;
+
+125 
+GL_UPDATE_VIEW_NONE
+,
+
+126 
+GL_UPDATE_VIEW_NORMAL
+,
+
+127 
+GL_UPDATE_VIEW_MMC_REMOVED
+,
+
+128 
+GL_UPDATE_VIEW_MMC_ADDED
+,
+
+129 
+GL_UPDATE_VIEW_INOTIFY
+,
+
+130 } 
+       tgl_upd©e_v\9bw_mode
+;
+
+134 
+GL_MEDIA_OP_NONE
+,
+
+135 
+GL_MEDIA_OP_MOVE
+,
+
+136 
+GL_MEDIA_OP_COPY
+,
+
+137 
+GL_MEDIA_OP_DELETE
+,
+
+139 
+GL_MEDIA_OP_DELETE_ALBUM
+,
+
+140 #ifdeà
+_USE_ROTATE_BG
+
+
+141 
+GL_MEDIA_OP_ROTATING_LEFT
+,
+
+142 
+GL_MEDIA_OP_ROTATING_RIGHT
+,
+
+144 
+GL_MEDIA_OP_MOVE_TIMELINE
+,
+
+145 
+GL_MEDIA_OP_COPY_TIMELINE
+,
+
+146 
+GL_MEDIA_OP_DELETE_TIMELINE
+,
+
+147 #ifdeà
+_USE_ROTATE_BG
+
+
+148 
+GL_MEDIA_OP_ROTATING_LEFT_TIMELINE
+,
+
+149 
+GL_MEDIA_OP_ROTATING_RIGHT_TIMELINE
+,
+
+151 } 
+       tgl_med\9f_Ý_mode
+;
+
+155 
+GL_POPUP_OP_NONE
+,
+
+156 
+GL_POPUP_OP_SAME_ALBUM
+,
+
+157 
+GL_POPUP_OP_DUPLICATED_NAME
+,
+
+158 
+GL_POPUP_OP_PROTECTED_FILE
+,
+
+159 } 
+       tgl_pÝup_Ý_mode
+;
+
+163 
+GL_SHARE_NONE
+,
+
+164 
+GL_SHARE_IMAGE_ONE
+,
+
+165 
+GL_SHARE_IMAGE_ONE_JPEG
+,
+
+166 
+GL_SHARE_IMAGE_MULTI
+,
+
+167 
+GL_SHARE_IMAGE_MULTI_JPEG
+,
+
+168 
+GL_SHARE_IMAGE_VIDEO
+,
+
+169 
+GL_SHARE_VIDEO_ONE
+,
+
+170 
+GL_SHARE_VIDEO_MULTI
+,
+
+171 } 
+       tgl_sh¬e_mode
+;
+
+175 
+GL_INVALID_NONE
+,
+
+176 
+GL_INVALID_NEW_ENTRY
+,
+
+177 
+GL_INVALID_NEW_ENTRY_NOC
+,
+
+178 } 
+       tgl_\9av®id_mode
+;
+
+180 \f
+       e_gl_mc_mode
+ {
+
+181 
+GL_MC_NONE
+,
+
+182 
+GL_MC_MOVE
+,
+
+183 
+GL_MC_COPY
+,
+
+185 \e\f
+_gl_mc_mode
+       tgl_mc_mode_e
+;
+
+188 \19
+       s_gl_g\91_®bum_images_·th_t
+ {
+
+189 \12
+\9adex
+;
+
+190 \ 5**
+f\9ees
+;
+
+192 \e\19
+_gl_g\91_®bum_images_·th_t
+       tgl_g\91_®bum_images_·th_s
+;
+
+194 \12
+gl_g\91_v\9bw_mode
+(\1e*
+d©a
+);
+
+195 \12
+gl_£t_v\9bw_mode
+(\1e*
+d©a
+, \12
+mode
+);
+
+196 \12
+_gl_u£_th»ad_Ý\94©e_med\9fs
+(\1e*
+d©a
+, \ 5*
+pb¬_t\99Ë
+, \12
+®l_út
+,
+
+197 \12
+Ý_ty³
+);
+
+198 \12
+_gl_move_med\9f_thumb
+(\1e*
+d©a
+, 
+gl_\99em
+ *
+g\99em
+, \ 5*
+Ãw_d\9c_Çme
+,
+
+199 
+boÞ
+is_fuÎ_·th
+, \12*
+pÝup_Ý
+, \12
+mc_mode
+);
+
+200 \12
+_gl_move_med\9f_thumb_by_id
+(\1e*
+d©a
+, cڡ \ 5*
+uuid
+, \ 5*
+Ãw_d\9c_Çme
+,
+
+201 \12*
+pÝup_Ý
+, \12
+mc_mode
+);
+
+202 \12
+_gl_move_med\9f
+(
+gl_\99em
+ *
+g\99em
+, \ 5*
+Ãw_d\9c_Çme
+, 
+boÞ
+is_fuÎ_·th
+);
+
+203 \12
+gl_move_cÝy_to_®bum
+(\1e*
+d©a
+);
+
+204 \12
+gl_move_roÙ_®bum
+(\1e
+d©a
+, 
+gl_þu¡\94
+* 
+cur_®bum
+, \ 5
+de¡_·th
+);
+
+205 \12
+gl_d\96_med\9fs
+(\1e*
+d©a
+);
+
+206 \12
+_gl_d\96_med\9f_by_id
+(\1e*
+d©a
+, cڡ \ 5*
+uuid
+);
+
+207 \12
+gl_check_mmc_¡©e
+(\1e*
+d©a
+, \ 5*
+de¡_fÞd\94
+);
+
+208 \12
+_gl_d\96_®bums
+(\1e*
+d©a
+);
+
+209 \12
+_gl_»äesh_®bums_li¡
+(\1e*
+d©a
+, 
+boÞ
+b_·th
+, boÞ 
+b_£Ëù
+);
+
+210 \12
+_gl_upd©e_®bums_d©a
+(\1e*
+d©a
+);
+
+211 \12
+_gl_upd©e_®bums_li¡
+(\1e*
+d©a
+);
+
+212 \1e
+gl_£t_mmc_nÙifd
+(\12
+fd
+);
+
+213 
+E\9aa_BoÞ
+gl_upd©e_v\9bw
+(\1e*
+d©a
+, \12
+mode
+);
+
+214 \12
+gl_g\91_£Ëùed_f\9ees_·th_¡r
+(\1e*
+d©a
+, 
+gch¬
+£p_c
+, \ 5**
+·th_¡r
+,
+
+215 \12*
+£l_út
+);
+
+216 
+boÞ
+gl_make_Ãw_®bum
+(cڡ \ 5*
+Çme
+);
+
+217 
+boÞ
+gl_check_g®Ëry_em±y
+(\1e
+d©a
+);
+
+218 
+boÞ
+gl_is_image_v®id
+(\1e*
+d©a
+, \ 5*
+f\9e\95©h
+);
+
+219 #ifdeà
+_USE_ROTATE_BG
+
+
+220 \12
+_gl_d\96ay
+(\b
+£c
+);
+
+221 \12
+_gl_r٩e_images
+(\1e*
+d©a
+, 
+boÞ
+b_Ëá
+);
+
+222 \12
+_gl_r٩e_image_by_id
+(\1e*
+d©a
+, cڡ \ 5*
+uuid
+, 
+boÞ
+b_Ëá
+);
+
+224 \12
+gl_g\91_\92\8cy_\8bxt
+(
+Evas_Objeù
+ * 
+\92\8cy
+, \ 5*
+\92\8cy_\8bxt
+, \12
+Ën_max
+);
+
+225 \12
+gl_£t_\92\8cy_\8bxt
+(
+Evas_Objeù
+ *
+\92\8cy
+, \ 5*
+\92\8cy_\8bxt
+);
+
+226 \12
+_gl_g\91_v®id_®bum_Çme
+(\1e*
+d©a
+, \ 5
+®bum_Çme
+, 
+boÞ
+b_Ãw
+,
+
+227 
+boÞ
+b_\92\8br
+);
+
+228 \12
+_gl_v®id©e_®bum_Çme
+(\1e*
+d©a
+, \ 5
+®bum_Çme
+);
+
+229 \12
+_gl_v®id©e_\9aput_ch¬aù\94
+(\1e*
+d©a
+, \ 5
+®bum_Çme
+);
+
+230 \ 5
+_gl_g\91_i18n_®bum_Çme
+(
+gl_®bum_s
+ *
+þu¡\94
+);
+
+231 \12
+gl_g\91_sh¬e_mode
+(\1e*
+d©a
+);
+
+232 \12
+gl_d\96_\9av®id_widg\91s
+(\1e*
+d©a
+, \12
+\9av®id_m
+);
+
+233 \12
+gl_pÝ_to_ù¾b¬_ly
+(\1e*
+d©a
+);
+
+234 \12
+gl_¶ay_vib¿tiÚ
+(\1e*
+d©a
+);
+
+235 
+time_t
+gl_ut\9e_g\91_cu¼\92t_sy¡emtime
+(\1e);
+
+236 \ 5*
+_gl_g\91_du¿tiÚ_¡r\9ag
+(\1d\12
+v_dur
+);
+
+237 
+gl_icÚ_ty³_e
+_gl_g\91_icÚ_ty³
+(
+gl_\99em
+ *
+g\99
+);
+
+238 \ 5*
+_gl_¡r
+(\ 5*
+¡r_id
+);
+
+239 
+boÞ
+_gl_is_¡r_id
+(cڡ \ 5*
+¡r_id
+);
+
+240 \b
+_gl_g\91_w\9a_çùÜ
+(
+Evas_Objeù
+ *
+w\9a
+, \12*
+width
+, \12*
+height
+);
+
+241 \12
+_gl_g\91_fÚt_size
+(\1e);
+
+242 #ifdeà
+_USE_SVI
+
+
+243 \12
+_gl_\9a\99_svi
+(\1e*
+d©a
+);
+
+244 \12
+_gl_f\9ai_svi
+(\1e*
+d©a
+);
+
+245 \12
+_gl_¶ay_sound
+(\1e*
+d©a
+);
+
+246 \12
+_gl_¶ay_vib¿tiÚ
+(\1e*
+d©a
+);
+
+248 \12
+_gl_»g_¡Üage_¡©e_chªge_nÙify
+(\1e*
+d©a
+);
+
+249 \12
+_gl_d\94eg_¡Üage_¡©e_chªge_nÙify
+(\1e*
+d©a
+);
+
+250 \12
+_gl_£t_f\9ee_Ý_cbs
+(\1e*
+d©a
+, \1e*
+Ý_cb
+, \1e*
+d\96_\99em_cb
+,
+
+251 \1e*
+upd©e_cb
+, \12
+tÙ®_út
+);
+
+252 \12
+_gl_­³nd_®bum_images_·th
+(\1e*
+d©a
+, 
+gl_med\9f_s
+ *
+\99em
+);
+
+253 \12
+_gl_g\91_®bum_images_·th
+(\1e*
+d©a
+, \ 5**
+f\9ees
+, 
+boÞ
+b_hide
+);
+
+254 \ 5*
+_gl_d\96\91e_fÞd\94
+(\ 5*
+·th
+);
+
+255 \12
+gl_»move_®bum
+(\1e*
+d©a
+, 
+gl_þu¡\94
+ *
+®bum_\99em
+, 
+boÞ
+is_hide
+);
+
+256 \12
+_gl_ä\93_£Ëùed_li¡
+(\1e*
+d©a
+);
+
+257 \12
+_gl_dlÝ\92_imagev\9bw\94
+(\1e*
+d©a
+);
+
+258 \12
+_gl_dlþo£_imagev\9bw\94
+(\1e*
+d©a
+);
+
+260 #ifdeà
+__ýlu¥lus
+
+
+       @inc/widget/gl-button.h
+
+18 #iâdeà
+_GL_BUTTON_H_
+
+
+19 \ 1
+       #_GL_BUTTON_H_
+
+
+       )
+
+21 \ 2
+       ~<EËm\92\8fry.h
+>
+
+22 \ 2
+       ~"g®Ëry.h
+"
+
+24 
+Evas_Objeù
+ *
+_gl_but_ü\97\8b_but
+(Evas_Objeù *
+·»Á
+, cڡ \ 5*
+icÚ
+,
+
+25 cڡ \ 5*
+\8bxt
+, cڡ \ 5*
+¡yË
+,
+
+26 
+Evas_Sm¬t_Cb
+cb_func
+, cڡ \1e*
+d©a
+);
+
+27 
+Evas_Objeù
+ *
+_gl_but_ü\97\8b_but_pÝup
+(Evas_Objeù *
+·»Á
+, cڡ \ 5*
+\8bxt
+,
+
+28 
+Evas_Sm¬t_Cb
+cb_func
+, cڡ \1e*
+d©a
+);
+
+29 
+Evas_Objeù
+ *
+_gl_but_ü\97\8b_image_but
+(Evas_Objeù *
+·»Á
+, cڡ \ 5*
+icÚ
+,
+
+30 cڡ \ 5*
+\8bxt
+, cڡ \ 5*
+¡yË
+,
+
+31 
+Evas_Sm¬t_Cb
+cb_func
+, \1e*
+d©a
+,
+
+32 
+E\9aa_BoÞ
+æag_´Ýag©e
+);
+
+       @inc/widget/gl-controlbar.h
+
+18 #iâdeà
+_GL_CONTROLBAR_H_
+
+
+19 \ 1
+       #_GL_CONTROLBAR_H_
+
+
+       )
+
+21 \ 2
+       ~<EËm\92\8fry.h
+>
+
+22 \ 2
+       ~"g®Ëry.h
+"
+
+24 \ 1
+       #GL_CBAR_OCCUPIED_PBAR
+ 4
+
+       )
+
+25 \ 1
+       #GL_CBAR_OCCUPIED_SEGMENT
+ 4
+
+       )
+
+28 \ 1
+       #GL_CTRL_TAB_INIT
+ (-1)
+
+       )
+
+30 \e\f
+       e_gl_ù¾_\8fb_mode
+
+
+32 
+       mGL_CTRL_TAB_ALBUMS
+,
+
+33 
+       mGL_CTRL_TAB_TIMELINE
+,
+
+34 
+       mGL_CTRL_TAB_CNT
+,
+
+35 } 
+       tgl_ù¾_\8fb_mode
+;
+
+37 \12
+_gl_ù¾_show_t\99Ë
+(\1e*
+d©a
+, \12
+\8fb_mode
+);
+
+38 \12
+_gl_ù¾_show_v\9bw
+(\1e*
+d©a
+, cڡ \ 5*
+Ïb\96
+);
+
+39 
+Evas_Objeù
+ *
+_gl_ù¾_add_Ïyout
+(Evas_Objeù *
+·»Á
+);
+
+40 
+Evas_Objeù
+ *
+_gl_ù¾_add_ma\9a_Ïyout
+(Evas_Objeù *
+·»Á
+);
+
+41 \12
+_gl_ù¾_£l_\8fb
+(\1e*
+d©a
+, \12
+\8fb_mode
+);
+
+42 \12
+_gl_ù¾_£t_\8fb_mode
+(\1e*
+d©a
+, \12
+mode
+);
+
+43 \12
+_gl_ù¾_g\91_\8fb_mode
+(\1e*
+d©a
+);
+
+44 \12
+_gl_ù¾_chªge_\97symode
+(\1e*
+d©a
+);
+
+45 \12
+_gl_ù¾_\92abË_b\8as
+(\1e*
+d©a
+, 
+Elm_Objeù_I\8bm
+ *
+nf_\99
+);
+
+46 
+Evas_Objeù
+ *
+_gl_ù¾_add_toÞb¬
+(Evas_Objeù *
+·»Á
+);
+
+47 
+Elm_Objeù_I\8bm
+ *
+_gl_ù¾_­³nd_\99em
+(
+Evas_Objeù
+ *
+obj
+, cڡ \ 5*
+icÚ
+,
+
+48 cڡ \ 5*
+Ïb\96
+, 
+Evas_Sm¬t_Cb
+func
+,
+
+49 cڡ \1e*
+d©a
+);
+
+50 \12
+_gl_ù¾_di§bË_\99ems
+(
+Elm_Objeù_I\8bm
+ *
+nf_\99
+, 
+boÞ
+b_di§bËd
+);
+
+51 \12
+_gl_ù¾_di§bË_\99ems_w\99h_check
+(
+Elm_Objeù_I\8bm
+ *
+nf_\99
+, 
+boÞ
+b_di§bËd
+,
+
+52 \ 5*
+check_¡r
+, 
+boÞ
+b_check_di§bËd
+);
+
+53 \12
+_gl_ù¾_di§bË_\99em_w\99h_check
+(
+Elm_Objeù_I\8bm
+ *
+nf_\99
+, \ 5*
+check_¡r
+,
+
+54 
+boÞ
+b_di§bËd
+);
+
+55 \12
+_gl_ù¾_di§bË_\99em
+(
+Elm_Objeù_I\8bm
+ *
+\99
+, 
+E\9aa_BoÞ
+b_di§bËd
+);
+
+       @inc/widget/gl-ctxpopup.h
+
+18 #iâdeà
+_GL_CTXPOPUP_H_
+
+
+19 \ 1
+       #_GL_CTXPOPUP_H_
+
+
+       )
+
+21 \e\12(*
+       tùx_­³nd_cb
+è(\1e*
+       td©a
+, 
+       tEvas_Objeù
+ *
+       t·»Á
+);
+
+23 
+Elm_Objeù_I\8bm
+ *
+       `_gl_ùxpÝup_­³nd
+(
+Evas_Objeù
+ *
+obj
+, \ 5*
+Ïb\96_id
+,
+
+24 
+Evas_Sm¬t_Cb
+func
+, cڡ \1e*
+d©a
+);
+
+25 
+Elm_Objeù_I\8bm
+ *
+       `_gl_ùxpÝup_­³nd_w\99h_icÚ
+(
+Evas_Objeù
+ *
+obj
+, \ 5*
+Ïb\96
+,
+
+26 \ 5*
+icÚ_·th
+, 
+Evas_Sm¬t_Cb
+func
+, cڡ \1e*
+d©a
+);
+
+27 \12
+       `_gl_ùxpÝup_ü\97\8b
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+but
+, 
+ùx_­³nd_cb
+­³nd_cb
+);
+
+28 \12
+       `_gl_ùxpÝup_d\96
+(\1e*
+d©a
+);
+
+       @inc/widget/gl-editfield.h
+
+18 #iâdeà
+_GL_EDITFIELD_H_
+
+
+19 \ 1
+       #_GL_EDITFIELD_H_
+
+
+       )
+
+21 \ 2
+       ~"g®Ëry.h
+"
+
+23 #ifdeà
+__ýlu¥lus
+
+
+28 
+Evas_Objeù
+ *
+_gl_ed\99f\9bld_ü\97\8b
+(\1e*
+d©a
+, Evas_Objeù *
+·»Á
+,
+
+29 \ 5*
+deçuÉ_Ïb\96
+);
+
+30 
+Evas_Objeù
+ *
+_gl_ed\99f\9bld_ü\97\8b_g\92li¡
+(\1e*
+d©a
+, Evas_Objeù *
+·»Á
+,
+
+31 
+Elm_Objeù_I\8bm
+ *
+\99
+, \ 5*
+Ïb\96
+);
+
+32 
+Evas_Objeù
+ *
+_gl_ed\99f\9bld_ü\97\8b_\92\8cy
+(\1e*
+d©a
+, Evas_Objeù *
+Ïyout
+, \ 5*
+\8bxt
+);
+
+33 \12
+_gl_ed\99f\9bld_hide_imf
+(\1e*
+d©a
+);
+
+34 \12
+_gl_ed\99f\9bld_show_imf
+(\1e*
+d©a
+);
+
+35 \12
+_gl_ed\99f\9bld_de¡roy_imf
+(\1e*
+d©a
+);
+
+36 \12
+_gl_ed\99f\9bld_chªge_Çvi_t\99Ë
+(\1e*
+d©a
+, \12
+r
+);
+
+37 
+Evas_Objeù
+ *
+_gl_ed\99f\9bld_g\91_\92\8cy
+(\1e*
+d©a
+);
+
+38 \12
+__gl_ed\99f\9bld_£t_\92\8cy
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+Ïyout
+,
+
+39 
+Evas_Objeù
+ *
+\92\8cy
+, \ 5*
+deçuÉ_Ïb\96
+);
+
+41 #ifdeà
+__ýlu¥lus
+
+
+       @inc/widget/gl-gesture.h
+
+18 #iâdeà
+_GL_GESTURE_H_
+
+
+19 \ 1
+       #_GL_GESTURE_H_
+
+
+       )
+
+21 \ 2
+       ~<EËm\92\8fry.h
+>
+
+22 \ 2
+       ~"g®Ëry.h
+"
+
+24 \ 1
+       #GL_GESTURE_KEY_PINCH_LEVEL
+ "p\9ach_Ëv\96"
+
+       )
+
+26 \e\f
+       e_gl_zoom_mode
+ {
+
+27 
+       mGL_ZOOM_NONE
+,
+
+28 
+       mGL_ZOOM_DEFAULT
+,
+
+29 
+       mGL_ZOOM_IN_ONE
+,
+
+30 
+       mGL_ZOOM_IN_TWO
+,
+
+31 
+       mGL_ZOOM_MAX
+,
+
+32 } 
+       tgl_zoom_mode
+;
+
+34 \e
+       $E\9aa_BoÞ
+ (*
+       tgl_ge¡u»_cb
+è(
+       tEvas_Objeù
+ *
+       tge¡u»
+, \1e*
+       td©a
+);
+
+36 
+Evas_Objeù
+ *
+       `_gl_ge¡u»_add
+(\1e*
+d©a
+, Evas_Objeù *
+·»Á
+);
+
+37 \12
+       `_gl_ge¡u»_£t_zoom_\9a_cb
+(
+Evas_Objeù
+ *
+ge¡u»
+, 
+gl_ge¡u»_cb
+cb
+,
+
+38 \1e*
+d©a
+);
+
+39 \12
+       `_gl_ge¡u»_£t_zoom_out_cb
+(
+Evas_Objeù
+ *
+ge¡u»
+, 
+gl_ge¡u»_cb
+cb
+,
+
+40 \1e*
+d©a
+);
+
+41 \12
+       `_gl_ge¡u»_»£t_æags
+(
+Evas_Objeù
+ *
+ge¡u»
+);
+
+42 
+Evas_Objeù
+ *
+       `_gl_ge¡u»_g\91_·»Á
+(Evas_Objeù *
+ge¡u»
+);
+
+       @inc/widget/gl-nocontents.h
+
+18 #iâdeà
+_GL_NOCONTENTS_H_
+
+
+19 \ 1
+       #_GL_NOCONTENTS_H_
+
+
+       )
+
+21 \ 2
+       ~"g®Ëry.h
+"
+
+23 #ifdeà
+__ýlu¥lus
+
+
+28 
+Evas_Objeù
+ *
+_gl_nocÚ\8bÁs_ü\97\8b
+(Evas_Objeù *
+·»Á
+);
+
+29 
+boÞ
+_gl_nocÚ\8bÁs_upd©e_Ïb\96
+(
+Evas_Objeù
+ *
+noc
+, cڡ \ 5*
+Ãw_Ïb\96
+);
+
+31 #ifdeà
+__ýlu¥lus
+
+
+       @inc/widget/gl-notify.h
+
+18 #iâdeà
+_GL_NOTIFY_H_
+
+
+19 \ 1
+       #_GL_NOTIFY_H_
+
+
+       )
+
+21 \ 2
+       ~"g®Ëry.h
+"
+
+23 #ifdeà
+__ýlu¥lus
+
+
+28 \12
+_gl_nÙify_ü\97\8b_nÙi\9afo
+(cڡ \ 5*
+\8bxt
+);
+
+29 \12
+_gl_nÙify_check_£ÏÎ
+(\1e*
+d©a
+, 
+Elm_Objeù_I\8bm
+ *
+nf_\99
+, \12
+®l_út
+,
+
+30 \12
+£Ëùed_út
+);
+
+31 \12
+_gl_nÙify_de¡roy
+(\1e*
+nÙi
+);
+
+32 \12
+_gl_nÙify_upd©e_size
+(\1e*
+nÙi
+, \1d\13\13
+tٮ
+);
+
+33 \12
+_gl_nÙify_upd©e_´og»ss
+(\1e*
+nÙi
+, \1d\13\13
+tٮ
+,
+
+34 \1d\13\13
+by\8b
+);
+
+36 #ifdeà
+__ýlu¥lus
+
+
+       @inc/widget/gl-popup.h
+
+18 #iâdeà
+_GL_POPUP_H_
+
+
+19 \ 1
+       #_GL_POPUP_H_
+
+
+       )
+
+21 \ 1
+       #GL_POPUP_STRING_MAX
+ 256
+
+       )
+
+23 \e\f
+       e_gl_pÝup_mode
+ {
+
+24 
+       mGL_POPUP_NOBUT
+,
+
+25 
+       mGL_POPUP_NOBUT_TITLE
+,
+
+26 
+       mGL_POPUP_NOBUT_APPEXIT
+,
+
+27 
+       mGL_POPUP_ONEBUT
+,
+
+28 
+       mGL_POPUP_ALBUM_NEW_EMPTY
+,
+
+29 
+       mGL_POPUP_ALBUM_NEW_DUPLICATE
+,
+
+30 
+       mGL_POPUP_ALBUM_NEW_INVALID
+,
+
+31 
+       mGL_POPUP_ALBUM_RENAME_EMPTY
+,
+
+32 
+       mGL_POPUP_ALBUM_RENAME_DUPLICATE
+,
+
+33 
+       mGL_POPUP_ALBUM_RENAME_INVALID
+,
+
+34 
+       mGL_POPUP_ALBUM_DELETE
+,
+
+35 
+       mGL_POPUP_MEDIA_MOVE
+,
+
+36 
+       mGL_POPUP_MEDIA_DELETE
+,
+
+37 
+       mGL_POPUP_SLIDESHOW
+,
+
+38 
+       mGL_POPUP_LONGPRESSED
+,
+
+39 
+       mGL_POPUP_ALBUM_MEMORY_FULL
+
+
+40 } 
+       tgl_pÝup_mode
+;
+
+42 \e\f
+       e_gl_pÝup_d\96_m_t
+ {
+
+43 
+       mGL_POPUP_DEL_FILE
+,
+
+44 
+       mGL_POPUP_DEL_ALBUM
+,
+
+45 
+       mGL_POPUP_DEL_MAX
+
+
+46 } 
+       tgl_pÝup_d\96_m_e
+;
+
+48 \12
+_gl_pÝup_ü\97\8b
+(\1e*
+d©a
+, cڡ \ 5*
+t\99Ë
+, cڡ \ 5*
+\8bxt
+,
+
+49 cڡ \ 5*
+¡r1
+, 
+Evas_Sm¬t_Cb
+cb1
+, cڡ \1e*
+d©a1
+,
+
+50 cڡ \ 5*
+¡r2
+, 
+Evas_Sm¬t_Cb
+cb2
+, cڡ \1e*
+d©a2
+,
+
+51 cڡ \ 5*
+¡r3
+, 
+Evas_Sm¬t_Cb
+cb3
+, cڡ \1e*
+d©a3
+);
+
+52 \12
+_gl_pÝup_ü\97\8b_d\96
+(\1e*
+d©a
+, \12
+mode
+, \1e*
+£l_cb
+, \1e*
+d\96_cb
+,
+
+53 \1e*
+cb_d©a
+);
+
+54 \12
+gl_pÝup_ü\97\8b_pÝup
+(\1e*
+d©a
+, 
+gl_pÝup_mode
+mode
+, \ 5*
+desc
+);
+
+55 
+Evas_Objeù
+ *
+_gl_pÝup_ü\97\8b_loÿl
+(\1e*
+d©a
+, 
+gl_pÝup_mode
+mode
+, \ 5*
+desc
+);
+
+56 \12
+_gl_pÝup_ü\97\8b_¦ideshow
+(\1e*
+d©a
+, \1e*
+Ý_func
+);
+
+57 \12
+_gl_pÝup_ü\97\8b_move
+(\1e*
+d©a
+, \1e*
+Ý_func
+);
+
+58 \12
+_gl_pÝup_ü\97\8b_cÝy
+(\1e*
+d©a
+, \1e*
+Ý_func
+);
+
+59 \12
+_gl_pÝup_ü\97\8b_move_w\99h_­³nd
+(\1e*
+d©a
+, \1e*
+Ý_func
+, \1e*
+­³nd_func
+, cڡ \ 5*
+t\99Ë
+);
+
+60 \12
+_gl_pÝup_ü\97\8b_lÚg´es£d_®bum
+(\1e*
+d©a
+, \1e*
+Ý_func
+, \ 5*
+®bum_Çme
+);
+
+61 \12
+_gl_pÝup_ü\97\8b_lÚg´es£d_thumb
+(\1e*
+d©a
+, \1e*
+Ý_func
+, \ 5*
+f\9ee_Çme
+);
+
+62 \12
+_gl_pÝup_ü\97\8b_lÚg´es£d_®bum_w\99h_­³nd
+(\1e*
+d©a
+, \1e*
+Ý_func
+, \1e*
+­³nd_func
+, cڡ \ 5*
+t\99Ë
+);
+
+63 \12
+_gl_pÝup_add_bu\89Ús
+(\1e*
+d©a
+, cڡ \ 5*
+\8bxt
+, 
+Evas_Sm¬t_Cb
+cb_func
+);
+
+64 \12
+_gl_pÝup_add_block_ÿÎback
+(\1e*
+d©a
+);
+
+65 \1e
+_gl_li¡_pÝ_ü\97\8b
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+, \ 5*
+t\99Ë
+, \ 5*
+f\9c¡_\8bxt
+, \ 5*
+£cÚd_\8bxt
+, \12
+¡©e_\9adex
+);
+
+66 \12
+_gl_pÝup_ü\97\8b_cÝy_move
+(\1e*
+d©a
+, \1e*
+£l_cb
+, \1e*
+cb_d©a
+);
+
+       @inc/widget/gl-progressbar.h
+
+18 #iâdeà
+_GL_PROGRESSBAR_H_
+
+
+19 \ 1
+       #_GL_PROGRESSBAR_H_
+
+
+       )
+
+22 \ 1
+       #GL_FONT_STYLE_POP_S
+ "<cÞÜ=#\93c900><fÚt=Tiz\92:¡yË=Medium\81ext_þassñiz\92><fÚt_size=30>"
+
+       )
+
+23 \ 1
+       #GL_FONT_STYLE_POP_E
+ "</fÚt_size></fÚt></cÞÜ>"
+
+       )
+
+25 \12
+gl_pb_add_pb¬_tim\94
+(\1e*
+d©a
+);
+
+26 \12
+gl_pb_make_th»ad_pb¬_wh\93l
+(\1e*
+d©a
+, 
+Evas_Objeù
+ * 
+·»Á
+, \ 5*
+t\99Ë
+);
+
+27 \12
+gl_pb_»äesh_th»ad_pb¬
+(\1e*
+d©a
+, \12
+cur_út
+, \12
+tÙ®_út
+);
+
+28 \12
+gl_pb_d\96_pb¬
+(\1e*
+d©a
+);
+
+29 
+Evas_Objeù
+ *
+gl_pb_make_pb¬
+(\1e*
+d©a
+, Evas_Objeù * 
+·»Á
+, \ 5*
+¡©e
+);
+
+30 
+Evas_Objeù
+ *
+_gl_pb_make_¶aû_pb¬
+(Evas_Objeù *
+·»Á
+);
+
+       @inc/widget/gl-rotate-bg.h
+
+17 #ifdeà
+_USE_ROTATE_BG
+
+
+19 #iâdeà
+_GL_ROTATE_BG_H_
+
+
+20 \ 1
+       #_GL_ROTATE_BG_H_
+
+
+       )
+
+22 \ 2
+       ~"g®Ëry.h
+"
+
+24 
+Evas_Objeù
+ *
+_gl_r٩e_bg_add
+(Evas_Objeù *
+·»Á
+, 
+boÞ
+b_´\96ßd
+);
+
+25 \12
+_gl_rÙ©e_bg_£t_d©a
+(
+Evas_Objeù
+ *
+bg
+, \1e*
+d©a
+);
+
+26 \12
+_gl_rÙ©e_bg_g\91_d©a
+(
+Evas_Objeù
+ *
+bg
+, \1e**
+d©a
+);
+
+27 \12
+_gl_rÙ©e_bg_£t_f\9ee
+(
+Evas_Objeù
+ *
+bg
+, cڡ \ 5*
+f\9ee
+, \12
+w
+, \12
+h
+);
+
+28 \12
+_gl_rÙ©e_bg_g\91_f\9ee
+(
+Evas_Objeù
+ *
+bg
+, \ 5**
+f\9ee
+);
+
+29 \12
+_gl_r٩e_bg_r٩e_image
+(
+Evas_Objeù
+ *
+bg
+, \1d\12
\9bÁ
+);
+
+30 \12
+_gl_r٩e_bg_add_image
+(
+Evas_Objeù
+ *
+bg
+, \12
+w
+, \12
+h
+);
+
+31 \12
+_gl_rÙ©e_bg_£t_image_f\9ee
+(
+Evas_Objeù
+ *
+bg
+, cڡ \ 5*
+f\9ee
+);
+
+       @inc/widget/gl-thumb.h
+
+18 #iâdeà
+_GL_THUMB_H_
+
+
+19 \ 1
+       #_GL_THUMB_H_
+
+
+       )
+
+21 \ 2
+       ~"gl-d©a.h
+"
+
+23 \ 1
+       #GL_GENGRID_ITEM_STYLE_THUMBNAIL
+ "g®Ëry/thumbÇ\9e_v\9bw"
+
+       )
+
+24 \ 1
+       #GL_GENGRID_ITEM_STYLE_DATE
+ "g®Ëry/d©e_v\9bw"
+
+       )
+
+25 \ 1
+       #GL_THUMB_ICON
+ "\96m.sw®low.icÚ"
+
+       )
+
+26 \ 1
+       #GL_THUMB_CHECKBOX
+ "\96m.sw®low.check"
+
+       )
+
+27 \ 1
+       #GL_THUMB_MODE
+ "\96m.sw®low.mode"
+
+       )
+
+28 \ 1
+       #GL_THUMB_YEAR
+ "y\97r"
+
+       )
+
+29 \ 1
+       #GL_THUMB_MONTH
+ "mÚth"
+
+       )
+
+30 \ 1
+       #GL_CHECKBOX_STYLE_THUMB
+ "g®Ëry/thumbs"
+
+       )
+
+32 \e\f
+       e_gl_cm_mode_t
+ {
+
+33 
+       mGL_CM_MODE_NORMAL
+ = 0,
+
+34 
+       mGL_CM_MODE_PANORAMA
+ = 1,
+
+35 
+       mGL_CM_MODE_SOUND
+ = 2,
+
+36 
+       mGL_CM_MODE_ANIMATE
+ = 3,
+
+37 
+       mGL_CM_MODE_BEST
+ = 4,
+
+38 
+       mGL_CM_MODE_FB
+ = 5,
+
+39 
+       mGL_CM_MODE_VOICE_REC
+ = 10,
+
+40 
+       mGL_CM_MODE_BURSTSHOT
+ = 11,
+
+41 
+       mGL_CM_MODE_MAX
+,
+
+42 } 
+       tgl_cm_mode_e
+;
+
+44 
+Evas_Objeù
+ *
+_gl_thumb_show_image
+(Evas_Objeù *
+obj
+, \ 5*
+·th
+, \12
\9bÁ
+,
+
+45 \12
+w
+, \12
+h
+, \12
+zoom_Ëv\96
+);
+
+46 
+Evas_Objeù
+ *
+_gl_thumb_show_bur¡shÙ
+(Evas_Objeù *
+obj
+, \ 5*
+·th1
+,
+
+47 \ 5*
+·th2
+, \ 5*
+·th3
+,
+
+48 \1d\12
\9bÁ
+, \12
+w
+, \12
+h
+,
+
+49 \12
+zoom_Ëv\96
+);
+
+50 
+Evas_Objeù
+ *
+_gl_thumb_show_video
+(Evas_Objeù *
+obj
+, \ 5*
+·th
+,
+
+51 \1d\12
+v_dur
+, \12
+w
+, \12
+h
+,
+
+52 \12
+zoom_Ëv\96
+);
+
+53 
+Evas_Objeù
+ *
+_gl_thumb_show_checkbox
+(Evas_Objeù *
+obj
+, 
+boÞ
+checked
+,
+
+54 
+Evas_Sm¬t_Cb
+func
+, cڡ \1e*
+d©a
+);
+
+55 
+Evas_Objeù
+ *
+_gl_thumb_show_mode
+(Evas_Objeù *
+obj
+, 
+gl_cm_mode_e
+mode
+);
+
+56 
+Evas_Objeù
+ *
+_gl_thumb_add_g\92grid
+(Evas_Objeù *
+·»Á
+);
+
+57 \12
+_gl_thumb_upd©e_g\92grid
+(
+Evas_Objeù
+ *
+v\9bw
+);
+
+58 \12
+_gl_thumb_£t_size
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+v\9bw
+, \12*
+size_w
+, \12*
+size_h
+);
+
+59 \12
+_gl_thumb_¥l\99_£t_size
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+v\9bw
+);
+
+60 
+boÞ
+_gl_thumb_\9a£¹_d©e
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+·»Á
+);
+
+       @inc/widget/gl-tile.h
+
+18 #iâdeà
+_GL_TILE_H_
+
+
+19 \ 1
+       #_GL_TILE_H_
+
+
+       )
+
+21 \ 2
+       ~"gl-d©a.h
+"
+
+23 \ 1
+       #GL_TILE_ICON
+ "\96m.sw®low.icÚ"
+
+       )
+
+24 \ 1
+       #GL_TILE_CHECKBOX
+ "\96m.sw®low.check"
+
+       )
+
+25 \ 1
+       #GL_TILE_CHECKBOX_GRID
+ "\96m.sw®low.check_grid"
+
+       )
+
+26 \ 1
+       #GL_TILE_TYPE_ICON
+ "\96m.sw®low.ty³_icÚ"
+
+       )
+
+27 \ 1
+       #GL_TILE_SD_ICON
+ "\96m.sw®low.sd_icÚ"
+
+       )
+
+28 \ 1
+       #GL_TILE_PABR
+ "\96m.sw®low.´og»ssb¬"
+
+       )
+
+29 \ 1
+       #GL_TILE_DIM
+ "\96m.sw®low.dim"
+
+       )
+
+31 \ 1
+       #GL_GENGRID_STYLE_ALBUM_VIEW
+ "g®Ëry/®bums_v\9bw"
+
+       )
+
+32 \ 1
+       #GL_GENGRID_STYLE_ALBUM_SPLIT_VIEW
+ "g®Ëry/®bums_¥l\99_v\9bw"
+
+       )
+
+35 \e\f
+       e_gl_t\9ee_ty³
+ {
+
+36 
+       mGL_TILE_TYPE_NONE
+,
+
+37 
+       mGL_TILE_TYPE_MMC_STORAGE
+,
+
+38 
+       mGL_TILE_TYPE_CAMERA
+,
+
+39 
+       mGL_TILE_TYPE_DOWNLOAD
+,
+
+40 
+       mGL_TILE_TYPE_FOLDER
+,
+
+41 } 
+       tgl_t\9ee_ty³
+;
+
+43 \e\12(*
+       tbg_f\9ee_£t_cb
+è(
+       tEvas_Objeù
+ *
+       tbg
+, \1e*
+       td©a
+);
+
+45 
+Evas_Objeù
+ *
+       `_gl_t\9ee_show_·¹_icÚ
+(Evas_Objeù *
+obj
+, cڡ \ 5*
+·¹
+,
+
+46 
+bg_f\9ee_£t_cb
+func
+, \1e*
+d©a
+);
+
+47 
+Evas_Objeù
+ *
+       `_gl_t\9ee_show_·¹_dim
+(Evas_Objeù *
+obj
+);
+
+48 
+Evas_Objeù
+ *
+       `_gl_t\9ee_show_·¹_checkbox_grid
+(Evas_Objeù *
+obj
+, 
+boÞ
+checked
+,
+
+49 
+Evas_Sm¬t_Cb
+func
+,
+
+50 cڡ \1e*
+d©a
+);
+
+51 
+Evas_Objeù
+ *
+       `_gl_t\9ee_show_·¹_checkbox
+(Evas_Objeù *
+obj
+, 
+boÞ
+checked
+,
+
+52 
+Evas_Sm¬t_Cb
+func
+, cڡ \1e*
+d©a
+);
+
+53 
+Evas_Objeù
+ *
+       `_gl_t\9ee_show_·¹_»Çme
+(Evas_Objeù *
+obj
+, 
+Evas_Sm¬t_Cb
+func
+,
+
+54 cڡ \1e*
+d©a
+);
+
+55 
+Evas_Objeù
+ *
+       `_gl_t\9ee_show_·¹_ty³_icÚ
+(Evas_Objeù *
+obj
+, \12
+¢s_ty³
+);
+
+56 \12
+       `_gl_t\9ee_g\91_mtime
+(
+time_t
+ *
+mtime1
+,\81ime_\88*
+mtime2
+, \ 5*
+buf
+, \12
+max_Ën
+);
+
+57 
+Evas_Objeù
+ *
+       `_gl_t\9ee_add_g\92grid
+(Evas_Objeù *
+·»Á
+);
+
+58 \12
+       `_gl_t\9ee_upd©e_\99em_size
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+grid
+, 
+boÞ
+b_upd©e
+);
+
+59 
+Evas_Objeù
+ *
+       `_gl_t\9ee_add_ge¡u»
+(\1e*
+d©a
+, Evas_Objeù *
+·»Á
+);
+
+       @res/black_theme/edc/gallery-edc-res.h
+
+18 \ 1
+       #GL_RES_IMG
+(
+image_Çme
+image
+: image_Çm\90
+COMP
+
+
+       )
+
+23 \ 1
+       #GALLERY_EDC_IMAGE_NOCONTENTS_PIC
+ "T01_nocÚ\8bÁs_videos.²g"
+
+       )
+
+26 \ 1
+       #GALLERY_EDC_IMAGE_PLACES_MARKER1
+ "T01_¶aûs_m¬k\94_01.²g"
+
+       )
+
+29 \ 1
+       #GALLERY_EDC_IMAGE_BUTTON_REVEAL
+ "00_bu\89Ú_»v\97l.²g"
+
+       )
+
+30 \ 1
+       #GALLERY_EDC_IMAGE_BUTTON_REVEAL_PRESS
+ "00_bu\89Ú_»v\97l_´ess.²g"
+
+       )
+
+31 \ 1
+       #GALLERY_EDC_IMAGE_BTN_CIRCLE_BG_NORMAL
+ "T01_bu\89Ú_c\9cþe_bg_nÜm®.²g"
+
+       )
+
+32 \ 1
+       #GALLERY_EDC_IMAGE_BTN_CIRCLE_BG_PRESS
+ "T01_bu\89Ú_c\9cþe_bg_nÜm®_´ess.²g"
+
+       )
+
+35 \ 1
+       #GALLERY_EDC_IMAGE_OS_LEFT
+ "00_ov\94süÞl\9ag_Ëá.²g"
+
+       )
+
+36 \ 1
+       #GALLERY_EDC_IMAGE_OS_RIGHT
+ "00_ov\94süÞl\9ag_right.²g"
+
+       )
+
+39 \ 1
+       #GALLERY_EDC_IMAGE_EDIT_EFFECT_BG
+ "T01_ed\99l_efãù.²g"
+
+       )
+
+40 \ 1
+       #GALLERY_EDC_IMAGE_ALBUM_BG
+ "T01_®bum_fÞd\94_bg.²g"
+
+       )
+
+43 \ 1
+       #GALLERY_EDC_IMAGE_BUTTON_PLAY
+ "T01_b\8a_¶ay.²g"
+
+       )
+
+44 \ 1
+       #GALLERY_EDC_IMAGE_BUTTON_VIDEO_PLAY
+ "T01_video_¶ay.²g"
+
+       )
+
+45 \ 1
+       #GALLERY_EDC_IMAGE_BUSTSHOT
+ "T01_thumbs_bu¡shÙ_bg.²g"
+
+       )
+
+46 \ 1
+       #GALLERY_EDC_IMAGE_THUMBS_BG_FOCUS
+ "00_thumbs_bg_focus.²g"
+
+       )
+
+47 \ 1
+       #GALLERY_EDC_IMAGE_BADGE_BG
+ "00_badge_bg.²g"
+
+       )
+
+50 \ 1
+       #GALLERY_EDC_IMAGE_POPUP_SCROLL
+ "00_pÝup_süÞl.²g"
+
+       )
+
+51 \ 1
+       #GALLERY_EDC_IMAGE_PLACES_THUMB_BG
+ "T01_¶aûs_thumbÇ\9e_bg.²g"
+
+       )
+
+56 \ 1
+       #GALLERY_EDC_IMAGE_CONTROL_TABBAR_BG
+ "00_w\9a£t_t\99Ë_\8fbb¬_bg.²g"
+
+       )
+
+59 \ 1
+       #GALLERY_EDC_IMAGE_BTN_GRIDVIEW
+ "T01_bubbË_icÚ_gridv\9bw.²g"
+
+       )
+
+60 \ 1
+       #GALLERY_EDC_IMAGE_BTN_FOOTSTEPS
+ "T01_bubbË_icÚ_foÙ¡\95s.²g"
+
+       )
+
+62 \ 1
+       #GALLERY_EDC_IMAGE_BTN_CIRCLE_BG
+ "T01_®bum_ed\99_»Çme_bg.²g"
+
+       )
+
+63 \ 1
+       #GALLERY_EDC_IMAGE_BTN_CIRCLE_BG_PRESSED
+ "T01_®bum_ed\99_»Çme_bg_´ess.²g"
+
+       )
+
+64 \ 1
+       #GALLERY_EDC_IMAGE_BTN_RENAME
+ "T01_®bum_ed\99_»Çme.²g"
+
+       )
+
+65 \ 1
+       #GALLERY_EDC_IMAGE_BTN_RENAME_PRESS
+ "T01_®bum_ed\99_»Çme_´ess.²g"
+
+       )
+
+67 \ 1
+       #GALLERY_EDC_SOUND_TOUCH_30MS
+ "S_Touch_30ms.wav"
+
+       )
+
+70 \ 1
+       #GALLERY_EDC_IMAGE_CHECK_BG
+ "T01_checkbox.²g"
+
+       )
+
+71 \ 1
+       #GALLERY_EDC_IMAGE_CHECK_ALBUM_BG
+ "T01_®bum_ed\99_check_bg.²g"
+
+       )
+
+72 \ 1
+       #GALLERY_EDC_IMAGE_CHECK_BG_DIM
+ "00_check_bg_dim.²g"
+
+       )
+
+73 \ 1
+       #GALLERY_EDC_IMAGE_CHECK_BG_CHECKING
+ "T01_check.²g"
+
+       )
+
+74 \ 1
+       #GALLERY_EDC_IMAGE_CHECK_ALBUM_EDIT_CHECKON
+ "T01_®bum_ed\99_check_Ú.²g"
+
+       )
+
+77 \ 1
+       #GALLERY_EDC_IMAGE_EDITFIELD_CLEAR
+ "00_Ed\99F\9bld_þ\97r.²g"
+
+       )
+
+78 \ 1
+       #GALLERY_EDC_IMAGE_SEARCH_EDIT_FIELD_BG
+ "00_£¬ch_ed\99_f\9bld_bg.²g"
+
+       )
+
+79 \ 1
+       #GALLERY_EDC_IMAGE_SEARCH_EDIT_FIELD_BG_FOCUS
+ "00_£¬ch_ed\99_f\9bld_bg_focus.²g"
+
+       )
+
+82 \ 1
+       #GALLERY_EDC_IMAGE_LIST_PROGRESS_BG
+ "00_w\9a£t_li¡_´og»ss_bg.²g"
+
+       )
+
+83 \ 1
+       #GALLERY_EDC_IMAGE_LIST_PROGRESS_BAR
+ "T01_g®Ëry_®bum_´og»ss_b¬.²g"
+
+       )
+
+86 \ 1
+       #GALLERY_EDC_IMAGE_GIRD_OS_TOP
+ "00_grid_ov\94süÞl\9ag_tÝ.²g"
+
+       )
+
+87 \ 1
+       #GALLERY_EDC_IMAGE_GIRD_OS_BOT
+ "00_grid_ov\94süÞl\9ag_bÙtom.²g"
+
+       )
+
+88 \ 1
+       #GALLERY_EDC_IMAGE_GIRD_OS_LEFT
+ "00_grid_ov\94süÞl\9ag_Ëá.²g"
+
+       )
+
+89 \ 1
+       #GALLERY_EDC_IMAGE_GIRD_OS_RIGHT
+ "00_grid_ov\94süÞl\9ag_right.²g"
+
+       )
+
+92 \ 1
+       #GALLERY_EDC_IMAGE_POPUP_SCROLL_V
+ "00_pÝup_süÞl_v.²g"
+
+       )
+
+93 \ 1
+       #GALLERY_EDC_IMAGE_POPUP_SCROLL_H
+ "00_pÝup_süÞl_h.²g"
+
+       )
+
+94 \ 1
+       #GALLERY_EDC_IMAGE_POPUP_DORPDOWN_BG
+ "00_pÝup_drÝdown_bg.²g"
+
+       )
+
+95 \ 1
+       #GALLERY_EDC_IMAGE_MORE_POPUP_PRESS
+ "00_mÜe_pÝup_´ess.²g"
+
+       )
+
+96 \ 1
+       #GALLERY_EDC_IMAGE_POPUP_OVERSCROLLING_TOP
+ "00_pÝup_ov\94süÞl\9ag_tÝ.²g"
+
+       )
+
+97 \ 1
+       #GALLERY_EDC_IMAGE_POPUP_OVERSCROLLING_BOTTOM
+ "00_pÝup_ov\94süÞl\9ag_bÙtom.²g"
+
+       )
+
+98 \ 1
+       #GALLERY_EDC_IMAGE_POPUP_OVERSCROLLING_RIGHT
+ "00_pÝup_ov\94süÞl\9ag_right.²g"
+
+       )
+
+99 \ 1
+       #GALLERY_EDC_IMAGE_POPUP_OVERSCROLLING_LEFT
+ "00_pÝup_ov\94süÞl\9ag_Ëá.²g"
+
+       )
+
+100 \ 1
+       #GALLERY_EDC_IMAGE_OS_TOP
+ "00_ov\94süÞl\9ag_tÝ.²g"
+
+       )
+
+103 \ 1
+       #GALLERY_EDC_IMAGE_TITLE_BG
+ "00_t\99Ë_bg.²g"
+
+       )
+
+104 \ 1
+       #GALLERY_EDC_IMAGE_POPUP_DROPDOWN_TITLE_BG
+ "00_pÝup_drÝdown_t\99Ë_bg.²g"
+
+       )
+
+105 \ 1
+       #GALLERY_EDC_IMAGE_POPUP_DROPDOWN_TITLE_BG_PRESS
+ "00_pÝup_drÝdown_t\99Ë_bg_´ess.²g"
+
+       )
+
+106 \ 1
+       #GALLERY_EDC_IMAGE_POPUP_DROPDOWN_TITLE_BG_FOCUS
+ "00_pÝup_drÝdown_t\99Ë_bg_focus.²g"
+
+       )
+
+107 \ 1
+       #GALLERY_EDC_IMAGE_BUTTON_ICON_ARROW_PRESS
+ "00_bu\89Ú_icÚ_¬row_´ess.²g"
+
+       )
+
+108 \ 1
+       #GALLERY_EDC_IMAGE_BUTTON_ICON_ARROW
+ "00_bu\89Ú_icÚ_¬row.²g"
+
+       )
+
+109 \ 1
+       #GALLERY_EDC_IMAGE_BACK_BUTTON
+ "T01_icÚ_back.²g"
+
+       )
+
+110 \ 1
+       #GALLERY_EDC_DELETE_SHOW_IMAGE_BG
+ "g®Ëry_icÚ_cÚ\8f\9a\94.²g"
+
+       )
+
+111 \ 1
+       #GALLERY_EDC_DELETE_SHOW_IMAGE
+ "g®Ëry_icÚ_fuÎ.²g"
+
+       )
+
+112 \ 1
+       #GALLERY_EDC_SD_CARD_ICON
+ "T01_®bum_icÚ_sd_ÿrd.²g"
+
+       )
+
+       @src/2dview/gl-albums-edit.c
+
+18 \ 2
+       ~<\94ºo.h
+>
+
+19 \ 2
+       ~"gl-®bums.h
+"
+
+20 \ 2
+       ~"gl-®bums-ed\99.h
+"
+
+21 \ 2
+       ~"gl-®bums-»Çme.h
+"
+
+22 \ 2
+       ~"gl-debug.h
+"
+
+23 \ 2
+       ~"gl-¡r\9ags.h
+"
+
+24 \ 2
+       ~"gl-ui-ut\9e.h
+"
+
+25 \ 2
+       ~"gl-ut\9e.h
+"
+
+26 \ 2
+       ~"gl-d©a.h
+"
+
+27 \ 2
+       ~"gl-icÚs.h
+"
+
+28 \ 2
+       ~"gl-cÚ\8cÞb¬.h
+"
+
+29 \ 2
+       ~"gl-ùxpÝup.h
+"
+
+30 \ 2
+       ~"gl-bu\89Ú.h
+"
+
+31 \ 2
+       ~"gl-nÙify.h
+"
+
+32 \ 2
+       ~"gl-pÝup.h
+"
+
+33 \ 2
+       ~"gl-t\9ee.h
+"
+
+34 \ 2
+       ~"gl-ext-exec.h
+"
+
+44 \18\12
+       $__gl_®bums_ed\99_upd©e_check_¡©e
+(\1e*
+d©a
+,
+
+45 
+gl_þu¡\94
+ *
+®bum_\99em
+,
+
+46 
+Evas_Objeù
+ *
+check_obj
+,
+
+47 
+boÞ
+b_ck_box
+)
+
+49 
+       `GL_CHECK_VAL
+(
+®bum_\99em
+, -1);
+
+50 
+       `GL_CHECK_VAL
+(
+®bum_\99em
+->
+þu¡\94
+, -1);
+
+51 
+       `GL_CHECK_VAL
+(
+®bum_\99em
+->
+þu¡\94
+->
+uuid
+, -1);
+
+52 
+       `GL_CHECK_VAL
+(
+check_obj
+, -1);
+
+53 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+54 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+55 
+       `gl_dbg
+("S\96eù checkbox[1]/®bum_cov\94[0]: %d.", 
+b_ck_box
+);
+
+58 
+®bum_\99em
+->
+checked
+ = !album_item->checked;
+
+59 
+       `gl_sdbg
+("®bum (%sècheck s\8f\8b: %d", 
+®bum_\99em
+->
+þu¡\94
+->
+di¥Ïy_Çme
+,
+
+60 
+®bum_\99em
+->
+checked
+);
+
+66 
+Evas_Objeù
+ *
+ck
+ = 
+NULL
+;
+
+67 ià(
+b_ck_box
+ =ð
+çl£
+)
+
+68 
+ck
+ = 
+       `\96m_objeù_\99em_·¹_cÚ\8bÁ_g\91
+(
+®bum_\99em
+->
+\99em
+,
+
+69 
+GL_TILE_CHECKBOX
+);
+
+71 
+ck
+ = 
+       `\96m_objeù_\99em_·¹_cÚ\8bÁ_g\91
+(
+®bum_\99em
+->
+\99em
+,
+
+72 
+GL_TILE_CHECKBOX_GRID
+);
+
+73 
+       `\96m_check_¡©e_£t
+(
+ck
+, 
+®bum_\99em
+->
+checked
+);
+
+75 ià(
+®bum_\99em
+->
+checked
+) {
+
+76 
+       `gl_sdbg
+("Aµ\92d:%s, id:%s", 
+®bum_\99em
+->
+þu¡\94
+->
+di¥Ïy_Çme
+,
+
+77 
+®bum_\99em
+->
+þu¡\94
+->
+uuid
+);
+
+78 
+       `_gl_d©a_®bums_£Ëùed_li¡_­³nd
+(
+ad
+, 
+®bum_\99em
+);
+
+80 
+       `gl_sdbg
+("Remove:%s, id:%s", 
+®bum_\99em
+->
+þu¡\94
+->
+di¥Ïy_Çme
+,
+
+81 
+®bum_\99em
+->
+þu¡\94
+->
+uuid
+);
+
+82 
+       `_gl_d©a_®bums_£Ëùed_li¡_»move
+(
+ad
+, 
+®bum_\99em
+);
+
+86 \12
+út
+ = 
+       `_gl_d©a_g\91_®bums_£Ëùed_út
+(
+ad
+);
+
+87 
+       `_gl_nÙify_check_£ÏÎ
+(
+ad
+,\87d->
+ù¾\9afo
+.
+nf_\99
+,
+
+88 
+ad
+->
+®bum\9afo
+.
+\96
+->
+ed\99_út
+, 
+út
+);
+
+90 
+       `_gl_ui_upd©e_Çvi_t\99Ë_\8bxt
+(
+ad
+->
+ù¾\9afo
+.
+nf_\99
+, 
+út
+, 
+çl£
+);
+
+92 
+       }
+}
+
+94 \18\1e
+       $__gl_®bums_ed\99_check_chªged
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+,
+
+95 \1e*
+ei
+)
+
+97 
+       `GL_CHECK
+(
+obj
+);
+
+98 
+       `GL_CHECK
+(
+d©a
+);
+
+99 
+gl_þu¡\94
+ *
+®bum_\99em
+ = (gl_þu¡\94 *)
+d©a
+;
+
+100 
+       `GL_CHECK
+(
+®bum_\99em
+->
+ad
+);
+
+101 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+®bum_\99em
+->ad;
+
+102 
+       `gl_dbg
+("");
+
+104 ià(
+       `gl_g\91_v\9bw_mode
+(
+ad
+è!ð
+GL_VIEW_ALBUMS_EDIT
+) {
+
+105 
+       `gl_dbgE
+("Wrong view mode!");
+
+112 
+       `__gl_®bums_ed\99_upd©e_check_¡©e
+(
+ad
+, 
+®bum_\99em
+, 
+obj
+, 
+\8cue
+);
+
+113 
+       }
+}
+
+115 \18\1e
+       $__gl_®bums_ed\99_check_grid_chªged
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+,
+
+116 \1e*
+ei
+)
+
+118 
+       `GL_CHECK
+(
+obj
+);
+
+119 
+       `GL_CHECK
+(
+d©a
+);
+
+120 
+gl_þu¡\94
+ *
+®bum_\99em
+ = (gl_þu¡\94 *)
+d©a
+;
+
+121 
+       `GL_CHECK
+(
+®bum_\99em
+->
+ad
+);
+
+122 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+®bum_\99em
+->ad;
+
+123 
+       `gl_dbg
+("");
+
+125 ià(
+       `gl_g\91_v\9bw_mode
+(
+ad
+è!ð
+GL_VIEW_ALBUMS_EDIT
+) {
+
+126 
+       `gl_dbgE
+("Wrong view mode!");
+
+133 
+       `__gl_®bums_ed\99_upd©e_check_¡©e
+(
+ad
+, 
+®bum_\99em
+, 
+obj
+, 
+çl£
+);
+
+134 
+       }
+}
+
+136 \18\1e
+       $__gl_®bums_ed\99_»Çme
+(
+gl_þu¡\94
+ *
+®bum
+)
+
+138 
+       `GL_CHECK
+(
+®bum
+);
+
+139 
+       `GL_CHECK
+(
+®bum
+->
+ad
+);
+
+140 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+®bum
+->ad;
+
+142 ià(
+       `_gl_®bums_»Çme_ü\97\8b_v\9bw
+(
+®bum
+->
+ad
+,\87lbum) == 0)
+
+143 
+ad
+->
+®bum\9afo
+.
+£Ëùed
+ = 
+®bum
+;
+
+144 
+       }
+}
+
+146 \18\1e
+       $__gl_®bums_ed\99_»Çme_b\8a_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+,
+
+147 \1e*
+ev\92t_\9afo
+)
+
+149 
+       `gl_dbg
+("");
+
+150 
+       `GL_CHECK
+(
+d©a
+);
+
+151 
+gl_þu¡\94
+ *
+®bum_\99em
+ = (gl_þu¡\94 *)
+d©a
+;
+
+152 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+®bum_\99em
+->ad;
+
+153 
+       `_gl_ùxpÝup_d\96
+(
+ad
+);
+
+155 
+       `_gl_ui_§ve_süÞËr_pos
+(
+ad
+->
+®bum\9afo
+.
+v\9bw
+);
+
+156 
+       `__gl_®bums_ed\99_»Çme
+(
+®bum_\99em
+);
+
+157 
+       }
+}
+
+159 \18\1e
+       $__gl_®bums_ed\99_d\96_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+,
+
+160 \1e*
+ei
+)
+
+162 
+       `\96m_toÞb¬_\99em_£Ëùed_£t
+((
+Elm_Objeù_I\8bm
+ *)
+ei
+, 
+EINA_FALSE
+);
+
+163 
+       `GL_CHECK
+(
+d©a
+);
+
+164 
+       `gl_dbg
+("");
+
+166 ià((
+       `gl_g\91_v\9bw_mode
+(
+d©a
+è=ð
+GL_VIEW_ALBUMS_EDIT
+)) {
+
+167 ià(
+       `_gl_d©a_g\91_®bums_£Ëùed_út
+(
+d©a
+) == 0) {
+
+168 
+       `gl_dbgW
+("No\87lbums selected!");
+
+169 
+       `gl_pÝup_ü\97\8b_pÝup
+(
+d©a
+, 
+GL_POPUP_NOBUT
+,
+
+170 
+GL_STR_NO_ALBUMS_SELECTED
+);
+
+173 
+       `_gl_pÝup_ü\97\8b_d\96
+(
+d©a
+, 
+GL_POPUP_DEL_ALBUM
+,
+
+174 
+_gl_d©a_g\91_®bums_£Ëùed_út
+,
+
+175 
+_gl_d\96_®bums
+, 
+d©a
+);
+
+177 
+       `gl_dbgE
+("Unknow mode!");
+
+179 
+       }
+}
+
+181 \18\1e
+       $__gl_®bums_ed\99_ÿnûl_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+183 
+       `\96m_toÞb¬_\99em_£Ëùed_£t
+((
+Elm_Objeù_I\8bm
+ *)
+ei
+, 
+EINA_FALSE
+);
+
+184 
+       `GL_CHECK
+(
+d©a
+);
+
+185 
+       `gl_dbg
+("");
+
+186 
+       `_gl_®bums_chªge_mode
+(
+d©a
+, 
+çl£
+);
+
+187 
+       }
+}
+
+189 #ifdeà
+GL_EXTENDED_FEATURES
+
+
+190 \18\12
+       $__gl_®bums_ed\99_g\91_út
+(\1e*
+d©a
+, 
+gl_med\9f_s
+ *
+\99em
+)
+
+192 
+       `GL_CHECK_VAL
+(
+\99em
+, -1);
+
+193 
+       `GL_CHECK_VAL
+(
+\99em
+->
+f\9ee_u¾
+, -1);
+
+194 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+196 \12*
+couÁ
+ = (\12*)
+d©a
+;
+
+197 *
+couÁ
+ += 1;
+
+199 
+       }
+}
+
+201 \18\12
+       $__gl_®bums_ed\99_g\91_·th_cb
+(\1e*
+d©a
+, \ 5**
+f\9ees
+)
+
+203 
+       `GL_CHECK_VAL
+(
+d©a
+, 0);
+
+204 
+       `GL_CHECK_VAL
+(
+f\9ees
+, 0);
+
+205 \15 
+       `_gl_g\91_®bum_images_·th
+(
+d©a
+, 
+f\9ees
+, 
+çl£
+);
+
+206 
+       }
+}
+
+208 \1e
+       $_gl_®bums_ed\99_sh¬e
+(\1e*
+d©a
+)
+
+210 
+       `GL_CHECK
+(
+d©a
+);
+
+211 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+212 
+       `gl_dbg
+("");
+
+214 ià(
+ad
+->
+ug\9afo
+.
+ug
+ ||\87d->ug\9afo.
+b_­p_ÿÎed
+) {
+
+215 
+       `gl_dbgW
+("UG or APP is\87lready\86oaded!");
+
+219 \12
+út
+ = 0;
+
+221 
+út
+ = 
+       `_gl_d©a_g\91_®bums_£Ëùed_út
+(
+ad
+);
+
+222 ià(
+út
+ == 0) {
+
+223 
+       `gl_dbgW
+("No\87lbums selected!");
+
+224 
+       `gl_pÝup_ü\97\8b_pÝup
+(
+ad
+, 
+GL_POPUP_NOBUT
+,
+
+225 
+GL_STR_NO_ALBUMS_SELECTED
+);
+
+229 ià(
+       `_gl_d©a_is_®bums_£Ëùed_em±y
+(
+ad
+)) {
+
+230 
+       `gl_dbgW
+("No\81humbs selected!");
+
+231 
+       `gl_pÝup_ü\97\8b_pÝup
+(
+ad
+, 
+GL_POPUP_NOBUT
+,
+
+232 
+GL_STR_NO_FILES_SELECTED
+);
+
+236 \12
+med\9f_út
+ = 0;
+
+237 
+       `_gl_d©a_g\91_®bums_£Ëùed_f\9ees
+(
+d©a
+, 
+__gl_®bums_ed\99_g\91_út
+,
+
+238 (\1e*)(&
+med\9f_út
+));
+
+239 
+       `gl_dbg
+("med\9f_út: %d", 
+med\9f_út
+);
+
+241 ià(
+med\9f_út
+ == 0) {
+
+242 
+       `gl_dbgW
+("No\81humbs selected!");
+
+243 
+       `gl_pÝup_ü\97\8b_pÝup
+(
+ad
+, 
+GL_POPUP_NOBUT
+,
+
+244 
+GL_STR_NO_FILES_SELECTED
+);
+
+247 
+       `_gl_ext_Ïunch_sh¬e
+(
+d©a
+, 
+med\9f_út
+,
+
+248 
+__gl_®bums_ed\99_g\91_·th_cb
+);
+
+249 
+       }
+}
+
+251 \18\1e
+       $__gl_®bums_ed\99_sh¬e_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+,
+
+252 \1e*
+ei
+)
+
+254 
+       `\96m_toÞb¬_\99em_£Ëùed_£t
+((
+Elm_Objeù_I\8bm
+ *)
+ei
+, 
+EINA_FALSE
+);
+
+255 
+       `GL_CHECK
+(
+d©a
+);
+
+256 
+       `_gl_®bums_ed\99_sh¬e
+(
+d©a
+);
+
+258 
+       `_gl_®bums_chªge_mode
+(
+d©a
+, 
+çl£
+);
+
+259 
+       }
+}
+
+263 \18\1e
+       $__gl_®bums_ed\99_£ÏÎ_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+265 
+       `GL_CHECK
+(
+d©a
+);
+
+266 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+267 \12
+\99em_út
+ = 0;
+
+268 \12
+£l_®l_út
+ = 0;
+
+270 
+ad
+->
+£l\9afo
+.
+ck_¡©e
+ = !ad->selinfo.ck_state;
+
+271 ià(
+ad
+->
+£l\9afo
+.
+£Ëù®l_ck
+) {
+
+272 
+       `\96m_check_¡©e_£t
+(
+ad
+->
+£l\9afo
+.
+£Ëù®l_ck
+,\87d->£l\9afo.
+ck_¡©e
+);
+
+274 \12
+¡©e
+ = 
+ad
+->
+£l\9afo
+.
+ck_¡©e
+;
+
+275 
+       `gl_dbg
+("Checkbox s\8f\8b: %d", 
+¡©e
+);
+
+277 
+gl_þu¡\94
+ *
+®bum
+ = 
+NULL
+;
+
+278 
+Elm_Objeù_I\8bm
+ *
+f\9c¡_\99
+ = 
+NULL
+;
+
+279 
+Elm_Objeù_I\8bm
+ *
+Ãxt_\99
+ = 
+NULL
+;
+
+280 
+Elm_Objeù_I\8bm
+ *
+ϡ_\99
+ = 
+NULL
+;
+
+281 
+f\9c¡_\99
+ = 
+       `\96m_g\92grid_f\9c¡_\99em_g\91
+(
+ad
+->
+®bum\9afo
+.
+v\9bw
+);
+
+282 
+ϡ_\99
+ = 
+       `\96m_g\92grid_Ï¡_\99em_g\91
+(
+ad
+->
+®bum\9afo
+.
+v\9bw
+);
+
+283 \1f
+f\9c¡_\99
+) {
+
+284 
+®bum
+ = 
+NULL
+;
+
+285 
+Ãxt_\99
+ = 
+       `\96m_g\92grid_\99em_Ãxt_g\91
+(
+f\9c¡_\99
+);
+
+287 
+®bum
+ = (
+gl_þu¡\94
+ *)
+       `\96m_objeù_\99em_d©a_g\91
+(
+f\9c¡_\99
+);
+
+288 ià(
+®bum
+ =ð
+NULL
+ ||\87lbum->
+þu¡\94
+ == NULL) {
+
+289 
+       `gl_dbgE
+("Invalid item data!");
+
+291 
+f\9c¡_\99
+ = 
+Ãxt_\99
+;
+
+295 ià(
+®bum
+->
+þu¡\94
+->
+ty³
+ >ð
+GL_STORE_T_ALL
+) {
+
+296 
+       `gl_dbgW
+("Uneditable\87lbum!");
+
+298 
+f\9c¡_\99
+ = 
+Ãxt_\99
+;
+
+302 
+\99em_út
+++;
+
+304 ià(
+®bum
+->
+checked
+ =ð
+¡©e
+) {
+
+306 
+f\9c¡_\99
+ = 
+Ãxt_\99
+;
+
+311 
+®bum
+->
+checked
+ = 
+¡©e
+;
+
+313 ià(
+¡©e
+ =ð
+EINA_TRUE
+)
+
+314 
+       `_gl_d©a_®bums_£Ëùed_li¡_­³nd
+(
+ad
+, 
+®bum
+);
+
+316 
+       `_gl_d©a_®bums_£Ëùed_li¡_»move
+(
+ad
+, 
+®bum
+);
+
+318 ià(
+ϡ_\99
+ =ð
+f\9c¡_\99
+) {
+
+319 
+       `gl_dbg
+("Update done!");
+
+322 
+f\9c¡_\99
+ = 
+Ãxt_\99
+;
+
+326 
+       `_gl_ui_upd©e_»®ized_grid_ck
+(
+ad
+->
+®bum\9afo
+.
+v\9bw
+,
+
+327 
+GL_TILE_CHECKBOX_GRID
+, 
+GL_TILE_CHECKBOX
+,
+
+328 
+¡©e
+);
+
+331 ià(
+¡©e
+ =ð
+EINA_FALSE
+)
+
+332 
+£l_®l_út
+ = 0;
+
+334 
+£l_®l_út
+ = 
+\99em_út
+;
+
+336 
+       `_gl_nÙify_check_£ÏÎ
+(
+ad
+,\87d->
+ù¾\9afo
+.
+nf_\99
+, 
+\99em_út
+, 
+£l_®l_út
+);
+
+338 
+       `_gl_ui_upd©e_Çvi_t\99Ë_\8bxt
+(
+ad
+->
+ù¾\9afo
+.
+nf_\99
+, 
+£l_®l_út
+, 
+çl£
+);
+
+339 
+       }
+}
+
+341 \18\12
+       $__gl_®bums_ed\99_ùxpÝup_­³nd
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+·»Á
+)
+
+343 
+       `gl_dbg
+("");
+
+344 
+       `GL_CHECK_VAL
+(
+·»Á
+, -1);
+
+345 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+346 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+347 
+       `GL_CHECK_VAL
+(
+ad
+->
+®bum\9afo
+.
+£l_\96
+, -1);
+
+348 
+gl_þu¡\94
+ *
+®bum_\99em
+ = 
+NULL
+;
+
+349 
+®bum_\99em
+ = (
+gl_þu¡\94
+ *)
+       `e\9aa_li¡_Áh
+(
+ad
+->
+®bum\9afo
+.
+£l_\96
+, 0);
+
+350 
+       `GL_CHECK_VAL
+(
+®bum_\99em
+, -1);
+
+353 
+       `_gl_ùxpÝup_­³nd
+(
+·»Á
+, 
+GL_STR_ID_RENAME
+,
+
+354 
+__gl_®bums_ed\99_»Çme_b\8a_cb
+, 
+®bum_\99em
+);
+
+356 
+       }
+}
+
+358 \18\1e
+       $__gl_®bums_ed\99_mÜe_b\8a_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+360 
+       `gl_dbgE
+("more button clicked");
+
+361 
+       `GL_CHECK
+(
+d©a
+);
+
+362 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+364 ià(
+GL_GRID_EDIT
+ !ð
+ad
+->
+®bum\9afo
+.
+b_sh¬e_mode
+)
+
+366 
+       `GL_CHECK
+(
+ad
+->
+®bum\9afo
+.
+£l_\96
+);
+
+367 
+gl_þu¡\94
+ *
+®bum_\99em
+ = 
+NULL
+;
+
+368 
+®bum_\99em
+ = (
+gl_þu¡\94
+ *)
+       `e\9aa_li¡_Áh
+(
+ad
+->
+®bum\9afo
+.
+£l_\96
+, 0);
+
+369 
+       `GL_CHECK
+(
+®bum_\99em
+);
+
+370 ià(1 !ð
+       `_gl_d©a_g\91_®bums_£Ëùed_út
+(
+ad
+) ||
+
+371 
+®bum_\99em
+->
+þu¡\94
+->
+ty³
+ > 
+GL_STORE_T_MMC
+ ||
+
+372 
+       `_gl_d©a_is_ÿm\94a_®bum
+(
+®bum_\99em
+->
+þu¡\94
+))
+
+374 
+       `_gl_ùxpÝup_ü\97\8b
+(
+d©a
+, 
+obj
+, 
+__gl_®bums_ed\99_ùxpÝup_­³nd
+);
+
+375 
+       }
+}
+
+377 
+Evas_Objeù
+ *
+       $_gl_®bums_ed\99_add_cÚ\8bÁ
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+,
+
+378 cڡ \ 5*
+·¹
+)
+
+380 
+       `GL_CHECK_NULL
+(
+·¹
+);
+
+381 
+       `GL_CHECK_NULL
+(
+d©a
+);
+
+382 
+gl_þu¡\94
+ *
+®bum
+ = (gl_þu¡\94 *)
+d©a
+;
+
+383 
+       `GL_CHECK_NULL
+(
+®bum
+->
+þu¡\94
+);
+
+384 
+Evas_Objeù
+ *
+_obj
+ = 
+NULL
+;
+
+386 ià(!
+       `g_¡rcmp0
+(
+·¹
+, 
+GL_TILE_CHECKBOX_GRID
+)) {
+
+387 ià(
+®bum
+->
+þu¡\94
+->
+ty³
+ >ð
+GL_STORE_T_ALL
+)
+
+388 \15 
+NULL
+;
+
+390 
+_obj
+ = 
+       `_gl_t\9ee_show_·¹_checkbox_grid
+(
+obj
+, 
+®bum
+->
+checked
+,
+
+391 
+__gl_®bums_ed\99_check_grid_chªged
+,
+
+392 
+d©a
+);
+
+393 } \vià(!
+       `g_¡rcmp0
+(
+·¹
+, 
+GL_TILE_CHECKBOX
+)) {
+
+394 ià(
+®bum
+->
+þu¡\94
+->
+ty³
+ >ð
+GL_STORE_T_ALL
+)
+
+395 \15 
+NULL
+;
+
+397 
+_obj
+ = 
+       `_gl_t\9ee_show_·¹_checkbox
+(
+obj
+, 
+®bum
+->
+checked
+,
+
+398 
+__gl_®bums_ed\99_check_chªged
+,
+
+399 
+d©a
+);
+
+400 } \vià(!
+       `g_¡rcmp0
+(
+·¹
+, 
+GL_TILE_DIM
+) &&
+
+401 
+®bum
+->
+þu¡\94
+->
+ty³
+ >ð
+GL_STORE_T_ALL
+) {
+
+402 
+_obj
+ = 
+       `_gl_t\9ee_show_·¹_dim
+(
+obj
+);
+
+405 \15 
+_obj
+;
+
+406 
+       }
+}
+
+412 \12
+       $_gl_®bums_ed\99_add_b\8as
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+·»Á
+)
+
+414 
+       `gl_dbg
+("GL_NAVI_ALBUMS_EDIT");
+
+415 
+       `GL_CHECK_VAL
+(
+·»Á
+, -1);
+
+416 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+417 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+418 
+Elm_Objeù_I\8bm
+ *
+nf_\99
+ = 
+       `\96m_Çviäame_tÝ_\99em_g\91
+(
+·»Á
+);
+
+419 
+       `GL_CHECK_VAL
+(
+nf_\99
+, -1);
+
+421 
+       `_gl_ui_þ\97r_b\8as
+(
+d©a
+);
+
+423 
+Evas_Objeù
+ *
+b\8a
+ = 
+NULL
+;
+
+425 
+b\8a
+ = 
+       `_gl_but_ü\97\8b_but
+(
+·»Á
+, 
+NULL
+, NULL, 
+GL_BUTTON_STYLE_NAVI_MORE
+,
+
+426 
+__gl_®bums_ed\99_mÜe_b\8a_cb
+, 
+d©a
+);
+
+427 
+       `GL_CHECK_VAL
+(
+b\8a
+, -1);
+
+428 
+       `\96m_objeù_\99em_·¹_cÚ\8bÁ_£t
+(
+nf_\99
+, 
+GL_NAVIFRAME_MORE
+, 
+b\8a
+);
+
+429 
+       `_gl_ui_di§bË_m\92u
+(
+nf_\99
+, 
+\8cue
+);
+
+431 
+Evas_Objeù
+ *
+b\8a1
+ = 
+       `\96m_bu\89Ú_add
+(
+·»Á
+);
+
+432 
+Evas_Objeù
+ *
+b\8a2
+ = 
+       `\96m_bu\89Ú_add
+(
+·»Á
+);
+
+433 
+       `GL_CHECK_VAL
+(
+b\8a1
+, -1);
+
+434 
+       `GL_CHECK_VAL
+(
+b\8a2
+, -1);
+
+436 
+       `\96m_objeù_¡yË_£t
+(
+b\8a1
+, "naviframe/title_left");
+
+437 
+       `\96m_objeù_\99em_·¹_cÚ\8bÁ_£t
+(
+ad
+->
+ù¾\9afo
+.
+nf_\99
+, 
+GL_NAVIFRAME_TITLE_LEFT_BTN
+, 
+b\8a1
+);
+
+438 
+       `_gl_ui_£t_\8cª¦©e_¡r
+(
+b\8a1
+,
+GL_STR_ID_CANCEL_CAP
+);
+
+439 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+b\8a1
+, "þicked", 
+__gl_®bums_ed\99_ÿnûl_cb
+, 
+ad
+);
+
+442 
+       `\96m_objeù_¡yË_£t
+(
+b\8a2
+, "naviframe/title_right");
+
+443 
+       `\96m_objeù_\99em_·¹_cÚ\8bÁ_£t
+(
+ad
+->
+ù¾\9afo
+.
+nf_\99
+, 
+GL_NAVIFRAME_TITLE_RIGHT_BTN
+, 
+b\8a2
+);
+
+444 
+       `_gl_ui_£t_\8cª¦©e_¡r
+(
+b\8a2
+,
+GL_STR_ID_DONE_CAP
+);
+
+445 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+b\8a2
+, "þicked", 
+__gl_®bums_ed\99_d\96_cb
+, 
+ad
+);
+
+446 
+       `\96m_objeù_di§bËd_£t
+(
+b\8a2
+, 
+EINA_TRUE
+);
+
+449 
+ad
+->
+£l\9afo
+.
+ck_¡©e
+ = 
+çl£
+;
+
+450 
+       `_gl_ui_add_£ÏÎ_ck
+(
+ad
+->
+ù¾\9afo
+.
+ù¾b¬_v\9bw_ly
+, "select.all.area.check", "select.all.area.check",
+
+451 
+__gl_®bums_ed\99_£ÏÎ_cb
+, 
+d©a
+);
+
+453 
+       }
+}
+
+455 \12
+       $_gl_®bums_ed\99_upd©e_v\9bw
+(\1e*
+d©a
+)
+
+457 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+458 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+459 
+       `gl_dbg
+("");
+
+461 ià(
+       `gl_check_g®Ëry_em±y
+(
+d©a
+) ||
+
+462 
+ad
+->
+®bum\9afo
+.
+\96
+->
+ed\99_út
+ == 0) {
+
+464 
+       `gl_d\96_\9av®id_widg\91s
+(
+d©a
+, 
+GL_INVALID_NONE
+);
+
+465 
+       `gl_dbgW
+("None\83ditable\87lbums, show\87lbums view!");
+
+466 
+       `_gl_®bums_ed\99_pÝ_v\9bw
+(
+d©a
+);
+
+470 \12
+£l_út
+ = 
+       `_gl_d©a_g\91_®bums_£Ëùed_út
+(
+d©a
+);
+
+471 \12
+\9av®id_m
+ = 
+GL_INVALID_NONE
+;
+
+473 ià(
+£l_út
+ == 0) {
+
+475 
+       `gl_dbgW
+("None\87lbums selected!");
+
+477 
+       `_gl_®bums_ed\99_di§bË_b\8as
+(
+d©a
+, 
+\8cue
+);
+
+479 
+       `gl_d\96_\9av®id_widg\91s
+(
+d©a
+, 
+\9av®id_m
+);
+
+483 
+       `_gl_®bums_ü\97\8b_\99ems
+(
+d©a
+, 
+ad
+->
+®bum\9afo
+.
+v\9bw
+);
+
+485 
+       `_gl_nÙify_check_£ÏÎ
+(
+d©a
+, 
+ad
+->
+ù¾\9afo
+.
+nf_\99
+,
+
+486 
+ad
+->
+®bum\9afo
+.
+\96
+->
+ed\99_út
+, 
+£l_út
+);
+
+488 
+       `_gl_ui_upd©e_Çvi_t\99Ë_\8bxt
+(
+ad
+->
+ù¾\9afo
+.
+nf_\99
+, 
+£l_út
+, 
+çl£
+);
+
+490 
+       }
+}
+
+492 \12
+       $_gl_®bums_ed\99_pÝ_v\9bw
+(\1e*
+d©a
+)
+
+494 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+495 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+498 
+       `\96m_Çviäame_\99em_pÝ_to
+(
+ad
+->
+ù¾\9afo
+.
+nf_\99
+);
+
+499 
+ad
+->
+®bum\9afo
+.
+£Ëùed
+ = 
+NULL
+;
+
+500 
+ad
+->
+®bum\9afo
+.
+b_sh¬e_mode
+ = 
+GL_GRID_EDIT
+;
+
+501 
+       `_gl_d©a_f\9a®ize_®bums_£Ëùed_li¡
+(
+d©a
+);
+
+503 
+       `gl_®bums_chªge_to_v\9bw
+(
+d©a
+);
+
+504 
+       `_gl_®bums_check_b\8as
+(
+d©a
+);
+
+506 
+       }
+}
+
+508 \12
+       $_gl_®bums_ed\99_upd©e_Ïng
+(\1e*
+d©a
+)
+
+510 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+511 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+512 
+       `GL_CHECK_VAL
+(
+ad
+->
+ù¾\9afo
+.
+nf_\99
+, -1);
+
+515 \12
+út
+ = 
+       `_gl_d©a_g\91_®bums_£Ëùed_út
+(
+ad
+);
+
+517 
+       `_gl_ui_upd©e_Çvi_t\99Ë_\8bxt
+(
+ad
+->
+ù¾\9afo
+.
+nf_\99
+, 
+út
+, 
+\8cue
+);
+
+519 
+       }
+}
+
+523 \12
+       $_gl_®bums_ed\99_di§bË_b\8as
+(\1e*
+d©a
+, 
+boÞ
+b_di§bË
+)
+
+525 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+526 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+527 
+       `gl_dbg
+("b_di§bË: %d", 
+b_di§bË
+);
+
+529 ià(!
+b_di§bË
+) {
+
+531 
+       `_gl_ù¾_di§bË_\99ems
+(
+ad
+->
+ù¾\9afo
+.
+nf_\99
+, 
+çl£
+);
+
+533 
+       `_gl_ù¾_di§bË_\99ems
+(
+ad
+->
+ù¾\9afo
+.
+nf_\99
+, 
+\8cue
+);
+
+536 
+       }
+}
+
+       @src/2dview/gl-albums-edit.h
+
+18 #iâdeà
+_GL_ALBUMS_EDIT_H_
+
+
+19 \ 1
+       #_GL_ALBUMS_EDIT_H_
+
+
+       )
+
+21 \ 2
+       ~<EËm\92\8fry.h
+>
+
+22 \ 2
+       ~"g®Ëry.h
+"
+
+24 
+Evas_Objeù
+ *
+_gl_®bums_ed\99_add_cÚ\8bÁ
+(\1e*
+d©a
+, Evas_Objeù *
+obj
+,
+
+25 cڡ \ 5*
+·¹
+);
+
+26 \12
+_gl_®bums_ed\99_add_b\8as
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+·»Á
+);
+
+27 \12
+_gl_®bums_ed\99_upd©e_v\9bw
+(\1e*
+d©a
+);
+
+28 \12
+_gl_®bums_ed\99_pÝ_v\9bw
+(\1e*
+d©a
+);
+
+29 \12
+_gl_®bums_ed\99_upd©e_Ïng
+(\1e*
+d©a
+);
+
+30 \12
+_gl_®bums_ed\99_di§bË_b\8as
+(\1e*
+d©a
+, 
+boÞ
+b_di§bË
+);
+
+31 #ifdeà
+GL_EXTENDED_FEATURES
+
+
+32 \1e
+_gl_®bums_ed\99_sh¬e
+(\1e*
+d©a
+);
+
+       @src/2dview/gl-albums-new.c
+
+18 \ 2
+       ~"gl-debug.h
+"
+
+19 \ 2
+       ~"gl-fs.h
+"
+
+20 \ 2
+       ~"gl-®bums-Ãw.h
+"
+
+21 \ 2
+       ~"gl-\92\8cy.h
+"
+
+22 \ 2
+       ~"gl-thumbs.h
+"
+
+23 \ 2
+       ~"gl-ui-ut\9e.h
+"
+
+24 \ 2
+       ~"gl-ut\9e.h
+"
+
+25 \ 2
+       ~"gl-d©a.h
+"
+
+26 \ 2
+       ~"gl-cÚ\8cÞb¬.h
+"
+
+27 \ 2
+       ~"gl-ed\99f\9bld.h
+"
+
+28 \ 2
+       ~"gl-pÝup.h
+"
+
+29 \ 2
+       ~"gl-¡r\9ags.h
+"
+
+30 \ 2
+       ~"gl-fs.h
+"
+
+31 \ 2
+       ~"gl-nÙify.h
+"
+
+32 \ 2
+       ~"gl-f\9ee-ut\9e.h
+"
+
+34 \18\12
+       $__gl_®bums_Ãw_pÝ_v\9bw
+(\1e*
+d©a
+)
+
+36 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+37 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+38 
+       `gl_dbg
+("");
+
+40 \12
+v\9bw_mode
+ = 
+       `gl_g\91_v\9bw_mode
+(
+ad
+);
+
+41 ià(
+ad
+->
+®bum\9afo
+.
+b_Ãw_®bum
+) {
+
+42 
+ad
+->
+®bum\9afo
+.
+b_Ãw_®bum
+ = 
+çl£
+;
+
+43 } \vià(
+v\9bw_mode
+ =ð
+GL_VIEW_THUMBS_EDIT
+) {
+
+44 
+       `_gl_nÙify_check_£ÏÎ
+(
+ad
+,\87d->
+grid\9afo
+.
+nf_\99
+,
+
+45 
+ad
+->
+grid\9afo
+.
+couÁ
+,
+
+46 
+       `_gl_d©a_£Ëùed_li¡_couÁ
+(
+ad
+));
+
+48 
+       `_gl_thumbs_upd©e_Ïb\96_\8bxt
+(
+ad
+->
+grid\9afo
+.
+nf_\99
+,
+
+49 
+       `_gl_d©a_£Ëùed_li¡_couÁ
+(
+ad
+),
+
+50 
+çl£
+);
+
+54 
+       }
+}
+
+57 \18
+E\9aa_BoÞ
+       $__gl_®bums_Ãw_pÝ_cb
+(\1e*
+d©a
+, 
+Elm_Objeù_I\8bm
+ *
+\99
+)
+
+69 
+       `gl_dbg
+("");
+
+70 
+       `__gl_®bums_Ãw_pÝ_v\9bw
+(
+d©a
+);
+
+71 \15 
+EINA_TRUE
+;
+
+72 
+       }
+}
+
+74 \12
+       $_gl_®bums_Ãw_ü\97\8b_v\9bw
+(\1e*
+d©a
+, \1e*
+Ý_func
+)
+
+76 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+77 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+78 
+       `gl_dbg
+("");
+
+80 
+ad
+->
+\92\8cy\9afo
+.
+mode
+ = 
+GL_ENTRY_NEW_ALBUM
+;
+
+81 
+ad
+->
+\92\8cy\9afo
+.
+Ý_cb
+ = 
+Ý_func
+;
+
+83 ià(
+       `_gl_\92\8cy_ü\97\8b_v\9bw
+(
+d©a
+, 
+NULL
+, 
+GL_STR_ID_NEW_ALBUM
+) < 0) {
+
+84 
+ad
+->
+\92\8cy\9afo
+.
+mode
+ = 
+GL_ENTRY_NONE
+;
+
+85 
+ad
+->
+\92\8cy\9afo
+.
+Ý_cb
+ = 
+NULL
+;
+
+89 
+Evas_Objeù
+ *
+\92\8cy
+ = 
+       `_gl_ed\99f\9bld_g\91_\92\8cy
+(
+d©a
+);
+
+90 
+       `GL_CHECK_VAL
+(
+\92\8cy
+, -1);
+
+91 
+       `evas_objeù_d©a_£t
+(
+\92\8cy
+, "gl_entry_process_cb_key",
+
+92 
+_gl_®bums_Ãw_´oûss
+);
+
+93 
+       `evas_objeù_d©a_£t
+(
+\92\8cy
+, "gl_entry_pop_cb_key",
+
+94 
+__gl_®bums_Ãw_pÝ_cb
+);
+
+96 
+       }
+}
+
+102 \12
+       $_gl_®bums_Ãw_´oûss
+(\1e*
+d©a
+, 
+boÞ
+b_\92\8br
+)
+
+104 
+       `gl_dbg
+("b_\92\8br: %d", 
+b_\92\8br
+);
+
+105 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+106 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+108 ià(
+ad
+->
+\92\8cy\9afo
+.
+ed\99f\9bld
+ =ð
+NULL
+) {
+
+109 
+       `gl_dbgE
+("Edit filed is NULL");
+
+110 \10
+NEW_ALBUM_FAILED
+;
+
+113 
+Evas_Objeù
+ *
+\92\8cy
+ = 
+ad
+->
+\92\8cy\9afo
+.entry;
+
+114 \ 5
+Çme
+[
+GL_ALBUM_NAME_LEN_MAX
+] = { 0, };
+
+117 ià(
+       `gl_g\91_\92\8cy_\8bxt
+(
+\92\8cy
+, 
+Çme
+, 
+GL_ALBUM_NAME_LEN_MAX
+) != 0) {
+
+118 
+       `gl_dbgE
+("Get\83ntry\81ext failed!");
+
+119 \10
+NEW_ALBUM_FAILED
+;
+
+123 ià(
+       `_gl_v®id©e_®bum_Çme
+(
+d©a
+, 
+Çme
+) != 0) {
+
+124 ià(
+b_\92\8br
+)
+
+125 
+       `_gl_ed\99f\9bld_hide_imf
+(
+ad
+);
+
+128 
+       `gl_sdbg
+("V®id\87lbum\82ame: %s", 
+Çme
+);
+
+131 \ 5
+Ãw_·th
+[
+GL_DIR_PATH_LEN_MAX
+] = { 0, };
+
+134 
+       `¢´\9atf
+(
+Ãw_·th
+, 
+GL_DIR_PATH_LEN_MAX
+, "%s/%s", 
+GL_DEFAULT_PATH_IMAGES
+,
+
+135 
+Çme
+);
+
+136 
+       `gl_sdbg
+("New d\9c\82ew_·th: %s", 
+Ãw_·th
+);
+
+137 #ifdeà
+_RENAME_ALBUM_SENSITIVE
+
+
+138 ià(
+       `_gl_fs_check_Çme_ÿ£
+(
+Ãw_·th
+, 
+Çme
+))
+
+141 
+       `mem£t
+(
+Ãw_·th
+, 0x00, 
+GL_DIR_PATH_LEN_MAX
+);
+
+142 
+       `¢´\9atf
+(
+Ãw_·th
+, 
+GL_DIR_PATH_LEN_MAX
+, "%s/%s",
+
+143 
+GL_DEFAULT_PATH_IMAGES
+, 
+Çme
+);
+
+144 
+       `gl_sdbg
+("New d\9c\82ew_·th: %s", 
+Ãw_·th
+);
+
+145 \12
+»s
+ = 
+       `gl_f\9ee_d\9c_is_em±y
+(
+Ãw_·th
+);
+
+151 
+       `gl_dbg
+("f\9ee_d\9c_is_em±y\84\91uº v®ue: %d", 
+»s
+);
+
+152 ià(
+»s
+ == 0) {
+
+153 
+       `gl_dbgW
+("New folder\87lready\83xists!");
+
+154 
+       `_gl_pÝup_ü\97\8b_loÿl
+(
+d©a
+, 
+GL_POPUP_NOBUT
+,
+
+155 
+GL_STR_ID_SAME_NAME_ALREADY_IN_USE
+);
+
+161 \ 5*
+Ãw_®bum
+ = 
+ad
+->
+®bum\9afo
+.
+Ãw_Çme
+;
+
+162 
+       `g_¡¾ýy
+(
+Ãw_®bum
+, 
+Çme
+, 
+GL_ALBUM_NAME_LEN_MAX
+);
+
+163 
+Ãw_®bum
+[
+GL_ALBUM_NAME_LEN_MAX
+ - 1] = '\0';
+
+165 ià(
+ad
+->
+®bum\9afo
+.
+v\9bw
+)
+
+166 
+       `\96m_g\92grid_þ\97r
+(
+ad
+->
+®bum\9afo
+.
+v\9bw
+);
+
+168 ià(
+ad
+->
+\92\8cy\9afo
+.
+Ý_cb
+) {
+
+169 \12(*
+mc_cb
+)(\1e*
+d©a
+);
+
+171 
+mc_cb
+ = 
+ad
+->
+\92\8cy\9afo
+.
+Ý_cb
+;
+
+173 
+       `mc_cb
+(
+ad
+);
+
+175 
+       `GL_IF_DEL_OBJ
+(
+ad
+->
+pÝup\9afo
+.
+pÝup
+);
+
+178 
+NEW_ALBUM_FAILED
+:
+
+179 
+       `GL_IF_DEL_OBJ
+(
+ad
+->
+pÝup\9afo
+.
+pÝup
+);
+
+181 
+       }
+}
+
+       @src/2dview/gl-albums-new.h
+
+18 #iâdeà
+_GL_ALBUMS_NEW_H_
+
+
+19 \ 1
+       #_GL_ALBUMS_NEW_H_
+
+
+       )
+
+21 \ 2
+       ~<EËm\92\8fry.h
+>
+
+22 \ 2
+       ~"g®Ëry.h
+"
+
+24 \12
+_gl_®bums_Ãw_ü\97\8b_v\9bw
+(\1e*
+d©a
+, \1e*
+Ý_func
+);
+
+25 \12
+_gl_®bums_Ãw_´oûss
+(\1e*
+d©a
+, 
+boÞ
+b_\92\8br
+);
+
+       @src/2dview/gl-albums-rename.c
+
+18 \ 2
+       ~"gl-debug.h
+"
+
+19 \ 2
+       ~"gl-fs.h
+"
+
+20 \ 2
+       ~"gl-\92\8cy.h
+"
+
+21 \ 2
+       ~"gl-®bums-»Çme.h
+"
+
+22 \ 2
+       ~"gl-®bums.h
+"
+
+23 \ 2
+       ~"gl-ui-ut\9e.h
+"
+
+24 \ 2
+       ~"gl-ut\9e.h
+"
+
+25 \ 2
+       ~"gl-cÚ\8cÞb¬.h
+"
+
+26 \ 2
+       ~"gl-ed\99f\9bld.h
+"
+
+27 \ 2
+       ~"gl-bu\89Ú.h
+"
+
+28 \ 2
+       ~"gl-pÝup.h
+"
+
+29 \ 2
+       ~"gl-¡r\9ags.h
+"
+
+30 \ 2
+       ~"gl-fs.h
+"
+
+31 \ 2
+       ~"gl-db-upd©e.h
+"
+
+32 \ 2
+       ~"gl-f\9ee-ut\9e.h
+"
+
+34 \18\1e
+       $__gl_®bums_»Çme_\8cªs_f\9aished
+(\1e*
+d©a
+)
+
+36 
+       `GL_CHECK
+(
+d©a
+);
+
+37 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+38 \12
+v\9bw_mode
+ = 
+       `gl_g\91_v\9bw_mode
+(
+ad
+);
+
+39 
+       `gl_dbgW
+("v\9bw_mode: %d", 
+v\9bw_mode
+);
+
+42 ià(
+v\9bw_mode
+ =ð
+GL_VIEW_ALBUMS_RENAME
+)
+
+43 
+       `\96m_g\92grid_þ\97r
+(
+ad
+->
+®bum\9afo
+.
+v\9bw
+);
+
+44 
+       }
+}
+
+46 \18\12
+       $__gl_®bums_»Çme_pÝ_v\9bw
+(\1e*
+d©a
+)
+
+48 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+49 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+50 
+       `GL_CHECK_VAL
+(
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+, -1);
+
+51 
+       `gl_dbg
+("");
+
+53 
+ad
+->
+®bum\9afo
+.
+£Ëùed
+ = 
+NULL
+;
+
+55 
+       `gl_£t_v\9bw_mode
+(
+d©a
+, 
+GL_VIEW_ALBUMS
+);
+
+56 
+       `_gl_®bums_chªge_mode
+(
+d©a
+, 
+çl£
+);
+
+58 
+       }
+}
+
+61 \18
+E\9aa_BoÞ
+       $__gl_®bums_»Çme_pÝ_cb
+(\1e*
+d©a
+, 
+Elm_Objeù_I\8bm
+ *
+\99
+)
+
+73 
+       `gl_dbg
+("");
+
+74 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+75 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+76 
+ad
+->
+®bum\9afo
+.
+£Ëùed
+ = 
+NULL
+;
+
+78 
+       `gl_£t_v\9bw_mode
+(
+d©a
+, 
+GL_VIEW_ALBUMS_EDIT
+);
+
+79 
+       `gl_®bums_upd©e_\99ems
+(
+d©a
+);
+
+80 \15 
+EINA_TRUE
+;
+
+81 
+       }
+}
+
+84 \18
+E\9aa_BoÞ
+       $__gl_®bums_»Çme_pÝ_to_®bum_cb
+(\1e*
+d©a
+, 
+Elm_Objeù_I\8bm
+ *
+\99
+)
+
+87 
+       `gl_dbg
+("");
+
+88 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+89 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+90 
+ad
+->
+®bum\9afo
+.
+£Ëùed
+ = 
+NULL
+;
+
+92 
+       `gl_£t_v\9bw_mode
+(
+d©a
+, 
+GL_VIEW_ALBUMS
+);
+
+93 
+       `gl_®bums_upd©e_\99ems
+(
+d©a
+);
+
+94 \15 
+EINA_TRUE
+;
+
+95 
+       }
+}
+
+101 \18\12
+       $__gl_®bums_»Çme_´oûss
+(\1e*
+d©a
+, 
+boÞ
+b_\92\8br
+)
+
+103 
+       `gl_dbg
+("b_\92\8br: %d", 
+b_\92\8br
+);
+
+104 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+105 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+106 
+boÞ
+b_roÙ_·th
+ = 
+çl£
+;
+
+107 
+gl_þu¡\94
+ *
+®bum_\99em
+ = 
+NULL
+;
+
+110 
+       `evas_objeù_d©a_d\96
+(
+ad
+->
+\92\8cy\9afo
+.
+\92\8cy
+, "gl_entry_pop_cb_key");
+
+112 ià(
+       `gl_g\91_v\9bw_mode
+(
+ad
+è!ð
+GL_VIEW_ALBUMS_RENAME
+) {
+
+113 
+       `gl_dbgE
+("View mode is wrong!");
+
+114 \10
+RENAME_FAILED
+;
+
+117 
+®bum_\99em
+ = 
+ad
+->
+®bum\9afo
+.
+£Ëùed
+;
+
+118 ià(
+®bum_\99em
+ =ð
+NULL
+ ||\87lbum_\99em->
+þu¡\94
+ == NULL ||
+
+119 
+®bum_\99em
+->
+þu¡\94
+->
+uuid
+ =ð
+NULL
+) {
+
+120 
+       `gl_dbgE
+("selected_album is NULL!");
+
+121 \10
+RENAME_FAILED
+;
+
+124 \ 5
+Çme
+[
+GL_FILE_NAME_LEN_MAX
+] = { 0, };
+
+126 \12
+»t
+ = -1;
+
+127 
+»t
+ = 
+       `gl_g\91_\92\8cy_\8bxt
+(
+ad
+->
+\92\8cy\9afo
+.
+\92\8cy
+, 
+Çme
+,
+
+128 
+GL_FILE_NAME_LEN_MAX
+);
+
+129 ià(
+»t
+ != 0) {
+
+130 
+       `gl_dbgE
+("Get\83ntry\81ext failed!");
+
+131 \10
+RENAME_FAILED
+;
+
+135 ià(
+       `_gl_v®id©e_®bum_Çme
+(
+d©a
+, 
+Çme
+) != 0) {
+
+136 ià(
+b_\92\8br
+)
+
+137 
+       `_gl_ed\99f\9bld_hide_imf
+(
+ad
+);
+
+141 
+       `gl_sdbg
+("V®id\87lbum\82ame: %s", 
+Çme
+);
+
+143 \ 5
+Þd_·th
+[
+GL_DIR_PATH_LEN_MAX
+] = { 0, };
+
+144 ià(
+®bum_\99em
+->
+þu¡\94
+->
+·th
+) {
+
+145 
+       `g_¡¾ýy
+(
+Þd_·th
+, 
+®bum_\99em
+->
+þu¡\94
+->
+·th
+,
+
+146 
+GL_DIR_PATH_LEN_MAX
+);
+
+147 
+       `gl_sdbg
+("SrøfÞd\94: %s", 
+Þd_·th
+);
+
+148 ià(
+       `_gl_d©a_is_roÙ_·th
+(
+Þd_·th
+)) {
+
+154 
+       `gl_dbg
+("Rename [No Name]\87lbum's\82ame.");
+
+155 
+b_roÙ_·th
+ = 
+\8cue
+;
+
+158 
+       `gl_dbgE
+("gl_db_g\91_fÞd\94_fuηth fa\9eed(%d)!", 
+»t
+);
+
+159 \10
+RENAME_FAILED
+;
+
+163 \ 5
+Ãw_·th
+[
+GL_DIR_PATH_LEN_MAX
+] = { 0, };
+
+164 \ 5
+·»Á
+[
+GL_DIR_PATH_LEN_MAX
+] = { 0, };
+
+166 ià(
+b_roÙ_·th
+) {
+
+167 
+       `¢´\9atf
+(
+Ãw_·th
+, 
+GL_DIR_PATH_LEN_MAX
+, "%s/%s",
+
+168 
+GL_DEFAULT_PATH_IMAGES
+, 
+Çme
+);
+
+169 
+       `g_¡¾ýy
+(
+·»Á
+, 
+GL_DEFAULT_PATH_IMAGES
+, 
+GL_DIR_PATH_LEN_MAX
+);
+
+171 
+       `g_¡¾ýy
+(
+Ãw_·th
+, 
+Þd_·th
+, 
+GL_DIR_PATH_LEN_MAX
+);
+
+172 
+       `g_¡¾ýy
+(
+·»Á
+, 
+Þd_·th
+, 
+GL_DIR_PATH_LEN_MAX
+);
+
+174 \12
+i
+ = 0;
+
+175 \12
+Ëngth
+ = 
+       `¡¾\92
+(
+Þd_·th
+);
+
+176 \ f
+i
+ = 
+Ëngth
+; i >= 0; i--) {
+
+177 ià(
+Ãw_·th
+[
+i
+] == '/') {
+
+178 
+       `gl_dbg
+("Ëngth=%d, i=%d", 
+Ëngth
+, 
+i
+);
+
+180 ià(
+i
+ =ð
+Ëngth
+ - 1)
+
+182 
+       `memýy
+(&
+Ãw_·th
+[
+i
+ + 1], 
+Çme
+, 
+       `¡¾\92
+(name));
+
+183 
+Ãw_·th
+[
+i
+ + 1 + 
+       `¡¾\92
+(
+Çme
+)] = '\0';
+
+184 
+·»Á
+[
+i
+] = '\0';
+
+190 
+       `gl_sdbg
+("De¡ fÞd\94: %s", 
+Ãw_·th
+);
+
+191 #ifdeà
+_RENAME_ALBUM_SENSITIVE
+
+
+192 ià(!
+       `¡rÿ£cmp
+(
+Þd_·th
+, 
+Ãw_·th
+))
+
+194 ià(!
+       `g_¡rcmp0
+(
+Þd_·th
+, 
+Ãw_·th
+))
+
+197 
+       `gl_dbgW
+("Same\87s current\82ame!");
+
+198 \10
+RENAME_FAILED
+;
+
+206 #ifdeà
+_RENAME_ALBUM_SENSITIVE
+
+
+207 ià(
+       `_gl_fs_check_Çme_ÿ£
+(
+Ãw_·th
+, 
+Çme
+))
+
+210 
+       `mem£t
+(
+Ãw_·th
+, 0x00, 
+GL_DIR_PATH_LEN_MAX
+);
+
+211 
+       `¢´\9atf
+(
+Ãw_·th
+, 
+GL_DIR_PATH_LEN_MAX
+, "%s/%s", 
+·»Á
+, 
+Çme
+);
+
+212 
+       `gl_sdbg
+("New d\9c\85©h: %s", 
+Ãw_·th
+);
+
+213 \12
+»s
+ = 
+       `gl_f\9ee_d\9c_is_em±y
+(
+Ãw_·th
+);
+
+214 
+       `gl_dbg
+("f\9ee_d\9c_is_em±y\84\91uº v®ue: %d", 
+»s
+);
+
+215 ià(
+»s
+ == 0) {
+
+216 \ 5*
+pÝup_desc
+ = 
+NULL
+;
+
+217 
+pÝup_desc
+ = (\ 5*)
+       `ÿÎoc
+(
+GL_POPUP_STRING_MAX
+,
+
+219 ià(
+pÝup_desc
+ =ð
+NULL
+) {
+
+220 
+       `gl_dbgE
+("memory\87llocation fail!");
+
+224 
+       `¢´\9atf
+(
+pÝup_desc
+, 
+GL_POPUP_STRING_MAX
+, "%s<br>%s",
+
+225 
+GL_STR_SAME_NAME_ALREADY_IN_USE
+, 
+GL_STR_RETRY_Q
+);
+
+226 
+pÝup_desc
+[
+       `¡¾\92
+(popup_desc)] = '\0';
+
+227 
+       `gl_pÝup_ü\97\8b_pÝup
+(
+ad
+, 
+GL_POPUP_ALBUM_RENAME_DUPLICATE
+,
+
+228 
+pÝup_desc
+);
+
+229 
+       `GL_FREE
+(
+pÝup_desc
+);
+
+230 
+       `gl_dbgW
+("New folder\87lready\83xists!");
+
+235 
+       `_gl_db_upd©e_lock_Úû
+(
+ad
+, 
+\8cue
+);
+
+236 ià(
+b_roÙ_·th
+) {
+
+246 ià(
+       `gl_make_Ãw_®bum
+(
+Çme
+è=ð
+çl£
+) {
+
+247 
+       `gl_pÝup_ü\97\8b_pÝup
+(
+ad
+, 
+GL_POPUP_NOBUT
+,
+
+248 
+GL_STR_UNABLE_tO_RENAME
+);
+
+249 
+       `gl_dbgE
+("Failed\81o make\87\82ew directory!");
+
+250 \10
+RENAME_FAILED
+;
+
+254 ià(
+       `gl_move_roÙ_®bum
+(
+ad
+, 
+®bum_\99em
+, 
+Ãw_·th
+) != 0) {
+
+255 
+       `gl_dbg
+("gl_move_root_album failed!");
+
+256 
+       `gl_pÝup_ü\97\8b_pÝup
+(
+ad
+, 
+GL_POPUP_NOBUT
+,
+
+257 
+GL_STR_UNABLE_tO_RENAME
+);
+
+258 \10
+RENAME_FAILED
+;
+
+260 
+       `gl_dbg
+("New\87lbum\87dded, update\87lbums\86ist.");
+
+261 
+ad
+->
+®bum\9afo
+.
+£Ëùed
+ = 
+NULL
+;
+
+262 
+       `_gl_d©a_upd©e_þu¡\94_li¡
+(
+ad
+);
+
+268 
+       `med\9f_fÞd\94_£t_Çme
+(
+®bum_\99em
+->
+þu¡\94
+->
+fÞd\94_h
+, 
+Çme
+);
+
+269 
+»t
+ = 
+       `med\9f_fÞd\94_upd©e_to_db
+(
+®bum_\99em
+->
+þu¡\94
+->
+fÞd\94_h
+);
+
+270 ià(
+»t
+ < 0) {
+
+271 
+       `gl_dbg
+("med\9f_fÞd\94_£t_Çm\90ç\9eed (%d)!", 
+»t
+);
+
+272 \10
+RENAME_FAILED
+;
+
+280 ià(
+       `gl_f\9ee_exi¡s
+(
+Þd_·th
+)) {
+
+281 ià(!
+       `gl_f\9ee_mv
+(
+Þd_·th
+, 
+Ãw_·th
+))
+
+282 
+       `gl_dbg
+("file_mv failed!");
+
+284 
+       `gl_dbgW
+("Source folder\85ath doesn't\83xist!");
+
+287 
+       `GL_FREEIF
+(
+®bum_\99em
+->
+þu¡\94
+->
+di¥Ïy_Çme
+);
+
+288 
+®bum_\99em
+->
+þu¡\94
+->
+di¥Ïy_Çme
+ = 
+       `¡rdup
+(
+Çme
+);
+
+289 
+       `GL_FREEIF
+(
+®bum_\99em
+->
+þu¡\94
+->
+·th
+);
+
+290 
+®bum_\99em
+->
+þu¡\94
+->
+·th
+ = 
+       `¡rdup
+(
+Ãw_·th
+);
+
+293 
+       `\96m_Çviäame_\99em_pÝ
+(
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+);
+
+294 
+       `__gl_®bums_»Çme_pÝ_v\9bw
+(
+d©a
+);
+
+297 
+RENAME_FAILED
+:
+
+299 
+       `\96m_Çviäame_\99em_pÝ
+(
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+);
+
+300 
+       `__gl_®bums_»Çme_pÝ_v\9bw
+(
+d©a
+);
+
+302 
+       }
+}
+
+304 \12
+       $_gl_®bums_»Çme_ü\97\8b_v\9bw
+(\1e*
+d©a
+, 
+gl_þu¡\94
+ *
+®bum
+)
+
+306 
+       `GL_CHECK_VAL
+(
+®bum
+, -1);
+
+307 
+       `GL_CHECK_VAL
+(
+®bum
+->
+þu¡\94
+, -1);
+
+308 
+       `GL_CHECK_VAL
+(
+®bum
+->
+þu¡\94
+->
+di¥Ïy_Çme
+, -1);
+
+309 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+310 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+311 
+       `gl_dbg
+("");
+
+313 
+ad
+->
+\92\8cy\9afo
+.
+mode
+ = 
+GL_ENTRY_RENAME_ALBUM
+;
+
+316 ià(
+       `_gl_\92\8cy_ü\97\8b_v\9bw
+(
+d©a
+, 
+®bum
+->
+þu¡\94
+->
+di¥Ïy_Çme
+, 
+GL_STR_ID_CHNAGE_NAME
+) < 0) {
+
+317 
+ad
+->
+\92\8cy\9afo
+.
+mode
+ = 
+GL_ENTRY_NONE
+;
+
+321 
+Evas_Objeù
+ *
+\92\8cy
+ = 
+       `_gl_ed\99f\9bld_g\91_\92\8cy
+(
+d©a
+);
+
+322 
+       `GL_CHECK_VAL
+(
+\92\8cy
+, -1);
+
+323 
+       `evas_objeù_d©a_£t
+(
+\92\8cy
+, "gl_entry_process_cb_key",
+
+324 
+__gl_®bums_»Çme_´oûss
+);
+
+325 ià(
+GL_VIEW_ALBUMS
+ =ð
+       `gl_g\91_v\9bw_mode
+(
+d©a
+))
+
+326 
+       `evas_objeù_d©a_£t
+(
+\92\8cy
+, "gl_entry_pop_cb_key",
+
+327 
+__gl_®bums_»Çme_pÝ_to_®bum_cb
+);
+
+329 
+       `evas_objeù_d©a_£t
+(
+\92\8cy
+, "gl_entry_pop_cb_key",
+
+330 
+__gl_®bums_»Çme_pÝ_cb
+);
+
+332 
+       `evas_objeù_d©a_£t
+(
+\92\8cy
+, "gl_entry_transit_cb_key",
+
+333 
+__gl_®bums_»Çme_\8cªs_f\9aished
+);
+
+334 
+       `gl_£t_v\9bw_mode
+(
+d©a
+, 
+GL_VIEW_ALBUMS_RENAME
+);
+
+336 
+       }
+}
+
+338 \12
+       $_gl_®bums_»Çme_upd©e_v\9bw
+(\1e*
+d©a
+)
+
+340 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+341 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+342 
+       `gl_dbg
+("");
+
+344 ià(
+       `gl_check_g®Ëry_em±y
+(
+d©a
+) ||
+
+345 
+ad
+->
+®bum\9afo
+.
+\96
+->
+ed\99_út
+ == 0) {
+
+347 
+       `gl_d\96_\9av®id_widg\91s
+(
+d©a
+, 
+GL_INVALID_NONE
+);
+
+348 
+       `gl_dbgW
+("None\83ditable\87lbums, show\87lbums view!");
+
+349 
+       `_gl_®bums_chªge_mode
+(
+d©a
+, 
+çl£
+);
+
+354 ià(
+ad
+->
+®bum\9afo
+.
+£Ëùed
+ =ð
+NULL
+) {
+
+355 
+       `gl_dbgW
+("Rename invalid\87lbum!");
+
+357 
+       `\96m_Çviäame_\99em_pÝ
+(
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+);
+
+362 
+       `\96m_g\92grid_þ\97r
+(
+ad
+->
+®bum\9afo
+.
+v\9bw
+);
+
+364 
+       }
+}
+
+366 \12
+       $_gl_®bums_»Çme_upd©e_Ïng
+(\1e*
+d©a
+)
+
+368 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+369 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+370 
+       `GL_CHECK_VAL
+(
+ad
+->
+\92\8cy\9afo
+.
+nf_\99
+, -1);
+
+372 ià(
+ad
+->
+pÝup\9afo
+.
+pÝup
+) {
+
+373 \ 5*
+pÝup_desc
+ = (\ 5*)
+       `ÿÎoc
+(
+GL_POPUP_STRING_MAX
+,
+
+375 ià(
+pÝup_desc
+) {
+
+376 
+       `¢´\9atf
+(
+pÝup_desc
+, 
+GL_POPUP_STRING_MAX
+, "%s<br>%s",
+
+377 
+GL_STR_SAME_NAME_ALREADY_IN_USE
+, 
+GL_STR_RETRY_Q
+);
+
+378 
+pÝup_desc
+[
+       `¡¾\92
+(popup_desc)] = '\0';
+
+379 
+       `gl_pÝup_ü\97\8b_pÝup
+(
+ad
+, 
+GL_POPUP_ALBUM_RENAME_DUPLICATE
+,
+
+380 
+pÝup_desc
+);
+
+381 
+       `GL_FREE
+(
+pÝup_desc
+);
+
+386 
+       }
+}
+
+       @src/2dview/gl-albums-rename.h
+
+18 #iâdeà
+_GL_ALBUMS_RENAME_H_
+
+
+19 \ 1
+       #_GL_ALBUMS_RENAME_H_
+
+
+       )
+
+21 \ 2
+       ~<EËm\92\8fry.h
+>
+
+22 \ 2
+       ~"g®Ëry.h
+"
+
+24 \12
+_gl_®bums_»Çme_ü\97\8b_v\9bw
+(\1e*
+d©a
+, 
+gl_þu¡\94
+ *
+®bum
+);
+
+25 \12
+_gl_®bums_»Çme_upd©e_v\9bw
+(\1e*
+d©a
+);
+
+26 \12
+_gl_®bums_»Çme_upd©e_Ïng
+(\1e*
+d©a
+);
+
+       @src/2dview/gl-ecore-animator.h
+
+18 #´agm¨
+Úû
+
+
+20 \e
+       $boÞ
+ (*
+       tC®lbackFUNC
+)(\b
+       td\96\8f
+, \1e*
+       td©a
+);
+
+22 
+\8bm¶©e
+ <
+þass
+ObjTy³
+, cÏs 
+FunTy³
+, cÏs 
+P¬mTy³
+>
+
+23 þas 
+       cU£rMemFunùÜ
+
+
+25 
+public
+:
+
+26 
+       $U£rMemFunùÜ
+(
+ObjTy³
+& 
+obj
+, 
+FunTy³
+fun
+è: 
+       `m_obj
+(obj), 
+       $m_func
+(
+fun
+) {}
+
+27 \1e
+       $Ý\94©Ü
+()(
+P¬mTy³
+& 
+p
+è{ (
+m_obj
+.*
+m_func
+)Õ); 
+       }
+}
+
+28 
+       g´iv©e
+:
+
+29 
+ObjTy³
+& 
+m_obj
+;
+
+30 
+FunTy³
+       gm_func
+;
+
+35 þas 
+       cECÜeAnim©Ü
+ {
+
+36 \18
+E\9aa_BoÞ
+       $_Ú_ªim
+(\1e*
+d©a
+)
+
+38 
+ECÜeAnim©Ü
+ *
+thiz
+ = 
+¡©ic_ÿ¡
+<ECÜeAnim©Ü *>(
+d©a
+);
+
+40 \15 
+thiz
+->
+       `OnAnim©iÚ
+();
+
+43 
+public
+:
+
+44 
+       $ECÜeAnim©Ü
+(è: 
+       `m_ªim©Ü
+(
+NULL
+), 
+       $m_bS\8f¹ed
+(
+çl£
+è{
+       }
+};
+
+45 ~
+       $ECÜeAnim©Ü
+() {
+
+46 
+       `StÝ
+();
+
+47 
+       }
+};
+
+49 \1e
+       $S\8f¹
+(
+C®lbackFUNC
+cb
+, \1e*
+d©a
+)
+
+51 
+m_cb
+ = 
+cb
+;
+
+52 
+m_d©a
+ = 
+d©a
+;
+
+54 
+m_couÁ
+ = 0;
+
+55 
+m_ªim©Ü
+ = 
+       `ecÜe_ªim©Ü_add
+(
+_Ú_ªim
+, 
+this
+);
+
+56 
+m_bS\8f¹ed
+ = 
+\8cue
+;
+
+57 
+       }
+}
+
+59 \1e
+       $StÝ
+() {
+
+60 ià(
+m_bS\8f¹ed
+) {
+
+61 
+m_bS\8f¹ed
+ = 
+çl£
+;
+
+62 
+       `ecÜe_ªim©Ü_d\96
+(
+m_ªim©Ü
+);
+
+63 
+m_ªim©Ü
+ = 
+NULL
+;
+
+65 
+       }
+};
+
+67 
+E\9aa_BoÞ
+       $OnAnim©iÚ
+() {
+
+68 \b
+cu¼\92t
+;
+
+70 ià(
+m_couÁ
+ == 0) {
+
+71 
+cu¼\92t
+ = 
+m_´ev
+ = 
+       `ecÜe_loÝ_time_g\91
+();
+
+73 
+cu¼\92t
+ = 
+       `ecÜe_loÝ_time_g\91
+();
+
+76 
+m_couÁ
+++;
+
+78 ià(
+       `m_cb
+(
+cu¼\92t
+ - 
+m_´ev
+, 
+m_d©a
+è=ð
+çl£
+) {
+
+79 
+       `StÝ
+();
+
+80 \15 
+ECORE_CALLBACK_CANCEL
+;
+
+83 
+m_´ev
+ = 
+cu¼\92t
+;
+
+84 \15 
+ECORE_CALLBACK_RENEW
+;
+
+85 
+       }
+};
+
+87 
+boÞ
+       $IsRu\9ag
+() const {
+
+88 \15 
+m_bS\8f¹ed
+;
+
+89 
+       }
+};
+
+91 
+       g´iv©e
+:
+
+92 
+EcÜe_Anim©Ü
+ *
+m_ªim©Ü
+;
+
+96 
+C®lbackFUNC
+       gm_cb
+;
+
+97 \1e*
+       gm_d©a
+;
+
+99 \b
+       gm_´ev
+;
+
+100 
+boÞ
+       gm_bS\8f¹ed
+;
+
+102 \12
+       gm_couÁ
+;
+
+       @src/2dview/gl-exception.h
+
+17 #´agm¨
+Úû
+
+
+19 þas 
+       cCExû±iÚ
+ {
+
+20 
+       mpublic
+:
+
+22 
+IO_ERROR
+,
+
+23 } 
+       t\94rÜ_code
+;
+
+25 
+       $CExû±iÚ
+(
+\94rÜ_code
+\94r
+è: 
+       $m_\94r
+(
+\94r
+è{
+       }
+};
+
+26 ~
+       $CExû±iÚ
+(è{
+       }
+};
+
+28 
+       g´iv©e
+:
+
+29 
+\94rÜ_code
+m_\94r
+;
+
+       @src/2dview/gl-timeline.c
+
+18 \ 2
+       ~<¡dlib.h
+>
+
+19 \ 2
+       ~<time.h
+>
+
+20 \ 2
+       ~"gl-debug.h
+"
+
+21 \ 2
+       ~"gl-tim\96\9ae.h
+"
+
+22 \ 2
+       ~"gl-cÚ\8cÞb¬.h
+"
+
+23 \ 2
+       ~"gl-ui-ut\9e.h
+"
+
+24 \ 2
+       ~"gl-ut\9e.h
+"
+
+25 \ 2
+       ~"gl-d©a.h
+"
+
+26 \ 2
+       ~"gl-¡r\9ags.h
+"
+
+27 #ifdeà
+_USE_ROTATE_BG
+
+
+28 \ 2
+       ~"gl-r٩e-bg.h
+"
+
+29 \ 2
+       ~"gl-exif.h
+"
+
+31 \ 2
+       ~"gl-thumb.h
+"
+
+32 \ 2
+       ~"gl-thumbs.h
+"
+
+33 \ 2
+       ~"gl-ma\9a.h
+"
+
+34 \ 2
+       ~"gl-®bums.h
+"
+
+35 \ 2
+       ~"gl-®bums-£l.h
+"
+
+36 \ 2
+       ~"gl-nocÚ\8bÁs.h
+"
+
+37 \ 2
+       ~"gl-ext-exec.h
+"
+
+38 \ 2
+       ~"gl-ext-ug-lßd.h
+"
+
+39 \ 2
+       ~"gl-ùxpÝup.h
+"
+
+40 \ 2
+       ~"gl-pÝup.h
+"
+
+41 \ 2
+       ~"gl-bu\89Ú.h
+"
+
+42 \ 2
+       ~"gl-ext-exec.h
+"
+
+43 \ 2
+       ~"gl-nÙify.h
+"
+
+44 \ 2
+       ~"gl-db-upd©e.h
+"
+
+45 \ 2
+       ~"gl-th»ad-ut\9e.h
+"
+
+46 \ 2
+       ~"gl-fs.h
+"
+
+47 \ 2
+       ~"gl-f\9ee-ut\9e.h
+"
+
+48 \ 2
+       ~"gl-ge¡u».h
+"
+
+50 \ 1
+       #GL_TIMELINE_TITLE_H
+ 46
+
+       )
+
+51 \ 1
+       #GL_TIMELINE_PAD_H
+ 8
+
+       )
+
+52 \ 1
+       #GL_TIMELINE_CONTENT_P_H
+ 956
+
+       )
+
+53 \ 1
+       #GL_TIMELINE_CONTENT_L_H
+ 429
+
+       )
+
+54 \ 1
+       #GL_TIMELINE_PAGE_SIZE
+ 450
+
+       )
+
+56 \ 1
+       #GL_TL_PINCH_OUT_2_CNT
+ 15
+
+       )
+
+57 \ 1
+       #GL_TL_PINCH_OUT_1_CNT
+ 8
+
+       )
+
+58 \ 1
+       #GL_TL_PINCH_OUT_CNT_STEP
+ 3
+
+       )
+
+61 \ 1
+       #GL_TL_SWALLOW_TITLE_SHOW
+ "\96m,sw®low_t\99Ë,¡©e,show"
+
+       )
+
+62 \ 1
+       #GL_TL_SWALLOW_TITLE_HIDE
+ "\96m,sw®low_t\99Ë,¡©e,hide"
+
+       )
+
+64 \ 1
+       #GL_TL_TITLE2_SHOW_FINISHED
+ "\96m,aùiÚ,t\99Ë2,show,f\9aished"
+
+       )
+
+65 \ 1
+       #GL_TL_TITLE_HIDE_FINISHED
+ "\96m,aùiÚ,t\99Ë,hide,f\9aished"
+
+       )
+
+66 \ 1
+       #GL_TL_TITLE_FADE_OUT
+ "\96m,aùiÚ,t\99Ë,çde_out"
+
+       )
+
+67 \ 1
+       #GL_TL_TITLE2_FADE_IN
+ "\96m,aùiÚ,t\99Ë2,çde_\9a"
+
+       )
+
+68 \ 1
+       #GL_TL_TITLE_HIDE_DEFERRED
+ "\96m,¡©e,t\99Ë,hide,deã¼ed"
+
+       )
+
+69 \ 1
+       #GL_TL_TITLE2_SHOW_DEFERRED
+ "\96m,¡©e,t\99Ë2,show,deã¼ed"
+
+       )
+
+70 \ 1
+       #GL_TL_TITLE_SHOW
+ "\96m,¡©e,t\99Ë,show"
+
+       )
+
+71 \ 1
+       #GL_TL_TITLE2_CREATED
+ "\96m,¡©e,t\99Ë2,ü\97\8bd"
+
+       )
+
+73 \ 1
+       #GL_TL_CONTENTS_FORMAT
+ "cÚ\8bÁs_%d_%d"
+
+       )
+
+74 \ 1
+       #GL_TL_CHECKBOX_FORMAT
+ "cÚ\8bÁs_%d_%d_checkbox"
+
+       )
+
+75 \ 1
+       #GL_TL_CONTENT_FORMAT
+ "cÚ\8bÁ_%d"
+
+       )
+
+77 \ 1
+       #GL_TL_TILE_DATA_KEY
+ "gl_t\9ee_d©a"
+
+       )
+
+78 \ 1
+       #GL_TL_DATA_KEY
+ "gl_\8e_d©a"
+
+       )
+
+80 \ 1
+       #GL_GRID_4_PER_ROW
+ 4
+
+       )
+
+81 \ 1
+       #GL_GRID_7_PER_ROW
+ 7
+
+       )
+
+83 \ 1
+       #GL_GRID_8_PER_ROW
+ 8
+
+       )
+
+84 \ 1
+       #GL_GRID_3_PER_ROW
+ 3
+
+       )
+
+86 \ 1
+       #GL_GRID_6_PER_ROW
+ 6
+
+       )
+
+87 \ 1
+       #GL_GRID_10_PER_ROW
+ 10
+
+       )
+
+89 \ 1
+       #GL_GRID_H_ZOOM_03
+ 178
+
+       )
+
+90 \ 1
+       #GL_GRID_H_ZOOM_02
+ 267
+
+       )
+
+92 \ 1
+       #GL_TL_DEL_TRANSITS
+(
+t\9ees
+) \
+
+94 
+gl_t\9ee_s
+ *
+t\9ee
+ = 
+NULL
+; \
+
+95 ià(
+t\9ees
+) { \
+
+96 
+       `gl_dbgW
+("Delete\81ransits of\81iles!"); \
+
+97 
+E\9aa_Li¡
+ *
+l
+ = 
+NULL
+; \
+
+98 
+       `EINA_LIST_FOREACH
+(
+t\9ees
+, 
+l
+, 
+t\9ee
+) { \
+
+99 ià(
+t\9ee
+) { \
+
+100 
+       `GL_IF_DEL_TRANSIT
+(
+t\9ee
+->
+\8cªs
+); \
+
+101 
+t\9ee
+ = 
+NULL
+; \
+
+105 } \1f0)
+
+       )
+
+107 \ 1
+       #GL_TL_DEL_IDLERS
+(
+idËrs
+) \
+
+109 ià(
+idËrs
+) { \
+
+110 
+gl_\8ep_s
+ *
+\99_d
+ = 
+NULL
+; \
+
+111 
+       `EINA_LIST_FREE
+(
+idËrs
+, 
+\99_d
+) { \
+
+112 ià(
+\99_d
+) { \
+
+113 
+       `GL_IF_DEL_IDLER
+(
+\99_d
+->
+upd©e_idËr
+); \
+
+114 
+\99_d
+ = 
+NULL
+; \
+
+117 
+idËrs
+ = 
+NULL
+; \
+
+119 } \1f0)
+
+       )
+
+122 \ 1
+       #GL_TL_CLEAR_PAGES
+(
+tim\96\9ae_d
+, 
+b_£t_zÝ
+) \
+
+124 
+       `GL_TL_DEL_TRANSITS
+(
+tim\96\9ae_d
+->
+t\9ees
+); \
+
+125 
+       `GL_TL_DEL_IDLERS
+(
+tim\96\9ae_d
+->
+idËrs
+); \
+
+126 ià(
+b_£t_zÝ
+) \
+
+127 
+       `_gl_¦id\94_£t_zÝ
+(
+tim\96\9ae_d
+->
+v\9bw
+, 
+GL_SLIDE_ZOP_DEFAULT
+); \
+
+128 
+       `_gl_¦id\94_uÆßd
+(
+tim\96\9ae_d
+->
+v\9bw
+); \
+
+129 
+       `__gl_tim\96\9ae_ä\93_·ges
+(
+tim\96\9ae_d
+); \
+
+130 } \1f0)
+
+       )
+
+132 \e\f
+       e_gl_zoom_mode_t
+ {
+
+133 
+       mGL_TM_ZOOM_NONE
+ = -3,
+
+134 
+       mGL_TM_ZOOM_OUT_TWO
+,
+
+135 
+       mGL_TM_ZOOM_OUT_ONE
+,
+
+136 
+       mGL_TM_ZOOM_DEFAULT
+,
+
+137 
+       mGL_TM_ZOOM_MAX
+,
+
+138 } 
+       tgl_zoom_mode_e
+;
+
+140 \e\f
+       e_gl_\8cªs_Ý_t
+ {
+
+141 
+       mGL_TRANS_OP_DEFAULT
+,
+
+142 
+       mGL_TRANS_OP_DONE
+,
+
+143 
+       mGL_TRANS_OP_START
+,
+
+144 
+       mGL_TRANS_OP_PREPARE
+,
+
+145 
+       mGL_TRANS_OP_SHOW
+,
+
+146 
+       mGL_TRANS_OP_MAX
+,
+
+147 } 
+       tgl_\8cªs_Ý_e
+;
+
+149 \e\f
+       e_gl_\8e_v\9bw_t
+ {
+
+150 
+       mGL_TL_VIEW_NORMAL
+,
+
+151 
+       mGL_TL_VIEW_EDIT
+,
+
+152 
+       mGL_TL_VIEW_SHARE
+,
+
+153 
+       mGL_TL_VIEW_MAX
+,
+
+154 } 
+       tgl_\8e_v\9bw_e
+;
+
+156 \e\19
+_gl_tm_t
+       tgl_tm_s
+;
+
+157 \19
+       s_gl_tm_t
+ {
+
+158 \12
+       mtm_y\97r
+;
+
+159 \12
+       mtm_mÚ
+;
+
+160 \12
+       mtm_mday
+;
+
+163 \e\19
+_gl_£l_d©a_t
+       tgl_£l_s
+;
+
+164 \19
+       s_gl_£l_d©a_t
+ {
+
+165 
+E\9aa_Li¡
+ *
+       m£l_li¡
+;
+
+166 \12
+       mjpge_út
+;
+
+167 \12
+       mimage_út
+;
+
+170 \e\f
+       e_gl_time_v\9bw_di¥Ïy_Üd\94
+ {
+
+171 
+       mTIME_ORDER_ASC
+ = 0,
+
+172 
+       mTIME_ORDER_DESC
+
+
+173 }
+       t_gl_time_v\9bw_Üd\94
+;
+
+175 \19
+       s_gl_tim\96\9ae_t
+ {
+
+176 
+gl_­pd©a
+ *
+       mad
+;
+
+177 
+Evas_Objeù
+ *
+       m·»Á
+;
+
+178 
+Evas_Objeù
+ *
+       mÏyout
+;
+
+179 
+Evas_Objeù
+ *
+       mv\9bw
+;
+
+180 
+Evas_Objeù
+ *
+       mnocÚ\8bÁs
+;
+
+181 
+Evas_Objeù
+ *
+       md©e_Ïyout
+;
+
+182 
+Elm_Objeù_I\8bm
+ *
+       mnf_\99
+;
+
+183 \12
+       mcouÁ
+;
+
+184 
+time_t
+       mϡ_mtime
+;
+
+185 \12
+       mw
+;
+
+186 \12
+       mh
+;
+
+187 
+boÞ
+       md\96\91e_d©a
+;
+
+188 
+gl_mou£_s
+       mmou£
+;
+
+189 
+E\9aa_Li¡
+ *
+       mcouÁ_li¡
+;
+
+190 
+gl_\8e_v\9bw_e
+       mv\9bw_m
+;
+
+191 
+gl_zoom_mode_e
+       mzoom_Ëv\96
+;
+
+192 
+E\9aa_Li¡
+ *
+       mli¡
+;
+
+194 
+gl_tm_s
+       mtm_s
+;
+
+195 
+gl_tm_s
+       mtm_e
+;
+
+196 
+boÞ
+       mb_ü\97\8bd
+;
+
+197 
+EcÜe_Anim©Ü
+ *
+       mªim©Ü
+;
+
+198 
+boÞ
+       mb_upd©\9ag_t\99Ë
+;
+
+199 
+gl_þu¡\94
+ *
+       m®bum
+;
+
+200 \12
+       m\8cª_Ý
+;
+
+201 
+E\9aa_Li¡
+ *
+       mt\9ees
+;
+
+202 
+E\9aa_Li¡
+ *
+       midËrs
+;
+
+203 
+E\9aa_Li¡
+ *
+       mthumbs
+;
+
+204 
+E\9aa_Li¡
+ *
+       md©a_li¡
+;
+
+205 
+gl_£l_s
+ *
+       m£l_d
+;
+
+206 
+boÞ
+       mis_li¡_»v\94£
+;
+
+207 
+_gl_time_v\9bw_Üd\94
+       mtime_med\9f_di¥Ïy_Üd\94
+;
+
+208 
+Elm_Objeù_I\8bm
+ *
+       m»®ized_\99em
+;
+
+211 \e\19
+_gl_\8ep_t
+       tgl_\8ep_s
+;
+
+212 \19
+       s_gl_\8ep_t
+ {
+
+213 \12
+       m\9adex
+;
+
+214 \12
+       m¡¬t_pos
+;
+
+215 \12
+       m\92d_pos
+;
+
+216 \12
+       mcouÁ
+;
+
+217 \12
+       mw
+;
+
+218 \12
+       mh
+;
+
+219 
+Evas_Objeù
+ *
+       mÏyout
+;
+
+220 
+EcÜe_IdËr
+ *
+       mupd©e_idËr
+;
+
+221 
+boÞ
+       mb_ü\97\8bd
+;
+
+222 
+gl_tim\96\9ae_s
+ *
+       mtim\96\9ae_d
+;
+
+225 \e\19
+_gl_t\9ee_t
+       tgl_t\9ee_s
+;
+
+226 \19
+       s_gl_t\9ee_t
+ {
+
+227 
+Evas_Objeù
+ *
+       mbg
+;
+
+228 
+Evas_Objeù
+ *
+       m·»Á
+;
+
+229 
+Elm_T¿ns\99
+ *
+       m\8cªs
+;
+
+230 \12
+       mcouÁ
+;
+
+231 \12
+       mtٮ
+;
+
+232 
+gl_\8ep_s
+ *
+       m\99_d
+;
+
+233 
+gl_tim\96\9ae_s
+ *
+       mtim\96\9ae_d
+;
+
+236 \12
+_g\91_couÁ_of_\99ems_Ú_§me_d©e
+(
+gl_med\9f_s
+ *
+\99em
+, 
+E\9aa_Li¡
+ *
+li¡
+, \ 5**
+\8bxt
+, \12
+¡¬t_\9adex
+);
+
+237 \12
+_gl_time_g\91_numb\94_of_\99ems_³r_row
+(\1e*
+d©a
+);
+
+238 \18\1e
+__gl_tim\96\9ae_·ge_d\96\91ed_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+,
+
+239 \1e*
+ei
+);
+
+240 \18\12
+__gl_tim\96\9ae_chªge_mode
+(\1e*
+d©a
+, \12
+mode
+);
+
+241 \18
+Evas_Objeù
+ *
+__gl_tim\96\9ae_ü\97\8b_li¡_v\9bw
+(
+gl_tim\96\9ae_s
+ *
+tim\96\9ae_d
+, 
+boÞ
+upd©e
+);
+
+243 #ifdeà
+_USE_APP_SLIDESHOW
+
+
+244 \18\12
+__gl_tim\96\9ae_ed\99
+(\1e*
+d©a
+);
+
+247 \18
+boÞ
+       $__gl_tim\96\9ae_is_checked
+(
+gl_tim\96\9ae_s
+ *
+tim\96\9ae_d
+, \ 5*
+uuid
+)
+
+249 
+       `GL_CHECK_FALSE
+(
+uuid
+);
+
+250 
+       `GL_CHECK_FALSE
+(
+tim\96\9ae_d
+);
+
+251 
+       `GL_CHECK_FALSE
+(
+tim\96\9ae_d
+->
+£l_d
+);
+
+253 
+E\9aa_Li¡
+ *
+l
+ = 
+NULL
+;
+
+254 \ 5*
+\99em
+ = 
+NULL
+;
+
+255 
+       `EINA_LIST_FOREACH
+(
+tim\96\9ae_d
+->
+£l_d
+->
+£l_li¡
+, 
+l
+, 
+\99em
+) {
+
+256 ià(
+\99em
+ && !
+       `g_¡rcmp0
+(\99em, 
+uuid
+))
+
+257 \15 
+\8cue
+;
+
+259 \15 
+çl£
+;
+
+260 
+       }
+}
+
+263 \18
+boÞ
+       $__gl_tim\96\9ae_þ\97r_£l_út
+(
+gl_tim\96\9ae_s
+ *
+tim\96\9ae_d
+)
+
+265 
+       `GL_CHECK_FALSE
+(
+tim\96\9ae_d
+);
+
+266 ià(
+tim\96\9ae_d
+->
+£l_d
+ =ð
+NULL
+)
+
+267 \15 
+çl£
+;
+
+269 
+tim\96\9ae_d
+->
+£l_d
+->
+£l_li¡
+ = 
+NULL
+;
+
+270 
+tim\96\9ae_d
+->
+£l_d
+->
+jpge_út
+ = 0;
+
+271 
+tim\96\9ae_d
+->
+£l_d
+->
+image_út
+ = 0;
+
+272 \15 
+\8cue
+;
+
+273 
+       }
+}
+
+276 \18
+boÞ
+       $__gl_tim\96\9ae_þ\97r_£l_li¡
+(
+gl_tim\96\9ae_s
+ *
+tim\96\9ae_d
+)
+
+278 
+       `GL_CHECK_FALSE
+(
+tim\96\9ae_d
+);
+
+279 ià(
+tim\96\9ae_d
+->
+£l_d
+ =ð
+NULL
+)
+
+280 \15 
+çl£
+;
+
+282 \ 5*
+\99em
+ = 
+NULL
+;
+
+283 
+       `EINA_LIST_FREE
+(
+tim\96\9ae_d
+->
+£l_d
+->
+£l_li¡
+, 
+\99em
+) {
+
+284 
+       `GL_GFREEIF
+(
+\99em
+);
+
+286 
+tim\96\9ae_d
+->
+£l_d
+->
+£l_li¡
+ = 
+NULL
+;
+
+287 \15 
+çl£
+;
+
+288 
+       }
+}
+
+290 \18\12
+       $__gl_tim\96\9ae_g\91_£l_út
+(
+gl_tim\96\9ae_s
+ *
+tim\96\9ae_d
+)
+
+292 
+       `GL_CHECK_VAL
+(
+tim\96\9ae_d
+, 0);
+
+293 
+       `GL_CHECK_VAL
+(
+tim\96\9ae_d
+->
+£l_d
+, 0);
+
+294 \15 
+       `e\9aa_li¡_couÁ
+(
+tim\96\9ae_d
+->
+£l_d
+->
+£l_li¡
+);
+
+295 
+       }
+}
+
+297 \18
+boÞ
+       $__gl_tim\96\9ae_£l_­³nd_\99em
+(
+gl_tim\96\9ae_s
+ *
+tim\96\9ae_d
+, \ 5*
+uuid
+)
+
+299 
+       `GL_CHECK_FALSE
+(
+uuid
+);
+
+300 
+       `GL_CHECK_FALSE
+(
+tim\96\9ae_d
+);
+
+301 
+       `GL_CHECK_FALSE
+(
+tim\96\9ae_d
+->
+£l_d
+);
+
+303 
+E\9aa_Li¡
+ *
+l
+ = 
+NULL
+;
+
+304 \ 5*
+\99em
+ = 
+NULL
+;
+
+305 
+       `EINA_LIST_FOREACH
+(
+tim\96\9ae_d
+->
+£l_d
+->
+£l_li¡
+, 
+l
+, 
+\99em
+) {
+
+306 ià(
+\99em
+ && !
+       `g_¡rcmp0
+(\99em, 
+uuid
+)) {
+
+307 
+       `gl_dbgW
+("Appended!");
+
+308 \15 
+çl£
+;
+
+311 \ 5*
+tmp
+ = 
+       `g_¡rdup
+(
+uuid
+);
+
+312 
+       `GL_CHECK_FALSE
+(
+tmp
+);
+
+313 
+tim\96\9ae_d
+->
+£l_d
+->
+£l_li¡
+ = 
+       `e\9aa_li¡_­³nd
+(timeline_d->sel_d->sel_list,
+
+314 (\1e*)
+tmp
+);
+
+315 \15 
+\8cue
+;
+
+316 
+       }
+}
+
+318 \18
+boÞ
+       $__gl_tim\96\9ae_check_¥ec\9fl_f\9ee
+(
+gl_tim\96\9ae_s
+ *
+tim\96\9ae_d
+,
+
+319 
+gl_med\9f_s
+ *
+\99em
+, 
+boÞ
+b_­³nd
+)
+
+321 
+       `GL_CHECK_FALSE
+(
+\99em
+);
+
+322 
+       `GL_CHECK_FALSE
+(
+tim\96\9ae_d
+);
+
+323 
+       `GL_CHECK_FALSE
+(
+tim\96\9ae_d
+->
+£l_d
+);
+
+325 ià(
+b_­³nd
+) {
+
+326 ià(
+\99em
+->
+ty³
+ =ð
+MEDIA_CONTENT_TYPE_IMAGE
+) {
+
+327 
+tim\96\9ae_d
+->
+£l_d
+->
+image_út
+++;
+
+328 ià(
+\99em
+->
+ext
+ !ð
+NULL
+ &&
+
+329 !
+       `¡rÿ£cmp
+(
+\99em
+->
+ext
+, 
+GL_JPEG_FILE_EXT
+) &&
+
+330 
+       `_gl_exif_check_img_ty³
+(
+\99em
+->
+f\9ee_u¾
+))
+
+331 
+tim\96\9ae_d
+->
+£l_d
+->
+jpge_út
+++;
+
+334 ià(
+\99em
+->
+ty³
+ =ð
+MEDIA_CONTENT_TYPE_IMAGE
+) {
+
+335 ià(
+tim\96\9ae_d
+->
+£l_d
+->
+image_út
+ > 0)
+
+336 
+tim\96\9ae_d
+->
+£l_d
+->
+image_út
+--;
+
+338 
+       `gl_dbgW
+("Image count is 0!");
+
+339 ià(
+\99em
+->
+ext
+ !ð
+NULL
+ &&
+
+340 !
+       `¡rÿ£cmp
+(
+\99em
+->
+ext
+, 
+GL_JPEG_FILE_EXT
+) &&
+
+341 
+       `_gl_exif_check_img_ty³
+(
+\99em
+->
+f\9ee_u¾
+)) {
+
+342 ià(
+tim\96\9ae_d
+->
+£l_d
+->
+jpge_út
+ > 0)
+
+343 
+tim\96\9ae_d
+->
+£l_d
+->
+jpge_út
+--;
+
+345 
+       `gl_dbgW
+("JPG count is 0!");
+
+349 \15 
+\8cue
+;
+
+350 
+       }
+}
+
+352 \12
+       $__gl_tim\96\9ae_check_b\8as_¡©e
+(
+gl_tim\96\9ae_s
+ *
+tim\96\9ae_d
+, \12
+®l_út
+,
+
+353 \12
+£l_út
+)
+
+355 
+       `GL_CHECK_VAL
+(
+tim\96\9ae_d
+, -1);
+
+356 
+       `GL_CHECK_VAL
+(
+tim\96\9ae_d
+->
+ad
+, -1);
+
+357 
+       `GL_CHECK_VAL
+(
+tim\96\9ae_d
+->
+£l_d
+, -1);
+
+358 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+tim\96\9ae_d
+->ad;
+
+360 
+       `gl_dbg
+("£l_út/®l_ú\88ð%d/%d", 
+£l_út
+, 
+®l_út
+);
+
+361 ià(
+£l_út
+ > 
+®l_út
+) {
+
+362 
+       `gl_dbgE
+("selected_cnt >\87ll_cnt!");
+
+364 } \vià(
+£l_út
+ =ð
+®l_út
+) {
+
+365 
+ad
+->
+£l\9afo
+.
+ck_¡©e
+ = 
+EINA_TRUE
+;
+
+367 
+ad
+->
+£l\9afo
+.
+ck_¡©e
+ = 
+EINA_FALSE
+;
+
+370 ià(
+ad
+->
+£l\9afo
+.
+£Ëù®l_ck
+) {
+
+371 
+       `\96m_check_¡©e_£t
+(
+ad
+->
+£l\9afo
+.
+£Ëù®l_ck
+,\87d->£l\9afo.
+ck_¡©e
+);
+
+375 ià(
+£l_út
+ > 0) {
+
+376 
+       `gl_dbg
+("v\9bw_m: %d", 
+ad
+->
+\8e\9afo
+->
+v\9bw_m
+);
+
+377 ià(
+ad
+->
+\8e\9afo
+->
+v\9bw_m
+ =ð
+GL_TL_VIEW_EDIT
+) {
+
+381 
+       `_gl_ui_di§bË_m\92u
+(
+tim\96\9ae_d
+->
+nf_\99
+, 
+çl£
+);
+
+382 
+       `_gl_ù¾_di§bË_\99ems
+(
+tim\96\9ae_d
+->
+nf_\99
+, 
+çl£
+);
+
+384 
+       `_gl_ù¾_di§bË_\99ems
+(
+tim\96\9ae_d
+->
+nf_\99
+, 
+çl£
+);
+
+388 
+       `_gl_ui_di§bË_m\92u
+(
+tim\96\9ae_d
+->
+nf_\99
+, 
+\8cue
+);
+
+389 
+       `_gl_ù¾_di§bË_\99ems
+(
+tim\96\9ae_d
+->
+nf_\99
+, 
+\8cue
+);
+
+393 
+       }
+}
+
+395 \18
+boÞ
+       $__gl_tim\96\9ae_£l_»move_\99em
+(
+gl_tim\96\9ae_s
+ *
+tim\96\9ae_d
+, \ 5*
+uuid
+)
+
+397 
+       `GL_CHECK_FALSE
+(
+uuid
+);
+
+398 
+       `GL_CHECK_FALSE
+(
+tim\96\9ae_d
+);
+
+399 
+       `GL_CHECK_FALSE
+(
+tim\96\9ae_d
+->
+£l_d
+);
+
+401 
+E\9aa_Li¡
+ *
+l
+ = 
+NULL
+;
+
+402 \ 5*
+\99em
+ = 
+NULL
+;
+
+403 
+       `EINA_LIST_FOREACH
+(
+tim\96\9ae_d
+->
+£l_d
+->
+£l_li¡
+, 
+l
+, 
+\99em
+) {
+
+404 ià(
+\99em
+ && !
+       `g_¡rcmp0
+(\99em, 
+uuid
+)) {
+
+405 
+tim\96\9ae_d
+->
+£l_d
+->
+£l_li¡
+ = 
+       `e\9aa_li¡_»move
+(timeline_d->sel_d->sel_list,
+
+406 (\1e*)
+\99em
+);
+
+407 
+       `GL_GFREE
+(
+\99em
+);
+
+408 \15 
+\8cue
+;
+
+411 \15 
+çl£
+;
+
+412 
+       }
+}
+
+415 \18\12
+       $__gl_tim\96\9ae_upd©e_£l_li¡
+(
+gl_tim\96\9ae_s
+ *
+tim\96\9ae_d
+)
+
+417 
+       `GL_CHECK_VAL
+(
+tim\96\9ae_d
+, -1);
+
+418 
+       `GL_CHECK_VAL
+(
+tim\96\9ae_d
+->
+£l_d
+, -1);
+
+419 \12
+»t
+ = -1;
+
+420 
+E\9aa_Li¡
+ *
+Ãw_l
+ = 
+NULL
+;
+
+421 
+E\9aa_Li¡
+ *
+li¡
+ = 
+NULL
+;
+
+423 
+»t
+ = 
+       `_gl_d©a_g\91_\99ems
+(
+GL_GET_ALL_RECORDS
+, GL_GET_ALL_RECORDS, &
+li¡
+);
+
+424 ià(
+»t
+ !ð0 || !
+li¡
+)
+
+425 
+       `gl_dbgW
+("Empty!");
+
+428 
+       `__gl_tim\96\9ae_þ\97r_£l_út
+(
+tim\96\9ae_d
+);
+
+430 
+gl_med\9f_s
+ *
+\99em
+ = 
+NULL
+;
+
+431 \ 5*
+tmp
+ = 
+NULL
+;
+
+432 
+       `EINA_LIST_FREE
+(
+li¡
+, 
+\99em
+) {
+
+433 ià(!
+\99em
+ || !\99em->
+uuid
+)
+
+435 ià(
+       `__gl_tim\96\9ae_£l_»move_\99em
+(
+tim\96\9ae_d
+, 
+\99em
+->
+uuid
+)) {
+
+436 
+tmp
+ = 
+       `g_¡rdup
+(
+\99em
+->
+uuid
+);
+
+437 
+Ãw_l
+ = 
+       `e\9aa_li¡_­³nd
+Òew_l, (\1e*)
+tmp
+);
+
+438 
+       `__gl_tim\96\9ae_check_¥ec\9fl_f\9ee
+(
+tim\96\9ae_d
+, 
+\99em
+, 
+\8cue
+);
+
+440 
+       `_gl_d©a_ty³_ä\93_gl\99em
+((\1e**)(&
+\99em
+));
+
+441 
+\99em
+ = 
+NULL
+;
+
+442 
+tmp
+ = 
+NULL
+;
+
+445 
+       `__gl_tim\96\9ae_þ\97r_£l_li¡
+(
+tim\96\9ae_d
+);
+
+447 
+       }
+}
+
+449 \18\12
+       $__gl_tim\96\9ae_check_Ý
+(
+gl_\8ep_s
+ *
+\99_d
+, 
+Evas_Objeù
+ *
+obj
+, \12
+\9adex
+)
+
+451 
+       `GL_CHECK_VAL
+(
+obj
+, -1);
+
+452 
+       `GL_CHECK_VAL
+(
+\99_d
+, -1);
+
+453 
+       `GL_CHECK_VAL
+(
+\99_d
+->
+tim\96\9ae_d
+, -1);
+
+454 
+       `GL_CHECK_VAL
+(
+\99_d
+->
+tim\96\9ae_d
+->
+ad
+, -1);
+
+455 
+       `gl_dbg
+("\9adex: %d", 
+\9adex
+);
+
+456 
+       `gl_dbg
+("¡¬t_pos-%d,\83nd_pos-%d", 
+\99_d
+->
+¡¬t_pos
+, it_d->
+\92d_pos
+);
+
+458 #ifdeà
+_USE_SVI
+
+
+460 
+       `_gl_¶ay_sound
+(
+\99_d
+->
+tim\96\9ae_d
+->
+ad
+);
+
+463 
+E\9aa_Li¡
+ *
+li¡
+ = 
+NULL
+;
+
+464 
+       `_gl_d©a_g\91_\99ems
+(
+\99_d
+->
+¡¬t_pos
+, it_d->
+\92d_pos
+, &
+li¡
+);
+
+465 ià(
+li¡
+ =ð
+NULL
+) {
+
+466 
+       `gl_dbgW
+("Empty\86ist!");
+
+470 
+gl_med\9f_s
+ *
+\99em
+ = 
+NULL
+;
+
+471 
+\99em
+ = 
+       `e\9aa_li¡_Áh
+(
+li¡
+, 
+\9adex
+);
+
+473 
+E\9aa_BoÞ
+checked
+ = 
+       `\96m_check_¡©e_g\91
+(
+obj
+);
+
+474 
+       `gl_dbg
+("checked: %d", 
+checked
+);
+
+475 
+       `gl_sdbg
+("uuid: %s", 
+\99em
+->
+uuid
+);
+
+477 ià(
+checked
+) {
+
+478 
+       `__gl_tim\96\9ae_check_¥ec\9fl_f\9ee
+(
+\99_d
+->
+tim\96\9ae_d
+, 
+\99em
+, 
+\8cue
+);
+
+479 
+       `__gl_tim\96\9ae_£l_­³nd_\99em
+(
+\99_d
+->
+tim\96\9ae_d
+, 
+\99em
+->
+uuid
+);
+
+481 
+       `__gl_tim\96\9ae_check_¥ec\9fl_f\9ee
+(
+\99_d
+->
+tim\96\9ae_d
+, 
+\99em
+, 
+çl£
+);
+
+482 
+       `__gl_tim\96\9ae_£l_»move_\99em
+(
+\99_d
+->
+tim\96\9ae_d
+, 
+\99em
+->
+uuid
+);
+
+486 \12
+£l_út
+ = 
+       `__gl_tim\96\9ae_g\91_£l_út
+(
+\99_d
+->
+tim\96\9ae_d
+);
+
+487 
+       `_gl_ui_upd©e_Çvi_t\99Ë_\8bxt
+(
+\99_d
+->
+tim\96\9ae_d
+->
+nf_\99
+, 
+£l_út
+, 
+çl£
+);
+
+489 
+       `__gl_tim\96\9ae_check_b\8as_¡©e
+(
+\99_d
+->
+tim\96\9ae_d
+, it_d->tim\96\9ae_d->
+couÁ
+,
+
+490 
+£l_út
+);
+
+492 
+       `_gl_d©a_ty³_ä\93_med\9f_li¡
+(&
+li¡
+);
+
+494 
+       }
+}
+
+497 \18\12
+       $__gl_tim\96\9ae_thumb_check_Ý
+(
+gl_tim\96\9ae_s
+ *
+\99_d
+, 
+Evas_Objeù
+ *
+obj
+, 
+gl_med\9f_s
+ *
+\99em
+)
+
+499 
+       `GL_CHECK_VAL
+(
+obj
+, -1);
+
+500 
+       `GL_CHECK_VAL
+(
+\99_d
+, -1);
+
+501 
+       `GL_CHECK_VAL
+(
+\99_d
+->
+ad
+, -1);
+
+502 
+       `GL_CHECK_VAL
+(
+\99em
+, -1);
+
+504 #ifdeà
+_USE_SVI
+
+
+506 
+       `_gl_¶ay_sound
+(
+\99_d
+->
+ad
+);
+
+509 
+E\9aa_BoÞ
+checked
+ = 
+       `\96m_check_¡©e_g\91
+(
+obj
+);
+
+510 
+\99em
+->
+check_¡©e
+ = 
+checked
+;
+
+511 ià(
+checked
+) {
+
+512 
+       `__gl_tim\96\9ae_check_¥ec\9fl_f\9ee
+(
+\99_d
+, 
+\99em
+, 
+\8cue
+);
+
+513 
+       `__gl_tim\96\9ae_£l_­³nd_\99em
+(
+\99_d
+, 
+\99em
+->
+uuid
+);
+
+515 
+       `__gl_tim\96\9ae_check_¥ec\9fl_f\9ee
+(
+\99_d
+, 
+\99em
+, 
+çl£
+);
+
+516 
+       `__gl_tim\96\9ae_£l_»move_\99em
+(
+\99_d
+, 
+\99em
+->
+uuid
+);
+
+520 \12
+£l_út
+ = 
+       `__gl_tim\96\9ae_g\91_£l_út
+(
+\99_d
+);
+
+521 
+       `_gl_ui_upd©e_Çvi_t\99Ë_\8bxt
+(
+\99_d
+->
+nf_\99
+, 
+£l_út
+, 
+çl£
+);
+
+523 
+       `__gl_tim\96\9ae_check_b\8as_¡©e
+(
+\99_d
+, it_d->
+couÁ
+,
+
+524 
+£l_út
+);
+
+527 
+       }
+}
+
+529 \18\1e
+       $__gl_tim\96\9ae_thumbs_check_chªged
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+531 
+       `GL_CHECK
+(
+obj
+);
+
+532 
+       `GL_CHECK
+(
+d©a
+);
+
+533 
+gl_med\9f_s
+ *
+g\99em
+ = (gl_med\9f_ *)
+d©a
+;
+
+534 
+gl_tim\96\9ae_s
+ *
+td
+ = 
+       `evas_objeù_d©a_g\91
+(
+obj
+, "data");
+
+535 
+       `GL_CHECK
+(
+td
+);
+
+537 
+       `__gl_tim\96\9ae_thumb_check_Ý
+(
+td
+, 
+obj
+, 
+g\99em
+);
+
+538 
+       }
+}
+
+541 \18\12
+       $__gl_tim\96\9ae_Ý\92_f\9ee
+(
+gl_\8ep_s
+ *
+\99_d
+, \12
+\9adex
+)
+
+543 
+       `GL_CHECK_VAL
+(
+\99_d
+, -1);
+
+544 
+       `GL_CHECK_VAL
+(
+\99_d
+->
+tim\96\9ae_d
+, -1);
+
+545 
+       `GL_CHECK_VAL
+(
+\99_d
+->
+tim\96\9ae_d
+->
+ad
+, -1);
+
+546 
+       `gl_dbg
+("\9adex: %d", 
+\9adex
+);
+
+547 
+       `gl_dbg
+("¡¬t_pos-%d,\83nd_pos-%d", 
+\99_d
+->
+¡¬t_pos
+, it_d->
+\92d_pos
+);
+
+549 #ifdeà
+_USE_SVI
+
+
+551 
+       `_gl_¶ay_sound
+(
+\99_d
+->
+tim\96\9ae_d
+->
+ad
+);
+
+554 
+E\9aa_Li¡
+ *
+li¡
+ = 
+NULL
+;
+
+555 
+       `_gl_d©a_g\91_\99ems
+(
+\99_d
+->
+¡¬t_pos
+, it_d->
+\92d_pos
+, &
+li¡
+);
+
+556 ià(
+li¡
+ =ð
+NULL
+) {
+
+557 
+       `gl_dbgW
+("Empty\86ist!");
+
+560 
+gl_med\9f_s
+ *
+\99em
+ = 
+NULL
+;
+
+561 
+\99em
+ = 
+       `e\9aa_li¡_Áh
+(
+li¡
+, 
+\9adex
+);
+
+563 ià(
+\99em
+ && i\8bm->
+f\9ee_u¾
+)
+
+564 
+       `_gl_ext_lßd_iv_tim\96\9ae
+(
+\99_d
+->
+tim\96\9ae_d
+->
+ad
+, 
+\99em
+->
+f\9ee_u¾
+,
+
+565 (
+\99_d
+->
+¡¬t_pos
+ + 
+\9adex
+ + 1));
+
+567 
+       `gl_dbgW
+("Image wasn't found!");
+
+568 
+       `_gl_d©a_ty³_ä\93_med\9f_li¡
+(&
+li¡
+);
+
+570 
+       }
+}
+
+572 \18\1e
+       $__gl_tim\96\9ae_mou£_down
+(\1e*
+d©a
+, 
+Evas
+ *
+e
+, 
+Evas_Objeù
+ *
+obj
+,
+
+573 \1e*
+ei
+)
+
+575 
+       `GL_CHECK
+(
+ei
+);
+
+576 
+       `GL_CHECK
+(
+d©a
+);
+
+577 
+gl_\8ep_s
+ *
+\99_d
+ = (gl_\8ep_ *)
+d©a
+;
+
+578 
+       `GL_CHECK
+(
+\99_d
+->
+tim\96\9ae_d
+);
+
+579 
+Evas_Ev\92t_Mou£_Down
+ *
+ev
+ = (Evas_Ev\92t_Mou£_DowÀ*)
+ei
+;
+
+581 
+\99_d
+->
+tim\96\9ae_d
+->
+mou£
+.
+x
+ = 
+ev
+->
+ou\8dut
+.x;
+
+582 
+\99_d
+->
+tim\96\9ae_d
+->
+mou£
+.
+y
+ = 
+ev
+->
+ou\8dut
+.y;
+
+583 
+       }
+}
+
+585 \18\1e
+       $__gl_tim\96\9ae_mou£_up
+(\1e*
+d©a
+, 
+Evas
+ *
+e
+, 
+Evas_Objeù
+ *
+obj
+,
+
+586 \1e*
+ei
+)
+
+588 
+       `GL_CHECK
+(
+ei
+);
+
+589 
+       `GL_CHECK
+(
+d©a
+);
+
+590 
+gl_\8ep_s
+ *
+\99_d
+ = (gl_\8ep_ *)
+d©a
+;
+
+591 
+       `GL_CHECK
+(
+\99_d
+->
+tim\96\9ae_d
+);
+
+592 
+       `GL_CHECK
+(
+\99_d
+->
+tim\96\9ae_d
+->
+ad
+);
+
+594 ià(!
+ei
+ || !
+obj
+)
+
+597 
+Evas_Ev\92t_Mou£_Up
+ *
+ev
+ = (Evas_Ev\92t_Mou£_U°*)
+ei
+;
+
+598 ià(
+ev
+->
+ev\92t_æags
+ & 
+EVAS_EVENT_FLAG_ON_HOLD
+ ||
+
+599 
+ev
+->
+ev\92t_æags
+ & 
+EVAS_EVENT_FLAG_ON_SCROLL
+)
+
+602 ià((
+       `abs
+(
+\99_d
+->
+tim\96\9ae_d
+->
+mou£
+.
+x
+ - 
+ev
+->
+ou\8dut
+.xè> 
+GL_MOUSE_RANGE
+) ||
+
+603 (
+       `abs
+(
+\99_d
+->
+tim\96\9ae_d
+->
+mou£
+.
+y
+ - 
+ev
+->
+ou\8dut
+.yè> 
+GL_MOUSE_RANGE
+))
+
+606 \12
+§ved_i
+ = 0;
+
+607 #ifdeà
+_USE_ROTATE_BG
+
+
+608 
+       `_gl_rÙ©e_bg_g\91_d©a
+(
+obj
+, (\1e**)(&
+§ved_i
+));
+
+610 ià(
+\99_d
+->
+tim\96\9ae_d
+->
+v\9bw_m
+ !ð
+GL_TL_VIEW_NORMAL
+) {
+
+611 \ 5*
+·¹
+ = 
+NULL
+;
+
+612 
+·¹
+ = 
+       `g_¡rdup_´\9atf
+(
+GL_TL_CHECKBOX_FORMAT
+, 
+\99_d
+->
+couÁ
+,
+
+613 
+§ved_i
+ + 1);
+
+614 
+Evas_Objeù
+ *
+ck
+ = 
+NULL
+;
+
+615 
+ck
+ = 
+       `\96m_objeù_·¹_cÚ\8bÁ_g\91
+(
+\99_d
+->
+Ïyout
+, 
+·¹
+);
+
+616 
+       `GL_FREEIF
+(
+·¹
+);
+
+617 
+       `\96m_check_¡©e_£t
+(
+ck
+, !
+       `\96m_check_¡©e_g\91
+(ck));
+
+618 
+       `__gl_tim\96\9ae_check_Ý
+(
+\99_d
+, 
+ck
+, 
+§ved_i
+);
+
+620 
+       `__gl_tim\96\9ae_Ý\92_f\9ee
+(
+\99_d
+, 
+§ved_i
+);
+
+622 
+       }
+}
+
+624 \18\12
+       $__gl_tim\96\9ae_þ\97r_bg_d©a
+(
+Evas_Objeù
+ *
+bg
+)
+
+626 
+       `GL_CHECK_VAL
+(
+bg
+, -1);
+
+627 
+gl_med\9f_s
+ *
+\99em
+ = 
+NULL
+;
+
+628 
+gl_tim\96\9ae_s
+ *
+tim\96\9ae_d
+ = 
+NULL
+;
+
+630 
+\99em
+ = (
+gl_med\9f_s
+ *)
+       `evas_objeù_d©a_g\91
+(
+bg
+, 
+GL_TL_TILE_DATA_KEY
+);
+
+631 ià(
+\99em
+) {
+
+632 
+       `gl_dbg
+("Free media item!");
+
+633 
+       `_gl_d©a_ty³_ä\93_gl\99em
+((\1e**)(&
+\99em
+));
+
+635 
+       `evas_objeù_d©a_d\96
+(
+bg
+, 
+GL_TL_TILE_DATA_KEY
+);
+
+637 
+tim\96\9ae_d
+ = (
+gl_tim\96\9ae_s
+ *)
+       `evas_objeù_d©a_g\91
+(
+bg
+, 
+GL_TL_DATA_KEY
+);
+
+638 ià(
+tim\96\9ae_d
+ &&\81im\96\9ae_d->
+thumbs
+) {
+
+639 
+       `gl_dbg
+("Remove object!");
+
+640 
+tim\96\9ae_d
+->
+thumbs
+ = 
+       `e\9aa_li¡_»move
+(timeline_d->thumbs,
+
+641 (\1e*)
+bg
+);
+
+644 
+       }
+}
+
+646 \18\1e
+       $__gl_tim\96\9ae_d\96_bg_cb
+(\1e*
+d©a
+, 
+Evas
+ *
+e
+, 
+Evas_Objeù
+ *
+obj
+,
+
+647 \1e*
+ei
+)
+
+649 
+       `gl_dbgW
+("Delete bg ---");
+
+650 
+       `__gl_tim\96\9ae_þ\97r_bg_d©a
+(
+obj
+);
+
+652 
+       `evas_objeù_ev\92t_ÿÎback_d\96
+(
+obj
+, 
+EVAS_CALLBACK_MOUSE_DOWN
+,
+
+653 
+__gl_tim\96\9ae_mou£_down
+);
+
+654 
+       `evas_objeù_ev\92t_ÿÎback_d\96
+(
+obj
+, 
+EVAS_CALLBACK_MOUSE_UP
+,
+
+655 
+__gl_tim\96\9ae_mou£_up
+);
+
+656 
+       `gl_dbgW
+("Delete bg +++");
+
+657 
+       }
+}
+
+659 \18
+Evas_Objeù
+ *
+       $__gl_tim\96\9ae_add_·ge_bg
+(
+Evas_Objeù
+ *
+Ïyout
+,
+
+660 cڡ \ 5*
+·¹
+,
+
+661 \1d\12
\9bÁ
+, \ 5*
+·th
+,
+
+662 \12
+w
+, \12
+h
+)
+
+664 
+       `GL_CHECK_NULL
+(
+Ïyout
+);
+
+665 #ifdeà
+_USE_ROTATE_BG
+
+
+666 
+Evas_Objeù
+ *
+bg
+ = 
+       `_gl_r٩e_bg_add
+(
+Ïyout
+, 
+çl£
+);
+
+667 
+       `GL_CHECK_NULL
+(
+bg
+);
+
+669 
+       `_gl_rÙ©e_bg_£t_f\9ee
+(
+bg
+, 
+·th
+, 
+w
+, 
+h
+);
+
+670 
+       `_gl_r٩e_bg_r٩e_image
+(
+bg
+, 
\9bÁ
+);
+
+672 
+       `gl_dbg
+("·¹-%s", 
+·¹
+);
+
+673 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+Ïyout
+, 
+·¹
+, 
+bg
+);
+
+674 \15 
+bg
+;
+
+676 \15 
+NULL
+;
+
+678 
+       }
+}
+
+680 \18\1e
+       $__gl_tim\96\9ae_check_chªged
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+682 
+       `GL_CHECK
+(
+d©a
+);
+
+683 
+gl_\8ep_s
+ *
+\99_d
+ = (gl_\8ep_ *)
+d©a
+;
+
+685 \12
+idx
+ = (\12)
+       `evas_objeù_d©a_g\91
+(
+obj
+, "gl_tl_idx_key");
+
+686 
+       `__gl_tim\96\9ae_check_Ý
+(
+\99_d
+, 
+obj
+, 
+idx
+);
+
+687 
+       }
+}
+
+689 \18
+Evas_Objeù
+ *
+       $__gl_tim\96\9ae_add_ck
+(
+Evas_Objeù
+ *
+Ïyout
+,
+
+690 cڡ \ 5*
+·¹
+, 
+boÞ
+b_checked
+,
+
+691 
+gl_\8ep_s
+ *
+\99_d
+)
+
+693 
+       `GL_CHECK_NULL
+(
+Ïyout
+);
+
+694 
+Evas_Objeù
+ *
+ck
+ = 
+NULL
+;
+
+695 
+ck
+ = 
+       `_gl_thumb_show_checkbox
+(
+Ïyout
+, 
+b_checked
+,
+
+696 
+__gl_tim\96\9ae_check_chªged
+, 
+\99_d
+);
+
+697 
+       `gl_dbg
+("·¹-%s", 
+·¹
+);
+
+698 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+Ïyout
+, 
+·¹
+, 
+ck
+);
+
+699 \15 
+ck
+;
+
+700 
+       }
+}
+
+702 \18
+Evas_Objeù
+ *
+       $__gl_tim\96\9ae_add_·ge_ly
+(
+Evas_Objeù
+ *
+·»Á
+,
+
+703 
+gl_\8ep_s
+ *
+\99_d
+)
+
+705 
+       `GL_CHECK_NULL
+(
+\99_d
+);
+
+706 
+       `GL_CHECK_NULL
+(
+·»Á
+);
+
+707 
+Evas_Objeù
+ *
+ly
+ = 
+NULL
+;
+
+709 \ 5*
+group
+ = 
+NULL
+;
+
+710 ià(
+\99_d
+->
+h
+ > it_d->
+w
+)
+
+711 
+group
+ = 
+       `g_¡rdup_´\9atf
+("g®Ëry/tim\96\9ae_%d", 
+\99_d
+->
+couÁ
+);
+
+713 
+group
+ = 
+       `g_¡rdup_´\9atf
+("g®Ëry/tim\96\9ae_%dl", 
+\99_d
+->
+couÁ
+);
+
+715 
+ly
+ = 
+       `gl_ui_lßd_edj
+(
+·»Á
+, 
+GL_EDJ_FILE
+, 
+group
+);
+
+716 
+       `GL_GFREE
+(
+group
+);
+
+717 
+       `GL_CHECK_NULL
+(
+ly
+);
+
+719 
+Evas_Objeù
+ *
+bg
+ = 
+       `evas_objeù_»ùªgË_add
+(
+       `evas_objeù_evas_g\91
+(
+ly
+));
+
+720 ià(!
+bg
+) {
+
+721 
+       `evas_objeù_d\96
+(
+ly
+);
+
+722 \15 
+NULL
+;
+
+725 
+       `evas_objeù_cÞÜ_£t
+(
+bg
+, 0, 0, 0, 0);
+
+726 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+ly
+, "bg_c", 
+bg
+);
+
+728 
+       `evas_objeù_show
+(
+ly
+);
+
+729 \15 
+ly
+;
+
+730 
+       }
+}
+
+733 \18
+boÞ
+       $__gl_tim\96\9ae_is_ye¡\94day
+(\19
+tm
+ *
+»q_tm
+, \19tm *
+now_tm
+)
+
+735 ià(
+now_tm
+->
+tm_yday
+ == 0) {
+
+736 ià(
+»q_tm
+->
+tm_y\97r
+ =ð
+now_tm
+->tm_year - 1 &&
+
+737 
+»q_tm
+->
+tm_mÚ
+ =ð11 &&\84eq_tm->
+tm_mday
+ == 31)
+
+738 \15 
+\8cue
+;
+
+740 \15 
+çl£
+;
+
+742 ià(
+»q_tm
+->
+tm_y\97r
+ =ð
+now_tm
+->tm_year &&
+
+743 
+»q_tm
+->
+tm_yday
+ =ð
+now_tm
+->tm_yday - 1)
+
+744 \15 
+\8cue
+;
+
+746 \15 
+çl£
+;
+
+748 
+       }
+}
+
+750 \18
+boÞ
+       $__gl_tim\96\9ae_is_today
+(\19
+tm
+ *
+»q_tm
+, \19tm *
+now_tm
+)
+
+752 ià(
+»q_tm
+->
+tm_y\97r
+ =ð
+now_tm
+->tm_year &&
+
+753 
+»q_tm
+->
+tm_yday
+ =ð
+now_tm
+->tm_yday)
+
+754 \15 
+\8cue
+;
+
+756 \15 
+çl£
+;
+
+757 
+       }
+}
+
+760 \18\12
+       $__gl_tim\96\9ae_g\91_tm
+(
+time_t
+mtime1
+,\81ime_\88
+mtime2
+, \19
+tm
+ *
+t1
+,
+
+761 \19
+tm
+ *
+t2
+)
+
+763 
+       `GL_CHECK_VAL
+(
+t1
+, -1);
+
+764 
+       `GL_CHECK_VAL
+(
+t2
+, -1);
+
+766 
+       `mem£t
+(
+t1
+, 0x00, \17(\19
+tm
+));
+
+767 
+       `loÿÉime_r
+(&
+mtime1
+, 
+t1
+);
+
+768 
+       `mem£t
+(
+t2
+, 0x00, \17(\19
+tm
+));
+
+769 
+       `loÿÉime_r
+(&
+mtime2
+, 
+t2
+);
+
+771 
+       }
+}
+
+775 \18
+boÞ
+       $__gl_tim\96\9ae_is_tm_chªged
+(\19
+tm
+t1
+, \19tm 
+t2
+,
+
+776 
+gl_tm_s
+ *
+tms
+, gl_tm_ *
+tme
+)
+
+778 
+       `GL_CHECK_FALSE
+(
+tms
+);
+
+779 
+       `GL_CHECK_FALSE
+(
+tme
+);
+
+781 
+       `gl_dbgW
+("%d/%d/%d-%d/%d/%d =? %d/%d/%d-%d/%d/%d!", 
+t1
+.
+tm_y\97r
+,\811.
+tm_mÚ
+,
+
+782 
+t1
+.
+tm_mday
+, 
+t2
+.
+tm_y\97r
+,\812.
+tm_mÚ
+,\812.tm_mday, 
+tms
+->tm_year,
+
+783 
+tms
+->
+tm_mÚ
+,\81ms->
+tm_mday
+, 
+tme
+->
+tm_y\97r
+,\81me->tm_mon,
+
+784 
+tme
+->
+tm_mday
+);
+
+786 ià(
+tms
+->
+tm_y\97r
+ =ð
+t1
+.tm_y\97¸&&\81ms->
+tm_mÚ
+ ==\811.tm_mon &&
+
+787 
+tms
+->
+tm_mday
+ =ð
+t1
+.tm_mday && 
+tme
+->
+tm_y\97r
+ =ð
+t2
+.tm_year &&
+
+788 
+tme
+->
+tm_mÚ
+ =ð
+t2
+.tm_mÚ &&\81me->
+tm_mday
+ ==\812.tm_mday)
+
+789 \15 
+çl£
+;
+
+791 
+tms
+->
+tm_y\97r
+ = 
+t1
+.tm_year;
+
+792 
+tms
+->
+tm_mÚ
+ = 
+t1
+.tm_mon;
+
+793 
+tms
+->
+tm_mday
+ = 
+t1
+.tm_mday;
+
+795 
+tme
+->
+tm_y\97r
+ = 
+t2
+.tm_year;
+
+796 
+tme
+->
+tm_mÚ
+ = 
+t2
+.tm_mon;
+
+797 
+tme
+->
+tm_mday
+ = 
+t2
+.tm_mday;
+
+798 \15 
+\8cue
+;
+
+799 
+       }
+}
+
+803 \18\12
+       $__gl_tim\96\9ae_g\91_mtime_¡r
+(\19
+tm
+t1
+, \19tm 
+t2
+, \ 5**
+¡r1
+,
+
+804 \ 5**
+¡r2
+)
+
+806 
+       `GL_CHECK_VAL
+(
+¡r1
+, -1);
+
+807 
+       `GL_CHECK_VAL
+(
+¡r2
+, -1);
+
+808 \19
+tm
+;
+
+809 
+time_t
+ùime
+ = 0;
+
+810 cڡ \ 5*
+´efix1
+ = "";
+
+811 cڡ \ 5*
+´efix2
+ = "";
+
+814 \ 5*
+mÚth
+[12] = { 
+GL_STR_ID_JAN
+, 
+GL_STR_ID_FEB
+, 
+GL_STR_ID_MAR
+, 
+GL_STR_ID_APR
+, 
+GL_STR_ID_MAY
+, 
+GL_STR_ID_JUN
+,
+
+815 
+GL_STR_ID_JUL
+, 
+GL_STR_ID_AUG
+, 
+GL_STR_ID_SEP
+, 
+GL_STR_ID_OCT
+, 
+GL_STR_ID_NOV
+, 
+GL_STR_ID_DEC
+};
+
+818 
+       `mem£t
+(&
+, 0x00, \17(\19
+tm
+));
+
+819 
+       `time
+(&
+ùime
+);
+
+820 
+       `loÿÉime_r
+(&
+ùime
+, &
+);
+
+822 ià(
+t1
+.
+tm_y\97r
+ =ð
+t2
+.tm_y\97¸&&\811.
+tm_mÚ
+ ==\812.tm_mon &&
+
+823 
+t1
+.
+tm_mday
+ =ð
+t2
+.tm_mday) {
+
+825 ià(
+       `__gl_tim\96\9ae_is_today
+(&
+t1
+, &
+)) {
+
+827 *
+¡r1
+ = 
+       `g_¡rdup_´\9atf
+("%s%s", 
+´efix1
+,
+
+828 
+GL_STR_TODAY
+);
+
+829 *
+¡r2
+ = 
+       `g_¡rdup_´\9atf
+("%s%s", 
+´efix2
+,
+
+833 } \vià(
+t1
+.
+tm_y\97r
+ =ð
+t2
+.tm_y\97¸&&\811.
+tm_mÚ
+ ==\812.tm_mon) {
+
+835 ià(
+       `__gl_tim\96\9ae_is_ye¡\94day
+(&
+t1
+, &
+)) {
+
+837 *
+¡r1
+ = 
+       `g_¡rdup_´\9atf
+("%s%s", 
+´efix1
+,
+
+838 
+GL_STR_YESTERDAY
+);
+
+839 *
+¡r2
+ = 
+       `g_¡rdup_´\9atf
+("%s%s", 
+´efix2
+,
+
+843 *
+¡r2
+ = 
+       `g_¡rdup_´\9atf
+("%s%d.%02d.%02d ~ %02d.%02d", 
+´efix2
+,
+
+844 
+GL_DEFAULT_YEAR
+ + 
+t2
+.
+tm_y\97r
+,
+
+845 
+t2
+.
+tm_mÚ
+ + 1,\812.
+tm_mday
+,
+
+846 
+t1
+.
+tm_mÚ
+ + 1,\811.
+tm_mday
+);
+
+847 *
+¡r1
+ = 
+       `g_¡rdup_´\9atf
+("%s%02d %s", 
+´efix2
+,
+
+848 
+t1
+.
+tm_mday
+, 
+mÚth
+[t1.
+tm_mÚ
+]);
+
+849 } \vià(
+t1
+.
+tm_y\97r
+ =ð
+t2
+.tm_year) {
+
+851 *
+¡r2
+ = 
+       `g_¡rdup_´\9atf
+("%s%d.%02d.%02d ~ %02d.%02d", 
+´efix2
+,
+
+852 
+GL_DEFAULT_YEAR
+ + 
+t2
+.
+tm_y\97r
+,
+
+853 
+t2
+.
+tm_mÚ
+ + 1,\812.
+tm_mday
+,
+
+854 
+t1
+.
+tm_mÚ
+ + 1,\811.
+tm_mday
+);
+
+855 *
+¡r1
+ = 
+       `g_¡rdup_´\9atf
+("% %s", 
+´efix2
+, 
+mÚth
+[
+t1
+.
+tm_mÚ
+]);
+
+857 *
+¡r2
+ = 
+       `g_¡rdup_´\9atf
+("%s%d.%02d.%02d ~ %d.%02d.%02d",
+
+858 
+´efix2
+, 
+GL_DEFAULT_YEAR
+ + 
+t2
+.
+tm_y\97r
+,
+
+859 
+t2
+.
+tm_mÚ
+ + 1,\812.
+tm_mday
+,
+
+860 
+GL_DEFAULT_YEAR
+ + 
+t1
+.
+tm_y\97r
+,
+
+861 
+t1
+.
+tm_mÚ
+ + 1,\811.
+tm_mday
+);
+
+862 *
+¡r1
+ = 
+       `g_¡rdup_´\9atf
+("%s%d ", 
+´efix2
+, 
+GL_DEFAULT_YEAR
+ + 
+t1
+.
+tm_y\97r
+);
+
+865 
+       }
+}
+
+868 \18
+Evas_Objeù
+ *
+       $__gl_tim\96\9ae_add_t\99Ë
+(
+Evas_Objeù
+ *
+·»Á
+, \ 5*
+\8bxt1
+,
+
+869 \ 5*
+\8bxt2
+)
+
+871 
+       `gl_dbg
+("");
+
+872 
+       `GL_CHECK_NULL
+(
+·»Á
+);
+
+873 
+Evas_Objeù
+ *
+bx
+ = 
+NULL
+;
+
+874 
+Evas_Objeù
+ *
+d©a1
+ = 
+NULL
+;
+
+875 
+Evas_Objeù
+ *
+d©a2
+ = 
+NULL
+;
+
+876 \b
+sÿË
+ = 
+       `\96m_cÚfig_sÿË_g\91
+();
+
+878 ià(
+\8bxt2
+ =ð
+NULL
+)
+
+879 \10
+GL_UI_FAILED
+;
+
+881 
+bx
+ = 
+       `\96m_box_add
+(
+·»Á
+);
+
+882 
+       `GL_CHECK_NULL
+(
+bx
+);
+
+883 
+       `\96m_box_hÜizÚ\8fl_£t
+(
+bx
+, 
+EINA_TRUE
+);
+
+884 
+       `\96m_box_homog\92eous_£t
+(
+bx
+, 
+EINA_FALSE
+);
+
+885 
+       `evas_objeù_size_h\9at_weight_£t
+(
+bx
+, 
+EVAS_HINT_EXPAND
+, EVAS_HINT_EXPAND);
+
+886 
+       `evas_objeù_size_h\9at_®ign_£t
+(
+bx
+, 0.0, 0.5);
+
+887 
+       `\96m_box_®ign_£t
+(
+bx
+, 0.0, 0.5);
+
+889 
+Evas
+ *
+evas
+ = 
+       `evas_objeù_evas_g\91
+(
+·»Á
+);
+
+890 ià(
+evas
+ =ð
+NULL
+)
+
+891 \10
+GL_UI_FAILED
+;
+
+893 
+Evas_Objeù
+ *
+»ù1
+ = 
+       `evas_objeù_»ùªgË_add
+(
+evas
+);
+
+894 ià(
+»ù1
+ =ð
+NULL
+)
+
+895 \10
+GL_UI_FAILED
+;
+
+896 
+Evas_CoÜd
+·d_w
+ = (Evas_CoÜd)(11 * 
+sÿË
+);
+
+897 
+Evas_CoÜd
+·d_h
+ = (Evas_CoÜd)(
+GL_TIMELINE_TITLE_H
+ * 
+sÿË
+);
+
+898 
+       `evas_objeù_»size
+(
+»ù1
+, 
+·d_w
+, 
+·d_h
+);
+
+899 
+       `evas_objeù_size_h\9at_m\9a_£t
+(
+»ù1
+, 
+·d_w
+, 
+·d_h
+);
+
+900 
+       `evas_objeù_size_h\9at_max_£t
+(
+»ù1
+, 
+·d_w
+, 
+·d_h
+);
+
+901 
+       `\96m_box_·ck_\92d
+(
+bx
+, 
+»ù1
+);
+
+904 ià(
+\8bxt1
+) {
+
+905 
+d©a1
+ = 
+       `\96m_Ïb\96_add
+(
+·»Á
+);
+
+906 ià(
+d©a1
+ =ð
+NULL
+)
+
+907 \10
+GL_UI_FAILED
+;
+
+908 
+       `evas_objeù_size_h\9at_weight_£t
+(
+d©a1
+, 0.0, 
+EVAS_HINT_EXPAND
+);
+
+909 
+       `evas_objeù_size_h\9at_®ign_£t
+(
+d©a1
+, 0.0, 0.5);
+
+910 
+       `\96m_box_·ck_\92d
+(
+bx
+, 
+d©a1
+);
+
+911 
+       `evas_objeù_show
+(
+d©a1
+);
+
+913 
+       `gl_dbg
+("%s", 
+\8bxt1
+);
+
+914 
+       `\96m_objeù_\8bxt_£t
+(
+d©a1
+, 
+\8bxt1
+);
+
+915 
+       `GL_GFREE
+(
+\8bxt1
+);
+
+918 
+Evas_Objeù
+ *
+»ù2
+ = 
+       `evas_objeù_»ùªgË_add
+(
+evas
+);
+
+919 ià(
+»ù2
+ =ð
+NULL
+)
+
+920 \10
+GL_UI_FAILED
+;
+
+921 
+Evas_CoÜd
+·d2_w
+ = (Evas_CoÜd)(10 * 
+sÿË
+);
+
+922 
+       `evas_objeù_»size
+(
+»ù2
+, 
+·d2_w
+, 
+·d_h
+);
+
+923 
+       `evas_objeù_size_h\9at_m\9a_£t
+(
+»ù2
+, 
+·d2_w
+, 
+·d_h
+);
+
+924 
+       `evas_objeù_size_h\9at_max_£t
+(
+»ù2
+, 
+·d2_w
+, 
+·d_h
+);
+
+925 
+       `\96m_box_·ck_\92d
+(
+bx
+, 
+»ù2
+);
+
+929 
+d©a2
+ = 
+       `\96m_Ïb\96_add
+(
+·»Á
+);
+
+930 ià(
+d©a2
+ =ð
+NULL
+)
+
+931 \10
+GL_UI_FAILED
+;
+
+932 
+       `evas_objeù_size_h\9at_weight_£t
+(
+d©a2
+, 0.0, 
+EVAS_HINT_EXPAND
+);
+
+933 
+       `evas_objeù_size_h\9at_®ign_£t
+(
+d©a2
+, 0.0, 0.5);
+
+934 
+       `\96m_box_·ck_\92d
+(
+bx
+, 
+d©a2
+);
+
+935 
+       `evas_objeù_show
+(
+d©a2
+);
+
+937 
+       `gl_dbg
+("%s", 
+\8bxt2
+);
+
+938 
+       `\96m_objeù_\8bxt_£t
+(
+d©a2
+, 
+\8bxt2
+);
+
+939 
+       `GL_GFREE
+(
+\8bxt2
+);
+
+942 
+Evas_Objeù
+ *
+»ù3
+ = 
+       `evas_objeù_»ùªgË_add
+(
+evas
+);
+
+943 ià(
+»ù3
+ =ð
+NULL
+)
+
+944 \10
+GL_UI_FAILED
+;
+
+945 
+       `evas_objeù_»size
+(
+»ù3
+, 
+·d_w
+, 
+·d_h
+);
+
+946 
+       `evas_objeù_size_h\9at_m\9a_£t
+(
+»ù3
+, 
+·d_w
+, 
+·d_h
+);
+
+947 
+       `evas_objeù_size_h\9at_max_£t
+(
+»ù3
+, 
+·d_w
+, 
+·d_h
+);
+
+948 
+       `\96m_box_·ck_\92d
+(
+bx
+, 
+»ù3
+);
+
+950 
+       `evas_objeù_show
+(
+bx
+);
+
+951 \15 
+bx
+;
+
+953 
+GL_UI_FAILED
+:
+
+955 
+       `gl_dbgE
+("Failed\81o\87dd\81itle!");
+
+956 
+       `GL_IF_DEL_OBJ
+(
+bx
+);
+
+957 \15 
+NULL
+;
+
+958 
+       }
+}
+
+962 \18\12
+       $__gl_tim\96\9ae_»£t_t\99Ë
+(
+gl_tim\96\9ae_s
+ *
+tim\96\9ae_d
+)
+
+964 
+       `GL_CHECK_VAL
+(
+tim\96\9ae_d
+, -1);
+
+966 
+Evas_Objeù
+ *
+t\99Ë
+ = 
+       `\96m_objeù_·¹_cÚ\8bÁ_un£t
+(
+tim\96\9ae_d
+->
+Ïyout
+,
+
+968 
+       `GL_CHECK_VAL
+(
+t\99Ë
+, -1);
+
+969 
+       `gl_dbg
+("S\91\82ew\81\99Ë: %p", 
+t\99Ë
+);
+
+970 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+tim\96\9ae_d
+->
+Ïyout
+, "t\99Ë", 
+t\99Ë
+);
+
+972 
+       `edje_objeù_sigÇl_em\99
+(
+       `_EDJ
+(
+tim\96\9ae_d
+->
+Ïyout
+), 
+GL_TL_TITLE_SHOW
+,
+
+974 
+       `edje_objeù_mes§ge_sigÇl_´oûss
+(
+       `_EDJ
+(
+tim\96\9ae_d
+->
+Ïyout
+));
+
+976 
+       }
+}
+
+980 \18\1e
+       $__gl_tim\96\9ae_Ú_t\99Ë_hide_f\9aished
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+,
+
+981 cڡ \ 5*
+emissiÚ
+,
+
+982 cڡ \ 5*
+sourû
+)
+
+984 
+       `GL_CHECK
+(
+d©a
+);
+
+985 
+gl_tim\96\9ae_s
+ *
+tim\96\9ae_d
+ = (gl_tim\96\9ae_ *)
+d©a
+;
+
+987 ià(!
+tim\96\9ae_d
+->
+b_upd©\9ag_t\99Ë
+) {
+
+988 
+       `gl_dbgW
+("Updating done!");
+
+992 
+Evas_Objeù
+ *
+t\99Ë
+ = 
+       `\96m_objeù_·¹_cÚ\8bÁ_un£t
+(
+tim\96\9ae_d
+->
+Ïyout
+,
+
+994 
+       `gl_dbg
+("D\96\91\90Þd\81\99Ë: %p", 
+t\99Ë
+);
+
+995 
+       `GL_IF_DEL_OBJ
+(
+t\99Ë
+);
+
+996 
+       }
+}
+
+1000 \18\1e
+       $__gl_tim\96\9ae_Ú_t\99Ë2_show_f\9aished
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+,
+
+1001 cڡ \ 5*
+emissiÚ
+,
+
+1002 cڡ \ 5*
+sourû
+)
+
+1004 
+       `GL_CHECK
+(
+d©a
+);
+
+1005 
+gl_tim\96\9ae_s
+ *
+tim\96\9ae_d
+ = (gl_tim\96\9ae_ *)
+d©a
+;
+
+1007 ià(!
+tim\96\9ae_d
+->
+b_upd©\9ag_t\99Ë
+) {
+
+1008 
+       `gl_dbgW
+("Updating done!");
+
+1012 
+       `gl_dbg
+("Update\81itle");
+
+1013 
+       `__gl_tim\96\9ae_»£t_t\99Ë
+(
+tim\96\9ae_d
+);
+
+1014 
+       }
+}
+
+1016 \18\12
+       $__gl_tim\96\9ae_add_t\99Ë_\8cªs_f\9aished_cbs
+(
+gl_tim\96\9ae_s
+ *
+tim\96\9ae_d
+,
+
+1017 
+boÞ
+b_add
+)
+
+1019 
+       `GL_CHECK_VAL
+(
+tim\96\9ae_d
+, -1);
+
+1020 
+       `gl_dbg
+("b_add: %d", 
+b_add
+);
+
+1022 ià(
+b_add
+) {
+
+1024 
+       `edje_objeù_sigÇl_ÿÎback_add
+(
+       `_EDJ
+(
+tim\96\9ae_d
+->
+Ïyout
+),
+
+1025 
+GL_TL_TITLE2_SHOW_FINISHED
+, "",
+
+1026 
+__gl_tim\96\9ae_Ú_t\99Ë2_show_f\9aished
+,
+
+1027 (\1e*)
+tim\96\9ae_d
+);
+
+1028 
+       `edje_objeù_sigÇl_ÿÎback_add
+(
+       `_EDJ
+(
+tim\96\9ae_d
+->
+Ïyout
+),
+
+1029 
+GL_TL_TITLE_HIDE_FINISHED
+, "",
+
+1030 
+__gl_tim\96\9ae_Ú_t\99Ë_hide_f\9aished
+,
+
+1031 (\1e*)
+tim\96\9ae_d
+);
+
+1034 
+       `edje_objeù_sigÇl_ÿÎback_d\96
+(
+       `_EDJ
+(
+tim\96\9ae_d
+->
+Ïyout
+),
+
+1035 
+GL_TL_TITLE2_SHOW_FINISHED
+, "",
+
+1036 
+__gl_tim\96\9ae_Ú_t\99Ë2_show_f\9aished
+);
+
+1037 
+       `edje_objeù_sigÇl_ÿÎback_d\96
+(
+       `_EDJ
+(
+tim\96\9ae_d
+->
+Ïyout
+),
+
+1038 
+GL_TL_TITLE_HIDE_FINISHED
+, "",
+
+1039 
+__gl_tim\96\9ae_Ú_t\99Ë_hide_f\9aished
+);
+
+1042 
+       }
+}
+
+1045 \18
+E\9aa_BoÞ
+       $__gl_tim\96\9ae_t\99Ë_\8cªs_cb
+(\1e*
+d©a
+)
+
+1047 
+       `GL_CHECK_CANCEL
+(
+d©a
+);
+
+1048 
+gl_tim\96\9ae_s
+ *
+tim\96\9ae_d
+ = (gl_tim\96\9ae_ *)
+d©a
+;
+
+1049 
+       `gl_dbg
+("");
+
+1051 ià(!
+tim\96\9ae_d
+->
+b_upd©\9ag_t\99Ë
+) {
+
+1052 
+       `gl_dbgW
+("Updating done!");
+
+1053 \15 
+ECORE_CALLBACK_CANCEL
+;
+
+1056 
+tim\96\9ae_d
+->
+ªim©Ü
+ = 
+NULL
+;
+
+1058 
+       `edje_objeù_sigÇl_em\99
+(
+       `_EDJ
+(
+tim\96\9ae_d
+->
+Ïyout
+),
+
+1059 
+GL_TL_TITLE_FADE_OUT
+, "elm");
+
+1061 
+       `edje_objeù_sigÇl_em\99
+(
+       `_EDJ
+(
+tim\96\9ae_d
+->
+Ïyout
+),
+
+1062 
+GL_TL_TITLE2_FADE_IN
+, "elm");
+
+1063 
+       `edje_objeù_mes§ge_sigÇl_´oûss
+(
+       `_EDJ
+(
+tim\96\9ae_d
+->
+Ïyout
+));
+
+1064 
+       `edje_objeù_sigÇl_em\99
+(
+       `_EDJ
+(
+tim\96\9ae_d
+->
+Ïyout
+),
+
+1065 
+GL_TL_TITLE_HIDE_DEFERRED
+, "elm");
+
+1066 
+       `edje_objeù_mes§ge_sigÇl_´oûss
+(
+       `_EDJ
+(
+tim\96\9ae_d
+->
+Ïyout
+));
+
+1067 
+       `edje_objeù_sigÇl_em\99
+(
+       `_EDJ
+(
+tim\96\9ae_d
+->
+Ïyout
+),
+
+1068 
+GL_TL_TITLE2_SHOW_DEFERRED
+, "elm");
+
+1069 
+       `edje_objeù_mes§ge_sigÇl_´oûss
+(
+       `_EDJ
+(
+tim\96\9ae_d
+->
+Ïyout
+));
+
+1071 
+       `gl_dbg
+("done");
+
+1072 \15 
+ECORE_CALLBACK_CANCEL
+;
+
+1073 
+       }
+}
+
+1075 \18\12
+       $__gl_tim\96\9ae_¡¬t_t\99Ë_\8cªs
+(
+gl_tim\96\9ae_s
+ *
+tim\96\9ae_d
+)
+
+1077 
+       `GL_CHECK_VAL
+(
+tim\96\9ae_d
+, -1);
+
+1078 
+       `edje_objeù_sigÇl_em\99
+(
+       `_EDJ
+(
+tim\96\9ae_d
+->
+Ïyout
+), 
+GL_TL_TITLE_SHOW
+,
+
+1080 
+       `edje_objeù_sigÇl_em\99
+(
+       `_EDJ
+(
+tim\96\9ae_d
+->
+Ïyout
+), 
+GL_TL_TITLE2_CREATED
+,
+
+1082 
+       `edje_objeù_mes§ge_sigÇl_´oûss
+(
+       `_EDJ
+(
+tim\96\9ae_d
+->
+Ïyout
+));
+
+1083 
+tim\96\9ae_d
+->
+ªim©Ü
+ = 
+       `ecÜe_ªim©Ü_add
+(
+__gl_tim\96\9ae_t\99Ë_\8cªs_cb
+,
+
+1084 
+tim\96\9ae_d
+);
+
+1086 
+       }
+}
+
+1088 \18\12
+       $__gl_tim\96\9ae_upd©e_t\99Ë
+(
+gl_tim\96\9ae_s
+ *
+tim\96\9ae_d
+, 
+gl_\8ep_s
+ *
+\99_d
+,
+
+1089 
+boÞ
+b_fÜûd
+)
+
+1091 
+       `GL_CHECK_VAL
+(
+\99_d
+, -1);
+
+1092 
+       `GL_CHECK_VAL
+(
+tim\96\9ae_d
+, -1);
+
+1093 
+       `gl_dbg
+("\9adex-%d, couÁ-%d", 
+\99_d
+->
+\9adex
+, it_d->
+couÁ
+);
+
+1094 
+       `gl_dbg
+("¡¬t_pos-%d,\83nd_pos-%d", 
+\99_d
+->
+¡¬t_pos
+, it_d->
+\92d_pos
+);
+
+1096 
+E\9aa_Li¡
+ *
+li¡
+ = 
+NULL
+;
+
+1097 
+       `_gl_d©a_g\91_\99ems
+(
+\99_d
+->
+¡¬t_pos
+, it_d->
+\92d_pos
+, &
+li¡
+);
+
+1098 ià(
+li¡
+ =ð
+NULL
+) {
+
+1099 
+       `gl_dbgW
+("Empty\86ist!");
+
+1103 
+Evas_Objeù
+ *
+t\99Ë
+ = 
+NULL
+;
+
+1104 
+gl_med\9f_s
+ *
+\99em
+ = 
+NULL
+;
+
+1105 \12
+i
+ = 0;
+
+1106 
+time_t
+mtime1
+ = 0;
+
+1107 
+time_t
+mtime2
+ = 0;
+
+1108 \12
+couÁ
+ = 
+       `e\9aa_li¡_couÁ
+(
+li¡
+);
+
+1110 \ f
+i
+ = 0; i < 
+couÁ
+; i++) {
+
+1111 
+\99em
+ = 
+       `e\9aa_li¡_Áh
+(
+li¡
+, 
+i
+);
+
+1112 ià(
+\99em
+ =ð
+NULL
+) {
+
+1113 
+       `gl_dbgE
+("Invalid item!");
+
+1117 ià(
+i
+ == 0)
+
+1118 
+mtime1
+ = 
+\99em
+->
+mtime
+;
+
+1119 ià(
+i
+ =ð
+couÁ
+ - 1)
+
+1120 
+mtime2
+ = 
+\99em
+->
+mtime
+;
+
+1122 
+\99em
+ = 
+NULL
+;
+
+1124 
+       `_gl_d©a_ty³_ä\93_med\9f_li¡
+(&
+li¡
+);
+
+1126 \19
+tm
+t1
+;
+
+1127 \19
+tm
+t2
+;
+
+1128 
+       `__gl_tim\96\9ae_g\91_tm
+(
+mtime1
+, 
+mtime2
+, &
+t1
+, &
+t2
+);
+
+1130 ià(!
+b_fÜûd
+ &&
+
+1131 !
+       `__gl_tim\96\9ae_is_tm_chªged
+(
+t1
+, 
+t2
+, &(
+tim\96\9ae_d
+->
+tm_s
+), &Ñim\96\9ae_d->
+tm_e
+))) {
+
+1132 ià(!
+       `\96m_objeù_·¹_cÚ\8bÁ_g\91
+(
+tim\96\9ae_d
+->
+Ïyout
+, "title")) {
+
+1133 
+       `gl_dbgW
+("Title is\83mpty,\84ecreate it!");
+
+1135 
+       `gl_dbgW
+("Same mtime, change\82othing!");
+
+1140 \ 5*
+\8bxt1
+ = 
+NULL
+;
+
+1141 \ 5*
+\8bxt2
+ = 
+NULL
+;
+
+1142 
+       `__gl_tim\96\9ae_g\91_mtime_¡r
+(
+t1
+, 
+t2
+, &
+\8bxt1
+, &
+\8bxt2
+);
+
+1144 
+t\99Ë
+ = 
+       `__gl_tim\96\9ae_add_t\99Ë
+(
+tim\96\9ae_d
+->
+Ïyout
+, 
+\8bxt1
+, 
+\8bxt2
+);
+
+1145 
+       `GL_CHECK_VAL
+(
+t\99Ë
+, -1);
+
+1146 ià(!
+b_fÜûd
+ &&
+
+1147 
+       `\96m_objeù_·¹_cÚ\8bÁ_g\91
+(
+tim\96\9ae_d
+->
+Ïyout
+, "title")) {
+
+1149 
+       `gl_dbg
+("Animate\81itle");
+
+1150 ià(
+tim\96\9ae_d
+->
+b_upd©\9ag_t\99Ë
+) {
+
+1151 
+       `gl_dbgW
+("Cancel\85revious\87nimation!");
+
+1152 
+       `GL_IF_DEL_ANIMATOR
+(
+tim\96\9ae_d
+->
+ªim©Ü
+);
+
+1154 
+       `__gl_tim\96\9ae_add_t\99Ë_\8cªs_f\9aished_cbs
+(
+tim\96\9ae_d
+,
+
+1155 
+çl£
+);
+
+1156 
+       `__gl_tim\96\9ae_»£t_t\99Ë
+(
+tim\96\9ae_d
+);
+
+1158 
+       `__gl_tim\96\9ae_add_t\99Ë_\8cªs_f\9aished_cbs
+(
+tim\96\9ae_d
+,
+
+1159 
+\8cue
+);
+
+1161 
+tim\96\9ae_d
+->
+b_upd©\9ag_t\99Ë
+ = 
+\8cue
+;
+
+1163 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+tim\96\9ae_d
+->
+Ïyout
+, "t\99Ë2", 
+t\99Ë
+);
+
+1164 
+       `__gl_tim\96\9ae_¡¬t_t\99Ë_\8cªs
+(
+tim\96\9ae_d
+);
+
+1166 
+       `gl_dbg
+("Set\81itle");
+
+1167 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+tim\96\9ae_d
+->
+Ïyout
+, "t\99Ë", 
+t\99Ë
+);
+
+1170 
+       }
+}
+
+1172 \18\12
+       $__gl_tim\96\9ae_g\91_t\9ee_size
+(\12
+couÁ
+, \12
+idx
+, 
+boÞ
+b_Ïnd
+, \12*
+w
+,
+
+1173 \12*
+h
+)
+
+1175 
+       `GL_CHECK_VAL
+(
+w
+, -1);
+
+1176 
+       `GL_CHECK_VAL
+(
+h
+, -1);
+
+1178 ià(
+couÁ
+ == 1) {
+
+1179 ià(
+b_Ïnd
+) {
+
+1180 *
+w
+ = 
+GL_WIN_HEIGHT
+;
+
+1181 *
+h
+ = 
+GL_TIMELINE_CONTENT_L_H
+;
+
+1183 *
+w
+ = 
+GL_WIN_WIDTH
+;
+
+1184 *
+h
+ = 
+GL_TIMELINE_CONTENT_P_H
+;
+
+1186 } \vià(
+couÁ
+ =ð2 || (couÁ =ð3 && 
+idx
+ == 0)) {
+
+1187 ià(!
+b_Ïnd
+) {
+
+1188 *
+w
+ = 
+GL_WIN_WIDTH
+ * 2 / 3;
+
+1189 *
+h
+ = 
+GL_TIMELINE_CONTENT_P_H
+ / 2;
+
+1190 } \vià(
+idx
+ == 0) {
+
+1191 *
+w
+ = 
+GL_WIN_HEIGHT
+ * 2 / 3;
+
+1192 *
+h
+ = 
+GL_TIMELINE_CONTENT_L_H
+;
+
+1196 
+       }
+}
+
+1200 \18\1e
+       $__gl_tim\96\9ae_d\96_·ge_cb
+(\1e*
+d©a
+, 
+Evas
+ *
+e
+, 
+Evas_Objeù
+ *
+obj
+,
+
+1201 \1e*
+ei
+)
+
+1203 
+       `gl_dbgW
+("Delete\85age ---");
+
+1204 
+       `GL_CHECK
+(
+d©a
+);
+
+1205 
+       `evas_objeù_sm¬t_ÿÎback_d\96
+(
+obj
+, "layout,page,deleted",
+
+1206 
+__gl_tim\96\9ae_·ge_d\96\91ed_cb
+);
+
+1207 
+gl_\8ep_s
+ *
+\99_d
+ = (gl_\8ep_ *)
+d©a
+;
+
+1208 
+       `GL_IF_DEL_IDLER
+(
+\99_d
+->
+upd©e_idËr
+);
+
+1209 
+\99_d
+->
+b_ü\97\8bd
+ = 
+çl£
+;
+
+1210 
+       `gl_dbgW
+("Delete\85age +++");
+
+1211 
+       }
+}
+
+1213 \18\1e
+       $__gl_tim\96\9ae_·ge_d\96\91ed_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+,
+
+1214 \1e*
+ei
+)
+
+1216 
+       `gl_dbgW
+("Deleted\85age ------");
+
+1217 
+       `evas_objeù_ev\92t_ÿÎback_d\96
+(
+obj
+, 
+EVAS_CALLBACK_DEL
+,
+
+1218 
+__gl_tim\96\9ae_d\96_·ge_cb
+);
+
+1219 
+       `GL_CHECK
+(
+d©a
+);
+
+1220 
+gl_\8ep_s
+ *
+\99_d
+ = (gl_\8ep_ *)
+d©a
+;
+
+1221 
+       `GL_IF_DEL_IDLER
+(
+\99_d
+->
+upd©e_idËr
+);
+
+1222 
+\99_d
+->
+b_ü\97\8bd
+ = 
+çl£
+;
+
+1223 
+       `gl_dbgW
+("Deleted\85age ++++++");
+
+1224 
+       }
+}
+
+1227 \18\12
+       $__gl_tim\96\9ae_upd©e_·ge
+(
+gl_\8ep_s
+ *
+\99_d
+)
+
+1229 
+       `GL_CHECK_VAL
+(
+\99_d
+, -1);
+
+1230 
+       `GL_CHECK_VAL
+(
+\99_d
+->
+Ïyout
+, -1);
+
+1231 
+       `gl_dbg
+("\9adex-%d, couÁ-%d", 
+\99_d
+->
+\9adex
+, it_d->
+couÁ
+);
+
+1232 
+       `gl_dbg
+("¡¬t_pos-%d,\83nd_pos-%d", 
+\99_d
+->
+¡¬t_pos
+, it_d->
+\92d_pos
+);
+
+1234 
+E\9aa_Li¡
+ *
+li¡
+ = 
+NULL
+;
+
+1235 
+       `_gl_d©a_g\91_\99ems
+(
+\99_d
+->
+¡¬t_pos
+, it_d->
+\92d_pos
+, &
+li¡
+);
+
+1236 ià(
+li¡
+ =ð
+NULL
+) {
+
+1237 
+       `gl_dbgW
+("Empty\86ist!");
+
+1241 
+boÞ
+b_Ïndsÿ³
+ = 
+çl£
+;
+
+1242 ià(
+\99_d
+->
+w
+ > it_d->
+h
+)
+
+1243 
+b_Ïndsÿ³
+ = 
+\8cue
+;
+
+1245 
+Evas_Objeù
+ *
+Ïyout
+ = 
+\99_d
+->layout;
+
+1246 
+Evas_Objeù
+ *
+bg
+ = 
+NULL
+;
+
+1247 
+gl_med\9f_s
+ *
+\99em
+ = 
+NULL
+;
+
+1248 \12
+i
+ = 0;
+
+1249 \ 5*
+·¹
+ = 
+NULL
+;
+
+1250 \12
+couÁ
+ = 
+       `e\9aa_li¡_couÁ
+(
+li¡
+);
+
+1251 \ 5*
+·th
+ = 
+NULL
+;
+
+1252 \1d\12
\9bÁ
+ = 0;
+
+1253 \12
+w
+ = 
+GL_TIMELINE_PAGE_SIZE
+;
+
+1254 \12
+h
+ = 
+GL_TIMELINE_PAGE_SIZE
+;
+
+1256 \ f
+i
+ = 0; i < 
+couÁ
+; i++) {
+
+1257 
+\99em
+ = 
+       `e\9aa_li¡_Áh
+(
+li¡
+, 
+i
+);
+
+1258 ià(
+\99em
+ =ð
+NULL
+) {
+
+1259 
+       `gl_dbgE
+("Invalid item!");
+
+1265 ià(((
+i
+ =ð0 && 
+couÁ
+ <= 5) ||
+
+1266 (
+i
+ =ð1 && 
+couÁ
+ <ð3 && !
+b_Ïndsÿ³
+) ||
+
+1267 (
+i
+ =ð2 && 
+couÁ
+ =ð4 && !
+b_Ïndsÿ³
+) ||
+
+1268 (
+i
+ =ð1 && (
+couÁ
+ =ð2 || couÁ =ð4è&& 
+b_Ïndsÿ³
+)) &&
+
+1269 
+\99em
+->
+ty³
+ =ð
+MEDIA_CONTENT_TYPE_IMAGE
+ &&
+
+1270 
+       `GL_FILE_EXISTS
+(
+\99em
+->
+f\9ee_u¾
+)) {
+
+1271 
+·th
+ = 
+\99em
+->
+f\9ee_u¾
+;
+
+1272 #ifdeà
+_USE_ROTATE_BG
+
+
+1273 ià(
+       `_gl_exif_g\91\9bÁ©iÚ
+(
+·th
+, &
\9bÁ
+) < 0) {
+
+1274 
+·th
+ = 
+\99em
+->
+thumb_u¾
+;
+
+1278 
+       `__gl_tim\96\9ae_g\91_t\9ee_size
+(
+couÁ
+, 
+i
+, 
+b_Ïndsÿ³
+, &
+w
+,
+
+1279 &
+h
+);
+
+1280 
+·¹
+ = 
+       `g_¡rdup_´\9atf
+(
+GL_TL_CONTENTS_FORMAT
+,
+
+1281 
+\99_d
+->
+couÁ
+, 
+i
+ + 1);
+
+1282 
+bg
+ = 
+       `\96m_objeù_·¹_cÚ\8bÁ_g\91
+(
+Ïyout
+, 
+·¹
+);
+
+1283 ià(
+bg
+) {
+
+1284 
+       `_gl_rÙ©e_bg_£t_f\9ee
+(
+bg
+, 
+·th
+, 
+w
+, 
+h
+);
+
+1285 
+       `_gl_r٩e_bg_r٩e_image
+(
+bg
+, 
\9bÁ
+);
+
+1287 
+       `gl_dbgE
+("BG is invalid!");
+
+1289 
+       `GL_GFREEIF
+(
+·¹
+);
+
+1291 
+·¹
+ = 
+NULL
+;
+
+1292 
+\99em
+ = 
+NULL
+;
+
+1294 
+       `_gl_d©a_ty³_ä\93_med\9f_li¡
+(&
+li¡
+);
+
+1295 
+       `gl_dbg
+("done");
+
+1297 
+       }
+}
+
+1299 \18\1e
+       $__gl_tim\96\9ae_·ge_\8cªs\99ed_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+,
+
+1300 \1e*
+ei
+)
+
+1302 
+       `gl_dbgW
+("Transited\85age ------");
+
+1303 
+       `evas_objeù_ev\92t_ÿÎback_d\96
+(
+obj
+, 
+EVAS_CALLBACK_DEL
+,
+
+1304 
+__gl_tim\96\9ae_d\96_·ge_cb
+);
+
+1305 
+       `GL_CHECK
+(
+d©a
+);
+
+1306 
+gl_\8ep_s
+ *
+\99_d
+ = (gl_\8ep_ *)
+d©a
+;
+
+1307 
+       `GL_IF_DEL_IDLER
+(
+\99_d
+->
+upd©e_idËr
+);
+
+1308 
+       `_gl_¦id\94_£t_zÝ
+(
+\99_d
+->
+tim\96\9ae_d
+->
+v\9bw
+, 
+GL_SLIDE_ZOP_DEFAULT
+);
+
+1309 
+       `__gl_tim\96\9ae_upd©e_·ge
+((
+gl_\8ep_s
+ *)
+d©a
+);
+
+1310 
+       `gl_dbgW
+("evas_object_freeze_events_set EINA_FALSE");
+
+1311 
+       `evas_objeù_ä\93ze_ev\92ts_£t
+(
+\99_d
+->
+tim\96\9ae_d
+->
+v\9bw
+, 
+EINA_FALSE
+);
+
+1312 
+       `gl_dbgW
+("Transited\85age ++++++");
+
+1313 
+       }
+}
+
+1315 \18
+E\9aa_BoÞ
+       $__gl_tim\96\9ae_·ge_upd©e_idËr_cb
+(\1e*
+d©a
+)
+
+1317 
+       `gl_dbgW
+("start");
+
+1318 
+       `GL_CHECK_CANCEL
+(
+d©a
+);
+
+1319 
+gl_\8ep_s
+ *
+\99_d
+ = (gl_\8ep_ *)
+d©a
+;
+
+1320 
+       `GL_IF_DEL_IDLER
+(
+\99_d
+->
+upd©e_idËr
+);
+
+1321 
+       `__gl_tim\96\9ae_upd©e_·ge
+((
+gl_\8ep_s
+ *)
+d©a
+);
+
+1322 
+       `gl_dbgW
+("done");
+
+1323 \15 
+ECORE_CALLBACK_CANCEL
+;
+
+1324 
+       }
+}
+
+1326 \18\12
+       $__gl_tim\96\9ae_check_·ge_idËr
+(
+gl_\8ep_s
+ *
+\99_d
+)
+
+1328 
+       `GL_CHECK_VAL
+(
+\99_d
+, -1);
+
+1329 
+       `GL_CHECK_VAL
+(
+\99_d
+->
+tim\96\9ae_d
+, -1);
+
+1331 
+gl_¦ide_zÝ_e
+zoom
+ = 
+       `_gl_¦id\94_g\91_zÝ
+(
+\99_d
+->
+tim\96\9ae_d
+->
+v\9bw
+);
+
+1332 
+       `gl_dbg
+("zoom-%d,\81¿n_Ý-%d", 
+zoom
+, 
+\99_d
+->
+tim\96\9ae_d
+->
+\8cª_Ý
+);
+
+1333 ià(
+\99_d
+->
+tim\96\9ae_d
+->
+\8cª_Ý
+ =ð
+GL_TRANS_OP_PREPARE
+ ||
+
+1334 
+\99_d
+->
+tim\96\9ae_d
+->
+\8cª_Ý
+ =ð
+GL_TRANS_OP_DONE
+) {
+
+1335 
+       `gl_dbg
+("Update checked by\81ransit callback");
+
+1336 } \vià(
+\99_d
+->
+tim\96\9ae_d
+->
+\8cª_Ý
+ =ð
+GL_TRANS_OP_START
+) {
+
+1337 
+       `gl_dbg
+("Delay idler callback");
+
+1338 
+\99_d
+->
+tim\96\9ae_d
+->
+idËrs
+ = 
+       `e\9aa_li¡_­³nd
+(it_d->timeline_d->idlers,
+
+1339 
+\99_d
+);
+
+1340 } \vià(
+zoom
+ =ð
+GL_SLIDE_ZOP_OUT
+ || zoom =ð
+GL_SLIDE_ZOP_IN
+) {
+
+1341 
+       `gl_dbg
+("Updated by\81ransit callback");
+
+1343 
+       `GL_IF_DEL_IDLER
+(
+\99_d
+->
+upd©e_idËr
+);
+
+1344 
+       `gl_dbg
+("Add idler callback");
+
+1345 
+\99_d
+->
+upd©e_idËr
+ = 
+       `ecÜe_idËr_add
+(
+__gl_tim\96\9ae_·ge_upd©e_idËr_cb
+,
+
+1346 
+\99_d
+);
+
+1349 
+       }
+}
+
+1351 \18\12
+       $__gl_tim\96\9ae_add_·ge_cbs
+(
+gl_\8ep_s
+ *
+\99_d
+, 
+Evas_Objeù
+ *
+Ïyout
+)
+
+1353 
+       `GL_CHECK_VAL
+(
+Ïyout
+, -1);
+
+1354 
+       `GL_CHECK_VAL
+(
+\99_d
+, -1);
+
+1357 
+       `evas_objeù_ev\92t_ÿÎback_add
+(
+Ïyout
+, 
+EVAS_CALLBACK_DEL
+,
+
+1358 
+__gl_tim\96\9ae_d\96_·ge_cb
+, 
+\99_d
+);
+
+1359 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+Ïyout
+, "layout,page,deleted",
+
+1360 
+__gl_tim\96\9ae_·ge_d\96\91ed_cb
+, 
+\99_d
+);
+
+1362 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+Ïyout
+, "layout,page,transited",
+
+1363 
+__gl_tim\96\9ae_·ge_\8cªs\99ed_cb
+, 
+\99_d
+);
+
+1365 
+       }
+}
+
+1367 \18\1e
+       $__gl_tim\96\9ae_\8cªs\99
+(
+Elm_T¿ns\99_Efãù
+ *
+d©a
+,
+
+1368 
+Elm_T¿ns\99
+ *
+\8cªs\99
+, \b
+´og»ss
+)
+
+1370 
+       `gl_dbg
+("");
+
+1371 
+       }
+}
+
+1373 \18\1e
+       $__gl_tim\96\9ae_\8cªs\99_dÚe
+(
+Elm_T¿ns\99_Efãù
+ *
+d©a
+, 
+Elm_T¿ns\99
+ *
+\8cªs\99
+)
+
+1375 
+       `GL_CHECK
+(
+d©a
+);
+
+1376 
+gl_t\9ee_s
+ *
+t\9ee
+ = (gl_t\9ee_ *)
+d©a
+;
+
+1377 
+       `gl_dbgW
+("%d/%d", 
+t\9ee
+->
+couÁ
+,\81\9ee->
+tٮ
+);
+
+1378 ià(
+t\9ee
+->
+couÁ
+ !ðt\9ee->
+tٮ
+)
+
+1381 
+       `gl_dbgW
+("\8cª_Ý: %d", 
+t\9ee
+->
+tim\96\9ae_d
+->
+\8cª_Ý
+);
+
+1382 ià(
+t\9ee
+->
+tim\96\9ae_d
+->
+\8cª_Ý
+ =ð
+GL_TRANS_OP_START
+) {
+
+1383 
+t\9ee
+->
+tim\96\9ae_d
+->
+\8cª_Ý
+ = 
+GL_TRANS_OP_DONE
+;
+
+1384 
+       `_gl_¦id\94_upd©e_f\9c¡_\99em
+(
+t\9ee
+->
+tim\96\9ae_d
+->
+v\9bw
+);
+
+1386 
+t\9ee
+->
+tim\96\9ae_d
+->
+\8cª_Ý
+ = 
+GL_TRANS_OP_DEFAULT
+;
+
+1387 
+       `gl_dbg
+("idËrs: %p", 
+t\9ee
+->
+tim\96\9ae_d
+->
+idËrs
+);
+
+1388 ià(
+t\9ee
+->
+tim\96\9ae_d
+->
+idËrs
+) {
+
+1389 
+gl_\8ep_s
+ *
+\99_d
+ = 
+NULL
+;
+
+1390 
+       `EINA_LIST_FREE
+(
+t\9ee
+->
+tim\96\9ae_d
+->
+idËrs
+, 
+\99_d
+) {
+
+1391 
+       `gl_dbg
+("\99_d: %p", 
+\99_d
+);
+
+1392 
+\99_d
+->
+upd©e_idËr
+ = 
+       `ecÜe_idËr_add
+(
+__gl_tim\96\9ae_·ge_upd©e_idËr_cb
+,
+
+1393 
+\99_d
+);
+
+1394 
+\99_d
+ = 
+NULL
+;
+
+1396 
+t\9ee
+->
+tim\96\9ae_d
+->
+idËrs
+ = 
+NULL
+;
+
+1398 
+       }
+}
+
+1400 \18\1e
+       $__gl_tim\96\9ae_\8cªs\99_d\96_cb
+(\1e*
+d©a
+, 
+Elm_T¿ns\99
+ *
+\8cªs\99
+)
+
+1402 
+       `gl_dbg
+("");
+
+1403 
+       `GL_CHECK
+(
+d©a
+);
+
+1404 
+gl_t\9ee_s
+ *
+t\9ee
+ = (gl_t\9ee_ *)
+d©a
+;
+
+1405 ià(
+t\9ee
+->
+couÁ
+ =ðt\9ee->
+tٮ
+) {
+
+1406 
+       `gl_dbgW
+("evas_object_freeze_events_set EINA_FALSE");
+
+1407 
+       `evas_objeù_ä\93ze_ev\92ts_£t
+(
+t\9ee
+->
+tim\96\9ae_d
+->
+v\9bw
+, 
+EINA_FALSE
+);
+
+1408 
+       `GL_IF_FREE_ELIST
+(
+t\9ee
+->
+tim\96\9ae_d
+->
+t\9ees
+);
+
+1411 
+       `GL_FREEIF
+(
+d©a
+);
+
+1412 
+       }
+}
+
+1414 \18\12
+       $__gl_tim\96\9ae_t\9ee_\8cªs\99
+(
+gl_t\9ee_s
+ *
+t\9ee
+)
+
+1416 \ 1
+       #GL_TL_TRANS_TIME
+ 0.7
+
+       )
+
+1417 
+       `gl_dbg
+("");
+
+1418 
+       `GL_CHECK_VAL
+(
+t\9ee
+, -1);
+
+1420 
+t\9ee
+->
+\8cªs
+ = 
+       `\96m_\8cªs\99_add
+();
+
+1421 
+       `\96m_\8cªs\99_objeù_add
+(
+t\9ee
+->
+\8cªs
+,\81\9ee->
+bg
+);
+
+1423 
+       `\96m_\8cªs\99_tw\93n_mode_£t
+(
+t\9ee
+->
+\8cªs
+,
+
+1424 
+ELM_TRANSIT_TWEEN_MODE_DECELERATE
+);
+
+1426 
+       `\96m_\8cªs\99_efãù_cÞÜ_add
+(
+t\9ee
+->
+\8cªs
+, 0, 0, 0, 0, 255, 255, 255,
+
+1428 
+       `\96m_\8cªs\99_efãù_zoom_add
+(
+t\9ee
+->
+\8cªs
+, 0.4, 1.0);
+
+1429 
+       `\96m_\8cªs\99_efãù_add
+(
+t\9ee
+->
+\8cªs
+,
+__gl_tim\96\9ae_\8cªs\99
+,
+
+1430 (
+Elm_T¿ns\99_Efãù
+ *)
+t\9ee
+,
+
+1431 
+__gl_tim\96\9ae_\8cªs\99_dÚe
+);
+
+1432 
+       `\96m_\8cªs\99_d\96_cb_£t
+(
+t\9ee
+->
+\8cªs
+, 
+__gl_tim\96\9ae_\8cªs\99_d\96_cb
+,\81ile);
+
+1434 
+       `\96m_\8cªs\99_du¿tiÚ_£t
+(
+t\9ee
+->
+\8cªs
+, 
+GL_TL_TRANS_TIME
+);
+
+1435 
+       `\96m_\8cªs\99_objeùs_f\9a®_¡©e_k\93p_£t
+(
+t\9ee
+->
+\8cªs
+, 
+EINA_FALSE
+);
+
+1436 
+       `\96m_\8cªs\99_go
+(
+t\9ee
+->
+\8cªs
+);
+
+1438 
+       }
+}
+
+1440 \18\12
+       $__gl_tim\96\9ae_\8cªs\99_t\9ees
+(
+gl_tim\96\9ae_s
+ *
+tim\96\9ae_d
+)
+
+1442 
+       `gl_dbgW
+("start!");
+
+1443 
+       `GL_CHECK_VAL
+(
+tim\96\9ae_d
+, -1);
+
+1444 
+       `GL_CHECK_VAL
+(
+tim\96\9ae_d
+->
+t\9ees
+, -1);
+
+1445 
+gl_t\9ee_s
+ *
+t\9ee
+ = 
+NULL
+;
+
+1446 
+E\9aa_Li¡
+ *
+l
+ = 
+NULL
+;
+
+1448 
+       `gl_dbgW
+("evas_object_freeze_events_set EINA_TRUE");
+
+1449 
+       `evas_objeù_ä\93ze_ev\92ts_£t
+(
+tim\96\9ae_d
+->
+v\9bw
+, 
+EINA_TRUE
+);
+
+1452 
+       `EINA_LIST_FOREACH
+(
+tim\96\9ae_d
+->
+t\9ees
+, 
+l
+, 
+t\9ee
+) {
+
+1453 ià(
+t\9ee
+) {
+
+1454 
+       `GL_IF_DEL_TRANSIT
+(
+t\9ee
+->
+\8cªs
+);
+
+1455 
+t\9ee
+ = 
+NULL
+;
+
+1459 
+       `EINA_LIST_FOREACH
+(
+tim\96\9ae_d
+->
+t\9ees
+, 
+l
+, 
+t\9ee
+) {
+
+1460 
+       `__gl_tim\96\9ae_t\9ee_\8cªs\99
+(
+t\9ee
+);
+
+1461 
+t\9ee
+ = 
+NULL
+;
+
+1463 
+       `gl_dbgW
+("done!");
+
+1465 
+       }
+}
+
+1467 \18\12
+       $__gl_tim\96\9ae_add_t\9ee
+(
+gl_\8ep_s
+ *
+\99_d
+, 
+Evas_Objeù
+ *
+·»Á
+,
+
+1468 
+Evas_Objeù
+ *
+bg
+, \12
+couÁ
+, \12
+tٮ
+)
+
+1470 
+       `GL_CHECK_VAL
+(
+\99_d
+, -1);
+
+1472 
+gl_t\9ee_s
+ *
+t\9ee
+ = (gl_t\9ee_ *)
+       `ÿÎoc
+(1, \17(gl_tile_s));
+
+1473 
+       `GL_CHECK_VAL
+(
+t\9ee
+, -1);
+
+1474 
+t\9ee
+->
+bg
+ = bg;
+
+1475 
+t\9ee
+->
+·»Á
+ =\85arent;
+
+1476 
+t\9ee
+->
+\99_d
+ = it_d;
+
+1477 
+t\9ee
+->
+couÁ
+ = count;
+
+1478 
+t\9ee
+->
+tٮ
+ =\81otal;
+
+1479 
+t\9ee
+->
+tim\96\9ae_d
+ = 
+\99_d
+->timeline_d;
+
+1480 
+\99_d
+->
+tim\96\9ae_d
+->
+t\9ees
+ = 
+       `e\9aa_li¡_­³nd
+(it_d->timeline_d->tiles,
+
+1481 
+t\9ee
+);
+
+1483 
+       }
+}
+
+1485 \18
+Evas_Objeù
+ *
+       $__gl_tim\96\9ae_g\91_·ge_t\9ees
+(
+gl_\8ep_s
+ *
+\99_d
+)
+
+1487 
+       `GL_CHECK_NULL
+(
+\99_d
+);
+
+1488 
+       `GL_CHECK_NULL
+(
+\99_d
+->
+tim\96\9ae_d
+);
+
+1489 
+       `gl_dbg
+("\9adex-%d, couÁ-%d", 
+\99_d
+->
+\9adex
+, it_d->
+couÁ
+);
+
+1490 
+       `gl_dbg
+("¡¬t_pos-%d,\83nd_pos-%d", 
+\99_d
+->
+¡¬t_pos
+, it_d->
+\92d_pos
+);
+
+1492 \12
+i
+ = 0;
+
+1493 \12
+couÁ
+ = 
+\99_d
+->count;
+
+1494 \ 5*
+·¹
+ = 
+NULL
+;
+
+1495 
+Evas_Objeù
+ *
+bg
+ = 
+NULL
+;
+
+1497 \ f
+i
+ = 0; i < 
+couÁ
+; i++) {
+
+1499 
+·¹
+ = 
+       `g_¡rdup_´\9atf
+(
+GL_TL_CONTENTS_FORMAT
+, 
+\99_d
+->
+couÁ
+,
+
+1500 
+i
+ + 1);
+
+1502 
+bg
+       `\96m_objeù_·¹_cÚ\8bÁ_g\91
+(
+\99_d
+->
+Ïyout
+, 
+·¹
+);
+
+1503 
+       `__gl_tim\96\9ae_add_t\9ee
+(
+\99_d
+, 
+NULL
+, 
+bg
+, 
+i
+ + 1, 
+couÁ
+);
+
+1505 
+·¹
+ = 
+NULL
+;
+
+1508 
+       }
+}
+
+1511 \18\12
+       $__gl_tim\96\9ae_show_t\9ees_\8cªs
+(
+gl_tim\96\9ae_s
+ *
+tim\96\9ae_d
+)
+
+1513 
+       `GL_CHECK_VAL
+(
+tim\96\9ae_d
+, -1);
+
+1515 \1e*
+s\99em
+ = 
+       `_gl_¦id\94_g\91_s\99em
+(
+tim\96\9ae_d
+->
+v\9bw
+);
+
+1516 
+       `GL_CHECK_VAL
+(
+s\99em
+, -1);
+
+1517 
+gl_\8ep_s
+ *
+\99_d
+ = (gl_\8ep_ *)
+       `_gl_¦id\94_g\91_s\99em_d©a
+(
+s\99em
+);
+
+1518 
+       `GL_CHECK_VAL
+(
+\99_d
+, -1);
+
+1520 ià(
+\99_d
+->
+tim\96\9ae_d
+->
+\8cª_Ý
+ =ð
+GL_TRANS_OP_PREPARE
+) {
+
+1521 
+       `__gl_tim\96\9ae_g\91_·ge_t\9ees
+(
+\99_d
+);
+
+1522 
+\99_d
+->
+tim\96\9ae_d
+->
+\8cª_Ý
+ = 
+GL_TRANS_OP_SHOW
+;
+
+1523 
+       `__gl_tim\96\9ae_\8cªs\99_t\9ees
+(
+\99_d
+->
+tim\96\9ae_d
+);
+
+1526 
+       }
+}
+
+1529 \18\1e
+       $__gl_tim\96\9ae_ü\97\8b_thumb_cb
+(
+med\9f_cÚ\8bÁ_\94rÜ_e
+\94
+,
+
+1530 cڡ \ 5*
+·th
+, \1e*
+u£r_d©a
+)
+
+1532 
+       `GL_CHECK
+(
+u£r_d©a
+);
+
+1533 
+Evas_Objeù
+ *
+bg
+ = (Evas_Objeù *)
+u£r_d©a
+;
+
+1535 ià(
+\94
+ =ð
+MEDIA_CONTENT_ERROR_NONE
+ && 
+       `GL_FILE_EXISTS
+(
+·th
+) &&
+
+1536 
+       `g_¡rcmp0
+(
+·th
+, 
+GL_ICON_DB_DEFAULT_THUMB
+)) {
+
+1537 
+       `gl_sdbgW
+("·th[%s]!", 
+·th
+);
+
+1538 
+       `_gl_rÙ©e_bg_£t_f\9ee
+(
+bg
+, 
+·th
+, 
+GL_TIMELINE_PAGE_SIZE
+,
+
+1539 
+GL_TIMELINE_PAGE_SIZE
+);
+
+1540 
+       `_gl_r٩e_bg_r٩e_image
+(
+bg
+, 
+GL_ORIENTATION_ROT_0
+);
+
+1542 
+       `gl_sdbgE
+("[%d]Inv®id\85©h[%s]!", 
+\94
+, 
+·th
+);
+
+1545 
+       `__gl_tim\96\9ae_þ\97r_bg_d©a
+(
+bg
+);
+
+1546 
+       }
+}
+
+1549 \18\12
+       $__gl_tim\96\9ae_ü\97\8b_thumbs
+(
+gl_tim\96\9ae_s
+ *
+tim\96\9ae_d
+)
+
+1551 
+       `GL_CHECK_VAL
+(
+tim\96\9ae_d
+, -1);
+
+1552 
+E\9aa_Li¡
+ *
+l
+ = 
+NULL
+;
+
+1553 
+Evas_Objeù
+ *
+bg
+ = 
+NULL
+;
+
+1554 
+gl_med\9f_s
+ *
+\99em
+ = 
+NULL
+;
+
+1555 \12
+»t
+ = -1;
+
+1557 
+       `EINA_LIST_FOREACH
+(
+tim\96\9ae_d
+->
+thumbs
+, 
+l
+, 
+bg
+) {
+
+1558 ià(
+bg
+ =ð
+NULL
+)
+
+1560 
+\99em
+ = (
+gl_med\9f_s
+ *)
+       `evas_objeù_d©a_g\91
+(
+bg
+,
+
+1561 
+GL_TL_TILE_DATA_KEY
+);
+
+1562 ià(
+\99em
+ && !
+       `GL_FILE_EXISTS
+(\99em->
+thumb_u¾
+) &&
+
+1563 
+       `GL_FILE_EXISTS
+(
+\99em
+->
+f\9ee_u¾
+)) {
+
+1564 
+       `gl_dbgW
+("Add\81humb creation!");
+
+1565 
+»t
+ = 
+       `_gl_d©a_ü\97\8b_thumb
+(
+\99em
+,
+
+1566 
+__gl_tim\96\9ae_ü\97\8b_thumb_cb
+,
+
+1567 
+bg
+);
+
+1568 ià(
+»t
+ == 0)
+
+1571 \10
+GL_TL_FAILED
+;
+
+1573 
+GL_TL_FAILED
+:
+
+1575 
+       `evas_objeù_d©a_d\96
+(
+bg
+, 
+GL_TL_TILE_DATA_KEY
+);
+
+1576 
+tim\96\9ae_d
+->
+thumbs
+ = 
+       `e\9aa_li¡_»move
+(timeline_d->thumbs,
+
+1577 
+bg
+);
+
+1578 ià(
+\99em
+)
+
+1579 
+       `_gl_d©a_ty³_ä\93_gl\99em
+((\1e**)(&
+\99em
+));
+
+1583 
+       }
+}
+
+1587 \18\12
+       $__gl_tim\96\9ae_ÿnûl_thumbs
+(
+gl_tim\96\9ae_s
+ *
+tim\96\9ae_d
+)
+
+1589 
+       `GL_CHECK_VAL
+(
+tim\96\9ae_d
+, -1);
+
+1590 
+E\9aa_Li¡
+ *
+l
+ = 
+NULL
+;
+
+1591 
+Evas_Objeù
+ *
+bg
+ = 
+NULL
+;
+
+1592 
+gl_med\9f_s
+ *
+\99em
+ = 
+NULL
+;
+
+1594 
+       `EINA_LIST_FOREACH
+(
+tim\96\9ae_d
+->
+thumbs
+, 
+l
+, 
+bg
+) {
+
+1595 ià(
+bg
+ =ð
+NULL
+)
+
+1597 
+\99em
+ = (
+gl_med\9f_s
+ *)
+       `evas_objeù_d©a_g\91
+(
+bg
+,
+
+1598 
+GL_TL_TILE_DATA_KEY
+);
+
+1599 ià(
+\99em
+ && i\8bm->
+b_ü\97\8b_thumb
+) {
+
+1600 
+       `gl_dbgW
+("Cancel\81humb creation!");
+
+1601 
+       `_gl_d©a_ÿnûl_thumb
+(
+\99em
+);
+
+1605 
+       }
+}
+
+1608 \18\12
+       $__gl_tim\96\9ae_check_thumb
+(
+gl_med\9f_s
+ *
+\99em
+, 
+Evas_Objeù
+ *
+bg
+)
+
+1610 
+       `GL_CHECK_VAL
+(
+bg
+, -1);
+
+1611 
+       `GL_CHECK_VAL
+(
+\99em
+, -1);
+
+1613 ià(
+\99em
+->
+¡Üage_ty³
+ !ð
+GL_STORE_T_PHONE
+ &&
+
+1614 
+\99em
+->
+¡Üage_ty³
+ !ð
+GL_STORE_T_MMC
+)
+
+1617 ià(
+       `GL_FILE_EXISTS
+(
+\99em
+->
+f\9ee_u¾
+)) {
+
+1618 \12
+»t
+ = -1;
+
+1619 
+»t
+ = 
+       `_gl_d©a_ü\97\8b_thumb
+(
+\99em
+, 
+__gl_tim\96\9ae_ü\97\8b_thumb_cb
+,
+
+1620 (\1e*)
+bg
+);
+
+1621 \15 
+»t
+;
+
+1624 
+       }
+}
+
+1626 \18\12
+       $__gl_tim\96\9ae_check_gl\99em
+(
+gl_tim\96\9ae_s
+ *
+tim\96\9ae_d
+,
+
+1627 
+gl_med\9f_s
+ *
+\99em
+, 
+Evas_Objeù
+ *
+bg
+,
+
+1628 
+boÞ
+b_check_thumb
+)
+
+1631 ià(
+b_check_thumb
+) {
+
+1632 
+       `gl_dbg
+("Check\81humb");
+
+1633 ià(
+       `__gl_tim\96\9ae_check_thumb
+(
+\99em
+, 
+bg
+) == 0) {
+
+1634 
+       `evas_objeù_d©a_£t
+(
+bg
+, 
+GL_TL_TILE_DATA_KEY
+,
+
+1635 (\1e*)
+\99em
+);
+
+1636 
+       `evas_objeù_d©a_£t
+(
+bg
+, 
+GL_TL_DATA_KEY
+,
+
+1637 (\1e*)
+tim\96\9ae_d
+);
+
+1638 
+tim\96\9ae_d
+->
+thumbs
+ = 
+       `e\9aa_li¡_­³nd
+(timeline_d->thumbs,
+
+1639 (\1e*)
+bg
+);
+
+1641 
+       `_gl_d©a_ty³_ä\93_gl\99em
+((\1e**)(&
+\99em
+));
+
+1644 
+       `_gl_d©a_ty³_ä\93_gl\99em
+((\1e**)(&
+\99em
+));
+
+1647 
+       }
+}
+
+1649 \18
+Evas_Objeù
+ *
+       $__gl_tim\96\9ae_add_·ge
+(
+Evas_Objeù
+ *
+·»Á
+, 
+gl_\8ep_s
+ *
+\99_d
+)
+
+1651 
+       `GL_CHECK_NULL
+(
+\99_d
+);
+
+1652 
+       `GL_CHECK_NULL
+(
+\99_d
+->
+tim\96\9ae_d
+);
+
+1653 
+       `GL_CHECK_NULL
+(
+·»Á
+);
+
+1654 
+       `gl_dbg
+("\9adex-%d, couÁ-%d", 
+\99_d
+->
+\9adex
+, it_d->
+couÁ
+);
+
+1655 
+       `gl_dbg
+("¡¬t_pos-%d,\83nd_pos-%d", 
+\99_d
+->
+¡¬t_pos
+, it_d->
+\92d_pos
+);
+
+1657 
+E\9aa_Li¡
+ *
+li¡
+ = 
+NULL
+;
+
+1658 
+       `_gl_d©a_g\91_\99ems
+(
+\99_d
+->
+¡¬t_pos
+, it_d->
+\92d_pos
+, &
+li¡
+);
+
+1659 ià(
+li¡
+ =ð
+NULL
+) {
+
+1660 
+       `gl_dbgW
+("Empty\86ist!");
+
+1661 \15 
+NULL
+;
+
+1663 \12
+couÁ
+ = 
+       `e\9aa_li¡_couÁ
+(
+li¡
+);
+
+1665 
+\99_d
+->
+w
+ = it_d->
+tim\96\9ae_d
+->w;
+
+1666 
+\99_d
+->
+h
+ = it_d->
+tim\96\9ae_d
+->h;
+
+1667 
+boÞ
+b_Ïndsÿ³
+ = (
+\99_d
+->
+h
+ > it_d->
+w
+è? 
+çl£
+ : 
+\8cue
+;
+
+1668 
+Evas_Objeù
+ *
+Ïyout
+ = 
+NULL
+;
+
+1669 
+Ïyout
+ = 
+       `__gl_tim\96\9ae_add_·ge_ly
+(
+·»Á
+, 
+\99_d
+);
+
+1670 
+       `GL_CHECK_NULL
+(
+Ïyout
+);
+
+1672 ià(!
+\99_d
+->
+b_ü\97\8bd
+) {
+
+1673 
+\99_d
+->
+b_ü\97\8bd
+ = 
+\8cue
+;
+
+1675 ià(
+couÁ
+ <= 5)
+
+1676 
+       `__gl_tim\96\9ae_check_·ge_idËr
+(
+\99_d
+);
+
+1678 
+       `gl_dbg
+("count>5,\82o idler for showing original file");
+
+1680 
+\99_d
+->
+Ïyout
+ =\86ayout;
+
+1681 
+       `__gl_tim\96\9ae_add_·ge_cbs
+(
+\99_d
+, 
+Ïyout
+);
+
+1683 
+Evas_Objeù
+ *
+bg
+ = 
+NULL
+;
+
+1684 
+Evas_Objeù
+ *
+ck
+ = 
+NULL
+;
+
+1685 
+gl_med\9f_s
+ *
+\99em
+ = 
+NULL
+;
+
+1686 \12
+i
+ = 0;
+
+1687 \ 5*
+·¹
+ = 
+NULL
+;
+
+1688 \ 5*
+·th
+ = 
+NULL
+;
+
+1689 \1d\12
\9bÁ
+ = 0;
+
+1690 \12
+w
+ = 
+GL_TIMELINE_PAGE_SIZE
+;
+
+1691 \12
+h
+ = 
+GL_TIMELINE_PAGE_SIZE
+;
+
+1692 
+boÞ
+b_check_thumb
+ = 
+çl£
+;
+
+1694 \ f
+i
+ = 0; i < 
+couÁ
+; i++) {
+
+1695 
+\99em
+ = 
+       `e\9aa_li¡_Áh
+(
+li¡
+, 
+i
+);
+
+1696 ià(
+\99em
+ =ð
+NULL
+) {
+
+1697 
+       `gl_dbgE
+("Invalid item!");
+
+1702 ià(((
+i
+ =ð0 && 
+couÁ
+ <= 5) ||
+
+1703 (
+i
+ =ð1 && 
+couÁ
+ <ð3 && !
+b_Ïndsÿ³
+) ||
+
+1704 (
+i
+ =ð2 && 
+couÁ
+ =ð4 && !
+b_Ïndsÿ³
+) ||
+
+1705 (
+i
+ =ð1 && (
+couÁ
+ =ð2 || couÁ =ð4è&& 
+b_Ïndsÿ³
+)) &&
+
+1706 
+\99em
+->
+ty³
+ =ð
+MEDIA_CONTENT_TYPE_IMAGE
+ &&
+
+1707 (
+\99_d
+->
+tim\96\9ae_d
+->
+\8cª_Ý
+ =ð
+GL_TRANS_OP_DONE
+ ||
+
+1708 !
+\99_d
+->
+b_ü\97\8bd
+è&& 
+       `GL_FILE_EXISTS
+(
+\99em
+->
+f\9ee_u¾
+)) {
+
+1709 
+·th
+ = 
+\99em
+->
+f\9ee_u¾
+;
+
+1710 #ifdeà
+_USE_ROTATE_BG
+
+
+1711 ià(
+       `_gl_exif_g\91\9bÁ©iÚ
+(
+·th
+, &
\9bÁ
+) < 0) {
+
+1712 
+·th
+ = 
+\99em
+->
+thumb_u¾
+;
+
+1713 
\9bÁ
+ = 
+GL_ORIENTATION_ROT_0
+;
+
+1714 ià(!
+       `GL_FILE_EXISTS
+(
+·th
+)) {
+
+1715 
+·th
+ = 
+GL_ICON_NO_THUMBNAIL
+;
+
+1716 
+b_check_thumb
+ = 
+\8cue
+;
+
+1720 
+       `__gl_tim\96\9ae_g\91_t\9ee_size
+(
+couÁ
+, 
+i
+, 
+b_Ïndsÿ³
+, &
+w
+,
+
+1721 &
+h
+);
+
+1723 
+·th
+ = 
+\99em
+->
+thumb_u¾
+;
+
+1724 #ifdeà
+_USE_ROTATE_BG
+
+
+1725 
\9bÁ
+ = 
+GL_ORIENTATION_ROT_0
+;
+
+1727 ià(!
+       `GL_FILE_EXISTS
+(
+·th
+)) {
+
+1728 
+·th
+ = 
+GL_ICON_NO_THUMBNAIL
+;
+
+1729 
+b_check_thumb
+ = 
+\8cue
+;
+
+1734 
+·¹
+ = 
+       `g_¡rdup_´\9atf
+(
+GL_TL_CONTENTS_FORMAT
+, 
+\99_d
+->
+couÁ
+,
+
+1735 
+i
+ + 1);
+
+1736 
+bg
+ = 
+       `__gl_tim\96\9ae_add_·ge_bg
+(
+Ïyout
+, 
+·¹
+, 
\9bÁ
+, 
+·th
+, 
+w
+,
+
+1737 
+h
+);
+
+1738 
+       `evas_objeù_ev\92t_ÿÎback_add
+(
+bg
+, 
+EVAS_CALLBACK_DEL
+,
+
+1739 
+__gl_tim\96\9ae_d\96_bg_cb
+, 
+NULL
+);
+
+1740 #ifdeà
+_USE_ROTATE_BG
+
+
+1741 
+       `_gl_rÙ©e_bg_£t_d©a
+(
+bg
+, (\1e*)
+i
+);
+
+1743 
+       `GL_GFREEIF
+(
+·¹
+);
+
+1745 
+       `evas_objeù_ev\92t_ÿÎback_add
+(
+bg
+, 
+EVAS_CALLBACK_MOUSE_DOWN
+,
+
+1746 
+__gl_tim\96\9ae_mou£_down
+, 
+\99_d
+);
+
+1747 
+       `evas_objeù_ev\92t_ÿÎback_add
+(
+bg
+, 
+EVAS_CALLBACK_MOUSE_UP
+,
+
+1748 
+__gl_tim\96\9ae_mou£_up
+, 
+\99_d
+);
+
+1750 ià(
+\99_d
+->
+tim\96\9ae_d
+->
+v\9bw_m
+ !ð
+GL_TL_VIEW_NORMAL
+) {
+
+1751 
+·¹
+ = 
+       `g_¡rdup_´\9atf
+(
+GL_TL_CHECKBOX_FORMAT
+,
+
+1752 
+\99_d
+->
+couÁ
+, 
+i
+ + 1);
+
+1753 
+ck
+ = 
+       `__gl_tim\96\9ae_add_ck
+(
+Ïyout
+, 
+·¹
+,
+
+1754 
+       `__gl_tim\96\9ae_is_checked
+(
+\99_d
+->
+tim\96\9ae_d
+, 
+\99em
+->
+uuid
+),
+
+1755 
+\99_d
+);
+
+1756 
+       `evas_objeù_d©a_£t
+(
+ck
+, "gl_\8e_idx_key", (\1e*)
+i
+);
+
+1757 
+       `GL_GFREEIF
+(
+·¹
+);
+
+1760 
+       `__gl_tim\96\9ae_check_gl\99em
+(
+\99_d
+->
+tim\96\9ae_d
+, 
+\99em
+, 
+bg
+ ,
+
+1761 
+b_check_thumb
+);
+
+1762 
+b_check_thumb
+ = 
+çl£
+;
+
+1764 ià(
+\99_d
+->
+tim\96\9ae_d
+->
+\8cª_Ý
+ =ð
+GL_TRANS_OP_PREPARE
+)
+
+1765 
+       `__gl_tim\96\9ae_add_t\9ee
+(
+\99_d
+, 
+·»Á
+, 
+bg
+, 
+i
+ + 1, 
+couÁ
+);
+
+1767 
+\99em
+ = 
+NULL
+;
+
+1769 
+       `GL_IF_FREE_ELIST
+(
+li¡
+);
+
+1771 ià(
+\99_d
+->
+tim\96\9ae_d
+->
+\8cª_Ý
+ =ð
+GL_TRANS_OP_PREPARE
+) {
+
+1773 
+\99_d
+->
+tim\96\9ae_d
+->
+\8cª_Ý
+ = 
+GL_TRANS_OP_START
+;
+
+1774 
+       `__gl_tim\96\9ae_\8cªs\99_t\9ees
+(
+\99_d
+->
+tim\96\9ae_d
+);
+
+1776 \15 
+Ïyout
+;
+
+1777 
+       }
+}
+
+1779 \18
+Evas_Objeù
+ *
+       $__gl_tim\96\9ae_»£t_cks
+(
+Evas_Objeù
+ *
+·»Á
+, 
+gl_\8ep_s
+ *
+\99_d
+)
+
+1781 
+       `GL_CHECK_NULL
+(
+\99_d
+);
+
+1782 
+       `GL_CHECK_NULL
+(
+\99_d
+->
+tim\96\9ae_d
+);
+
+1783 
+       `GL_CHECK_NULL
+(
+·»Á
+);
+
+1784 
+       `gl_dbg
+("\9adex-%d, couÁ-%d", 
+\99_d
+->
+\9adex
+, it_d->
+couÁ
+);
+
+1785 
+       `gl_dbg
+("¡¬t_pos-%d,\83nd_pos-%d", 
+\99_d
+->
+¡¬t_pos
+, it_d->
+\92d_pos
+);
+
+1787 
+E\9aa_Li¡
+ *
+li¡
+ = 
+NULL
+;
+
+1788 
+       `_gl_d©a_g\91_\99ems
+(
+\99_d
+->
+¡¬t_pos
+, it_d->
+\92d_pos
+, &
+li¡
+);
+
+1789 ià(
+li¡
+ =ð
+NULL
+) {
+
+1790 
+       `gl_dbgW
+("Empty\86ist!");
+
+1791 \15 
+NULL
+;
+
+1793 \12
+couÁ
+ = 
+       `e\9aa_li¡_couÁ
+(
+li¡
+);
+
+1795 
+boÞ
+b_Ïndsÿ³
+ = (
+\99_d
+->
+h
+ > it_d->
+w
+è? 
+çl£
+ : 
+\8cue
+;
+
+1796 
+Evas_Objeù
+ *
+Ïyout
+ = 
+NULL
+;
+
+1797 
+Ïyout
+ = 
+       `__gl_tim\96\9ae_add_·ge_ly
+(
+·»Á
+, 
+\99_d
+);
+
+1798 
+       `GL_CHECK_NULL
+(
+Ïyout
+);
+
+1800 
+\99_d
+->
+b_ü\97\8bd
+ = 
+\8cue
+;
+
+1801 
+\99_d
+->
+Ïyout
+ =\86ayout;
+
+1802 
+       `__gl_tim\96\9ae_add_·ge_cbs
+(
+\99_d
+, 
+Ïyout
+);
+
+1804 
+Evas_Objeù
+ *
+bg
+ = 
+NULL
+;
+
+1805 
+Evas_Objeù
+ *
+ck
+ = 
+NULL
+;
+
+1806 
+gl_med\9f_s
+ *
+\99em
+ = 
+NULL
+;
+
+1807 \12
+i
+ = 0;
+
+1808 \ 5*
+·¹
+ = 
+NULL
+;
+
+1809 \ 5*
+·th
+ = 
+NULL
+;
+
+1810 \1d\12
\9bÁ
+ = 0;
+
+1811 \12
+w
+ = 
+GL_TIMELINE_PAGE_SIZE
+;
+
+1812 \12
+h
+ = 
+GL_TIMELINE_PAGE_SIZE
+;
+
+1813 
+boÞ
+b_check_thumb
+ = 
+çl£
+;
+
+1815 \ f
+i
+ = 0; i < 
+couÁ
+; i++) {
+
+1816 
+\99em
+ = 
+       `e\9aa_li¡_Áh
+(
+li¡
+, 
+i
+);
+
+1817 ià(
+\99em
+ =ð
+NULL
+) {
+
+1818 
+       `gl_dbgE
+("Invalid item!");
+
+1823 ià(((
+i
+ =ð0 && 
+couÁ
+ <= 5) ||
+
+1824 (
+i
+ =ð1 && 
+couÁ
+ <ð3 && !
+b_Ïndsÿ³
+) ||
+
+1825 (
+i
+ =ð2 && 
+couÁ
+ =ð4 && !
+b_Ïndsÿ³
+) ||
+
+1826 (
+i
+ =ð1 && (
+couÁ
+ =ð2 || couÁ =ð4è&& 
+b_Ïndsÿ³
+)) &&
+
+1827 
+\99em
+->
+ty³
+ =ð
+MEDIA_CONTENT_TYPE_IMAGE
+ &&
+
+1828 
+       `GL_FILE_EXISTS
+(
+\99em
+->
+f\9ee_u¾
+)) {
+
+1829 
+·th
+ = 
+\99em
+->
+f\9ee_u¾
+;
+
+1830 #ifdeà
+_USE_ROTATE_BG
+
+
+1831 ià(
+       `_gl_exif_g\91\9bÁ©iÚ
+(
+·th
+, &
\9bÁ
+) < 0) {
+
+1832 
+·th
+ = 
+\99em
+->
+thumb_u¾
+;
+
+1833 
\9bÁ
+ = 
+GL_ORIENTATION_ROT_0
+;
+
+1834 ià(!
+       `GL_FILE_EXISTS
+(
+·th
+)) {
+
+1835 
+·th
+ = 
+GL_ICON_NO_THUMBNAIL
+;
+
+1836 
+b_check_thumb
+ = 
+\8cue
+;
+
+1840 
+       `__gl_tim\96\9ae_g\91_t\9ee_size
+(
+couÁ
+, 
+i
+, 
+b_Ïndsÿ³
+, &
+w
+,
+
+1841 &
+h
+);
+
+1843 
+·th
+ = 
+\99em
+->
+thumb_u¾
+;
+
+1844 #ifdeà
+_USE_ROTATE_BG
+
+
+1845 
\9bÁ
+ = 
+GL_ORIENTATION_ROT_0
+;
+
+1847 ià(!
+       `GL_FILE_EXISTS
+(
+·th
+)) {
+
+1848 
+·th
+ = 
+GL_ICON_NO_THUMBNAIL
+;
+
+1849 
+b_check_thumb
+ = 
+\8cue
+;
+
+1854 
+·¹
+ = 
+       `g_¡rdup_´\9atf
+(
+GL_TL_CONTENTS_FORMAT
+, 
+\99_d
+->
+couÁ
+,
+
+1855 
+i
+ + 1);
+
+1856 
+bg
+ = 
+       `__gl_tim\96\9ae_add_·ge_bg
+(
+Ïyout
+, 
+·¹
+, 
\9bÁ
+, 
+·th
+, 
+w
+,
+
+1857 
+h
+);
+
+1858 
+       `evas_objeù_ev\92t_ÿÎback_add
+(
+bg
+, 
+EVAS_CALLBACK_DEL
+,
+
+1859 
+__gl_tim\96\9ae_d\96_bg_cb
+, 
+NULL
+);
+
+1860 #ifdeà
+_USE_ROTATE_BG
+
+
+1861 
+       `_gl_rÙ©e_bg_£t_d©a
+(
+bg
+, (\1e*)
+i
+);
+
+1863 
+       `GL_GFREEIF
+(
+·¹
+);
+
+1865 
+       `evas_objeù_ev\92t_ÿÎback_add
+(
+bg
+, 
+EVAS_CALLBACK_MOUSE_DOWN
+,
+
+1866 
+__gl_tim\96\9ae_mou£_down
+, 
+\99_d
+);
+
+1867 
+       `evas_objeù_ev\92t_ÿÎback_add
+(
+bg
+, 
+EVAS_CALLBACK_MOUSE_UP
+,
+
+1868 
+__gl_tim\96\9ae_mou£_up
+, 
+\99_d
+);
+
+1870 ià(
+\99_d
+->
+tim\96\9ae_d
+->
+v\9bw_m
+ !ð
+GL_TL_VIEW_NORMAL
+) {
+
+1871 
+·¹
+ = 
+       `g_¡rdup_´\9atf
+(
+GL_TL_CHECKBOX_FORMAT
+,
+
+1872 
+\99_d
+->
+couÁ
+, 
+i
+ + 1);
+
+1873 
+ck
+ = 
+       `__gl_tim\96\9ae_add_ck
+(
+Ïyout
+, 
+·¹
+,
+
+1874 
+       `__gl_tim\96\9ae_is_checked
+(
+\99_d
+->
+tim\96\9ae_d
+, 
+\99em
+->
+uuid
+),
+
+1875 
+\99_d
+);
+
+1876 
+       `evas_objeù_d©a_£t
+(
+ck
+, "gl_\8e_idx_key", (\1e*)
+i
+);
+
+1877 
+       `GL_GFREEIF
+(
+·¹
+);
+
+1880 
+       `__gl_tim\96\9ae_check_gl\99em
+(
+\99_d
+->
+tim\96\9ae_d
+, 
+\99em
+, 
+bg
+ ,
+
+1881 
+b_check_thumb
+);
+
+1882 
+b_check_thumb
+ = 
+çl£
+;
+
+1884 
+\99em
+ = 
+NULL
+;
+
+1886 
+       `GL_IF_FREE_ELIST
+(
+li¡
+);
+
+1887 \15 
+Ïyout
+;
+
+1888 
+       }
+}
+
+1890 \18
+boÞ
+       $__gl_tim\96\9ae_£t_cks_¡©e
+(
+gl_\8ep_s
+ *
+\99_d
+, 
+boÞ
+b_checked
+)
+
+1892 
+       `GL_CHECK_FALSE
+(
+\99_d
+);
+
+1893 
+       `GL_CHECK_FALSE
+(
+\99_d
+->
+tim\96\9ae_d
+);
+
+1894 
+       `gl_dbg
+("\9adex-%d, couÁ-%d", 
+\99_d
+->
+\9adex
+, it_d->
+couÁ
+);
+
+1895 
+       `gl_dbg
+("¡¬t_pos-%d,\83nd_pos-%d", 
+\99_d
+->
+¡¬t_pos
+, it_d->
+\92d_pos
+);
+
+1896 
+       `gl_dbg
+("checkbox: %d", 
+b_checked
+);
+
+1898 
+Evas_Objeù
+ *
+ck
+ = 
+NULL
+;
+
+1899 \12
+i
+ = 0;
+
+1900 \ 5*
+·¹
+ = 
+NULL
+;
+
+1901 
+E\9aa_BoÞ
+checked
+ = 
+EINA_FALSE
+;
+
+1903 \ f
+i
+ = 0; i < 
+\99_d
+->
+couÁ
+; i++) {
+
+1904 
+·¹
+ = 
+       `g_¡rdup_´\9atf
+(
+GL_TL_CHECKBOX_FORMAT
+, 
+\99_d
+->
+couÁ
+,
+
+1905 
+i
+ + 1);
+
+1906 
+ck
+ = 
+       `\96m_objeù_·¹_cÚ\8bÁ_g\91
+(
+\99_d
+->
+Ïyout
+, 
+·¹
+);
+
+1907 ià(
+ck
+) {
+
+1908 
+checked
+ = 
+       `\96m_check_¡©e_g\91
+(
+ck
+);
+
+1909 ià(
+checked
+ !ð
+b_checked
+)
+
+1910 
+       `\96m_check_¡©e_£t
+(
+ck
+, 
+b_checked
+);
+
+1912 
+       `gl_dbgW
+("Invalid checkbox!");
+
+1914 
+       `GL_GFREEIF
+(
+·¹
+);
+
+1916 \15 
+\8cue
+;
+
+1917 
+       }
+}
+
+1919 \18\12
+       $__gl_tim\96\9ae_ä\93_·ges
+(
+gl_tim\96\9ae_s
+ *
+tim\96\9ae_d
+)
+
+1921 
+       `GL_CHECK_VAL
+(
+tim\96\9ae_d
+, -1);
+
+1922 ià(
+tim\96\9ae_d
+->
+li¡
+) {
+
+1923 
+       `gl_dbgW
+("############## Free\85ages ###############");
+
+1924 \1e*
+\8e_d
+ = 
+NULL
+;
+
+1925 
+       `EINA_LIST_FREE
+(
+tim\96\9ae_d
+->
+li¡
+, 
+\8e_d
+) {
+
+1926 
+       `GL_FREEIF
+(
+\8e_d
+);
+
+1928 
+tim\96\9ae_d
+->
+li¡
+ = 
+NULL
+;
+
+1930 
+       `gl_dbgW
+("None\85ages!");
+
+1933 
+       }
+}
+
+1935 \18\12
+       $__gl_tim\96\9ae_upd©e_t\9ees_út
+(\12
+zËv\96
+, \12
+deçuÉ_út
+)
+
+1937 \12
+t\9ees_út
+ = 0;
+
+1939 ià(
+zËv\96
+ =ð
+GL_TM_ZOOM_OUT_TWO
+) {
+
+1940 
+t\9ees_út
+ = 
+GL_TL_PINCH_OUT_2_CNT
+;
+
+1941 } \vià(
+zËv\96
+ =ð
+GL_TM_ZOOM_OUT_ONE
+) {
+
+1942 ià(
+deçuÉ_út
+ <= 2)
+
+1943 
+t\9ees_út
+ = 
+deçuÉ_út
+ * 
+GL_TL_PINCH_OUT_CNT_STEP
+;
+
+1945 
+t\9ees_út
+ = 
+GL_TL_PINCH_OUT_1_CNT
+;
+
+1947 
+t\9ees_út
+ = 
+deçuÉ_út
+;
+
+1949 \15 
+t\9ees_út
+;
+
+1950 
+       }
+}
+
+1952 \18\12
+       $__gl_tim\96\9ae_upd©e_zoom_æags
+(
+gl_tim\96\9ae_s
+ *
+tim\96\9ae_d
+,
+
+1953 
+boÞ
+b_pout
+)
+
+1955 
+       `GL_CHECK_VAL
+(
+tim\96\9ae_d
+, -1);
+
+1958 ià(!
+b_pout
+) {
+
+1959 
+tim\96\9ae_d
+->
+zoom_Ëv\96
+++;
+
+1960 
+       `_gl_¦id\94_£t_zÝ
+(
+tim\96\9ae_d
+->
+v\9bw
+, 
+GL_SLIDE_ZOP_IN
+);
+
+1962 
+tim\96\9ae_d
+->
+zoom_Ëv\96
+--;
+
+1963 
+       `_gl_¦id\94_£t_zÝ
+(
+tim\96\9ae_d
+->
+v\9bw
+, 
+GL_SLIDE_ZOP_OUT
+);
+
+1966 ià(
+tim\96\9ae_d
+->
+zoom_Ëv\96
+ =ð
+GL_TM_ZOOM_DEFAULT
+)
+
+1967 
+       `_gl_¦id\94_£t_zËv\96
+(
+tim\96\9ae_d
+->
+v\9bw
+, 
+GL_SLIDE_ZLEVEL_MAX
+);
+
+1968 \vià(
+tim\96\9ae_d
+->
+zoom_Ëv\96
+ =ð
+GL_TM_ZOOM_OUT_TWO
+)
+
+1969 
+       `_gl_¦id\94_£t_zËv\96
+(
+tim\96\9ae_d
+->
+v\9bw
+, 
+GL_SLIDE_ZLEVEL_MIN
+);
+
+1971 
+       `_gl_¦id\94_£t_zËv\96
+(
+tim\96\9ae_d
+->
+v\9bw
+, 
+GL_SLIDE_ZLEVEL_MID
+);
+
+1973 
+       }
+}
+
+1975 \18\12
+       $__gl_tim\96\9ae_upd©e_zoom_·ges
+(
+gl_tim\96\9ae_s
+ *
+tim\96\9ae_d
+,
+
+1976 
+boÞ
+b_pout
+)
+
+1978 
+       `GL_CHECK_VAL
+(
+tim\96\9ae_d
+, -1);
+
+1979 \12
+i
+ = 0;
+
+1980 
+gl_\8ep_s
+ *
+\99_d
+ = 
+NULL
+;
+
+1981 \12
+\9adex
+ = 0;
+
+1983 \1e*
+s\99em
+ = 
+       `_gl_¦id\94_g\91_s\99em
+(
+tim\96\9ae_d
+->
+v\9bw
+);
+
+1984 
+       `GL_CHECK_VAL
+(
+s\99em
+, -1);
+
+1985 
+\99_d
+ = (
+gl_\8ep_s
+ *)
+       `_gl_¦id\94_g\91_s\99em_d©a
+(
+s\99em
+);
+
+1986 
+       `GL_CHECK_VAL
+(
+\99_d
+, -1);
+
+1987 \12
+·ge_f\9c¡_img_idx
+ = 
+\99_d
+->
+¡¬t_pos
+;
+
+1988 \12
+Ãw_cur_·ge_idx
+ = 0;
+
+1989 \12
+li¡_út
+ = 
+       `e\9aa_li¡_couÁ
+(
+tim\96\9ae_d
+->
+couÁ_li¡
+);
+
+1990 
+       `gl_dbg
+("Ëv\96: %d, couÁ: %d, couÁ_li¡: %d", 
+tim\96\9ae_d
+->
+zoom_Ëv\96
+,
+
+1991 
+tim\96\9ae_d
+->
+couÁ
+, 
+li¡_út
+);
+
+1992 \12
+út
+ = 0;
+
+1995 
+       `__gl_tim\96\9ae_upd©e_zoom_æags
+(
+tim\96\9ae_d
+, 
+b_pout
+);
+
+1996 
+       `evas_objeù_ä\93ze_ev\92ts_£t
+(
+tim\96\9ae_d
+->
+v\9bw
+, 
+EINA_TRUE
+);
+
+1997 
+       `GL_TL_CLEAR_PAGES
+(
+tim\96\9ae_d
+, 
+çl£
+);
+
+1998 
+       `gl_dbgW
+("evas_object_freeze_events_set EINA_TRUE");
+
+2000 \ f
+i
+ = 0; i < 
+tim\96\9ae_d
+->
+couÁ
+;) {
+
+2002 
+\99_d
+ = (
+gl_\8ep_s
+ *)
+       `ÿÎoc
+(1, \17(gl_tlp_s));
+
+2004 
+tim\96\9ae_d
+->
+li¡
+ = 
+       `e\9aa_li¡_­³nd
+Ñim\96\9ae_d->li¡, 
+\99_d
+);
+
+2005 
+\99_d
+->
+tim\96\9ae_d
+ =\81imeline_d;
+
+2006 ià(
+li¡_út
+ > 
+\9adex
+) {
+
+2008 
+út
+ = (\12)
+       `e\9aa_li¡_Áh
+(
+tim\96\9ae_d
+->
+couÁ_li¡
+,
+
+2009 
+\9adex
+);
+
+2010 
+       `gl_dbg
+("%d", 
+út
+);
+
+2013 
+út
+ = 1 + 
+       `¿nd
+() % 5;
+
+2014 
+tim\96\9ae_d
+->
+couÁ_li¡
+ = 
+       `e\9aa_li¡_­³nd
+(timeline_d->count_list,
+
+2015 (\1e*)
+út
+);
+
+2018 
+\99_d
+->
+couÁ
+ = 
+       `__gl_tim\96\9ae_upd©e_t\9ees_út
+(
+tim\96\9ae_d
+->
+zoom_Ëv\96
+,
+
+2019 
+út
+);
+
+2020 
+\99_d
+->
+\9adex
+ = index++;
+
+2021 
+\99_d
+->
+¡¬t_pos
+ = 
+i
+;
+
+2023 
+i
+ +ð
+\99_d
+->
+couÁ
+;
+
+2024 
+\99_d
+->
+\92d_pos
+ = 
+i
+ - 1;
+
+2026 ià(
+Ãw_cur_·ge_idx
+ ==0 &&
+
+2027 
+·ge_f\9c¡_img_idx
+ >ð
+\99_d
+->
+¡¬t_pos
+ &&
+
+2028 
+·ge_f\9c¡_img_idx
+ <ð
+\99_d
+->
+\92d_pos
+) {
+
+2029 
+       `gl_dbgW
+("New\85age index got!");
+
+2030 
+Ãw_cur_·ge_idx
+ = 
+\99_d
+->
+\9adex
+;
+
+2033 ià(
+tim\96\9ae_d
+->
+zoom_Ëv\96
+ !ð
+GL_TM_ZOOM_OUT_TWO
+ &&
+
+2034 
+i
+ >ð
+tim\96\9ae_d
+->
+couÁ
+) {
+
+2035 
+\99_d
+->
+\92d_pos
+ = 
+tim\96\9ae_d
+->
+couÁ
+ - 1;
+
+2036 
+\99_d
+->
+couÁ
+ = it_d->
+\92d_pos
+ - it_d->
+¡¬t_pos
+ + 1;
+
+2039 
+\99_d
+ = 
+NULL
+;
+
+2041 
+       `gl_dbg
+("Ëngth: %d", 
+       `e\9aa_li¡_couÁ
+(
+tim\96\9ae_d
+->
+li¡
+));
+
+2043 
+       `_gl_¦id\94_£t_li¡
+(
+tim\96\9ae_d
+->
+v\9bw
+,\81im\96\9ae_d->
+li¡
+,
+
+2044 
+Ãw_cur_·ge_idx
+);
+
+2045 
+       `_gl_¦id\94_lßd_f\9c¡_\99em
+(
+tim\96\9ae_d
+->
+v\9bw
+);
+
+2047 
+       }
+}
+
+2049 \18
+E\9aa_BoÞ
+       $__gl_tim\96\9ae_zoom_\9a
+(
+gl_tim\96\9ae_s
+ *
+tim\96\9ae_d
+)
+
+2051 
+       `GL_CHECK_FALSE
+(
+tim\96\9ae_d
+);
+
+2052 
+       `gl_dbg
+("");
+
+2054 ià(
+       `gl_g\91_v\9bw_mode
+(
+tim\96\9ae_d
+->
+ad
+è!ð
+GL_VIEW_TIMELINE
+)
+
+2055 \15 
+çl£
+;
+
+2057 
+       `gl_dbg
+("Ëv\96: %d", 
+tim\96\9ae_d
+->
+zoom_Ëv\96
+);
+
+2058 ià(
+tim\96\9ae_d
+->
+zoom_Ëv\96
+ >ð
+GL_TM_ZOOM_DEFAULT
+)
+
+2059 \15 
+çl£
+;
+
+2062 
+       `__gl_tim\96\9ae_upd©e_zoom_·ges
+(
+tim\96\9ae_d
+, 
+çl£
+);
+
+2063 \15 
+\8cue
+;
+
+2064 
+       }
+}
+
+2066 \18
+E\9aa_BoÞ
+       $__gl_tim\96\9ae_zoom_out
+(
+gl_tim\96\9ae_s
+ *
+tim\96\9ae_d
+)
+
+2068 
+       `GL_CHECK_FALSE
+(
+tim\96\9ae_d
+);
+
+2069 
+       `gl_dbg
+("");
+
+2071 ià(
+       `gl_g\91_v\9bw_mode
+(
+tim\96\9ae_d
+->
+ad
+è!ð
+GL_VIEW_TIMELINE
+)
+
+2072 \15 
+çl£
+;
+
+2074 
+       `gl_dbg
+("Ëv\96: %d", 
+tim\96\9ae_d
+->
+zoom_Ëv\96
+);
+
+2075 ià(
+tim\96\9ae_d
+->
+zoom_Ëv\96
+ <ð
+GL_TM_ZOOM_OUT_TWO
+)
+
+2076 \15 
+çl£
+;
+
+2079 
+       `__gl_tim\96\9ae_upd©e_zoom_·ges
+(
+tim\96\9ae_d
+, 
+\8cue
+);
+
+2080 \15 
+\8cue
+;
+
+2081 
+       }
+}
+
+2083 \18\1e
+       $__gl_tim\96\9ae_¦id\94_þicked_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+2085 
+       `gl_dbg
+("");
+
+2086 
+       }
+}
+
+2088 \18\1e
+       $__gl_tim\96\9ae_¦id\94_lÚg_´ess_¡¬t_cb
+(\1e*
+d©a
+,
+
+2089 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+2091 
+       `gl_dbg
+("");
+
+2092 
+       }
+}
+
+2094 \18\1e
+       $__gl_tim\96\9ae_¦id\94_lÚg_´ess_\92d_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+,
+
+2095 \1e*
+ei
+)
+
+2097 
+       `gl_dbg
+("");
+
+2098 
+       }
+}
+
+2100 \18\1e
+       $__gl_tim\96\9ae_¦id\94_\99em_chªged_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+,
+
+2101 \1e*
+ei
+)
+
+2103 
+       `GL_CHECK
+(
+ei
+);
+
+2104 
+       `GL_CHECK
+(
+d©a
+);
+
+2105 
+       `gl_dbg
+("");
+
+2107 
+       `__gl_tim\96\9ae_upd©e_t\99Ë
+((
+gl_tim\96\9ae_s
+ *)
+d©a
+,
+
+2108 (
+gl_\8ep_s
+ *)
+       `_gl_¦id\94_g\91_s\99em_d©a
+(
+ei
+),
+
+2109 
+çl£
+);
+
+2110 
+       }
+}
+
+2112 \18\1e
+       $__gl_tim\96\9ae_¦id\94_\99em_¡©e_chªged_cb
+(\1e*
+d©a
+,
+
+2113 
+Evas_Objeù
+ *
+obj
+,
+
+2114 \1e*
+ei
+)
+
+2116 
+       `gl_dbg
+("");
+
+2117 
+       }
+}
+
+2119 \18\1e
+       $__gl_tim\96\9ae_¦id\94_\99ems_»sized_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+,
+
+2120 \1e*
+ei
+)
+
+2122 
+       `gl_dbgW
+("start");
+
+2123 
+       `GL_CHECK
+(
+d©a
+);
+
+2124 
+gl_tim\96\9ae_s
+ *
+tim\96\9ae_d
+ = (gl_tim\96\9ae_ *)
+d©a
+;
+
+2125 
+       `GL_CHECK
+(
+tim\96\9ae_d
+->
+ad
+);
+
+2126 
+       `_gl_ma\9a_add_»g_idËr
+(
+tim\96\9ae_d
+->
+ad
+);
+
+2127 ià(!
+tim\96\9ae_d
+->
+b_ü\97\8bd
+) {
+
+2128 
+tim\96\9ae_d
+->
+b_ü\97\8bd
+ = 
+\8cue
+;
+
+2129 
+       `_gl_¦id\94_lßd_f\9c¡_\99em
+(
+tim\96\9ae_d
+->
+v\9bw
+);
+
+2131 ià(
+tim\96\9ae_d
+->
+\8cª_Ý
+ =ð
+GL_TRANS_OP_SHOW
+) {
+
+2132 
+       `gl_dbgW
+("Change\81ransit operation mode!");
+
+2133 
+tim\96\9ae_d
+->
+\8cª_Ý
+ = 
+GL_TRANS_OP_START
+;
+
+2136 
+       `gl_dbgW
+("done");
+
+2137 
+       }
+}
+
+2139 \18\1e
+       $__gl_tim\96\9ae_¦id\94_\99ems_zoom_out_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+,
+
+2140 \1e*
+ei
+)
+
+2142 
+       `gl_dbgW
+("start");
+
+2143 
+       `GL_CHECK
+(
+d©a
+);
+
+2144 
+gl_tim\96\9ae_s
+ *
+tim\96\9ae_d
+ = (gl_tim\96\9ae_ *)
+d©a
+;
+
+2145 
+       `GL_CHECK
+(
+tim\96\9ae_d
+->
+ad
+);
+
+2146 
+       `__gl_tim\96\9ae_zoom_out
+(
+tim\96\9ae_d
+);
+
+2147 
+       `gl_dbgW
+("done");
+
+2148 
+       }
+}
+
+2150 \18\1e
+       $__gl_tim\96\9ae_¦id\94_\99ems_zoom_\9a_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+,
+
+2151 \1e*
+ei
+)
+
+2153 
+       `gl_dbgW
+("start");
+
+2154 
+       `GL_CHECK
+(
+d©a
+);
+
+2155 
+gl_tim\96\9ae_s
+ *
+tim\96\9ae_d
+ = (gl_tim\96\9ae_ *)
+d©a
+;
+
+2156 
+       `GL_CHECK
+(
+tim\96\9ae_d
+->
+ad
+);
+
+2157 
+       `__gl_tim\96\9ae_zoom_\9a
+(
+tim\96\9ae_d
+);
+
+2158 
+       `gl_dbgW
+("done");
+
+2159 
+       }
+}
+
+2162 \18\1e
+       $__gl_tim\96\9ae_»size_Ïyout_cb
+(\1e*
+d©a
+, 
+Evas
+ *
+e
+,
+
+2163 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+2165 
+       `GL_CHECK
+(
+d©a
+);
+
+2166 
+gl_tim\96\9ae_s
+ *
+tim\96\9ae_d
+ = (gl_tim\96\9ae_ *)
+d©a
+;
+
+2167 
+Evas_CoÜd
+x
+,
+y
+,
+w
+,
+h
+;
+
+2169 
+       `evas_objeù_geom\91ry_g\91
+(
+obj
+, &
+x
+, &
+y
+, &
+w
+, &
+h
+);
+
+2170 
+       `gl_dbg
+("Ma\9aV\9bw\84esized geom\8bry XYWH(%d,%d,%d,%d)", 
+x
+, 
+y
+, 
+w
+, 
+h
+);
+
+2171 
+       `evas_objeù_d©a_£t
+(
+tim\96\9ae_d
+->
+Ïyout
+, "·ge_w", (\1e*)
+w
+);
+
+2172 
+       `evas_objeù_d©a_£t
+(
+tim\96\9ae_d
+->
+Ïyout
+, "·ge_h", (\1e*)
+h
+);
+
+2173 
+tim\96\9ae_d
+->
+w
+ = w;
+
+2174 
+tim\96\9ae_d
+->
+h
+ = h;
+
+2175 
+       }
+}
+
+2179 \18\12
+       $__gl_tim\96\9ae_add_¦id\94_cbs
+(
+Evas_Objeù
+ *
+¦id\94
+, \1e*
+cb_d©a
+)
+
+2181 
+       `GL_CHECK_VAL
+(
+cb_d©a
+, -1);
+
+2182 
+       `GL_CHECK_VAL
+(
+¦id\94
+, -1);
+
+2184 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+¦id\94
+, "slider,clicked",
+
+2185 
+__gl_tim\96\9ae_¦id\94_þicked_cb
+,
+
+2186 
+cb_d©a
+);
+
+2187 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+¦id\94
+, "slider,longpress,start",
+
+2188 
+__gl_tim\96\9ae_¦id\94_lÚg_´ess_¡¬t_cb
+,
+
+2189 
+cb_d©a
+);
+
+2190 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+¦id\94
+, "slider,longpress,end",
+
+2191 
+__gl_tim\96\9ae_¦id\94_lÚg_´ess_\92d_cb
+,
+
+2192 
+cb_d©a
+);
+
+2194 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+¦id\94
+, "slider,item,changed",
+
+2195 
+__gl_tim\96\9ae_¦id\94_\99em_chªged_cb
+,
+
+2196 
+cb_d©a
+);
+
+2197 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+¦id\94
+, "slider,item,state,changed",
+
+2198 
+__gl_tim\96\9ae_¦id\94_\99em_¡©e_chªged_cb
+,
+
+2199 
+cb_d©a
+);
+
+2200 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+¦id\94
+, "slider,items,resized",
+
+2201 
+__gl_tim\96\9ae_¦id\94_\99ems_»sized_cb
+,
+
+2202 
+cb_d©a
+);
+
+2203 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+¦id\94
+, "slider,items,zoomout",
+
+2204 
+__gl_tim\96\9ae_¦id\94_\99ems_zoom_out_cb
+,
+
+2205 
+cb_d©a
+);
+
+2206 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+¦id\94
+, "slider,items,zoomin",
+
+2207 
+__gl_tim\96\9ae_¦id\94_\99ems_zoom_\9a_cb
+,
+
+2208 
+cb_d©a
+);
+
+2210 
+       }
+}
+
+2212 \18
+Evas_Objeù
+ *
+       $__gl_tim\96\9ae_ü\97\8b_¦id\94
+(
+gl_tim\96\9ae_s
+ *
+tim\96\9ae_d
+)
+
+2214 
+       `GL_CHECK_NULL
+(
+tim\96\9ae_d
+);
+
+2215 
+Evas_Objeù
+ *
+¦id\94
+ = 
+NULL
+;
+
+2217 
+¦id\94
+ = 
+       `_gl_¦id\94_add
+(
+tim\96\9ae_d
+->
+Ïyout
+);
+
+2218 
+       `GL_CHECK_NULL
+(
+¦id\94
+);
+
+2220 
+       `evas_objeù_d©a_£t
+(
+¦id\94
+, "create_func",
+
+2221 (\1e*)
+__gl_tim\96\9ae_add_·ge
+);
+
+2222 
+       `evas_objeù_d©a_£t
+(
+¦id\94
+, "reset_cks_func",
+
+2223 (\1e*)
+__gl_tim\96\9ae_ȣt_cks
+);
+
+2224 
+       `evas_objeù_d©a_£t
+(
+¦id\94
+, "set_cks_state_func",
+
+2225 (\1e*)
+__gl_tim\96\9ae_£t_cks_¡©e
+);
+
+2226 
+       `__gl_tim\96\9ae_add_¦id\94_cbs
+(
+¦id\94
+, (\1e*)
+tim\96\9ae_d
+);
+
+2227 \12
+bx
+ = 0;
+
+2228 \12
+by
+ = 0;
+
+2229 \12
+bw
+ = 0;
+
+2230 \12
+bh
+ = 0;
+
+2231 
+       `evas_objeù_geom\91ry_g\91
+(
+¦id\94
+, &
+bx
+, &
+by
+, &
+bw
+, &
+bh
+);
+
+2232 
+       `gl_dbg
+("¦id\94. (%d,%d,%d,%d)", 
+bx
+, 
+by
+, 
+bw
+, 
+bh
+);
+
+2234 \15 
+¦id\94
+;
+
+2235 
+       }
+}
+
+2238 \18\12
+       $__gl_tim\96Ã_show_nocÚ\8bÁs
+(
+gl_tim\96\9ae_s
+ *
+tim\96\9ae_d
+)
+
+2240 
+       `GL_CHECK_VAL
+(
+tim\96\9ae_d
+, -1);
+
+2241 
+       `GL_CHECK_VAL
+(
+tim\96\9ae_d
+->
+ad
+, -1);
+
+2243 ià(
+tim\96\9ae_d
+->
+nocÚ\8bÁs
+) {
+
+2244 
+       `gl_dbgW
+("Already created!");
+
+2248 
+       `GL_IF_DEL_OBJ
+(
+tim\96\9ae_d
+->
+v\9bw
+);
+
+2249 
+Evas_Objeù
+ *
+t\99Ë
+ = 
+       `\96m_objeù_·¹_cÚ\8bÁ_g\91
+(
+tim\96\9ae_d
+->
+Ïyout
+,
+
+2251 
+       `GL_IF_DEL_OBJ
+(
+t\99Ë
+);
+
+2253 
+Evas_Objeù
+ *
+noc
+ = 
+       `_gl_nocÚ\8bÁs_ü\97\8b
+(
+tim\96\9ae_d
+->
+·»Á
+);
+
+2254 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+tim\96\9ae_d
+->
+·»Á
+, "elm.swallow.view",
+
+2255 
+noc
+);
+
+2256 
+tim\96\9ae_d
+->
+nocÚ\8bÁs
+ = 
+noc
+;
+
+2259 
+       }
+}
+
+2261 \18\12
+       $__gl_tim\96Ã_d\96_nocÚ\8bÁs
+(
+gl_tim\96\9ae_s
+ *
+tim\96\9ae_d
+)
+
+2263 
+       `GL_CHECK_VAL
+(
+tim\96\9ae_d
+, -1);
+
+2264 
+       `GL_CHECK_VAL
+(
+tim\96\9ae_d
+->
+ad
+, -1);
+
+2266 ià(
+tim\96\9ae_d
+->
+nocÚ\8bÁs
+ =ð
+NULL
+)
+
+2269 
+       `gl_dbg
+("Delete\82ocontents view first");
+
+2270 
+       `GL_IF_DEL_OBJ
+(
+tim\96\9ae_d
+->
+nocÚ\8bÁs
+);
+
+2272 
+Evas_Objeù
+ *
+v\9bw
+ = 
+       `__gl_tim\96\9ae_ü\97\8b_li¡_v\9bw
+(
+tim\96\9ae_d
+, 
+çl£
+);
+
+2273 ià(
+v\9bw
+ =ð
+NULL
+) {
+
+2274 
+       `gl_dbgE
+("Failed\81o create view!");
+
+2275 
+       `__gl_tim\96Ã_show_nocÚ\8bÁs
+(
+tim\96\9ae_d
+);
+
+2276 
+       `\96m_Çviäame_\99em_t\99Ë_\92abËd_£t
+(
+tim\96\9ae_d
+->
+nf_\99
+, 
+EINA_FALSE
+, EINA_FALSE);
+
+2280 
+       `\96m_Çviäame_\99em_t\99Ë_\92abËd_£t
+(
+tim\96\9ae_d
+->
+nf_\99
+, 
+EINA_TRUE
+, EINA_TRUE);
+
+2281 
+tim\96\9ae_d
+->
+v\9bw
+ = view;
+
+2282 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+tim\96\9ae_d
+->
+·»Á
+, "elm.swallow.view",
+
+2283 
+v\9bw
+);
+
+2286 
+       }
+}
+
+2288 \12
+       $_gl_tim\96\9ae_g\91_\99em_\9adex
+(\1e*
+d©a
+, \ 5
+·th
+)
+
+2290 
+       `GL_CHECK_VAL
+(
+d©a
+, 1);
+
+2291 
+       `GL_CHECK_VAL
+(
+·th
+, 1);
+
+2292 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+2293 
+gl_med\9f_s
+ *
+g\99em
+ = 
+NULL
+;
+
+2294 ià(
+ad
+->
+\8e\9afo
+ &&\87d->\8e\9afo->
+d©a_li¡
+) {
+
+2295 \12
+couÁ
+ = 
+       `e\9aa_li¡_couÁ
+(
+ad
+->
+\8e\9afo
+->
+d©a_li¡
+);
+
+2296 \12
+i
+;
+
+2297 \ f
+i
+ = 0 ; i < 
+couÁ
+ ; i++) {
+
+2298 
+g\99em
+ = 
+       `e\9aa_li¡_Áh
+(
+ad
+->
+\8e\9afo
+->
+d©a_li¡
+, 
+i
+);
+
+2299 ià(
+g\99em
+) {
+
+2300 ià(!
+       `¡rcmp
+(
+·th
+, 
+g\99em
+->
+f\9ee_u¾
+)) {
+
+2301 \15 
+i
+ + 1;
+
+2307 
+       }
+}
+
+2309 \18\1e
+       $__gl_tim\96\9ae_thumbs_£l_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+2311 
+       `GL_CHECK
+(
+d©a
+);
+
+2312 
+gl_tim\96\9ae_s
+ *
+g\99em
+ = (gl_tim\96\9ae_ *)
+d©a
+;
+
+2313 
+       `GL_CHECK
+(
+g\99em
+->
+ad
+);
+
+2314 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+g\99em
+->ad;
+
+2315 
+       `\96m_g\92grid_\99em_£Ëùed_£t
+((
+Elm_Objeù_I\8bm
+ *)
+ei
+, 
+EINA_FALSE
+);
+
+2318 
+gl_med\9f_s
+ *
+\99em
+ = 
+NULL
+;
+
+2319 
+\99em
+ = 
+       `\96m_objeù_\99em_d©a_g\91
+((
+Elm_Objeù_I\8bm
+ *)
+ei
+);
+
+2320 
+       `_gl_ui_§ve_süÞËr_pos
+(
+g\99em
+->
+v\9bw
+);
+
+2321 ià(
+g\99em
+->
+v\9bw_m
+ !ð
+GL_TL_VIEW_NORMAL
+) {
+
+2322 
+Evas_Objeù
+ *
+ck
+ = 
+NULL
+;
+
+2323 
+ck
+ = 
+       `\96m_objeù_\99em_·¹_cÚ\8bÁ_g\91
+((
+Elm_Objeù_I\8bm
+ *)
+ei
+, 
+GL_THUMB_CHECKBOX
+);
+
+2324 ià(
+ck
+) {
+
+2325 
+       `\96m_check_¡©e_£t
+(
+ck
+, !
+       `\96m_check_¡©e_g\91
+(ck));
+
+2326 
+       `__gl_tim\96\9ae_thumb_check_Ý
+(
+g\99em
+, 
+ck
+, 
+\99em
+);
+
+2328 
+       `gl_dbgE
+("item checkbox\82ot found");
+
+2331 ià(
+\99em
+ && i\8bm->
+f\9ee_u¾
+) {
+
+2332 \12
+\9adex
+ = 
+       `_gl_tim\96\9ae_g\91_\99em_\9adex
+(
+ad
+, 
+\99em
+->
+f\9ee_u¾
+);
+
+2333 
+       `_gl_ext_lßd_iv_tim\96\9ae
+(
+ad
+, 
+\99em
+->
+f\9ee_u¾
+, 
+\9adex
+,\87d->
+\8e\9afo
+->
+time_med\9f_di¥Ïy_Üd\94
+);
+
+2336 
+       `gl_dbgW
+("Image wasn't found!");
+
+2339 
+       `_gl_ui_»¡Üe_süÞËr_pos
+(
+g\99em
+->
+v\9bw
+);
+
+2340 
+       }
+}
+
+2342 
+Evas_Objeù
+ *
+       $_gl_tim\96\9ae_thumbs_g\91_cÚ\8bÁ
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+·»Á
+,
+
+2343 \12
+w
+, \12
+h
+)
+
+2345 
+       `GL_CHECK_NULL
+(
+·»Á
+);
+
+2346 
+       `GL_CHECK_NULL
+(
+d©a
+);
+
+2347 
+gl_med\9f_s
+ *
+\99em
+ = (gl_med\9f_ *)
+d©a
+;
+
+2348 \ 5*
+·th
+ = 
+NULL
+;
+
+2349 
+Evas_Objeù
+ *
+Ïyout
+ = 
+NULL
+;
+
+2351 ià(
+       `GL_FILE_EXISTS
+(
+\99em
+->
+thumb_u¾
+)) {
+
+2352 
+·th
+ = 
+\99em
+->
+thumb_u¾
+;
+
+2355 
+·th
+ = 
+GL_ICON_NO_THUMBNAIL
+;
+
+2358 \12
+zoom_Ëv\96
+ = 
+GL_ZOOM_DEFAULT
+;
+
+2360 ià(
+\99em
+->
+ty³
+ =ð
+MEDIA_CONTENT_TYPE_VIDEO
+) {
+
+2361 \1d\12
+v_dur
+ = 0;
+
+2362 ià(
+\99em
+->
+video_\9afo
+) {
+
+2363 
+v_dur
+ = 
+\99em
+->
+video_\9afo
+->
+du¿tiÚ
+;
+
+2365 
+Ïyout
+ = 
+       `_gl_thumb_show_video
+(
+·»Á
+, 
+·th
+, 
+v_dur
+, 
+w
+, 
+h
+,
+
+2366 
+zoom_Ëv\96
+);
+
+2368 ià(
+\99em
+->
+image_\9afo
+ &&
+
+2369 
+\99em
+->
+image_\9afo
+->
+bur¡shÙ_id
+) {
+
+2370 
+Ïyout
+ = 
+       `_gl_thumb_show_image
+(
+·»Á
+, 
+·th
+, 0, 
+w
+, 
+h
+,
+
+2371 
+zoom_Ëv\96
+);
+
+2372 
+\99em
+->
+mode
+ = 
+GL_CM_MODE_BURSTSHOT
+;
+
+2374 
+Ïyout
+ = 
+       `_gl_thumb_show_image
+(
+·»Á
+, 
+·th
+, 0, 
+w
+, 
+h
+,
+
+2375 
+zoom_Ëv\96
+);
+
+2378 \15 
+Ïyout
+;
+
+2379 
+       }
+}
+
+2381 \18\1e
+       $__gl_tim\96\9ae_thumbs_ü\97\8b_thumb_cb
+(
+med\9f_cÚ\8bÁ_\94rÜ_e
+\94
+,
+
+2382 cڡ \ 5*
+·th
+, \1e*
+u£r_d©a
+)
+
+2384 
+       `GL_CHECK
+(
+u£r_d©a
+);
+
+2385 
+gl_med\9f_s
+ *
+thumb_d©a
+ = (gl_med\9f_ *)
+u£r_d©a
+;
+
+2387 
+thumb_d©a
+->
+b_ü\97\8b_thumb
+ = 
+çl£
+;
+
+2388 ià(
+\94
+ =ð
+MEDIA_CONTENT_ERROR_NONE
+ && 
+       `GL_FILE_EXISTS
+(
+·th
+) &&
+
+2389 
+       `g_¡rcmp0
+(
+·th
+, 
+GL_ICON_DB_DEFAULT_THUMB
+)) {
+
+2390 
+       `GL_CHECK
+(
+thumb_d©a
+);
+
+2392 
+       `GL_FREEIF
+(
+thumb_d©a
+->
+thumb_u¾
+);
+
+2393 
+thumb_d©a
+->
+thumb_u¾
+ = 
+       `¡rdup
+(
+·th
+);
+
+2394 
+       `\96m_g\92grid_\99em_upd©e
+(
+thumb_d©a
+->
+\96m_\99em
+);
+
+2396 
+       `gl_dbgE
+("[%d]Inv®id\85©h[%s]!", 
+\94
+, 
+·th
+);
+
+2398 
+       }
+}
+
+2401 \12
+       $_gl_tim\96\9ae_thumbs_ü\97\8b_thumb
+(
+gl_med\9f_s
+ *
+g\99em
+)
+
+2403 
+       `GL_CHECK_VAL
+(
+g\99em
+, -1);
+
+2404 
+       `GL_CHECK_VAL
+(
+g\99em
+->
+f\9ee_u¾
+, -1);
+
+2406 ià(
+       `GL_FILE_EXISTS
+(
+g\99em
+->
+f\9ee_u¾
+)) {
+
+2407 
+       `_gl_d©a_ü\97\8b_thumb
+(
+g\99em
+, 
+__gl_tim\96\9ae_thumbs_ü\97\8b_thumb_cb
+,
+
+2408 
+g\99em
+);
+
+2412 
+       }
+}
+
+2414 \18\1e
+       $__gl_tim\96\9ae_thumbs_»®ized
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+2417 
+       `gl_dbg
+("realized");
+
+2418 
+       `GL_CHECK
+(
+ei
+);
+
+2419 
+       `GL_CHECK
+(
+d©a
+);
+
+2420 
+Elm_Objeù_I\8bm
+ *
+\99
+ = (Elm_Objeù_I\8bm *)
+ei
+;
+
+2421 
+gl_med\9f_s
+ *
+g\99em
+ = 
+NULL
+;
+
+2423 
+g\99em
+ = 
+       `\96m_objeù_\99em_d©a_g\91
+(
+\99
+);
+
+2424 
+       `GL_CHECK
+(
+g\99em
+);
+
+2426 ià(
+g\99em
+->
+¡Üage_ty³
+ =ð
+GL_STORE_T_MMC
+ ||
+
+2427 
+g\99em
+->
+¡Üage_ty³
+ =ð
+GL_STORE_T_ALL
+ ||
+
+2428 
+g\99em
+->
+¡Üage_ty³
+ =ð
+GL_STORE_T_PHONE
+) {
+
+2430 ià(!
+       `GL_FILE_EXISTS
+(
+g\99em
+->
+thumb_u¾
+)) {
+
+2431 
+       `_gl_tim\96\9ae_thumbs_ü\97\8b_thumb
+(
+g\99em
+);
+
+2434 
+       }
+}
+
+2436 \18\1e
+       $__gl_tim\96\9ae_thumbs_uÄ\97lized
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+2438 
+       `gl_dbg
+("unrealized");
+
+2439 
+       `GL_CHECK
+(
+ei
+);
+
+2440 
+       `GL_CHECK
+(
+d©a
+);
+
+2441 
+Elm_Objeù_I\8bm
+ *
+\99
+ = (Elm_Objeù_I\8bm *)
+ei
+;
+
+2443 
+gl_med\9f_s
+ *
+g\99em
+ = 
+       `\96m_objeù_\99em_d©a_g\91
+(
+\99
+);
+
+2444 
+       `GL_CHECK
+(
+g\99em
+);
+
+2446 ià(
+g\99em
+->
+¡Üage_ty³
+ =ð
+GL_STORE_T_MMC
+ ||
+
+2447 
+g\99em
+->
+¡Üage_ty³
+ =ð
+GL_STORE_T_ALL
+ ||
+
+2448 
+g\99em
+->
+¡Üage_ty³
+ =ð
+GL_STORE_T_PHONE
+) {
+
+2449 ià(
+g\99em
+->
+b_ü\97\8b_thumb
+) {
+
+2450 
+       `_gl_d©a_ÿnûl_thumb
+(
+g\99em
+);
+
+2453 
+       }
+}
+
+2455 \1e
+       $_gl_tim\96\9ae_Ý\92_f\9ee_£Ëù_mode
+(\1e*
+d©a
+)
+
+2457 
+gl_med\9f_s
+ *
+g\99em
+ = (gl_med\9f_ *)
+d©a
+;
+
+2458 
+       `GL_CHECK
+(
+g\99em
+);
+
+2459 
+       `GL_CHECK
+(
+g\99em
+->
+f\9ee_u¾
+);
+
+2460 
+       `GL_CHECK
+(
+       `¡¾\92
+(
+g\99em
+->
+f\9ee_u¾
+));
+
+2461 
+       `GL_CHECK
+(
+g\99em
+->
+ad
+);
+
+2462 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+g\99em
+->ad;
+
+2464 
+       `gl_dbg
+("Loading UG-IMAGE-VIEWER-SELECT-MODE");
+
+2465 
+       `gl_ext_lßd_iv_time_ug_£Ëù_mode
+(
+ad
+, 
+g\99em
+, 
+GL_UG_IV
+,\87d->
+\8e\9afo
+->
+time_med\9f_di¥Ïy_Üd\94
+);
+
+2466 
+       }
+}
+
+2468 \1e
+       $_gl_tim\96\9ae_Ý\92_image_\9a_£Ëù_mode
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ev\92t_\9afo
+)
+
+2470 
+       `GL_CHECK
+(
+d©a
+);
+
+2471 
+       `_gl_tim\96\9ae_Ý\92_f\9ee_£Ëù_mode
+(
+d©a
+);
+
+2472 
+       }
+}
+
+2474 \18
+Evas_Objeù
+ *
+       $__gl_tim\96\9ae_thumbs_g\91_cÚ\8bÁ
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+,
+
+2475 cڡ \ 5*
+·¹
+)
+
+2477 
+       `GL_CHECK_NULL
+(
+·¹
+);
+
+2478 
+       `GL_CHECK_NULL
+(
+       `¡¾\92
+(
+·¹
+));
+
+2479 
+       `GL_CHECK_NULL
+(
+d©a
+);
+
+2480 
+gl_med\9f_s
+ *
+g\99em
+ = (gl_med\9f_ *)
+d©a
+;
+
+2481 
+       `GL_CHECK_NULL
+(
+g\99em
+);
+
+2482 
+gl_tim\96\9ae_s
+ *
+tim\96\9ae_d
+ = (gl_tim\96\9ae_ *)
+       `evas_objeù_d©a_g\91
+(
+obj
+, "data");
+
+2483 
+       `GL_CHECK_NULL
+(
+tim\96\9ae_d
+);
+
+2484 \12
+mode
+ = 
+tim\96\9ae_d
+->
+v\9bw_m
+;
+
+2486 ià(!
+       `g_¡rcmp0
+(
+·¹
+, 
+GL_THUMB_ICON
+)) {
+
+2487 
+Evas_Objeù
+ *
+Ïyout
+ = 
+       `_gl_tim\96\9ae_thumbs_g\91_cÚ\8bÁ
+(
+g\99em
+, 
+obj
+,
+
+2488 
+tim\96\9ae_d
+->
+w
+,
+
+2489 
+tim\96\9ae_d
+->
+h
+);
+
+2490 ià(
+g\99em
+->
+¡Üage_ty³
+ =ð
+GL_STORE_T_MMC
+) {
+
+2491 
+       `\96m_objeù_\99em_sigÇl_em\99
+(
+g\99em
+->
+\96m_\99em
+, "show_sd_card_icon", "sd_card_icon_img");
+
+2493 \15 
+Ïyout
+;
+
+2494 } \vià(!
+       `g_¡rcmp0
+(
+·¹
+, 
+GL_THUMB_CHECKBOX
+)) {
+
+2495 
+Evas_Objeù
+ *
+ck
+ = 
+NULL
+;
+
+2496 ià(
+mode
+ =ð
+GL_TL_VIEW_EDIT
+) {
+
+2497 
+ck
+ = 
+       `\96m_check_add
+(
+obj
+);
+
+2498 
+       `GL_CHECK_NULL
+(
+ck
+);
+
+2500 #ifdeà
+_USE_GRID_CHECK
+
+
+2501 
+       `\96m_objeù_¡yË_£t
+(
+ck
+, "grid");
+
+2503 
+       `\96m_objeù_¡yË_£t
+(
+ck
+, 
+GL_CHECKBOX_STYLE_THUMB
+);
+
+2505 
+       `evas_objeù_´Ýag©e_ev\92ts_£t
+(
+ck
+, 
+EINA_FALSE
+);
+
+2506 
+       `\96m_check_¡©e_£t
+(
+ck
+, 
+g\99em
+->
+check_¡©e
+);
+
+2507 
+       `evas_objeù_d©a_£t
+(
+ck
+, "d©a", (\1e*)
+tim\96\9ae_d
+);
+
+2508 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+ck
+, "chªged", 
+__gl_tim\96\9ae_thumbs_check_chªged
+, 
+d©a
+);
+
+2509 
+       `evas_objeù_show
+(
+ck
+);
+
+2510 
+       `\96m_objeù_\99em_sigÇl_em\99
+(
+g\99em
+->
+\96m_\99em
+, "show_image_icon", "elm_image_open_icon_rect");
+
+2512 
+       `\96m_objeù_\99em_sigÇl_em\99
+(
+g\99em
+->
+\96m_\99em
+, "hide_image_icon", "elm_image_open_icon_rect");
+
+2514 \15 
+ck
+;
+
+2515 } \vià(!
+       `g_¡rcmp0
+(
+·¹
+, "elm_image_open_icon_swallow_blocker")) {
+
+2516 
+Evas_Objeù
+ *
+b\8a1
+ = 
+NULL
+;
+
+2517 ià(
+mode
+ =ð
+GL_TL_VIEW_EDIT
+) {
+
+2518 
+b\8a1
+ = 
+       `evas_objeù_»ùªgË_add
+(
+       `evas_objeù_evas_g\91
+(
+obj
+));
+
+2519 
+       `evas_objeù_cÞÜ_£t
+(
+b\8a1
+, 0, 255, 0, 0);
+
+2520 
+       `evas_objeù_´Ýag©e_ev\92ts_£t
+(
+b\8a1
+, 
+EINA_FALSE
+);
+
+2522 
+b\8a1
+ = 
+       `\96m_objeù_\99em_·¹_cÚ\8bÁ_g\91
+(
+g\99em
+->
+\96m_\99em
+,
+
+2524 ià(
+b\8a1
+) {
+
+2525 
+       `evas_objeù_d\96
+(
+b\8a1
+);
+
+2526 
+b\8a1
+ = 
+NULL
+;
+
+2529 \15 
+b\8a1
+;
+
+2530 } \vià(!
+       `g_¡rcmp0
+(
+·¹
+, "elm_image_open_icon_swallow")) {
+
+2531 
+Evas_Objeù
+ *
+b\8a
+ = 
+NULL
+;
+
+2532 ià(
+mode
+ =ð
+GL_TL_VIEW_EDIT
+) {
+
+2533 
+b\8a
+ = 
+       `\96m_bu\89Ú_add
+(
+obj
+);
+
+2534 
+       `\96m_objeù_¡yË_£t
+(
+b\8a
+, "transparent");
+
+2535 
+       `evas_objeù_show
+(
+b\8a
+);
+
+2536 
+       `evas_objeù_´Ýag©e_ev\92ts_£t
+(
+b\8a
+, 
+EINA_FALSE
+);
+
+2537 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+b\8a
+, "þicked", 
+_gl_tim\96\9ae_Ý\92_image_\9a_£Ëù_mode
+, 
+g\99em
+);
+
+2539 
+b\8a
+ = 
+       `\96m_objeù_\99em_·¹_cÚ\8bÁ_g\91
+(
+g\99em
+->
+\96m_\99em
+,
+
+2541 ià(
+b\8a
+) {
+
+2542 
+       `evas_objeù_d\96
+(
+b\8a
+);
+
+2543 
+b\8a
+ = 
+NULL
+;
+
+2546 \15 
+b\8a
+;
+
+2548 \15 
+NULL
+;
+
+2549 
+       }
+}
+
+2551 \12
+       $_gl_tim\96\9ae_thumb_£t_size
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+v\9bw
+, \12*
+size_w
+, \12*
+size_h
+)
+
+2553 
+       `GL_CHECK_VAL
+(
+v\9bw
+, -1);
+
+2554 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+2555 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+2556 \12
+r٩e_mode
+ = 
+ad
+->
+ma\9a\9afo
+.rotate_mode;
+
+2557 \12
+_w
+ = 0;
+
+2558 \12
+_h
+ = 0;
+
+2559 \12
+_w_l
+ = 0;
+
+2560 \12
+_h_l
+ = 0;
+
+2561 \12
+w\9a_w
+ = 0;
+
+2562 \12
+w\9a_h
+ = 0;
+
+2563 \12
+\99ems_³r_row
+ = 0;
+
+2564 
+       `_gl_g\91_w\9a_çùÜ
+(
+ad
+->
+ma\9a\9afo
+.
+w\9a
+, &
+w\9a_w
+, &
+w\9a_h
+);
+
+2566 ià((
+r٩e_mode
+ =ð
+APP_DEVICE_ORIENTATION_270
+) ||
+
+2567 (
+r٩e_mode
+ =ð
+APP_DEVICE_ORIENTATION_90
+)) {
+
+2568 ià(
+ad
+->
+p\9ach\9afo
+.
+zoom_Ëv\96
+ =ð
+GL_ZOOM_IN_TWO
+) {
+
+2569 
+\99ems_³r_row
+ = 
+GL_GRID_6_PER_ROW
+;
+
+2570 } \vià(
+ad
+->
+p\9ach\9afo
+.
+zoom_Ëv\96
+ =ð
+GL_ZOOM_IN_ONE
+) {
+
+2571 
+\99ems_³r_row
+ = 
+GL_GRID_7_PER_ROW
+;
+
+2572 } \vià(
+ad
+->
+p\9ach\9afo
+.
+zoom_Ëv\96
+ =ð
+GL_ZOOM_DEFAULT
+) {
+
+2573 
+\99ems_³r_row
+ = 
+GL_GRID_10_PER_ROW
+;
+
+2575 
+\99ems_³r_row
+ = 
+GL_GRID_7_PER_ROW
+;
+
+2578 ià(
+ad
+->
+p\9ach\9afo
+.
+zoom_Ëv\96
+ =ð
+GL_ZOOM_IN_TWO
+) {
+
+2579 
+\99ems_³r_row
+ = 
+GL_GRID_3_PER_ROW
+;
+
+2580 } \vià(
+ad
+->
+p\9ach\9afo
+.
+zoom_Ëv\96
+ =ð
+GL_ZOOM_IN_ONE
+) {
+
+2581 
+\99ems_³r_row
+ = 
+GL_GRID_4_PER_ROW
+;
+
+2582 } \vià(
+ad
+->
+p\9ach\9afo
+.
+zoom_Ëv\96
+ =ð
+GL_ZOOM_DEFAULT
+) {
+
+2583 
+\99ems_³r_row
+ = 
+GL_GRID_8_PER_ROW
+;
+
+2585 
+\99ems_³r_row
+ = 
+GL_GRID_4_PER_ROW
+;
+
+2589 
+_w
+ = (\12)(
+w\9a_w
+ / 
+\99ems_³r_row
+);
+
+2590 
+_w_l
+ = (\12)(
+w\9a_h
+ / 
+\99ems_³r_row
+);
+
+2591 
+_h
+ = 
+_w
+;
+
+2592 
+_h_l
+ = 
+_w_l
+;
+
+2594 ià((
+r٩e_mode
+ =ð
+APP_DEVICE_ORIENTATION_270
+) ||
+
+2595 (
+r٩e_mode
+ =ð
+APP_DEVICE_ORIENTATION_90
+)) {
+
+2596 
+       `\96m_g\92grid_\99em_size_£t
+(
+v\9bw
+, 
+_w_l
+, 
+_h_l
+);
+
+2597 ià(
+size_w
+)
+
+2598 *
+size_w
+ = 
+_w_l
+-4;
+
+2599 ià(
+size_h
+)
+
+2600 *
+size_h
+ = 
+_h_l
+-4;
+
+2602 
+       `\96m_g\92grid_\99em_size_£t
+(
+v\9bw
+, 
+_w
+, 
+_h
+);
+
+2603 ià(
+size_w
+)
+
+2604 *
+size_w
+ = 
+_w
+-4;
+
+2605 ià(
+size_h
+)
+
+2606 *
+size_h
+ = 
+_h
+-4;
+
+2608 ià(
+size_w
+ && 
+size_h
+)
+
+2609 
+       `gl_dbg
+("P: %dx%d, size_w: %d,size_h: %d", 
+_w
+, 
+_h
+, *
+size_w
+, *
+size_h
+);
+
+2611 
+       }
+}
+
+2613 
+Evas_Objeù
+ *
+       $_gl_grid_Ïyout_add
+(
+Evas_Objeù
+ *
+·»Á
+)
+
+2615 
+Evas_Objeù
+ *
+Ïyout
+ = 
+NULL
+;
+
+2616 
+Ïyout
+ = 
+       `\96m_Ïyout_add
+(
+·»Á
+);
+
+2617 
+       `\96m_Ïyout_f\9ee_£t
+(
+Ïyout
+, 
+GL_EDJ_FILE
+, "timeline_gridview");
+
+2618 
+       `evas_objeù_size_h\9at_®ign_£t
+(
+Ïyout
+, 
+EVAS_HINT_FILL
+, EVAS_HINT_FILL);
+
+2619 
+       `evas_objeù_show
+(
+Ïyout
+);
+
+2621 \15 
+Ïyout
+;
+
+2622 
+       }
+}
+
+2624 
+Evas_Objeù
+ *
+       $_gl_grid_add
+(
+Evas_Objeù
+ *
+·»Á
+)
+
+2626 
+       `GL_CHECK_NULL
+(
+·»Á
+);
+
+2627 
+Evas_Objeù
+ *
+grid
+ = 
+       `\96m_g\92grid_add
+(
+·»Á
+);
+
+2628 
+       `GL_CHECK_NULL
+(
+grid
+);
+
+2630 
+       `\96m_g\92grid_®ign_£t
+(
+grid
+, 0.0, 0.0);
+
+2631 
+       `\96m_g\92grid_hÜizÚ\8fl_£t
+(
+grid
+, 
+EINA_FALSE
+);
+
+2632 
+       `\96m_süÞËr_bounû_£t
+(
+grid
+, 
+EINA_FALSE
+, 
+EINA_TRUE
+);
+
+2633 
+       `\96m_süÞËr_pÞicy_£t
+(
+grid
+, 
+ELM_SCROLLER_POLICY_OFF
+,
+
+2634 
+ELM_SCROLLER_POLICY_AUTO
+);
+
+2635 
+       `\96m_g\92grid_muÉi_£Ëù_£t
+(
+grid
+, 
+EINA_TRUE
+);
+
+2636 
+       `evas_objeù_size_h\9at_weight_£t
+(
+grid
+, 
+EVAS_HINT_EXPAND
+,
+
+2637 
+EVAS_HINT_EXPAND
+);
+
+2638 
+       `evas_objeù_show
+(
+grid
+);
+
+2640 \15 
+grid
+;
+
+2641 
+       }
+}
+
+2643 \1e
+       $_gl_time_f\9a\9flize_med\9f_d©a
+(
+gl_tim\96\9ae_s
+ *
+tim\96\9ae_d
+)
+
+2645 
+       `GL_CHECK
+(
+tim\96\9ae_d
+);
+
+2646 ià(
+tim\96\9ae_d
+->
+d©a_li¡
+) {
+
+2647 
+gl_med\9f_s
+ *
+\99em
+ = 
+NULL
+;
+
+2648 
+       `EINA_LIST_FREE
+(
+tim\96\9ae_d
+->
+d©a_li¡
+, 
+\99em
+) {
+
+2649 ià(!
+\99em
+ || !\99em->
+uuid
+)
+
+2651 
+       `_gl_d©a_ty³_ä\93_gl\99em
+((\1e**)(&
+\99em
+));
+
+2652 
+\99em
+ = 
+NULL
+;
+
+2655 
+       }
+}
+
+2657 \1e
+       $_gl_time_upd©e_£Ëùed_med\9f
+(
+gl_tim\96\9ae_s
+ *
+tim\96\9ae_d
+, 
+E\9aa_Li¡
+ *
+li¡
+)
+
+2659 
+       `GL_CHECK
+(
+tim\96\9ae_d
+);
+
+2660 
+       `GL_CHECK
+(
+li¡
+);
+
+2661 
+gl_med\9f_s
+ *
+g\99em
+ = 
+NULL
+;
+
+2662 \12
+i
+;
+
+2663 ià(
+li¡
+) {
+
+2664 \12
+couÁ
+ = 
+       `e\9aa_li¡_couÁ
+(
+li¡
+);
+
+2665 \ f
+i
+ = 0; i < 
+couÁ
+ ; i++) {
+
+2666 
+g\99em
+ = 
+       `e\9aa_li¡_Áh
+(
+li¡
+, 
+i
+);
+
+2667 ià(
+g\99em
+) {
+
+2668 ià(
+       `__gl_tim\96\9ae_is_checked
+(
+tim\96\9ae_d
+, 
+g\99em
+->
+uuid
+)) {
+
+2669 
+g\99em
+->
+check_¡©e
+ = 
+\8cue
+;
+
+2674 
+       }
+}
+
+2676 \18\1e
+       $_gl_time_v\9bw_­³nd_g\92grid_\99ems
+(
+Evas_Objeù
+ *
+
+2677 
+pG\92grid
+,
+
+2678 \12
+nG\92I\8bmIndex
+,
+
+2679 
+gl_tim\96\9ae_s
+ *
+tim\96\9ae_d
+)
+
+2681 \18
+Elm_G\92grid_I\8bm_CÏss
+ *
+gic
+;
+
+2682 
+gic
+ = 
+       `\96m_g\92grid_\99em_þass_Ãw
+();
+
+2683 
+gic
+->
+\99em_¡yË
+ = 
+GL_GENGRID_ITEM_STYLE_THUMBNAIL
+;
+
+2684 
+gic
+->
+func
+.
+\8bxt_g\91
+ = 
+NULL
+;
+
+2685 
+gic
+->
+func
+.
+cÚ\8bÁ_g\91
+ = 
+__gl_tim\96\9ae_thumbs_g\91_cÚ\8bÁ
+;
+
+2686 
+gic
+->
+func
+.
+d\96
+ = 
+NULL
+;
+
+2688 \12
+nCouÁ
+ = 
+       `_gl_time_g\91_numb\94_of_\99ems_³r_row
+(
+tim\96\9ae_d
+->
+ad
+);
+
+2689 \12
+nIndex
+ = 
+nG\92I\8bmIndex
+;
+
+2690 \12
+nMaxIndex
+ = 
+nIndex
+ + 
+nCouÁ
+;
+
+2691 \12
+nVideoLi¡Size
+ = 
+       `e\9aa_li¡_couÁ
+(
+tim\96\9ae_d
+->
+d©a_li¡
+);
+
+2692 
+gl_med\9f_s
+ *
+\99em
+ = 
+NULL
+;
+
+2693 \ 5
+\8bxt
+ = 
+NULL
+;
+
+2694 
+\99em
+ = 
+       `e\9aa_li¡_Áh
+(
+tim\96\9ae_d
+->
+d©a_li¡
+, 
+nIndex
+);
+
+2695 ià(
+\99em
+ =ð
+NULL
+) {
+
+2696 
+       `gl_dbgE
+("Invalid item!");
+
+2699 \12
+numb\94OfI\8bmsOnP¬ticuÏrD©e
+ = 
+       `_g\91_couÁ_of_\99ems_Ú_§me_d©e
+(
+\99em
+, 
+tim\96\9ae_d
+->
+d©a_li¡
+, &
+\8bxt
+, 
+nIndex
++1);
+
+2700 \12
+k
+ =1;
+
+2701 
+Elm_Objeù_I\8bm
+ *
+gridI\8bm
+ = 
+NULL
+;
+
+2702 \ f; (
+nIndex
+ < 
+nMaxIndex
+è&& (nIndex < 
+nVideoLi¡Size
+è&& (
+k
+ <ð
+numb\94OfI\8bmsOnP¬ticuÏrD©e
+) ;\82Index++) {
+
+2703 
+\99em
+ = 
+       `e\9aa_li¡_Áh
+(
+tim\96\9ae_d
+->
+d©a_li¡
+, 
+nIndex
+);
+
+2704 
+gridI\8bm
+ =
+
+2705 
+       `\96m_g\92grid_\99em_­³nd
+(
+pG\92grid
+, 
+gic
+, 
+\99em
+, 
+__gl_tim\96\9ae_thumbs_£l_cb
+, 
+tim\96\9ae_d
+);
+
+2706 
+       `\96m_g\92grid_\99em_£Ëù_mode_£t
+(
+gridI\8bm
+,
+
+2707 
+ELM_OBJECT_SELECT_MODE_ALWAYS
+);
+
+2708 
+\99em
+->
+\96m_\99em
+ = 
+gridI\8bm
+;
+
+2709 
+\99em
+->
+ad
+ = 
+tim\96\9ae_d
+->ad;
+
+2710 
+k
+++;
+
+2712 
+       `\96m_g\92li¡_\99em_þass_ä\93
+(
+gic
+);
+
+2713 
+       `_gl_tim\96\9ae_thumb_£t_size
+(
+tim\96\9ae_d
+->
+ad
+, 
+pG\92grid
+, &tim\96\9ae_d->
+w
+, &tim\96\9ae_d->
+h
+);
+
+2714 
+       }
+}
+
+2716 \18
+Evas_Objeù
+ *
+       $__gl_g\91_icÚ_of_grid_cb
+(const \1e
+
+2717 *
+pU£rD©a
+,
+
+2718 
+Evas_Objeù
+ *
+
+2719 
+pObjeù
+,
+
+2721 *
+pP¬t
+)
+
+2723 \12
+nG\92I\8bmIndex
+ = (\12è
+pU£rD©a
+;
+
+2724 
+gl_tim\96\9ae_s
+ *
+tim\96\9ae_d
+ = (gl_tim\96\9ae_ *)
+       `evas_objeù_d©a_g\91
+(
+pObjeù
+,"data");
+
+2725 ià(!
+tim\96\9ae_d
+) {
+
+2726 \15 
+NULL
+;
+
+2729 
+Evas_Objeù
+ *
+pG\92grid
+ = 
+       `_gl_grid_add
+(
+pObjeù
+);
+
+2730 ià(!
+pG\92grid
+) {
+
+2731 \15 
+NULL
+;
+
+2734 
+       `evas_objeù_d©a_£t
+(
+pG\92grid
+, "d©a", (\1e*)
+tim\96\9ae_d
+);
+
+2735 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+pG\92grid
+, "»®ized", 
+__gl_tim\96\9ae_thumbs_»®ized
+, 
+tim\96\9ae_d
+);
+
+2736 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+pG\92grid
+, "uėlized", 
+__gl_tim\96\9ae_thumbs_uÄ\97lized
+, 
+tim\96\9ae_d
+);
+
+2738 
+       `_gl_time_v\9bw_­³nd_g\92grid_\99ems
+(
+pG\92grid
+, 
+nG\92I\8bmIndex
+, 
+tim\96\9ae_d
+);
+
+2740 \15 
+pG\92grid
+;
+
+2741 
+       }
+}
+
+2743 \18\ 5*
+       $__gl_time_d©e_g\91_\8bxt
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, cڡ \ 5*
+·¹
+)
+
+2745 
+       `GL_CHECK_NULL
+(
+d©a
+);
+
+2746 \ 5
+\8bxt
+ = (\ 5*)
+d©a
+;
+
+2747 \15 
+       `¡rdup
+(
+\8bxt
+);
+
+2748 
+       }
+}
+
+2750 \12
+       $_g\91_couÁ_of_\99ems_Ú_§me_d©e
+(
+gl_med\9f_s
+ *
+\99em
+, 
+E\9aa_Li¡
+ *
+li¡
+, \ 5**
+\8bxt
+, \12
+¡¬t_\9adex
+)
+
+2752 \12
+couÁ
+ = 1;
+
+2753 \ 5*
+\8bxt1
+ = 
+NULL
+;
+
+2754 \ 5*
+\8bxt2
+ = 
+NULL
+;
+
+2755 \ 5*
+\8bxt3
+ = 
+NULL
+;
+
+2756 \19
+tm
+t1
+;
+
+2757 \19
+tm
+t2
+;
+
+2758 \19
+tm
+;
+
+2759 
+time_t
+ùime
+ = 0;
+
+2760 
+       `mem£t
+(&
+, 0x00, \17(\19
+tm
+));
+
+2761 
+       `time
+(&
+ùime
+);
+
+2762 
+       `loÿÉime_r
+(&
+ùime
+, &
+);
+
+2763 
+time_t
+mtime1
+ = 0;
+
+2764 
+time_t
+mtime2
+ = 0;
+
+2765 \12
+i
+;
+
+2767 
+mtime1
+ = 
+\99em
+->
+mtime
+;
+
+2768 
+mtime2
+ = 
+\99em
+->
+mtime
+;
+
+2769 \12
+\99em_út
+ = 
+       `e\9aa_li¡_couÁ
+(
+li¡
+);
+
+2771 
+       `__gl_tim\96\9ae_g\91_tm
+(
+mtime1
+, 
+mtime2
+, &
+t1
+, &
+t2
+);
+
+2772 
+       `__gl_tim\96\9ae_g\91_mtime_¡r
+(
+t1
+, 
+, &
+\8bxt1
+, &
+\8bxt2
+);
+
+2773 ià(
+\8bxt1
+) {
+
+2774 
+\8bxt3
+ = 
+       `g_¡rdup_´\9atf
+("%s", 
+\8bxt1
+);
+
+2776 \ f
+i
+ = 
+¡¬t_\9adex
+; i < 
+\99em_út
+ ; i++) {
+
+2777 
+\99em
+ = 
+       `e\9aa_li¡_Áh
+(
+li¡
+, 
+i
+);
+
+2778 ià(!
+\99em
+) {
+
+2781 
+mtime1
+ = 
+\99em
+->
+mtime
+;
+
+2782 
+mtime2
+ = 
+\99em
+->
+mtime
+;
+
+2783 
+       `__gl_tim\96\9ae_g\91_tm
+(
+mtime1
+, 
+mtime2
+, &
+t1
+, &
+t2
+);
+
+2784 
+       `__gl_tim\96\9ae_g\91_mtime_¡r
+(
+t1
+, 
+, &
+\8bxt1
+, &
+\8bxt2
+);
+
+2785 ià(
+\8bxt1
+ && 
+\8bxt3
+ && (
+       `¡rcmp
+(text1,\81ext3))) {
+
+2788 
+couÁ
+ ++;
+
+2789 ià(
+\8bxt1
+) {
+
+2790 
+\8bxt3
+ = 
+       `g_¡rdup_´\9atf
+("%s", 
+\8bxt1
+);
+
+2793 *
+\8bxt
+ = 
+       `g_¡rdup_´\9atf
+("%s", 
+\8bxt3
+);
+
+2795 \15 
+couÁ
+;
+
+2796 
+       }
+}
+
+2798 \12
+       $_gl_time_g\91_numb\94_of_\99ems_³r_row
+(\1e*
+d©a
+)
+
+2800 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+2801 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+2802 \12
+r٩e_mode
+ = 
+ad
+->
+ma\9a\9afo
+.rotate_mode;
+
+2803 \12
+\99ems_³r_row
+ = 0;
+
+2804 ià((
+r٩e_mode
+ =ð
+APP_DEVICE_ORIENTATION_270
+) ||
+
+2805 (
+r٩e_mode
+ =ð
+APP_DEVICE_ORIENTATION_90
+)) {
+
+2806 ià(
+ad
+->
+p\9ach\9afo
+.
+zoom_Ëv\96
+ =ð
+GL_ZOOM_IN_TWO
+) {
+
+2807 
+\99ems_³r_row
+ = 
+GL_GRID_6_PER_ROW
+;
+
+2808 } \vià(
+ad
+->
+p\9ach\9afo
+.
+zoom_Ëv\96
+ =ð
+GL_ZOOM_IN_ONE
+) {
+
+2809 
+\99ems_³r_row
+ = 
+GL_GRID_7_PER_ROW
+;
+
+2810 } \vià(
+ad
+->
+p\9ach\9afo
+.
+zoom_Ëv\96
+ =ð
+GL_ZOOM_DEFAULT
+) {
+
+2811 
+\99ems_³r_row
+ = 
+GL_GRID_10_PER_ROW
+;
+
+2813 
+\99ems_³r_row
+ = 
+GL_GRID_7_PER_ROW
+;
+
+2816 ià(
+ad
+->
+p\9ach\9afo
+.
+zoom_Ëv\96
+ =ð
+GL_ZOOM_IN_TWO
+) {
+
+2817 
+\99ems_³r_row
+ = 
+GL_GRID_3_PER_ROW
+;
+
+2818 } \vià(
+ad
+->
+p\9ach\9afo
+.
+zoom_Ëv\96
+ =ð
+GL_ZOOM_IN_ONE
+) {
+
+2819 
+\99ems_³r_row
+ = 
+GL_GRID_4_PER_ROW
+;
+
+2820 } \vià(
+ad
+->
+p\9ach\9afo
+.
+zoom_Ëv\96
+ =ð
+GL_ZOOM_DEFAULT
+) {
+
+2821 
+\99ems_³r_row
+ = 
+GL_GRID_8_PER_ROW
+;
+
+2823 
+\99ems_³r_row
+ = 
+GL_GRID_4_PER_ROW
+;
+
+2826 \15 
+\99ems_³r_row
+;
+
+2827 
+       }
+}
+
+2829 \ 5*
+       $_gl_time_g\91_g\92li¡_¡yË
+(\1e*
+d©a
+)
+
+2831 
+       `GL_CHECK_VAL
+(
+d©a
+, 
+NULL
+);
+
+2832 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+2833 \12
+r٩e_mode
+ = 
+ad
+->
+ma\9a\9afo
+.rotate_mode;
+
+2834 \12
+\99ems_³r_row
+ = 0;
+
+2835 \12
+height
+ = 0;
+
+2836 \12
+w\9a_w
+ = 0;
+
+2837 \12
+w\9a_h
+ = 0;
+
+2838 \ 5*
+¡yË
+ = 
+NULL
+;
+
+2839 
+       `_gl_g\91_w\9a_çùÜ
+(
+ad
+->
+ma\9a\9afo
+.
+w\9a
+, &
+w\9a_w
+, &
+w\9a_h
+);
+
+2840 ià(
+       `_gl_is_tim\96\9ae_ed\99_mode
+(
+d©a
+)) {
+
+2841 
+ad
+->
+p\9ach\9afo
+.
+zoom_Ëv\96
+ = 
+GL_ZOOM_IN_ONE
+;
+
+2843 ià((
+r٩e_mode
+ =ð
+APP_DEVICE_ORIENTATION_270
+) ||
+
+2844 (
+r٩e_mode
+ =ð
+APP_DEVICE_ORIENTATION_90
+)) {
+
+2845 ià(
+ad
+->
+p\9ach\9afo
+.
+zoom_Ëv\96
+ =ð
+GL_ZOOM_IN_TWO
+) {
+
+2846 
+\99ems_³r_row
+ = 
+GL_GRID_6_PER_ROW
+;
+
+2847 } \vià(
+ad
+->
+p\9ach\9afo
+.
+zoom_Ëv\96
+ =ð
+GL_ZOOM_IN_ONE
+) {
+
+2848 
+\99ems_³r_row
+ = 
+GL_GRID_7_PER_ROW
+;
+
+2849 } \vià(
+ad
+->
+p\9ach\9afo
+.
+zoom_Ëv\96
+ =ð
+GL_ZOOM_DEFAULT
+) {
+
+2850 
+\99ems_³r_row
+ = 
+GL_GRID_10_PER_ROW
+;
+
+2852 
+\99ems_³r_row
+ = 
+GL_GRID_7_PER_ROW
+;
+
+2854 
+height
+ = 
+       `û\9e
+((\b)
+w\9a_h
+/
+\99ems_³r_row
+);
+
+2856 ià(
+ad
+->
+p\9ach\9afo
+.
+zoom_Ëv\96
+ =ð
+GL_ZOOM_IN_TWO
+) {
+
+2857 
+\99ems_³r_row
+ = 
+GL_GRID_3_PER_ROW
+;
+
+2858 } \vià(
+ad
+->
+p\9ach\9afo
+.
+zoom_Ëv\96
+ =ð
+GL_ZOOM_IN_ONE
+) {
+
+2859 
+\99ems_³r_row
+ = 
+GL_GRID_4_PER_ROW
+;
+
+2860 } \vià(
+ad
+->
+p\9ach\9afo
+.
+zoom_Ëv\96
+ =ð
+GL_ZOOM_DEFAULT
+) {
+
+2861 
+\99ems_³r_row
+ = 
+GL_GRID_8_PER_ROW
+;
+
+2863 
+\99ems_³r_row
+ = 
+GL_GRID_4_PER_ROW
+;
+
+2865 
+height
+ = 
+       `û\9e
+((\b)
+w\9a_w
+/
+\99ems_³r_row
+);
+
+2867 
+¡yË
+ = 
+       `g_¡rdup_´\9atf
+(
+GL_TL_CONTENT_FORMAT
+,
+height
+);
+
+2869 \15 
+¡yË
+;
+
+2870 
+       }
+}
+
+2873 \12
+       $_gl_tim\96\9ae_ü\97\8b_grid_v\9bw
+(
+gl_tim\96\9ae_s
+ *
+tim\96\9ae_d
+, 
+Evas_Objeù
+ *
+g\92li¡
+, 
+boÞ
+upd©e
+)
+
+2875 
+       `GL_CHECK_VAL
+(
+tim\96\9ae_d
+, -1);
+
+2876 \12
+\99em_út
+ = 0;
+
+2877 \12
+»t
+ = -1;
+
+2878 \12
+i
+ = 0;
+
+2879 \12
+k
+ = 0;
+
+2882 
+»t
+ = 
+       `_gl_d©a_g\91_\99em_út
+(
+GL_ALBUM_ALL_ID
+, 
+GL_STORE_T_ALL
+, &
+\99em_út
+);
+
+2883 ià(
+»t
+ !ð0 || 
+\99em_út
+ == 0)
+
+2884 
+       `gl_dbgE
+("Empty!");
+
+2886 
+E\9aa_Li¡
+ *
+li¡
+ = 
+NULL
+;
+
+2887 ià(!
+upd©e
+) {
+
+2888 
+       `_gl_d©a_g\91_\99ems
+(-1, -1, &
+li¡
+);
+
+2889 
+       `_gl_time_f\9a\9flize_med\9f_d©a
+(
+tim\96\9ae_d
+);
+
+2890 ià(
+tim\96\9ae_d
+->
+v\9bw_m
+ =ð
+GL_TL_VIEW_EDIT
+) {
+
+2891 
+       `_gl_time_upd©e_£Ëùed_med\9f
+(
+tim\96\9ae_d
+, 
+li¡
+);
+
+2893 
+tim\96\9ae_d
+->
+d©a_li¡
+ = 
+li¡
+;
+
+2894 
+tim\96\9ae_d
+->
+d\96\91e_d©a
+ = 
+çl£
+;
+
+2896 
+li¡
+ = 
+tim\96\9ae_d
+->
+d©a_li¡
+;
+
+2897 
+tim\96\9ae_d
+->
+d\96\91e_d©a
+ = 
+çl£
+;
+
+2900 ià(
+li¡
+ =ð
+NULL
+) {
+
+2901 
+       `__gl_tim\96Ã_show_nocÚ\8bÁs
+(
+tim\96\9ae_d
+);
+
+2902 
+       `\96m_Çviäame_\99em_t\99Ë_\92abËd_£t
+(
+tim\96\9ae_d
+->
+nf_\99
+, 
+EINA_FALSE
+, EINA_FALSE);
+
+2905 
+       `__gl_tim\96Ã_d\96_nocÚ\8bÁs
+(
+tim\96\9ae_d
+);
+
+2906 
+       `\96m_Çviäame_\99em_t\99Ë_\92abËd_£t
+(
+tim\96\9ae_d
+->
+nf_\99
+, 
+EINA_TRUE
+, EINA_TRUE);
+
+2908 ià((!
+upd©e
+ || !
+tim\96\9ae_d
+->
+is_li¡_»v\94£
+è&&\81im\96\9ae_d->
+time_med\9f_di¥Ïy_Üd\94
+ =ð
+TIME_ORDER_ASC
+) {
+
+2909 
+li¡
+ = 
+       `e\9aa_li¡_»v\94£
+(list);
+
+2910 
+tim\96\9ae_d
+->
+is_li¡_»v\94£
+ = 
+\8cue
+;
+
+2911 } \vià(
+tim\96\9ae_d
+->
+is_li¡_»v\94£
+ &&\81im\96\9ae_d->
+time_med\9f_di¥Ïy_Üd\94
+ =ð
+TIME_ORDER_DESC
+) {
+
+2912 
+li¡
+ = 
+       `e\9aa_li¡_»v\94£
+(list);
+
+2913 
+tim\96\9ae_d
+->
+is_li¡_»v\94£
+ = 
+çl£
+;
+
+2916 
+\99em_út
+ = 
+       `e\9aa_li¡_couÁ
+(
+li¡
+);
+
+2917 
+tim\96\9ae_d
+->
+couÁ
+ = 
+\99em_út
+;
+
+2918 \19
+tm
+;
+
+2919 
+time_t
+ùime
+ = 0;
+
+2920 
+       `mem£t
+(&
+, 0x00, \17(\19
+tm
+));
+
+2921 
+       `time
+(&
+ùime
+);
+
+2922 
+       `loÿÉime_r
+(&
+ùime
+, &
+);
+
+2923 
+gl_med\9f_s
+ *
+\99em
+ = 
+NULL
+;
+
+2924 \ 5*
+¡yË_Çme
+ = 
+NULL
+;
+
+2926 
+Elm_G\92li¡_I\8bm_CÏss
+ *
+pG\92GridItc
+;
+
+2927 
+Elm_G\92li¡_I\8bm_CÏss
+ *
+pG\92GridZoomItc
+;
+
+2928 
+pG\92GridItc
+ = 
+       `\96m_g\92li¡_\99em_þass_Ãw
+();
+
+2929 ià(!
+pG\92GridItc
+) {
+
+2930 
+       `gl_dbg
+("failed\81o create genlist item class");
+
+2934 
+¡yË_Çme
+ = 
+       `_gl_time_g\91_g\92li¡_¡yË
+(
+tim\96\9ae_d
+->
+ad
+);
+
+2936 
+pG\92GridItc
+->
+\99em_¡yË
+ = 
+¡yË_Çme
+;
+
+2937 
+pG\92GridItc
+->
+func
+.
+\8bxt_g\91
+ = 
+NULL
+;
+
+2938 
+pG\92GridItc
+->
+func
+.
+cÚ\8bÁ_g\91
+ =
+
+2939 (\1e
+__gl_g\91_icÚ_of_grid_cb
+;
+
+2940 
+pG\92GridItc
+->
+func
+.
+¡©e_g\91
+ = 
+NULL
+;
+
+2941 
+pG\92GridItc
+->
+func
+.
+d\96
+ = 
+NULL
+;
+
+2942 
+pG\92GridItc
+->
+decÜ©e_\99em_¡yË
+ = 
+NULL
+;
+
+2944 
+pG\92GridZoomItc
+ = 
+       `\96m_g\92li¡_\99em_þass_Ãw
+();
+
+2945 ià(!
+pG\92GridZoomItc
+) {
+
+2946 
+       `gl_dbg
+("failed\81o create genlist item class");
+
+2947 
+       `\96m_g\92li¡_\99em_þass_ä\93
+(
+pG\92GridItc
+);
+
+2951 
+pG\92GridZoomItc
+->
+\99em_¡yË
+ = "genlist_group_date";
+
+2952 
+pG\92GridZoomItc
+->
+func
+.
+\8bxt_g\91
+ = 
+__gl_time_d©e_g\91_\8bxt
+;
+
+2953 
+pG\92GridZoomItc
+->
+func
+.
+cÚ\8bÁ_g\91
+ = 
+NULL
+;
+
+2954 
+pG\92GridZoomItc
+->
+func
+.
+¡©e_g\91
+ = 
+NULL
+;
+
+2955 
+pG\92GridZoomItc
+->
+func
+.
+d\96
+ = 
+NULL
+;
+
+2957 
+       `evas_objeù_d©a_£t
+(
+g\92li¡
+, "d©a", (\1e*)
+tim\96\9ae_d
+);
+
+2958 \12
+numb\94_of_\99ems_Ú_·¹icuÏr_d©e
+ = -1;
+
+2959 \12
+\99ems_³r_row
+ = 0;
+
+2960 \12
+numb\94_of_rows
+ = 0;
+
+2961 
+Elm_Objeù_I\8bm
+ *
+\99
+ = 
+NULL
+;
+
+2962 \12
+\99em_\9adex
+ = 0;
+
+2964 \ 5*
+\8bxt
+ = 
+NULL
+;
+
+2965 \ f
+i
+ = 0; i < 
+\99em_út
+; i++) {
+
+2966 
+\99em
+ = 
+       `e\9aa_li¡_Áh
+(
+li¡
+, 
+i
+);
+
+2968 
+numb\94_of_\99ems_Ú_·¹icuÏr_d©e
+ = 
+       `_g\91_couÁ_of_\99ems_Ú_§me_d©e
+(
+\99em
+, 
+li¡
+, &
+\8bxt
+, 
+i
++1);
+
+2969 
+\99ems_³r_row
+ = 
+       `_gl_time_g\91_numb\94_of_\99ems_³r_row
+(
+tim\96\9ae_d
+->
+ad
+);
+
+2970 ià(
+\99ems_³r_row
+ < 0) {
+
+2971 
+\99ems_³r_row
+ = 4;
+
+2973 
+numb\94_of_rows
+ = 
+       `û\9e
+((\b)
+numb\94_of_\99ems_Ú_·¹icuÏr_d©e
+/
+\99ems_³r_row
+);
+
+2974 
+\99
+ = 
+       `\96m_g\92li¡_\99em_­³nd
+(
+g\92li¡
+, 
+pG\92GridZoomItc
+, (\1e*)
+\8bxt
+, 
+NULL
+, 
+ELM_GENLIST_ITEM_TREE
+, NULL, NULL);
+
+2976 \ f
+k
+ = 0; k < 
+numb\94_of_rows
+; k++) {
+
+2977 
+       `\96m_g\92li¡_\99em_­³nd
+(
+g\92li¡
+, 
+pG\92GridItc
+, (\1e*)
+\99em_\9adex
+, 
+\99
+, 
+ELM_GENLIST_ITEM_NONE
+, 
+NULL
+, NULL);
+
+2978 ià(((
+k
+ * 
+\99ems_³r_row
+è+ i\8bms_³r_rowè<ð
+numb\94_of_\99ems_Ú_·¹icuÏr_d©e
+) {
+
+2979 
+\99em_\9adex
+ = i\8bm_\9adex + 
+\99ems_³r_row
+;
+
+2981 \12
+\8bmp
+ = ((
+k
+ * 
+\99ems_³r_row
+è+ i\8bms_³r_rowè- 
+numb\94_of_\99ems_Ú_·¹icuÏr_d©e
+;
+
+2982 
+\99em_\9adex
+ = i\8bm_\9adex + 
+\99ems_³r_row
+ - 
+\8bmp
+;
+
+2985 
+i
+ = (\98
+numb\94_of_\99ems_Ú_·¹icuÏr_d©e
+) - 1;
+
+2987 
+       `\96m_g\92li¡_\99em_þass_ä\93
+(
+pG\92GridItc
+);
+
+2988 
+       `\96m_g\92li¡_\99em_þass_ä\93
+(
+pG\92GridZoomItc
+);
+
+2991 
+       }
+}
+
+2993 
+Evas_Objeù
+ *
+       $_gl_box_add
+(
+Evas_Objeù
+ *
+·»Á
+)
+
+2995 
+Evas_Objeù
+ *
+box
+ = 
+NULL
+;
+
+2996 
+box
+ = 
+       `\96m_box_add
+(
+·»Á
+);
+
+2997 
+       `\96m_box_®ign_£t
+(
+box
+,0.0, 0.0);
+
+2998 
+       `evas_objeù_show
+(
+box
+);
+
+3000 \15 
+box
+;
+
+3001 
+       }
+}
+
+3003 \18\1e
+       $__gl_tim\96\9ae_g\92li¡_move_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+3005 
+       `GL_CHECK
+(
+d©a
+);
+
+3006 
+       `gl_dbg
+("");
+
+3007 
+gl_tim\96\9ae_s
+ *
+tim\96\9ae_d
+ = (gl_tim\96\9ae_ *)
+d©a
+;
+
+3009 ià(
+tim\96\9ae_d
+->
+»®ized_\99em
+) {
+
+3010 
+Evas_Objeù
+ *
+grid
+ = 
+       `\96m_objeù_\99em_·¹_cÚ\8bÁ_g\91
+(
+tim\96\9ae_d
+->
+»®ized_\99em
+, "elm.swallow");
+
+3011 ià(
+grid
+) {
+
+3012 
+Elm_Objeù_I\8bm
+ *
+\99
+ = 
+       `\96m_g\92grid_f\9c¡_\99em_g\91
+(
+grid
+);
+
+3013 ià(
+\99
+) {
+
+3014 
+gl_med\9f_s
+ *
+\99em
+ = (gl_med\9f_ *)
+       `\96m_objeù_\99em_d©a_g\91
+(
+\99
+);
+
+3015 \ 5*
+\8bxt1
+ = 
+NULL
+;
+
+3016 \ 5*
+\8bxt2
+ = 
+NULL
+;
+
+3017 \19
+tm
+t1
+;
+
+3018 \19
+tm
+t2
+;
+
+3019 \19
+tm
+;
+
+3020 
+time_t
+ùime
+ = 0;
+
+3021 
+       `mem£t
+(&
+, 0x00, \17(\19
+tm
+));
+
+3022 
+       `time
+(&
+ùime
+);
+
+3023 
+       `loÿÉime_r
+(&
+ùime
+, &
+);
+
+3024 
+time_t
+mtime1
+ = 0;
+
+3025 
+time_t
+mtime2
+ = 0;
+
+3026 
+mtime1
+ = 
+\99em
+->
+mtime
+;
+
+3027 
+mtime2
+ = 
+\99em
+->
+mtime
+;
+
+3029 
+       `__gl_tim\96\9ae_g\91_tm
+(
+mtime1
+, 
+mtime2
+, &
+t1
+, &
+t2
+);
+
+3030 
+       `__gl_tim\96\9ae_g\91_mtime_¡r
+(
+t1
+, 
+, &
+\8bxt1
+, &
+\8bxt2
+);
+
+3032 ià(
+\8bxt1
+) {
+
+3033 ià(
+tim\96\9ae_d
+->
+d©e_Ïyout
+) {
+
+3034 
+       `\96m_objeù_·¹_\8bxt_£t
+(
+tim\96\9ae_d
+->
+d©e_Ïyout
+, "\8bxt", 
+\8bxt1
+);
+
+3035 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+tim\96\9ae_d
+->
+·»Á
+, "\96m.sw®low.d©e.Ïyout",\81im\96\9ae_d->
+d©e_Ïyout
+);
+
+3041 
+       }
+}
+
+3043 \18\1e
+       $__gl_tim\96\9ae_g\92li¡_move_¡Ý_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+3045 
+       `gl_dbg
+("Entry");
+
+3046 
+       `GL_CHECK
+(
+d©a
+);
+
+3047 
+gl_tim\96\9ae_s
+ *
+tim\96\9ae_d
+ = (gl_tim\96\9ae_ *)
+d©a
+;
+
+3048 ià(
+tim\96\9ae_d
+->
+d©e_Ïyout
+) {
+
+3049 
+       `\96m_objeù_·¹_cÚ\8bÁ_un£t
+(
+tim\96\9ae_d
+->
+·»Á
+, "elm.swallow.date.layout");
+
+3050 
+       `evas_objeù_hide
+(
+tim\96\9ae_d
+->
+d©e_Ïyout
+);
+
+3052 
+       `gl_dbg
+("Exit");
+
+3053 
+       }
+}
+
+3055 
+Evas_Objeù
+ *
+       $_gl_g\92li¡_add
+(
+Evas_Objeù
+ *
+·»Á
+)
+
+3057 
+Evas_Objeù
+ *
+g\92li¡
+ = 
+NULL
+;
+
+3058 
+g\92li¡
+ = 
+       `\96m_g\92li¡_add
+(
+·»Á
+);
+
+3059 
+       `\96m_objeù_¡yË_£t
+(
+g\92li¡
+, "handler");
+
+3060 
+       `evas_objeù_size_h\9at_®ign_£t
+(
+g\92li¡
+, 
+EVAS_HINT_FILL
+, EVAS_HINT_FILL);
+
+3061 
+       `evas_objeù_size_h\9at_weight_£t
+(
+g\92li¡
+, 
+EVAS_HINT_EXPAND
+, EVAS_HINT_EXPAND);
+
+3062 
+       `\96m_süÞËr_bounû_£t
+(
+g\92li¡
+, 
+EINA_FALSE
+, 
+EINA_TRUE
+);
+
+3063 
+       `\96m_süÞËr_pÞicy_£t
+(
+g\92li¡
+, 
+ELM_SCROLLER_POLICY_OFF
+, 
+ELM_SCROLLER_POLICY_AUTO
+);
+
+3064 
+       `\96m_g\92li¡_mode_£t
+(
+g\92li¡
+, 
+ELM_LIST_COMPRESS
+);
+
+3065 
+       `\96m_süÞËr_s\9agË_d\9ceùiÚ_£t
+(
+g\92li¡
+, 
+ELM_SCROLLER_SINGLE_DIRECTION_HARD
+);
+
+3066 
+       `evas_objeù_show
+(
+g\92li¡
+);
+
+3068 \15 
+g\92li¡
+;
+
+3069 
+       }
+}
+
+3071 \18\1e
+       $__gl_tim\96\9ae_g\92li¡_»®ized
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+3073 
+       `gl_dbg
+("realize_gl_timeline_create_grid_viewd");
+
+3074 
+       `GL_CHECK
+(
+ei
+);
+
+3075 
+       `GL_CHECK
+(
+d©a
+);
+
+3076 
+gl_tim\96\9ae_s
+ *
+tim\96\9ae_d
+ = (gl_tim\96\9ae_ *)
+d©a
+;
+
+3077 
+Elm_Objeù_I\8bm
+ *
+\99
+ = (Elm_Objeù_I\8bm *)
+ei
+;
+
+3078 
+tim\96\9ae_d
+->
+»®ized_\99em
+ = 
+\99
+;
+
+3079 
+       }
+}
+
+3081 \18
+Evas_Objeù
+ *
+       $__gl_tim\96\9ae_ü\97\8b_li¡_v\9bw
+(
+gl_tim\96\9ae_s
+ *
+tim\96\9ae_d
+, 
+boÞ
+upd©e
+)
+
+3083 
+       `GL_CHECK_NULL
+(
+tim\96\9ae_d
+);
+
+3084 
+Evas_Objeù
+ *
+g\92li¡
+ = 
+NULL
+;
+
+3085 
+Evas_Objeù
+ *
+Ïyout
+ = 
+NULL
+;
+
+3087 ià(
+tim\96\9ae_d
+->
+v\9bw
+) {
+
+3088 
+       `evas_objeù_d\96
+(
+tim\96\9ae_d
+->
+v\9bw
+);
+
+3091 
+g\92li¡
+ = 
+       `_gl_g\92li¡_add
+(
+tim\96\9ae_d
+->
+·»Á
+);
+
+3092 
+       `GL_CHECK_NULL
+(
+g\92li¡
+);
+
+3093 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+g\92li¡
+, "vb¬,d¿g", 
+__gl_tim\96\9ae_g\92li¡_move_cb
+, 
+tim\96\9ae_d
+);
+
+3094 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+g\92li¡
+, "süÞl,ªim,¡Ý", 
+__gl_tim\96\9ae_g\92li¡_move_¡Ý_cb
+, 
+tim\96\9ae_d
+);
+
+3095 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+g\92li¡
+, "süÞl,d¿g,¡Ý", 
+__gl_tim\96\9ae_g\92li¡_move_¡Ý_cb
+, 
+tim\96\9ae_d
+);
+
+3096 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+g\92li¡
+, "»®ized", 
+__gl_tim\96\9ae_g\92li¡_»®ized
+, 
+tim\96\9ae_d
+);
+
+3098 
+Ïyout
+ = 
+       `\96m_Ïyout_add
+(
+tim\96\9ae_d
+->
+·»Á
+);
+
+3099 
+       `GL_CHECK_NULL
+(
+Ïyout
+);
+
+3100 
+       `\96m_Ïyout_f\9ee_£t
+(
+Ïyout
+, 
+GL_EDJ_FILE
+, "timeline_gridview_date_toast");
+
+3101 
+tim\96\9ae_d
+->
+d©e_Ïyout
+ = 
+Ïyout
+;
+
+3103 ià(
+       `_gl_tim\96\9ae_ü\97\8b_grid_v\9bw
+(
+tim\96\9ae_d
+, 
+g\92li¡
+, 
+upd©e
+) < 0) {
+
+3104 \15 
+NULL
+;
+
+3107 \15 
+g\92li¡
+;
+
+3108 
+       }
+}
+
+3111 \18\12
+       $__gl_tim\96\9ae_·ge_¿nd
+(
+gl_tim\96\9ae_s
+ *
+tim\96\9ae_d
+)
+
+3113 
+       `GL_CHECK_VAL
+(
+tim\96\9ae_d
+, -1);
+
+3114 \12
+\99em_út
+ = 
+tim\96\9ae_d
+->
+couÁ
+;
+
+3115 \12
+i
+ = 0;
+
+3116 
+gl_\8ep_s
+ *
+\99_d
+ = 
+NULL
+;
+
+3117 \12
+\9adex
+ = 0;
+
+3119 
+       `GL_TL_CLEAR_PAGES
+(
+tim\96\9ae_d
+, 
+\8cue
+);
+
+3121 
+       `¤ªd
+(
+       `time
+(
+NULL
+));
+
+3122 \12
+út
+ = 0;
+
+3123 
+boÞ
+b_Ãw_couÁ
+ = 
+çl£
+;
+
+3124 \12
+li¡_út
+ = 
+       `e\9aa_li¡_couÁ
+(
+tim\96\9ae_d
+->
+couÁ_li¡
+);
+
+3125 
+       `gl_dbg
+("li¡_út: %d", 
+li¡_út
+);
+
+3127 \ f
+i
+ = 0; i < 
+\99em_út
+;) {
+
+3128 
+\99_d
+ = (
+gl_\8ep_s
+ *)
+       `ÿÎoc
+(1, \17(gl_tlp_s));
+
+3129 
+tim\96\9ae_d
+->
+li¡
+ = 
+       `e\9aa_li¡_­³nd
+Ñim\96\9ae_d->li¡, 
+\99_d
+);
+
+3130 
+\99_d
+->
+tim\96\9ae_d
+ =\81imeline_d;
+
+3131 ià(
+li¡_út
+ > 
+\9adex
+) {
+
+3133 
+út
+ = (\12)
+       `e\9aa_li¡_Áh
+(
+tim\96\9ae_d
+->
+couÁ_li¡
+,
+
+3134 
+\9adex
+);
+
+3137 
+út
+ = 1 + 
+       `¿nd
+() % 5;
+
+3138 
+b_Ãw_couÁ
+ = 
+\8cue
+;
+
+3141 
+\99_d
+->
+couÁ
+ = 
+       `__gl_tim\96\9ae_upd©e_t\9ees_út
+(
+tim\96\9ae_d
+->
+zoom_Ëv\96
+,
+
+3142 
+út
+);
+
+3143 
+\99_d
+->
+\9adex
+ = index++;
+
+3144 
+\99_d
+->
+¡¬t_pos
+ = 
+i
+;
+
+3146 
+i
+ +ð
+\99_d
+->
+couÁ
+;
+
+3147 
+\99_d
+->
+\92d_pos
+ = 
+i
+ - 1;
+
+3149 ià(
+tim\96\9ae_d
+->
+zoom_Ëv\96
+ !ð
+GL_TM_ZOOM_OUT_TWO
+ &&
+
+3150 
+i
+ >ð
+\99em_út
+) {
+
+3151 
+\99_d
+->
+\92d_pos
+ = 
+\99em_út
+ - 1;
+
+3152 
+\99_d
+->
+couÁ
+ = it_d->
+\92d_pos
+ - it_d->
+¡¬t_pos
+ + 1;
+
+3153 ià(
+b_Ãw_couÁ
+)
+
+3154 
+tim\96\9ae_d
+->
+couÁ_li¡
+ = 
+       `e\9aa_li¡_­³nd
+(timeline_d->count_list,
+
+3155 (\1e*)
+\99_d
+->
+couÁ
+);
+
+3158 ià(
+b_Ãw_couÁ
+)
+
+3159 
+tim\96\9ae_d
+->
+couÁ_li¡
+ = 
+       `e\9aa_li¡_­³nd
+(timeline_d->count_list,
+
+3160 (\1e*)
+\99_d
+->
+couÁ
+);
+
+3161 
+\99_d
+ = 
+NULL
+;
+
+3164 
+       }
+}
+
+3166 \18\12
+       $__gl_tim\96\9ae_upd©e_v\9bw
+(
+gl_tim\96\9ae_s
+ *
+tim\96\9ae_d
+, 
+boÞ
+b_f\9c¡
+)
+
+3168 
+       `GL_CHECK_VAL
+(
+tim\96\9ae_d
+, -1);
+
+3169 \12
+\99em_út
+ = 0;
+
+3170 
+time_t
+ϡ_mtime
+ = 0;
+
+3171 \12
+»t
+ = -1;
+
+3174 
+»t
+ = 
+       `_gl_d©a_g\91_\99em_út
+(
+GL_ALBUM_ALL_ID
+, 
+GL_STORE_T_ALL
+, &
+\99em_út
+);
+
+3175 ià(
+»t
+ !ð0 || 
+\99em_út
+ == 0)
+
+3176 
+       `gl_dbgE
+("Empty!");
+
+3178 
+E\9aa_Li¡
+ *
+li¡
+ = 
+NULL
+;
+
+3179 
+       `_gl_d©a_g\91_\99ems
+(0, 0, &
+li¡
+);
+
+3180 ià(
+li¡
+ =ð
+NULL
+) {
+
+3181 
+       `GL_TL_CLEAR_PAGES
+(
+tim\96\9ae_d
+, 
+\8cue
+);
+
+3182 
+       `__gl_tim\96Ã_show_nocÚ\8bÁs
+(
+tim\96\9ae_d
+);
+
+3183 
+       `\96m_Çviäame_\99em_t\99Ë_\92abËd_£t
+(
+tim\96\9ae_d
+->
+nf_\99
+, 
+EINA_FALSE
+, EINA_FALSE);
+
+3186 
+       `__gl_tim\96Ã_d\96_nocÚ\8bÁs
+(
+tim\96\9ae_d
+);
+
+3187 
+       `\96m_Çviäame_\99em_t\99Ë_\92abËd_£t
+(
+tim\96\9ae_d
+->
+nf_\99
+, 
+EINA_TRUE
+, EINA_TRUE);
+
+3190 
+gl_med\9f_s
+ *
+\99em
+ = 
+       `e\9aa_li¡_Áh
+(
+li¡
+, 0);
+
+3191 ià(
+\99em
+)
+
+3192 
+ϡ_mtime
+ = 
+\99em
+->
+mtime
+;
+
+3194 
+\99em
+ = 
+NULL
+;
+
+3195 
+       `EINA_LIST_FREE
+(
+li¡
+, 
+\99em
+) {
+
+3196 
+       `_gl_d©a_ty³_ä\93_gl\99em
+((\1e**)(&
+\99em
+));
+
+3197 
+\99em
+ = 
+NULL
+;
+
+3200 ià(!
+b_f\9c¡
+) {
+
+3201 ià(
+ϡ_mtime
+ =ð
+tim\96\9ae_d
+->last_mtime &&
+
+3202 
+\99em_út
+ =ð
+tim\96\9ae_d
+->
+couÁ
+) {
+
+3203 
+       `gl_dbgW
+("Nothing changed!");
+
+3204 
+       `evas_objeù_show
+(
+tim\96\9ae_d
+->
+v\9bw
+);
+
+3205 
+       `__gl_tim\96\9ae_show_t\9ees_\8cªs
+(
+tim\96\9ae_d
+);
+
+3210 
+tim\96\9ae_d
+->
+couÁ
+ = 
+\99em_út
+;
+
+3211 
+tim\96\9ae_d
+->
+ϡ_mtime
+ =\86ast_mtime;
+
+3213 
+       `__gl_tim\96\9ae_·ge_¿nd
+(
+tim\96\9ae_d
+);
+
+3215 ià(
+tim\96\9ae_d
+->
+zoom_Ëv\96
+ =ð
+GL_TM_ZOOM_DEFAULT
+)
+
+3216 
+       `_gl_¦id\94_£t_zËv\96
+(
+tim\96\9ae_d
+->
+v\9bw
+, 
+GL_SLIDE_ZLEVEL_MAX
+);
+
+3217 \vià(
+tim\96\9ae_d
+->
+zoom_Ëv\96
+ =ð
+GL_TM_ZOOM_DEFAULT
+)
+
+3218 
+       `_gl_¦id\94_£t_zËv\96
+(
+tim\96\9ae_d
+->
+v\9bw
+, 
+GL_SLIDE_ZLEVEL_MIN
+);
+
+3220 
+       `_gl_¦id\94_£t_zËv\96
+(
+tim\96\9ae_d
+->
+v\9bw
+, 
+GL_SLIDE_ZLEVEL_MID
+);
+
+3222 
+       `_gl_¦id\94_£t_li¡
+(
+tim\96\9ae_d
+->
+v\9bw
+,\81im\96\9ae_d->
+li¡
+, 0);
+
+3223 
+       `evas_objeù_show
+(
+tim\96\9ae_d
+->
+v\9bw
+);
+
+3224 ià(
+tim\96\9ae_d
+->
+b_ü\97\8bd
+)
+
+3225 
+       `_gl_¦id\94_¡¬t
+(
+tim\96\9ae_d
+->
+v\9bw
+);
+
+3227 
+       }
+}
+
+3231 \18\1e
+       $__gl_tim\96\9ae_d\96_Ïyout_cb
+(\1e*
+d©a
+, 
+Evas
+ *
+e
+, 
+Evas_Objeù
+ *
+obj
+,
+
+3232 \1e*
+ei
+)
+
+3234 
+       `gl_dbg
+("Delete\81imeline\86ayout ---");
+
+3235 
+       `evas_objeù_d©a_d\96
+(
+obj
+, "page_w");
+
+3236 
+       `evas_objeù_d©a_d\96
+(
+obj
+, "page_h");
+
+3237 ià(
+d©a
+) {
+
+3238 
+gl_tim\96\9ae_s
+ *
+tim\96\9ae_d
+ = (gl_tim\96\9ae_ *)
+d©a
+;
+
+3239 
+       `GL_IF_DEL_ANIMATOR
+(
+tim\96\9ae_d
+->
+ªim©Ü
+);
+
+3240 
+       `GL_IF_FREE_ELIST
+(
+tim\96\9ae_d
+->
+couÁ_li¡
+);
+
+3241 
+       `GL_IF_FREE_ELIST
+(
+tim\96\9ae_d
+->
+thumbs
+);
+
+3242 ià(
+tim\96\9ae_d
+->
+®bum
+) {
+
+3243 
+       `_gl_d©a_ut\9e\93_gþu¡\94
+(
+tim\96\9ae_d
+->
+®bum
+);
+
+3244 
+tim\96\9ae_d
+->
+®bum
+ = 
+NULL
+;
+
+3246 
+       `__gl_tim\96\9ae_þ\97r_£l_li¡
+(
+tim\96\9ae_d
+);
+
+3247 
+       `GL_GFREEIF
+(
+tim\96\9ae_d
+->
+£l_d
+);
+
+3248 
+       `_gl_time_f\9a\9flize_med\9f_d©a
+(
+tim\96\9ae_d
+);
+
+3249 
+       `GL_FREE
+(
+d©a
+);
+
+3251 
+       `gl_dbg
+("Delete\81imeline\86ayout +++");
+
+3252 
+       }
+}
+
+3254 \18\12
+       $__gl_tim\96\9ae_add_cbs
+(
+gl_tim\96\9ae_s
+ *
+tim\96\9ae_d
+)
+
+3256 
+       `GL_CHECK_VAL
+(
+tim\96\9ae_d
+, -1);
+
+3257 
+       `GL_CHECK_VAL
+(
+tim\96\9ae_d
+->
+ad
+, -1);
+
+3260 
+       `__gl_tim\96\9ae_add_t\99Ë_\8cªs_f\9aished_cbs
+(
+tim\96\9ae_d
+, 
+\8cue
+);
+
+3262 
+       `evas_objeù_ev\92t_ÿÎback_add
+(
+tim\96\9ae_d
+->
+Ïyout
+, 
+EVAS_CALLBACK_DEL
+,
+
+3263 
+__gl_tim\96\9ae_d\96_Ïyout_cb
+, 
+tim\96\9ae_d
+);
+
+3264 
+       `evas_objeù_ev\92t_ÿÎback_add
+(
+tim\96\9ae_d
+->
+Ïyout
+, 
+EVAS_CALLBACK_RESIZE
+,
+
+3265 
+__gl_tim\96\9ae_»size_Ïyout_cb
+,
+
+3266 
+tim\96\9ae_d
+);
+
+3267 \12
+bx
+ = 0;
+
+3268 \12
+by
+ = 0;
+
+3269 \12
+bw
+ = 0;
+
+3270 \12
+bh
+ = 0;
+
+3271 
+       `evas_objeù_geom\91ry_g\91
+(
+tim\96\9ae_d
+->
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+, &
+bx
+, &
+by
+,
+
+3272 &
+bw
+, &
+bh
+);
+
+3273 
+       `gl_dbg
+("Çviäame. (%d,%d,%d,%d)", 
+bx
+, 
+by
+, 
+bw
+, 
+bh
+);
+
+3274 
+       `evas_objeù_geom\91ry_g\91
+(
+tim\96\9ae_d
+->
+Ïyout
+, &
+bx
+, &
+by
+, &
+bw
+, &
+bh
+);
+
+3275 
+       `gl_dbg
+("Ïyout. (%d,%d,%d,%d)", 
+bx
+, 
+by
+, 
+bw
+, 
+bh
+);
+
+3277 
+       }
+}
+
+3279 #ifdeà
+SUPPORT_SLIDESHOW
+
+
+3280 \18\12
+       $__gl_tim\96\9ae_¡¬t_¦ideshow
+(\1e*
+d©a
+)
+
+3282 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+3283 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+3284 
+ad
+->
+grid\9afo
+.
+grid_ty³
+ = 
+GL_GRID_T_ALLALBUMS
+;
+
+3286 
+E\9aa_Li¡
+ *
+li¡
+ = 
+NULL
+;
+
+3287 
+gl_\99em
+ *
+g\99em
+ = 
+NULL
+;
+
+3288 
+gl_med\9f_s
+ *
+\99em
+ = 
+NULL
+;
+
+3289 
+       `_gl_d©a_g\91_\99ems
+(
+GL_FIRST_VIEW_START_POS
+,
+
+3290 
+GL_FIRST_VIEW_START_POS
+, &
+li¡
+);
+
+3291 ià(
+li¡
+ !ð
+NULL
+) {
+
+3292 
+\99em
+ = (
+gl_med\9f_s
+ *)
+       `e\9aa_li¡_Áh
+(
+li¡
+, 0);
+
+3293 
+       `GL_IF_FREE_ELIST
+(
+li¡
+);
+
+3294 
+g\99em
+ = 
+       `_gl_d©a_Ãw_\99em_m\99em
+(
+\99em
+);
+
+3295 
+       `GL_CHECK_VAL
+(
+g\99em
+, -1);
+
+3296 
+       `gl_ext_lßd_iv_ug
+(
+d©a
+, 
+g\99em
+, 
+GL_UG_IV_SLIDESHOW_ALL
+);
+
+3297 
+       `_gl_d©a_ut\9e\93_g\99em
+(
+g\99em
+);
+
+3300 
+       }
+}
+
+3302 \18\12
+       $__gl_tim\96\9ae_¦ideshow
+(\1e*
+d©a
+, cڡ \ 5*
+Ïb\96
+)
+
+3304 
+       `GL_CHECK_VAL
+(
+Ïb\96
+, -1);
+
+3305 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+3306 
+       `gl_dbg
+("Ïb\96 : % ", 
+Ïb\96
+);
+
+3307 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+3309 ià(!
+       `g_¡rcmp0
+(
+Ïb\96
+, 
+       `_gl_¡r
+(
+GL_STR_ID_ALL_ITEMS
+))) {
+
+3310 
+       `__gl_tim\96\9ae_¡¬t_¦ideshow
+(
+d©a
+);
+
+3311 } \vià(!
+       `g_¡rcmp0
+(
+Ïb\96
+, 
+       `_gl_¡r
+(
+GL_STR_ID_SETTINGS
+))) {
+
+3312 
+       `evas_objeù_d©a_£t
+(
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+,
+
+3313 
+GL_NAVIFRAME_SLIDESHOW_DATA_KEY
+,
+
+3314 
+__gl_tim\96\9ae_¡¬t_¦ideshow
+);
+
+3315 
+       `gl_ext_lßd_ug
+(
+d©a
+, 
+GL_UG_GALLERY_SETTING_SLIDESHOW
+);
+
+3316 } \vià(!
+       `g_¡rcmp0
+(
+Ïb\96
+, 
+       `_gl_¡r
+(
+GL_STR_ID_SELECT_ITEMS
+))) {
+
+3317 #ifdeà
+_USE_APP_SLIDESHOW
+
+
+3318 
+       `__gl_tim\96\9ae_ed\99
+(
+d©a
+);
+
+3319 
+       `evas_objeù_d©a_£t
+(
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+,
+
+3320 
+GL_NAVIFRAME_SELECTED_SLIDESHOW_KEY
+,
+
+3321 
+gl_pÝ_to_ù¾b¬_ly
+);
+
+3323 
+       `_gl_ext_Ïunch_g®Ëry_ug
+(
+d©a
+);
+
+3326 
+       `gl_dbgE
+("Invalid\86able!");
+
+3330 
+       }
+}
+
+3332 \18\1e
+       $__gl_tim\96\9ae_¦ideshow_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+3334 
+       `GL_CHECK
+(
+d©a
+);
+
+3335 
+       `_gl_ùxpÝup_d\96
+(
+d©a
+);
+
+3336 
+       `_gl_pÝup_ü\97\8b_¦ideshow
+(
+d©a
+, 
+__gl_tim\96\9ae_¦ideshow
+);
+
+3337 
+       }
+}
+
+3340 #ifdeà
+_USE_APP_SLIDESHOW
+
+
+3341 \18
+E\9aa_BoÞ
+       $__gl_tim\96\9ae_ed\99_ÿnûl_cb
+(\1e*
+d©a
+, 
+Elm_Objeù_I\8bm
+ *
+\99
+)
+
+3343 
+       `GL_CHECK_FALSE
+(
+d©a
+);
+
+3344 
+       `gl_dbg
+("");
+
+3345 
+       `gl_£t_v\9bw_mode
+(
+d©a
+, 
+GL_VIEW_TIMELINE
+);
+
+3346 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+3347 ià(
+       `_gl_tim\96\9ae_upd©e_v\9bw
+(
+d©a
+) < 0) {
+
+3348 ià(
+ad
+->
+\8e\9afo
+->
+nocÚ\8bÁs
+ =ð
+NULL
+) {
+
+3349 
+ad
+->
+\8e\9afo
+->
+\8cª_Ý
+ = 
+GL_TRANS_OP_DEFAULT
+;
+
+3350 
+       `_gl_¦id\94_upd©e_f\9c¡_\99em
+(
+ad
+->
+\8e\9afo
+->
+v\9bw
+);
+
+3354 \15 
+EINA_TRUE
+;
+
+3355 
+       }
+}
+
+3357 \18\12
+       $__gl_tim\96\9ae_ed\99
+(\1e*
+d©a
+)
+
+3359 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+3360 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+3361 \12
+\99em_út
+ = 0;
+
+3362 \12
+»t
+ = -1;
+
+3364 
+»t
+ = 
+       `_gl_d©a_g\91_\99em_út
+(
+GL_ALBUM_ALL_ID
+, 
+GL_STORE_T_ALL
+, &
+\99em_út
+);
+
+3365 ià(
+»t
+ !ð0 || 
+\99em_út
+ == 0) {
+
+3366 
+       `gl_dbgE
+("Empty!");
+
+3370 ià(
+ad
+->
+\8e\9afo
+->
+®bum
+ =ð
+NULL
+)
+
+3371 
+ad
+->
+\8e\9afo
+->
+®bum
+ = 
+       `_gl_d©a_ut\9e_Ãw_gþu¡\94_®l
+(
+d©a
+,
+
+3372 
+\99em_út
+);
+
+3373 
+       `GL_CHECK_VAL
+(
+ad
+->
+\8e\9afo
+->
+®bum
+, -1);
+
+3374 
+       `_gl_®bums_£t_cu¼\92t
+(
+d©a
+, 
+ad
+->
+\8e\9afo
+->
+®bum
+);
+
+3375 
+E\9aa_Li¡
+ *
+med\9fs_\96
+ = 
+NULL
+;
+
+3376 
+       `_gl_d©a_g\91_\99ems_®bum
+(
+d©a
+, 
+ad
+->
+\8e\9afo
+->
+®bum
+,
+
+3377 
+GL_FIRST_VIEW_START_POS
+, 
+GL_FIRST_VIEW_END_POS
+,
+
+3378 &
+med\9fs_\96
+);
+
+3379 
+       `_gl_thumbs_£t_li¡
+(
+ad
+, 
+med\9fs_\96
+);
+
+3380 
+       `_gl_thumbs_£t_ed\99_mode
+(
+d©a
+, 
+GL_THUMBS_EDIT_SLIDESHOW
+);
+
+3381 
+       `_gl_thumbs_ü\97\8b_v\9bw
+(
+d©a
+, 
+GL_NAVI_THUMBS
+, 
+GL_STR_ID_ALL_ALBUMS
+, 
+\8cue
+,
+
+3382 
+__gl_tim\96\9ae_ed\99_ÿnûl_cb
+);
+
+3384 
+       `gl_dbg
+("Done\83dit");
+
+3386 
+       }
+}
+
+3389 \1e
+       $__gl_tim\96\9ae_desc_mode_£t
+(\1e*
+d©a
+) {
+
+3390 
+       `gl_dbg
+("ENTRY");
+
+3391 
+       `GL_CHECK
+(
+d©a
+);
+
+3392 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+3393 ià(
+ad
+->
+\8e\9afo
+->
+time_med\9f_di¥Ïy_Üd\94
+ =ð
+TIME_ORDER_DESC
+) {
+
+3394 
+       `gl_dbg
+("EXIT 1");
+
+3397 
+ad
+->
+\8e\9afo
+->
+time_med\9f_di¥Ïy_Üd\94
+ = 
+TIME_ORDER_DESC
+;
+
+3398 
+       `__gl_upd©e_tim\96\9ae
+(
+ad
+);
+
+3399 
+       }
+}
+
+3401 \1e
+       $__gl_tim\96\9ae_asc_mode_£t
+(\1e*
+d©a
+) {
+
+3402 
+       `gl_dbg
+("ENTRY");
+
+3403 
+       `GL_CHECK
+(
+d©a
+);
+
+3404 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+3405 ià(
+ad
+->
+\8e\9afo
+->
+time_med\9f_di¥Ïy_Üd\94
+ =ð
+TIME_ORDER_ASC
+) {
+
+3406 
+       `gl_dbg
+("EXIT 1");
+
+3409 
+ad
+->
+\8e\9afo
+->
+time_med\9f_di¥Ïy_Üd\94
+ = 
+TIME_ORDER_ASC
+;
+
+3410 
+       `__gl_upd©e_tim\96\9ae
+(
+ad
+);
+
+3411 
+       }
+}
+
+3413 \18\1e
+       $__gl_tim\96\9ae_sÜt_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+3415 
+       `gl_dbg
+("ENTRY");
+
+3416 
+       `GL_CHECK
+(
+d©a
+);
+
+3417 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+3418 \12
+¡©e_\9adex
+ = -1;
+
+3419 
+¡©e_\9adex
+ = 
+ad
+->
+\8e\9afo
+->
+time_med\9f_di¥Ïy_Üd\94
+ =ð
+TIME_ORDER_ASC
+ ? 1 : 0;
+
+3420 
+       `_gl_li¡_pÝ_ü\97\8b
+(
+d©a
+, 
+obj
+, 
+ei
+, 
+GL_STR_SORT
+, 
+GL_STR_DATE_MOST_RECENT
+, 
+GL_STR_DATE_OLDEST
+, 
+¡©e_\9adex
+);
+
+3421 
+       `gl_dbg
+("EXIT");
+
+3422 
+       }
+}
+
+3424 \18\1e
+       $__gl_tim\96\9ae_ed\99_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+3426 
+       `GL_CHECK
+(
+d©a
+);
+
+3427 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+3428 
+       `_gl_ùxpÝup_d\96
+(
+d©a
+);
+
+3429 ià(
+ad
+->
+ug\9afo
+.
+ug
+) {
+
+3434 
+       `gl_dbgW
+("UG invoked!");
+
+3437 
+       `__gl_tim\96\9ae_chªge_mode
+(
+d©a
+, 
+GL_TL_VIEW_EDIT
+);
+
+3438 
+       }
+}
+
+3440 \18\1e
+       $__gl_®bums_v\9bwas_pÝ_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+3442 
+       `gl_dbg
+("ENTRY");
+
+3443 
+       `GL_CHECK
+(
+d©a
+);
+
+3444 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+3445 \12
+¡©e_\9adex
+ = 1;
+
+3446 \12
+v\9bw_mode
+ = 
+       `gl_g\91_v\9bw_mode
+(
+ad
+);
+
+3447 ià(
+v\9bw_mode
+ =ð
+GL_VIEW_TIMELINE
+) {
+
+3448 
+¡©e_\9adex
+ = 0;
+
+3449 } \vià(
+v\9bw_mode
+ =ð
+GL_VIEW_ALBUMS
+) {
+
+3450 
+¡©e_\9adex
+ = 1;
+
+3452 
+       `_gl_li¡_pÝ_ü\97\8b
+(
+d©a
+, 
+obj
+, 
+ei
+, 
+GL_STR_ID_VIEW_AS
+, 
+GL_STR_TIME_VIEW
+, 
+GL_STR_ALBUMS
+, 
+¡©e_\9adex
+);
+
+3453 
+       `gl_dbg
+("EXIT");
+
+3454 
+       }
+}
+
+3457 \18\1e
+       $__gl_tim\96\9ae_sh¬e_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+3459 
+       `GL_CHECK
+(
+d©a
+);
+
+3460 
+       `_gl_ùxpÝup_d\96
+(
+d©a
+);
+
+3461 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+3462 ià(
+ad
+->
+ug\9afo
+.
+ug
+) {
+
+3467 
+       `gl_dbgW
+("UG invoked!");
+
+3470 
+       `__gl_tim\96\9ae_chªge_mode
+(
+d©a
+, 
+GL_TL_VIEW_SHARE
+);
+
+3471 
+       }
+}
+
+3475 \18\12
+       $__gl_tim\96\9ae_d\96
+(\1e*
+d©a
+)
+
+3477 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+3478 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+3479 
+       `GL_CHECK_VAL
+(
+ad
+->
+\8e\9afo
+, -1);
+
+3480 
+gl_tim\96\9ae_s
+ *
+tim\96\9ae_d
+ = 
+ad
+->
+\8e\9afo
+;
+
+3481 
+       `GL_CHECK_VAL
+(
+tim\96\9ae_d
+->
+£l_d
+, -1);
+
+3482 \12
+i
+ = 0;
+
+3483 \12
+pÝup_Ý
+ = 
+GL_POPUP_OP_NONE
+;
+
+3484 \ 5*
+\99em
+ = 
+NULL
+;
+
+3485 \12
+»t
+ = -1;
+
+3487 
+       `EINA_LIST_FREE
+(
+tim\96\9ae_d
+->
+£l_d
+->
+£l_li¡
+, 
+\99em
+) {
+
+3488 
+i
+++;
+
+3489 ià(
+\99em
+) {
+
+3490 
+»t
+ = 
+       `_gl_d\96_med\9f_by_id
+(
+d©a
+, (cڡ \ 5*)
+\99em
+);
+
+3491 ià(
+»t
+ != 0)
+
+3492 
+       `gl_dbgE
+("G\91 med\9f fa\9eed[%d]!", 
+»t
+);
+
+3493 
+\99em
+ = 
+NULL
+;
+
+3496 
+       `gl_dbg
+("Write\85ipe, make\85rogressbar updated!");
+
+3497 
+       `gl_th»ad_wr\99e_p\9de
+(
+ad
+, 
+i
+, 
+pÝup_Ý
+);
+
+3498 
+pÝup_Ý
+ = 
+GL_POPUP_OP_NONE
+;
+
+3500 
+tim\96\9ae_d
+->
+£l_d
+->
+£l_li¡
+ = 
+NULL
+;
+
+3502 
+       }
+}
+
+3505 \18\12
+       $__gl_tim\96\9ae_upd©e_d\96_v\9bw
+(\1e*
+d©a
+)
+
+3507 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+3508 
+       `gl_dbgW
+("");
+
+3510 
+       `__gl_tim\96\9ae_chªge_mode
+(
+d©a
+, 
+GL_TL_VIEW_NORMAL
+);
+
+3512 
+       `_gl_tim\96\9ae_upd©e_v\9bw
+(
+d©a
+);
+
+3514 
+       `_gl_nÙify_ü\97\8b_nÙi\9afo
+(
+GL_STR_DELETED
+);
+
+3516 
+       `_gl_upd©e_®bums_li¡
+(
+d©a
+);
+
+3517 
+       `_gl_db_upd©e_lock_®ways
+(
+d©a
+, 
+çl£
+);
+
+3519 
+       }
+}
+
+3522 \18\12
+       $__gl_tim\96\9ae_g\91_·th_¡r
+(\1e*
+d©a
+, 
+gch¬
+£p_c
+, \ 5**
+·th_¡r
+,
+
+3523 \12*
+£l_út
+)
+
+3525 
+       `GL_CHECK_VAL
+(
+·th_¡r
+, -1);
+
+3526 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+3527 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+3528 
+       `GL_CHECK_VAL
+(
+ad
+->
+\8e\9afo
+, -1);
+
+3529 
+gl_tim\96\9ae_s
+ *
+tim\96\9ae_d
+ = 
+ad
+->
+\8e\9afo
+;
+
+3530 
+       `GL_CHECK_VAL
+(
+tim\96\9ae_d
+->
+£l_d
+, -1);
+
+3531 
+GS\8c\9ag
+ *
+£Ëùed_·th_li¡
+ = 
+       `g_¡r\9ag_Ãw
+(
+NULL
+);
+
+3532 \12
+£Ëùed_\99em_út
+ = 0;
+
+3533 
+E\9aa_Li¡
+ *
+l
+ = 
+NULL
+;
+
+3534 \ 5*
+\99em
+ = 
+NULL
+;
+
+3535 \12
+»t
+ = -1;
+
+3536 \ 5*
+·th
+ = 
+NULL
+;
+
+3538 
+       `EINA_LIST_FOREACH
+(
+tim\96\9ae_d
+->
+£l_d
+->
+£l_li¡
+, 
+l
+, 
+\99em
+) {
+
+3539 ià(
+\99em
+ =ð
+NULL
+) {
+
+3540 
+       `gl_dbgE
+("Invalid item!");
+
+3541 \10
+GL_TL_FAILED
+;
+
+3544 
+»t
+ = 
+       `_gl_loÿl_d©a_g\91_·th_by_id
+((cڡ \ 5*)
+\99em
+, &
+·th
+);
+
+3545 ià(
+»t
+ !ð0 || !
+·th
+) {
+
+3546 
+       `gl_dbgE
+("G\91\85©h fa\9eed[%d]!", 
+»t
+);
+
+3547 \10
+GL_TL_FAILED
+;
+
+3550 ià(
+       `¡r¡r
+(
+£Ëùed_·th_li¡
+->
+¡r
+, 
+·th
+)) {
+
+3551 
+       `gl_dbgW
+("Already\87ppended!");
+
+3553 
+£Ëùed_\99em_út
+++;
+
+3554 
+       `g_¡r\9ag_­³nd
+(
+£Ëùed_·th_li¡
+, 
+·th
+);
+
+3555 
+       `g_¡r\9ag_­³nd_c
+(
+£Ëùed_·th_li¡
+, 
+£p_c
+);
+
+3557 
+       `GL_FREE
+(
+·th
+);
+
+3559 
+       `gl_dbg
+("S\96eùed i\8bm couÁ: %d.", 
+£Ëùed_\99em_út
+);
+
+3560 ià(
+£l_út
+)
+
+3561 *
+£l_út
+ = 
+£Ëùed_\99em_út
+;
+
+3562 \12
+Ën
+ = 
+       `¡¾\92
+(
+£Ëùed_·th_li¡
+->
+¡r
+);
+
+3563 
+       `g_¡r\9ag_\8cunÿ\8b
+(
+£Ëùed_·th_li¡
+, 
+Ën
+ - 1);
+
+3570 *
+·th_¡r
+ = 
+       `g_¡r\9ag_ä\93
+(
+£Ëùed_·th_li¡
+, 
+çl£
+);
+
+3571 
+       `GL_CHECK_VAL
+(*
+·th_¡r
+, -1);
+
+3572 
+       `gl_dbg
+("TÙ® s\8c\9ag:\n\n\t>>@@:> % <:@@<<\n", *
+·th_¡r
+);
+
+3575 
+GL_TL_FAILED
+:
+
+3577 ià(
+£Ëùed_·th_li¡
+) {
+
+3578 
+       `g_¡r\9ag_ä\93
+(
+£Ëùed_·th_li¡
+, 
+\8cue
+);
+
+3579 
+£Ëùed_·th_li¡
+ = 
+NULL
+;
+
+3581 
+       `GL_FREEIF
+(
+·th
+);
+
+3583 
+       }
+}
+
+3586 \18\1e
+       $__gl_tim\96\9ae_\9b_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+3588 
+       `GL_CHECK
+(
+d©a
+);
+
+3589 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+3590 
+       `gl_dbg
+("");
+
+3592 ià(
+ad
+->
+ug\9afo
+.
+ug
+ ||\87d->ug\9afo.
+b_­p_ÿÎed
+) {
+
+3593 
+       `gl_dbgW
+("UG or APP is\87lready\86oaded!");
+
+3596 
+       `_gl_ùxpÝup_d\96
+(
+d©a
+);
+
+3598 
+       `GL_CHECK
+(
+ad
+->
+\8e\9afo
+);
+
+3599 
+gl_tim\96\9ae_s
+ *
+tim\96\9ae_d
+ = 
+ad
+->
+\8e\9afo
+;
+
+3600 ià(
+       `__gl_tim\96\9ae_g\91_£l_út
+(
+tim\96\9ae_d
+) == 0) {
+
+3601 
+       `gl_dbgW
+("No\81humbs selected!");
+
+3602 
+       `gl_pÝup_ü\97\8b_pÝup
+(
+ad
+, 
+GL_POPUP_NOBUT
+,
+
+3603 
+GL_STR_NO_FILES_SELECTED
+);
+
+3607 
+       `_gl_ext_lßd_\9b
+(
+d©a
+, 
+__gl_tim\96\9ae_g\91_·th_¡r
+);
+
+3609 
+       `__gl_tim\96\9ae_chªge_mode
+(
+d©a
+, 
+GL_TL_VIEW_NORMAL
+);
+
+3610 
+       }
+}
+
+3613 \18\12
+       $__gl_tim\96\9ae_move_cÝy_Ý
+(\1e*
+d©a
+)
+
+3615 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+3616 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+3617 
+       `GL_CHECK_VAL
+(
+ad
+->
+\8e\9afo
+, -1);
+
+3618 
+gl_tim\96\9ae_s
+ *
+tim\96\9ae_d
+ = 
+ad
+->
+\8e\9afo
+;
+
+3619 
+       `GL_CHECK_VAL
+(
+tim\96\9ae_d
+->
+£l_d
+, -1);
+
+3620 \12
+i
+ = 0;
+
+3621 \12
+pÝup_Ý
+ = 
+GL_POPUP_OP_NONE
+;
+
+3622 \ 5*
+\99em
+ = 
+NULL
+;
+
+3624 
+       `EINA_LIST_FREE
+(
+tim\96\9ae_d
+->
+£l_d
+->
+£l_li¡
+, 
+\99em
+) {
+
+3625 
+i
+++;
+
+3626 ià(
+\99em
+) {
+
+3627 
+       `gl_sdbg
+("S\96eùed [%s]", 
+\99em
+);
+
+3628 ià(
+ad
+->
+ma\9a\9afo
+.
+med\9fs_Ý_ty³
+ =ð
+GL_MEDIA_OP_COPY_TIMELINE
+) {
+
+3629 ià(
+       `_gl_move_med\9f_thumb_by_id
+(
+d©a
+, (cڡ \ 5*)
+\99em
+, 
+ad
+->
+®bum\9afo
+.
+de¡_fÞd\94
+, &
+pÝup_Ý
+, 
+GL_MC_COPY
+) != 0)
+
+3630 
+       `gl_dbg
+("Failed\81o copy\81his item");
+
+3631 } \vià(
+ad
+->
+ma\9a\9afo
+.
+med\9fs_Ý_ty³
+ =ð
+GL_MEDIA_OP_MOVE_TIMELINE
+) {
+
+3632 ià(
+       `_gl_move_med\9f_thumb_by_id
+(
+d©a
+, (cڡ \ 5*)
+\99em
+, 
+ad
+->
+®bum\9afo
+.
+de¡_fÞd\94
+, &
+pÝup_Ý
+, 
+GL_MC_MOVE
+) != 0)
+
+3633 
+       `gl_dbg
+("Failed\81o move\81his item");
+
+3635 
+       `gl_dbgE
+("Wrong mode!");
+
+3637 
+\99em
+ = 
+NULL
+;
+
+3640 
+       `gl_dbg
+("Write\85ipe, make\85rogressbar updated!");
+
+3641 
+       `gl_th»ad_wr\99e_p\9de
+(
+ad
+, 
+i
+, 
+pÝup_Ý
+);
+
+3642 
+pÝup_Ý
+ = 
+GL_POPUP_OP_NONE
+;
+
+3644 
+tim\96\9ae_d
+->
+£l_d
+->
+£l_li¡
+ = 
+NULL
+;
+
+3646 
+       }
+}
+
+3649 \18\12
+       $__gl_tim\96\9ae_upd©e_move_cÝy_v\9bw
+(\1e*
+d©a
+)
+
+3651 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+3653 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+3654 cڡ \ 5*
+nÙi_¡r
+ = 
+NULL
+;
+
+3655 ià(
+ad
+->
+ma\9a\9afo
+.
+med\9fs_Ý_ty³
+ =ð
+GL_MEDIA_OP_COPY_TIMELINE
+) {
+
+3656 
+nÙi_¡r
+ = 
+GL_STR_COPIED
+;
+
+3657 } \vià(
+ad
+->
+ma\9a\9afo
+.
+med\9fs_Ý_ty³
+ =ð
+GL_MEDIA_OP_MOVE_TIMELINE
+) {
+
+3658 
+nÙi_¡r
+ = 
+GL_STR_MOVED
+;
+
+3660 
+       `gl_dbgE
+("Wrong mode!");
+
+3662 ià(
+nÙi_¡r
+)
+
+3663 
+       `_gl_nÙify_ü\97\8b_nÙi\9afo
+(
+nÙi_¡r
+);
+
+3664 
+       `\96m_Çviäame_\99em_pÝ_to
+(
+ad
+->
+\8e\9afo
+->
+nf_\99
+);
+
+3665 
+       `__gl_tim\96\9ae_chªge_mode
+(
+d©a
+, 
+GL_TL_VIEW_NORMAL
+);
+
+3667 
+       `_gl_tim\96\9ae_upd©e_v\9bw
+(
+d©a
+);
+
+3669 
+       `_gl_upd©e_®bums_li¡
+(
+ad
+);
+
+3670 
+       `_gl_db_upd©e_lock_®ways
+(
+d©a
+, 
+çl£
+);
+
+3672 
+       }
+}
+
+3674 \18\12
+       $__gl_tim\96\9ae_move_cÝy
+(\1e*
+d©a
+)
+
+3676 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+3677 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+3678 \ 5
+fÞd\94_fuηth
+[
+GL_DIR_PATH_LEN_MAX
+] = { 0, };
+
+3679 
+       `GL_CHECK_VAL
+(
+ad
+->
+\8e\9afo
+, -1);
+
+3680 
+gl_tim\96\9ae_s
+ *
+tim\96\9ae_d
+ = 
+ad
+->
+\8e\9afo
+;
+
+3681 \12
+út
+ = 
+       `__gl_tim\96\9ae_g\91_£l_út
+(
+tim\96\9ae_d
+);
+
+3682 
+       `gl_dbg
+("");
+
+3684 
+       `_gl_db_upd©e_lock_®ways
+(
+d©a
+, 
+\8cue
+);
+
+3689 ià(
+ad
+->
+®bum\9afo
+.
+·th
+ =ð
+NULL
+) {
+
+3690 
+       `gl_dbg
+("New\87lbum");
+
+3691 ià(
+       `gl_make_Ãw_®bum
+(
+ad
+->
+®bum\9afo
+.
+Ãw_Çme
+) != 0) {
+
+3692 
+       `gl_pÝup_ü\97\8b_pÝup
+(
+ad
+, 
+GL_POPUP_NOBUT
+,
+
+3693 
+GL_STR_SAME_NAME_ALREADY_IN_USE
+);
+
+3694 
+       `gl_dbgE
+("Failed\81o make\87\82ew directory!");
+
+3695 \10
+GL_FAILED
+;
+
+3697 
+       `¢´\9atf
+(
+fÞd\94_fuηth
+, 
+GL_DIR_PATH_LEN_MAX
+, "%s/%s",
+
+3698 
+GL_DEFAULT_PATH_IMAGES
+, 
+ad
+->
+®bum\9afo
+.
+Ãw_Çme
+);
+
+3700 
+       `g_¡¾ýy
+(
+fÞd\94_fuηth
+, 
+ad
+->
+®bum\9afo
+.
+·th
+,
+
+3701 
+GL_DIR_PATH_LEN_MAX
+);
+
+3702 
+       `GL_FREE
+(
+ad
+->
+®bum\9afo
+.
+·th
+);
+
+3705 
+       `mem£t
+(
+ad
+->
+®bum\9afo
+.
+de¡_fÞd\94
+, 0x00, 
+GL_DIR_PATH_LEN_MAX
+);
+
+3706 
+       `g_¡¾ýy
+(
+ad
+->
+®bum\9afo
+.
+de¡_fÞd\94
+, 
+fÞd\94_fuηth
+,
+
+3707 
+GL_DIR_PATH_LEN_MAX
+);
+
+3710 
+       `gl_check_mmc_¡©e
+(
+ad
+, 
+fÞd\94_fuηth
+);
+
+3711 
+       `gl_dbg
+("MMC s\8f\8b: %d.", 
+ad
+->
+ma\9a\9afo
+.
+mmc_¡©e
+);
+
+3712 
+       `_gl_£t_f\9ee_Ý_cbs
+(
+d©a
+, 
+__gl_tim\96\9ae_move_cÝy_Ý
+, 
+NULL
+,
+
+3713 
+__gl_tim\96\9ae_upd©e_move_cÝy_v\9bw
+, 
+út
+);
+
+3715 ià(
+ad
+->
+®bum\9afo
+.
+f\9ee_mc_mode
+ =ð
+GL_MC_MOVE
+)
+
+3716 
+       `_gl_u£_th»ad_Ý\94©e_med\9fs
+(
+ad
+, 
+GL_STR_ID_MOVING
+, 
+út
+,
+
+3717 
+GL_MEDIA_OP_MOVE_TIMELINE
+);
+
+3718 \vià(
+ad
+->
+®bum\9afo
+.
+f\9ee_mc_mode
+ =ð
+GL_MC_COPY
+)
+
+3719 
+       `_gl_u£_th»ad_Ý\94©e_med\9fs
+(
+ad
+, 
+GL_STR_ID_COPYING
+, 
+út
+,
+
+3720 
+GL_MEDIA_OP_COPY_TIMELINE
+);
+
+3722 
+       `gl_dbgE
+("Wrong mode!");
+
+3725 
+GL_FAILED
+:
+
+3728 
+       `_gl_ui_upd©e_Çvi_t\99Ë_\8bxt
+(
+tim\96\9ae_d
+->
+nf_\99
+, 
+út
+, 
+çl£
+);
+
+3729 
+       `__gl_tim\96\9ae_check_b\8as_¡©e
+(
+tim\96\9ae_d
+,\81im\96\9ae_d->
+couÁ
+, 
+út
+);
+
+3730 
+       `_gl_db_upd©e_lock_®ways
+(
+d©a
+, 
+çl£
+);
+
+3732 
+       }
+}
+
+3735 \18\1e
+       $__gl_tim\96\9ae_move_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+3737 
+       `\96m_toÞb¬_\99em_£Ëùed_£t
+((
+Elm_Objeù_I\8bm
+ *)
+ei
+, 
+EINA_FALSE
+);
+
+3738 
+       `GL_CHECK
+(
+d©a
+);
+
+3739 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+3740 
+       `GL_CHECK
+(
+ad
+->
+\8e\9afo
+);
+
+3741 
+gl_tim\96\9ae_s
+ *
+tim\96\9ae_d
+ = 
+ad
+->
+\8e\9afo
+;
+
+3742 
+       `gl_dbg
+("");
+
+3744 ià(
+       `__gl_tim\96\9ae_g\91_£l_út
+(
+tim\96\9ae_d
+) == 0) {
+
+3745 
+       `gl_dbgW
+("No\81humbs selected!");
+
+3746 
+       `gl_pÝup_ü\97\8b_pÝup
+(
+d©a
+, 
+GL_POPUP_NOBUT
+,
+
+3747 
+GL_STR_NO_FILES_SELECTED
+);
+
+3751 
+ad
+->
+®bum\9afo
+.
+f\9ee_mc_mode
+ = 
+GL_MC_MOVE
+;
+
+3752 
+       `_gl_pÝup_ü\97\8b_move
+(
+d©a
+, 
+__gl_tim\96\9ae_move_cÝy
+);
+
+3753 
+       }
+}
+
+3756 \18\1e
+       $__gl_tim\96\9ae_cÝy_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+3758 
+       `GL_CHECK
+(
+d©a
+);
+
+3759 
+       `_gl_ùxpÝup_d\96
+(
+d©a
+);
+
+3760 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+3761 
+       `GL_CHECK
+(
+ad
+->
+\8e\9afo
+);
+
+3762 
+gl_tim\96\9ae_s
+ *
+tim\96\9ae_d
+ = 
+ad
+->
+\8e\9afo
+;
+
+3763 
+       `gl_dbg
+("");
+
+3765 ià(
+       `__gl_tim\96\9ae_g\91_£l_út
+(
+tim\96\9ae_d
+) == 0) {
+
+3766 
+       `gl_dbgW
+("No\81humbs selected!");
+
+3767 
+       `gl_pÝup_ü\97\8b_pÝup
+(
+d©a
+, 
+GL_POPUP_NOBUT
+,
+
+3768 
+GL_STR_NO_FILES_SELECTED
+);
+
+3772 
+ad
+->
+®bum\9afo
+.
+f\9ee_mc_mode
+ = 
+GL_MC_COPY
+;
+
+3773 
+       `_gl_pÝup_ü\97\8b_cÝy
+(
+d©a
+, 
+__gl_tim\96\9ae_move_cÝy
+);
+
+3774 
+       }
+}
+
+3777 #ifdeà
+_USE_ROTATE_BG
+
+
+3778 \18\12
+       $__gl_tim\96\9ae_rÙ©e_Ý
+(\1e*
+d©a
+)
+
+3780 \ 1
+       #GL_ROTATE_DELAY
+ 0.25
+
+       )
+
+3781 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+3782 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+3783 
+       `GL_CHECK_VAL
+(
+ad
+->
+\8e\9afo
+, -1);
+
+3784 
+gl_tim\96\9ae_s
+ *
+tim\96\9ae_d
+ = 
+ad
+->
+\8e\9afo
+;
+
+3785 
+       `GL_CHECK_VAL
+(
+tim\96\9ae_d
+->
+£l_d
+, -1);
+
+3786 \12
+i
+ = 0;
+
+3787 \12
+pÝup_Ý
+ = 
+GL_POPUP_OP_NONE
+;
+
+3788 \12
+»t
+ = -1;
+
+3789 
+boÞ
+b_Ëá
+ = 
+çl£
+;
+
+3790 \ 5*
+\99em
+ = 
+NULL
+;
+
+3791 \12
+út
+ = 
+       `__gl_tim\96\9ae_g\91_£l_út
+(
+tim\96\9ae_d
+);
+
+3793 ià(
+ad
+->
+ma\9a\9afo
+.
+med\9fs_Ý_ty³
+ =ð
+GL_MEDIA_OP_ROTATING_LEFT_TIMELINE
+)
+
+3794 
+b_Ëá
+ = 
+\8cue
+;
+
+3796 
+       `EINA_LIST_FREE
+(
+tim\96\9ae_d
+->
+£l_d
+->
+£l_li¡
+, 
+\99em
+) {
+
+3797 
+i
+++;
+
+3798 ià(
+\99em
+) {
+
+3799 
+»t
+ = 
+       `_gl_r٩e_image_by_id
+(
+d©a
+, (cڡ \ 5*)
+\99em
+,
+
+3800 
+b_Ëá
+);
+
+3801 ià(
+»t
+ != 0)
+
+3802 
+       `gl_dbgE
+("RÙ©\90imag\90ç\9eed[%d]!", 
+»t
+);
+
+3805 ià(
+i
+ > 
+út
+ - 2)
+
+3806 
+       `_gl_d\96ay
+(
+GL_ROTATE_DELAY
+);
+
+3808 ià(
+i
+ =ð
+út
+) {
+
+3809 
+       `gl_dbgW
+("Last image\84otated!");
+
+3811 
+       `_gl_d\96ay
+(
+GL_ROTATE_DELAY
+);
+
+3813 
+\99em
+ = 
+NULL
+;
+
+3816 
+       `gl_dbg
+("Write\85ipe, make\85rogressbar updated!");
+
+3817 
+       `gl_th»ad_wr\99e_p\9de
+(
+ad
+, 
+i
+, 
+pÝup_Ý
+);
+
+3818 
+pÝup_Ý
+ = 
+GL_POPUP_OP_NONE
+;
+
+3820 
+tim\96\9ae_d
+->
+£l_d
+->
+£l_li¡
+ = 
+NULL
+;
+
+3822 
+       }
+}
+
+3824 \18\12
+       $__gl_tim\96\9ae_upd©e_rÙ©e_v\9bw
+(\1e*
+d©a
+)
+
+3826 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+3827 
+       `gl_dbgW
+("");
+
+3829 
+       `__gl_tim\96\9ae_chªge_mode
+(
+d©a
+, 
+GL_TL_VIEW_NORMAL
+);
+
+3830 
+       `_gl_db_upd©e_lock_®ways
+(
+d©a
+, 
+çl£
+);
+
+3832 
+       }
+}
+
+3833 \18\12
+       $__gl_tim\96\9ae_rÙ©e_images
+(\1e*
+d©a
+, 
+boÞ
+b_Ëá
+)
+
+3835 
+       `gl_dbg
+("");
+
+3836 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+3837 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+3838 
+       `GL_CHECK_VAL
+(
+ad
+->
+\8e\9afo
+, -1);
+
+3839 
+gl_tim\96\9ae_s
+ *
+tim\96\9ae_d
+ = 
+ad
+->
+\8e\9afo
+;
+
+3842 \12
+út
+ = 
+       `__gl_tim\96\9ae_g\91_£l_út
+(
+tim\96\9ae_d
+);
+
+3844 
+       `gl_check_mmc_¡©e
+(
+ad
+, 
+NULL
+);
+
+3845 
+       `gl_dbg
+("MMC s\8f\8b: %d.", 
+ad
+->
+ma\9a\9afo
+.
+mmc_¡©e
+);
+
+3847 \12
+Ý_ty³
+ = 
+GL_MEDIA_OP_ROTATING_LEFT_TIMELINE
+;
+
+3849 ià(!
+b_Ëá
+)
+
+3850 
+Ý_ty³
+ = 
+GL_MEDIA_OP_ROTATING_RIGHT_TIMELINE
+;
+
+3851 
+       `_gl_db_upd©e_lock_®ways
+(
+d©a
+, 
+\8cue
+);
+
+3852 
+       `_gl_£t_f\9ee_Ý_cbs
+(
+d©a
+, 
+__gl_tim\96\9ae_rÙ©e_Ý
+, 
+NULL
+,
+
+3853 
+__gl_tim\96\9ae_upd©e_rÙ©e_v\9bw
+, 
+út
+);
+
+3854 
+       `_gl_u£_th»ad_Ý\94©e_med\9fs
+(
+ad
+, 
+GL_STR_ID_ROTATING
+, 
+út
+, 
+Ý_ty³
+);
+
+3857 
+       }
+}
+
+3859 \18\1e
+       $__gl_tim\96\9ae_ed\99_rÙ©e_Ëá_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+,
+
+3860 \1e*
+ei
+)
+
+3862 
+       `GL_CHECK
+(
+d©a
+);
+
+3863 
+       `_gl_ùxpÝup_d\96
+(
+d©a
+);
+
+3865 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+3866 
+       `GL_CHECK
+(
+ad
+->
+\8e\9afo
+);
+
+3867 
+gl_tim\96\9ae_s
+ *
+tim\96\9ae_d
+ = 
+ad
+->
+\8e\9afo
+;
+
+3869 ià(
+       `__gl_tim\96\9ae_g\91_£l_út
+(
+tim\96\9ae_d
+) == 0) {
+
+3870 
+       `gl_dbgW
+("No\81humbs selected!");
+
+3871 
+       `gl_pÝup_ü\97\8b_pÝup
+(
+d©a
+, 
+GL_POPUP_NOBUT
+,
+
+3872 
+GL_STR_NO_FILES_SELECTED
+);
+
+3875 
+       `__gl_tim\96\9ae_rÙ©e_images
+(
+d©a
+, 
+\8cue
+);
+
+3876 
+       }
+}
+
+3878 \18\1e
+       $__gl_tim\96\9ae_ed\99_rÙ©e_right_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+,
+
+3879 \1e*
+ei
+)
+
+3881 
+       `GL_CHECK
+(
+d©a
+);
+
+3882 
+       `_gl_ùxpÝup_d\96
+(
+d©a
+);
+
+3884 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+3885 
+       `GL_CHECK
+(
+ad
+->
+\8e\9afo
+);
+
+3886 
+gl_tim\96\9ae_s
+ *
+tim\96\9ae_d
+ = 
+ad
+->
+\8e\9afo
+;
+
+3888 ià(
+       `__gl_tim\96\9ae_g\91_£l_út
+(
+tim\96\9ae_d
+) == 0) {
+
+3889 
+       `gl_dbgW
+("No\81humbs selected!");
+
+3890 
+       `gl_pÝup_ü\97\8b_pÝup
+(
+d©a
+, 
+GL_POPUP_NOBUT
+,
+
+3891 
+GL_STR_NO_FILES_SELECTED
+);
+
+3894 
+       `__gl_tim\96\9ae_rÙ©e_images
+(
+d©a
+, 
+çl£
+);
+
+3895 
+       }
+}
+
+3899 \18\12
+       $__gl_tim\96\9ae_ùxpÝup_­³nd
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+·»Á
+)
+
+3901 
+       `gl_dbg
+("");
+
+3902 
+       `GL_CHECK_VAL
+(
+·»Á
+, -1);
+
+3903 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+3904 
+       `GL_CHECK_VAL
+(
+·»Á
+, -1);
+
+3905 \12
+út
+ = 0;
+
+3906 \12
+»t
+ = -1;
+
+3907 
+»t
+ = 
+       `_gl_d©a_g\91_\99em_út
+(
+GL_ALBUM_ALL_ID
+, 
+GL_STORE_T_ALL
+, &
+út
+);
+
+3908 ià(
+»t
+ !ð0 || 
+út
+ == 0) {
+
+3909 
+       `gl_dbgE
+("Empty!");
+
+3912 ià(
+út
+ > 0) {
+
+3914 
+       `_gl_ùxpÝup_­³nd
+(
+·»Á
+, 
+GL_STR_ID_VIEW_AS
+,
+
+3915 
+__gl_®bums_v\9bwas_pÝ_cb
+, 
+d©a
+);
+
+3917 
+       `_gl_ùxpÝup_­³nd
+(
+·»Á
+, 
+GL_STR_ID_DELETE
+,
+
+3918 
+__gl_tim\96\9ae_ed\99_cb
+, 
+d©a
+);
+
+3920 
+       `_gl_ùxpÝup_­³nd
+(
+·»Á
+, 
+GL_STR_SORT
+,
+
+3921 
+__gl_tim\96\9ae_sÜt_cb
+, 
+d©a
+);
+
+3922 #ifdeà
+SUPPORT_SLIDESHOW
+
+
+3924 
+       `_gl_ùxpÝup_­³nd
+(
+·»Á
+, 
+GL_STR_ID_SLIDESHOW
+,
+
+3925 
+__gl_tim\96\9ae_¦ideshow_cb
+, 
+d©a
+);
+
+3930 
+       }
+}
+
+3932 \18\12
+       $__gl_tim\96\9ae_ed\99_ùxpÝup_­³nd
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+·»Á
+)
+
+3934 
+       `gl_dbg
+("");
+
+3935 
+       `GL_CHECK_VAL
+(
+·»Á
+, -1);
+
+3936 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+3937 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+3938 
+       `GL_CHECK_VAL
+(
+ad
+->
+\8e\9afo
+, -1);
+
+3939 
+       `GL_CHECK_VAL
+(
+ad
+->
+\8e\9afo
+->
+£l_d
+, -1);
+
+3940 \12
+út
+ = 
+       `__gl_tim\96\9ae_g\91_£l_út
+(
+ad
+->
+\8e\9afo
+);
+
+3944 #ifdeà
+_USE_ROTATE_BG
+
+
+3945 ià(
+ad
+->
+\8e\9afo
+->
+£l_d
+->
+jpge_út
+ =ð
+út
+) {
+
+3946 
+       `gl_dbg
+("Enable more button");
+
+3947 
+       `_gl_ùxpÝup_­³nd
+(
+·»Á
+, 
+GL_STR_ID_ROTATE_LEFT
+,
+
+3948 
+__gl_tim\96\9ae_ed\99_rÙ©e_Ëá_cb
+,
+
+3949 
+d©a
+);
+
+3950 
+       `_gl_ùxpÝup_­³nd
+(
+·»Á
+, 
+GL_STR_ID_ROTATE_RIGHT
+,
+
+3951 
+__gl_tim\96\9ae_ed\99_rÙ©e_right_cb
+,
+
+3952 
+d©a
+);
+
+3956 
+       }
+}
+
+3958 \18\1e
+       $__gl_tim\96\9ae_mÜe_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+3960 
+       `gl_dbg
+("more button clicked");
+
+3961 
+       `GL_CHECK
+(
+d©a
+);
+
+3962 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+3963 
+Evas_Objeù
+ *
+mÜe
+ = 
+NULL
+;
+
+3964 
+mÜe
+ = 
+       `_gl_ui_g\91_b\8a
+(
+NULL
+, 
+ad
+->
+\8e\9afo
+->
+nf_\99
+, 
+GL_NAVIFRAME_MORE
+);
+
+3965 ià(
+EINA_TRUE
+ =ð
+       `\96m_objeù_di§bËd_g\91
+(
+mÜe
+)) {
+
+3966 
+       `gl_dbg
+("Menu is disabled");
+
+3970 
+       `gl_dbg
+("Menu is clicked");
+
+3971 
+       `GL_CHECK
+(
+ad
+->
+\8e\9afo
+);
+
+3973 ià(
+ad
+->
+\8e\9afo
+->
+v\9bw_m
+ =ð
+GL_TL_VIEW_EDIT
+)
+
+3974 
+       `_gl_ùxpÝup_ü\97\8b
+(
+d©a
+, 
+obj
+,
+
+3975 
+__gl_tim\96\9ae_ed\99_ùxpÝup_­³nd
+);
+
+3976 \vià(
+ad
+->
+\8e\9afo
+->
+v\9bw_m
+ =ð
+GL_TL_VIEW_NORMAL
+)
+
+3977 
+       `_gl_ùxpÝup_ü\97\8b
+(
+d©a
+, 
+obj
+, 
+__gl_tim\96\9ae_ùxpÝup_­³nd
+);
+
+3979 
+       `gl_dbg
+("Unavailable menu operation");
+
+3980 
+       }
+}
+
+3983 \18\1e
+       $__gl_tim\96\9ae_ÿm\94a_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+3985 
+       `GL_CHECK
+(
+d©a
+);
+
+3986 
+       `gl_dbg
+("");
+
+3987 
+       `_gl_ext_lßd_ÿm\94a
+(
+d©a
+);
+
+3988 
+       }
+}
+
+3991 \18\12
+       $__gl_tim\96\9ae_»£t_Ïb\96
+(\1e*
+d©a
+)
+
+3993 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+3994 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+3996 ià(
+ad
+->
+\8e\9afo
+ =ð
+NULL
+)
+
+3998 ià(
+ad
+->
+\8e\9afo
+->
+v\9bw_m
+ =ð
+GL_TL_VIEW_NORMAL
+) {
+
+3999 
+       `gl_dbg
+("Normal mode");
+
+4003 \12
+£l_út
+ = 
+       `__gl_tim\96\9ae_g\91_£l_út
+(
+ad
+->
+\8e\9afo
+);
+
+4004 
+       `__gl_tim\96\9ae_check_b\8as_¡©e
+(
+ad
+->
+\8e\9afo
+,\87d->\8e\9afo->
+couÁ
+, 
+£l_út
+);
+
+4006 
+       `_gl_ui_upd©e_Çvi_t\99Ë_\8bxt
+(
+ad
+->
+\8e\9afo
+->
+nf_\99
+, 
+£l_út
+, 
+çl£
+);
+
+4008 
+       }
+}
+
+4010 \18\12
+       $__gl_tim\96\9ae_»£t_b\8as
+(\1e*
+d©a
+)
+
+4012 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+4013 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+4015 ià(
+ad
+->
+\8e\9afo
+ =ð
+NULL
+)
+
+4018 
+       `_gl_ui_di§bË_m\92u
+(
+ad
+->
+\8e\9afo
+->
+nf_\99
+, 
+çl£
+);
+
+4020 
+       }
+}
+
+4022 \12
+       $_gl_time_d©a_£Ëùed_li¡_f\9a®ize
+(\1e*
+d©a
+)
+
+4024 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+4025 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+4026 
+       `gl_dbg
+("");
+
+4027 
+gl_med\9f_s
+ *
+g\99em
+ = 
+NULL
+;
+
+4028 
+       `GL_CHECK_VAL
+(
+ad
+->
+\8e\9afo
+, -1);
+
+4029 \12
+i
+;
+
+4030 \12
+couÁ
+;
+
+4031 ià(
+ad
+->
+\8e\9afo
+->
+d©a_li¡
+) {
+
+4032 
+couÁ
+ = 
+       `e\9aa_li¡_couÁ
+(
+ad
+->
+\8e\9afo
+->
+d©a_li¡
+);
+
+4033 \ f
+i
+ = 0; i < 
+couÁ
+ ; i++) {
+
+4034 
+g\99em
+ = 
+       `e\9aa_li¡_Áh
+(
+ad
+->
+\8e\9afo
+->
+d©a_li¡
+, 
+i
+);
+
+4035 ià(
+g\99em
+) {
+
+4036 
+g\99em
+->
+check_¡©e
+ = 
+çl£
+;
+
+4042 
+       }
+}
+
+4044 \18\1e
+       $__gl_tim\96\9ae_ed\99_ÿnûl_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+4046 
+       `\96m_toÞb¬_\99em_£Ëùed_£t
+((
+Elm_Objeù_I\8bm
+ *)
+ei
+, 
+EINA_FALSE
+);
+
+4047 
+       `GL_CHECK
+(
+d©a
+);
+
+4048 
+       `gl_dbg
+("");
+
+4049 
+       `__gl_tim\96\9ae_chªge_mode
+(
+d©a
+, 
+GL_TL_VIEW_NORMAL
+);
+
+4050 
+       }
+}
+
+4052 \18\12
+       $__gl_tim\96\9ae_add_b\8as
+(\1e*
+d©a
+)
+
+4054 
+       `gl_dbg
+("");
+
+4055 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+4056 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+4057 
+       `GL_CHECK_VAL
+(
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+, -1);
+
+4058 
+       `GL_CHECK_VAL
+(
+ad
+->
+\8e\9afo
+->
+nf_\99
+, -1);
+
+4059 
+Evas_Objeù
+ *
+·»Á
+ = 
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+;
+
+4060 
+Elm_Objeù_I\8bm
+ *
+nf_\99
+ = 
+ad
+->
+\8e\9afo
+->nf_it;
+
+4062 
+       `_gl_ui_þ\97r_b\8as
+(
+d©a
+);
+
+4063 
+Evas_Objeù
+ *
+b\8a
+ = 
+NULL
+;
+
+4066 
+b\8a
+ = 
+       `_gl_but_ü\97\8b_but
+(
+·»Á
+, 
+NULL
+, NULL,
+
+4067 
+GL_BUTTON_STYLE_NAVI_MORE
+,
+
+4068 
+__gl_tim\96\9ae_mÜe_cb
+, 
+d©a
+);
+
+4069 
+       `GL_CHECK_VAL
+(
+b\8a
+, -1);
+
+4070 
+       `\96m_objeù_\99em_·¹_cÚ\8bÁ_£t
+(
+nf_\99
+, 
+GL_NAVIFRAME_MORE
+, 
+b\8a
+);
+
+4071 
+       `\96m_objeù_sigÇl_em\99
+(
+ad
+->
+ù¾\9afo
+.
+ù¾b¬_v\9bw_ly
+, "elm,selectall,state,default", "elm");
+
+4073 
+       }
+}
+
+4075 \18\1e
+       $__gl_tim\96\9ae_d\96_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+4077 
+       `\96m_toÞb¬_\99em_£Ëùed_£t
+((
+Elm_Objeù_I\8bm
+ *)
+ei
+, 
+EINA_FALSE
+);
+
+4078 
+       `GL_CHECK
+(
+d©a
+);
+
+4079 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+4080 
+       `GL_CHECK
+(
+ad
+->
+\8e\9afo
+);
+
+4081 
+gl_tim\96\9ae_s
+ *
+tim\96\9ae_d
+ = 
+ad
+->
+\8e\9afo
+;
+
+4083 \12
+út
+ = 
+       `__gl_tim\96\9ae_g\91_£l_út
+(
+tim\96\9ae_d
+);
+
+4084 ià(
+út
+ == 0) {
+
+4085 
+       `gl_dbgW
+("No\81humbs selected!");
+
+4086 
+       `gl_pÝup_ü\97\8b_pÝup
+(
+ad
+, 
+GL_POPUP_NOBUT
+, 
+GL_STR_NO_FILES_SELECTED
+);
+
+4091 
+       `gl_check_mmc_¡©e
+(
+ad
+, 
+NULL
+);
+
+4092 
+       `gl_dbg
+("MMC s\8f\8b: %d.", 
+ad
+->
+ma\9a\9afo
+.
+mmc_¡©e
+);
+
+4093 
+       `_gl_db_upd©e_lock_®ways
+(
+d©a
+, 
+\8cue
+);
+
+4094 
+       `_gl_£t_f\9ee_Ý_cbs
+(
+d©a
+, 
+__gl_tim\96\9ae_d\96
+, 
+NULL
+,
+
+4095 
+__gl_tim\96\9ae_upd©e_d\96_v\9bw
+, 
+út
+);
+
+4096 
+       `_gl_u£_th»ad_Ý\94©e_med\9fs
+(
+ad
+, 
+GL_STR_ID_DELETING
+, 
+út
+,
+
+4097 
+GL_MEDIA_OP_DELETE_TIMELINE
+);
+
+4098 
+       }
+}
+
+4102 \18\1e
+       $__gl_tim\96\9ae_ed\99_£ÏÎ_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+4104 
+       `GL_CHECK
+(
+d©a
+);
+
+4105 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+4106 \12
+\99em_út
+ = 0;
+
+4107 \12
+£l_®l_út
+ = 0;
+
+4108 \12
+»t
+ = -1;
+
+4110 
+ad
+->
+£l\9afo
+.
+ck_¡©e
+ = !ad->selinfo.ck_state;
+
+4111 ià(
+ad
+->
+£l\9afo
+.
+£Ëù®l_ck
+) {
+
+4112 
+       `\96m_check_¡©e_£t
+(
+ad
+->
+£l\9afo
+.
+£Ëù®l_ck
+,\87d->£l\9afo.
+ck_¡©e
+);
+
+4114 \12
+¡©e
+ = 
+ad
+->
+£l\9afo
+.
+ck_¡©e
+;
+
+4115 
+       `gl_dbg
+("Checkbox s\8f\8b: %d", 
+¡©e
+);
+
+4116 
+       `_gl_¦id\94_£t_cks_¡©e
+(
+ad
+->
+\8e\9afo
+->
+v\9bw
+, 
+¡©e
+);
+
+4118 
+       `__gl_tim\96\9ae_þ\97r_£l_li¡
+(
+ad
+->
+\8e\9afo
+);
+
+4119 
+       `__gl_tim\96\9ae_þ\97r_£l_út
+(
+ad
+->
+\8e\9afo
+);
+
+4121 ià(
+¡©e
+ =ð
+EINA_FALSE
+) {
+
+4122 
+£l_®l_út
+ = 0;
+
+4123 
+\99em_út
+ = 
+ad
+->
+\8e\9afo
+->
+couÁ
+;
+
+4125 
+E\9aa_Li¡
+ *
+li¡
+ = 
+NULL
+;
+
+4126 
+»t
+ = 
+       `_gl_d©a_g\91_\99ems
+(
+GL_GET_ALL_RECORDS
+, GL_GET_ALL_RECORDS,
+
+4127 &
+li¡
+);
+
+4128 ià(
+»t
+ !ð0 || !
+li¡
+)
+
+4129 
+       `gl_dbgW
+("Empty!");
+
+4131 
+gl_med\9f_s
+ *
+\99em
+ = 
+NULL
+;
+
+4132 
+       `EINA_LIST_FREE
+(
+li¡
+, 
+\99em
+) {
+
+4133 ià(!
+\99em
+ || !\99em->
+uuid
+)
+
+4135 
+       `__gl_tim\96\9ae_check_¥ec\9fl_f\9ee
+(
+ad
+->
+\8e\9afo
+, 
+\99em
+, 
+\8cue
+);
+
+4136 
+       `__gl_tim\96\9ae_£l_­³nd_\99em
+(
+ad
+->
+\8e\9afo
+, 
+\99em
+->
+uuid
+);
+
+4137 
+       `_gl_d©a_ty³_ä\93_gl\99em
+((\1e**)(&
+\99em
+));
+
+4138 
+\99em_út
+++;
+
+4139 
+\99em
+ = 
+NULL
+;
+
+4141 
+£l_®l_út
+ = 
+\99em_út
+;
+
+4144 
+       `__gl_tim\96\9ae_check_b\8as_¡©e
+(
+ad
+->
+\8e\9afo
+, 
+\99em_út
+, 
+£l_®l_út
+);
+
+4146 
+       `_gl_ui_upd©e_Çvi_t\99Ë_\8bxt
+(
+ad
+->
+\8e\9afo
+->
+nf_\99
+, 
+£l_®l_út
+, 
+çl£
+);
+
+4147 
+       }
+}
+
+4150 \12
+       $_gl_tim\96\9ae_upd©e_»®ized_grid_ck
+(
+Evas_Objeù
+ *
+v\9bw
+, 
+E\9aa_BoÞ
+¡©e
+)
+
+4152 
+       `GL_CHECK_VAL
+(
+v\9bw
+, -1);
+
+4153 
+E\9aa_Li¡
+ *
+grid
+ = 
+NULL
+;
+
+4154 
+E\9aa_Li¡
+ *
+l
+ = 
+NULL
+;
+
+4155 
+Elm_Objeù_I\8bm
+ *
+\99
+ = 
+NULL
+;
+
+4157 
+grid
+ = 
+       `\96m_g\92grid_»®ized_\99ems_g\91
+(
+v\9bw
+);
+
+4158 
+       `GL_CHECK_VAL
+(
+grid
+, -1);
+
+4160 
+       `EINA_LIST_FOREACH
+(
+grid
+, 
+l
+, 
+\99
+) {
+
+4161 ià(
+\99
+ =ð
+NULL
+) {
+
+4162 
+       `gl_dbgE
+("Invalid item!");
+
+4165 
+Evas_Objeù
+ *
+ck
+ = 
+NULL
+;
+
+4167 
+ck
+ = 
+       `\96m_objeù_\99em_·¹_cÚ\8bÁ_g\91
+(
+\99
+, 
+GL_THUMB_CHECKBOX
+);
+
+4168 
+gl_med\9f_s
+ *
+d©a
+ = (gl_med\9f_ *)
+       `\96m_objeù_\99em_d©a_g\91
+(
+\99
+);
+
+4169 ià(!
+ck
+) {
+
+4170 
+       `gl_dbgE
+("Invalid checkbox!");
+
+4174 ià(
+       `\96m_check_¡©e_g\91
+(
+ck
+è!ð
+¡©e
+) {
+
+4175 
+       `\96m_check_¡©e_£t
+(
+ck
+, 
+¡©e
+);
+
+4176 
+gl_tim\96\9ae_s
+ *
+td
+ = 
+       `evas_objeù_d©a_g\91
+(
+ck
+, "data");
+
+4177 
+       `GL_CHECK_VAL
+(
+td
+, -1);
+
+4178 
+       `__gl_tim\96\9ae_thumb_check_Ý
+(
+td
+, 
+ck
+, 
+d©a
+);
+
+4183 
+       }
+}
+
+4186 \18\1e
+       $__gl_tim\96\9ae_thumb_ed\99_£ÏÎ_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+4188 
+       `GL_CHECK
+(
+d©a
+);
+
+4189 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+4190 
+       `GL_CHECK
+(
+ad
+->
+\8e\9afo
+);
+
+4192 
+ad
+->
+£l\9afo
+.
+ck_¡©e
+ = !ad->selinfo.ck_state;
+
+4193 ià(
+ad
+->
+£l\9afo
+.
+£Ëù®l_ck
+) {
+
+4194 
+       `\96m_check_¡©e_£t
+(
+ad
+->
+£l\9afo
+.
+£Ëù®l_ck
+,\87d->£l\9afo.
+ck_¡©e
+);
+
+4196 \12
+¡©e
+ = 
+ad
+->
+£l\9afo
+.
+ck_¡©e
+;
+
+4198 
+       `GL_CHECK
+(
+ad
+->
+\8e\9afo
+);
+
+4199 
+Evas_Objeù
+ *
+g\92li¡
+ = 
+ad
+->
+\8e\9afo
+->
+v\9bw
+;
+
+4200 
+       `GL_CHECK
+(
+g\92li¡
+);
+
+4202 
+gl_med\9f_s
+ *
+g\99em
+ = 
+NULL
+;
+
+4203 \12
+i
+;
+
+4204 ià(
+ad
+->
+\8e\9afo
+->
+d©a_li¡
+) {
+
+4205 \12
+couÁ
+ = 
+       `e\9aa_li¡_couÁ
+(
+ad
+->
+\8e\9afo
+->
+d©a_li¡
+);
+
+4206 \ f
+i
+ = 0; i < 
+couÁ
+ ; i++) {
+
+4207 
+g\99em
+ = 
+       `e\9aa_li¡_Áh
+(
+ad
+->
+\8e\9afo
+->
+d©a_li¡
+, 
+i
+);
+
+4208 ià(
+g\99em
+) {
+
+4209 
+g\99em
+->
+check_¡©e
+ = 
+¡©e
+;
+
+4210 ià(
+¡©e
+) {
+
+4211 
+       `__gl_tim\96\9ae_check_¥ec\9fl_f\9ee
+(
+ad
+->
+\8e\9afo
+, 
+g\99em
+, 
+\8cue
+);
+
+4212 
+       `__gl_tim\96\9ae_£l_­³nd_\99em
+(
+ad
+->
+\8e\9afo
+, 
+g\99em
+->
+uuid
+);
+
+4214 
+       `__gl_tim\96\9ae_check_¥ec\9fl_f\9ee
+(
+ad
+->
+\8e\9afo
+, 
+g\99em
+, 
+çl£
+);
+
+4215 
+       `__gl_tim\96\9ae_£l_»move_\99em
+(
+ad
+->
+\8e\9afo
+, 
+g\99em
+->
+uuid
+);
+
+4219 \12
+£l_út
+ = 
+       `__gl_tim\96\9ae_g\91_£l_út
+(
+ad
+->
+\8e\9afo
+);
+
+4220 
+       `_gl_ui_upd©e_Çvi_t\99Ë_\8bxt
+(
+ad
+->
+\8e\9afo
+->
+nf_\99
+, 
+£l_út
+, 
+çl£
+);
+
+4222 
+       `__gl_tim\96\9ae_check_b\8as_¡©e
+(
+ad
+->
+\8e\9afo
+,\87d->\8e\9afo->
+couÁ
+,
+
+4223 
+£l_út
+);
+
+4225 
+       `\96m_g\92li¡_»®ized_\99ems_upd©e
+(
+g\92li¡
+);
+
+4226 
+       }
+}
+
+4232 \18\12
+       $__gl_tim\96\9ae_ed\99_add_b\8as
+(\1e*
+d©a
+)
+
+4234 
+       `gl_dbg
+("EDIT");
+
+4235 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+4236 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+4237 
+Evas_Objeù
+ *
+·»Á
+ = 
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+;
+
+4238 
+Elm_Objeù_I\8bm
+ *
+nf_\99
+ = 
+       `\96m_Çviäame_tÝ_\99em_g\91
+(
+·»Á
+);
+
+4239 
+       `GL_CHECK_VAL
+(
+nf_\99
+, -1);
+
+4242 
+Evas_Objeù
+ *
+b\8a
+ = 
+       `_gl_but_ü\97\8b_but
+(
+·»Á
+, 
+NULL
+, NULL,
+
+4243 
+GL_BUTTON_STYLE_NAVI_MORE
+,
+
+4244 
+__gl_tim\96\9ae_mÜe_cb
+, 
+d©a
+);
+
+4245 
+       `GL_CHECK_VAL
+(
+b\8a
+, -1);
+
+4246 
+       `_gl_ui_di§bË_b\8a
+(
+b\8a
+);
+
+4247 
+       `\96m_objeù_\99em_·¹_cÚ\8bÁ_£t
+(
+nf_\99
+, 
+GL_NAVIFRAME_MORE
+, 
+b\8a
+);
+
+4249 
+Evas_Objeù
+ *
+b\8a1
+ = 
+       `\96m_bu\89Ú_add
+(
+·»Á
+);
+
+4250 
+Evas_Objeù
+ *
+b\8a2
+ = 
+       `\96m_bu\89Ú_add
+(
+·»Á
+);
+
+4251 
+       `GL_CHECK_VAL
+(
+b\8a1
+, -1);
+
+4252 
+       `GL_CHECK_VAL
+(
+b\8a2
+, -1);
+
+4254 
+       `\96m_objeù_¡yË_£t
+(
+b\8a1
+, "naviframe/title_left");
+
+4255 
+       `\96m_objeù_\99em_·¹_cÚ\8bÁ_£t
+(
+ad
+->
+ù¾\9afo
+.
+nf_\99
+, 
+GL_NAVIFRAME_TITLE_LEFT_BTN
+, 
+b\8a1
+);
+
+4256 
+       `_gl_ui_£t_\8cª¦©e_¡r
+(
+b\8a1
+,
+GL_STR_ID_CANCEL_CAP
+);
+
+4257 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+b\8a1
+, "þicked", 
+__gl_tim\96\9ae_ed\99_ÿnûl_cb
+, 
+ad
+);
+
+4259 
+       `\96m_objeù_¡yË_£t
+(
+b\8a2
+, "naviframe/title_right");
+
+4260 
+       `\96m_objeù_\99em_·¹_cÚ\8bÁ_£t
+(
+ad
+->
+ù¾\9afo
+.
+nf_\99
+, 
+GL_NAVIFRAME_TITLE_RIGHT_BTN
+, 
+b\8a2
+);
+
+4261 
+       `_gl_ui_£t_\8cª¦©e_¡r
+(
+b\8a2
+,
+GL_STR_ID_DONE_CAP
+);
+
+4262 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+b\8a2
+, "þicked", 
+__gl_tim\96\9ae_d\96_cb
+, 
+ad
+);
+
+4263 
+       `\96m_objeù_di§bËd_£t
+(
+b\8a2
+, 
+EINA_TRUE
+);
+
+4265 
+       `gl_dbg
+("Sending signal\81o EDC");
+
+4266 
+       `\96m_objeù_sigÇl_em\99
+(
+ad
+->
+ù¾\9afo
+.
+ù¾b¬_v\9bw_ly
+, "elm,selectall,state,visible,bg", "elm");
+
+4267 
+       `\96m_objeù_sigÇl_em\99
+(
+ad
+->
+ù¾\9afo
+.
+ù¾b¬_v\9bw_ly
+, "elm,selectall,state,visible", "elm");
+
+4268 
+       `_gl_ui_add_£ÏÎ_ck
+(
+ad
+->
+ù¾\9afo
+.
+ù¾b¬_v\9bw_ly
+, "select.all.area.check", "select.all.area.check",
+
+4269 
+__gl_tim\96\9ae_thumb_ed\99_£ÏÎ_cb
+, 
+d©a
+);
+
+4271 
+       }
+}
+
+4273 #ifdeà
+GL_EXTENDED_FEATURES
+
+
+4274 \18\12
+       $__gl_tim\96\9ae_sh¬e_g\91_·th
+(\1e*
+d©a
+, \ 5**
+f\9ees
+)
+
+4276 
+       `GL_CHECK_VAL
+(
+f\9ees
+, 0);
+
+4277 
+       `GL_CHECK_VAL
+(
+d©a
+, 0);
+
+4278 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+4279 
+       `GL_CHECK_VAL
+(
+ad
+->
+\8e\9afo
+, 0);
+
+4280 
+gl_tim\96\9ae_s
+ *
+tim\96\9ae_d
+ = 
+ad
+->
+\8e\9afo
+;
+
+4281 
+       `GL_CHECK_VAL
+(
+tim\96\9ae_d
+->
+£l_d
+, 0);
+
+4282 \12
+i
+ = 0;
+
+4283 
+E\9aa_Li¡
+ *
+l
+ = 
+NULL
+;
+
+4284 \12
+»t
+ = -1;
+
+4285 \ 5*
+\99em
+ = 
+NULL
+;
+
+4286 \ 5*
+·th
+ = 
+NULL
+;
+
+4288 
+       `EINA_LIST_FOREACH
+(
+tim\96\9ae_d
+->
+£l_d
+->
+£l_li¡
+, 
+l
+, 
+\99em
+) {
+
+4289 ià(
+\99em
+ =ð
+NULL
+) {
+
+4290 
+       `gl_dbgE
+("Invalid item!");
+
+4291 \10
+GL_TL_FAILED
+;
+
+4294 
+»t
+ = 
+       `_gl_loÿl_d©a_g\91_·th_by_id
+((cڡ \ 5*)
+\99em
+, &
+·th
+);
+
+4295 ià(
+»t
+ !ð0 || !
+·th
+) {
+
+4296 
+       `gl_dbgE
+("G\91\85©h fa\9eed[%d]!", 
+»t
+);
+
+4297 \10
+GL_TL_FAILED
+;
+
+4300 
+f\9ees
+[
+i
+++] = 
+       `¡rdup
+(
+·th
+);
+
+4301 
+       `gl_sdbg
+("f\9ee_u¾: %s!", 
+f\9ees
+[
+i
+ - 1]);
+
+4303 
+       `GL_FREE
+(
+·th
+);
+
+4305 \15 
+i
+;
+
+4307 
+GL_TL_FAILED
+:
+
+4309 \ f
+i
+ > 0; --i)
+
+4310 
+       `GL_FREEIF
+(
+f\9ees
+[
+i
+ - 1]);
+
+4311 
+       `GL_FREEIF
+(
+·th
+);
+
+4313 
+       }
+}
+
+4315 \18\1e
+       $__gl_tim\96\9ae_sh¬e_Ý_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+4317 
+       `\96m_toÞb¬_\99em_£Ëùed_£t
+((
+Elm_Objeù_I\8bm
+ *)
+ei
+, 
+EINA_FALSE
+);
+
+4318 
+       `GL_CHECK
+(
+d©a
+);
+
+4319 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+4320 
+       `GL_CHECK
+(
+ad
+->
+\8e\9afo
+);
+
+4321 
+gl_tim\96\9ae_s
+ *
+tim\96\9ae_d
+ = 
+ad
+->
+\8e\9afo
+;
+
+4323 \12
+út
+ = 
+       `__gl_tim\96\9ae_g\91_£l_út
+(
+tim\96\9ae_d
+);
+
+4324 
+       `_gl_ext_Ïunch_sh¬e
+(
+d©a
+, 
+út
+, 
+__gl_tim\96\9ae_sh¬e_g\91_·th
+);
+
+4326 
+       `__gl_tim\96\9ae_chªge_mode
+(
+d©a
+, 
+GL_TL_VIEW_NORMAL
+);
+
+4327 
+       }
+}
+
+4333 \18\12
+       $__gl_tim\96\9ae_sh¬e_add_b\8as
+(\1e*
+d©a
+)
+
+4335 
+       `gl_dbg
+("Share");
+
+4336 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+4337 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+4338 
+Evas_Objeù
+ *
+·»Á
+ = 
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+;
+
+4339 
+Elm_Objeù_I\8bm
+ *
+nf_\99
+ = 
+       `\96m_Çviäame_tÝ_\99em_g\91
+(
+·»Á
+);
+
+4340 
+       `GL_CHECK_VAL
+(
+nf_\99
+, -1);
+
+4342 
+Elm_Objeù_I\8bm
+ *
+tb_\99
+ = 
+NULL
+;
+
+4343 
+Evas_Objeù
+ *
+toÞb¬
+ = 
+       `_gl_ù¾_add_toÞb¬
+(
+·»Á
+);
+
+4345 
+       `_gl_ù¾_­³nd_\99em
+(
+toÞb¬
+, 
+NULL
+, 
+GL_STR_ID_CANCEL
+,
+
+4346 
+__gl_tim\96\9ae_ed\99_ÿnûl_cb
+, 
+d©a
+);
+
+4348 
+tb_\99
+ = 
+       `_gl_ù¾_­³nd_\99em
+(
+toÞb¬
+, 
+NULL
+, 
+GL_STR_ID_SHARE
+,
+
+4349 
+__gl_tim\96\9ae_sh¬e_Ý_cb
+, 
+d©a
+);
+
+4350 
+       `_gl_ù¾_di§bË_\99em
+(
+tb_\99
+, 
+\8cue
+);
+
+4351 
+       `\96m_objeù_\99em_·¹_cÚ\8bÁ_£t
+(
+nf_\99
+, "toÞb¬", 
+toÞb¬
+);
+
+4353 
+ad
+->
+£l\9afo
+.
+ck_¡©e
+ = 
+çl£
+;
+
+4354 
+       `_gl_ui_add_x±_b\8as
+(
+nf_\99
+, 
+GL_UI_XPT_SEL_ALL
+,
+
+4355 
+__gl_tim\96\9ae_thumb_ed\99_£ÏÎ_cb
+, 
+NULL
+, 
+d©a
+);
+
+4357 
+       }
+}
+
+4360 
+boÞ
+       $__gl_upd©e_tim\96\9ae
+(\1e*
+d©a
+) {
+
+4361 
+       `GL_CHECK_FALSE
+(
+d©a
+);
+
+4362 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+4363 
+       `GL_CHECK_FALSE
+(
+ad
+->
+\8e\9afo
+);
+
+4365 ià(
+ad
+->
+\8e\9afo
+->
+nocÚ\8bÁs
+) {
+
+4366 \15 
+çl£
+;
+
+4368 
+Evas_Objeù
+ *
+v\9bw
+ = 
+       `__gl_tim\96\9ae_ü\97\8b_li¡_v\9bw
+(
+ad
+->
+\8e\9afo
+, 
+\8cue
+);
+
+4369 ià(!
+v\9bw
+) {
+
+4370 
+       `gl_dbgE
+("Failed\81o create view!");
+
+4371 \15 
+çl£
+;
+
+4373 
+ad
+->
+\8e\9afo
+->
+v\9bw
+ = view;
+
+4374 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+ad
+->
+\8e\9afo
+->
+Ïyout
+, "\96m.sw®low", 
+v\9bw
+);
+
+4375 \15 
+\8cue
+;
+
+4376 
+       }
+}
+
+4378 \18\12
+       $__gl_tim\96\9ae_chªge_mode
+(\1e*
+d©a
+, \12
+mode
+)
+
+4380 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+4381 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+4382 
+       `GL_CHECK_VAL
+(
+ad
+->
+\8e\9afo
+, -1);
+
+4384 
+ad
+->
+\8e\9afo
+->
+v\9bw_m
+ = 
+mode
+;
+
+4385 \1a
+mode
+) {
+
+4386 \ 4
+GL_TL_VIEW_NORMAL
+:
+
+4387 
+       `gl_dbg
+("GL_TL_VIEW_NORMAL");
+
+4388 
+       `_gl_time_d©a_£Ëùed_li¡_f\9a®ize
+(
+d©a
+);
+
+4389 
+       `_gl_ui_chªge_Çvi_t\99Ë
+(
+ad
+->
+\8e\9afo
+->
+nf_\99
+, 
+GL_STR_TIME_VIEW
+, 
+\8cue
+);
+
+4390 
+       `__gl_tim\96\9ae_add_b\8as
+(
+d©a
+);
+
+4392 
+       `__gl_tim\96\9ae_þ\97r_£l_li¡
+(
+ad
+->
+\8e\9afo
+);
+
+4393 
+       `GL_GFREEIF
+(
+ad
+->
+\8e\9afo
+->
+£l_d
+);
+
+4395 \ 4
+GL_TL_VIEW_EDIT
+:
+
+4396 \ 4
+GL_TL_VIEW_SHARE
+:
+
+4397 
+       `GL_GFREEIF
+(
+ad
+->
+\8e\9afo
+->
+£l_d
+);
+
+4398 
+ad
+->
+\8e\9afo
+->
+£l_d
+ = 
+       `g_Ãw0
+(
+gl_£l_s
+, 1);
+
+4399 
+       `GL_CHECK_VAL
+(
+ad
+->
+\8e\9afo
+->
+£l_d
+, -1);
+
+4400 
+       `_gl_ui_chªge_Çvi_t\99Ë
+(
+ad
+->
+\8e\9afo
+->
+nf_\99
+, 
+GL_STR_ID_SELECT_ITEM
+,
+
+4401 
+çl£
+);
+
+4402 ià(
+GL_TL_VIEW_EDIT
+ =ð
+mode
+) {
+
+4403 
+       `__gl_tim\96\9ae_ed\99_add_b\8as
+(
+d©a
+);
+
+4405 #ifdeà
+GL_EXTENDED_FEATURES
+
+
+4407 
+       `__gl_tim\96\9ae_sh¬e_add_b\8as
+(
+d©a
+);
+
+4412 
+       `gl_dbgE
+("Wrong mode!");
+
+4415 
+       `__gl_upd©e_tim\96\9ae
+(
+d©a
+);
+
+4417 
+       }
+}
+
+4419 \18
+E\9aa_BoÞ
+       $__gl_tim\96\9ae_pÝ_Ý
+(\1e*
+d©a
+)
+
+4421 
+       `GL_CHECK_FALSE
+(
+d©a
+);
+
+4422 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+4423 ià(
+ad
+->
+\8e\9afo
+ &&\87d->\8e\9afo->
+v\9bw_m
+ !ð
+GL_TL_VIEW_NORMAL
+) {
+
+4424 
+       `gl_dbg
+("EDIT");
+
+4425 
+       `__gl_tim\96\9ae_chªge_mode
+(
+d©a
+, 
+GL_TL_VIEW_NORMAL
+);
+
+4427 \15 
+EINA_TRUE
+;
+
+4429 \15 
+EINA_FALSE
+;
+
+4430 
+       }
+}
+
+4432 \12
+       $_gl_tim\96\9ae_ü\97\8b_v\9bw
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+·»Á
+)
+
+4434 
+       `GL_CHECK_VAL
+(
+·»Á
+, -1);
+
+4435 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+4436 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+4437 
+       `gl_dbg
+("");
+
+4438 \12
+w
+ = 0;
+
+4439 \12
+h
+ = 0;
+
+4442 
+       `evas_objeù_d©a_£t
+(
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+, 
+GL_NAVIFRAME_POP_CB_KEY
+,
+
+4443 (\1e*)
+__gl_tim\96\9ae_pÝ_Ý
+);
+
+4445 
+       `evas_objeù_geom\91ry_g\91
+(
+·»Á
+, 
+NULL
+, NULL, &
+w
+, &
+h
+);
+
+4446 
+       `gl_dbg
+("cÚ\8bÁ' size(%dx%d)", 
+w
+, 
+h
+);
+
+4448 
+       `gl_£t_v\9bw_mode
+(
+d©a
+, 
+GL_VIEW_TIMELINE
+);
+
+4449 
+       `_gl_ù¾_show_t\99Ë
+(
+d©a
+, 
+GL_CTRL_TAB_TIMELINE
+);
+
+4451 ià(
+ad
+->
+\8e\9afo
+) {
+
+4452 
+       `gl_dbgW
+("Update view");
+
+4454 
+ad
+->
+\8e\9afo
+->
+\8cª_Ý
+ = 
+GL_TRANS_OP_PREPARE
+;
+
+4456 
+ad
+->
+\8e\9afo
+->
+v\9bw
+ = 
+       `__gl_tim\96\9ae_ü\97\8b_li¡_v\9bw
+×d->\8e\9afo, 
+çl£
+);
+
+4457 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+·»Á
+, "\96m.sw®low.v\9bw", 
+ad
+->
+\8e\9afo
+->
+Ïyout
+);
+
+4459 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+ad
+->
+\8e\9afo
+->
+Ïyout
+, "\96m.sw®low",\87d->\8e\9afo->
+v\9bw
+);
+
+4460 ià(
+ad
+->
+\8e\9afo
+->
+v\9bw
+ =ð
+NULL
+) {
+
+4461 
+       `gl_dbgE
+("Failed\81o create view!");
+
+4464 
+       `evas_objeù_show
+(
+ad
+->
+\8e\9afo
+->
+v\9bw
+);
+
+4466 
+       `__gl_tim\96\9ae_add_b\8as
+(
+d©a
+);
+
+4468 
+       `__gl_tim\96\9ae_»£t_b\8as
+(
+d©a
+);
+
+4470 
+       `__gl_tim\96\9ae_»£t_Ïb\96
+(
+d©a
+);
+
+4474 
+Evas_Objeù
+ *
+Ïyout
+ = 
+NULL
+;
+
+4475 
+Evas_Objeù
+ *
+v\9bw
+ = 
+NULL
+;
+
+4476 
+gl_tim\96\9ae_s
+ *
+tim\96\9ae_d
+ = 
+NULL
+;
+
+4478 
+tim\96\9ae_d
+ = (
+gl_tim\96\9ae_s
+ *)
+       `ÿÎoc
+(1, \17(gl_timeline_s));
+
+4479 
+       `GL_CHECK_VAL
+(
+tim\96\9ae_d
+, -1);
+
+4481 
+tim\96\9ae_d
+->
+ad
+ =\87d;
+
+4482 
+tim\96\9ae_d
+->
+·»Á
+ =\85arent;
+
+4483 
+tim\96\9ae_d
+->
+nf_\99
+ = 
+ad
+->
+ù¾\9afo
+.nf_it;
+
+4484 
+ad
+->
+\8e\9afo
+ = 
+tim\96\9ae_d
+;
+
+4485 
+tim\96\9ae_d
+->
+\8cª_Ý
+ = 
+GL_TRANS_OP_PREPARE
+;
+
+4486 
+tim\96\9ae_d
+->
+time_med\9f_di¥Ïy_Üd\94
+ = 
+TIME_ORDER_DESC
+;
+
+4487 
+ad
+->
+p\9ach\9afo
+.
+zoom_Ëv\96
+ = 
+GL_ZOOM_IN_ONE
+;
+
+4489 
+Ïyout
+ = 
+       `gl_ui_lßd_edj
+(
+·»Á
+, 
+GL_EDJ_FILE
+, "timeline");
+
+4490 ià(
+Ïyout
+ =ð
+NULL
+) {
+
+4491 
+       `gl_dbgE
+("Failed\81o create\86ayout!");
+
+4492 \10
+GL_TIMELINE_FAILED
+;
+
+4494 
+       `evas_objeù_show
+(
+Ïyout
+);
+
+4495 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+·»Á
+, "\96m.sw®low.v\9bw", 
+Ïyout
+);
+
+4496 
+tim\96\9ae_d
+->
+Ïyout
+ =\86ayout;
+
+4499 
+h
+ -ð(
+GL_TIMELINE_TITLE_H
+ + 
+GL_TIMELINE_PAD_H
+è* 
+       `\96m_cÚfig_sÿË_g\91
+();
+
+4500 
+       `evas_objeù_d©a_£t
+(
+Ïyout
+, "·ge_w", (\1e*)
+w
+);
+
+4501 
+       `evas_objeù_d©a_£t
+(
+Ïyout
+, "·ge_h", (\1e*)
+h
+);
+
+4502 
+tim\96\9ae_d
+->
+w
+ = w;
+
+4503 
+tim\96\9ae_d
+->
+h
+ = h;
+
+4504 
+tim\96\9ae_d
+->
+is_li¡_»v\94£
+ = 
+çl£
+;
+
+4505 
+       `gl_dbg
+("cÚ\8bÁ' size(%dx%d)", 
+w
+, 
+h
+);
+
+4507 
+v\9bw
+ = 
+       `__gl_tim\96\9ae_ü\97\8b_li¡_v\9bw
+(
+tim\96\9ae_d
+, 
+çl£
+);
+
+4508 ià(
+v\9bw
+ =ð
+NULL
+) {
+
+4509 
+       `gl_dbgE
+("Failed\81o create view!");
+
+4510 
+       `GL_IF_DEL_OBJ
+(
+Ïyout
+);
+
+4513 
+tim\96\9ae_d
+->
+v\9bw
+ = view;
+
+4514 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+tim\96\9ae_d
+->
+Ïyout
+, "\96m.sw®low", 
+v\9bw
+);
+
+4517 
+       `__gl_tim\96\9ae_add_b\8as
+(
+d©a
+);
+
+4519 
+       `__gl_tim\96\9ae_»£t_b\8as
+(
+d©a
+);
+
+4521 
+       `__gl_tim\96\9ae_add_cbs
+(
+tim\96\9ae_d
+);
+
+4524 
+GL_TIMELINE_FAILED
+:
+
+4526 
+       `GL_IF_DEL_OBJ
+(
+Ïyout
+);
+
+4528 
+       }
+}
+
+4530 \12
+       $_gl_tim\96\9ae_upd©e_v\9bw
+(\1e*
+d©a
+)
+
+4532 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+4533 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+4534 
+       `GL_CHECK_VAL
+(
+ad
+->
+\8e\9afo
+, -1);
+
+4537 
+       `gl_dbgW
+("Update view");
+
+4538 
+Evas_Objeù
+ *
+v\9bw
+ = 
+       `__gl_tim\96\9ae_ü\97\8b_li¡_v\9bw
+(
+ad
+->
+\8e\9afo
+, 
+çl£
+);
+
+4539 ià(
+v\9bw
+ =ð
+NULL
+) {
+
+4540 
+       `gl_dbgE
+("Failed\81o create view!");
+
+4543 
+ad
+->
+\8e\9afo
+->
+v\9bw
+ = view;
+
+4544 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+ad
+->
+\8e\9afo
+->
+Ïyout
+, "\96m.sw®low", 
+v\9bw
+);
+
+4546 
+       `__gl_tim\96\9ae_»£t_b\8as
+(
+d©a
+);
+
+4548 
+       `__gl_tim\96\9ae_»£t_Ïb\96
+(
+d©a
+);
+
+4550 
+       }
+}
+
+4552 \12
+       $_gl_tim\96\9ae_upd©e_Ïng
+(\1e*
+d©a
+)
+
+4554 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+4555 
+       `gl_dbg
+("");
+
+4556 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+4557 
+       `GL_CHECK_VAL
+(
+ad
+->
+\8e\9afo
+, -1);
+
+4558 
+       `GL_CHECK_VAL
+(
+ad
+->
+\8e\9afo
+->
+nf_\99
+, -1);
+
+4559 
+       `_gl_ui_chªge_Çvi_t\99Ë
+(
+ad
+->
+\8e\9afo
+->
+nf_\99
+, 
+GL_STR_TIME_VIEW
+, 
+\8cue
+);
+
+4560 
+       `_gl_tim\96\9ae_upd©e_v\9bw
+(
+ad
+);
+
+4563 
+       }
+}
+
+4565 \12
+       $_gl_tim\96\9ae_hide_v\9bw
+(\1e*
+d©a
+)
+
+4567 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+4568 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+4569 
+       `gl_dbg
+("");
+
+4571 ià(
+ad
+->
+\8e\9afo
+ =ð
+NULL
+)
+
+4574 
+       `GL_TL_DEL_TRANSITS
+(
+ad
+->
+\8e\9afo
+->
+t\9ees
+);
+
+4576 
+       `evas_objeù_hide
+(
+ad
+->
+\8e\9afo
+->
+v\9bw
+);
+
+4578 
+       `__gl_tim\96\9ae_ÿnûl_thumbs
+(
+ad
+->
+\8e\9afo
+);
+
+4580 
+Evas_Objeù
+ *
+´e_v\9bw
+ = 
+NULL
+;
+
+4581 
+´e_v\9bw
+ = 
+       `\96m_objeù_·¹_cÚ\8bÁ_un£t
+(
+ad
+->
+\8e\9afo
+->
+·»Á
+,
+
+4583 
+       `evas_objeù_hide
+(
+´e_v\9bw
+);
+
+4585 
+       }
+}
+
+4587 \12
+       $_gl_tim\96\9ae_rÙ©e_v\9bw
+(\1e*
+d©a
+)
+
+4590 
+       }
+}
+
+4592 \12
+       $_gl_tim\96\9ae_v\9bw_rÙ©e
+(\1e*
+d©a
+)
+
+4594 
+       `gl_dbgE
+("ENTRY");
+
+4595 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+4596 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+4597 
+       `GL_CHECK_VAL
+(
+ad
+->
+\8e\9afo
+, -1);
+
+4599 ià(
+ad
+->
+\8e\9afo
+->
+nocÚ\8bÁs
+) {
+
+4603 
+ad
+->
+\8e\9afo
+->
+d\96\91e_d©a
+ = 
+çl£
+;
+
+4604 
+Evas_Objeù
+ *
+v\9bw
+ = 
+       `__gl_tim\96\9ae_ü\97\8b_li¡_v\9bw
+(
+ad
+->
+\8e\9afo
+, 
+\8cue
+);
+
+4605 ià(
+v\9bw
+ =ð
+NULL
+) {
+
+4606 
+       `gl_dbgE
+("Failed\81o create view!");
+
+4609 
+ad
+->
+\8e\9afo
+->
+v\9bw
+ = view;
+
+4610 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+ad
+->
+\8e\9afo
+->
+Ïyout
+, "\96m.sw®low", 
+v\9bw
+);
+
+4611 ià((
+ad
+->
+ma\9a\9afo
+.
+r٩e_mode
+ =ð
+APP_DEVICE_ORIENTATION_270
+) ||
+
+4612 (
+ad
+->
+ma\9a\9afo
+.
+r٩e_mode
+ =ð
+APP_DEVICE_ORIENTATION_90
+)) {
+
+4613 
+       `\96m_objeù_sigÇl_em\99
+(
+ad
+->
+\8e\9afo
+->
+·»Á
+, "timelineview,landscape", "");
+
+4615 
+       `\96m_objeù_sigÇl_em\99
+(
+ad
+->
+\8e\9afo
+->
+·»Á
+, "timelineview,portrait", "");
+
+4617 ià(
+ad
+->
+\8e\9afo
+->
+v\9bw_m
+ =ð
+GL_TL_VIEW_EDIT
+) {
+
+4618 
+       `\96m_objeù_sigÇl_em\99
+(
+ad
+->
+ù¾\9afo
+.
+ù¾b¬_v\9bw_ly
+, "elm,selectall,state,visible,bg", "elm");
+
+4619 
+       `\96m_objeù_sigÇl_em\99
+(
+ad
+->
+ù¾\9afo
+.
+ù¾b¬_v\9bw_ly
+, "elm,selectall,state,visible", "elm");
+
+4622 
+       `gl_dbgE
+("EXIT");
+
+4624 
+       }
+}
+
+4626 \12
+       $_gl_tim\96\9ae_upd©e_grid_size
+(\1e*
+d©a
+)
+
+4628 
+       `gl_dbgE
+("ENTRY");
+
+4629 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+4630 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+4631 
+       `GL_CHECK_VAL
+(
+ad
+->
+\8e\9afo
+, -1);
+
+4633 ià(
+ad
+->
+\8e\9afo
+->
+nocÚ\8bÁs
+) {
+
+4636 
+Evas_Objeù
+ *
+v\9bw
+ = 
+       `__gl_tim\96\9ae_ü\97\8b_li¡_v\9bw
+(
+ad
+->
+\8e\9afo
+, 
+\8cue
+);
+
+4637 ià(
+v\9bw
+ =ð
+NULL
+) {
+
+4638 
+       `gl_dbgE
+("Failed\81o create view!");
+
+4641 
+ad
+->
+\8e\9afo
+->
+v\9bw
+ = view;
+
+4642 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+ad
+->
+\8e\9afo
+->
+Ïyout
+, "\96m.sw®low", 
+v\9bw
+);
+
+4645 
+       }
+}
+
+4647 \1e
+       $_gl_upd©e_timev\9bw_iv_£Ëù_mode_»¶y
+(\1e*
+d©a
+, \ 5**
+£Ëù_»suÉ
+, \12
+couÁ
+)
+
+4649 
+       `gl_dbgE
+("ENTRY");
+
+4650 
+       `GL_CHECK
+(
+d©a
+);
+
+4651 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+4652 
+       `GL_CHECK
+(
+ad
+->
+\8e\9afo
+);
+
+4653 
+gl_med\9f_s
+ *
+\99em
+ = 
+NULL
+;
+
+4654 
+E\9aa_Li¡
+ *
+l
+ = 
+NULL
+;
+
+4655 \12
+i
+;
+
+4656 \12
+£l_couÁ
+ = 0;
+
+4657 
+boÞ
+\9a_li¡
+ = 
+çl£
+;
+
+4659 ià(
+£Ëù_»suÉ
+) {
+
+4660 
+       `EINA_LIST_FOREACH
+(
+ad
+->
+\8e\9afo
+->
+d©a_li¡
+, 
+l
+, 
+\99em
+) {
+
+4661 ià(!
+\99em
+) {
+
+4664 
+\9a_li¡
+ = 
+çl£
+;
+
+4665 \ f
+i
+ = 0; i < 
+couÁ
+; i++) {
+
+4666 ià(!
+       `¡rcmp
+(
+£Ëù_»suÉ
+[
+i
+], 
+\99em
+->
+f\9ee_u¾
+)) {
+
+4667 ià(!
+\99em
+->
+check_¡©e
+) {
+
+4668 
+       `__gl_tim\96\9ae_£l_­³nd_\99em
+(
+ad
+->
+\8e\9afo
+, 
+\99em
+->
+uuid
+);
+
+4669 
+\99em
+->
+check_¡©e
+ = 
+\8cue
+;
+
+4671 
+\9a_li¡
+ = 
+\8cue
+;
+
+4672 
+£l_couÁ
+++;
+
+4676 ià(!
+\9a_li¡
+) {
+
+4677 ià(
+\99em
+->
+check_¡©e
+) {
+
+4678 
+       `__gl_tim\96\9ae_£l_»move_\99em
+(
+ad
+->
+\8e\9afo
+, 
+\99em
+->
+uuid
+);
+
+4679 
+\99em
+->
+check_¡©e
+ = 
+çl£
+;
+
+4684 
+       `EINA_LIST_FOREACH
+(
+ad
+->
+\8e\9afo
+->
+d©a_li¡
+, 
+l
+, 
+\99em
+) {
+
+4685 ià(!
+\99em
+) {
+
+4688 ià(
+\99em
+->
+check_¡©e
+) {
+
+4689 
+       `__gl_tim\96\9ae_£l_»move_\99em
+(
+ad
+->
+\8e\9afo
+, 
+\99em
+->
+uuid
+);
+
+4690 
+\99em
+->
+check_¡©e
+ = 
+çl£
+;
+
+4695 
+       `_gl_ui_upd©e_Çvi_t\99Ë_\8bxt
+(
+ad
+->
+\8e\9afo
+->
+nf_\99
+, 
+£l_couÁ
+, 
+çl£
+);
+
+4697 ià(
+£l_couÁ
+ =ð
+ad
+->
+\8e\9afo
+->
+couÁ
+) {
+
+4698 
+ad
+->
+£l\9afo
+.
+ck_¡©e
+ = 
+EINA_TRUE
+;
+
+4700 
+ad
+->
+£l\9afo
+.
+ck_¡©e
+ = 
+EINA_FALSE
+;
+
+4703 ià(
+ad
+->
+£l\9afo
+.
+£Ëù®l_ck
+) {
+
+4704 
+       `\96m_check_¡©e_£t
+(
+ad
+->
+£l\9afo
+.
+£Ëù®l_ck
+,\87d->£l\9afo.
+ck_¡©e
+);
+
+4707 
+       `GL_CHECK
+(
+ad
+->
+\8e\9afo
+->
+v\9bw
+);
+
+4708 
+       `\96m_g\92li¡_»®ized_\99ems_upd©e
+(
+ad
+->
+\8e\9afo
+->
+v\9bw
+);
+
+4710 ià(
+£Ëù_»suÉ
+) {
+
+4711 \ f
+i
+ = 0; i < 
+couÁ
+; i++) {
+
+4712 ià(
+£Ëù_»suÉ
+[
+i
+]) {
+
+4713 
+       `ä\93
+(
+£Ëù_»suÉ
+[
+i
+]);
+
+4716 
+       `ä\93
+(
+£Ëù_»suÉ
+);
+
+4718 
+       }
+}
+
+4720 \12
+       $_gl_ext_lßd_time_iv_£Ëùed_li¡
+(
+­p_cÚ\8cÞ_h
+£rviû
+, \1e*
+d©a
+)
+
+4722 
+       `gl_dbgE
+("ENTRY");
+
+4723 
+       `GL_CHECK_VAL
+(
+d©a
+, 
+GL_UG_FAIL
+);
+
+4724 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+4725 
+       `GL_CHECK_VAL
+(
+£rviû
+, 
+GL_UG_FAIL
+);
+
+4726 
+       `GL_CHECK_VAL
+(
+ad
+->
+\8e\9afo
+, 
+GL_UG_FAIL
+);
+
+4727 
+       `GL_CHECK_VAL
+(
+ad
+->
+\8e\9afo
+->
+£l_d
+, 
+GL_UG_FAIL
+);
+
+4728 \12
+i
+;
+
+4729 \ 5*
+g\99em
+ = 
+NULL
+;
+
+4730 
+gl_med\9f_s
+ *
+\99em
+ = 
+NULL
+;
+
+4731 
+E\9aa_Li¡
+ *
+l
+ = 
+NULL
+;
+
+4732 \ 5**
+v®ue
+ = 
+NULL
+;
+
+4734 \12
+couÁ
+ = 
+       `e\9aa_li¡_couÁ
+(
+ad
+->
+\8e\9afo
+->
+£l_d
+->
+£l_li¡
+);
+
+4736 ià(
+couÁ
+ > 0) {
+
+4737 (
+v®ue
+èð(\ 5**)
+       `m®loc
+(
+couÁ
+ * \17(\ 5*));
+
+4738 ià(!
+v®ue
+) {
+
+4739 \15 
+GL_UG_FAIL
+;
+
+4743 \ f
+i
+ = 0; i < 
+couÁ
+; i++) {
+
+4744 
+g\99em
+ = 
+       `e\9aa_li¡_Áh
+(
+ad
+->
+\8e\9afo
+->
+£l_d
+->
+£l_li¡
+, 
+i
+);
+
+4745 
+       `EINA_LIST_FOREACH
+(
+ad
+->
+\8e\9afo
+->
+d©a_li¡
+, 
+l
+, 
+\99em
+) {
+
+4746 ià(!
+\99em
+) {
+
+4749 ià(!
+       `¡rcmp
+(
+\99em
+->
+uuid
+, 
+g\99em
+)) {
+
+4750 (
+v®ue
+)[
+i
+] = 
+       `¡rdup
+(
+\99em
+->
+f\9ee_u¾
+);
+
+4756 ià(
+couÁ
+ > 0) {
+
+4757 
+       `­p_cÚ\8cÞ_add_ex\8ca_d©a_¬¿y
+(
+£rviû
+, "Selected index",
+
+4758 
+v®ue
+, 
+couÁ
+);
+
+4761 ià(
+v®ue
+) {
+
+4762 \ f
+i
+ = 0; i < 
+couÁ
+; i++) {
+
+4763 
+       `ä\93
+(
+v®ue
+[
+i
+]);
+
+4765 
+       `ä\93
+(
+v®ue
+);
+
+4768 \15 
+GL_UG_SUCCESS
+;
+
+4769 
+       }
+}
+
+4771 
+boÞ
+       $_gl_is_tim\96\9ae_ed\99_mode
+(\1e*
+d©a
+)
+
+4773 
+       `GL_CHECK_FALSE
+(
+d©a
+);
+
+4774 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+4775 
+       `GL_CHECK_FALSE
+(
+ad
+->
+\8e\9afo
+);
+
+4776 ià(
+ad
+->
+\8e\9afo
+->
+v\9bw_m
+ =ð
+GL_TL_VIEW_EDIT
+) {
+
+4777 \15 
+\8cue
+;
+
+4779 \15 
+çl£
+;
+
+4780 
+       }
+}
+
+       @src/2dview/gl-timeline.h
+
+18 #iâdeà
+_GL_TIMELINE_H_
+
+
+19 \ 1
+       #_GL_TIMELINE_H_
+
+
+       )
+
+21 \ 2
+       ~<EËm\92\8fry.h
+>
+
+22 \ 2
+       ~"g®Ëry.h
+"
+
+24 \12
+_gl_tim\96\9ae_ü\97\8b_v\9bw
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+·»Á
+);
+
+25 \12
+_gl_tim\96\9ae_upd©e_v\9bw
+(\1e*
+d©a
+);
+
+26 \12
+_gl_tim\96\9ae_upd©e_Ïng
+(\1e*
+d©a
+);
+
+27 \12
+_gl_tim\96\9ae_hide_v\9bw
+(\1e*
+d©a
+);
+
+28 \12
+_gl_tim\96\9ae_v\9bw_rÙ©e
+(\1e*
+d©a
+);
+
+29 \12
+_gl_tim\96\9ae_rÙ©e_v\9bw
+(\1e*
+d©a
+);
+
+30 \1e
+__gl_tim\96\9ae_asc_mode_£t
+(\1e*
+d©a
+);
+
+31 \1e
+__gl_tim\96\9ae_desc_mode_£t
+(\1e*
+d©a
+);
+
+32 
+boÞ
+__gl_upd©e_tim\96\9ae
+(\1e*
+d©a
+);
+
+33 \12
+_gl_tim\96\9ae_upd©e_grid_size
+(\1e*
+d©a
+);
+
+34 \1e
+_gl_upd©e_timev\9bw_iv_£Ëù_mode_»¶y
+(\1e*
+d©a
+, \ 5**
+£Ëù_»suÉ
+, \12
+couÁ
+);
+
+35 \12
+_gl_ext_lßd_time_iv_£Ëùed_li¡
+(
+­p_cÚ\8cÞ_h
+£rviû
+, \1e*
+d©a
+);
+
+36 
+boÞ
+_gl_is_tim\96\9ae_ed\99_mode
+(\1e*
+d©a
+);
+
+       @src/data/gl-data-type.c
+
+18 \ 2
+       ~"gl-d©a-ty³.h
+"
+
+19 \ 2
+       ~"gl-debug.h
+"
+
+21 \12
+       $_gl_d©a_ty³_Ãw_med\9f
+(
+gl_med\9f_s
+ **
+\99em
+)
+
+23 
+       `GL_CHECK_VAL
+(
+\99em
+, -1);
+
+24 
+gl_med\9f_s
+ *
+tmp_\99em
+ = (gl_med\9f_ *)
+       `ÿÎoc
+(1, \17(gl_media_s));
+
+25 
+       `GL_CHECK_VAL
+(
+tmp_\99em
+, -1);
+
+26 
+tmp_\99em
+->
+gty³
+ = 
+GL_TYPE_MEDIA
+;
+
+27 *
+\99em
+ = 
+tmp_\99em
+;
+
+29 
+       }
+}
+
+31 \12
+       $_gl_d©a_ty³_Ãw_®bum
+(
+gl_®bum_s
+ **
+®bum
+)
+
+33 
+       `GL_CHECK_VAL
+(
+®bum
+, -1);
+
+34 
+gl_®bum_s
+ *
+tmp_\99em
+ = (gl_®bum_ *)
+       `ÿÎoc
+(1, \17(gl_album_s));
+
+35 
+       `GL_CHECK_VAL
+(
+tmp_\99em
+, -1);
+
+36 
+tmp_\99em
+->
+gty³
+ = 
+GL_TYPE_ALBUM
+;
+
+37 *
+®bum
+ = 
+tmp_\99em
+;
+
+39 
+       }
+}
+
+42 \18\12
+       $__gl_d©a_ty³_ä\93_med\9f
+(
+gl_med\9f_s
+ **
+\99em
+)
+
+44 
+       `GL_CHECK_VAL
+(
+\99em
+, -1);
+
+45 
+       `GL_CHECK_VAL
+(*
+\99em
+, -1);
+
+46 
+gl_med\9f_s
+ *
+tmp_\99em
+ = *
+\99em
+;
+
+49 ià(
+tmp_\99em
+->
+med\9f_h
+) {
+
+50 ià(
+tmp_\99em
+->
+b_ü\97\8b_thumb
+) {
+
+51 
+       `med\9f_\9afo_ÿnûl_thumbÇ\9e
+(
+tmp_\99em
+->
+med\9f_h
+);
+
+52 
+tmp_\99em
+->
+b_ü\97\8b_thumb
+ = 
+çl£
+;
+
+54 
+       `med\9f_\9afo_de¡roy
+(
+tmp_\99em
+->
+med\9f_h
+);
+
+55 
+tmp_\99em
+->
+med\9f_h
+ = 
+NULL
+;
+
+58 
+       `GL_FREEIF
+(
+tmp_\99em
+->
+uuid
+);
+
+59 
+       `GL_FREEIF
+(
+tmp_\99em
+->
+thumb_u¾
+);
+
+60 
+       `GL_FREEIF
+(
+tmp_\99em
+->
+f\9ee_u¾
+);
+
+61 
+       `GL_FREEIF
+(
+tmp_\99em
+->
+di¥Ïy_Çme
+);
+
+62 
+       `GL_FREEIF
+(
+tmp_\99em
+->
+ext
+);
+
+64 ià(
+MEDIA_CONTENT_TYPE_IMAGE
+ =ð
+tmp_\99em
+->
+ty³
+ &&
+
+65 
+tmp_\99em
+->
+image_\9afo
+) {
+
+67 ià(
+tmp_\99em
+->
+image_\9afo
+->
+image_h
+) {
+
+68 
+       `image_m\91a_de¡roy
+(
+tmp_\99em
+->
+image_\9afo
+->
+image_h
+);
+
+69 
+tmp_\99em
+->
+image_\9afo
+->
+image_h
+ = 
+NULL
+;
+
+71 
+       `GL_FREEIF
+(
+tmp_\99em
+->
+image_\9afo
+->
+bur¡shÙ_id
+);
+
+72 
+       `GL_FREEIF
+(
+tmp_\99em
+->
+image_\9afo
+->
+med\9f_uuid
+);
+
+73 
+       `GL_FREE
+(
+tmp_\99em
+->
+image_\9afo
+);
+
+74 } \vià(
+MEDIA_CONTENT_TYPE_VIDEO
+ =ð
+tmp_\99em
+->
+ty³
+ &&
+
+75 
+tmp_\99em
+->
+video_\9afo
+) {
+
+77 ià(
+tmp_\99em
+->
+video_\9afo
+->
+video_h
+) {
+
+78 
+       `video_m\91a_de¡roy
+(
+tmp_\99em
+->
+video_\9afo
+->
+video_h
+);
+
+79 
+tmp_\99em
+->
+video_\9afo
+->
+video_h
+ = 
+NULL
+;
+
+82 
+       `GL_FREEIF
+(
+tmp_\99em
+->
+video_\9afo
+->
+med\9f_uuid
+);
+
+83 
+       `GL_FREEIF
+(
+tmp_\99em
+->
+video_\9afo
+->
+t\99Ë
+);
+
+84 
+       `GL_FREE
+(
+tmp_\99em
+->
+video_\9afo
+);
+
+87 
+       `GL_FREE
+(
+tmp_\99em
+);
+
+88 *
+\99em
+ = 
+NULL
+;
+
+90 
+       }
+}
+
+92 \12
+       $_gl_d©a_ty³_ä\93_med\9f_li¡
+(
+E\9aa_Li¡
+ **
+li¡
+)
+
+94 
+       `GL_CHECK_VAL
+(
+li¡
+, -1);
+
+95 
+       `GL_CHECK_VAL
+(*
+li¡
+, -1);
+
+96 
+gl_med\9f_s
+ *
+\99em
+ = 
+NULL
+;
+
+97 
+E\9aa_Li¡
+ *
+tmp_li¡
+ = *
+li¡
+;
+
+98 
+       `EINA_LIST_FREE
+(
+tmp_li¡
+, 
+\99em
+) {
+
+99 ià(
+\99em
+)
+
+100 
+       `__gl_d©a_ty³_ä\93_med\9f
+(&
+\99em
+);
+
+102 *
+li¡
+ = 
+NULL
+;
+
+104 
+       }
+}
+
+106 \18\12
+       $__gl_d©a_ty³_ä\93_®bum
+(
+gl_®bum_s
+ **
+®bum
+)
+
+108 
+       `GL_CHECK_VAL
+(
+®bum
+, -1);
+
+109 
+       `GL_CHECK_VAL
+(*
+®bum
+, -1);
+
+110 
+gl_®bum_s
+ *
+tmp_®bum
+ = *
+®bum
+;
+
+112 
+       `GL_FREEIF
+(
+tmp_®bum
+->
+uuid
+);
+
+113 
+       `GL_FREEIF
+(
+tmp_®bum
+->
+di¥Ïy_Çme
+);
+
+114 
+       `GL_FREEIF
+(
+tmp_®bum
+->
+·th
+);
+
+116 ià(
+tmp_®bum
+->
+fÞd\94_h
+)
+
+117 
+       `med\9f_fÞd\94_de¡roy
+(
+tmp_®bum
+->
+fÞd\94_h
+);
+
+118 
+       `GL_FREE
+(
+tmp_®bum
+);
+
+119 *
+®bum
+ = 
+NULL
+;
+
+121 
+       }
+}
+
+123 \12
+       $_gl_d©a_ty³_ä\93_®bum_li¡
+(
+E\9aa_Li¡
+ **
+li¡
+)
+
+125 
+       `GL_CHECK_VAL
+(
+li¡
+, -1);
+
+126 
+       `GL_CHECK_VAL
+(*
+li¡
+, -1);
+
+127 
+gl_®bum_s
+ *
+\99em
+ = 
+NULL
+;
+
+128 
+E\9aa_Li¡
+ *
+tmp_li¡
+ = *
+li¡
+;
+
+129 
+       `EINA_LIST_FREE
+(
+tmp_li¡
+, 
+\99em
+) {
+
+130 ià(
+\99em
+)
+
+131 
+       `__gl_d©a_ty³_ä\93_®bum
+(&
+\99em
+);
+
+133 *
+li¡
+ = 
+NULL
+;
+
+135 
+       }
+}
+
+137 \12
+       $_gl_d©a_ty³_ä\93_gl\99em
+(\1e**
+\99em
+)
+
+139 
+       `GL_CHECK_VAL
+(
+\99em
+, -1);
+
+140 
+       `GL_CHECK_VAL
+(*
+\99em
+, -1);
+
+141 \12
+»t
+ = -1;
+
+143 ià(((
+gl_®bum_s
+ *)*
+\99em
+)->
+gty³
+ =ð
+GL_TYPE_ALBUM
+)
+
+144 
+»t
+ = 
+       `__gl_d©a_ty³_ä\93_®bum
+((
+gl_®bum_s
+ **)
+\99em
+);
+
+145 \vià(((
+gl_med\9f_s
+ *)*
+\99em
+)->
+gty³
+ =ð
+GL_TYPE_MEDIA
+ ||
+
+146 ((
+gl_med\9f_s
+ *)*
+\99em
+)->
+gty³
+ =ð
+GL_TYPE_WEB_MEDIA
+)
+
+147 
+»t
+ = 
+       `__gl_d©a_ty³_ä\93_med\9f
+((
+gl_med\9f_s
+ **)
+\99em
+);
+
+149 ià(
+»t
+ < 0)
+
+153 
+       }
+}
+
+       @src/data/gl-data-util.c
+
+18 \ 2
+       ~<\94ºo.h
+>
+
+19 \ 2
+       ~<¡r\9ag.h
+>
+
+20 \ 2
+       ~"gl-d©a-ut\9e.h
+"
+
+21 \ 2
+       ~"gl-cÚ\8cÞb¬.h
+"
+
+22 \ 2
+       ~"g®Ëry.h
+"
+
+23 \ 2
+       ~"gl-debug.h
+"
+
+24 \ 2
+       ~"gl-ut\9e.h
+"
+
+25 \ 2
+       ~"gl-¡r\9ags.h
+"
+
+26 \ 2
+       ~"gl-d©a-ty³.h
+"
+
+28 
+boÞ
+       $_gl_d©a_ut\9e_g\91_f\9ee_d\9c_Çme
+(cڡ \ 5*
+f\9ee_·th
+, \ 5*
+f\9e\92ame
+,
+
+29 \ 5*
+d\9c_Çme
+, \ 5*
+d\9c_·th
+)
+
+31 
+       `GL_CHECK_FALSE
+(
+f\9ee_·th
+);
+
+32 
+g\9at
+i
+ = 0;
+
+33 
+g\9at
+couÁ
+ = 0;
+
+34 \ f
+i
+ = 
+       `¡¾\92
+(
+f\9ee_·th
+); i >= 0; i--) {
+
+35 ià(
+f\9ee_·th
+[
+i
+] != '\0') {
+
+36 
+couÁ
+++;
+
+38 ià(
+f\9ee_·th
+[
+i
+] == '/') {
+
+39 ià(
+f\9e\92ame
+ !ð
+NULL
+) {
+
+40 
+       `memýy
+(
+f\9e\92ame
+, &
+f\9ee_·th
+[
+i
+ + 1], --
+couÁ
+);
+
+41 *(
+f\9e\92ame
+ + 
+couÁ
+) = '\0';
+
+42 
+       `gl_sdbg
+("F\9e\90Nam\90ð%s", 
+f\9e\92ame
+);
+
+44 ià(
+d\9c_·th
+ !ð
+NULL
+) {
+
+45 
+       `memýy
+(
+d\9c_·th
+, &
+f\9ee_·th
+[0], 
+i
+);
+
+46 *(
+d\9c_·th
+ + 
+i
+) = '\0';
+
+47 
+       `gl_sdbg
+("D\9ceùÜy Nam\90ð%s", 
+d\9c_·th
+);
+
+49 ià(
+d\9c_Çme
+ !ð
+NULL
+) {
+
+50 
+couÁ
+ = 0;
+
+51 \ f--
+i
+; i >= 0; i--) {
+
+52 
+couÁ
+++;
+
+53 ià(
+f\9ee_·th
+[
+i
+] == '/') {
+
+54 
+       `memýy
+(
+d\9c_Çme
+, &
+f\9ee_·th
+[
+i
+ + 1], --
+couÁ
+);
+
+55 *(
+d\9c_Çme
+ + 
+couÁ
+) = '\0';
+
+56 
+       `gl_sdbg
+("D\9ceùÜy Nam\90ð%s", 
+d\9c_Çme
+);
+
+57 
+couÁ
+ = 0;
+
+58 \15 
+\8cue
+;
+
+62 \15 
+\8cue
+;
+
+66 \15 
+çl£
+;
+
+67 
+       }
+}
+
+72 
+gl_\99em
+ *
+       $_gl_d©a_ut\9e_ÿÎoc_g\99em
+(\1e)
+
+74 
+gl_\99em
+ *
+g\99em
+ = (gl_\99em *)
+       `ÿÎoc
+(1, \17(gl_item));
+
+75 
+       `GL_CHECK_NULL
+(
+g\99em
+);
+
+76 \15 
+g\99em
+;
+
+77 
+       }
+}
+
+79 \12
+       $_gl_d©a_ut\9e\93_g\99em
+(
+gl_\99em
+ *
+g\99em
+)
+
+81 
+       `GL_CHECK_VAL
+(
+g\99em
+, -1);
+
+82 ià(
+g\99em
+->
+\99em
+) {
+
+83 
+       `_gl_d©a_ty³_ä\93_gl\99em
+((\1e**)&(
+g\99em
+->
+\99em
+));
+
+84 
+g\99em
+->
+\99em
+ = 
+NULL
+;
+
+87 
+       `GL_FREEIF
+(
+g\99em
+->
+thumb_d©a
+);
+
+88 
+       `GL_FREE
+(
+g\99em
+);
+
+90 
+       }
+}
+
+92 
+gl_þu¡\94
+ *
+       $_gl_d©a_ut\9e_ÿÎoc_gþu¡\94
+(\1e)
+
+94 
+gl_þu¡\94
+ *
+gþu¡\94
+ = (gl_þu¡\94 *)
+       `ÿÎoc
+(1, \17(gl_cluster));
+
+95 
+       `GL_CHECK_NULL
+(
+gþu¡\94
+);
+
+96 \15 
+gþu¡\94
+;
+
+97 
+       }
+}
+
+99 \12
+       $_gl_d©a_ut\9e\93_gþu¡\94
+(
+gl_þu¡\94
+ *
+gþu¡\94
+)
+
+101 
+       `GL_CHECK_VAL
+(
+gþu¡\94
+, -1);
+
+102 ià(
+gþu¡\94
+->
+cov\94
+) {
+
+103 
+       `_gl_d©a_ut\9e\93_g\99em
+(
+gþu¡\94
+->
+cov\94
+);
+
+104 
+gþu¡\94
+->
+cov\94
+ = 
+NULL
+;
+
+106 ià(
+gþu¡\94
+->
+þu¡\94
+) {
+
+107 
+       `_gl_d©a_ty³_ä\93_gl\99em
+((\1e**)&(
+gþu¡\94
+->
+þu¡\94
+));
+
+108 
+gþu¡\94
+->
+þu¡\94
+ = 
+NULL
+;
+
+110 
+       `GL_FREE
+(
+gþu¡\94
+->
+®bum_d©a
+);
+
+111 
+       `GL_FREE
+(
+gþu¡\94
+);
+
+113 
+       }
+}
+
+115 
+gl_þu¡\94
+ *
+       $_gl_d©a_ut\9e_Ãw_gþu¡\94_®l
+(\1e*
+d©a
+, \12
+couÁ
+)
+
+117 
+       `gl_dbg
+("");
+
+118 
+       `GL_CHECK_NULL
+(
+d©a
+);
+
+119 
+gl_þu¡\94
+ *
+gþu¡\94
+ = 
+NULL
+;
+
+120 
+gl_®bum_s
+ *
+mþu¡\94
+ = 
+NULL
+;
+
+122 
+gþu¡\94
+ = 
+       `_gl_d©a_ut\9e_ÿÎoc_gþu¡\94
+();
+
+123 
+       `GL_CHECK_NULL
+(
+gþu¡\94
+);
+
+125 
+       `_gl_d©a_ty³_Ãw_®bum
+(&
+mþu¡\94
+);
+
+126 ià(
+mþu¡\94
+ =ð
+NULL
+) {
+
+127 
+       `GL_FREE
+(
+gþu¡\94
+);
+
+128 \15 
+NULL
+;
+
+131 
+mþu¡\94
+->
+uuid
+ = 
+       `¡rdup
+(
+GL_ALBUM_ALL_ID
+);
+
+132 
+mþu¡\94
+->
+couÁ
+ = count;
+
+133 
+mþu¡\94
+->
+ty³
+ = 
+GL_STORE_T_ALL
+;
+
+134 
+mþu¡\94
+->
+di¥Ïy_Çme
+ = 
+       `¡rdup
+(
+GL_STR_ID_ALL_ALBUMS
+);
+
+135 
+gþu¡\94
+->
+ad
+ = 
+d©a
+;
+
+136 
+gþu¡\94
+->
+þu¡\94
+ = 
+mþu¡\94
+;
+
+137 \15 
+gþu¡\94
+;
+
+138 
+       }
+}
+
+140 
+gl_þu¡\94
+ *
+       $_gl_d©a_ut\9e_Ãw_gþu¡\94_çv
+(\1e*
+d©a
+, \12
+couÁ
+)
+
+142 
+       `gl_dbg
+("");
+
+143 
+       `GL_CHECK_NULL
+(
+d©a
+);
+
+144 
+gl_þu¡\94
+ *
+gþu¡\94
+ = 
+NULL
+;
+
+145 
+gl_®bum_s
+ *
+mþu¡\94
+ = 
+NULL
+;
+
+147 
+gþu¡\94
+ = 
+       `_gl_d©a_ut\9e_ÿÎoc_gþu¡\94
+();
+
+148 
+       `GL_CHECK_NULL
+(
+gþu¡\94
+);
+
+150 
+       `_gl_d©a_ty³_Ãw_®bum
+(&
+mþu¡\94
+);
+
+151 ià(
+mþu¡\94
+ =ð
+NULL
+) {
+
+152 
+       `GL_FREE
+(
+gþu¡\94
+);
+
+153 \15 
+NULL
+;
+
+156 
+mþu¡\94
+->
+uuid
+ = 
+       `¡rdup
+(
+GL_ALBUM_FAVOURITE_ID
+);
+
+157 
+mþu¡\94
+->
+couÁ
+ = count;
+
+158 
+mþu¡\94
+->
+ty³
+ = 
+GL_STORE_T_FAV
+;
+
+159 
+mþu¡\94
+->
+di¥Ïy_Çme
+ = 
+       `¡rdup
+(
+GL_STR_ID_FAVOURITE_ALBUMS
+);
+
+160 
+gþu¡\94
+->
+ad
+ = 
+d©a
+;
+
+161 
+gþu¡\94
+->
+þu¡\94
+ = 
+mþu¡\94
+;
+
+163 \15 
+gþu¡\94
+;
+
+164 
+       }
+}
+
+166 
+gl_þu¡\94_li¡
+ *
+       $_gl_d©a_ut\9e_ÿÎoc_þu¡\94_li¡
+(\1e)
+
+168 
+gl_þu¡\94_li¡
+ *
+þus_li¡
+ = (gl_þu¡\94_li¡ *)
+       `ÿÎoc
+(1,
+
+169 \17(
+gl_þu¡\94_li¡
+));
+
+170 
+       `GL_CHECK_NULL
+(
+þus_li¡
+);
+
+171 \15 
+þus_li¡
+;
+
+172 
+       }
+}
+
+175 \12
+       $_gl_d©a_ut\9e\97r_gty³_\99em_li¡
+(
+E\9aa_Li¡
+ **
+\96
+)
+
+177 \1e*
+cu¼\92t
+ = 
+NULL
+;
+
+179 ià(
+\96
+ && *elist) {
+
+180 
+       `gl_dbg
+("Clear gtype items\86ist");
+
+181 
+       `EINA_LIST_FREE
+(*
+\96
+, 
+cu¼\92t
+) {
+
+182 ià(
+cu¼\92t
+) {
+
+183 
+       `_gl_d©a_ty³_ä\93_gl\99em
+((\1e**)&
+cu¼\92t
+);
+
+184 
+cu¼\92t
+ = 
+NULL
+;
+
+187 *
+\96
+ = 
+NULL
+;
+
+191 
+       }
+}
+
+193 \12
+       $_gl_d©a_ut\9e\97r_\99em_li¡
+(
+E\9aa_Li¡
+ **
+\96
+)
+
+195 
+       `GL_CHECK_VAL
+(
+\96
+, -1);
+
+196 
+gl_\99em
+ *
+cu¼\92t
+ = 
+NULL
+;
+
+197 ià(*
+\96
+) {
+
+198 
+       `gl_dbg
+("Clear\83list");
+
+199 
+       `EINA_LIST_FREE
+(*
+\96
+, 
+cu¼\92t
+) {
+
+200 
+       `_gl_d©a_ut\9e\93_g\99em
+(
+cu¼\92t
+);
+
+201 
+cu¼\92t
+ = 
+NULL
+;
+
+203 *
+\96
+ = 
+NULL
+;
+
+207 
+       }
+}
+
+209 \12
+       $_gl_d©a_ut\9e\97r_þu¡\94_li¡
+(
+E\9aa_Li¡
+ **
+\96
+)
+
+211 
+       `GL_CHECK_VAL
+(
+\96
+, -1);
+
+212 
+gl_þu¡\94
+ *
+cu¼\92t
+ = 
+NULL
+;
+
+213 ià(*
+\96
+) {
+
+214 
+       `EINA_LIST_FREE
+(*
+\96
+, 
+cu¼\92t
+) {
+
+215 
+       `_gl_d©a_ut\9e\93_gþu¡\94
+(
+cu¼\92t
+);
+
+216 
+cu¼\92t
+ = 
+NULL
+;
+
+218 *
+\96
+ = 
+NULL
+;
+
+221 
+       }
+}
+
+223 \12
+       $_gl_d©a_ut\9e_g\91_£Ëùed_þu¡\94_id_li¡
+(\1e*
+d©a
+,
+
+224 
+E\9aa_Li¡
+ **
+£l_id_li¡
+)
+
+226 
+       `GL_CHECK_VAL
+(
+£l_id_li¡
+, -1);
+
+227 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+228 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+229 
+       `GL_CHECK_VAL
+(
+ad
+->
+®bum\9afo
+.
+£l_\96
+, -1);
+
+230 
+gl_þu¡\94
+ *
+gþu¡\94
+ = 
+NULL
+;
+
+231 \ 5*
+\99em_id
+ = 
+NULL
+;
+
+234 
+       `EINA_LIST_FREE
+(
+ad
+->
+®bum\9afo
+.
+£l_\96
+, 
+gþu¡\94
+) {
+
+235 ià(
+gþu¡\94
+ && gþu¡\94->
+þu¡\94
+ && gþu¡\94->þu¡\94->
+uuid
+) {
+
+236 
+\99em_id
+ = 
+       `¡rdup
+(
+gþu¡\94
+->
+þu¡\94
+->
+uuid
+);
+
+237 *
+£l_id_li¡
+ = 
+       `e\9aa_li¡_­³nd
+(*sel_id_list,
+
+238 (\1e*)
+\99em_id
+);
+
+242 
+       }
+}
+
+244 \12
+       $_gl_d©a_ut\9e_g\91_£Ëùed_¡r_ids
+(
+E\9aa_Li¡
+ **
+£l_li¡
+, E\9aa_Li¡ **
+\96
+)
+
+246 
+       `GL_CHECK_VAL
+(
+\96
+, -1);
+
+247 
+       `GL_CHECK_VAL
+(
+£l_li¡
+, -1);
+
+248 
+gl_\99em
+ *
+g\99em
+ = 
+NULL
+;
+
+249 \ 5*
+¡r_id
+ = 
+NULL
+;
+
+252 
+       `EINA_LIST_FREE
+(*
+£l_li¡
+, 
+g\99em
+) {
+
+253 ià(
+g\99em
+ && g\99em->
+\99em
+ && g\99em->\99em->
+uuid
+) {
+
+254 
+¡r_id
+ = 
+       `¡rdup
+(
+g\99em
+->
+\99em
+->
+uuid
+);
+
+255 *
+\96
+ = 
+       `e\9aa_li¡_­³nd
+(*\96i¡, (\1e*)
+¡r_id
+);
+
+258 *
+£l_li¡
+ = 
+NULL
+;
+
+260 
+       }
+}
+
+262 \12
+       $_gl_d©a_ut\9e_f\9e\8br_£Ëùed_¡r_ids
+(
+E\9aa_Li¡
+ **
+£l_li¡
+, E\9aa_Li¡ **
+\96
+)
+
+264 
+       `GL_CHECK_VAL
+(
+\96
+, -1);
+
+265 
+       `GL_CHECK_VAL
+(
+£l_li¡
+, -1);
+
+266 
+gl_\99em
+ *
+g\99em
+ = 
+NULL
+;
+
+267 
+E\9aa_Li¡
+ *
+tmp
+;
+
+268 \ 5*
+¡r_id
+ = 
+NULL
+;
+
+271 
+       `EINA_LIST_FOREACH
+(*
+£l_li¡
+, 
+tmp
+, 
+g\99em
+) {
+
+272 ià(
+g\99em
+ && g\99em->
+\99em
+ && g\99em->\99em->
+uuid
+) {
+
+273 
+¡r_id
+ = 
+       `¡rdup
+(
+g\99em
+->
+\99em
+->
+uuid
+);
+
+274 *
+\96
+ = 
+       `e\9aa_li¡_­³nd
+(*\96i¡, (\1e*)
+¡r_id
+);
+
+278 
+       }
+}
+
+281 
+boÞ
+       $_gl_d©a_ut\9e_check_£Ëùed_¡r_id
+(
+E\9aa_Li¡
+ **
+£l_id_li¡
+, cڡ \ 5*
+id
+)
+
+283 
+       `GL_CHECK_FALSE
+(
+id
+);
+
+284 
+       `GL_CHECK_FALSE
+(
+£l_id_li¡
+);
+
+285 
+E\9aa_Li¡
+ *
+tmp_\96
+ = 
+NULL
+;
+
+286 \1e*
+p_id
+ = 
+NULL
+;
+
+288 ià(
+       `e\9aa_li¡_couÁ
+(*
+£l_id_li¡
+) == 0) {
+
+289 
+       `gl_dbgE
+("sel_id_list is\83mpty!");
+
+290 \15 
+çl£
+;
+
+293 
+       `EINA_LIST_FOREACH
+(*
+£l_id_li¡
+, 
+tmp_\96
+, 
+p_id
+) {
+
+294 ià(
+p_id
+ =ð
+NULL
+) {
+
+295 
+       `gl_dbgE
+("Invalid\85_id!");
+
+299 ià(
+       `g_¡rcmp0
+(
+id
+, (\ 5*)
+p_id
+)) {
+
+300 
+p_id
+ = 
+NULL
+;
+
+303 
+       `gl_sdbg
+("Found: %s", 
+id
+);
+
+304 *
+£l_id_li¡
+ = 
+       `e\9aa_li¡_»move
+(*£l_id_li¡, 
+p_id
+);
+
+305 
+       `GL_FREE
+(
+p_id
+);
+
+306 \15 
+\8cue
+;
+
+308 \15 
+çl£
+;
+
+309 
+       }
+}
+
+312 \12
+       $_gl_d©a_ut\9e\93_£Ëùed_¡r_li¡
+(
+E\9aa_Li¡
+ **
+£l_id_li¡
+)
+
+314 
+       `GL_CHECK_VAL
+(
+£l_id_li¡
+, -1);
+
+315 ià(*
+£l_id_li¡
+ =ð
+NULL
+) {
+
+316 
+       `gl_dbg
+("sel_id_list is\83mpty!");
+
+320 \1e*
+p_id
+ = 
+NULL
+;
+
+321 
+       `EINA_LIST_FREE
+(*
+£l_id_li¡
+, 
+p_id
+) {
+
+322 ià(
+p_id
+ =ð
+NULL
+) {
+
+323 
+       `gl_dbgE
+("Invalid\85_id!");
+
+326 
+       `GL_FREE
+(
+p_id
+);
+
+328 *
+£l_id_li¡
+ = 
+NULL
+;
+
+330 
+       }
+}
+
+333 
+boÞ
+       $_gl_d©a_ut\9e_check_£Ëùed_\9at_id
+(
+E\9aa_Li¡
+ **
+£l_id_li¡
+, \12
+id
+)
+
+335 
+       `GL_CHECK_FALSE
+(
+£l_id_li¡
+);
+
+336 
+E\9aa_Li¡
+ *
+tmp_\96
+ = 
+NULL
+;
+
+337 \1e*
+p_id
+ = 
+NULL
+;
+
+339 ià(
+       `e\9aa_li¡_couÁ
+(*
+£l_id_li¡
+) == 0) {
+
+340 
+       `gl_dbgE
+("sel_id_list is\83mpty!");
+
+341 \15 
+çl£
+;
+
+344 
+       `EINA_LIST_FOREACH
+(*
+£l_id_li¡
+, 
+tmp_\96
+, 
+p_id
+) {
+
+345 ià(
+p_id
+ =ð
+NULL
+) {
+
+346 
+       `gl_dbgE
+("Invalid\85_id!");
+
+350 ià(
+id
+ !ð(\12)
+p_id
+) {
+
+351 
+p_id
+ = 
+NULL
+;
+
+355 *
+£l_id_li¡
+ = 
+       `e\9aa_li¡_»move
+(*£l_id_li¡, 
+p_id
+);
+
+356 \15 
+\8cue
+;
+
+358 \15 
+çl£
+;
+
+359 
+       }
+}
+
+361 \12
+       $_gl_d©a_ut\9e_check_®bum_£Ëùed_f\9ees
+(
+gl_þu¡\94
+ *
+®bum
+,
+
+362 \12*
+img_út
+, \12*
+£l_út
+,
+
+363 \12*
+web_út
+)
+
+365 
+       `GL_CHECK_VAL
+(
+®bum
+, -1);
+
+366 
+       `GL_CHECK_VAL
+(
+®bum
+->
+þu¡\94
+, -1);
+
+367 
+       `GL_CHECK_VAL
+(
+®bum
+->
+þu¡\94
+->
+uuid
+, -1);
+
+368 \12
+_£l_út
+ = 0;
+
+369 \12
+_img_út
+ = 0;
+
+370 \12
+_web_út
+ = 0;
+
+371 \12
+\94r
+ = -1;
+
+372 
+E\9aa_Li¡
+ *
+\99emli¡
+ = 
+NULL
+;
+
+373 
+gl_f\9e\8br_s
+f\9e\8br
+;
+
+375 
+       `mem£t
+(&
+f\9e\8br
+, 0x00, \17(
+gl_f\9e\8br_s
+));
+
+376 
+       `_gl_d©a_ut\9e_g\91_cÚd
+(
+f\9e\8br
+.
+cÚd
+);
+
+377 
+f\9e\8br
+.
+sÜt_ty³
+ = 
+MEDIA_CONTENT_ORDER_DESC
+;
+
+378 
+f\9e\8br
+.
+cÞÏ\8b_ty³
+ = 
+MEDIA_CONTENT_COLLATE_NOCASE
+;
+
+379 
+       `g_¡¾ýy
+(
+f\9e\8br
+.
+sÜt_keywÜd
+, 
+GL_CONDITION_ORDER
+, 
+KEYWORD_LENGTH
+);
+
+380 
+f\9e\8br
+.
+off£t
+ = 
+GL_GET_ALL_RECORDS
+;
+
+381 
+f\9e\8br
+.
+couÁ
+ = 
+GL_GET_ALL_RECORDS
+;
+
+382 
+f\9e\8br
+.
+w\99h_m\91a
+ = 
+çl£
+;
+
+384 ià(
+®bum
+->
+þu¡\94
+->
+ty³
+ =ð
+GL_STORE_T_ALL
+) {
+
+385 
+       `gl_dbg
+("All\87lbums");
+
+386 
+\94r
+ = 
+       `_gl_loÿl_d©a_g\91_®l_®bums_med\9f_li¡
+(&
+f\9e\8br
+,
+
+387 &
+\99emli¡
+);
+
+388 } \vià(
+®bum
+->
+þu¡\94
+->
+ty³
+ =ð
+GL_STORE_T_PHONE
+ ||
+
+389 
+®bum
+->
+þu¡\94
+->
+ty³
+ =ð
+GL_STORE_T_MMC
+) {
+
+390 
+       `gl_dbg
+("Local\87lbum");
+
+391 
+\94r
+ = 
+       `_gl_loÿl_d©a_g\91_®bum_med\9f_li¡
+(&
+f\9e\8br
+,
+
+392 
+®bum
+->
+þu¡\94
+->
+uuid
+,
+
+393 &
+\99emli¡
+);
+
+395 
+       `gl_dbgE
+("Wrong cluster\81ype!");
+
+399 ià((
+\94r
+ =ð0è&& (
+\99emli¡
+ !ð
+NULL
+)) {
+
+400 
+gl_med\9f_s
+ *
+\99em
+ = 
+NULL
+;
+
+401 
+       `EINA_LIST_FREE
+(
+\99emli¡
+, 
+\99em
+) {
+
+402 ià(
+\99em
+ =ð
+NULL
+ || i\8bm->
+uuid
+ == NULL) {
+
+403 
+       `gl_dbgE
+("Invalid item!");
+
+407 
+_£l_út
+++;
+
+408 ià(
+®bum
+->
+þu¡\94
+->
+ty³
+ =ð
+GL_STORE_T_PHONE
+ ||
+
+409 
+®bum
+->
+þu¡\94
+->
+ty³
+ =ð
+GL_STORE_T_ALL
+) {
+
+410 ià(
+\99em
+->
+ty³
+ =ð
+MEDIA_CONTENT_TYPE_IMAGE
+)
+
+411 
+_img_út
+++;
+
+414 
+_web_út
+++;
+
+416 
+\99em
+ = 
+NULL
+;
+
+419 
+       `gl_dbg
+("Selected items count: %d, image count: %d, web count: %d",
+
+420 
+_£l_út
+, 
+_img_út
+, 
+_web_út
+);
+
+421 ià(
+£l_út
+)
+
+422 *
+£l_út
+ = 
+_£l_út
+;
+
+423 ià(
+img_út
+)
+
+424 *
+img_út
+ = 
+_img_út
+;
+
+425 ià(
+web_út
+)
+
+426 *
+web_út
+ = 
+_web_út
+;
+
+428 
+       }
+}
+
+433 \12
+       $_gl_d©a_ut\9e_g\91_cÚd
+(\ 5*
+cÚd
+)
+
+435 
+       `GL_CHECK_VAL
+(
+cÚd
+, -1);
+
+436 
+       `g_¡¾ýy
+(
+cÚd
+, 
+GL_CONDITION_IMAGE_VIDEO
+, 
+CONDITION_LENGTH
+);
+
+438 
+       }
+}
+
+440 \12
+       $_gl_d©a_ut\9e_g\91_çv_cÚd
+(\ 5*
+cÚd
+)
+
+442 
+       `GL_CHECK_VAL
+(
+cÚd
+, -1);
+
+443 
+       `g_¡¾ýy
+(
+cÚd
+, "((MEDIA_TYPE=0 OR MEDIA_TYPE=1) AND (MEDIA_FAVOURITE>0)"
+
+445 "OR MEDIA_STORAGE_TYPE=101 OR MEDIA_STORAGE_TYPE=121))", 
+CONDITION_LENGTH
+);
+
+447 
+       }
+}
+
+       @src/data/gl-data.c
+
+18 \ 2
+       ~<\94ºo.h
+>
+
+19 \ 2
+       ~<¡r\9ag.h
+>
+
+20 \ 2
+       ~<med\9f_cÚ\8bÁ.h
+>
+
+21 \ 2
+       ~"gl-d©a.h
+"
+
+22 \ 2
+       ~"gl-cÚ\8cÞb¬.h
+"
+
+23 \ 2
+       ~"gl-®bums.h
+"
+
+24 \ 2
+       ~"g®Ëry.h
+"
+
+25 \ 2
+       ~"gl-debug.h
+"
+
+26 \ 2
+       ~"gl-ut\9e.h
+"
+
+27 \ 2
+       ~"gl-¡r\9ags.h
+"
+
+28 \ 2
+       ~"gl-icÚs.h
+"
+
+29 \ 2
+       ~"gl-exif.h
+"
+
+30 \ 2
+       ~"gl-db-upd©e.h
+"
+
+31 \ 2
+       ~"gl-f\9ee-ut\9e.h
+"
+
+33 \18\12
+       $__gl_d©a_­³nd_g\99ems
+(\1e*
+d©a
+, 
+E\9aa_Li¡
+ *
+\96
+, \12
+¡Üe_ty³
+,
+
+34 
+E\9aa_Li¡
+ **
+p_\96
+)
+
+36 
+       `GL_CHECK_VAL
+(
+p_\96
+, -1);
+
+37 
+       `GL_CHECK_VAL
+(
+\96
+, -1);
+
+38 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+39 
+gl_med\9f_s
+ *
+\99em
+ = 
+NULL
+;
+
+40 
+gl_\99em
+ *
+g\99em
+ = 
+NULL
+;
+
+42 
+       `EINA_LIST_FREE
+(
+\96
+, 
+\99em
+) {
+
+43 ià(
+\99em
+ =ð
+NULL
+ || i\8bm->
+uuid
+ == NULL) {
+
+44 
+       `gl_dbgE
+("Invalid item!");
+
+48 
+g\99em
+ = 
+       `_gl_d©a_ut\9e_ÿÎoc_g\99em
+();
+
+49 ià(
+g\99em
+ =ð
+NULL
+) {
+
+50 
+       `gl_dbgE
+("calloc gitem failed!");
+
+51 
+       `_gl_d©a_ty³_ä\93_gl\99em
+((\1e**)&
+\99em
+);
+
+55 
+g\99em
+->
+ad
+ = 
+d©a
+;
+
+56 
+g\99em
+->
+\99em
+ = item;
+
+57 
+g\99em
+->
+¡Üe_ty³
+ = store_type;
+
+58 *
+p_\96
+ = 
+       `e\9aa_li¡_­³nd
+(*p_\96i¡, 
+g\99em
+);
+
+59 
+\99em
+ = 
+NULL
+;
+
+60 
+g\99em
+ = 
+NULL
+;
+
+63 
+       }
+}
+
+65 \12
+       $_gl_g\91_çv_image_couÁ
+(\12*
+couÁ
+) {
+
+66 
+gl_f\9e\8br_s
+f\9e\8br
+;
+
+67 
+       `mem£t
+(&
+f\9e\8br
+, 0x00, \17(
+gl_f\9e\8br_s
+));
+
+68 
+       `_gl_d©a_ut\9e_g\91_çv_cÚd
+(
+f\9e\8br
+.
+cÚd
+);
+
+69 
+f\9e\8br
+.
+sÜt_ty³
+ = 
+MEDIA_CONTENT_ORDER_DESC
+;
+
+70 
+       `g_¡¾ýy
+(
+f\9e\8br
+.
+sÜt_keywÜd
+, 
+GL_CONDITION_ORDER
+, 
+KEYWORD_LENGTH
+);
+
+71 
+f\9e\8br
+.
+cÞÏ\8b_ty³
+ = 
+MEDIA_CONTENT_COLLATE_NOCASE
+;
+
+72 
+f\9e\8br
+.
+off£t
+ = 
+GL_GET_ALL_RECORDS
+;
+
+73 
+f\9e\8br
+.
+couÁ
+ = 
+GL_GET_ALL_RECORDS
+;
+
+74 
+f\9e\8br
+.
+w\99h_m\91a
+ = 
+çl£
+;
+
+76 \12
+\94r
+ = 
+       `_gl_loÿl_d©a_g\91_®l_med\9f_couÁ
+(&
+f\9e\8br
+, 
+couÁ
+);
+
+77 ià(
+\94r
+ < 0) {
+
+78 
+       `gl_dbg
+("Fa\9eed\81Øg\91 i\8bm couÁ[\94r: %d]!", 
+\94r
+);
+
+82 \15 
+\94r
+;
+
+83 
+       }
+}
+
+85 \18\12
+       $__gl_d©a_g\91_þu¡\94_li¡
+(\1e*
+d©a
+, 
+boÞ
+b_upd©e
+)
+
+87 
+GL_PROFILE_IN
+;
+
+88 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+89 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+90 \12
+Ëngth
+ = 0;
+
+91 \12
+®l_\99em_út
+ = 0;
+
+92 \12
+phÚe_út
+ = 0;
+
+93 
+E\9aa_Li¡
+ *
+\99em_li¡
+ = 
+NULL
+;
+
+94 
+gl_®bum_s
+ *
+f_d©a
+ = 
+NULL
+;
+
+95 
+gl_þu¡\94
+ *
+deçuÉ_®bum
+ = 
+NULL
+;
+
+96 \12
+\94r
+ = -1;
+
+97 \12
+ed\99_®bum_út
+ = 0;
+
+98 
+gl_f\9e\8br_s
+f\9e\8br
+;
+
+99 
+gl_®bum_s
+ *
+Ãw_mc
+ = 
+NULL
+;
+
+100 
+E\9aa_Li¡
+ *
+£l_id_li¡
+ = 
+NULL
+;
+
+101 
+boÞ
+b_£Ëùed
+ = 
+çl£
+;
+
+102 \ 5
+Ãw_mc_id
+[
+GL_MTYPE_ITEN_ID_LEN_MAX
+] = { 0, };
+
+103 \ 5
+£l_id
+[
+GL_MTYPE_ITEN_ID_LEN_MAX
+] = { 0, };
+
+104 
+       `gl_dbg
+("");
+
+106 
+       `mem£t
+(&
+f\9e\8br
+, 0x00, \17(
+gl_f\9e\8br_s
+));
+
+108 ià(
+b_upd©e
+) {
+
+109 
+       `gl_dbg
+("Update mode.");
+
+110 
+gl_þu¡\94
+ *
+®bum_\99em
+ = 
+ad
+->
+®bum\9afo
+.
+£Ëùed
+;
+
+111 ià(
+®bum_\99em
+ &&\87lbum_\99em->
+þu¡\94
+ &&
+
+112 
+®bum_\99em
+->
+þu¡\94
+->
+uuid
+) {
+
+113 
+       `g_¡¾ýy
+(
+£l_id
+, 
+®bum_\99em
+->
+þu¡\94
+->
+uuid
+,
+
+114 
+GL_MTYPE_ITEN_ID_LEN_MAX
+);
+
+115 
+       `gl_sdbg
+("Sav\90£Ëùed\87lbum ID: %s.", 
+£l_id
+);
+
+117 
+ad
+->
+®bum\9afo
+.
+£Ëùed
+ = 
+NULL
+;
+
+119 
+       `_gl_d©a_ut\9e_g\91_£Ëùed_þu¡\94_id_li¡
+(
+ad
+, &
+£l_id_li¡
+);
+
+121 
+       `_gl_d©a_f\9a®ize_®bums_£Ëùed_li¡
+(
+ad
+);
+
+123 
+       `_gl_d©a_þ\97r_þu¡\94_li¡
+(
+ad
+, 
+çl£
+);
+
+129 ià(
+       `¡¾\92
+(
+ad
+->
+®bum\9afo
+.
+Ãw_Çme
+è&& !ad->®bum\9afo.
+b_Ãw_®bum
+) {
+
+130 
+       `mem£t
+(
+ad
+->
+®bum\9afo
+.
+Ãw_Çme
+, 0x00, 
+GL_ALBUM_NAME_LEN_MAX
+);
+
+132 
+\94r
+ = 
+       `_gl_loÿl_d©a_g\91_®bum_by_·th
+(
+ad
+->
+®bum\9afo
+.
+de¡_fÞd\94
+,
+
+133 &
+Ãw_mc
+);
+
+134 ià(
+\94r
+ != 0) {
+
+135 
+       `gl_dbgE
+("Fa\9ed\81Øg\91\87lbum[%d]!", 
+\94r
+);
+
+136 } \vià(
+Ãw_mc
+->
+couÁ
+ == 0) {
+
+140 
+       `gl_sdbg
+("Get\82ewly created gl_media_s, url: %s.",
+
+141 
+ad
+->
+®bum\9afo
+.
+de¡_fÞd\94
+);
+
+142 
+       `g_¡¾ýy
+(
+Ãw_mc_id
+, 
+Ãw_mc
+->
+uuid
+,
+
+143 
+GL_MTYPE_ITEN_ID_LEN_MAX
+);
+
+144 
+       `_gl_d©a_ty³_ä\93_gl\99em
+((\1e**)&
+Ãw_mc
+);
+
+149 
+       `mem£t
+(
+f\9e\8br
+.
+cÚd
+, 0x00, 
+CONDITION_LENGTH
+);
+
+151 
+       `g_¡¾ýy
+(
+f\9e\8br
+.
+cÚd
+, 
+GL_CONDITION_IMAGE_VIDEO
+, 
+CONDITION_LENGTH
+);
+
+152 
+f\9e\8br
+.
+sÜt_ty³
+ = 
+MEDIA_CONTENT_ORDER_ASC
+;
+
+153 
+       `g_¡¾ýy
+(
+f\9e\8br
+.
+sÜt_keywÜd
+, 
+FOLDER_NAME
+, 
+KEYWORD_LENGTH
+);
+
+154 
+f\9e\8br
+.
+cÞÏ\8b_ty³
+ = 
+MEDIA_CONTENT_COLLATE_NOCASE
+;
+
+155 
+f\9e\8br
+.
+off£t
+ = 
+GL_GET_ALL_RECORDS
+;
+
+156 
+f\9e\8br
+.
+couÁ
+ = 
+GL_GET_ALL_RECORDS
+;
+
+157 
+f\9e\8br
+.
+w\99h_m\91a
+ = 
+çl£
+;
+
+159 
+       `gl_dbg
+("Get_album_list:start");
+
+160 
+\94r
+ = 
+       `_gl_loÿl_d©a_g\91_®bum_li¡
+(&
+f\9e\8br
+, &
+\99em_li¡
+);
+
+161 
+       `gl_dbg
+("G\91_®bum_li¡:\92d, %d", 
+\94r
+);
+
+162 ià(
+\94r
+ != 0) {
+
+163 
+       `gl_dbg
+("No\84ecord!");
+
+164 
+ad
+->
+®bum\9afo
+.
+\96
+->
+þi¡
+ = 
+NULL
+;
+
+165 ià(
+\99em_li¡
+)
+
+166 
+       `_gl_d©a_ut\9e\97r_gty³_\99em_li¡
+(&
+\99em_li¡
+);
+
+170 
+gl_þu¡\94
+ *
+gþu¡\94
+ = 
+NULL
+;
+
+171 
+       `EINA_LIST_FREE
+(
+\99em_li¡
+, 
+f_d©a
+) {
+
+172 ià(
+f_d©a
+ =ð
+NULL
+ || f_d©a->
+uuid
+ == NULL) {
+
+173 
+       `gl_dbgE
+("Invalid gl_media_s!");
+
+176 
+       `gl_sdbg
+("fÞd\94 id: %s.", 
+f_d©a
+->
+uuid
+);
+
+187 ià((
+ad
+->
+ma\9a\9afo
+.
+mmc_¡©e
+ =ð
+GL_MMC_STATE_REMOVED_MOVING
+ ||
+
+188 
+ad
+->
+ma\9a\9afo
+.
+mmc_¡©e
+ =ð
+GL_MMC_STATE_REMOVED
+) &&
+
+189 
+f_d©a
+->
+ty³
+ =ð
+GL_STORE_T_MMC
+) {
+
+190 
+       `gl_dbgW
+("MMC was unmounted, skip MMC\87lbum!");
+
+191 
+       `_gl_d©a_ty³_ä\93_gl\99em
+((\1e**)&
+f_d©a
+);
+
+195 ià(
+f_d©a
+->
+ty³
+ =ð
+GL_STORE_T_PHONE
+ ||
+
+196 
+f_d©a
+->
+ty³
+ =ð
+GL_STORE_T_MMC
+) {
+
+197 ià(
+f_d©a
+->
+couÁ
+ == 0) {
+
+198 ià(!
+       `g_¡rcmp0
+(
+f_d©a
+->
+uuid
+, 
+Ãw_mc_id
+)) {
+
+200 
+       `gl_dbg
+("empty\86ocal\87lbum, but it's\82ewly created...");
+
+203 
+       `gl_dbg
+("empty\86ocal\87lbum, skipping it...");
+
+204 
+       `_gl_d©a_ty³_ä\93_gl\99em
+((\1e**)&
+f_d©a
+);
+
+208 
+®l_\99em_út
+ +ð
+f_d©a
+->
+couÁ
+;
+
+209 ià(
+f_d©a
+->
+ty³
+ =ð
+GL_STORE_T_PHONE
+ ||
+
+210 
+f_d©a
+->
+ty³
+ =ð
+GL_STORE_T_MMC
+)
+
+211 
+phÚe_út
+++;
+
+214 
+gþu¡\94
+ = 
+NULL
+;
+
+215 
+gþu¡\94
+ = 
+       `_gl_d©a_ut\9e_ÿÎoc_gþu¡\94
+();
+
+216 ià(
+gþu¡\94
+ =ð
+NULL
+) {
+
+217 
+       `gl_dbgE
+("_gl_data_util_calloc_gcluster failed!");
+
+218 
+       `_gl_d©a_ty³_ä\93_gl\99em
+((\1e**)&
+f_d©a
+);
+
+222 
+gþu¡\94
+->
+ad
+ =\87d;
+
+223 
+gþu¡\94
+->
+þu¡\94
+ = 
+f_d©a
+;
+
+225 
+Ëngth
+ +ð
+f_d©a
+->
+couÁ
+;
+
+227 ià(
+       `_gl_d©a_is_ÿm\94a_®bum
+(
+f_d©a
+)) {
+
+234 ià(
+deçuÉ_®bum
+) {
+
+236 ià(
+       `_gl_d©a_check_roÙ_ty³
+(
+f_d©a
+->
+·th
+, 
+GL_ROOT_PATH_PHONE
+)) {
+
+237 
+ad
+->
+®bum\9afo
+.
+\96
+->
+þi¡
+ = 
+       `e\9aa_li¡_´\95\92d
+(ad->albuminfo.elist->clist,
+
+238 
+gþu¡\94
+);
+
+240 
+ad
+->
+®bum\9afo
+.
+\96
+->
+þi¡
+ = 
+       `e\9aa_li¡_­³nd_»Ïtive
+(ad->albuminfo.elist->clist,
+
+241 
+gþu¡\94
+,
+
+242 
+deçuÉ_®bum
+);
+
+243 
+deçuÉ_®bum
+ = 
+gþu¡\94
+;
+
+246 
+deçuÉ_®bum
+ = 
+gþu¡\94
+;
+
+247 
+ad
+->
+®bum\9afo
+.
+\96
+->
+þi¡
+ = 
+       `e\9aa_li¡_´\95\92d
+(ad->albuminfo.elist->clist,
+
+248 
+gþu¡\94
+);
+
+250 } \vià(
+       `_gl_d©a_is_deçuÉ_®bum
+(
+GL_STR_ALBUM_DOWNLOADS
+, 
+f_d©a
+è|| 
+       `_gl_d©a_is_sü\93nshÙ_®bum
+(
+GL_STR_ALBUM_SCREENSHOTS
+, f_data)) {
+
+251 ià(
+deçuÉ_®bum
+)
+
+252 
+ad
+->
+®bum\9afo
+.
+\96
+->
+þi¡
+ = 
+       `e\9aa_li¡_­³nd_»Ïtive
+(ad->albuminfo.elist->clist,
+
+253 
+gþu¡\94
+,
+
+254 
+deçuÉ_®bum
+);
+
+256 
+ad
+->
+®bum\9afo
+.
+\96
+->
+þi¡
+ = 
+       `e\9aa_li¡_´\95\92d
+(ad->albuminfo.elist->clist,
+
+257 
+gþu¡\94
+);
+
+259 
+ad
+->
+®bum\9afo
+.
+\96
+->
+þi¡
+ = 
+       `e\9aa_li¡_­³nd
+(ad->albuminfo.elist->clist,
+
+260 
+gþu¡\94
+);
+
+263 
+ed\99_®bum_út
+++;
+
+265 ià(
+£l_id_li¡
+) {
+
+266 
+b_£Ëùed
+ = 
+       `_gl_d©a_ut\9e_check_£Ëùed_¡r_id
+(&
+£l_id_li¡
+,
+
+267 
+f_d©a
+->
+uuid
+);
+
+268 ià(
+b_£Ëùed
+) {
+
+269 
+b_£Ëùed
+ = 
+çl£
+;
+
+271 
+gþu¡\94
+->
+checked
+ = 
+\8cue
+;
+
+273 
+       `_gl_d©a_®bums_£Ëùed_li¡_­³nd
+(
+ad
+, 
+gþu¡\94
+);
+
+276 ià(
+       `¡¾\92
+(
+£l_id
+è> 0 && !
+       `g_¡rcmp0
+(£l_id, 
+f_d©a
+->
+uuid
+)) {
+
+277 
+       `gl_dbgW
+("Found selected_album.");
+
+278 
+ad
+->
+®bum\9afo
+.
+£Ëùed
+ = 
+gþu¡\94
+;
+
+283 ià(
+£l_id_li¡
+) {
+
+284 
+b_£Ëùed
+ = 
+       `_gl_d©a_ut\9e_check_£Ëùed_¡r_id
+(&
+£l_id_li¡
+,
+
+285 
+GL_ALBUM_ALL_ID
+);
+
+286 
+       `_gl_d©a_ut\9e\93_£Ëùed_¡r_li¡
+(&
+£l_id_li¡
+);
+
+289 
+ad
+->
+®bum\9afo
+.
+\96
+->
+phÚe_út
+ =\85hone_cnt;
+
+290 
+ad
+->
+®bum\9afo
+.
+\96
+->
+ed\99_út
+ = 
+ed\99_®bum_út
+;
+
+296 ià(
+®l_\99em_út
+) {
+
+297 
+       `_gl_db_upd©e_£t_couÁ
+(
+ad
+, 
+®l_\99em_út
+);
+
+299 
+gþu¡\94
+ = 
+       `_gl_d©a_ut\9e_Ãw_gþu¡\94_®l
+(
+ad
+, 
+®l_\99em_út
+);
+
+300 ià(
+gþu¡\94
+ =ð
+NULL
+) {
+
+301 
+       `gl_dbgE
+("_gl_data_util_new_gcluster_all failed!");
+
+302 
+       `_gl_d©a_þ\97r_þu¡\94_li¡
+(
+ad
+, 
+çl£
+);
+
+305 ià(
+b_£Ëùed
+) {
+
+306 
+b_£Ëùed
+ = 
+çl£
+;
+
+308 
+gþu¡\94
+->
+checked
+ = 
+\8cue
+;
+
+310 
+       `_gl_d©a_®bums_£Ëùed_li¡_­³nd
+(
+ad
+, 
+gþu¡\94
+);
+
+313 ià(
+deçuÉ_®bum
+)
+
+314 
+ad
+->
+®bum\9afo
+.
+\96
+->
+þi¡
+ = 
+       `e\9aa_li¡_­³nd_»Ïtive
+(ad->albuminfo.elist->clist,
+
+315 
+gþu¡\94
+,
+
+316 
+deçuÉ_®bum
+);
+
+318 
+ad
+->
+®bum\9afo
+.
+\96
+->
+þi¡
+ = 
+       `e\9aa_li¡_´\95\92d
+(ad->albuminfo.elist->clist,
+
+319 
+gþu¡\94
+);
+
+320 
+deçuÉ_®bum
+ = 
+gþu¡\94
+;
+
+323 
+ad
+->
+ma\9a\9afo
+.
+®l_med\9fs_út
+ = 
+®l_\99em_út
+;
+
+328 \12
+çv_couÁ
+ = 0;
+
+329 
+\94r
+ = 
+       `_gl_g\91_çv_image_couÁ
+(&
+çv_couÁ
+);
+
+330 
+       `gl_dbg
+("çv imag\90couÁ i : %d", 
+çv_couÁ
+);
+
+332 ià(
+çv_couÁ
+) {
+
+334 
+gþu¡\94
+ = 
+       `_gl_d©a_ut\9e_Ãw_gþu¡\94_çv
+(
+ad
+, 
+çv_couÁ
+);
+
+335 ià(
+gþu¡\94
+ =ð
+NULL
+) {
+
+336 
+       `gl_dbgE
+("_gl_data_util_new_gcluster_all failed!");
+
+337 
+       `_gl_d©a_þ\97r_þu¡\94_li¡
+(
+ad
+, 
+çl£
+);
+
+340 ià(
+b_£Ëùed
+) {
+
+341 
+b_£Ëùed
+ = 
+çl£
+;
+
+343 
+gþu¡\94
+->
+checked
+ = 
+\8cue
+;
+
+345 
+       `_gl_d©a_®bums_£Ëùed_li¡_­³nd
+(
+ad
+, 
+gþu¡\94
+);
+
+348 ià(
+deçuÉ_®bum
+) {
+
+349 
+ad
+->
+®bum\9afo
+.
+\96
+->
+þi¡
+ = 
+       `e\9aa_li¡_­³nd_»Ïtive
+(
+
+350 
+ad
+->
+®bum\9afo
+.
+\96
+->
+þi¡
+, 
+gþu¡\94
+, 
+deçuÉ_®bum
+);
+
+352 
+ad
+->
+®bum\9afo
+.
+\96
+->
+þi¡
+ = 
+       `e\9aa_li¡_´\95\92d
+(
+
+353 
+ad
+->
+®bum\9afo
+.
+\96
+->
+þi¡
+, 
+gþu¡\94
+);
+
+355 
+deçuÉ_®bum
+ = 
+gþu¡\94
+;
+
+358 ià(
+®l_\99em_út
+) {
+
+359 
+       `_gl_db_upd©e_£t_couÁ
+(
+ad
+, 
+®l_\99em_út
+);
+
+361 
+ad
+->
+ma\9a\9afo
+.
+®l_med\9fs_út
+ = 
+®l_\99em_út
+;
+
+364 
+       `gl_dbg
+("Cluster Done.");
+
+365 
+GL_PROFILE_OUT
+;
+
+366 \15 
+Ëngth
+;
+
+367 
+       }
+}
+
+370 
+gl_\99em
+ *
+       $_gl_d©a_Ãw_g\99em
+(\1e*
+d©a
+, cڡ \ 5*
+\99em_id
+)
+
+372 
+       `GL_CHECK_NULL
+(
+d©a
+);
+
+374 
+gl_\99em
+ *
+g\99em
+ = 
+       `_gl_d©a_ut\9e_ÿÎoc_g\99em
+();
+
+375 
+       `GL_CHECK_NULL
+(
+g\99em
+);
+
+377 
+       `_gl_loÿl_d©a_g\91_med\9f_by_id
+((\ 5*)
+\99em_id
+, &(
+g\99em
+->
+\99em
+));
+
+378 ià(
+g\99em
+->
+\99em
+ =ð
+NULL
+) {
+
+379 
+       `_gl_d©a_ut\9e\93_g\99em
+(
+g\99em
+);
+
+380 \15 
+NULL
+;
+
+382 \15 
+g\99em
+;
+
+383 
+       }
+}
+
+385 
+gl_\99em
+ *
+       $_gl_d©a_Ãw_\99em_m\99em
+(
+gl_med\9f_s
+ *
+m\99em
+)
+
+387 
+gl_\99em
+ *
+g\99em
+ = 
+       `_gl_d©a_ut\9e_ÿÎoc_g\99em
+();
+
+388 
+       `GL_CHECK_NULL
+(
+g\99em
+);
+
+389 
+g\99em
+->
+\99em
+ = 
+m\99em
+;
+
+391 \15 
+g\99em
+;
+
+392 
+       }
+}
+
+397 
+boÞ
+       $_gl_d©a_is_deçuÉ_®bum
+(cڡ \ 5*
+m©ch_fÞd\94
+, 
+gl_®bum_s
+ *
+®bum
+)
+
+399 
+       `GL_CHECK_FALSE
+(
+®bum
+);
+
+400 
+       `GL_CHECK_FALSE
+(
+®bum
+->
+di¥Ïy_Çme
+);
+
+401 
+       `GL_CHECK_FALSE
+(
+®bum
+->
+uuid
+);
+
+402 
+       `GL_CHECK_FALSE
+(
+m©ch_fÞd\94
+);
+
+405 ià(!
+       `g_¡rcmp0
+(
+®bum
+->
+di¥Ïy_Çme
+, 
+m©ch_fÞd\94
+) &&
+
+406 
+®bum
+->
+ty³
+ =ð
+GL_STORE_T_PHONE
+) {
+
+407 \ 5
+·»Á_·th
+[
+GL_DIR_PATH_LEN_MAX
+] = { 0, };
+
+409 
+       `gl_sdbg
+("FuÎ\85©h: %s", 
+®bum
+->
+·th
+);
+
+411 
+       `_gl_d©a_ut\9e_g\91_f\9ee_d\9c_Çme
+(
+®bum
+->
+·th
+, 
+NULL
+, NULL,
+
+412 
+·»Á_·th
+);
+
+413 
+       `gl_sdbg
+("P¬\92\88·th: %s.", 
+·»Á_·th
+);
+
+416 \15 (!
+       `g_¡rcmp0
+(
+·»Á_·th
+, 
+GL_ROOT_PATH_PHONE
+));
+
+419 \15 
+çl£
+;
+
+420 
+       }
+}
+
+425 
+boÞ
+       $_gl_d©a_is_sü\93nshÙ_®bum
+(cڡ \ 5*
+m©ch_fÞd\94
+, 
+gl_®bum_s
+ *
+®bum
+)
+
+427 
+       `GL_CHECK_FALSE
+(
+®bum
+);
+
+428 
+       `GL_CHECK_FALSE
+(
+®bum
+->
+di¥Ïy_Çme
+);
+
+429 
+       `GL_CHECK_FALSE
+(
+®bum
+->
+uuid
+);
+
+430 
+       `GL_CHECK_FALSE
+(
+m©ch_fÞd\94
+);
+
+432 ià(!
+       `g_¡rcmp0
+(
+®bum
+->
+di¥Ïy_Çme
+, 
+m©ch_fÞd\94
+) &&
+
+433 
+®bum
+->
+ty³
+ =ð
+GL_STORE_T_PHONE
+) {
+
+434 \ 5
+·»Á_·th
+[
+GL_DIR_PATH_LEN_MAX
+] = { 0, };
+
+436 
+       `_gl_d©a_ut\9e_g\91_f\9ee_d\9c_Çme
+(
+®bum
+->
+·th
+, 
+NULL
+, NULL,
+
+437 
+·»Á_·th
+);
+
+439 \15 (!
+       `g_¡rcmp0
+(
+·»Á_·th
+, 
+GL_DEFAULT_PATH_PICTURES
+));
+
+442 \15 
+çl£
+;
+
+443 
+       }
+}
+
+448 
+boÞ
+       $_gl_d©a_is_ÿm\94a_®bum
+(
+gl_®bum_s
+ *
+®bum
+)
+
+450 
+       `GL_CHECK_FALSE
+(
+®bum
+);
+
+451 
+       `GL_CHECK_FALSE
+(
+®bum
+->
+di¥Ïy_Çme
+);
+
+453 \ 1
+       #GL_DCIM
+ "DCIM"
+
+       )
+
+455 ià(!
+       `g_¡rcmp0
+(
+®bum
+->
+di¥Ïy_Çme
+, 
+GL_STR_ALBUM_CAMERA
+)) {
+
+456 \ 5*
+·»Á_·th
+ = (\ 5*)
+       `ÿÎoc
+(1, 
+GL_DIR_PATH_LEN_MAX
+);
+
+457 
+       `GL_CHECK_FALSE
+(
+·»Á_·th
+);
+
+459 cڡ \ 5*
+roÙ
+ = 
+NULL
+;
+
+460 ià(
+®bum
+->
+ty³
+ =ð
+GL_STORE_T_PHONE
+)
+
+461 
+roÙ
+ = 
+GL_ROOT_PATH_PHONE
+;
+
+463 
+roÙ
+ = 
+GL_ROOT_PATH_MMC
+;
+
+465 
+       `gl_sdbg
+("FuÎ\85©h: %s", 
+®bum
+->
+·th
+);
+
+466 
+       `_gl_d©a_ut\9e_g\91_f\9ee_d\9c_Çme
+(
+®bum
+->
+·th
+, 
+NULL
+, NULL,
+
+467 
+·»Á_·th
+);
+
+468 
+       `gl_sdbg
+("P¬\92\88·th: %s.", 
+·»Á_·th
+);
+
+470 \ 5*
+dcim_·th
+ = 
+       `g_¡rdup_´\9atf
+("%s/%s", 
+roÙ
+, 
+GL_DCIM
+);
+
+471 ià(
+dcim_·th
+ =ð
+NULL
+) {
+
+472 
+       `GL_GFREE
+(
+·»Á_·th
+);
+
+473 \15 
+çl£
+;
+
+476 
+boÞ
+»t
+ = 
+çl£
+;
+
+477 
+»t
+ = !
+       `g_¡rcmp0
+(
+dcim_·th
+, 
+·»Á_·th
+);
+
+479 
+       `GL_GFREE
+(
+·»Á_·th
+);
+
+480 
+       `GL_GFREE
+(
+dcim_·th
+);
+
+481 \15 
+»t
+;
+
+484 \15 
+çl£
+;
+
+485 
+       }
+}
+
+487 \12
+       $_gl_d©a_ý_\99em_li¡
+(\1e*
+d©a
+, 
+E\9aa_Li¡
+ *
+\96
+, E\9aa_Li¡ **
+p_\96
+)
+
+489 
+       `GL_CHECK_VAL
+(
+p_\96
+, -1);
+
+490 
+       `GL_CHECK_VAL
+(
+\96
+, -1);
+
+491 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+493 
+E\9aa_Li¡
+ *
+l
+ = 
+NULL
+;
+
+494 
+gl_\99em
+ *
+g\99em
+ = 
+NULL
+;
+
+495 
+gl_\99em
+ *
+ng\99em
+ = 
+NULL
+;
+
+496 
+       `EINA_LIST_FOREACH
+(
+\96
+, 
+l
+, 
+g\99em
+) {
+
+497 ià(!
+g\99em
+ || !g\99em->
+\99em
+)
+
+499 
+ng\99em
+ = 
+       `_gl_d©a_Ãw_g\99em
+(
+d©a
+, 
+g\99em
+->
+\99em
+->
+uuid
+);
+
+500 ià(
+ng\99em
+)
+
+501 *
+p_\96
+ = 
+       `e\9aa_li¡_­³nd
+(*p_\96i¡, 
+ng\99em
+);
+
+504 
+       }
+}
+
+506 \12
+       $_gl_d©a_þ\97r_þu¡\94_li¡
+(\1e*
+d©a
+, 
+boÞ
+b_fÜû
+)
+
+508 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+509 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+511 
+       `_gl_®bums_£t_cu¼\92t
+(
+d©a
+, 
+NULL
+);
+
+513 ià(
+ad
+->
+®bum\9afo
+.
+\96
+) {
+
+514 
+       `_gl_d©a_ut\9e\97r_þu¡\94_li¡
+(&(
+ad
+->
+®bum\9afo
+.
+\96
+->
+þi¡
+));
+
+515 ià(
+b_fÜû
+) {
+
+516 
+       `GL_FREE
+(
+ad
+->
+®bum\9afo
+.
+\96
+);
+
+520 
+       }
+}
+
+522 \12
+       $_gl_d©a_cÝy_þu¡\94_li¡
+(\1e*
+d©a
+, 
+boÞ
+b_fÜû
+, 
+E\9aa_Li¡
+ **
+li¡
+)
+
+524 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+525 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+527 
+       `_gl_®bums_£t_cu¼\92t
+(
+d©a
+, 
+NULL
+);
+
+528 
+gl_þu¡\94
+ *
+cu¼\92t
+ = 
+NULL
+;
+
+529 \12
+couÁ
+ = 
+       `e\9aa_li¡_couÁ
+(
+ad
+->
+®bum\9afo
+.
+\96
+->
+þi¡
+);
+
+530 \12
+i
+;
+
+531 \ f
+i
+ = 0; i < 
+couÁ
+; i++) {
+
+532 
+cu¼\92t
+ = 
+       `e\9aa_li¡_Áh
+(
+ad
+->
+®bum\9afo
+.
+\96
+->
+þi¡
+, 
+i
+);
+
+533 ià(
+cu¼\92t
+) {
+
+534 (*
+li¡
+èð
+       `e\9aa_li¡_­³nd
+((*li¡), 
+cu¼\92t
+);
+
+537 ià(
+ad
+->
+®bum\9afo
+.
+\96
+) {
+
+538 
+ad
+->
+®bum\9afo
+.
+\96
+->
+þi¡
+ = 
+NULL
+;
+
+539 ià(
+b_fÜû
+) {
+
+540 
+       `GL_FREE
+(
+ad
+->
+®bum\9afo
+.
+\96
+);
+
+544 
+       }
+}
+
+546 
+boÞ
+       $_gl_d©a_g\91_þu¡\94_li¡
+(\1e*
+d©a
+)
+
+548 
+GL_PROFILE_IN
+;
+
+549 
+       `GL_CHECK_FALSE
+(
+d©a
+);
+
+550 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+551 \12
+n_\92t\9ce_\99ems
+ = 0;
+
+554 
+       `_gl_d©a_f\9a®ize_®bums_£Ëùed_li¡
+(
+ad
+);
+
+555 
+       `_gl_d©a_þ\97r_þu¡\94_li¡
+(
+ad
+, 
+\8cue
+);
+
+557 
+ad
+->
+®bum\9afo
+.
+\96
+ = 
+       `_gl_d©a_ut\9e_ÿÎoc_þu¡\94_li¡
+();
+
+558 
+       `GL_CHECK_FALSE
+(
+ad
+->
+®bum\9afo
+.
+\96
+);
+
+559 
+n_\92t\9ce_\99ems
+ = 
+       `__gl_d©a_g\91_þu¡\94_li¡
+(
+ad
+, 
+çl£
+);
+
+560 ià(
+n_\92t\9ce_\99ems
+ <= 0)
+
+561 \15 
+çl£
+;
+
+563 
+       `gl_dbg
+("þu¡\94-Ëngth:%d", 
+n_\92t\9ce_\99ems
+);
+
+564 
+GL_PROFILE_OUT
+;
+
+565 \15 
+\8cue
+;
+
+566 
+       }
+}
+
+568 \1e
+       $_gl_upd©e_®bum_£Ëùed_d©a
+(\1e*
+d©a
+, 
+E\9aa_Li¡
+ **
+li¡
+)
+
+570 
+       `GL_CHECK
+(
+d©a
+);
+
+571 
+       `GL_CHECK
+(
+li¡
+);
+
+572 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+573 
+gl_þu¡\94
+ *
+cu¼\92t
+ = 
+NULL
+;
+
+574 
+gl_þu¡\94
+ *
+s\99
+ = 
+NULL
+;
+
+575 
+E\9aa_Li¡
+ *
+tmp_\96
+ = 
+NULL
+;
+
+576 ià((*
+li¡
+è&& 
+ad
+->
+®bum\9afo
+.
+\96
+ &&\87d->®bum\9afo.\96i¡->
+þi¡
+) {
+
+577 \12
+couÁ
+ = 
+       `e\9aa_li¡_couÁ
+(
+ad
+->
+®bum\9afo
+.
+\96
+->
+þi¡
+);
+
+578 \12
+i
+;
+
+579 \ f
+i
+ = 0; i < 
+couÁ
+; i++) {
+
+580 
+cu¼\92t
+ = 
+       `e\9aa_li¡_Áh
+(
+ad
+->
+®bum\9afo
+.
+\96
+->
+þi¡
+, 
+i
+);
+
+581 ià(
+cu¼\92t
+ && cu¼\92t->
+þu¡\94
+) {
+
+582 
+       `EINA_LIST_FOREACH
+((*
+li¡
+), 
+tmp_\96
+, 
+s\99
+) {
+
+583 ià(
+s\99
+ && s\99->
+þu¡\94
+) {
+
+584 ià(!
+       `g_¡rcmp0
+(
+cu¼\92t
+->
+þu¡\94
+->
+uuid
+, 
+s\99
+->cluster->uuid)) {
+
+585 
+cu¼\92t
+->
+\96
+ = 
+s\99
+->elist;
+
+591 
+       `_gl_d©a_ut\9e\97r_þu¡\94_li¡
+(
+li¡
+);
+
+594 ià(
+li¡
+) {
+
+595 
+       `gl_dbg
+("List is\82ot NULL");
+
+598 
+       }
+}
+
+600 
+boÞ
+       $_gl_d©a_g\91_þu¡\94_li¡_ed\99_mode
+(\1e*
+d©a
+)
+
+602 
+GL_PROFILE_IN
+;
+
+603 
+       `GL_CHECK_FALSE
+(
+d©a
+);
+
+604 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+605 \12
+n_\92t\9ce_\99ems
+ = 0;
+
+606 
+E\9aa_Li¡
+ *
+li¡
+ = 
+NULL
+;
+
+609 
+       `_gl_d©a_cÝy_þu¡\94_li¡
+(
+ad
+, 
+\8cue
+, &
+li¡
+);
+
+610 ià(!
+li¡
+ ) {
+
+611 
+       `gl_dbg
+("list is\82ull");
+
+613 \12
+couÁ
+ = 
+       `e\9aa_li¡_couÁ
+(
+li¡
+);
+
+614 
+gl_þu¡\94
+ *
+cu¼\92t
+ = 
+NULL
+;
+
+615 \12
+i
+;
+
+616 \ f
+i
+ = 0; i < 
+couÁ
+; i++) {
+
+617 
+cu¼\92t
+ = 
+       `e\9aa_li¡_Áh
+(
+li¡
+, 
+i
+);
+
+618 ià(
+cu¼\92t
+) {
+
+619 \12
+couÁ1
+ = 
+       `e\9aa_li¡_couÁ
+(
+cu¼\92t
+->
+\96
+);
+
+623 
+ad
+->
+®bum\9afo
+.
+\96
+ = 
+       `_gl_d©a_ut\9e_ÿÎoc_þu¡\94_li¡
+();
+
+624 
+       `GL_CHECK_FALSE
+(
+ad
+->
+®bum\9afo
+.
+\96
+);
+
+625 
+n_\92t\9ce_\99ems
+ = 
+       `__gl_d©a_g\91_þu¡\94_li¡
+(
+ad
+, 
+çl£
+);
+
+626 ià(
+n_\92t\9ce_\99ems
+ <= 0)
+
+627 \15 
+çl£
+;
+
+629 
+       `_gl_upd©e_®bum_£Ëùed_d©a
+(
+d©a
+, &
+li¡
+);
+
+630 
+gl_þu¡\94
+ *
+cu¼\92t
+ = 
+NULL
+;
+
+631 \12
+i
+;
+
+632 \12
+couÁ
+ = 
+       `e\9aa_li¡_couÁ
+(
+ad
+->
+®bum\9afo
+.
+\96
+->
+þi¡
+);
+
+633 \ f
+i
+ = 0; i < 
+couÁ
+; i++) {
+
+634 
+cu¼\92t
+ = 
+       `e\9aa_li¡_Áh
+(
+ad
+->
+®bum\9afo
+.
+\96
+->
+þi¡
+, 
+i
+);
+
+635 ià(
+cu¼\92t
+) {
+
+636 \12
+couÁ1
+ = 
+       `e\9aa_li¡_couÁ
+(
+cu¼\92t
+->
+\96
+);
+
+639 
+GL_PROFILE_OUT
+;
+
+640 \15 
+\8cue
+;
+
+641 
+       }
+}
+
+644 \12
+       $_gl_d©a_upd©e_þu¡\94_li¡
+(\1e*
+d©a
+)
+
+646 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+647 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+648 \12
+Ën
+ = 0;
+
+650 
+Ën
+ = 
+       `__gl_d©a_g\91_þu¡\94_li¡
+(
+ad
+, 
+\8cue
+);
+
+651 
+       `gl_dbg
+("Clu¡\94\86\86\92gth: %d.", 
+Ën
+);
+
+652 ià(
+Ën
+ <= 0)
+
+656 
+       }
+}
+
+658 \12
+       $_gl_d©a_þu¡\94_li¡_»move
+(\1e*
+d©a
+, 
+gl_þu¡\94
+ *
+\99em
+)
+
+660 
+       `GL_CHECK_VAL
+(
+\99em
+, -1);
+
+661 
+       `GL_CHECK_VAL
+(
+\99em
+->
+þu¡\94
+, -1);
+
+662 
+       `GL_CHECK_VAL
+(
+\99em
+->
+þu¡\94
+->
+uuid
+, -1);
+
+663 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+664 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+665 
+gl_þu¡\94
+ *
+cu¼\92t
+ = 
+NULL
+;
+
+666 
+E\9aa_Li¡
+ *
+l
+ = 
+NULL
+;
+
+668 
+       `GL_CHECK_VAL
+(
+ad
+->
+®bum\9afo
+.
+\96
+, -1);
+
+669 
+       `GL_CHECK_VAL
+(
+ad
+->
+®bum\9afo
+.
+\96
+->
+þi¡
+, -1);
+
+670 
+E\9aa_Li¡
+ *
+þu¡\94_li¡
+ = 
+ad
+->
+®bum\9afo
+.
+\96
+->
+þi¡
+;
+
+671 
+       `EINA_LIST_FOREACH
+(
+þu¡\94_li¡
+, 
+l
+, 
+cu¼\92t
+) {
+
+672 ià(
+cu¼\92t
+ =ð
+NULL
+ || cu¼\92t->
+þu¡\94
+ == NULL ||
+
+673 
+cu¼\92t
+->
+þu¡\94
+->
+uuid
+ =ð
+NULL
+) {
+
+674 
+       `gl_dbgE
+("Invalid\87lbum item!");
+
+678 ià(!
+       `g_¡rcmp0
+(
+cu¼\92t
+->
+þu¡\94
+->
+uuid
+, 
+\99em
+->cluster->uuid)) {
+
+679 
+ad
+->
+®bum\9afo
+.
+\96
+->
+þi¡
+ = 
+       `e\9aa_li¡_»move
+(ad->albuminfo.elist->clist,
+
+680 
+cu¼\92t
+);
+
+681 
+       `_gl_d©a_ut\9e\93_gþu¡\94
+(
+cu¼\92t
+);
+
+684 
+cu¼\92t
+ = 
+NULL
+;
+
+688 
+       }
+}
+
+690 \12
+       $_gl_d©a_g\91_þu¡\94_by_id
+(\1e*
+d©a
+, cڡ \ 5*
+þu¡\94_id
+,
+
+691 
+gl_þu¡\94
+ **
+þu¡\94
+)
+
+693 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+694 
+       `GL_CHECK_VAL
+(
+þu¡\94
+, -1);
+
+695 
+       `GL_CHECK_VAL
+(
+þu¡\94_id
+, -1);
+
+696 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+697 \12
+i
+ = 0;
+
+698 
+gl_þu¡\94
+ *
+cu¼\92t
+ = 
+NULL
+;
+
+700 *
+þu¡\94
+ = 
+NULL
+;
+
+702 
+       `GL_CHECK_VAL
+(
+ad
+->
+®bum\9afo
+.
+\96
+, -1);
+
+703 \12
+Ëngth
+ = 
+       `e\9aa_li¡_couÁ
+(
+ad
+->
+®bum\9afo
+.
+\96
+->
+þi¡
+);
+
+704 
+       `gl_sdbg
+("®bum\86\92gth: %d, cu¼\92\88®bum id: %s", 
+Ëngth
+, 
+þu¡\94_id
+);
+
+706 \ f
+i
+ = 0; i < 
+Ëngth
+; i++) {
+
+707 
+cu¼\92t
+ = 
+       `e\9aa_li¡_Áh
+(
+ad
+->
+®bum\9afo
+.
+\96
+->
+þi¡
+, 
+i
+);
+
+708 ià(
+cu¼\92t
+ && cu¼\92t->
+þu¡\94
+ && cu¼\92t->þu¡\94->
+uuid
+) {
+
+709 
+       `gl_sdbg
+("þu¡\94 : %s", 
+cu¼\92t
+->
+þu¡\94
+->
+di¥Ïy_Çme
+);
+
+711 
+       `gl_dbgE
+("cluster is NULL");
+
+715 ià(!
+       `g_¡rcmp0
+(
+cu¼\92t
+->
+þu¡\94
+->
+uuid
+, 
+þu¡\94_id
+)) {
+
+716 *
+þu¡\94
+ = 
+cu¼\92t
+;
+
+717 
+       `gl_dbgW
+("Found!");
+
+722 
+       }
+}
+
+724 \12
+       $_gl_d©a_g\91_þu¡\94_by_·th
+(\1e*
+d©a
+, cڡ \ 5*
+·th
+,
+
+725 
+gl_þu¡\94
+ **
+þu¡\94
+)
+
+727 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+728 
+       `GL_CHECK_VAL
+(
+þu¡\94
+, -1);
+
+729 
+       `GL_CHECK_VAL
+(
+·th
+, -1);
+
+730 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+731 \12
+i
+ = 0;
+
+732 
+gl_þu¡\94
+ *
+cu¼\92t
+ = 
+NULL
+;
+
+734 *
+þu¡\94
+ = 
+NULL
+;
+
+736 
+       `GL_CHECK_VAL
+(
+ad
+->
+®bum\9afo
+.
+\96
+, -1);
+
+737 \12
+Ëngth
+ = 
+       `e\9aa_li¡_couÁ
+(
+ad
+->
+®bum\9afo
+.
+\96
+->
+þi¡
+);
+
+738 
+       `gl_sdbg
+("®bum\86\92gth: %d,\85©h: %s", 
+Ëngth
+, 
+·th
+);
+
+740 \ f
+i
+ = 0; i < 
+Ëngth
+; i++) {
+
+741 
+cu¼\92t
+ = 
+       `e\9aa_li¡_Áh
+(
+ad
+->
+®bum\9afo
+.
+\96
+->
+þi¡
+, 
+i
+);
+
+742 ià(
+cu¼\92t
+ && cu¼\92t->
+þu¡\94
+ && cu¼\92t->þu¡\94->
+·th
+) {
+
+743 
+       `gl_sdbg
+("þu¡\94 : %s", 
+cu¼\92t
+->
+þu¡\94
+->
+di¥Ïy_Çme
+);
+
+745 
+       `gl_dbgE
+("cluster is NULL");
+
+749 ià(!
+       `g_¡rcmp0
+(
+cu¼\92t
+->
+þu¡\94
+->
+·th
+,\85ath)) {
+
+750 *
+þu¡\94
+ = 
+cu¼\92t
+;
+
+751 
+       `gl_dbgW
+("Found!");
+
+756 
+       }
+}
+
+761 \12
+       $_gl_d©a_®bums_£Ëùed_li¡_­³nd
+(\1e*
+d©a
+, 
+gl_þu¡\94
+ *
+\99em
+)
+
+763 
+       `GL_CHECK_VAL
+(
+\99em
+, -1);
+
+764 
+       `GL_CHECK_VAL
+(
+\99em
+->
+þu¡\94
+, -1);
+
+765 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+766 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+767 \12
+img_út
+ = 0;
+
+768 \12
+£l_út
+ = 0;
+
+769 \12
+web_út
+ = 0;
+
+771 ià(
+GL_STORE_T_PHONE
+ !ð
+\99em
+->
+þu¡\94
+->
+ty³
+ ||
+
+772 
+       `_gl_d©a_is_ÿm\94a_®bum
+(
+\99em
+->
+þu¡\94
+) ||
+
+773 
+       `_gl_d©a_is_deçuÉ_®bum
+(
+GL_STR_ALBUM_DOWNLOADS
+, 
+\99em
+->
+þu¡\94
+))
+
+774 ++
+ad
+->
+£l\9afo
+.
+di§bË_hide_út
+;
+
+775 
+       `_gl_d©a_ut\9e_check_®bum_£Ëùed_f\9ees
+(
+\99em
+, &
+img_út
+,
+
+776 &
+£l_út
+, &
+web_út
+);
+
+778 
+ad
+->
+£l\9afo
+.
+images_út
+ =\87d->£l\9afo.images_ú\88
+img_út
+;
+
+779 
+ad
+->
+£l\9afo
+.
+£l_út
+ =\87d->selinfo.sel_cnt + sel_cnt;
+
+780 
+ad
+->
+®bum\9afo
+.
+£l_\96
+ = 
+       `e\9aa_li¡_­³nd
+×d->®bum\9afo.£l_\96i¡, 
+\99em
+);
+
+783 
+       }
+}
+
+786 
+boÞ
+       $_gl_d©a_exi¡s_\99em
+(\1e*
+d©a
+, cڡ \ 5*
+id
+)
+
+788 
+       `GL_CHECK_NULL
+(
+d©a
+);
+
+789 
+       `GL_CHECK_FALSE
+(
+id
+);
+
+790 
+gl_med\9f_s
+ *
+Ãw_\99em
+ = 
+NULL
+;
+
+792 
+       `_gl_loÿl_d©a_g\91_med\9f_by_id
+((\ 5*)
+id
+, &(
+Ãw_\99em
+));
+
+793 ià(
+Ãw_\99em
+ =ð
+NULL
+) {
+
+794 
+       `gl_dbgW
+("gl_media_s doesn't\83xist!");
+
+795 \15 
+çl£
+;
+
+797 
+       `_gl_d©a_ty³_ä\93_gl\99em
+((\1e**)&
+Ãw_\99em
+);
+
+798 
+Ãw_\99em
+ = 
+NULL
+;
+
+799 \15 
+\8cue
+;
+
+801 
+       }
+}
+
+806 \12
+       $_gl_d©a_g\91_\99em_út
+(cڡ \ 5*
+þu¡\94_id
+, \12
+®bum_ty³
+, \12*
+\99em_út
+)
+
+808 
+       `GL_CHECK_VAL
+(
+\99em_út
+, -1);
+
+809 \12
+\94r
+ = -1;
+
+810 
+       `gl_sdbg
+("þu¡\94_id: %s", 
+þu¡\94_id
+);
+
+812 
+gl_f\9e\8br_s
+f\9e\8br
+;
+
+813 
+       `mem£t
+(&
+f\9e\8br
+, 0x00, \17(
+gl_f\9e\8br_s
+));
+
+814 
+       `_gl_d©a_ut\9e_g\91_cÚd
+(
+f\9e\8br
+.
+cÚd
+);
+
+815 
+f\9e\8br
+.
+sÜt_ty³
+ = 
+MEDIA_CONTENT_ORDER_DESC
+;
+
+816 
+       `g_¡¾ýy
+(
+f\9e\8br
+.
+sÜt_keywÜd
+, 
+GL_CONDITION_ORDER
+, 
+KEYWORD_LENGTH
+);
+
+817 
+f\9e\8br
+.
+cÞÏ\8b_ty³
+ = 
+MEDIA_CONTENT_COLLATE_NOCASE
+;
+
+818 
+f\9e\8br
+.
+off£t
+ = 
+GL_GET_ALL_RECORDS
+;
+
+819 
+f\9e\8br
+.
+couÁ
+ = 
+GL_GET_ALL_RECORDS
+;
+
+820 
+f\9e\8br
+.
+w\99h_m\91a
+ = 
+çl£
+;
+
+822 
+       `GL_CHECK_VAL
+(
+þu¡\94_id
+, -1);
+
+823 ià(
+®bum_ty³
+ =ð
+GL_STORE_T_PHONE
+ ||
+
+824 
+®bum_ty³
+ =ð
+GL_STORE_T_MMC
+) {
+
+826 
+\94r
+ = 
+       `_gl_loÿl_d©a_g\91_med\9f_couÁ
+(
+þu¡\94_id
+, &
+f\9e\8br
+,
+
+827 
+\99em_út
+);
+
+828 } \vià(
+®bum_ty³
+ =ð
+GL_STORE_T_ALL
+) {
+
+830 
+       `gl_dbg
+("All\87lbums media count.");
+
+831 
+\94r
+ = 
+       `_gl_loÿl_d©a_g\91_®l_med\9f_couÁ
+(&
+f\9e\8br
+, 
+\99em_út
+);
+
+832 } \vià(
+®bum_ty³
+ =ð
+GL_STORE_T_FAV
+) {
+
+834 
+       `gl_dbg
+("favorite\87lbums media count.");
+
+835 
+\94r
+ = 
+       `_gl_g\91_çv_image_couÁ
+(
+\99em_út
+);
+
+837 
+       `gl_dbgE
+("Invalid cluster_id!");
+
+841 ià(
+\94r
+ < 0) {
+
+842 
+       `gl_dbg
+("Fa\9eed\81Øg\91 i\8bm couÁ[\94r: %d]!", 
+\94r
+);
+
+846 
+       `gl_dbg
+("I\8bm couÁ: %d.", *
+\99em_út
+);
+
+848 
+       }
+}
+
+850 \12
+       $_gl_d©a_upd©e_\99em_út
+(
+gl_þu¡\94
+ *
+®bum
+)
+
+852 
+       `GL_CHECK_VAL
+(
+®bum
+, -1);
+
+853 
+       `GL_CHECK_VAL
+(
+®bum
+->
+þu¡\94
+, -1);
+
+854 \12
+\99em_couÁ
+ = 0;
+
+855 \12
+\94r
+ = -1;
+
+856 
+       `GL_CHECK_VAL
+(
+®bum
+->
+þu¡\94
+->
+uuid
+, -1);
+
+857 
+\94r
+ = 
+       `_gl_d©a_g\91_\99em_út
+(
+®bum
+->
+þu¡\94
+->
+uuid
+,\87lbum->þu¡\94->
+ty³
+, &
+\99em_couÁ
+);
+
+858 ià(
+\94r
+ != 0) {
+
+859 
+       `gl_dbg
+("_gl_data_get_item_cnt failed!");
+
+860 
+®bum
+->
+þu¡\94
+->
+couÁ
+ = 0;
+
+864 
+       `gl_dbg
+("Med\9f couÁ: old=%d,\82ew=%d", 
+®bum
+->
+þu¡\94
+->
+couÁ
+,
+
+865 
+\99em_couÁ
+);
+
+866 
+®bum
+->
+þu¡\94
+->
+couÁ
+ = 
+\99em_couÁ
+;
+
+869 
+       }
+}
+
+871 \12
+       $_gl_d©a_g\91_\99ems
+(\12
+¡¬t_pos
+, \12
+\92d_pos
+, 
+E\9aa_Li¡
+ **
+li¡
+)
+
+873 
+       `GL_CHECK_VAL
+(
+li¡
+, -1);
+
+874 \12
+\94r
+ = -1;
+
+875 
+gl_f\9e\8br_s
+f\9e\8br
+;
+
+877 
+       `mem£t
+(&
+f\9e\8br
+, 0x00, \17(
+gl_f\9e\8br_s
+));
+
+878 
+       `_gl_d©a_ut\9e_g\91_cÚd
+(
+f\9e\8br
+.
+cÚd
+);
+
+879 
+f\9e\8br
+.
+sÜt_ty³
+ = 
+MEDIA_CONTENT_ORDER_DESC
+;
+
+880 
+       `g_¡¾ýy
+(
+f\9e\8br
+.
+sÜt_keywÜd
+, 
+GL_CONDITION_ORDER
+, 
+KEYWORD_LENGTH
+);
+
+881 
+f\9e\8br
+.
+cÞÏ\8b_ty³
+ = 
+MEDIA_CONTENT_COLLATE_NOCASE
+;
+
+882 ià(
+¡¬t_pos
+ !ð
+GL_GET_ALL_RECORDS
+) {
+
+883 
+f\9e\8br
+.
+off£t
+ = 
+¡¬t_pos
+;
+
+884 
+f\9e\8br
+.
+couÁ
+ = 
+\92d_pos
+ - 
+¡¬t_pos
+ + 1;
+
+886 
+f\9e\8br
+.
+off£t
+ = 
+GL_GET_ALL_RECORDS
+;
+
+887 
+f\9e\8br
+.
+couÁ
+ = 
+GL_GET_ALL_RECORDS
+;
+
+889 
+f\9e\8br
+.
+w\99h_m\91a
+ = 
+\8cue
+;
+
+892 
+       `gl_dbg
+("_gl_data_get_items--all media");
+
+893 
+\94r
+ = 
+       `_gl_loÿl_d©a_g\91_®l_®bums_med\9f_li¡
+(&
+f\9e\8br
+, 
+li¡
+);
+
+894 
+       `gl_dbg
+("E¼Ü code: %d", 
+\94r
+);
+
+895 \15 
+\94r
+;
+
+896 
+       }
+}
+
+898 \12
+       $_gl_d©a_g\91_\99ems_®bum
+(\1e*
+d©a
+, 
+gl_þu¡\94
+ *
+®bum
+, \12
+¡¬t_pos
+,
+
+899 \12
+\92d_pos
+, 
+E\9aa_Li¡
+ **
+p_\96
+)
+
+901 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+902 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+903 
+E\9aa_Li¡
+ *
+\99emli¡
+ = 
+NULL
+;
+
+904 \12
+\94r
+ = -1;
+
+905 \12
+¡Üe_ty³
+ = 
+GL_STORE_T_PHONE
+;
+
+906 
+gl_f\9e\8br_s
+f\9e\8br
+;
+
+908 
+       `mem£t
+(&
+f\9e\8br
+, 0x00, \17(
+gl_f\9e\8br_s
+));
+
+909 
+       `_gl_d©a_ut\9e_g\91_cÚd
+(
+f\9e\8br
+.
+cÚd
+);
+
+910 
+f\9e\8br
+.
+sÜt_ty³
+ = 
+MEDIA_CONTENT_ORDER_DESC
+;
+
+911 
+       `g_¡¾ýy
+(
+f\9e\8br
+.
+sÜt_keywÜd
+, 
+GL_CONDITION_ORDER
+, 
+KEYWORD_LENGTH
+);
+
+912 
+f\9e\8br
+.
+cÞÏ\8b_ty³
+ = 
+MEDIA_CONTENT_COLLATE_NOCASE
+;
+
+913 
+f\9e\8br
+.
+off£t
+ = 
+¡¬t_pos
+;
+
+914 
+f\9e\8br
+.
+couÁ
+ = 
+\92d_pos
+ - 
+¡¬t_pos
+ + 1;
+
+915 
+f\9e\8br
+.
+w\99h_m\91a
+ = 
+\8cue
+;
+
+918 
+       `GL_CHECK_VAL
+(
+®bum
+, -1);
+
+919 
+       `GL_CHECK_VAL
+(
+®bum
+->
+þu¡\94
+, -1);
+
+920 
+       `gl_dbg
+("fÞd\94 s\8f¹_pos[%d],\83nd_pos[%d]", 
+¡¬t_pos
+, 
+\92d_pos
+);
+
+922 
+       `GL_CHECK_VAL
+(
+®bum
+->
+þu¡\94
+->
+uuid
+, -1);
+
+923 
+¡Üe_ty³
+ = 
+®bum
+->
+þu¡\94
+->
+ty³
+;
+
+926 ià(
+¡Üe_ty³
+ =ð
+GL_STORE_T_PHONE
+ ||
+
+927 
+¡Üe_ty³
+ =ð
+GL_STORE_T_MMC
+) {
+
+928 
+ad
+->
+ug\9afo
+.
+sÜt_ty³
+ = 
+f\9e\8br
+.sort_type;
+
+930 ià(
+¡¬t_pos
+ =ð(
+GL_FIRST_VIEW_END_POS
+ + 1) &&
+
+931 
+\92d_pos
+ =ð
+GL_GET_UNTIL_LAST_RECORD
+) {
+
+933 
+       `gl_dbg
+("Gridview\87ppend idler; Keep medias_elist unchanged.");
+
+935 
+\94r
+ = 
+       `_gl_loÿl_d©a_g\91_®bum_med\9f_li¡
+(&
+f\9e\8br
+,
+
+936 
+®bum
+->
+þu¡\94
+->
+uuid
+,
+
+937 &
+\99emli¡
+);
+
+938 } \vià(
+¡Üe_ty³
+ =ð
+GL_STORE_T_ALL
+) {
+
+940 
+       `gl_dbg
+("All\87lbums");
+
+941 
+ad
+->
+ug\9afo
+.
+sÜt_ty³
+ = 
+f\9e\8br
+.sort_type;
+
+943 ià(
+¡¬t_pos
+ =ð(
+GL_FIRST_VIEW_END_POS
+ + 1) &&
+
+944 
+\92d_pos
+ =ð
+GL_GET_UNTIL_LAST_RECORD
+) {
+
+946 
+       `gl_dbg
+("Keep medias_elist unchanged");
+
+949 
+\94r
+ = 
+       `_gl_loÿl_d©a_g\91_®l_®bums_med\9f_li¡
+(&
+f\9e\8br
+,
+
+950 &
+\99emli¡
+);
+
+951 } \vià(
+¡Üe_ty³
+ =ð
+GL_STORE_T_FAV
+) {
+
+953 
+       `gl_dbg
+("fav\87lbums");
+
+954 
+ad
+->
+ug\9afo
+.
+sÜt_ty³
+ = 
+f\9e\8br
+.sort_type;
+
+956 ià(
+¡¬t_pos
+ =ð(
+GL_FIRST_VIEW_END_POS
+ + 1) &&
+
+957 
+\92d_pos
+ =ð
+GL_GET_UNTIL_LAST_RECORD
+) {
+
+959 
+       `gl_dbg
+("Keep medias_elist unchanged");
+
+962 
+gl_f\9e\8br_s
+f\9e\8br_çv
+;
+
+964 
+       `mem£t
+(&
+f\9e\8br_çv
+, 0x00, \17(
+gl_f\9e\8br_s
+));
+
+965 
+       `_gl_d©a_ut\9e_g\91_çv_cÚd
+(
+f\9e\8br_çv
+.
+cÚd
+);
+
+966 
+f\9e\8br_çv
+.
+sÜt_ty³
+ = 
+MEDIA_CONTENT_ORDER_DESC
+;
+
+967 
+       `g_¡¾ýy
+(
+f\9e\8br_çv
+.
+sÜt_keywÜd
+, 
+GL_CONDITION_ORDER
+, 
+KEYWORD_LENGTH
+);
+
+968 
+f\9e\8br_çv
+.
+cÞÏ\8b_ty³
+ = 
+MEDIA_CONTENT_COLLATE_NOCASE
+;
+
+969 
+f\9e\8br_çv
+.
+off£t
+ = 
+¡¬t_pos
+;
+
+970 
+f\9e\8br_çv
+.
+couÁ
+ = 
+\92d_pos
+ - 
+¡¬t_pos
+ + 1;
+
+971 
+f\9e\8br_çv
+.
+w\99h_m\91a
+ = 
+\8cue
+;
+
+973 
+\94r
+ = 
+       `_gl_loÿl_d©a_g\91_çv_®bums_med\9f_li¡
+(&
+f\9e\8br_çv
+,
+
+974 &
+\99emli¡
+);
+
+976 
+       `gl_dbgE
+("Wrong cluster\81ype!");
+
+980 
+       `gl_dbg
+("E¼Ü code: %d", 
+\94r
+);
+
+981 ià((
+\94r
+ =ð0è&& (
+\99emli¡
+ !ð
+NULL
+)) {
+
+982 
+       `__gl_d©a_­³nd_g\99ems
+(
+d©a
+, 
+\99emli¡
+, 
+¡Üe_ty³
+, 
+p_\96
+);
+
+983 } \vià(
+\99emli¡
+) {
+
+984 
+       `_gl_d©a_ut\9e\97r_gty³_\99em_li¡
+(&
+\99emli¡
+);
+
+987 
+       `gl_dbg
+("done");
+
+988 \15 
+\94r
+;
+
+989 
+       }
+}
+
+991 \12
+       $_gl_d©a_upd©e_\99em_li¡
+(\1e*
+d©a
+, 
+E\9aa_Li¡
+ **
+£l_id_li¡
+,
+
+992 
+E\9aa_Li¡
+ **
+p_\96
+)
+
+994 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+995 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+996 
+E\9aa_Li¡
+ *
+\99emli¡
+ = 
+NULL
+;
+
+997 \12
+\94r
+ = -1;
+
+998 \12
+v\9bw_mode
+ = 
+       `gl_g\91_v\9bw_mode
+(
+ad
+);
+
+999 
+gl_\99em
+ *
+g\99em
+ = 
+NULL
+;
+
+1000 \12
+¡Üe_ty³
+ = 
+GL_STORE_T_PHONE
+;
+
+1001 
+gl_f\9e\8br_s
+f\9e\8br
+;
+
+1003 
+       `mem£t
+(&
+f\9e\8br
+, 0x00, \17(
+gl_f\9e\8br_s
+));
+
+1004 
+       `_gl_d©a_ut\9e_g\91_cÚd
+(
+f\9e\8br
+.
+cÚd
+);
+
+1005 
+f\9e\8br
+.
+sÜt_ty³
+ = 
+MEDIA_CONTENT_ORDER_DESC
+;
+
+1006 
+       `g_¡¾ýy
+(
+f\9e\8br
+.
+sÜt_keywÜd
+, 
+GL_CONDITION_ORDER
+, 
+KEYWORD_LENGTH
+);
+
+1007 
+f\9e\8br
+.
+cÞÏ\8b_ty³
+ = 
+MEDIA_CONTENT_COLLATE_NOCASE
+;
+
+1008 
+f\9e\8br
+.
+off£t
+ = 
+GL_GET_ALL_RECORDS
+;
+
+1009 
+f\9e\8br
+.
+couÁ
+ = 
+GL_GET_ALL_RECORDS
+;
+
+1010 
+f\9e\8br
+.
+w\99h_m\91a
+ = 
+\8cue
+;
+
+1013 ià(
+       `_gl_ù¾_g\91_\8fb_mode
+(
+ad
+è=ð
+GL_CTRL_TAB_ALBUMS
+ ||
+
+1014 
+v\9bw_mode
+ =ð
+GL_VIEW_THUMBS_SELECT
+) {
+
+1015 
+gl_þu¡\94
+ *
+cur_®bum
+ = 
+       `_gl_®bums_g\91_cu¼\92t
+(
+d©a
+);
+
+1016 
+       `GL_CHECK_VAL
+(
+cur_®bum
+, -1);
+
+1017 
+       `GL_CHECK_VAL
+(
+cur_®bum
+->
+þu¡\94
+, -1);
+
+1018 
+       `GL_CHECK_VAL
+(
+cur_®bum
+->
+þu¡\94
+->
+uuid
+, -1);
+
+1019 
+¡Üe_ty³
+ = 
+cur_®bum
+->
+þu¡\94
+->
+ty³
+;
+
+1020 
+ad
+->
+ug\9afo
+.
+sÜt_ty³
+ = 
+f\9e\8br
+.sort_type;
+
+1022 ià(
+¡Üe_ty³
+ =ð
+GL_STORE_T_ALL
+) {
+
+1023 
+       `gl_dbg
+("All\87lbums medias");
+
+1024 
+\94r
+ = 
+       `_gl_loÿl_d©a_g\91_®l_®bums_med\9f_li¡
+(&
+f\9e\8br
+,
+
+1025 &
+\99emli¡
+);
+
+1026 } \vià(
+¡Üe_ty³
+ =ð
+GL_STORE_T_FAV
+) {
+
+1027 
+gl_f\9e\8br_s
+f\9e\8br_çv
+;
+
+1029 
+       `mem£t
+(&
+f\9e\8br_çv
+, 0x00, \17(
+gl_f\9e\8br_s
+));
+
+1030 
+       `_gl_d©a_ut\9e_g\91_çv_cÚd
+(
+f\9e\8br_çv
+.
+cÚd
+);
+
+1031 
+f\9e\8br_çv
+.
+sÜt_ty³
+ = 
+MEDIA_CONTENT_ORDER_DESC
+;
+
+1032 
+       `g_¡¾ýy
+(
+f\9e\8br_çv
+.
+sÜt_keywÜd
+, 
+GL_CONDITION_ORDER
+, 
+KEYWORD_LENGTH
+);
+
+1033 
+f\9e\8br_çv
+.
+cÞÏ\8b_ty³
+ = 
+MEDIA_CONTENT_COLLATE_NOCASE
+;
+
+1034 
+f\9e\8br_çv
+.
+off£t
+ = 
+GL_GET_ALL_RECORDS
+;
+
+1035 
+f\9e\8br_çv
+.
+couÁ
+ = 
+GL_GET_ALL_RECORDS
+;
+
+1036 
+f\9e\8br_çv
+.
+w\99h_m\91a
+ = 
+\8cue
+;
+
+1037 
+\94r
+ = 
+       `_gl_loÿl_d©a_g\91_çv_®bums_med\9f_li¡
+(&
+f\9e\8br_çv
+, &
+\99emli¡
+);
+
+1039 
+       `gl_dbg
+("Local\87lbum medias");
+
+1040 
+\94r
+ = 
+       `_gl_loÿl_d©a_g\91_®bum_med\9f_li¡
+(&
+f\9e\8br
+,
+
+1041 
+cur_®bum
+->
+þu¡\94
+->
+uuid
+,
+
+1042 &
+\99emli¡
+);
+
+1046 
+       `gl_dbg
+("E¼Ü code: %d", 
+\94r
+);
+
+1047 ià((
+\94r
+ !ð0è|| (
+\99emli¡
+ =ð
+NULL
+)) {
+
+1048 
+       `gl_dbgE
+("(err != 0) || (itemlist == NULL)");
+
+1050 ià(
+£l_id_li¡
+ && *sel_id_list) {
+
+1051 
+       `e\9aa_li¡_ä\93
+(*
+£l_id_li¡
+);
+
+1052 *
+£l_id_li¡
+ = 
+NULL
+;
+
+1055 ià(
+\99emli¡
+)
+
+1056 
+       `_gl_d©a_ut\9e\97r_gty³_\99em_li¡
+(&
+\99emli¡
+);
+
+1058 \15 
+\94r
+;
+
+1061 
+boÞ
+b_£Ëùed
+ = 
+çl£
+;
+
+1062 
+gl_med\9f_s
+ *
+\99em
+ = 
+NULL
+;
+
+1063 
+       `EINA_LIST_FREE
+(
+\99emli¡
+, 
+\99em
+) {
+
+1064 ià(
+\99em
+ =ð
+NULL
+ || i\8bm->
+uuid
+ == NULL) {
+
+1065 
+       `gl_dbgE
+("Invalid item!");
+
+1068 
+g\99em
+ = 
+       `_gl_d©a_ut\9e_ÿÎoc_g\99em
+();
+
+1069 ià(
+g\99em
+ =ð
+NULL
+) {
+
+1070 
+       `gl_dbgE
+("_gl_data_util_calloc_gitem failed!");
+
+1071 
+       `_gl_d©a_ty³_ä\93_gl\99em
+((\1e**)&
+\99em
+);
+
+1074 
+gl_þu¡\94
+ *
+cur_®bum
+ = 
+       `_gl_®bums_g\91_cu¼\92t
+(
+d©a
+);
+
+1075 ià(
+cur_®bum
+ =ð
+NULL
+) {
+
+1076 
+       `ä\93
+(
+g\99em
+);
+
+1079 
+g\99em
+->
+ad
+ =\87d;
+
+1080 
+g\99em
+->
+\99em
+ = item;
+
+1081 
+g\99em
+->
+¡Üe_ty³
+ = store_type;
+
+1082 
+g\99em
+->
+®bum
+ = 
+cur_®bum
+;
+
+1084 *
+p_\96
+ = 
+       `e\9aa_li¡_­³nd
+(*p_\96i¡, 
+g\99em
+);
+
+1086 ià(
+£l_id_li¡
+ && *sel_id_list) {
+
+1087 
+b_£Ëùed
+ = 
+       `_gl_d©a_ut\9e_check_£Ëùed_¡r_id
+(
+£l_id_li¡
+,
+
+1088 
+\99em
+->
+uuid
+);
+
+1089 ià(
+b_£Ëùed
+) {
+
+1090 
+b_£Ëùed
+ = 
+çl£
+;
+
+1092 
+g\99em
+->
+checked
+ = 
+\8cue
+;
+
+1094 
+       `_gl_d©a_£Ëùed_li¡_­³nd
+(
+ad
+, 
+g\99em
+);
+
+1100 ià(
+£l_id_li¡
+ && *sel_id_list)
+
+1101 
+       `_gl_d©a_ut\9e\93_£Ëùed_¡r_li¡
+(
+£l_id_li¡
+);
+
+1102 
+       `gl_dbg
+("done");
+
+1103 \15 
+\94r
+;
+
+1104 
+       }
+}
+
+1106 \12
+       $_gl_d©a_g\91_®bum_cov\94
+(
+gl_þu¡\94
+ *
+®bum
+, 
+gl_\99em
+ **
+pg\99em
+,
+
+1107 
+med\9f_cÚ\8bÁ_Üd\94_e
+sÜt_ty³
+)
+
+1109 
+       `GL_CHECK_VAL
+(
+pg\99em
+, -1);
+
+1110 
+       `GL_CHECK_VAL
+(
+®bum
+, -1);
+
+1111 
+       `GL_CHECK_VAL
+(
+®bum
+->
+þu¡\94
+, -1);
+
+1112 
+       `GL_CHECK_VAL
+(
+®bum
+->
+þu¡\94
+->
+uuid
+, -1);
+
+1113 
+       `GL_CHECK_VAL
+(
+®bum
+->
+ad
+, -1);
+
+1114 
+E\9aa_Li¡
+ *
+\99em_li¡
+ = 
+NULL
+;
+
+1115 
+gl_med\9f_s
+ *
+\99em
+ = 
+NULL
+;
+
+1116 
+gl_\99em
+ *
+g\99em
+ = 
+NULL
+;
+
+1117 \12
+\94r
+ = -1;
+
+1118 
+gl_f\9e\8br_s
+f\9e\8br
+;
+
+1120 
+       `mem£t
+(&
+f\9e\8br
+, 0x00, \17(
+gl_f\9e\8br_s
+));
+
+1121 
+       `_gl_d©a_ut\9e_g\91_cÚd
+(
+f\9e\8br
+.
+cÚd
+);
+
+1122 
+f\9e\8br
+.
+sÜt_ty³
+ = sort_type;
+
+1123 
+       `g_¡¾ýy
+(
+f\9e\8br
+.
+sÜt_keywÜd
+, 
+GL_CONDITION_ORDER
+, 
+KEYWORD_LENGTH
+);
+
+1124 
+f\9e\8br
+.
+cÞÏ\8b_ty³
+ = 
+MEDIA_CONTENT_COLLATE_NOCASE
+;
+
+1125 
+f\9e\8br
+.
+off£t
+ = 
+GL_FIRST_VIEW_START_POS
+;
+
+1126 
+f\9e\8br
+.
+couÁ
+ = 1;
+
+1127 
+f\9e\8br
+.
+w\99h_m\91a
+ = 
+çl£
+;
+
+1129 ià(
+®bum
+->
+þu¡\94
+->
+ty³
+ =ð
+GL_STORE_T_PHONE
+ ||
+
+1130 
+®bum
+->
+þu¡\94
+->
+ty³
+ =ð
+GL_STORE_T_MMC
+) {
+
+1132 
+\94r
+ = 
+       `_gl_loÿl_d©a_g\91_®bum_cov\94
+(&
+f\9e\8br
+,
+
+1133 
+®bum
+->
+þu¡\94
+->
+uuid
+,
+
+1134 &
+\99em_li¡
+);
+
+1135 ià(
+\94r
+ !ð0 || 
+\99em_li¡
+ =ð
+NULL
+) {
+
+1136 
+       `gl_dbgE
+("G\91\87lbum med\9f ç\9eed[%d]", 
+\94r
+);
+
+1137 ià(
+\99em_li¡
+)
+
+1138 
+       `_gl_d©a_ut\9e\97r_gty³_\99em_li¡
+(&
+\99em_li¡
+);
+
+1142 
+       `EINA_LIST_FREE
+(
+\99em_li¡
+, 
+\99em
+) {
+
+1143 ià(
+\99em
+ =ð
+NULL
+) {
+
+1144 
+       `gl_dbgE
+("Invalid gl_media_s!");
+
+1147 
+g\99em
+ = 
+       `_gl_d©a_ut\9e_ÿÎoc_g\99em
+();
+
+1148 ià(
+g\99em
+ =ð
+NULL
+) {
+
+1149 
+       `gl_dbgE
+("_gl_data_util_calloc_gitem failed!");
+
+1150 
+       `_gl_d©a_ty³_ä\93_gl\99em
+((\1e**)&
+\99em
+);
+
+1153 
+g\99em
+->
+\99em
+ = item;
+
+1154 
+g\99em
+->
+®bum
+ =\87lbum;
+
+1155 *
+pg\99em
+ = 
+g\99em
+;
+
+1158 } \vià(
+®bum
+->
+þu¡\94
+->
+ty³
+ =ð
+GL_STORE_T_ALL
+) {
+
+1160 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+®bum
+->ad;
+
+1161 
+       `gl_dbg
+("db_get_item_list--all media");
+
+1163 
+\94r
+ = 
+       `_gl_loÿl_d©a_g\91_®l_®bums_cov\94
+(&
+f\9e\8br
+, &
+\99em_li¡
+);
+
+1164 ià(
+\94r
+ !ð0 || 
+\99em_li¡
+ =ð
+NULL
+) {
+
+1165 
+       `gl_dbgE
+("Fa\9eed\81Øg\91\87Πmed\9fs[%d]!", 
+\94r
+);
+
+1166 ià(
+\99em_li¡
+)
+
+1167 
+       `_gl_d©a_ut\9e\97r_gty³_\99em_li¡
+(&
+\99em_li¡
+);
+
+1172 
+       `EINA_LIST_FREE
+(
+\99em_li¡
+, 
+\99em
+) {
+
+1173 ià(
+\99em
+ =ð
+NULL
+) {
+
+1174 
+       `gl_dbgE
+("Invalid gl_media_s!");
+
+1177 
+g\99em
+ = 
+       `_gl_d©a_ut\9e_ÿÎoc_g\99em
+();
+
+1178 ià(
+g\99em
+ =ð
+NULL
+) {
+
+1179 
+       `gl_dbgE
+("_gl_data_util_calloc_gitem failed!");
+
+1180 
+       `_gl_d©a_ty³_ä\93_gl\99em
+((\1e**)&
+\99em
+);
+
+1183 
+g\99em
+->
+\99em
+ = item;
+
+1184 
+g\99em
+->
+®bum
+ =\87lbum;
+
+1185 
+g\99em
+->
+¡Üe_ty³
+ = 
+®bum
+->
+þu¡\94
+->
+ty³
+;
+
+1186 *
+pg\99em
+ = 
+g\99em
+;
+
+1188 
+ad
+->
+ma\9a\9afo
+.
+ϡ_mtime
+ = 
+\99em
+->
+mtime
+;
+
+1191 } \vià(
+®bum
+->
+þu¡\94
+->
+ty³
+ =ð
+GL_STORE_T_FAV
+) {
+
+1193 
+gl_f\9e\8br_s
+f\9e\8br_çv
+;
+
+1195 
+       `mem£t
+(&
+f\9e\8br_çv
+, 0x00, \17(
+gl_f\9e\8br_s
+));
+
+1196 
+       `_gl_d©a_ut\9e_g\91_çv_cÚd
+(
+f\9e\8br_çv
+.
+cÚd
+);
+
+1197 
+f\9e\8br_çv
+.
+sÜt_ty³
+ = sort_type;
+
+1198 
+       `g_¡¾ýy
+(
+f\9e\8br_çv
+.
+sÜt_keywÜd
+, 
+GL_CONDITION_ORDER
+, 
+KEYWORD_LENGTH
+);
+
+1199 
+f\9e\8br_çv
+.
+cÞÏ\8b_ty³
+ = 
+MEDIA_CONTENT_COLLATE_NOCASE
+;
+
+1200 
+f\9e\8br_çv
+.
+off£t
+ = 
+GL_GET_ALL_RECORDS
+;
+
+1201 
+f\9e\8br_çv
+.
+couÁ
+ = 
+GL_GET_ALL_RECORDS
+;
+
+1202 
+f\9e\8br_çv
+.
+w\99h_m\91a
+ = 
+çl£
+;
+
+1203 
+       `gl_dbg
+("db_get_item_list--fav media");
+
+1205 
+\94r
+ = 
+       `_gl_loÿl_d©a_g\91_çv_®bums_cov\94
+(&
+f\9e\8br_çv
+, &
+\99em_li¡
+);
+
+1206 ià(
+\94r
+ !ð0 || 
+\99em_li¡
+ =ð
+NULL
+) {
+
+1207 
+       `gl_dbgE
+("Fa\9eed\81Øg\91 fav med\9fs[%d]!", 
+\94r
+);
+
+1208 ià(
+\99em_li¡
+)
+
+1209 
+       `_gl_d©a_ut\9e\97r_gty³_\99em_li¡
+(&
+\99em_li¡
+);
+
+1213 
+       `EINA_LIST_FREE
+(
+\99em_li¡
+, 
+\99em
+) {
+
+1214 ià(
+\99em
+ =ð
+NULL
+) {
+
+1215 
+       `gl_dbgE
+("Invalid gl_media_s!");
+
+1218 
+g\99em
+ = 
+       `_gl_d©a_ut\9e_ÿÎoc_g\99em
+();
+
+1219 ià(
+g\99em
+ =ð
+NULL
+) {
+
+1220 
+       `gl_dbgE
+("_gl_data_util_calloc_gitem failed!");
+
+1221 
+       `_gl_d©a_ty³_ä\93_gl\99em
+((\1e**)&
+\99em
+);
+
+1224 
+g\99em
+->
+\99em
+ = item;
+
+1225 
+g\99em
+->
+®bum
+ =\87lbum;
+
+1226 
+g\99em
+->
+¡Üe_ty³
+ = 
+®bum
+->
+þu¡\94
+->
+ty³
+;
+
+1227 *
+pg\99em
+ = 
+g\99em
+;
+
+1231 
+       `gl_dbgE
+("Wrong cluster\81ype!");
+
+1235 ià(*
+pg\99em
+)
+
+1236 
+       `gl_sdbg
+("Album(%sècov\94[%p]", 
+®bum
+->
+þu¡\94
+->
+di¥Ïy_Çme
+,
+
+1237 *
+pg\99em
+);
+
+1239 
+       }
+}
+
+1241 
+boÞ
+       $_gl_d©a_is_\99em_út_z\94o
+(\1e*
+d©a
+, 
+med\9f_cÚ\8bÁ_ty³_e
+ty³
+,
+
+1242 
+E\9aa_Li¡
+ *
+\96
+)
+
+1244 
+       `GL_CHECK_VAL
+(
+d©a
+, 
+çl£
+);
+
+1245 
+gl_\99em
+ *
+g\99em
+ = 
+NULL
+;
+
+1246 
+E\9aa_Li¡
+ *
+l
+ = 
+NULL
+;
+
+1248 
+       `EINA_LIST_FOREACH
+(
+\96
+, 
+l
+, 
+g\99em
+) {
+
+1249 ià(
+g\99em
+ && g\99em->
+\99em
+) {
+
+1250 ià(
+g\99em
+->
+\99em
+->
+ty³
+ ==\81ype) {
+
+1251 \15 
+çl£
+;
+
+1256 
+       `gl_dbg
+(" item_cnt = 0 ");
+
+1257 \15 
+\8cue
+;
+
+1258 
+       }
+}
+
+1260 \12
+       $_gl_d©a_g\91_f\9c¡_\99em
+(
+med\9f_cÚ\8bÁ_ty³_e
+ty³
+, 
+E\9aa_Li¡
+ *
+\96
+,
+
+1261 
+gl_\99em
+ **
+p_g\99em
+)
+
+1263 
+       `GL_CHECK_VAL
+(
+p_g\99em
+, -1);
+
+1264 
+       `GL_CHECK_VAL
+(
+\96
+, -1);
+
+1267 ià(
+ty³
+ =ð
+MEDIA_CONTENT_TYPE_OTHERS
+) {
+
+1268 *
+p_g\99em
+ = 
+       `e\9aa_li¡_Áh
+(
+\96
+, 0);
+
+1273 
+E\9aa_Li¡
+ *
+l
+ = 
+NULL
+;
+
+1274 
+gl_\99em
+ *
+g\99em
+ = 
+NULL
+;
+
+1275 
+       `EINA_LIST_FOREACH
+(
+\96
+, 
+l
+, 
+g\99em
+) {
+
+1276 ià(
+g\99em
+ && g\99em->
+\99em
+ && g\99em->\99em->
+ty³
+ ==\81ype) {
+
+1277 *
+p_g\99em
+ = 
+g\99em
+;
+
+1282 
+       `gl_dbgW
+("Not found!");
+
+1284 
+       }
+}
+
+1286 \12
+       $_gl_d©a_g\91_Üig_\99em_by_\9adex
+(\1e*
+d©a
+, 
+gl_\99em
+ **
+g\99em
+, \12
+idx
+)
+
+1289 
+       }
+}
+
+1292 \12
+       $_gl_d©a_d\96\91e_f\9ee
+(\ 5*
+·th
+, \ 5*
+uuid
+, 
+boÞ
+is_hide
+)
+
+1294 
+       `GL_CHECK_VAL
+(
+uuid
+, -1);
+
+1295 
+       `GL_CHECK_VAL
+(
+·th
+, -1);
+
+1296 \12
+»t
+ = -1;
+
+1298 ià(!
+       `gl_f\9ee_uÆ\9ak
+(
+·th
+)) {
+
+1299 \ 5*
+\94rÜ_msg
+ = 
+       `ÿÎoc
+(1, 
+GL_ARRAY_LEN_MAX
+);
+
+1300 
+       `GL_CHECK_VAL
+(
+\94rÜ_msg
+, -1);
+
+1301 
+       `¡»¼Ü_r
+(
+\94ºo
+, 
+\94rÜ_msg
+, 
+GL_ARRAY_LEN_MAX
+);
+
+1302 
+       `gl_dbgE
+("f\9ee_uÆ\9ak fa\9eed[%s]!", 
+\94rÜ_msg
+);
+
+1303 
+       `GL_FREE
+(
+\94rÜ_msg
+);
+
+1308 
+»t
+ = 
+       `med\9f_\9afo_d\96\91e_äom_db
+(
+uuid
+);
+
+1310 ià(
+»t
+ != 0) {
+
+1311 
+       `gl_dbgE
+("med\9f_\9afo_d\96\91e_äom_db fa\9eed[%d]!", 
+»t
+);
+
+1316 
+       }
+}
+
+1318 
+gl_\99em
+ *
+       $_gl_d©a_£Ëùed_li¡_g\91_Áh
+(\1e*
+d©a
+, \12
+idx
+)
+
+1320 
+       `GL_CHECK_NULL
+(
+d©a
+);
+
+1321 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1323 \15 
+       `e\9aa_li¡_Áh
+(
+ad
+->
+£l\9afo
+.
+\96
+, 
+idx
+);
+
+1324 
+       }
+}
+
+1326 \12
+       $_gl_d©a_ä\93_bur¡shÙ_\99ems
+(
+gl_\99em
+ *
+g\99em
+, 
+E\9aa_Li¡
+ *
+\96
+)
+
+1328 
+       `GL_CHECK_VAL
+(
+\96
+, -1);
+
+1329 
+       `GL_CHECK_VAL
+(
+g\99em
+, -1);
+
+1330 
+       `GL_CHECK_VAL
+(
+g\99em
+->
+\99em
+, -1);
+
+1332 ià(
+g\99em
+->
+\99em
+->
+ty³
+ !ð
+MEDIA_CONTENT_TYPE_IMAGE
+ ||
+
+1333 
+g\99em
+->
+\99em
+->
+image_\9afo
+ =ð
+NULL
+ ||
+
+1334 
+g\99em
+->
+\99em
+->
+image_\9afo
+->
+bur¡shÙ_id
+ =ð
+NULL
+)
+
+1337 \12
+i
+ = 
+g\99em
+->
+£qu\92û
+;
+
+1338 \12
+út
+ = 
+       `e\9aa_li¡_couÁ
+(
+\96
+);
+
+1339 
+gl_\99em
+ *
+cur_g\99em
+ = 
+NULL
+;
+
+1340 \ 5*
+bur¡shÙ_id
+ = 
+g\99em
+->
+\99em
+->
+image_\9afo
+->burstshot_id;
+
+1341 \ f
+i
+ < 
+út
+; i++) {
+
+1342 
+cur_g\99em
+ = 
+       `e\9aa_li¡_Áh
+(
+\96
+, 
+i
+);
+
+1343 ià(
+cur_g\99em
+ =ð
+NULL
+ || cur_g\99em->
+\99em
+ == NULL ||
+
+1344 
+cur_g\99em
+->
+\99em
+->
+uuid
+ =ð
+NULL
+) {
+
+1345 
+       `gl_dbgE
+("Invalid gitem. continue!");
+
+1347 } \vià(
+cur_g\99em
+->
+\99em
+->
+ty³
+ !ð
+MEDIA_CONTENT_TYPE_IMAGE
+ ||
+
+1348 
+cur_g\99em
+->
+\99em
+->
+image_\9afo
+ =ð
+NULL
+ ||
+
+1349 
+cur_g\99em
+->
+\99em
+->
+image_\9afo
+->
+bur¡shÙ_id
+ =ð
+NULL
+) {
+
+1354 ià(!
+       `g_¡rcmp0
+(
+bur¡shÙ_id
+, 
+cur_g\99em
+->
+\99em
+->
+image_\9afo
+->burstshot_id)) {
+
+1355 
+       `_gl_d©a_ut\9e\93_g\99em
+(
+cur_g\99em
+);
+
+1360 
+cur_g\99em
+ = 
+NULL
+;
+
+1363 
+       }
+}
+
+1365 \12
+       $_gl_d©a_£Ëùed_add_bur¡shÙ
+(\1e*
+d©a
+, 
+gl_\99em
+ *
+g\99em
+, 
+E\9aa_Li¡
+ *
+\96
+)
+
+1367 
+       `GL_CHECK_VAL
+(
+\96
+, -1);
+
+1368 
+       `GL_CHECK_VAL
+(
+g\99em
+, -1);
+
+1369 
+       `GL_CHECK_VAL
+(
+g\99em
+->
+\99em
+, -1);
+
+1370 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1371 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1373 ià(
+g\99em
+->
+\99em
+->
+ty³
+ !ð
+MEDIA_CONTENT_TYPE_IMAGE
+ ||
+
+1374 
+g\99em
+->
+\99em
+->
+image_\9afo
+ =ð
+NULL
+ ||
+
+1375 
+g\99em
+->
+\99em
+->
+image_\9afo
+->
+bur¡shÙ_id
+ =ð
+NULL
+)
+
+1378 \12
+i
+ = 
+g\99em
+->
+£qu\92û
+;
+
+1379 \12
+út
+ = 
+       `e\9aa_li¡_couÁ
+(
+\96
+);
+
+1380 
+gl_\99em
+ *
+cur_g\99em
+ = 
+NULL
+;
+
+1381 \ 5*
+bur¡shÙ_id
+ = 
+g\99em
+->
+\99em
+->
+image_\9afo
+->burstshot_id;
+
+1382 \ f
+i
+ < 
+út
+; i++) {
+
+1383 
+cur_g\99em
+ = 
+       `e\9aa_li¡_Áh
+(
+\96
+, 
+i
+);
+
+1384 ià(
+cur_g\99em
+ =ð
+NULL
+ || cur_g\99em->
+\99em
+ == NULL ||
+
+1385 
+cur_g\99em
+->
+\99em
+->
+uuid
+ =ð
+NULL
+) {
+
+1386 
+       `gl_dbgE
+("Invalid gitem. continue!");
+
+1388 } \vià(
+cur_g\99em
+->
+\99em
+->
+ty³
+ !ð
+MEDIA_CONTENT_TYPE_IMAGE
+ ||
+
+1389 
+cur_g\99em
+->
+\99em
+->
+image_\9afo
+ =ð
+NULL
+ ||
+
+1390 
+cur_g\99em
+->
+\99em
+->
+image_\9afo
+->
+bur¡shÙ_id
+ =ð
+NULL
+) {
+
+1395 ià(!
+       `g_¡rcmp0
+(
+bur¡shÙ_id
+, 
+cur_g\99em
+->
+\99em
+->
+image_\9afo
+->burstshot_id)) {
+
+1396 
+cur_g\99em
+->
+checked
+ = 
+g\99em
+->checked;
+
+1397 
+ad
+->
+£l\9afo
+.
+images_út
+++;
+
+1398 #ifdeà
+_USE_ROTATE_BG
+
+
+1399 ià(
+cur_g\99em
+->
+\99em
+->
+ext
+ &&
+
+1400 !
+       `¡rÿ£cmp
+(
+cur_g\99em
+->
+\99em
+->
+ext
+, 
+GL_JPEG_FILE_EXT
+))
+
+1401 ià(
+       `_gl_exif_check_img_ty³
+(
+cur_g\99em
+->
+\99em
+->
+f\9ee_u¾
+))
+
+1402 
+ad
+->
+£l\9afo
+.
+j³g_út
+++;
+
+1404 ià(
+g\99em
+->
+\99em
+->
+¡Üage_ty³
+ !ð
+GL_STORE_T_PHONE
+)
+
+1405 ++
+ad
+->
+£l\9afo
+.
+di§bË_hide_út
+;
+
+1406 
+ad
+->
+£l\9afo
+.
+\96
+ = 
+       `e\9aa_li¡_­³nd
+(ad->selinfo.elist,
+
+1407 
+cur_g\99em
+);
+
+1412 
+cur_g\99em
+ = 
+NULL
+;
+
+1415 
+       }
+}
+
+1417 
+boÞ
+       $_gl_d©a_g\91_bur¡shÙ_¡©us
+(\1e*
+d©a
+, 
+gl_\99em
+ *
+g\99em
+)
+
+1419 
+       `GL_CHECK_FALSE
+(
+g\99em
+);
+
+1420 ià(
+g\99em
+->
+\99em
+ =ð
+NULL
+ ||
+
+1421 
+g\99em
+->
+\99em
+->
+ty³
+ !ð
+MEDIA_CONTENT_TYPE_IMAGE
+ ||
+
+1422 
+g\99em
+->
+\99em
+->
+image_\9afo
+ =ð
+NULL
+ ||
+
+1423 
+g\99em
+->
+\99em
+->
+image_\9afo
+->
+bur¡shÙ_id
+ =ð
+NULL
+)
+
+1424 \15 
+g\99em
+->
+checked
+;
+
+1426 
+       `GL_CHECK_FALSE
+(
+d©a
+);
+
+1427 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1428 
+       `GL_CHECK_FALSE
+(
+ad
+->
+£l\9afo
+.
+\96
+);
+
+1429 
+E\9aa_Li¡
+ *
+£l_li¡
+ = 
+ad
+->
+£l\9afo
+.
+\96
+;
+
+1431 
+E\9aa_Li¡
+ *
+l
+ = 
+NULL
+;
+
+1432 
+gl_\99em
+ *
+cu¼\92t
+ = 
+NULL
+;
+
+1433 
+       `EINA_LIST_FOREACH
+(
+£l_li¡
+, 
+l
+, 
+cu¼\92t
+) {
+
+1434 ià(
+cu¼\92t
+ =ð
+NULL
+ || cu¼\92t->
+\99em
+ == NULL ||
+
+1435 
+cu¼\92t
+->
+\99em
+->
+ty³
+ !ð
+MEDIA_CONTENT_TYPE_IMAGE
+ ||
+
+1436 
+cu¼\92t
+->
+\99em
+->
+image_\9afo
+ =ð
+NULL
+ ||
+
+1437 
+cu¼\92t
+->
+\99em
+->
+image_\9afo
+->
+bur¡shÙ_id
+ =ð
+NULL
+) {
+
+1438 
+       `gl_dbgE
+("Invalid gitem!");
+
+1441 ià(!
+       `g_¡rcmp0
+(
+g\99em
+->
+\99em
+->
+image_\9afo
+->
+bur¡shÙ_id
+,
+
+1442 
+cu¼\92t
+->
+\99em
+->
+image_\9afo
+->
+bur¡shÙ_id
+))
+
+1443 \15 
+\8cue
+;
+
+1445 \15 
+çl£
+;
+
+1446 
+       }
+}
+
+1449 \12
+       $_gl_d©a_£Ëùed_li¡_­³nd
+(\1e*
+d©a
+, 
+gl_\99em
+ *
+g\99em
+)
+
+1451 
+       `GL_CHECK_VAL
+(
+g\99em
+, -1);
+
+1452 
+       `GL_CHECK_VAL
+(
+g\99em
+->
+\99em
+, -1);
+
+1453 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1454 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1457 ià(
+g\99em
+->
+\99em
+->
+ty³
+ =ð
+MEDIA_CONTENT_TYPE_IMAGE
+) {
+
+1458 
+ad
+->
+£l\9afo
+.
+images_út
+++;
+
+1459 #ifdeà
+_USE_ROTATE_BG
+
+
+1460 
+       `gl_dbg
+("Ext: %s", 
+g\99em
+->
+\99em
+->
+ext
+);
+
+1461 ià(
+g\99em
+->
+\99em
+->
+ext
+ &&
+
+1462 !
+       `¡rÿ£cmp
+(
+g\99em
+->
+\99em
+->
+ext
+, 
+GL_JPEG_FILE_EXT
+)) {
+
+1463 ià(
+       `_gl_exif_check_img_ty³
+(
+g\99em
+->
+\99em
+->
+f\9ee_u¾
+))
+
+1464 
+ad
+->
+£l\9afo
+.
+j³g_út
+++;
+
+1468 ià(
+g\99em
+->
+\99em
+->
+¡Üage_ty³
+ !ð
+GL_STORE_T_PHONE
+)
+
+1469 ++
+ad
+->
+£l\9afo
+.
+di§bË_hide_út
+;
+
+1471 
+E\9aa_Li¡
+ *
+£l_li¡
+ = 
+ad
+->
+£l\9afo
+.
+\96
+;
+
+1472 
+£l_li¡
+ = 
+       `e\9aa_li¡_­³nd
+(£l_li¡, 
+g\99em
+);
+
+1473 
+ad
+->
+£l\9afo
+.
+\96
+ = 
+£l_li¡
+;
+
+1475 
+       }
+}
+
+1477 \12
+       $_gl_d©a_£Ëùed_çv_li¡_»move
+(\1e*
+d©a
+, 
+gl_\99em
+ *
+g\99em
+)
+
+1479 
+       `GL_CHECK_VAL
+(
+g\99em
+, -1);
+
+1480 
+       `GL_CHECK_VAL
+(
+g\99em
+->
+\99em
+, -1);
+
+1481 
+       `GL_CHECK_VAL
+(
+g\99em
+->
+\99em
+->
+uuid
+, -1);
+
+1482 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1483 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1484 
+gl_\99em
+ *
+cu¼\92t
+ = 
+NULL
+;
+
+1485 
+E\9aa_Li¡
+ *
+l
+ = 
+NULL
+;
+
+1487 
+       `EINA_LIST_FOREACH
+(
+ad
+->
+£l\9afo
+.
+çv_\96
+, 
+l
+, 
+cu¼\92t
+) {
+
+1488 ià(
+cu¼\92t
+ =ð
+NULL
+ || cu¼\92t->
+\99em
+ == NULL ||
+
+1489 
+cu¼\92t
+->
+\99em
+->
+uuid
+ =ð
+NULL
+) {
+
+1490 
+       `gl_dbgE
+("Invalid gitem!");
+
+1493 ià(!
+       `g_¡rcmp0
+(
+cu¼\92t
+->
+\99em
+->
+uuid
+, 
+g\99em
+->item->uuid)) {
+
+1494 
+ad
+->
+£l\9afo
+.
+çv_\96
+ = 
+       `e\9aa_li¡_»move
+(ad->selinfo.fav_elist,
+
+1495 
+cu¼\92t
+);
+
+1497 
+cu¼\92t
+ = 
+NULL
+;
+
+1500 
+       }
+}
+
+1503 \12
+       $_gl_d©a_£Ëùed_li¡_»move
+(\1e*
+d©a
+, 
+gl_\99em
+ *
+g\99em
+)
+
+1505 
+       `GL_CHECK_VAL
+(
+g\99em
+, -1);
+
+1506 
+       `GL_CHECK_VAL
+(
+g\99em
+->
+\99em
+, -1);
+
+1507 
+       `GL_CHECK_VAL
+(
+g\99em
+->
+\99em
+->
+uuid
+, -1);
+
+1508 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1509 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1510 
+gl_\99em
+ *
+cu¼\92t
+ = 
+NULL
+;
+
+1511 
+E\9aa_Li¡
+ *
+l
+ = 
+NULL
+;
+
+1512 
+boÞ
+b_»moved
+ = 
+çl£
+;
+
+1513 \ 5*
+bur¡shÙ_id
+ = 
+NULL
+;
+
+1514 ià(
+g\99em
+->
+\99em
+->
+ty³
+ =ð
+MEDIA_CONTENT_TYPE_IMAGE
+ &&
+
+1515 
+g\99em
+->
+\99em
+->
+image_\9afo
+)
+
+1516 
+bur¡shÙ_id
+ = 
+g\99em
+->
+\99em
+->
+image_\9afo
+->burstshot_id;
+
+1518 
+       `EINA_LIST_FOREACH
+(
+ad
+->
+£l\9afo
+.
+\96
+, 
+l
+, 
+cu¼\92t
+) {
+
+1519 ià(
+cu¼\92t
+ =ð
+NULL
+ || cu¼\92t->
+\99em
+ == NULL ||
+
+1520 
+cu¼\92t
+->
+\99em
+->
+uuid
+ =ð
+NULL
+) {
+
+1521 
+       `gl_dbgE
+("Invalid gitem!");
+
+1524 ià(!
+       `g_¡rcmp0
+(
+cu¼\92t
+->
+\99em
+->
+uuid
+, 
+g\99em
+->item->uuid) ||
+
+1525 (
+bur¡shÙ_id
+ &&
+
+1526 
+cu¼\92t
+->
+\99em
+->
+ty³
+ =ð
+MEDIA_CONTENT_TYPE_IMAGE
+ &&
+
+1527 
+cu¼\92t
+->
+\99em
+->
+image_\9afo
+ &&
+
+1528 
+cu¼\92t
+->
+\99em
+->
+image_\9afo
+->
+bur¡shÙ_id
+ &&
+
+1529 !
+       `g_¡rcmp0
+(
+bur¡shÙ_id
+, 
+cu¼\92t
+->
+\99em
+->
+image_\9afo
+->burstshot_id))) {
+
+1530 ià(
+g\99em
+->
+\99em
+->
+¡Üage_ty³
+ !ð
+GL_STORE_T_PHONE
+)
+
+1531 
+ad
+->
+£l\9afo
+.
+di§bË_hide_út
+--;
+
+1533 ià(
+cu¼\92t
+->
+\99em
+->
+ty³
+ =ð
+MEDIA_CONTENT_TYPE_IMAGE
+ &&
+
+1534 
+ad
+->
+£l\9afo
+.
+images_út
+ > 0) {
+
+1535 
+ad
+->
+£l\9afo
+.
+images_út
+--;
+
+1536 #ifdeà
+_USE_ROTATE_BG
+
+
+1537 ià(
+cu¼\92t
+->
+\99em
+->
+ext
+ &&
+
+1538 !
+       `¡rÿ£cmp
+(
+cu¼\92t
+->
+\99em
+->
+ext
+, 
+GL_JPEG_FILE_EXT
+) &&
+
+1539 
+ad
+->
+£l\9afo
+.
+j³g_út
+ > 0)
+
+1540 ià(
+       `_gl_exif_check_img_ty³
+(
+cu¼\92t
+->
+\99em
+->
+f\9ee_u¾
+))
+
+1541 
+ad
+->
+£l\9afo
+.
+j³g_út
+--;
+
+1545 
+ad
+->
+£l\9afo
+.
+\96
+ = 
+       `e\9aa_li¡_»move
+(ad->selinfo.elist,
+
+1546 
+cu¼\92t
+);
+
+1547 ià(
+bur¡shÙ_id
+ =ð
+NULL
+) {
+
+1550 
+cu¼\92t
+->
+checked
+ = 
+g\99em
+->checked;
+
+1551 
+b_»moved
+ = 
+\8cue
+;
+
+1553 } \vià(
+b_»moved
+) {
+
+1557 
+cu¼\92t
+ = 
+NULL
+;
+
+1560 
+       }
+}
+
+1563 \12
+       $_gl_d©a_£Ëùed_li¡_»move_Úe
+(\1e*
+d©a
+, 
+gl_\99em
+ *
+g\99em
+)
+
+1565 
+       `GL_CHECK_VAL
+(
+g\99em
+, -1);
+
+1566 
+       `GL_CHECK_VAL
+(
+g\99em
+->
+\99em
+, -1);
+
+1567 
+       `GL_CHECK_VAL
+(
+g\99em
+->
+\99em
+->
+uuid
+, -1);
+
+1568 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1569 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1572 ià(
+g\99em
+->
+\99em
+->
+ty³
+ =ð
+MEDIA_CONTENT_TYPE_IMAGE
+ &&
+
+1573 
+ad
+->
+£l\9afo
+.
+images_út
+ > 0) {
+
+1574 
+ad
+->
+£l\9afo
+.
+images_út
+--;
+
+1575 #ifdeà
+_USE_ROTATE_BG
+
+
+1576 ià(
+g\99em
+->
+\99em
+->
+ext
+ &&
+
+1577 !
+       `¡rÿ£cmp
+(
+g\99em
+->
+\99em
+->
+ext
+,
+GL_JPEG_FILE_EXT
+) &&
+
+1578 
+ad
+->
+£l\9afo
+.
+j³g_út
+ > 0) {
+
+1579 ià(
+       `_gl_exif_check_img_ty³
+(
+g\99em
+->
+\99em
+->
+f\9ee_u¾
+))
+
+1580 
+ad
+->
+£l\9afo
+.
+j³g_út
+--;
+
+1584 ià(
+g\99em
+->
+\99em
+->
+¡Üage_ty³
+ !ð
+GL_STORE_T_PHONE
+)
+
+1585 
+ad
+->
+£l\9afo
+.
+di§bË_hide_út
+--;
+
+1586 
+ad
+->
+£l\9afo
+.
+\96
+ = 
+       `e\9aa_li¡_»move
+(ad->selinfo.elist,
+
+1587 
+g\99em
+);
+
+1589 
+       }
+}
+
+1591 \12
+       $_gl_d©a_£Ëùed_li¡_f\9a®ize
+(\1e*
+d©a
+)
+
+1593 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1594 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1596 ià(
+ad
+->
+£l\9afo
+.
+\96
+ =ð
+NULL
+)
+
+1599 
+gl_\99em
+ *
+g\99em
+ = 
+NULL
+;
+
+1600 \12
+i
+;
+
+1601 \12
+couÁ
+;
+
+1602 ià(
+ad
+->
+grid\9afo
+.
+med\9fs_\96
+) {
+
+1603 
+couÁ
+ = 
+       `e\9aa_li¡_couÁ
+(
+ad
+->
+grid\9afo
+.
+med\9fs_\96
+);
+
+1604 \ f
+i
+ = 0; i < 
+couÁ
+ ; i++) {
+
+1605 
+g\99em
+ = 
+       `e\9aa_li¡_Áh
+(
+ad
+->
+grid\9afo
+.
+med\9fs_\96
+, 
+i
+);
+
+1606 ià(
+g\99em
+) {
+
+1607 
+g\99em
+->
+checked
+ = 
+çl£
+;
+
+1611 
+       `EINA_LIST_FREE
+(
+ad
+->
+£l\9afo
+.
+\96
+, 
+g\99em
+) {
+
+1612 ià(
+g\99em
+) {
+
+1613 
+g\99em
+->
+checked
+ = 
+çl£
+;
+
+1617 
+ad
+->
+£l\9afo
+.
+\96
+ = 
+NULL
+;
+
+1618 
+ad
+->
+£l\9afo
+.
+images_út
+ = 0;
+
+1619 
+ad
+->
+£l\9afo
+.
+di§bË_hide_út
+ = 0;
+
+1620 #ifdeà
+_USE_ROTATE_BG
+
+
+1621 
+ad
+->
+£l\9afo
+.
+j³g_út
+ = 0;
+
+1623 
+       `gl_dbg
+("Selected\86ist freed");
+
+1625 
+       }
+}
+
+1627 \12
+       $_gl_d©a_þ\97r_£Ëùed_\9afo
+(\1e*
+d©a
+)
+
+1629 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1630 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1632 ià(
+ad
+->
+£l\9afo
+.
+\96
+ =ð
+NULL
+)
+
+1635 
+       `e\9aa_li¡_ä\93
+(
+ad
+->
+£l\9afo
+.
+\96
+);
+
+1636 
+       `gl_dbg
+("eina free selected\86ist");
+
+1638 
+ad
+->
+£l\9afo
+.
+\96
+ = 
+NULL
+;
+
+1639 
+ad
+->
+£l\9afo
+.
+images_út
+ = 0;
+
+1640 
+ad
+->
+£l\9afo
+.
+di§bË_hide_út
+ = 0;
+
+1641 #ifdeà
+_USE_ROTATE_BG
+
+
+1642 
+ad
+->
+£l\9afo
+.
+j³g_út
+ = 0;
+
+1645 
+       }
+}
+
+1647 \12
+       $_gl_d©a_cÝy_£Ëùed_\9afo_§ve_cu¼\92t_£Ëùed
+(\1e*
+d©a
+, 
+E\9aa_Li¡
+ **
+\96
+)
+
+1649 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1650 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1652 ià(
+ad
+->
+£l\9afo
+.
+\96
+ =ð
+NULL
+) {
+
+1656 
+       `_gl_d©a_ut\9e_f\9e\8br_£Ëùed_¡r_ids
+(&(
+ad
+->
+£l\9afo
+.
+\96
+),\83list);
+
+1657 
+gl_\99em
+ *
+g\99em
+ = 
+NULL
+;
+
+1658 
+gl_\99em
+ *
+g\99em1
+ = 
+NULL
+;
+
+1659 
+E\9aa_Li¡
+ *
+tmp
+;
+
+1660 \12
+couÁ
+ = 
+       `e\9aa_li¡_couÁ
+(
+ad
+->
+grid\9afo
+.
+med\9fs_\96
+);
+
+1661 \12
+i
+;
+
+1662 \ f
+i
+ = 0; i < 
+couÁ
+ ; i++) {
+
+1663 
+g\99em1
+ = 
+       `e\9aa_li¡_Áh
+(
+ad
+->
+grid\9afo
+.
+med\9fs_\96
+, 
+i
+);
+
+1664 
+       `EINA_LIST_FOREACH
+(
+ad
+->
+£l\9afo
+.
+\96
+, 
+tmp
+, 
+g\99em
+) {
+
+1665 ià(
+g\99em
+ && g\99em->
+\99em
+ && g\99em->\99em->
+uuid
+ && 
+g\99em1
+ && gitem1->item && gitem1->item->uuid) {
+
+1666 ià(!
+       `¡rcmp
+(
+g\99em
+->
+\99em
+->
+uuid
+, 
+g\99em1
+->item->uuid)) {
+
+1667 
+ad
+->
+£l\9afo
+.
+\96
+ = 
+       `e\9aa_li¡_»move
+×d->£l\9afo.\96i¡, 
+g\99em
+);
+
+1675 
+       }
+}
+
+1677 \12
+       $_gl_d©a_£Ëùed_li¡_couÁ
+(\1e*
+d©a
+)
+
+1679 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1680 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1682 \15 
+       `e\9aa_li¡_couÁ
+(
+ad
+->
+£l\9afo
+.
+\96
+);
+
+1683 
+       }
+}
+
+1685 
+boÞ
+       $_gl_d©a_is_roÙ_·th
+(cڡ \ 5*
+·th
+)
+
+1687 ià(
+·th
+ =ð
+NULL
+)
+
+1688 \15 
+çl£
+;
+
+1690 ià(!
+       `g_¡rcmp0
+(
+GL_ROOT_PATH_PHONE
+, 
+·th
+) ||
+
+1691 !
+       `g_¡rcmp0
+(
+GL_ROOT_PATH_MMC
+, 
+·th
+)) {
+
+1692 
+       `gl_sdbg
+("RoÙ\85©h: %s", 
+·th
+);
+
+1693 \15 
+\8cue
+;
+
+1696 \15 
+çl£
+;
+
+1697 
+       }
+}
+
+1699 
+boÞ
+       $_gl_d©a_check_roÙ_ty³
+(cڡ \ 5*
+·th
+, cڡ \ 5*
+roÙ
+)
+
+1701 ià(
+·th
+ =ð
+NULL
+ || 
+roÙ
+ == NULL)
+
+1702 \15 
+çl£
+;
+
+1704 ià(!
+       `¡ºcmp
+(
+roÙ
+, 
+·th
+, 
+       `¡¾\92
+(root))) {
+
+1705 
+       `gl_sdbg
+("RoÙ\85©h: %s", 
+·th
+);
+
+1706 \15 
+\8cue
+;
+
+1709 \15 
+çl£
+;
+
+1710 
+       }
+}
+
+1712 
+boÞ
+       $_gl_d©a_is_®bums_£Ëùed_em±y
+(\1e*
+d©a
+)
+
+1714 
+       `GL_CHECK_VAL
+(
+d©a
+, 1);
+
+1715 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1716 
+gl_þu¡\94
+ *
+®bum
+ = 
+NULL
+;
+
+1718 
+E\9aa_Li¡
+ *
+l
+ = 
+NULL
+;
+
+1719 
+       `EINA_LIST_FOREACH
+(
+ad
+->
+®bum\9afo
+.
+£l_\96
+, 
+l
+, 
+®bum
+) {
+
+1720 ià(
+®bum
+ &&\87lbum->
+þu¡\94
+ &&\87lbum->þu¡\94->
+couÁ
+)
+
+1721 \15 
+çl£
+;
+
+1722 
+®bum
+ = 
+NULL
+;
+
+1725 \15 
+\8cue
+;
+
+1726 
+       }
+}
+
+1733 \12
+       $_gl_d©a_g\91_®bums_£Ëùed_f\9ees
+(\1e*
+d©a
+, \1e*
+g\91_cb
+, \1e*
+cb_d©a
+)
+
+1735 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1736 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1737 
+       `GL_CHECK_VAL
+(
+ad
+->
+®bum\9afo
+.
+£l_\96
+, -1);
+
+1738 
+gl_þu¡\94
+ *
+®bum
+ = 
+NULL
+;
+
+1739 
+E\9aa_Li¡
+ *
+l
+ = 
+NULL
+;
+
+1740 \12
+\94r
+ = -1;
+
+1741 
+E\9aa_Li¡
+ *
+\96
+ = 
+NULL
+;
+
+1742 
+gl_f\9e\8br_s
+f\9e\8br
+;
+
+1743 \12
+couÁ
+ = 0;
+
+1745 \12(*
+_g\91_cb
+è(\1e*
+cb_d©a
+, 
+gl_med\9f_s
+ *
+\99em
+èð
+NULL
+;
+
+1746 ià(
+g\91_cb
+)
+
+1747 
+_g\91_cb
+ = 
+g\91_cb
+;
+
+1749 
+       `mem£t
+(&
+f\9e\8br
+, 0x00, \17(
+gl_f\9e\8br_s
+));
+
+1750 
+       `_gl_d©a_ut\9e_g\91_cÚd
+(
+f\9e\8br
+.
+cÚd
+);
+
+1751 
+f\9e\8br
+.
+sÜt_ty³
+ = 
+MEDIA_CONTENT_ORDER_DESC
+;
+
+1752 
+       `g_¡¾ýy
+(
+f\9e\8br
+.
+sÜt_keywÜd
+, 
+GL_CONDITION_ORDER
+,
+
+1753 
+KEYWORD_LENGTH
+);
+
+1754 
+f\9e\8br
+.
+cÞÏ\8b_ty³
+ = 
+MEDIA_CONTENT_COLLATE_NOCASE
+;
+
+1755 
+f\9e\8br
+.
+off£t
+ = 
+GL_GET_ALL_RECORDS
+;
+
+1756 
+f\9e\8br
+.
+couÁ
+ = 
+GL_GET_ALL_RECORDS
+;
+
+1757 
+f\9e\8br
+.
+w\99h_m\91a
+ = 
+çl£
+;
+
+1759 
+       `EINA_LIST_FOREACH
+(
+ad
+->
+®bum\9afo
+.
+£l_\96
+, 
+l
+, 
+®bum
+) {
+
+1760 ià(
+®bum
+ =ð
+NULL
+ ||\87lbum->
+þu¡\94
+ == NULL ||
+
+1761 
+®bum
+->
+þu¡\94
+->
+uuid
+ =ð
+NULL
+) {
+
+1764 ià(!
+       `¡rcmp
+(
+GL_ALBUM_ALL_ID
+, 
+®bum
+->
+þu¡\94
+->
+uuid
+))
+
+1765 
+\94r
+ = 
+       `_gl_loÿl_d©a_g\91_®l_®bums_med\9f_li¡
+(&
+f\9e\8br
+,
+
+1766 &
+\96
+);
+
+1768 
+\94r
+ = 
+       `_gl_loÿl_d©a_g\91_®bum_med\9f_li¡
+(&
+f\9e\8br
+,
+
+1769 
+®bum
+->
+þu¡\94
+->
+uuid
+,
+
+1770 &
+\96
+);
+
+1771 ià((
+\94r
+ =ð0è&& (
+\96
+ !ð
+NULL
+)) {
+
+1772 
+gl_med\9f_s
+ *
+\99em
+ = 
+NULL
+;
+
+1773 
+       `EINA_LIST_FREE
+(
+\96
+, 
+\99em
+) {
+
+1774 ià(
+\99em
+ =ð
+NULL
+) {
+
+1775 
+       `gl_dbgE
+("Invalid item!");
+
+1778 ià(
+_g\91_cb
+)
+
+1779 
+       `_g\91_cb
+(
+cb_d©a
+, 
+\99em
+);
+
+1780 
+couÁ
+++;
+
+1781 
+\99em
+ = 
+NULL
+;
+
+1785 \15 
+couÁ
+;
+
+1786 
+       }
+}
+
+1788 \12
+       $_gl_d©a_g\91_®bums_£Ëùed_út
+(\1e*
+d©a
+)
+
+1790 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1791 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1793 \15 
+       `e\9aa_li¡_couÁ
+(
+ad
+->
+®bum\9afo
+.
+£l_\96
+);
+
+1794 
+       }
+}
+
+1796 \12
+       $_gl_d©a_®bums_£Ëùed_li¡_»move
+(\1e*
+d©a
+, 
+gl_þu¡\94
+ *
+\99em
+)
+
+1798 
+       `GL_CHECK_VAL
+(
+\99em
+, -1);
+
+1799 
+       `GL_CHECK_VAL
+(
+\99em
+->
+þu¡\94
+, -1);
+
+1800 
+       `GL_CHECK_VAL
+(
+\99em
+->
+þu¡\94
+->
+uuid
+, -1);
+
+1801 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1802 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1803 
+gl_þu¡\94
+ *
+cu¼\92t
+ = 
+NULL
+;
+
+1804 
+E\9aa_Li¡
+ *
+l
+ = 
+NULL
+;
+
+1806 ià(
+GL_STORE_T_PHONE
+ !ð
+\99em
+->
+þu¡\94
+->
+ty³
+ ||
+
+1807 
+       `_gl_d©a_is_ÿm\94a_®bum
+(
+\99em
+->
+þu¡\94
+) ||
+
+1808 
+       `_gl_d©a_is_deçuÉ_®bum
+(
+GL_STR_ALBUM_DOWNLOADS
+, 
+\99em
+->
+þu¡\94
+))
+
+1809 --
+ad
+->
+£l\9afo
+.
+di§bË_hide_út
+;
+
+1811 
+E\9aa_Li¡
+ *
+£l_li¡
+ = 
+ad
+->
+®bum\9afo
+.
+£l_\96
+;
+
+1812 
+       `EINA_LIST_FOREACH
+(
+£l_li¡
+, 
+l
+, 
+cu¼\92t
+) {
+
+1813 ià(
+cu¼\92t
+ =ð
+NULL
+ || cu¼\92t->
+þu¡\94
+ == NULL ||
+
+1814 
+cu¼\92t
+->
+þu¡\94
+->
+uuid
+ =ð
+NULL
+) {
+
+1815 
+       `gl_dbgE
+("Invalid gcluster!");
+
+1819 ià(!
+       `g_¡rcmp0
+(
+cu¼\92t
+->
+þu¡\94
+->
+uuid
+, 
+\99em
+->cluster->uuid)) {
+
+1820 \12
+img_út
+ = 0;
+
+1821 \12
+£l_út
+ = 0;
+
+1822 \12
+web_út
+ = 0;
+
+1824 
+       `_gl_d©a_ut\9e_check_®bum_£Ëùed_f\9ees
+(
+\99em
+,
+
+1825 &
+img_út
+,
+
+1826 &
+£l_út
+,
+
+1827 &
+web_út
+);
+
+1829 
+ad
+->
+£l\9afo
+.
+images_út
+ =\87d->£l\9afo.images_ú\88
+img_út
+;
+
+1830 
+ad
+->
+£l\9afo
+.
+£l_út
+ =\87d->selinfo.sel_cnt - sel_cnt;
+
+1832 
+ad
+->
+®bum\9afo
+.
+£l_\96
+ = 
+       `e\9aa_li¡_»move
+(ad->albuminfo.sel_elist,
+
+1833 
+cu¼\92t
+);
+
+1836 
+cu¼\92t
+ = 
+NULL
+;
+
+1840 
+       }
+}
+
+1842 \12
+       $_gl_d©a_f\9a®ize_®bums_£Ëùed_li¡
+(\1e*
+d©a
+)
+
+1844 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1845 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1846 
+gl_þu¡\94
+ *
+\99em
+ = 
+NULL
+;
+
+1848 
+E\9aa_Li¡
+ *
+£l_li¡
+ = 
+ad
+->
+®bum\9afo
+.
+£l_\96
+;
+
+1849 
+       `EINA_LIST_FREE
+(
+£l_li¡
+, 
+\99em
+) {
+
+1850 ià(
+\99em
+)
+
+1851 
+\99em
+->
+checked
+ = 
+çl£
+;
+
+1854 
+ad
+->
+£l\9afo
+.
+images_út
+ = 0;
+
+1855 
+ad
+->
+£l\9afo
+.
+di§bË_hide_út
+ = 0;
+
+1856 
+ad
+->
+£l\9afo
+.
+£l_út
+ = 0;
+
+1857 
+ad
+->
+®bum\9afo
+.
+£l_\96
+ = 
+NULL
+;
+
+1859 
+       }
+}
+
+1861 \12
+       $_gl_d©a_\9a\99
+(\1e*
+d©a
+)
+
+1863 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1864 \12
+\94r
+ = 
+       `_gl_loÿl_d©a_cÚÃù
+();
+
+1865 ià(
+\94r
+ != 0)
+
+1866 
+       `gl_dbgE
+("Connect\81o media-content DB failed!");
+
+1867 \15 
+\94r
+;
+
+1868 
+       }
+}
+
+1870 \12
+       $_gl_d©a_f\9a®ize
+(\1e*
+d©a
+)
+
+1872 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1873 \12
+\94r
+ = 
+       `_gl_loÿl_d©a_discÚÃù
+();
+
+1874 ià(
+\94r
+ != 0)
+
+1875 
+       `gl_dbgE
+("Disconnect with media-content DB failed!");
+
+1876 \15 
+\94r
+;
+
+1877 
+       }
+}
+
+1879 \12
+       $_gl_d©a_d\96\91e_med\9f
+(\1e*
+d©a
+, 
+gl_med\9f_s
+ *
+med\9f_\99em
+)
+
+1881 
+       `GL_CHECK_VAL
+(
+med\9f_\99em
+, -1);
+
+1882 \15 
+       `med\9f_\9afo_d\96\91e_äom_db
+(
+med\9f_\99em
+->
+uuid
+);
+
+1883 
+       }
+}
+
+1886 \12
+       $_gl_d©a_ü\97\8b_thumb
+(
+gl_med\9f_s
+ *
+\99em
+,
+
+1887 
+med\9f_thumbÇ\9e_com¶\91ed_cb
+ÿÎback
+,
+
+1888 \1e*
+u£r_d©a
+)
+
+1890 
+       `GL_CHECK_VAL
+(
+\99em
+, -1);
+
+1891 
+       `GL_CHECK_VAL
+(
+\99em
+->
+med\9f_h
+, -1);
+
+1892 \12
+»t
+ = -1;
+
+1893 
+       `gl_sdbg
+("F\9ee[%s]", 
+\99em
+->
+f\9ee_u¾
+);
+
+1895 
+»t
+ = 
+       `med\9f_\9afo_ü\97\8b_thumbÇ\9e
+(
+\99em
+->
+med\9f_h
+, 
+ÿÎback
+, 
+u£r_d©a
+);
+
+1896 ià(
+»t
+ !ð
+MEDIA_CONTENT_ERROR_NONE
+) {
+
+1897 
+       `gl_dbgE
+("Fa\9eed\81Øü\97\8b\81humbÇ\9e[%d]!", 
+»t
+);
+
+1900 
+\99em
+->
+b_ü\97\8b_thumb
+ = 
+\8cue
+;
+
+1902 
+       }
+}
+
+1904 \12
+       $_gl_d©a_ÿnûl_thumb
+(
+gl_med\9f_s
+ *
+\99em
+)
+
+1906 
+       `GL_CHECK_VAL
+(
+\99em
+, -1);
+
+1907 
+       `GL_CHECK_VAL
+(
+\99em
+->
+med\9f_h
+, -1);
+
+1909 
+       `med\9f_\9afo_ÿnûl_thumbÇ\9e
+(
+\99em
+->
+med\9f_h
+);
+
+1910 
+\99em
+->
+b_ü\97\8b_thumb
+ = 
+çl£
+;
+
+1912 
+       }
+}
+
+1914 
+boÞ
+       $_gl_d©a_is_®bum_exi¡s
+(\1e*
+d©a
+, 
+gl_þu¡\94
+ *
+®bum
+)
+
+1916 
+       `GL_CHECK_FALSE
+(
+d©a
+);
+
+1917 
+       `GL_CHECK_FALSE
+(
+®bum
+);
+
+1918 
+       `GL_CHECK_FALSE
+(
+®bum
+->
+þu¡\94
+);
+
+1919 
+       `GL_CHECK_FALSE
+(
+®bum
+->
+þu¡\94
+->
+·th
+);
+
+1920 \15 
+       `_gl_loÿl_d©a_is_®bum_exi¡s
+(
+®bum
+->
+þu¡\94
+->
+·th
+);
+
+1921 
+       }
+}
+
+1923 \12
+       $_gl_d©a_§ve_£Ëùed_¡r_ids
+(\1e*
+d©a
+, 
+E\9aa_Li¡
+ **
+\96
+)
+
+1925 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1926 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1928 ià(
+ad
+->
+£l\9afo
+.
+\96
+ =ð
+NULL
+)
+
+1930 
+       `_gl_d©a_ut\9e_g\91_£Ëùed_¡r_ids
+(&(
+ad
+->
+£l\9afo
+.
+\96
+),\83list);
+
+1932 
+ad
+->
+£l\9afo
+.
+images_út
+ = 0;
+
+1933 
+ad
+->
+£l\9afo
+.
+di§bË_hide_út
+ = 0;
+
+1934 #ifdeà
+_USE_ROTATE_BG
+
+
+1935 
+ad
+->
+£l\9afo
+.
+j³g_út
+ = 0;
+
+1938 
+       }
+}
+
+1940 \12
+       $_gl_d©a_»¡Üe_£Ëùed
+(
+E\9aa_Li¡
+ *
+£l_ids
+, 
+gl_\99em
+ *
+g\99em
+)
+
+1942 
+       `GL_CHECK_VAL
+(
+g\99em
+, -1);
+
+1943 
+       `GL_CHECK_VAL
+(
+g\99em
+->
+\99em
+, -1);
+
+1944 ià(
+£l_ids
+) {
+
+1945 
+boÞ
+b_£Ëùed
+ = 
+çl£
+;
+
+1946 
+b_£Ëùed
+ = 
+       `_gl_d©a_check_£Ëùed_id
+(
+£l_ids
+,
+
+1947 
+g\99em
+->
+\99em
+->
+uuid
+);
+
+1948 ià(
+b_£Ëùed
+) {
+
+1949 
+       `gl_dbg
+("b_selected");
+
+1950 
+b_£Ëùed
+ = 
+çl£
+;
+
+1952 
+g\99em
+->
+checked
+ = 
+\8cue
+;
+
+1953 
+g\99em
+->
+®bum
+->
+\96
+ = 
+       `e\9aa_li¡_­³nd
+(gitem->album->elist, gitem);
+
+1957 
+       }
+}
+
+1959 \12
+       $_gl_d©a_»¡Üe_upd©e_£Ëùed
+(
+E\9aa_Li¡
+ *
+£l_ids
+, 
+gl_\99em
+ *
+g\99em
+)
+
+1961 
+       `GL_CHECK_VAL
+(
+g\99em
+, -1);
+
+1962 
+       `GL_CHECK_VAL
+(
+g\99em
+->
+\99em
+, -1);
+
+1964 ià(
+£l_ids
+) {
+
+1965 
+boÞ
+b_£Ëùed
+ = 
+çl£
+;
+
+1966 
+b_£Ëùed
+ = 
+       `_gl_d©a_check_£Ëùed_id
+(
+£l_ids
+,
+
+1967 
+g\99em
+->
+\99em
+->
+uuid
+);
+
+1968 ià(
+b_£Ëùed
+) {
+
+1969 
+       `gl_dbg
+("b_selected");
+
+1970 
+b_£Ëùed
+ = 
+çl£
+;
+
+1972 
+g\99em
+->
+checked
+ = 
+\8cue
+;
+
+1973 
+g\99em
+->
+®bum
+->
+\96
+ = 
+       `e\9aa_li¡_­³nd
+(gitem->album->elist, gitem);
+
+1977 
+       }
+}
+
+1979 
+boÞ
+       $_gl_d©a_check_£Ëùed_id
+(
+E\9aa_Li¡
+ *
+£l_id_li¡
+, cڡ \ 5*
+id
+)
+
+1981 
+       `GL_CHECK_FALSE
+(
+£l_id_li¡
+);
+
+1982 
+       `GL_CHECK_FALSE
+(
+id
+);
+
+1983 
+E\9aa_Li¡
+ *
+tmp_\96
+ = 
+NULL
+;
+
+1984 
+gl_\99em
+ *
+s\99
+ = 
+NULL
+;
+
+1985 ià(
+       `e\9aa_li¡_couÁ
+(
+£l_id_li¡
+) == 0) {
+
+1986 
+       `gl_dbgE
+("sel_id_list is\83mpty!");
+
+1987 \15 
+çl£
+;
+
+1989 
+       `EINA_LIST_FOREACH
+(
+£l_id_li¡
+, 
+tmp_\96
+, 
+s\99
+) {
+
+1990 ià(
+s\99
+ =ð
+NULL
+ || s\99->
+\99em
+ ==NULL || s\99->\99em->
+uuid
+ == NULL) {
+
+1991 
+       `gl_dbgE
+("Invalid\85_id!");
+
+1992 
+s\99
+ = 
+NULL
+;
+
+1995 ià(
+       `g_¡rcmp0
+(
+id
+, 
+s\99
+->
+\99em
+->
+uuid
+)) {
+
+1996 
+s\99
+ = 
+NULL
+;
+
+1999 \15 
+\8cue
+;
+
+2001 \15 
+çl£
+;
+
+2002 
+       }
+}
+
+       @src/data/gl-local-data.c
+
+18 \ 2
+       ~<med\9f_cÚ\8bÁ.h
+>
+
+19 \ 2
+       ~<med\9f_\9afo.h
+>
+
+20 \ 2
+       ~<¡r\9ag.h
+>
+
+21 \ 2
+       ~<glib.h
+>
+
+22 \ 2
+       ~"gl-loÿl-d©a.h
+"
+
+23 \ 2
+       ~"gl-d©a-ut\9e.h
+"
+
+24 \ 2
+       ~"gl-debug.h
+"
+
+25 \ 2
+       ~"gl-th»ad-ut\9e.h
+"
+
+26 \ 2
+       ~"gl-fs.h
+"
+
+27 \ 2
+       ~"gl-f\9ee-ut\9e.h
+"
+
+29 \e\19
+_gl_\8cªsãr_d©a_t
+       tgl_\8cªsãr_d©a_s
+;
+
+30 \e\19
+_gl_fÜ\97ch_d©a_t
+       tgl_fÜ\97ch_d©a_s
+;
+
+32 \19
+       s_gl_\8cªsãr_d©a_t
+ {
+
+33 \1e**
+       mu£rd©a
+;
+
+34 
+f\9e\8br_h
+       mf\9e\8br
+;
+
+35 \ 5*
+       m®bum_id
+;
+
+36 
+boÞ
+       mw\99h_m\91a
+;
+
+39 \19
+       s_gl_fÜ\97ch_d©a_t
+ {
+
+40 \1e**
+       mu£rd©a
+;
+
+41 
+f\9e\8br_h
+       mf\9e\8br
+;
+
+42 \ 5*
+       m®bum_id
+;
+
+43 
+boÞ
+       mw\99h_m\91a
+;
+
+46 \18\12
+       $__gl_loÿl_d©a_ü\97\8b_f\9e\8br
+(
+gl_f\9e\8br_s
+ *
+cÚd\99
+, 
+f\9e\8br_h
+ *
+f\9e\8br
+)
+
+48 
+       `GL_CHECK_VAL
+(
+f\9e\8br
+, -1);
+
+49 
+       `GL_CHECK_VAL
+(
+cÚd\99
+, -1);
+
+50 \12
+»t
+ = -1;
+
+51 
+f\9e\8br_h
+tmp_f\9e\8br
+ = 
+NULL
+;
+
+52 
+»t
+ = 
+       `med\9f_f\9e\8br_ü\97\8b
+(&
+tmp_f\9e\8br
+);
+
+53 ià(
+»t
+ !ð
+MEDIA_CONTENT_ERROR_NONE
+) {
+
+54 
+       `gl_dbgE
+("Fail\81o create filter");
+
+58 ià(
+       `¡¾\92
+(
+cÚd\99
+->
+cÚd
+) > 0) {
+
+59 
+»t
+ = 
+       `med\9f_f\9e\8br_£t_cÚd\99
+(
+tmp_f\9e\8br
+, 
+cÚd\99
+->
+cÚd
+,
+
+60 
+cÚd\99
+->
+cÞÏ\8b_ty³
+);
+
+61 ià(
+»t
+ !ð
+MEDIA_CONTENT_ERROR_NONE
+) {
+
+62 
+       `gl_dbgE
+("Fail\81o set condition");
+
+63 \10
+GL_LOCAL_FAILED
+;
+
+67 ià(
+       `¡¾\92
+(
+cÚd\99
+->
+sÜt_keywÜd
+) > 0) {
+
+68 
+»t
+ = 
+       `med\9f_f\9e\8br_£t_Üd\94
+(
+tmp_f\9e\8br
+, 
+cÚd\99
+->
+sÜt_ty³
+,
+
+69 
+cÚd\99
+->
+sÜt_keywÜd
+,
+
+70 
+cÚd\99
+->
+cÞÏ\8b_ty³
+);
+
+71 ià(
+»t
+ !ð
+MEDIA_CONTENT_ERROR_NONE
+) {
+
+72 
+       `gl_dbgE
+("Fail\81o set order");
+
+73 \10
+GL_LOCAL_FAILED
+;
+
+77 ià(
+cÚd\99
+->
+off£t
+ !ð-1 && cÚd\99iÚ->
+couÁ
+ != -1 &&
+
+78 
+cÚd\99
+->
+couÁ
+ > 0) {
+
+79 
+»t
+ = 
+       `med\9f_f\9e\8br_£t_off£t
+(
+tmp_f\9e\8br
+, 
+cÚd\99
+->
+off£t
+,
+
+80 
+cÚd\99
+->
+couÁ
+);
+
+81 ià(
+»t
+ !ð
+MEDIA_CONTENT_ERROR_NONE
+) {
+
+82 
+       `gl_dbgE
+("Fail\81o set offset");
+
+83 \10
+GL_LOCAL_FAILED
+;
+
+87 *
+f\9e\8br
+ = 
+tmp_f\9e\8br
+;
+
+90 
+GL_LOCAL_FAILED
+:
+
+92 ià(
+tmp_f\9e\8br
+) {
+
+93 
+       `med\9f_f\9e\8br_de¡roy
+(
+tmp_f\9e\8br
+);
+
+94 
+tmp_f\9e\8br
+ = 
+NULL
+;
+
+95 *
+f\9e\8br
+ = 
+NULL
+;
+
+98 
+       }
+}
+
+100 \18\12
+       $__gl_loÿl_d©a_de¡roy_f\9e\8br
+(
+f\9e\8br_h
+f\9e\8br
+)
+
+102 
+       `GL_CHECK_VAL
+(
+f\9e\8br
+, -1);
+
+103 ià(
+       `med\9f_f\9e\8br_de¡roy
+(
+f\9e\8br
+è!ð
+MEDIA_CONTENT_ERROR_NONE
+) {
+
+104 
+       `gl_dbgE
+("Failed\81o destroy filter!");
+
+109 
+       }
+}
+
+111 \18
+boÞ
+       $__gl_loÿl_d©a_g\91_®bum_li¡_cb
+(
+med\9f_fÞd\94_h
+fÞd\94
+,
+
+112 \1e*
+d©a
+)
+
+114 
+       `GL_CHECK_FALSE
+(
+d©a
+);
+
+115 
+gl_\8cªsãr_d©a_s
+ *
+tmp_d©a
+ = (gl_\8cªsãr_d©a_ *)
+d©a
+;
+
+116 
+       `GL_CHECK_FALSE
+(
+tmp_d©a
+->
+u£rd©a
+);
+
+117 
+       `GL_CHECK_FALSE
+(
+fÞd\94
+);
+
+119 
+E\9aa_Li¡
+ **
+\96
+ = (E\9aa_Li¡ **)(
+tmp_d©a
+->
+u£rd©a
+);
+
+120 
+gl_®bum_s
+ *
+®bum
+ = 
+NULL
+;
+
+122 
+®bum
+ = (
+gl_®bum_s
+ *)
+       `ÿÎoc
+(1, \17(gl_album_s));
+
+123 
+       `GL_CHECK_FALSE
+(
+®bum
+);
+
+124 
+®bum
+->
+gty³
+ = 
+GL_TYPE_ALBUM
+;
+
+126 ià(
+       `med\9f_fÞd\94_þÚe
+(&(
+®bum
+->
+fÞd\94_h
+), 
+fÞd\94
+è!ð
+MEDIA_CONTENT_ERROR_NONE
+) {
+
+127 
+       `gl_dbgE
+("Clone folder handle failed!");
+
+128 \10
+GL_LOCAL_FAILED
+;
+
+131 ià(
+       `med\9f_fÞd\94_g\91_fÞd\94_id
+(
+fÞd\94
+, &(
+®bum
+->
+uuid
+)è!ð
+MEDIA_CONTENT_ERROR_NONE
+) {
+
+132 
+       `gl_dbgE
+("Get folder id failed!");
+
+133 \10
+GL_LOCAL_FAILED
+;
+
+136 ià(
+       `med\9f_fÞd\94_g\91_modif\9bd_time
+(
+fÞd\94
+, &(
+®bum
+->
+mtime
+)è!ð
+MEDIA_CONTENT_ERROR_NONE
+) {
+
+137 
+       `gl_dbgE
+("Get modified\81ime failed!");
+
+138 \10
+GL_LOCAL_FAILED
+;
+
+141 
+med\9f_cÚ\8bÁ_¡Üage_e
+¡Üage_ty³
+;
+
+142 ià(
+       `med\9f_fÞd\94_g\91_¡Üage_ty³
+(
+fÞd\94
+, &
+¡Üage_ty³
+è!ð
+MEDIA_CONTENT_ERROR_NONE
+) {
+
+143 
+       `gl_dbgE
+("Get folder\81ype failed!");
+
+144 \10
+GL_LOCAL_FAILED
+;
+
+147 ià(
+¡Üage_ty³
+ =ð
+MEDIA_CONTENT_STORAGE_INTERNAL
+) {
+
+148 
+®bum
+->
+ty³
+ = 
+GL_STORE_T_PHONE
+;
+
+149 } \vià(
+¡Üage_ty³
+ =ð
+MEDIA_CONTENT_STORAGE_EXTERNAL
+) {
+
+150 
+®bum
+->
+ty³
+ = 
+GL_STORE_T_MMC
+;
+
+152 
+       `gl_dbgE
+("Undef\9aed mode[%d]!", 
+¡Üage_ty³
+);
+
+155 ià(
+       `med\9f_fÞd\94_g\91_Çme
+(
+fÞd\94
+, &(
+®bum
+->
+di¥Ïy_Çme
+)è!ð
+MEDIA_CONTENT_ERROR_NONE
+) {
+
+156 
+       `gl_dbgE
+("Get folder\82ame failed!");
+
+157 \10
+GL_LOCAL_FAILED
+;
+
+160 ià(
+       `med\9f_fÞd\94_g\91_·th
+(
+fÞd\94
+, &(
+®bum
+->
+·th
+)è!ð
+MEDIA_CONTENT_ERROR_NONE
+) {
+
+161 
+       `gl_dbgE
+("Get folder\85ath failed!");
+
+162 \10
+GL_LOCAL_FAILED
+;
+
+165 ià(
+tmp_d©a
+->
+f\9e\8br
+) {
+
+166 ià(
+       `med\9f_fÞd\94_g\91_med\9f_couÁ_äom_db
+(
+®bum
+->
+uuid
+, 
+tmp_d©a
+->
+f\9e\8br
+, &×lbum->
+couÁ
+)è!ð
+MEDIA_CONTENT_ERROR_NONE
+) {
+
+167 
+       `gl_dbgE
+("Fa\9eed\81Øg\91 couÁ[uuid: %s]!", 
+®bum
+->
+uuid
+);
+
+168 \10
+GL_LOCAL_FAILED
+;
+
+172 *
+\96
+ = 
+       `e\9aa_li¡_­³nd
+(*\96i¡, 
+®bum
+);
+
+174 \15 
+\8cue
+;
+
+176 
+GL_LOCAL_FAILED
+:
+
+178 
+       `_gl_d©a_ty³_ä\93_gl\99em
+((\1e**)(&
+®bum
+));
+
+179 \15 
+çl£
+;
+
+180 
+       }
+}
+
+182 \18
+boÞ
+       $__gl_loÿl_d©a_g\91_med\9f_li¡_cb
+(
+med\9f_\9afo_h
+med\9f
+, \1e*
+d©a
+)
+
+184 
+       `GL_CHECK_FALSE
+(
+d©a
+);
+
+185 
+gl_\8cªsãr_d©a_s
+ *
+tmp_d©a
+ = (gl_\8cªsãr_d©a_ *)
+d©a
+;
+
+186 
+       `GL_CHECK_FALSE
+(
+tmp_d©a
+->
+u£rd©a
+);
+
+187 
+       `GL_CHECK_FALSE
+(
+med\9f
+);
+
+188 
+gl_med\9f_s
+ *
+\99em
+ = 
+NULL
+;
+
+189 
+gl_image_s
+ *
+image_\9afo
+ = 
+NULL
+;
+
+190 
+gl_video_s
+ *
+video_\9afo
+ = 
+NULL
+;
+
+191 
+image_m\91a_h
+image_hªdË
+ = 
+NULL
+;
+
+192 
+video_m\91a_h
+video_hªdË
+ = 
+NULL
+;
+
+193 \ 5*
+ext
+ = 
+NULL
+;
+
+195 \12
+»t
+ = -1;
+
+196 
+E\9aa_Li¡
+ **
+\96
+ = (E\9aa_Li¡ **)(
+tmp_d©a
+->
+u£rd©a
+);
+
+198 
+\99em
+ = (
+gl_med\9f_s
+ *)
+       `ÿÎoc
+(1, \17(gl_media_s));
+
+199 
+       `GL_CHECK_FALSE
+(
+\99em
+);
+
+200 
+\99em
+->
+gty³
+ = 
+GL_TYPE_MEDIA
+;
+
+202 ià(
+       `med\9f_\9afo_þÚe
+(&(
+\99em
+->
+med\9f_h
+), 
+med\9f
+è!ð
+MEDIA_CONTENT_ERROR_NONE
+) {
+
+203 
+       `gl_dbgE
+("Clone media handle failed!");
+
+204 \10
+GL_LOCAL_FAILED
+;
+
+207 ià(
+       `med\9f_\9afo_g\91_med\9f_id
+(
+med\9f
+, &(
+\99em
+->
+uuid
+)è!ð
+MEDIA_CONTENT_ERROR_NONE
+) {
+
+208 
+       `gl_dbgE
+("Get media id failed!");
+
+209 \10
+GL_LOCAL_FAILED
+;
+
+212 ià(
+       `med\9f_\9afo_g\91_di¥Ïy_Çme
+(
+med\9f
+, &(
+\99em
+->
+di¥Ïy_Çme
+)è!ð
+MEDIA_CONTENT_ERROR_NONE
+) {
+
+213 
+       `gl_dbgE
+("Get media display\82ame failed!");
+
+214 \10
+GL_LOCAL_FAILED
+;
+
+217 ià(
+       `med\9f_\9afo_g\91_f\9ee_·th
+(
+med\9f
+, &(
+\99em
+->
+f\9ee_u¾
+)è!ð
+MEDIA_CONTENT_ERROR_NONE
+) {
+
+218 
+       `gl_dbgE
+("Get media file\85ath failed!");
+
+219 \10
+GL_LOCAL_FAILED
+;
+
+222 ià(
+       `med\9f_\9afo_g\91_med\9f_ty³
+(
+med\9f
+, (
+med\9f_cÚ\8bÁ_ty³_e
+ *)&(
+\99em
+->
+ty³
+)è!ð
+MEDIA_CONTENT_ERROR_NONE
+) {
+
+223 
+       `gl_dbgE
+("Get media\81ype failed!");
+
+224 \10
+GL_LOCAL_FAILED
+;
+
+226 ià(
+       `med\9f_\9afo_g\91_thumbÇ\9e_·th
+(
+med\9f
+, &(
+\99em
+->
+thumb_u¾
+)è!ð
+MEDIA_CONTENT_ERROR_NONE
+) {
+
+227 
+       `gl_dbgE
+("Get media\81humbnail\85ath failed!");
+
+228 \10
+GL_LOCAL_FAILED
+;
+
+230 
+       `gl_sdbg
+("thumb_u¾: %s", 
+\99em
+->
+thumb_u¾
+);
+
+232 ià(
+       `med\9f_\9afo_g\91_tim\96\9ae
+(
+med\9f
+, &(
+\99em
+->
+mtime
+)è!ð
+MEDIA_CONTENT_ERROR_NONE
+) {
+
+233 
+       `gl_dbgE
+("Get media\81imeline failed!");
+
+234 \10
+GL_LOCAL_FAILED
+;
+
+242 
+med\9f_cÚ\8bÁ_¡Üage_e
+¡Üage_ty³
+ = 0;
+
+243 ià(
+       `med\9f_\9afo_g\91_¡Üage_ty³
+(
+med\9f
+, &
+¡Üage_ty³
+è!ð
+MEDIA_CONTENT_ERROR_NONE
+) {
+
+244 
+       `gl_dbgE
+("Get storage\81ype failed!");
+
+245 \10
+GL_LOCAL_FAILED
+;
+
+247 ià(
+¡Üage_ty³
+ =ð
+MEDIA_CONTENT_STORAGE_INTERNAL
+)
+
+248 
+\99em
+->
+¡Üage_ty³
+ = 
+GL_STORE_T_PHONE
+;
+
+249 \vià(
+¡Üage_ty³
+ =ð
+MEDIA_CONTENT_STORAGE_EXTERNAL
+)
+
+250 
+\99em
+->
+¡Üage_ty³
+ = 
+GL_STORE_T_MMC
+;
+
+252 
+       `gl_dbgE
+("Undef\9aed mode[%d]!", 
+¡Üage_ty³
+);
+
+254 ià(!
+tmp_d©a
+->
+w\99h_m\91a
+)
+
+255 \10
+GL_LOCAL_SUCCESS
+;
+
+257 ià(
+\99em
+->
+ty³
+ =ð
+MEDIA_CONTENT_TYPE_IMAGE
+) {
+
+258 
+»t
+ = 
+       `med\9f_\9afo_g\91_image
+(
+med\9f
+, &
+image_hªdË
+);
+
+259 ià(
+»t
+ !ð
+MEDIA_CONTENT_ERROR_NONE
+ || 
+image_hªdË
+ =ð
+NULL
+) {
+
+260 
+       `gl_dbgE
+("Fa\9eed\81Øg\91 imag\90hªdË[%d]!", 
+»t
+);
+
+261 \10
+GL_LOCAL_FAILED
+;
+
+264 
+image_\9afo
+ = (
+gl_image_s
+ *)
+       `ÿÎoc
+(1, \17(gl_image_s));
+
+265 ià(
+NULL
+ =ð
+image_\9afo
+) {
+
+266 
+       `gl_dbgE
+("Failed\81o calloc!");
+
+267 \10
+GL_LOCAL_FAILED
+;
+
+269 
+\99em
+->
+image_\9afo
+ = image_info;
+
+271 ià(
+       `image_m\91a_þÚe
+(&(
+image_\9afo
+->
+image_h
+), 
+image_hªdË
+è!ð
+MEDIA_CONTENT_ERROR_NONE
+) {
+
+272 
+       `gl_dbgE
+("Clone image handle failed!");
+
+273 \10
+GL_LOCAL_FAILED
+;
+
+276 ià(
+       `image_m\91a_g\91_med\9f_id
+(
+image_hªdË
+, &(
+image_\9afo
+->
+med\9f_uuid
+)è!ð
+MEDIA_CONTENT_ERROR_NONE
+) {
+
+277 
+       `gl_dbgE
+("Get image id failed!");
+
+278 \10
+GL_LOCAL_FAILED
+;
+
+281 ià(
+       `image_m\91a_g\91\9bÁ©iÚ
+(
+image_hªdË
+, (
+med\9f_cÚ\8bÁ_Ü\9bÁ©iÚ_e
+ *)&(
+image_\9afo
+->
\9bÁ©iÚ
+)è!ð
+MEDIA_CONTENT_ERROR_NONE
+) {
+
+282 
+       `gl_dbgE
+("Get image orientation failed!");
+
+283 \10
+GL_LOCAL_FAILED
+;
+
+285 ià(
+       `image_m\91a_g\91_bur¡_id
+(
+image_hªdË
+, &(
+image_\9afo
+->
+bur¡shÙ_id
+)è!ð
+MEDIA_CONTENT_ERROR_NONE
+) {
+
+286 
+image_\9afo
+->
+bur¡shÙ_id
+ = 
+NULL
+;
+
+287 
+       `gl_dbgE
+("Get burstshot_id failed!");
+
+290 ià(
+       `image_m\91a_de¡roy
+(
+image_hªdË
+è!ð
+MEDIA_CONTENT_ERROR_NONE
+) {
+
+291 
+       `gl_dbgE
+("Destroy image handle failed!");
+
+292 \10
+GL_LOCAL_FAILED
+;
+
+294 } \vià(
+\99em
+->
+ty³
+ =ð
+MEDIA_CONTENT_TYPE_VIDEO
+) {
+
+295 
+»t
+ = 
+       `med\9f_\9afo_g\91_video
+(
+med\9f
+, &
+video_hªdË
+);
+
+296 ià(
+»t
+ !ð
+MEDIA_CONTENT_ERROR_NONE
+ || 
+video_hªdË
+ =ð
+NULL
+) {
+
+297 
+       `gl_dbgE
+("Fa\9eed\81Øg\91 videØhªdË[%d]!", 
+»t
+);
+
+298 \10
+GL_LOCAL_FAILED
+;
+
+301 
+video_\9afo
+ = (
+gl_video_s
+ *)
+       `ÿÎoc
+(1, \17(gl_video_s));
+
+302 ià(
+NULL
+ =ð
+video_\9afo
+) {
+
+303 
+       `gl_dbgE
+("Failed\81o calloc!");
+
+304 \10
+GL_LOCAL_FAILED
+;
+
+306 
+\99em
+->
+video_\9afo
+ = video_info;
+
+308 ià(
+       `video_m\91a_þÚe
+(&(
+video_\9afo
+->
+video_h
+), 
+video_hªdË
+è!ð
+MEDIA_CONTENT_ERROR_NONE
+) {
+
+309 
+       `gl_dbgE
+("Clone video handle failed!");
+
+310 \10
+GL_LOCAL_FAILED
+;
+
+313 ià(
+       `video_m\91a_g\91_med\9f_id
+(
+video_hªdË
+, &(
+video_\9afo
+->
+med\9f_uuid
+)è!ð
+MEDIA_CONTENT_ERROR_NONE
+) {
+
+314 
+       `gl_dbgE
+("Get video id failed!");
+
+315 \10
+GL_LOCAL_FAILED
+;
+
+323 ià(
+       `video_m\91a_g\91_du¿tiÚ
+(
+video_hªdË
+, &(
+video_\9afo
+->
+du¿tiÚ
+)è!ð
+MEDIA_CONTENT_ERROR_NONE
+) {
+
+324 
+       `gl_dbgE
+("Get video duration failed!");
+
+325 \10
+GL_LOCAL_FAILED
+;
+
+328 ià(
+       `video_m\91a_g\91_¶ayed_time
+(
+video_hªdË
+, &(
+video_\9afo
+->
+Ï¡_¶ayed_pos
+)è!ð
+MEDIA_CONTENT_ERROR_NONE
+) {
+
+329 
+       `gl_dbgE
+("Get video\86ast\85layed\85osition failed!");
+
+330 \10
+GL_LOCAL_FAILED
+;
+
+333 ià(
+       `video_m\91a_de¡roy
+(
+video_hªdË
+è!ð
+MEDIA_CONTENT_ERROR_NONE
+) {
+
+334 
+       `gl_dbgE
+("Destroy video handle failed!");
+
+335 \10
+GL_LOCAL_FAILED
+;
+
+339 ià(
+video_\9afo
+->
+med\9f_uuid
+) {
+
+340 
+video_\9afo
+->
+bookm¬ks
+ = 0;
+
+341 \12
+couÁ
+ = 0;
+
+342 
+»t
+ = 
+       `med\9f_\9afo_g\91_bookm¬k_couÁ_äom_db
+(
+video_\9afo
+->
+med\9f_uuid
+,
+
+343 
+NULL
+,
+
+344 &
+couÁ
+);
+
+345 ià(
+»t
+ !ð
+MEDIA_CONTENT_ERROR_NONE
+)
+
+346 
+       `gl_dbgE
+("Fa\9eed\81Øg\91 bookm¬k[%d]", 
+»t
+);
+
+348 
+video_\9afo
+->
+bookm¬ks
+ = 
+couÁ
+;
+
+351 
+       `gl_dbgE
+("WrÚg med\9f\81y³[%d]!", 
+\99em
+->
+ty³
+);
+
+354 
+GL_LOCAL_SUCCESS
+:
+
+357 
+ext
+ = 
+       `¡¼chr
+(
+\99em
+->
+f\9ee_u¾
+, '.');
+
+358 ià(
+ext
+)
+
+359 
+\99em
+->
+ext
+ = 
+       `¡rdup
+(ext + 1);
+
+361 
+       `gl_dbgE
+("Extension is NULL!");
+
+363 *
+\96
+ = 
+       `e\9aa_li¡_­³nd
+(*\96i¡, 
+\99em
+);
+
+364 \15 
+\8cue
+;
+
+366 
+GL_LOCAL_FAILED
+:
+
+368 ià(
+image_hªdË
+)
+
+369 
+       `image_m\91a_de¡roy
+(
+image_hªdË
+);
+
+370 ià(
+video_hªdË
+)
+
+371 
+       `video_m\91a_de¡roy
+(
+video_hªdË
+);
+
+373 
+       `_gl_d©a_ty³_ä\93_gl\99em
+((\1e**)(&
+\99em
+));
+
+374 \15 
+çl£
+;
+
+375 
+       }
+}
+
+377 \18
+boÞ
+       $__gl_loÿl_d©a_g\91_çv_med\9f_li¡_cb
+(
+med\9f_\9afo_h
+med\9f
+, \1e*
+d©a
+)
+
+379 
+boÞ
+»t
+ = 
+çl£
+;
+
+380 
+»t
+ = 
+       `__gl_loÿl_d©a_g\91_med\9f_li¡_cb
+(
+med\9f
+, 
+d©a
+);
+
+381 \15 
+»t
+;
+
+382 
+       }
+}
+
+384 \18
+boÞ
+       $__gl_loÿl_d©a_g\91_®bum_cov\94_cb
+(
+med\9f_\9afo_h
+med\9f
+, \1e*
+d©a
+)
+
+386 
+       `GL_CHECK_FALSE
+(
+d©a
+);
+
+387 
+       `GL_CHECK_FALSE
+(
+med\9f
+);
+
+388 
+gl_med\9f_s
+ *
+\99em
+ = 
+NULL
+;
+
+389 
+E\9aa_Li¡
+ **
+\96
+ = (E\9aa_Li¡ **)
+d©a
+;
+
+391 
+\99em
+ = (
+gl_med\9f_s
+ *)
+       `ÿÎoc
+(1, \17(gl_media_s));
+
+392 
+       `GL_CHECK_FALSE
+(
+\99em
+);
+
+393 
+\99em
+->
+gty³
+ = 
+GL_TYPE_MEDIA
+;
+
+395 ià(
+       `med\9f_\9afo_þÚe
+(&(
+\99em
+->
+med\9f_h
+), 
+med\9f
+è!ð
+MEDIA_CONTENT_ERROR_NONE
+) {
+
+396 
+       `gl_dbgE
+("Clone media handle failed!");
+
+397 \10
+GL_LOCAL_FAILED
+;
+
+399 ià(
+       `med\9f_\9afo_g\91_f\9ee_·th
+(
+med\9f
+, &(
+\99em
+->
+f\9ee_u¾
+)è!ð
+MEDIA_CONTENT_ERROR_NONE
+) {
+
+400 
+       `gl_dbgE
+("Get media file\85ath failed!");
+
+401 \10
+GL_LOCAL_FAILED
+;
+
+403 ià(
+       `med\9f_\9afo_g\91_med\9f_ty³
+(
+med\9f
+, (
+med\9f_cÚ\8bÁ_ty³_e
+ *)&(
+\99em
+->
+ty³
+)è!ð
+MEDIA_CONTENT_ERROR_NONE
+) {
+
+404 
+       `gl_dbgE
+("Get media\81ype failed!");
+
+405 \10
+GL_LOCAL_FAILED
+;
+
+407 ià(
+       `med\9f_\9afo_g\91_thumbÇ\9e_·th
+(
+med\9f
+, &(
+\99em
+->
+thumb_u¾
+)è!ð
+MEDIA_CONTENT_ERROR_NONE
+) {
+
+408 
+       `gl_dbgE
+("Get media\81humbnail\85ath failed!");
+
+409 \10
+GL_LOCAL_FAILED
+;
+
+411 
+       `gl_sdbg
+("thumb_u¾: %s", 
+\99em
+->
+thumb_u¾
+);
+
+413 *
+\96
+ = 
+       `e\9aa_li¡_­³nd
+(*\96i¡, 
+\99em
+);
+
+414 \15 
+\8cue
+;
+
+416 
+GL_LOCAL_FAILED
+:
+
+418 
+       `_gl_d©a_ty³_ä\93_gl\99em
+((\1e**)(&
+\99em
+));
+
+419 \15 
+çl£
+;
+
+420 
+       }
+}
+
+422 \18
+boÞ
+       $__gl_loÿl_d©a_g\91_çv_®bum_cov\94_cb
+(
+med\9f_\9afo_h
+med\9f
+, \1e*
+d©a
+)
+
+424 
+       `GL_CHECK_FALSE
+(
+d©a
+);
+
+425 
+       `GL_CHECK_FALSE
+(
+med\9f
+);
+
+426 
+gl_med\9f_s
+ *
+\99em
+ = 
+NULL
+;
+
+427 
+E\9aa_Li¡
+ **
+\96
+ = (E\9aa_Li¡ **)
+d©a
+;
+
+429 
+\99em
+ = (
+gl_med\9f_s
+ *)
+       `ÿÎoc
+(1, \17(gl_media_s));
+
+430 
+       `GL_CHECK_FALSE
+(
+\99em
+);
+
+431 
+\99em
+->
+gty³
+ = 
+GL_TYPE_MEDIA
+;
+
+433 ià(
+       `med\9f_\9afo_þÚe
+(&(
+\99em
+->
+med\9f_h
+), 
+med\9f
+è!ð
+MEDIA_CONTENT_ERROR_NONE
+) {
+
+434 
+       `gl_dbgE
+("Clone media handle failed!");
+
+435 \10
+GL_LOCAL_FAILED
+;
+
+437 ià(
+       `med\9f_\9afo_g\91_f\9ee_·th
+(
+med\9f
+, &(
+\99em
+->
+f\9ee_u¾
+)è!ð
+MEDIA_CONTENT_ERROR_NONE
+) {
+
+438 
+       `gl_dbgE
+("Get media file\85ath failed!");
+
+439 \10
+GL_LOCAL_FAILED
+;
+
+441 ià(
+       `med\9f_\9afo_g\91_med\9f_ty³
+(
+med\9f
+, (
+med\9f_cÚ\8bÁ_ty³_e
+ *)&(
+\99em
+->
+ty³
+)è!ð
+MEDIA_CONTENT_ERROR_NONE
+) {
+
+442 
+       `gl_dbgE
+("Get media\81ype failed!");
+
+443 \10
+GL_LOCAL_FAILED
+;
+
+445 ià(
+       `med\9f_\9afo_g\91_thumbÇ\9e_·th
+(
+med\9f
+, &(
+\99em
+->
+thumb_u¾
+)è!ð
+MEDIA_CONTENT_ERROR_NONE
+) {
+
+446 
+       `gl_dbgE
+("Get media\81humbnail\85ath failed!");
+
+447 \10
+GL_LOCAL_FAILED
+;
+
+449 
+       `gl_sdbg
+("thumb_u¾: %s", 
+\99em
+->
+thumb_u¾
+);
+
+451 *
+\96
+ = 
+       `e\9aa_li¡_­³nd
+(*\96i¡, 
+\99em
+);
+
+452 \15 
+\8cue
+;
+
+454 
+GL_LOCAL_FAILED
+:
+
+456 
+       `_gl_d©a_ty³_ä\93_gl\99em
+((\1e**)(&
+\99em
+));
+
+457 \15 
+çl£
+;
+
+458 
+       }
+}
+
+460 \18
+boÞ
+       $__gl_loÿl_d©a_d\96\91e_®bum_cb
+(
+med\9f_\9afo_h
+med\9f
+, \1e*
+d©a
+)
+
+462 
+       `GL_CHECK_FALSE
+(
+d©a
+);
+
+463 
+       `GL_CHECK_FALSE
+(
+med\9f
+);
+
+464 
+E\9aa_Li¡
+ **
+\96
+ = (E\9aa_Li¡ **)
+d©a
+;
+
+465 
+gl_med\9f_s
+ *
+\99em
+ = 
+NULL
+;
+
+467 
+\99em
+ = (
+gl_med\9f_s
+ *)
+       `ÿÎoc
+(1, \17(gl_media_s));
+
+468 
+       `GL_CHECK_FALSE
+(
+\99em
+);
+
+469 
+\99em
+->
+gty³
+ = 
+GL_TYPE_MEDIA
+;
+
+471 ià(
+MEDIA_CONTENT_ERROR_NONE
+ !ð
+       `med\9f_\9afo_g\91_f\9ee_·th
+(
+med\9f
+, &(
+\99em
+->
+f\9ee_u¾
+))) {
+
+472 
+       `gl_dbgE
+("media_info_get_file_path failed");
+
+474 
+       `med\9f_\9afo_g\91_med\9f_id
+(
+med\9f
+, &(
+\99em
+->
+uuid
+));
+
+475 *
+\96
+ = 
+       `e\9aa_li¡_­³nd
+(*\96i¡, 
+\99em
+);
+
+476 \15 
+\8cue
+;
+
+477 
+       }
+}
+
+480 \12
+       $_gl_loÿl_d©a_cÚÃù
+(\1e)
+
+482 \12
+»t
+ = -1;
+
+483 
+»t
+ = 
+       `med\9f_cÚ\8bÁ_cÚÃù
+();
+
+484 ià(
+»t
+ =ð
+MEDIA_CONTENT_ERROR_NONE
+) {
+
+485 
+       `gl_dbg
+("DB connection is success");
+
+488 
+       `gl_dbgE
+("DB cÚÃùiÚ i ç\9eed[%d]!", 
+»t
+);
+
+491 
+       }
+}
+
+494 \12
+       $_gl_loÿl_d©a_discÚÃù
+(\1e)
+
+496 \12
+»t
+ = -1;
+
+497 
+»t
+ = 
+       `med\9f_cÚ\8bÁ_discÚÃù
+();
+
+498 ià(
+»t
+ =ð
+MEDIA_CONTENT_ERROR_NONE
+) {
+
+499 
+       `gl_dbg
+("DB disconnection is success");
+
+502 
+       `gl_dbgE
+("DB discÚÃùiÚ i ç\9eed[%d]!", 
+»t
+);
+
+505 
+       }
+}
+
+507 \12
+       $_gl_loÿl_d©a_g\91_®bum_by_·th
+(\ 5*
+·th
+, 
+gl_®bum_s
+ **
+®bum
+)
+
+509 
+       `GL_CHECK_VAL
+(
+·th
+, -1);
+
+510 
+       `GL_CHECK_VAL
+(
+®bum
+, -1);
+
+511 \12
+»t
+ = -1;
+
+512 
+E\9aa_Li¡
+ *
+li¡
+ = 
+NULL
+;
+
+513 
+gl_f\9e\8br_s
+cÚd\99
+;
+
+514 
+gl_®bum_s
+ *
+_\99em
+ = 
+NULL
+;
+
+515 \12
+i
+ = 0;
+
+517 ià(
+       `¡¾\92
+(
+·th
+) <=0) {
+
+518 
+       `gl_dbgE
+("Invalid\85ath!");
+
+521 
+       `gl_sdbg
+("·th: %s", 
+·th
+);
+
+523 
+       `mem£t
+(&
+cÚd\99
+, 0x00, \17(
+gl_f\9e\8br_s
+));
+
+524 
+       `_gl_d©a_ut\9e_g\91_cÚd
+(
+cÚd\99
+.
+cÚd
+);
+
+525 
+       `g_¡¾ýy
+(
+cÚd\99
+.
+sÜt_keywÜd
+, 
+GL_CONDITION_ORDER
+, 
+KEYWORD_LENGTH
+);
+
+526 
+cÚd\99
+.
+cÞÏ\8b_ty³
+ = 
+MEDIA_CONTENT_COLLATE_NOCASE
+;
+
+527 
+cÚd\99
+.
+sÜt_ty³
+ = 
+MEDIA_CONTENT_ORDER_DESC
+;
+
+528 
+cÚd\99
+.
+off£t
+ = -1;
+
+529 
+cÚd\99
+.
+couÁ
+ = -1;
+
+530 
+cÚd\99
+.
+w\99h_m\91a
+ = 
+çl£
+;
+
+532 
+       `¢´\9atf
+(
+cÚd\99
+.
+cÚd
+, 
+CONDITION_LENGTH
+,
+
+533 "(%s=0 OR %s=1èAND %s=\'%s\'", 
+MEDIA_TYPE
+, MEDIA_TYPE,
+
+534 
+FOLDER_PATH
+, 
+·th
+);
+
+536 
+»t
+ = 
+       `_gl_loÿl_d©a_g\91_®bum_li¡
+(&
+cÚd\99
+, &
+li¡
+);
+
+537 ià(
+»t
+ !ð0 || 
+NULL
+ =ð
+li¡
+) {
+
+538 
+       `gl_dbgE
+("Fa\9eed\81Øg\91\87lbum\86i¡[%d]!", 
+»t
+);
+
+539 
+»t
+ = -1;
+
+540 } \vià(
+NULL
+ !ð
+li¡
+) {
+
+541 *
+®bum
+ = 
+       `e\9aa_li¡_Áh
+(
+li¡
+, 0);
+
+542 
+i
+ = 1;
+
+543 
+»t
+ = 0;
+
+547 ià(
+li¡
+) {
+
+548 \12
+Ën
+ = 
+       `e\9aa_li¡_couÁ
+(
+li¡
+);
+
+549 
+       `gl_dbg
+("Ën: %d", 
+Ën
+);
+
+551 \ f
+i
+ < 
+Ën
+; i++) {
+
+552 
+_\99em
+ = 
+       `e\9aa_li¡_Áh
+(
+li¡
+, 
+i
+);
+
+553 
+       `_gl_d©a_ty³_ä\93_gl\99em
+((\1e**)(&
+_\99em
+));
+
+556 
+       `e\9aa_li¡_ä\93
+(
+li¡
+);
+
+559 \15 
+»t
+;
+
+560 
+       }
+}
+
+562 \12
+       $_gl_loÿl_d©a_g\91_®bum_li¡
+(
+gl_f\9e\8br_s
+ *
+cÚd\99
+, 
+E\9aa_Li¡
+ **
+\96
+)
+
+564 
+       `GL_CHECK_VAL
+(
+\96
+, -1);
+
+565 
+       `GL_CHECK_VAL
+(
+cÚd\99
+, -1);
+
+566 \12
+»t
+ = -1;
+
+567 
+f\9e\8br_h
+f\9e\8br
+ = 
+NULL
+;
+
+569 
+»t
+ = 
+       `__gl_loÿl_d©a_ü\97\8b_f\9e\8br
+(
+cÚd\99
+, &
+f\9e\8br
+);
+
+570 ià(
+»t
+ != 0) {
+
+571 
+       `gl_dbgE
+("C»©\90f\9e\8b¸ç\9eed[%d]!", 
+»t
+);
+
+575 
+f\9e\8br_h
+med\9f_f\9e\8br
+ = 
+NULL
+;
+
+576 
+gl_f\9e\8br_s
+med\9f_cÚd\99
+;
+
+577 
+       `mem£t
+(&
+med\9f_cÚd\99
+, 0x00, \17(
+gl_f\9e\8br_s
+));
+
+579 
+       `g_¡¾ýy
+(
+med\9f_cÚd\99
+.
+cÚd
+, 
+GL_CONDITION_IMAGE_VIDEO
+,
+
+580 
+CONDITION_LENGTH
+);
+
+581 
+med\9f_cÚd\99
+.
+sÜt_ty³
+ = 
+MEDIA_CONTENT_ORDER_DESC
+;
+
+582 
+       `g_¡¾ýy
+(
+med\9f_cÚd\99
+.
+sÜt_keywÜd
+, 
+GL_CONDITION_ORDER
+,
+
+583 
+KEYWORD_LENGTH
+);
+
+584 
+med\9f_cÚd\99
+.
+cÞÏ\8b_ty³
+ = 
+MEDIA_CONTENT_COLLATE_NOCASE
+;
+
+585 
+med\9f_cÚd\99
+.
+off£t
+ = -1;
+
+586 
+med\9f_cÚd\99
+.
+couÁ
+ = -1;
+
+587 
+med\9f_cÚd\99
+.
+w\99h_m\91a
+ = 
+çl£
+;
+
+589 
+»t
+ = 
+       `__gl_loÿl_d©a_ü\97\8b_f\9e\8br
+(&
+med\9f_cÚd\99
+, &
+med\9f_f\9e\8br
+);
+
+590 ià(
+»t
+ != 0) {
+
+591 
+       `__gl_loÿl_d©a_de¡roy_f\9e\8br
+(
+f\9e\8br
+);
+
+592 
+       `gl_dbgE
+("C»©\90f\9e\8b¸ç\9eed[%d]!", 
+»t
+);
+
+596 
+gl_\8cªsãr_d©a_s
+\8cª_d©a
+;
+
+597 
+       `mem£t
+(&
+\8cª_d©a
+, 0x00, \17(
+gl_\8cªsãr_d©a_s
+));
+
+598 
+\8cª_d©a
+.
+u£rd©a
+ = (\1e**)
+\96
+;
+
+599 
+\8cª_d©a
+.
+f\9e\8br
+ = 
+med\9f_f\9e\8br
+;
+
+600 
+\8cª_d©a
+.
+®bum_id
+ = 
+NULL
+;
+
+601 
+\8cª_d©a
+.
+w\99h_m\91a
+ = 
+çl£
+;
+
+603 
+       `gl_dbg
+("Get folders--start");
+
+604 
+»t
+ = 
+       `med\9f_fÞd\94_fÜ\97ch_fÞd\94_äom_db
+(
+f\9e\8br
+,
+
+605 
+__gl_loÿl_d©a_g\91_®bum_li¡_cb
+,
+
+606 &
+\8cª_d©a
+);
+
+607 
+       `gl_dbg
+("Get folders---over");
+
+609 
+       `__gl_loÿl_d©a_de¡roy_f\9e\8br
+(
+med\9f_f\9e\8br
+);
+
+610 
+       `__gl_loÿl_d©a_de¡roy_f\9e\8br
+(
+f\9e\8br
+);
+
+612 ià(
+»t
+ !ð
+MEDIA_CONTENT_ERROR_NONE
+) {
+
+613 
+       `gl_dbgE
+("Fa\9eed\81Øg\91\87ΠfÞd\94s[%d]!", 
+»t
+);
+
+618 
+       }
+}
+
+620 \12
+       $_gl_loÿl_d©a_g\91_med\9f_by_id
+(\ 5*
+med\9f_id
+, 
+gl_med\9f_s
+ **
+m\99em
+)
+
+622 
+       `GL_CHECK_VAL
+(
+m\99em
+, -1);
+
+624 ià(
+med\9f_id
+ =ð
+NULL
+) {
+
+626 
+       `_gl_d©a_ty³_Ãw_med\9f
+(
+m\99em
+);
+
+630 \12
+»t
+ = -1;
+
+631 
+E\9aa_Li¡
+ *
+li¡
+ = 
+NULL
+;
+
+632 
+gl_med\9f_s
+ *
+_m\99em
+ = 
+NULL
+;
+
+633 
+med\9f_\9afo_h
+med\9f_h
+ = 
+NULL
+;
+
+634 \12
+i
+ = 0;
+
+635 
+       `gl_sdbg
+("med\9f id: %s", 
+med\9f_id
+);
+
+637 
+»t
+ = 
+       `med\9f_\9afo_g\91_med\9f_äom_db
+(
+med\9f_id
+, &
+med\9f_h
+);
+
+638 ià(
+»t
+ !ð
+MEDIA_CONTENT_ERROR_NONE
+ || 
+med\9f_h
+ =ð
+NULL
+) {
+
+639 
+       `gl_dbgE
+("Fa\9eed\81Øg\91 med\9f hªdË[%d]!", 
+»t
+);
+
+640 ià(
+med\9f_h
+)
+
+641 
+       `med\9f_\9afo_de¡roy
+(
+med\9f_h
+);
+
+645 
+gl_\8cªsãr_d©a_s
+\8cª_d©a
+;
+
+646 
+       `mem£t
+(&
+\8cª_d©a
+, 0x00, \17(
+gl_\8cªsãr_d©a_s
+));
+
+647 
+\8cª_d©a
+.
+u£rd©a
+ = (\1e**)&
+li¡
+;
+
+648 
+\8cª_d©a
+.
+f\9e\8br
+ = 
+NULL
+;
+
+649 
+\8cª_d©a
+.
+®bum_id
+ = 
+NULL
+;
+
+650 
+\8cª_d©a
+.
+w\99h_m\91a
+ = 
+çl£
+;
+
+652 
+boÞ
+b_»t
+ = 
+       `__gl_loÿl_d©a_g\91_med\9f_li¡_cb
+(
+med\9f_h
+, &
+\8cª_d©a
+);
+
+654 
+       `med\9f_\9afo_de¡roy
+(
+med\9f_h
+);
+
+656 ià(
+b_»t
+ && 
+li¡
+) {
+
+657 *
+m\99em
+ = 
+       `e\9aa_li¡_Áh
+(
+li¡
+, 0);
+
+658 
+i
+ = 1;
+
+659 
+»t
+ = 0;
+
+661 
+       `gl_dbgE
+("Failed\81o get media\86ist!");
+
+662 
+»t
+ = -1;
+
+666 ià(
+li¡
+) {
+
+667 \12
+Ën
+ = 
+       `e\9aa_li¡_couÁ
+(
+li¡
+);
+
+668 
+       `gl_dbg
+("Ën: %d", 
+Ën
+);
+
+670 \ f
+i
+ < 
+Ën
+; i++) {
+
+671 
+_m\99em
+ = 
+       `e\9aa_li¡_Áh
+(
+li¡
+, 
+i
+);
+
+672 
+       `_gl_d©a_ty³_ä\93_gl\99em
+((\1e**)(&
+_m\99em
+));
+
+675 
+       `e\9aa_li¡_ä\93
+(
+li¡
+);
+
+678 \15 
+»t
+;
+
+679 
+       }
+}
+
+681 \12
+       $_gl_loÿl_d©a_g\91_med\9f_by_·th
+(cڡ \ 5*
+·th
+, 
+gl_med\9f_s
+ **
+m\99em
+)
+
+683 
+       `GL_CHECK_VAL
+(
+m\99em
+, -1);
+
+684 
+       `GL_CHECK_VAL
+(
+·th
+, -1);
+
+685 \12
+»t
+ = -1;
+
+686 
+E\9aa_Li¡
+ *
+li¡
+ = 
+NULL
+;
+
+687 
+gl_f\9e\8br_s
+cÚd\99
+;
+
+688 
+gl_med\9f_s
+ *
+_m\99em
+ = 
+NULL
+;
+
+689 \12
+i
+ = 0;
+
+691 ià(
+       `¡¾\92
+(
+·th
+) <=0) {
+
+692 
+       `gl_dbgE
+("Invalid\85ath!");
+
+695 
+       `gl_sdbg
+("·th: %s", 
+·th
+);
+
+697 
+       `mem£t
+(&
+cÚd\99
+, 0x00, \17(
+gl_f\9e\8br_s
+));
+
+698 
+       `_gl_d©a_ut\9e_g\91_cÚd
+(
+cÚd\99
+.
+cÚd
+);
+
+699 
+       `g_¡¾ýy
+(
+cÚd\99
+.
+sÜt_keywÜd
+, 
+GL_CONDITION_ORDER
+, 
+KEYWORD_LENGTH
+);
+
+700 
+cÚd\99
+.
+cÞÏ\8b_ty³
+ = 
+MEDIA_CONTENT_COLLATE_NOCASE
+;
+
+701 
+cÚd\99
+.
+sÜt_ty³
+ = 
+MEDIA_CONTENT_ORDER_DESC
+;
+
+702 
+cÚd\99
+.
+off£t
+ = -1;
+
+703 
+cÚd\99
+.
+couÁ
+ = -1;
+
+704 
+cÚd\99
+.
+w\99h_m\91a
+ = 
+\8cue
+;
+
+706 
+       `¢´\9atf
+(
+cÚd\99
+.
+cÚd
+, 
+CONDITION_LENGTH
+,
+
+707 "(%s=0 OR %s=1èAND %s=\'%s\'", 
+MEDIA_TYPE
+, MEDIA_TYPE,
+
+708 
+MEDIA_PATH
+, 
+·th
+);
+
+709 
+»t
+ = 
+       `_gl_loÿl_d©a_g\91_®l_®bums_med\9f_li¡
+(&
+cÚd\99
+, &
+li¡
+);
+
+710 ià(
+»t
+ !ð0 || 
+NULL
+ =ð
+li¡
+) {
+
+711 
+       `gl_dbgE
+("Fa\9eed\81Øg\91\87Î\87lbums[%d]!", 
+»t
+);
+
+712 
+»t
+ = -1;
+
+713 } \vià(
+NULL
+ !ð
+li¡
+) {
+
+714 *
+m\99em
+ = 
+       `e\9aa_li¡_Áh
+(
+li¡
+, 0);
+
+715 
+i
+ = 1;
+
+716 
+»t
+ = 0;
+
+720 ià(
+li¡
+) {
+
+721 \12
+Ën
+ = 
+       `e\9aa_li¡_couÁ
+(
+li¡
+);
+
+722 
+       `gl_dbg
+("Ën: %d", 
+Ën
+);
+
+724 \ f
+i
+ < 
+Ën
+; i++) {
+
+725 
+_m\99em
+ = 
+       `e\9aa_li¡_Áh
+(
+li¡
+, 
+i
+);
+
+726 
+       `_gl_d©a_ty³_ä\93_gl\99em
+((\1e**)(&
+_m\99em
+));
+
+729 
+       `e\9aa_li¡_ä\93
+(
+li¡
+);
+
+732 \15 
+»t
+;
+
+733 
+       }
+}
+
+735 \12
+       $_gl_loÿl_d©a_g\91_med\9f_couÁ
+(cڡ \ 5*
+þu¡\94_id
+, 
+gl_f\9e\8br_s
+ *
+cÚd\99
+,
+
+736 \12*
+\99em_út
+)
+
+738 
+       `GL_CHECK_VAL
+(
+þu¡\94_id
+, -1);
+
+739 
+       `GL_CHECK_VAL
+(
+cÚd\99
+, -1);
+
+740 
+       `GL_CHECK_VAL
+(
+\99em_út
+, -1);
+
+741 \12
+»t
+ = -1;
+
+742 
+f\9e\8br_h
+f\9e\8br
+ = 
+NULL
+;
+
+744 
+»t
+ = 
+       `__gl_loÿl_d©a_ü\97\8b_f\9e\8br
+(
+cÚd\99
+, &
+f\9e\8br
+);
+
+745 ià(
+»t
+ != 0) {
+
+746 
+       `gl_dbgE
+("C»©\90f\9e\8b¸ç\9eed[%d]!", 
+»t
+);
+
+750 
+       `gl_dbg
+("Get media count--start");
+
+751 
+»t
+ = 
+       `med\9f_fÞd\94_g\91_med\9f_couÁ_äom_db
+(
+þu¡\94_id
+, 
+f\9e\8br
+, 
+\99em_út
+);
+
+752 
+       `gl_dbg
+("Get media count---over");
+
+754 
+       `__gl_loÿl_d©a_de¡roy_f\9e\8br
+(
+f\9e\8br
+);
+
+756 ià(
+»t
+ !ð
+MEDIA_CONTENT_ERROR_NONE
+) {
+
+757 
+       `gl_dbgE
+("Fa\9eed\81Øg\91 med\9f couÁ[%d]!", 
+»t
+);
+
+762 
+       }
+}
+
+764 \12
+       $_gl_loÿl_d©a_g\91_®l_med\9f_couÁ
+(
+gl_f\9e\8br_s
+ *
+cÚdtiÚ
+, \12*
+\99em_út
+)
+
+766 
+       `GL_CHECK_VAL
+(
+cÚdtiÚ
+, -1);
+
+767 
+       `GL_CHECK_VAL
+(
+\99em_út
+, -1);
+
+768 \12
+»t
+ = -1;
+
+769 
+f\9e\8br_h
+f\9e\8br
+ = 
+NULL
+;
+
+771 
+»t
+ = 
+       `__gl_loÿl_d©a_ü\97\8b_f\9e\8br
+(
+cÚdtiÚ
+, &
+f\9e\8br
+);
+
+772 ià(
+»t
+ != 0) {
+
+773 
+       `gl_dbgE
+("C»©\90f\9e\8b¸ç\9eed[%d]!", 
+»t
+);
+
+777 
+       `gl_dbg
+("Get media count--start");
+
+778 
+       `GL_PROFILE_F_IN
+("media_info_get_media_count_from_db");
+
+779 
+»t
+ = 
+       `med\9f_\9afo_g\91_med\9f_couÁ_äom_db
+(
+f\9e\8br
+, 
+\99em_út
+);
+
+780 
+       `GL_PROFILE_F_OUT
+("media_info_get_media_count_from_db");
+
+781 
+       `gl_dbg
+("Get media count---over");
+
+783 
+       `__gl_loÿl_d©a_de¡roy_f\9e\8br
+(
+f\9e\8br
+);
+
+785 ià(
+»t
+ !ð
+MEDIA_CONTENT_ERROR_NONE
+) {
+
+786 
+       `gl_dbgE
+("Fa\9eed\81Øg\91 med\9f couÁ[%d]", 
+»t
+);
+
+791 
+       }
+}
+
+793 \12
+       $_gl_loÿl_d©a_g\91_®bum_med\9f_li¡
+(
+gl_f\9e\8br_s
+ *
+cÚd\99
+,
+
+794 cڡ \ 5*
+®bum_id
+, 
+E\9aa_Li¡
+ **
+\96
+)
+
+796 
+       `GL_CHECK_VAL
+(
+\96
+, -1);
+
+797 
+       `GL_CHECK_VAL
+(
+®bum_id
+, -1);
+
+798 
+       `GL_CHECK_VAL
+(
+cÚd\99
+, -1);
+
+799 
+       `gl_sdbg
+("®bum id: %s", 
+®bum_id
+);
+
+801 \12
+»t
+ = -1;
+
+802 
+f\9e\8br_h
+f\9e\8br
+ = 
+NULL
+;
+
+803 
+»t
+ = 
+       `__gl_loÿl_d©a_ü\97\8b_f\9e\8br
+(
+cÚd\99
+, &
+f\9e\8br
+);
+
+804 ià(
+»t
+ != 0) {
+
+805 
+       `gl_dbgE
+("Create filter failed!");
+
+809 
+gl_\8cªsãr_d©a_s
+\8cª_d©a
+;
+
+810 
+       `mem£t
+(&
+\8cª_d©a
+, 0x00, \17(
+gl_\8cªsãr_d©a_s
+));
+
+811 
+\8cª_d©a
+.
+u£rd©a
+ = (\1e**)
+\96
+;
+
+812 
+\8cª_d©a
+.
+f\9e\8br
+ = 
+NULL
+;
+
+813 
+\8cª_d©a
+.
+®bum_id
+ = (\ 5*)album_id;
+
+814 
+\8cª_d©a
+.
+w\99h_m\91a
+ = 
+cÚd\99
+->with_meta;
+
+816 
+       `gl_dbg
+("Get medias--start");
+
+817 
+»t
+ = 
+       `med\9f_fÞd\94_fÜ\97ch_med\9f_äom_db
+(
+®bum_id
+, 
+f\9e\8br
+,
+
+818 
+__gl_loÿl_d©a_g\91_med\9f_li¡_cb
+,
+
+819 &
+\8cª_d©a
+);
+
+820 
+       `gl_dbg
+("Get medias--start");
+
+822 
+       `__gl_loÿl_d©a_de¡roy_f\9e\8br
+(
+f\9e\8br
+);
+
+824 ià(
+»t
+ !ð
+MEDIA_CONTENT_ERROR_NONE
+) {
+
+825 
+       `gl_dbgE
+("Fa\9eed\81Øg\91 med\9fs[%d]!", 
+»t
+);
+
+830 
+       }
+}
+
+832 \12
+       $_gl_loÿl_d©a_g\91_®bum_cov\94
+(
+gl_f\9e\8br_s
+ *
+cÚd\99
+, cڡ \ 5*
+®bum_id
+,
+
+833 
+E\9aa_Li¡
+ **
+\96
+)
+
+835 
+       `GL_CHECK_VAL
+(
+\96
+, -1);
+
+836 
+       `GL_CHECK_VAL
+(
+®bum_id
+, -1);
+
+837 
+       `GL_CHECK_VAL
+(
+cÚd\99
+, -1);
+
+838 
+       `gl_sdbg
+("®bum id: %s", 
+®bum_id
+);
+
+840 \12
+»t
+ = -1;
+
+841 
+f\9e\8br_h
+f\9e\8br
+ = 
+NULL
+;
+
+842 
+»t
+ = 
+       `__gl_loÿl_d©a_ü\97\8b_f\9e\8br
+(
+cÚd\99
+, &
+f\9e\8br
+);
+
+843 ià(
+»t
+ != 0) {
+
+844 
+       `gl_dbgE
+("Create filter failed!");
+
+848 
+       `gl_dbg
+("Get medias--start");
+
+849 
+»t
+ = 
+       `med\9f_fÞd\94_fÜ\97ch_med\9f_äom_db
+(
+®bum_id
+, 
+f\9e\8br
+,
+
+850 
+__gl_loÿl_d©a_g\91_®bum_cov\94_cb
+,
+
+851 
+\96
+);
+
+852 
+       `gl_dbg
+("Get medias--start");
+
+854 
+       `__gl_loÿl_d©a_de¡roy_f\9e\8br
+(
+f\9e\8br
+);
+
+856 ià(
+»t
+ !ð
+MEDIA_CONTENT_ERROR_NONE
+) {
+
+857 
+       `gl_dbgE
+("Fa\9eed\81Øg\91 med\9fs[%d]!", 
+»t
+);
+
+862 
+       }
+}
+
+864 \12
+       $_gl_loÿl_d©a_g\91_®l_®bums_med\9f_li¡
+(
+gl_f\9e\8br_s
+ *
+cÚd\99
+,
+
+865 
+E\9aa_Li¡
+ **
+\96
+)
+
+867 
+       `GL_CHECK_VAL
+(
+\96
+, -1);
+
+868 
+       `GL_CHECK_VAL
+(
+cÚd\99
+, -1);
+
+869 \12
+»t
+ = -1;
+
+870 
+f\9e\8br_h
+f\9e\8br
+ = 
+NULL
+;
+
+872 
+»t
+ = 
+       `__gl_loÿl_d©a_ü\97\8b_f\9e\8br
+(
+cÚd\99
+, &
+f\9e\8br
+);
+
+873 ià(
+»t
+ != 0) {
+
+874 
+       `gl_dbgE
+("Create filter failed!");
+
+878 
+gl_\8cªsãr_d©a_s
+\8cª_d©a
+;
+
+879 
+       `mem£t
+(&
+\8cª_d©a
+, 0x00, \17(
+gl_\8cªsãr_d©a_s
+));
+
+880 
+\8cª_d©a
+.
+u£rd©a
+ = (\1e**)
+\96
+;
+
+881 
+\8cª_d©a
+.
+f\9e\8br
+ = 
+NULL
+;
+
+882 
+\8cª_d©a
+.
+®bum_id
+ = 
+NULL
+;
+
+883 
+\8cª_d©a
+.
+w\99h_m\91a
+ = 
+cÚd\99
+->with_meta;
+
+885 
+       `gl_dbg
+("Get\87ll medias--start");
+
+886 
+»t
+ = 
+       `med\9f_\9afo_fÜ\97ch_med\9f_äom_db
+(
+f\9e\8br
+,
+
+887 
+__gl_loÿl_d©a_g\91_med\9f_li¡_cb
+,
+
+888 &
+\8cª_d©a
+);
+
+889 
+       `gl_dbg
+("Get\87ll medias--over");
+
+891 
+       `__gl_loÿl_d©a_de¡roy_f\9e\8br
+(
+f\9e\8br
+);
+
+893 ià(
+»t
+ !ð
+MEDIA_CONTENT_ERROR_NONE
+) {
+
+894 
+       `gl_dbgE
+("Fa\9eed\81Øg\91 med\9fs[%d]!", 
+»t
+);
+
+899 
+       }
+}
+
+901 \12
+       $_gl_loÿl_d©a_g\91_çv_®bums_med\9f_li¡
+(
+gl_f\9e\8br_s
+ *
+cÚd\99
+,
+
+902 
+E\9aa_Li¡
+ **
+\96
+)
+
+904 
+       `GL_CHECK_VAL
+(
+\96
+, -1);
+
+905 
+       `GL_CHECK_VAL
+(
+cÚd\99
+, -1);
+
+906 \12
+»t
+ = -1;
+
+907 
+f\9e\8br_h
+f\9e\8br
+ = 
+NULL
+;
+
+909 
+»t
+ = 
+       `__gl_loÿl_d©a_ü\97\8b_f\9e\8br
+(
+cÚd\99
+, &
+f\9e\8br
+);
+
+910 ià(
+»t
+ != 0) {
+
+911 
+       `gl_dbgE
+("Create filter failed!");
+
+915 
+gl_\8cªsãr_d©a_s
+\8cª_d©a
+;
+
+916 
+       `mem£t
+(&
+\8cª_d©a
+, 0x00, \17(
+gl_\8cªsãr_d©a_s
+));
+
+917 
+\8cª_d©a
+.
+u£rd©a
+ = (\1e**)
+\96
+;
+
+918 
+\8cª_d©a
+.
+f\9e\8br
+ = 
+NULL
+;
+
+919 
+\8cª_d©a
+.
+®bum_id
+ = 
+NULL
+;
+
+920 
+\8cª_d©a
+.
+w\99h_m\91a
+ = 
+cÚd\99
+->with_meta;
+
+922 
+       `gl_dbg
+("Get\87ll medias--start");
+
+923 
+»t
+ = 
+       `med\9f_\9afo_fÜ\97ch_med\9f_äom_db
+(
+f\9e\8br
+,
+
+924 
+__gl_loÿl_d©a_g\91_çv_med\9f_li¡_cb
+, &
+\8cª_d©a
+);
+
+925 
+       `gl_dbg
+("Get\87ll medias--over");
+
+927 
+       `__gl_loÿl_d©a_de¡roy_f\9e\8br
+(
+f\9e\8br
+);
+
+929 ià(
+»t
+ !ð
+MEDIA_CONTENT_ERROR_NONE
+) {
+
+930 
+       `gl_dbgE
+("Fa\9eed\81Øg\91 med\9fs[%d]!", 
+»t
+);
+
+935 
+       }
+}
+
+937 \12
+       $_gl_loÿl_d©a_g\91_®l_®bums_cov\94
+(
+gl_f\9e\8br_s
+ *
+cÚd\99
+,
+
+938 
+E\9aa_Li¡
+ **
+\96
+)
+
+940 
+       `GL_CHECK_VAL
+(
+\96
+, -1);
+
+941 
+       `GL_CHECK_VAL
+(
+cÚd\99
+, -1);
+
+942 \12
+»t
+ = -1;
+
+943 
+f\9e\8br_h
+f\9e\8br
+ = 
+NULL
+;
+
+945 
+»t
+ = 
+       `__gl_loÿl_d©a_ü\97\8b_f\9e\8br
+(
+cÚd\99
+, &
+f\9e\8br
+);
+
+946 ià(
+»t
+ != 0) {
+
+947 
+       `gl_dbgE
+("Create filter failed!");
+
+951 
+       `gl_dbg
+("Get\87ll medias--start");
+
+952 
+»t
+ = 
+       `med\9f_\9afo_fÜ\97ch_med\9f_äom_db
+(
+f\9e\8br
+,
+
+953 
+__gl_loÿl_d©a_g\91_®bum_cov\94_cb
+,
+
+954 
+\96
+);
+
+955 
+       `gl_dbg
+("Get\87ll medias--over");
+
+957 
+       `__gl_loÿl_d©a_de¡roy_f\9e\8br
+(
+f\9e\8br
+);
+
+959 ià(
+»t
+ !ð
+MEDIA_CONTENT_ERROR_NONE
+) {
+
+960 
+       `gl_dbgE
+("Fa\9eed\81Øg\91 med\9fs[%d]!", 
+»t
+);
+
+965 
+       }
+}
+
+967 \12
+       $_gl_loÿl_d©a_g\91_çv_®bums_cov\94
+(
+gl_f\9e\8br_s
+ *
+cÚd\99
+,
+
+968 
+E\9aa_Li¡
+ **
+\96
+)
+
+970 
+       `GL_CHECK_VAL
+(
+\96
+, -1);
+
+971 
+       `GL_CHECK_VAL
+(
+cÚd\99
+, -1);
+
+972 \12
+»t
+ = -1;
+
+973 
+f\9e\8br_h
+f\9e\8br
+ = 
+NULL
+;
+
+975 
+»t
+ = 
+       `__gl_loÿl_d©a_ü\97\8b_f\9e\8br
+(
+cÚd\99
+, &
+f\9e\8br
+);
+
+976 ià(
+»t
+ != 0) {
+
+977 
+       `gl_dbgE
+("Create filter failed!");
+
+981 
+       `gl_dbg
+("Get\87ll medias--start");
+
+982 
+»t
+ = 
+       `med\9f_\9afo_fÜ\97ch_med\9f_äom_db
+(
+f\9e\8br
+,
+
+983 
+__gl_loÿl_d©a_g\91_çv_®bum_cov\94_cb
+, 
+\96
+);
+
+984 
+       `gl_dbg
+("Get\87ll medias--over");
+
+986 
+       `__gl_loÿl_d©a_de¡roy_f\9e\8br
+(
+f\9e\8br
+);
+
+988 ià(
+»t
+ !ð
+MEDIA_CONTENT_ERROR_NONE
+) {
+
+989 
+       `gl_dbgE
+("Fa\9eed\81Øg\91 med\9fs[%d]!", 
+»t
+);
+
+994 
+       }
+}
+
+996 \12
+       $_gl_loÿl_d©a_d\96\91e_®bum
+(
+gl_®bum_s
+ *
+þu¡\94
+, \1e*
+cb
+, \1e*
+d©a
+, 
+boÞ
+is_hide
+)
+
+998 
+       `GL_CHECK_VAL
+(
+þu¡\94
+, -1);
+
+999 
+       `GL_CHECK_VAL
+(
+þu¡\94
+->
+uuid
+, -1);
+
+1000 
+gl_f\9e\8br_s
+cÚd\99
+;
+
+1001 
+f\9e\8br_h
+f\9e\8br
+ = 
+NULL
+;
+
+1002 \12
+»t
+ = -1;
+
+1003 
+       `gl_sdbg
+("®bum id: %s", 
+þu¡\94
+->
+uuid
+);
+
+1004 
+E\9aa_Li¡
+ *
+\99emli¡
+ = 
+NULL
+;
+
+1005 
+gl_med\9f_s
+ *
+\99em
+ = 
+NULL
+;
+
+1007 ià(!
+is_hide
+) {
+
+1008 
+       `mem£t
+(&
+cÚd\99
+, 0x00, \17(
+gl_f\9e\8br_s
+));
+
+1009 
+       `_gl_d©a_ut\9e_g\91_cÚd
+(
+cÚd\99
+.
+cÚd
+);
+
+1010 
+cÚd\99
+.
+cÞÏ\8b_ty³
+ = 
+MEDIA_CONTENT_COLLATE_NOCASE
+;
+
+1011 
+cÚd\99
+.
+sÜt_ty³
+ = 
+MEDIA_CONTENT_ORDER_ASC
+;
+
+1012 
+       `g_¡¾ýy
+(
+cÚd\99
+.
+sÜt_keywÜd
+, 
+MEDIA_ADDED_TIME
+, 
+KEYWORD_LENGTH
+);
+
+1013 
+cÚd\99
+.
+off£t
+ = -1;
+
+1014 
+cÚd\99
+.
+couÁ
+ = -1;
+
+1015 
+cÚd\99
+.
+w\99h_m\91a
+ = 
+çl£
+;
+
+1017 
+»t
+ = 
+       `__gl_loÿl_d©a_ü\97\8b_f\9e\8br
+(&
+cÚd\99
+, &
+f\9e\8br
+);
+
+1018 ià(
+»t
+ != 0) {
+
+1019 
+       `gl_dbgE
+("Create filter failed!");
+
+1022 
+»t
+ = 
+       `med\9f_fÞd\94_fÜ\97ch_med\9f_äom_db
+(
+þu¡\94
+->
+uuid
+, 
+f\9e\8br
+,
+
+1023 
+__gl_loÿl_d©a_d\96\91e_®bum_cb
+,
+
+1024 &
+\99emli¡
+);
+
+1025 
+       `__gl_loÿl_d©a_de¡roy_f\9e\8br
+(
+f\9e\8br
+);
+
+1028 ià(
+»t
+ !ð
+MEDIA_CONTENT_ERROR_NONE
+) {
+
+1029 
+       `gl_dbgE
+("Fa\9eed\81Øg\91 med\9fs[%d]!", 
+»t
+);
+
+1033 
+       `EINA_LIST_FREE
+(
+\99emli¡
+, 
+\99em
+) {
+
+1034 ià(
+\99em
+ =ð
+NULL
+ || i\8bm->
+f\9ee_u¾
+ == NULL) {
+
+1035 
+       `gl_dbgE
+("Invalid item!");
+
+1039 ià(!
+       `gl_f\9ee_uÆ\9ak
+(
+\99em
+->
+f\9ee_u¾
+))
+
+1040 
+       `gl_dbgE
+("file_unlink failed!");
+
+1041 ià(!
+is_hide
+) {
+
+1042 
+       `med\9f_\9afo_d\96\91e_äom_db
+(
+\99em
+->
+uuid
+);
+
+1043 ià(
+cb
+) {
+
+1044 \12(*
+d\96\91e_cb
+è(\1e*
+d©a
+, \ 5*
+uuid
+);
+
+1045 
+d\96\91e_cb
+ = 
+cb
+;
+
+1046 
+       `d\96\91e_cb
+(
+d©a
+, 
+\99em
+->
+uuid
+);
+
+1049 
+       `_gl_d©a_ty³_ä\93_gl\99em
+((\1e**)&
+\99em
+);
+
+1050 \12
+pb¬_ÿnûl
+ = 
+çl£
+;
+
+1051 
+       `gl_th»ad_g\91_ÿnûl_¡©e
+(
+d©a
+, &
+pb¬_ÿnûl
+);
+
+1052 ià(
+pb¬_ÿnûl
+ > 
+GL_PB_CANCEL_NORMAL
+) {
+
+1053 
+       `gl_dbgW
+("CªûÎed[%d]!", 
+pb¬_ÿnûl
+);
+
+1059 
+       }
+}
+
+1061 \12
+       $_gl_loÿl_d©a_hide_®bum_med\9f
+(\1e*
+d©a
+, 
+gl_®bum_s
+ *
+þu¡\94
+, \ 5*
+Ãw_·th
+)
+
+1063 
+       `GL_CHECK_VAL
+(
+þu¡\94
+, -1);
+
+1064 
+       `GL_CHECK_VAL
+(
+þu¡\94
+->
+uuid
+, -1);
+
+1065 
+gl_f\9e\8br_s
+cÚd\99
+;
+
+1066 
+f\9e\8br_h
+f\9e\8br
+ = 
+NULL
+;
+
+1067 \12
+»t
+ = -1;
+
+1068 
+       `gl_dbgE
+("®bum id: %s", 
+þu¡\94
+->
+uuid
+);
+
+1069 
+E\9aa_Li¡
+ *
+\99emli¡
+ = 
+NULL
+;
+
+1070 
+gl_med\9f_s
+ *
+\99em
+ = 
+NULL
+;
+
+1072 
+       `mem£t
+(&
+cÚd\99
+, 0x00, \17(
+gl_f\9e\8br_s
+));
+
+1073 
+       `_gl_d©a_ut\9e_g\91_cÚd
+(
+cÚd\99
+.
+cÚd
+);
+
+1074 
+cÚd\99
+.
+cÞÏ\8b_ty³
+ = 
+MEDIA_CONTENT_COLLATE_NOCASE
+;
+
+1075 
+cÚd\99
+.
+sÜt_ty³
+ = 
+MEDIA_CONTENT_ORDER_ASC
+;
+
+1076 
+       `g_¡¾ýy
+(
+cÚd\99
+.
+sÜt_keywÜd
+, 
+MEDIA_ADDED_TIME
+, 
+KEYWORD_LENGTH
+);
+
+1077 
+cÚd\99
+.
+off£t
+ = -1;
+
+1078 
+cÚd\99
+.
+couÁ
+ = -1;
+
+1079 
+cÚd\99
+.
+w\99h_m\91a
+ = 
+çl£
+;
+
+1081 
+»t
+ = 
+       `__gl_loÿl_d©a_ü\97\8b_f\9e\8br
+(&
+cÚd\99
+, &
+f\9e\8br
+);
+
+1082 ià(
+»t
+ != 0) {
+
+1083 
+       `gl_dbgE
+("Create filter failed!");
+
+1086 
+»t
+ = 
+       `med\9f_fÞd\94_fÜ\97ch_med\9f_äom_db
+(
+þu¡\94
+->
+uuid
+, 
+f\9e\8br
+,
+
+1087 
+__gl_loÿl_d©a_d\96\91e_®bum_cb
+,
+
+1088 &
+\99emli¡
+);
+
+1089 
+       `__gl_loÿl_d©a_de¡roy_f\9e\8br
+(
+f\9e\8br
+);
+
+1091 ià(
+»t
+ !ð
+MEDIA_CONTENT_ERROR_NONE
+) {
+
+1092 
+       `gl_dbgE
+("Fa\9eed\81Øg\91 med\9fs[%d]!", 
+»t
+);
+
+1096 \ 5
+Ãw_f\9ee
+[
+GL_FILE_PATH_LEN_MAX
+] = {0};
+
+1097 \ 5*
+Çme
+ = 
+NULL
+;
+
+1098 
+       `EINA_LIST_FREE
+(
+\99emli¡
+, 
+\99em
+) {
+
+1099 ià(
+\99em
+ =ð
+NULL
+ || i\8bm->
+f\9ee_u¾
+ == NULL) {
+
+1100 
+       `gl_dbgE
+("Invalid item!");
+
+1104 
+Çme
+ = 
+       `¡¼chr
+(
+\99em
+->
+f\9ee_u¾
+, '/');
+
+1105 ià(
+Çme
+) {
+
+1106 
+       `¢´\9atf
+(
+Ãw_f\9ee
+, 
+GL_FILE_PATH_LEN_MAX
+, "%s/%s",
+
+1107 
+Ãw_·th
+, 
+Çme
++1);
+
+1108 
+       `gl_dbgE
+("Ãw f\9ee: %s", 
+Ãw_f\9ee
+);
+
+1109 ià(!
+       `_gl_fs_move
+(
+d©a
+, 
+\99em
+->
+f\9ee_u¾
+, 
+Ãw_f\9ee
+)) {
+
+1110 
+       `gl_dbgE
+("rename failed!");
+
+1113 
+       `_gl_d©a_ty³_ä\93_gl\99em
+((\1e**)&
+\99em
+);
+
+1116 
+       }
+}
+
+1118 \12
+       $_gl_loÿl_d©a_add_med\9f
+(cڡ \ 5*
+f\9ee_u¾
+, 
+med\9f_\9afo_h
+ *
+\9afo
+)
+
+1120 
+       `GL_CHECK_VAL
+(
+f\9ee_u¾
+, -1);
+
+1121 \12
+»t
+ = -1;
+
+1122 
+med\9f_\9afo_h
+\99em
+ = 
+NULL
+;
+
+1123 
+       `gl_sdbg
+("f\9ee_u¾ i %s", 
+f\9ee_u¾
+);
+
+1125 
+»t
+ = 
+       `med\9f_\9afo_\9a£¹_to_db
+(
+f\9ee_u¾
+, &
+\99em
+);
+
+1126 ià(
+»t
+ !ð
+MEDIA_CONTENT_ERROR_NONE
+) {
+
+1127 
+       `gl_dbgE
+("Fa\9eed\81Ø\9a£¹ med\9f\81ØDB[%d]!", 
+»t
+);
+
+1128 ià(
+\99em
+)
+
+1129 
+       `med\9f_\9afo_de¡roy
+(
+\99em
+);
+
+1133 ià(
+\9afo
+) {
+
+1134 *
+\9afo
+ = 
+\99em
+;
+
+1136 
+       `gl_dbgW
+("Destroy media_info item!");
+
+1137 
+       `med\9f_\9afo_de¡roy
+(
+\99em
+);
+
+1141 
+       }
+}
+
+1143 \12
+       $_gl_loÿl_d©a_g\91_thumb
+(
+gl_med\9f_s
+ *
+m\99em
+, \ 5**
+thumb
+)
+
+1145 
+       `GL_CHECK_VAL
+(
+m\99em
+, -1);
+
+1146 
+       `GL_CHECK_VAL
+(
+m\99em
+->
+med\9f_h
+, -1);
+
+1148 ià(
+       `med\9f_\9afo_g\91_thumbÇ\9e_·th
+(
+m\99em
+->
+med\9f_h
+, 
+thumb
+è!ð
+MEDIA_CONTENT_ERROR_NONE
+) {
+
+1149 
+       `gl_dbgE
+("Get media\81humbnail\85ath failed!");
+
+1154 
+       }
+}
+
+1156 \12
+       $_gl_loÿl_d©a_move_med\9f
+(
+gl_med\9f_s
+ *
+m\99em
+, cڡ \ 5*
+d¡
+)
+
+1158 
+       `GL_CHECK_VAL
+(
+d¡
+, -1);
+
+1159 
+       `GL_CHECK_VAL
+(
+m\99em
+, -1);
+
+1160 
+       `GL_CHECK_VAL
+(
+m\99em
+->
+med\9f_h
+, -1);
+
+1162 ià(
+       `med\9f_\9afo_move_to_db
+(
+m\99em
+->
+med\9f_h
+, 
+d¡
+è!ð
+MEDIA_CONTENT_ERROR_NONE
+) {
+
+1163 
+       `gl_dbgE
+("Move media\81humbnail failed!");
+
+1168 
+       }
+}
+
+1170 
+boÞ
+       $_gl_loÿl_d©a_is_®bum_exi¡s
+(\ 5*
+·th
+)
+
+1172 
+       `GL_CHECK_FALSE
+(
+·th
+);
+
+1173 
+gl_®bum_s
+ *
+®bum
+ = 
+NULL
+;
+
+1174 
+       `gl_sdbgW
+("·th: %s", 
+·th
+);
+
+1176 
+       `_gl_loÿl_d©a_g\91_®bum_by_·th
+(
+·th
+, &
+®bum
+);
+
+1177 ià(
+®bum
+) {
+
+1178 
+       `_gl_d©a_ty³_ä\93_gl\99em
+((\1e**)(&
+®bum
+));
+
+1179 \15 
+\8cue
+;
+
+1181 \15 
+çl£
+;
+
+1182 
+       }
+}
+
+1184 \12
+       $_gl_loÿl_d©a_g\91_·th_by_id
+(cڡ \ 5*
+uuid
+, \ 5**
+·th
+)
+
+1186 
+       `GL_CHECK_VAL
+(
+·th
+, 0);
+
+1187 
+       `GL_CHECK_VAL
+(
+uuid
+, 0);
+
+1188 
+med\9f_\9afo_h
+med\9f_h
+ = 
+NULL
+;
+
+1189 \12
+»t
+ = -1;
+
+1190 \ 5*
+_·th
+ = 
+NULL
+;
+
+1192 
+»t
+ = 
+       `med\9f_\9afo_g\91_med\9f_äom_db
+(
+uuid
+, &
+med\9f_h
+);
+
+1193 ià(
+»t
+ !ð
+MEDIA_CONTENT_ERROR_NONE
+) {
+
+1194 
+       `gl_dbgE
+("G\91 med\9f fa\9eed[%d]!", 
+»t
+);
+
+1195 \10
+GL_LD_FAILED
+;
+
+1197 
+»t
+ = 
+       `med\9f_\9afo_g\91_f\9ee_·th
+(
+med\9f_h
+, &
+_·th
+);
+
+1198 ià(
+»t
+ !ð
+MEDIA_CONTENT_ERROR_NONE
+) {
+
+1199 
+       `gl_dbgE
+("Get media file\85ath failed!");
+
+1200 \10
+GL_LD_FAILED
+;
+
+1203 
+       `med\9f_\9afo_de¡roy
+(
+med\9f_h
+);
+
+1204 
+med\9f_h
+ = 
+NULL
+;
+
+1206 ià(!
+_·th
+) {
+
+1207 
+       `gl_dbgE
+("Invalid file\85ath!");
+
+1208 \10
+GL_LD_FAILED
+;
+
+1211 *
+·th
+ = 
+_·th
+;
+
+1213 
+GL_LD_FAILED
+:
+
+1215 ià(
+med\9f_h
+) {
+
+1216 
+       `med\9f_\9afo_de¡roy
+(
+med\9f_h
+);
+
+1217 
+med\9f_h
+ = 
+NULL
+;
+
+1220 
+       }
+}
+
+       @src/features/gl-albums-sel.c
+
+18 \ 2
+       ~"gl-debug.h
+"
+
+19 \ 2
+       ~"gl-®bums-£l.h
+"
+
+20 \ 2
+       ~"gl-ui-ut\9e.h
+"
+
+21 \ 2
+       ~"gl-ut\9e.h
+"
+
+22 \ 2
+       ~"gl-d©a.h
+"
+
+23 \ 2
+       ~"gl-cÚ\8cÞb¬.h
+"
+
+24 \ 2
+       ~"gl-bu\89Ú.h
+"
+
+25 \ 2
+       ~"gl-nocÚ\8bÁs.h
+"
+
+26 \ 2
+       ~"gl-nÙify.h
+"
+
+27 \ 2
+       ~"gl-¡r\9ags.h
+"
+
+28 \ 2
+       ~"gl-®bums.h
+"
+
+29 \ 2
+       ~"gl-tim\96\9ae.h
+"
+
+30 \ 2
+       ~"gl-thumbs.h
+"
+
+31 \ 2
+       ~"gl-t\9ee.h
+"
+
+32 \ 2
+       ~"gl-ed\99f\9bld.h
+"
+
+34 \18\1e
+_gl_®bums_£l_upd©e_®bum_£l_li¡
+(\1e*
+d©a
+);
+
+36 \18\1e
+       $__gl_®bums_£l_\8cªs_f\9aished_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+,
+
+37 \1e*
+ev\92t_\9afo
+)
+
+39 
+       `GL_CHECK
+(
+d©a
+);
+
+40 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+41 \12
+v\9bw_mode
+ = 
+       `gl_g\91_v\9bw_mode
+(
+ad
+);
+
+42 
+       `gl_dbgW
+("v\9bw_mode: %d", 
+v\9bw_mode
+);
+
+43 
+       `evas_objeù_sm¬t_ÿÎback_d\96
+(
+obj
+, 
+GL_TRANS_FINISHED
+,
+
+44 
+__gl_®bums_£l_\8cªs_f\9aished_cb
+);
+
+47 ià(
+v\9bw_mode
+ =ð
+GL_VIEW_ALBUMS_SELECT
+) {
+
+48 ià(
+ad
+->
+grid\9afo
+.
+nocÚ\8bÁs
+ =ð
+NULL
+)
+
+49 
+       `\96m_g\92grid_þ\97r
+(
+ad
+->
+grid\9afo
+.
+v\9bw
+);
+
+51 
+       `gl_dbgE
+("Wrong view mode!");
+
+53 
+       }
+}
+
+56 \18
+E\9aa_BoÞ
+       $__gl_®bums_£l_pÝ_cb
+(\1e*
+d©a
+, 
+Elm_Objeù_I\8bm
+ *
+\99
+)
+
+58 
+       `GL_CHECK_FALSE
+(
+d©a
+);
+
+59 
+       `gl_dbg
+("");
+
+60 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+61 
+       `_gl_d©a_£Ëùed_li¡_f\9a®ize
+(
+d©a
+);
+
+70 
+       `_gl_®bums_£l_pÝ_v\9bw
+(
+d©a
+);
+
+71 
+       `_gl_®bums_£l_upd©e_®bum_£l_li¡
+(
+d©a
+);
+
+72 ià(
+ad
+->
+®bum\9afo
+.
+£Ëùed_uuid
+) {
+
+73 
+       `ä\93
+(
+ad
+->
+®bum\9afo
+.
+£Ëùed_uuid
+);
+
+74 
+ad
+->
+®bum\9afo
+.
+£Ëùed_uuid
+ = 
+NULL
+;
+
+76 \15 
+EINA_TRUE
+;
+
+77 
+       }
+}
+
+83 \18\12
+       $__gl_®bums_£l_push_v\9bw
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+·»Á
+,
+
+84 
+Evas_Objeù
+ *
+obj
+, \ 5*
+t\99Ë
+)
+
+86 
+       `gl_dbg
+("GL_NAVI_ALBUMS_SELECT");
+
+87 
+       `GL_CHECK_VAL
+(
+obj
+, -1);
+
+88 
+       `GL_CHECK_VAL
+(
+·»Á
+, -1);
+
+89 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+90 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+91 
+Elm_Objeù_I\8bm
+ *
+nf_\99
+ = 
+NULL
+;
+
+94 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+·»Á
+, 
+GL_TRANS_FINISHED
+,
+
+95 
+__gl_®bums_£l_\8cªs_f\9aished_cb
+, 
+d©a
+);
+
+98 
+nf_\99
+ = 
+       `\96m_Çviäame_\99em_push
+(
+·»Á
+, 
+t\99Ë
+, 
+NULL
+, NULL, 
+obj
+,
+
+99 
+NULL
+);
+
+101 
+       `\96m_Çviäame_\99em_pÝ_cb_£t
+(
+nf_\99
+, 
+__gl_®bums_£l_pÝ_cb
+, 
+d©a
+);
+
+102 
+ad
+->
+®bum\9afo
+.
+nf_\99_£Ëù
+ = 
+nf_\99
+;
+
+104 
+       }
+}
+
+107 \18\1e
+       $__gl_®bums_£l_d\96\91e_Ïyout_cb
+(\1e*
+d©a
+, 
+Evas
+ *
+e
+,
+
+108 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+110 
+       `gl_dbg
+("Delete\86ayout ---");
+
+111 
+       `GL_CHECK
+(
+d©a
+);
+
+112 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+114 
+       `_gl_®bums_þ\97r_cbs
+(
+ad
+->
+®bum\9afo
+.
+£Ëù_v\9bw
+);
+
+115 
+       `_gl_ui_d\96_süÞËr_pos
+(
+ad
+->
+®bum\9afo
+.
+£Ëù_v\9bw
+);
+
+117 
+ad
+->
+®bum\9afo
+.
+b_Ãw_®bum
+ = 
+çl£
+;
+
+118 
+ad
+->
+®bum\9afo
+.
+£Ëù_v\9bw
+ = 
+NULL
+;
+
+119 
+ad
+->
+®bum\9afo
+.
+£Ëù_Ïyout
+ = 
+NULL
+;
+
+120 
+ad
+->
+®bum\9afo
+.
+nf_\99_£Ëù
+ = 
+NULL
+;
+
+121 
+       `gl_dbg
+("Delete\86ayout +++");
+
+122 
+       }
+}
+
+124 
+Evas_Objeù
+ *
+       $_gl_®bums_ü\97\8b_£l_g\92grid
+(\1e*
+d©a
+)
+
+126 
+       `GL_CHECK_VAL
+(
+d©a
+, 
+NULL
+);
+
+127 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+128 
+Evas_Objeù
+ *
+Ïyout_\9aÃr
+ = 
+       `\96m_g\92grid_add
+(
+ad
+->
+ma\9a\9afo
+.
+w\9a
+);
+
+130 
+       `\96m_g\92grid_®ign_£t
+(
+Ïyout_\9aÃr
+, 0.5f, 0.0);
+
+131 
+       `\96m_g\92grid_hÜizÚ\8fl_£t
+(
+Ïyout_\9aÃr
+, 
+EINA_FALSE
+);
+
+132 
+       `\96m_süÞËr_bounû_£t
+(
+Ïyout_\9aÃr
+, 
+EINA_FALSE
+, 
+EINA_TRUE
+);
+
+133 
+       `\96m_süÞËr_pÞicy_£t
+(
+Ïyout_\9aÃr
+, 
+ELM_SCROLLER_POLICY_OFF
+,
+
+134 
+ELM_SCROLLER_POLICY_AUTO
+);
+
+135 
+       `\96m_g\92grid_muÉi_£Ëù_£t
+(
+Ïyout_\9aÃr
+, 
+EINA_TRUE
+);
+
+136 
+       `evas_objeù_size_h\9at_weight_£t
+(
+Ïyout_\9aÃr
+, 
+EVAS_HINT_EXPAND
+,
+
+137 
+EVAS_HINT_EXPAND
+);
+
+138 \15 
+Ïyout_\9aÃr
+;
+
+139 
+       }
+}
+
+141 \12
+       $_gl_®bums_ü\97\8b_¥l\99_®bum_£l_v\9bw
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+Ïyout_\9aÃr
+)
+
+143 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+144 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+145 ià(
+       `_gl_¥l\99_®bums_ü\97\8b_\99ems
+(
+ad
+, 
+Ïyout_\9aÃr
+) < 0) {
+
+146 
+       `gl_dbgE
+("Failed\81o\87dd Split\87lbum view!");
+
+149 \12
+w
+ = -1, 
+h
+ = -1;
+
+150 
+       `evas_objeù_geom\91ry_g\91
+(
+ad
+->
+ma\9a\9afo
+.
+w\9a
+, 
+NULL
+, NULL, &
+w
+, &
+h
+);
+
+151 ià(
+w
+ < 
+h
+) {
+
+152 
+       `\96m_g\92grid_\99em_size_£t
+(
+Ïyout_\9aÃr
+, (
+w
+/3)-10, (w/3)-10);
+
+154 
+       `\96m_g\92grid_\99em_size_£t
+(
+Ïyout_\9aÃr
+, (
+h
+/3)-10, (h/3)-10);
+
+157 
+       }
+}
+
+159 \12
+       $_gl_®bums_£l_ü\97\8b_v\9bw
+(\1e*
+d©a
+)
+
+161 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+162 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+163 
+       `GL_CHECK_VAL
+(
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+, -1);
+
+164 
+       `gl_dbg
+("");
+
+167 
+Evas_Objeù
+ *
+Ïyout
+ = 
+NULL
+;
+
+168 
+Ïyout
+ = 
+       `_gl_ù¾_add_Ïyout
+(
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+);
+
+169 
+       `GL_CHECK_VAL
+(
+Ïyout
+, -1);
+
+170 
+       `evas_objeù_size_h\9at_weight_£t
+(
+Ïyout
+, 
+EVAS_HINT_EXPAND
+,
+
+171 
+EVAS_HINT_EXPAND
+);
+
+172 
+       `evas_objeù_size_h\9at_®ign_£t
+(
+Ïyout
+, 
+EVAS_HINT_FILL
+, EVAS_HINT_FILL);
+
+174 
+       `evas_objeù_ev\92t_ÿÎback_add
+(
+Ïyout
+, 
+EVAS_CALLBACK_DEL
+,
+
+175 
+__gl_®bums_£l_d\96\91e_Ïyout_cb
+, 
+d©a
+);
+
+177 \12
+´e_v\9bw_m
+ = 
+       `gl_g\91_v\9bw_mode
+(
+d©a
+);
+
+179 
+       `gl_£t_v\9bw_mode
+(
+d©a
+, 
+GL_VIEW_ALBUMS_SELECT
+);
+
+180 
+Evas_Objeù
+ *
+v\9bw
+ = 
+NULL
+;
+
+182 
+v\9bw
+ = 
+       `_gl_®bums_ü\97\8b_£l_g\92grid
+(
+d©a
+);
+
+183 ià(
+v\9bw
+ =ð
+NULL
+) {
+
+184 
+       `evas_objeù_d\96
+(
+Ïyout
+);
+
+186 
+       `gl_£t_v\9bw_mode
+(
+d©a
+, 
+´e_v\9bw_m
+);
+
+187 
+       `gl_dbgW
+("None\87lbums!");
+
+189 
+       `_gl_nÙify_ü\97\8b_nÙi\9afo
+(
+GL_STR_ADDED
+);
+
+192 ià(
+       `_gl_®bums_ü\97\8b_¥l\99_®bum_£l_v\9bw
+(
+ad
+, 
+v\9bw
+) == -1) {
+
+193 
+       `gl_dbgE
+("Failed\81o\87dd\87lbum split view!");
+
+194 
+       `evas_objeù_d\96
+(
+Ïyout
+);
+
+196 
+       `gl_£t_v\9bw_mode
+(
+d©a
+, 
+´e_v\9bw_m
+);
+
+198 
+       `_gl_nÙify_ü\97\8b_nÙi\9afo
+(
+GL_STR_ADDED
+);
+
+202 \12
+Ëngth
+ = 
+       `e\9aa_li¡_couÁ
+(
+ad
+->
+®bum\9afo
+.
+\96
+->
+þi¡
+);
+
+203 
+gl_þu¡\94
+ *
+®bum_\99em
+ = 
+NULL
+;
+
+204 
+       `gl_dbg
+("Album Ëngth: %d", 
+Ëngth
+);
+
+205 ià(
+Ëngth
+ > 0) {
+
+206 
+®bum_\99em
+ = 
+       `e\9aa_li¡_Áh
+(
+ad
+->
+®bum\9afo
+.
+\96
+->
+þi¡
+, 0);
+
+208 
+v\9bw
+ = 
+NULL
+;
+
+209 
+       `evas_objeù_d\96
+(
+Ïyout
+);
+
+211 
+       `gl_£t_v\9bw_mode
+(
+d©a
+, 
+´e_v\9bw_m
+);
+
+212 
+       `gl_dbgW
+("None\87lbums!");
+
+214 
+       `_gl_nÙify_ü\97\8b_nÙi\9afo
+(
+GL_STR_ADDED
+);
+
+217 
+       `__gl_®bums_Ãw_®bum_£l
+(
+®bum_\99em
+, 
+v\9bw
+, (\1e*ïlbum_\99em->
+\99em
+);
+
+220 \12
+w
+ = -1, 
+h
+ = -1;
+
+221 
+       `evas_objeù_geom\91ry_g\91
+(
+ad
+->
+ma\9a\9afo
+.
+w\9a
+, 
+NULL
+, NULL, &
+w
+, &
+h
+);
+
+222 
+Edje_Mes§ge_IÁ
+ *
+msg
+ = (Edje_Mes§ge_IÁ *)
+       `m®loc
+(\17(Edje_Message_Int) + \17(\12));
+
+223 
+       `GL_CHECK_VAL
+(
+msg
+, -1);
+
+224 
+msg
+->
+v®
+ = ((
+w
+ < 
+h
+) ? (w / 3) : (h / 3));
+
+225 
+       `edje_objeù_mes§ge_£nd
+(
+       `\96m_Ïyout_edje_g\91
+(
+Ïyout
+), 
+EDJE_MESSAGE_INT
+, 1, 
+msg
+);
+
+226 
+       `ä\93
+(
+msg
+);
+
+227 
+       `\96m_objeù_sigÇl_em\99
+(
+Ïyout
+, "elm,splitview,state,visible", "elm");
+
+229 ià(
+w
+ < 
+h
+) {
+
+230 
+       `\96m_g\92grid_\99em_size_£t
+(
+v\9bw
+, (
+w
+/3)-10, (w/3)-10);
+
+232 
+       `\96m_g\92grid_\99em_size_£t
+(
+v\9bw
+, (
+h
+/3)-10, (h/3)-10);
+
+234 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+Ïyout
+, "¥l\99.v\9bw", 
+v\9bw
+);
+
+235 
+Evas_Objeù
+ *
+ge¡u»
+ = 
+       `_gl_t\9ee_add_ge¡u»
+(
+d©a
+, 
+Ïyout
+);
+
+236 ià(
+ge¡u»
+ =ð
+NULL
+)
+
+237 
+       `gl_dbgE
+("Failed\81o create gesture!");
+
+239 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+Ïyout
+, "ge¡u»", 
+ge¡u»
+);
+
+240 
+ad
+->
+®bum\9afo
+.
+£Ëù_v\9bw
+ = 
+v\9bw
+;
+
+241 
+ad
+->
+®bum\9afo
+.
+£Ëù_Ïyout
+ = 
+Ïyout
+;
+
+242 
+       `__gl_®bums_£l_push_v\9bw
+(
+d©a
+, 
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+, 
+Ïyout
+,
+
+244 
+       `__gl_®bums_Ãw_®bum_£l
+(
+®bum_\99em
+, 
+v\9bw
+, (\1e*ïlbum_\99em->
+\99em
+);
+
+246 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+Ïyout
+, "\96m.sw®low.v\9bw", 
+ad
+->
+grid\9afo
+.
+£Ëù_v\9bw
+);
+
+247 
+ad
+->
+®bum\9afo
+.
+£Ëù_v\9bw
+ = 
+v\9bw
+;
+
+248 
+ad
+->
+®bum\9afo
+.
+£Ëù_Ïyout
+ = 
+Ïyout
+;
+
+249 
+       `_gl_ed\99f\9bld_de¡roy_imf
+(
+d©a
+);
+
+250 
+       `gl_dbg
+("Done");
+
+252 
+       }
+}
+
+254 \12
+       $_gl_®bums_£l_upd©e_v\9bw
+(\1e*
+d©a
+)
+
+256 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+257 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+259 
+       `_gl_®bums_ü\97\8b_\99ems
+(
+d©a
+, 
+ad
+->
+®bum\9afo
+.
+£Ëù_v\9bw
+);
+
+261 
+       }
+}
+
+264 \12
+       $_gl_®bums_£l_pÝ_v\9bw
+(\1e*
+d©a
+)
+
+266 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+267 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+270 ià(
+       `_gl_ù¾_g\91_\8fb_mode
+(
+ad
+è=ð
+GL_CTRL_TAB_ALBUMS
+) {
+
+271 
+       `\96m_Çviäame_\99em_pÝ_to
+(
+ad
+->
+ù¾\9afo
+.
+nf_\99
+);
+
+272 
+       `_gl_®bums_þo£_®bum
+(
+ad
+);
+
+273 } \vià(
+       `_gl_ù¾_g\91_\8fb_mode
+(
+ad
+è=ð
+GL_CTRL_TAB_TIMELINE
+) {
+
+274 
+       `\96m_Çviäame_\99em_pÝ_to
+(
+ad
+->
+ù¾\9afo
+.
+nf_\99
+);
+
+275 
+       `gl_£t_v\9bw_mode
+(
+d©a
+, 
+GL_VIEW_TIMELINE
+);
+
+276 
+       `_gl_tim\96\9ae_upd©e_v\9bw
+(
+ad
+);
+
+279 
+       }
+}
+
+281 \12
+       $_gl_®bums_£l_rÙ©e_v\9bw
+(\1e*
+d©a
+)
+
+283 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+285 
+       }
+}
+
+287 \18\1e
+       $_gl_®bums_£l_upd©e_®bum_£l_li¡
+(\1e*
+d©a
+)
+
+289 
+       `GL_CHECK
+(
+d©a
+);
+
+290 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+291 
+       `GL_CHECK
+(
+ad
+->
+®bum\9afo
+.
+\96
+);
+
+292 
+       `GL_CHECK
+(
+ad
+->
+®bum\9afo
+.
+\96
+->
+þi¡
+);
+
+293 
+gl_þu¡\94
+ *
+®bum_\99em
+ = 
+NULL
+;
+
+294 
+gl_\99em
+ *
+\99em
+ = 
+NULL
+;
+
+295 \12
+Ëngth
+, 
+i
+;
+
+296 
+E\9aa_Li¡
+ *
+þi¡
+ = 
+ad
+->
+®bum\9afo
+.
+\96
+->clist;
+
+297 
+Ëngth
+ = 
+       `e\9aa_li¡_couÁ
+(
+þi¡
+);
+
+299 \ f
+i
+ = 0; i < 
+Ëngth
+; i++) {
+
+300 
+®bum_\99em
+ = 
+       `e\9aa_li¡_Áh
+(
+þi¡
+, 
+i
+);
+
+301 ià(
+®bum_\99em
+ &&\87lbum_\99em->
+\96
+) {
+
+302 
+       `EINA_LIST_FREE
+(
+®bum_\99em
+->
+\96
+, 
+\99em
+) {
+
+303 ià(
+\99em
+) {
+
+304 
+\99em
+->
+checked
+ = 
+çl£
+;
+
+309 
+       }
+}
+
+       @src/features/gl-albums.c
+
+18 \ 2
+       ~"gl-debug.h
+"
+
+19 \ 2
+       ~"gl-®bums.h
+"
+
+20 \ 2
+       ~"gl-thumbs.h
+"
+
+21 \ 2
+       ~"gl-ma\9a.h
+"
+
+22 \ 2
+       ~"gl-cÚ\8cÞb¬.h
+"
+
+23 \ 2
+       ~"gl-ui-ut\9e.h
+"
+
+24 \ 2
+       ~"gl-ut\9e.h
+"
+
+25 \ 2
+       ~"gl-bu\89Ú.h
+"
+
+26 \ 2
+       ~"gl-d©a.h
+"
+
+27 \ 2
+       ~"gl-pÝup.h
+"
+
+28 \ 2
+       ~"gl-ùxpÝup.h
+"
+
+29 \ 2
+       ~"gl-´og»ssb¬.h
+"
+
+30 \ 2
+       ~"gl-p\9achzoom.h
+"
+
+31 \ 2
+       ~"gl-t\9ee.h
+"
+
+32 \ 2
+       ~"gl-ext-exec.h
+"
+
+33 \ 2
+       ~"gl-thumbs-£l.h
+"
+
+34 \ 2
+       ~"gl-thumbs-ed\99.h
+"
+
+35 \ 2
+       ~"gl-®bums-£l.h
+"
+
+36 \ 2
+       ~"gl-®bums-ed\99.h
+"
+
+37 \ 2
+       ~"gl-®bums-»Çme.h
+"
+
+38 \ 2
+       ~"gl-®bums-Ãw.h
+"
+
+39 \ 2
+       ~"gl-¡r\9ags.h
+"
+
+40 \ 2
+       ~"gl-nocÚ\8bÁs.h
+"
+
+41 \ 2
+       ~"gl-nÙify.h
+"
+
+42 \ 2
+       ~"gl-ext-ug-lßd.h
+"
+
+43 #ifdeà
+_USE_ROTATE_BG
+
+
+44 \ 2
+       ~"gl-r٩e-bg.h
+"
+
+45 \ 2
+       ~"gl-exif.h
+"
+
+47 \ 2
+       ~"gl-ge¡u».h
+"
+
+48 \ 2
+       ~"gl-f\9ee-ut\9e.h
+"
+
+50 \18\12
+__gl_®bums_ü\97\8b_thumb
+(
+gl_\99em
+ *
+g\99em
+, 
+gl_þu¡\94
+ *
+®bum
+);
+
+51 \18
+E\9aa_BoÞ
+__gl_®bums_pÝ_Ý
+(\1e*
+d©a
+);
+
+52 #ifdeà
+SUPPORT_SLIDESHOW
+
+
+53 \18\12
+__gl_®bums_¦ideshow
+(\1e*
+d©a
+, cڡ \ 5*
+Ïb\96
+);
+
+56 \18\1e
+       $__gl_®bums_»®ized
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+58 
+       `GL_CHECK
+(
+d©a
+);
+
+60 
+       `_gl_ma\9a_add_»g_idËr
+(
+d©a
+);
+
+62 
+       `GL_CHECK
+(
+ei
+);
+
+63 
+Elm_Objeù_I\8bm
+ *
+\99
+ = (Elm_Objeù_I\8bm *)
+ei
+;
+
+64 
+gl_þu¡\94
+ *
+®bum
+ = 
+       `\96m_objeù_\99em_d©a_g\91
+(
+\99
+);
+
+65 
+       `GL_CHECK
+(
+®bum
+);
+
+66 
+       `GL_CHECK
+(
+®bum
+->
+þu¡\94
+);
+
+67 
+       `GL_CHECK
+(
+®bum
+->
+cov\94
+);
+
+68 
+       `GL_CHECK
+(
+®bum
+->
+cov\94
+->
+\99em
+);
+
+70 
+       `gl_dbg
+("realized");
+
+71 ià(!
+       `GL_FILE_EXISTS
+(
+®bum
+->
+cov\94
+->
+\99em
+->
+thumb_u¾
+) &&
+
+72 
+       `GL_FILE_EXISTS
+(
+®bum
+->
+cov\94
+->
+\99em
+->
+f\9ee_u¾
+) &&
+
+73 (
+®bum
+->
+þu¡\94
+->
+ty³
+ =ð
+GL_STORE_T_PHONE
+ ||
+
+74 
+®bum
+->
+þu¡\94
+->
+ty³
+ =ð
+GL_STORE_T_MMC
+ ||
+
+75 
+®bum
+->
+þu¡\94
+->
+ty³
+ =ð
+GL_STORE_T_ALL
+))
+
+76 
+       `__gl_®bums_ü\97\8b_thumb
+(
+®bum
+->
+cov\94
+,\87lbum);
+
+77 
+       }
+}
+
+79 \18\1e
+       $__gl_®bums_uÄ\97lized
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+81 
+       `gl_dbg
+("unrealized");
+
+82 
+       `GL_CHECK
+(
+ei
+);
+
+83 
+Elm_Objeù_I\8bm
+ *
+\99
+ = (Elm_Objeù_I\8bm *)
+ei
+;
+
+84 
+gl_þu¡\94
+ *
+®bum
+ = 
+       `\96m_objeù_\99em_d©a_g\91
+(
+\99
+);
+
+85 
+       `GL_CHECK
+(
+®bum
+);
+
+86 
+       `GL_CHECK
+(
+®bum
+->
+þu¡\94
+);
+
+87 
+       `GL_CHECK
+(
+®bum
+->
+cov\94
+);
+
+88 
+       `GL_CHECK
+(
+®bum
+->
+cov\94
+->
+\99em
+);
+
+91 ià(
+®bum
+->
+þu¡\94
+->
+ty³
+ =ð
+GL_STORE_T_PHONE
+ ||
+
+92 
+®bum
+->
+þu¡\94
+->
+ty³
+ =ð
+GL_STORE_T_MMC
+ ||
+
+93 
+®bum
+->
+þu¡\94
+->
+ty³
+ =ð
+GL_STORE_T_ALL
+) {
+
+94 ià(
+®bum
+->
+cov\94
+->
+\99em
+->
+b_ü\97\8b_thumb
+) {
+
+95 
+       `_gl_d©a_ÿnûl_thumb
+(
+®bum
+->
+cov\94
+->
+\99em
+);
+
+98 
+       }
+}
+
+100 \18\1e
+       $__gl_¥l\99_®bums_»®ized
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+102 
+       `gl_dbg
+("split view\84ealized");
+
+103 
+       `GL_CHECK
+(
+d©a
+);
+
+104 
+       `GL_CHECK
+(
+ei
+);
+
+105 
+Elm_Objeù_I\8bm
+ *
+\99
+ = (Elm_Objeù_I\8bm *)
+ei
+;
+
+106 
+gl_þu¡\94
+ *
+®bum
+ = 
+       `\96m_objeù_\99em_d©a_g\91
+(
+\99
+);
+
+107 
+       `GL_CHECK
+(
+®bum
+);
+
+108 
+       `GL_CHECK
+(
+®bum
+->
+þu¡\94
+);
+
+109 
+       `GL_CHECK
+(
+®bum
+->
+cov\94
+);
+
+110 
+       `GL_CHECK
+(
+®bum
+->
+cov\94
+->
+\99em
+);
+
+111 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+®bum
+->ad;
+
+113 ià(
+ad
+->
+®bum\9afo
+.
+grid_£l_\99em
+) {
+
+114 ià(
+ad
+->
+®bum\9afo
+.
+£Ëùed_uuid
+) {
+
+115 
+       `gl_dbg
+("Cu¼\92\88\99em UUID : % ", 
+®bum
+->
+þu¡\94
+->
+uuid
+);
+
+116 
+       `gl_dbg
+("®bum v\9bw s\96eùed i\8bm UUID : % ", 
+ad
+->
+®bum\9afo
+.
+£Ëùed_uuid
+);
+
+117 ià(!
+       `¡rcmp
+(
+®bum
+->
+þu¡\94
+->
+uuid
+, 
+ad
+->
+®bum\9afo
+.
+£Ëùed_uuid
+)) {
+
+118 
+ad
+->
+®bum\9afo
+.
+grid_£l_\99em
+ = 
+ei
+;
+
+119 
+       `\96m_objeù_\99em_sigÇl_em\99
+((
+Elm_Objeù_I\8bm
+ *)
+ei
+, "elm,state,focused", "elm");
+
+121 
+       `\96m_objeù_\99em_sigÇl_em\99
+((
+Elm_Objeù_I\8bm
+ *)
+ei
+, "elm,state,unfocused", "elm");
+
+125 
+       `gl_dbg
+("realized");
+
+126 
+       }
+}
+
+129 \18\1e
+       $__gl_®bums_Ïng_chªged
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+131 
+       `GL_CHECK
+(
+d©a
+);
+
+132 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+133 
+       `gl_®bums_upd©e_\99ems
+(
+ad
+);
+
+134 
+       }
+}
+
+137 \1e
+       $__gl_®bums_Ãw_®bum_£l
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+139 
+       `GL_CHECK
+(
+d©a
+);
+
+140 
+gl_þu¡\94
+ *
+®bum_\99em
+ = (gl_þu¡\94 *)
+d©a
+;
+
+141 
+       `GL_CHECK
+(
+®bum_\99em
+->
+þu¡\94
+);
+
+142 
+       `GL_CHECK
+(
+®bum_\99em
+->
+ad
+);
+
+143 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+®bum_\99em
+->ad;
+
+144 \12
+v\9bw_mode
+ = 
+       `gl_g\91_v\9bw_mode
+(
+ad
+);
+
+145 
+       `\96m_g\92grid_\99em_£Ëùed_£t
+(
+ei
+, 
+EINA_FALSE
+);
+
+146 
+       `_gl_d©a_£Ëùed_li¡_f\9a®ize
+(
+ad
+);
+
+148 
+       `gl_dbg
+("v\9bw mode: %d.", 
+v\9bw_mode
+);
+
+149 ià(
+v\9bw_mode
+ !ð
+GL_VIEW_ALBUMS_EDIT
+) {
+
+150 ià(
+®bum_\99em
+->
+þu¡\94
+->
+couÁ
+ == 0) {
+
+151 
+       `gl_dbgW
+("Empty\87lbum,\84eturn!");
+
+155 
+       `_gl_ui_§ve_süÞËr_pos
+(
+obj
+);
+
+156 
+       `gl_®bums_Ý\92_®bum
+(
+®bum_\99em
+);
+
+157 
+       `\96m_objeù_\99em_sigÇl_em\99
+((
+Elm_Objeù_I\8bm
+ *)
+ei
+, "elm,state,focused", "elm");
+
+158 ià(
+ad
+->
+®bum\9afo
+.
+grid_£l_\99em
+) {
+
+159 
+gl_þu¡\94
+ *
+®bum_d©a
+ = 
+NULL
+;
+
+160 
+®bum_d©a
+ = 
+       `\96m_objeù_\99em_d©a_g\91
+(
+ad
+->
+®bum\9afo
+.
+grid_£l_\99em
+);
+
+161 ià(
+®bum_d©a
+) {
+
+162 ià(0 =ð
+       `¡rcmp
+(
+®bum_\99em
+->
+þu¡\94
+->
+uuid
+, 
+®bum_d©a
+->cluster->uuid)) {
+
+163 
+       `gl_dbgW
+("Item matched. No\82eed\81o\84emove focus");
+
+165 
+       `\96m_objeù_\99em_sigÇl_em\99
+(
+ad
+->
+®bum\9afo
+.
+grid_£l_\99em
+, "elm,state,unfocused", "elm");
+
+169 
+ad
+->
+®bum\9afo
+.
+grid_£l_\99em
+ = 
+ei
+;
+
+170 ià(
+ad
+->
+®bum\9afo
+.
+£Ëùed_uuid
+) {
+
+171 
+       `ä\93
+(
+ad
+->
+®bum\9afo
+.
+£Ëùed_uuid
+);
+
+172 
+ad
+->
+®bum\9afo
+.
+£Ëùed_uuid
+ = 
+NULL
+;
+
+174 
+ad
+->
+®bum\9afo
+.
+£Ëùed_uuid
+ = 
+       `¡rdup
+(
+®bum_\99em
+->
+þu¡\94
+->
+uuid
+);
+
+176 
+       }
+}
+
+179 \18\1e
+       $__gl_®bums_£l_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+181 
+       `GL_CHECK
+(
+d©a
+);
+
+182 
+gl_þu¡\94
+ *
+®bum_\99em
+ = (gl_þu¡\94 *)
+d©a
+;
+
+183 
+       `GL_CHECK
+(
+®bum_\99em
+->
+þu¡\94
+);
+
+184 
+       `GL_CHECK
+(
+®bum_\99em
+->
+ad
+);
+
+185 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+®bum_\99em
+->ad;
+
+186 \12
+v\9bw_mode
+ = 
+       `gl_g\91_v\9bw_mode
+(
+ad
+);
+
+187 
+       `\96m_g\92grid_\99em_£Ëùed_£t
+(
+ei
+, 
+EINA_FALSE
+);
+
+189 
+       `gl_dbg
+("v\9bw mode: %d.", 
+v\9bw_mode
+);
+
+190 ià(
+v\9bw_mode
+ !ð
+GL_VIEW_ALBUMS_EDIT
+ && v\9bw_mod\90
+GL_VIEW_ALBUM_REORDER
+) {
+
+191 ià(
+®bum_\99em
+->
+þu¡\94
+->
+couÁ
+ == 0) {
+
+192 
+       `gl_dbgW
+("Empty\87lbum,\84eturn!");
+
+196 
+       `_gl_ui_§ve_süÞËr_pos
+(
+obj
+);
+
+197 
+       `gl_®bums_Ý\92_®bum
+(
+®bum_\99em
+);
+
+198 
+       `\96m_objeù_\99em_sigÇl_em\99
+((
+Elm_Objeù_I\8bm
+ *)
+ei
+, "elm,state,focused", "elm");
+
+199 ià(
+ad
+->
+®bum\9afo
+.
+grid_£l_\99em
+) {
+
+200 
+gl_þu¡\94
+ *
+®bum_d©a
+ = 
+NULL
+;
+
+201 
+®bum_d©a
+ = 
+       `\96m_objeù_\99em_d©a_g\91
+(
+ad
+->
+®bum\9afo
+.
+grid_£l_\99em
+);
+
+202 ià(
+®bum_d©a
+) {
+
+203 ià(
+       `¡rcmp
+(
+®bum_\99em
+->
+þu¡\94
+->
+uuid
+, 
+®bum_d©a
+->cluster->uuid)) {
+
+204 
+       `\96m_objeù_\99em_sigÇl_em\99
+(
+ad
+->
+®bum\9afo
+.
+grid_£l_\99em
+, "elm,state,unfocused", "elm");
+
+208 
+ad
+->
+®bum\9afo
+.
+grid_£l_\99em
+ = 
+ei
+;
+
+209 ià(
+ad
+->
+®bum\9afo
+.
+£Ëùed_uuid
+) {
+
+210 
+       `ä\93
+(
+ad
+->
+®bum\9afo
+.
+£Ëùed_uuid
+);
+
+211 
+ad
+->
+®bum\9afo
+.
+£Ëùed_uuid
+ = 
+NULL
+;
+
+213 
+ad
+->
+®bum\9afo
+.
+£Ëùed_uuid
+ = 
+       `¡rdup
+(
+®bum_\99em
+->
+þu¡\94
+->
+uuid
+);
+
+215 
+       }
+}
+
+217 \18\ 5*
+       $__gl_®bums_g\91_\8bxt
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, cڡ \ 5*
+·¹
+)
+
+219 
+GL_PROFILE_IN
+;
+
+220 
+       `GL_CHECK_NULL
+(
+·¹
+);
+
+221 
+       `GL_CHECK_NULL
+(
+       `¡¾\92
+(
+·¹
+));
+
+222 
+       `GL_CHECK_NULL
+(
+d©a
+);
+
+223 
+gl_þu¡\94
+ *
+®bum_\99em
+ = (gl_þu¡\94 *)
+d©a
+;
+
+224 
+       `GL_CHECK_NULL
+(
+®bum_\99em
+->
+þu¡\94
+);
+
+225 
+       `GL_CHECK_NULL
+(
+®bum_\99em
+->
+þu¡\94
+->
+di¥Ïy_Çme
+);
+
+226 
+       `GL_CHECK_NULL
+(
+®bum_\99em
+->
+þu¡\94
+->
+uuid
+);
+
+227 
+       `GL_CHECK_NULL
+(
+®bum_\99em
+->
+ad
+);
+
+228 \ 5
+buf
+[
+GL_ALBUM_NAME_LEN_MAX
+] = { 0, };
+
+230 ià(!
+       `g_¡rcmp0
+(
+·¹
+, "elm.text.name")) {
+
+231 
+       `GL_PROFILE_F_OUT
+("__gl_albums_get_text(name)");
+
+232 
+       `GL_PROFILE_F_OUT
+("__gl_albums_get_text(count)");
+
+233 } \vià(!
+       `g_¡rcmp0
+(
+·¹
+, "elm.text.date")) {
+
+234 ià(
+®bum_\99em
+->
+cov\94
+) {
+
+235 
+       `_gl_d©a_ut\9e\93_g\99em
+(
+®bum_\99em
+->
+cov\94
+);
+
+236 
+®bum_\99em
+->
+cov\94
+ = 
+NULL
+;
+
+238 
+gl_\99em
+ *
+g\99em
+ = 
+NULL
+;
+
+239 
+       `_gl_d©a_g\91_®bum_cov\94
+(
+®bum_\99em
+, &
+g\99em
+,
+
+240 
+MEDIA_CONTENT_ORDER_DESC
+);
+
+241 ià(
+g\99em
+ =ð
+NULL
+ || g\99em->
+\99em
+ == NULL) {
+
+242 
+       `gl_dbg
+("Empty\87lbum...");
+
+243 
+       `_gl_d©a_ut\9e\93_g\99em
+(
+g\99em
+);
+
+244 
+®bum_\99em
+->
+cov\94_thumbs_út
+ = 0;
+
+245 \15 
+NULL
+;
+
+248 
+®bum_\99em
+->
+cov\94_thumbs_út
+ = 
+GL_ALBUM_COVER_THUMB_NUM
+;
+
+249 
+®bum_\99em
+->
+cov\94
+ = 
+g\99em
+;
+
+250 
+       `GL_PROFILE_F_OUT
+("__gl_albums_get_text(date)");
+
+251 } \vià(!
+       `g_¡rcmp0
+(
+·¹
+, "elm.text.badge")) {
+
+252 ià(
+       `gl_g\91_v\9bw_mode
+(
+®bum_\99em
+->
+ad
+è=ð
+GL_VIEW_THUMBS_EDIT
+ ||
+
+253 
+       `gl_g\91_v\9bw_mode
+(
+®bum_\99em
+->
+ad
+è=ð
+GL_VIEW_THUMBS_SELECT
+) {
+
+254 ià(
+®bum_\99em
+->
+\96
+) {
+
+255 \12
+£l_út
+ = 
+       `e\9aa_li¡_couÁ
+(
+®bum_\99em
+->
+\96
+);
+
+256 ià(
+£l_út
+ > 0) {
+
+257 
+       `\96m_objeù_\99em_sigÇl_em\99
+(
+®bum_\99em
+->
+\99em
+,
+
+260 
+       `¢´\9atf
+(
+buf
+, \17(buf), "%d", 
+£l_út
+);
+
+262 
+       `\96m_objeù_\99em_sigÇl_em\99
+(
+®bum_\99em
+->
+\99em
+,
+
+267 
+       `\96m_objeù_\99em_sigÇl_em\99
+(
+®bum_\99em
+->
+\99em
+,
+
+272 
+       `\96m_objeù_\99em_sigÇl_em\99
+(
+®bum_\99em
+->
+\99em
+,
+
+277 \15 
+       `¡rdup
+(
+buf
+);
+
+278 
+       }
+}
+
+281 \18\1e
+       $__gl_®bums_ü\97\8b_thumb_cb
+(
+med\9f_cÚ\8bÁ_\94rÜ_e
+\94
+,
+
+282 cڡ \ 5*
+·th
+, \1e*
+u£r_d©a
+)
+
+284 
+       `GL_CHECK
+(
+u£r_d©a
+);
+
+285 
+gl_®bum_d©a_s
+ *
+®bum_d©a
+ = (gl_®bum_d©a_ *)
+u£r_d©a
+;
+
+286 
+       `GL_CHECK
+(
+®bum_d©a
+->
+ad
+);
+
+287 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+®bum_d©a
+->ad;
+
+288 
+gl_þu¡\94
+ *
+®bum
+ = 
+®bum_d©a
+->album;
+
+289 
+       `GL_FREE
+(
+®bum_d©a
+);
+
+290 
+®bum
+->
+®bum_d©a
+ = 
+NULL
+;
+
+292 ià(
+       `gl_g\91_v\9bw_mode
+(
+ad
+è!ð
+GL_VIEW_ALBUMS
+ &&
+
+293 
+       `gl_g\91_v\9bw_mode
+(
+ad
+è!ð
+GL_VIEW_ALBUMS_EDIT
+ &&
+
+294 
+       `gl_g\91_v\9bw_mode
+(
+ad
+è!ð
+GL_VIEW_ALBUMS_SELECT
+)
+
+297 ià(
+\94
+ =ð
+MEDIA_CONTENT_ERROR_NONE
+ && 
+       `GL_FILE_EXISTS
+(
+·th
+) &&
+
+298 
+       `g_¡rcmp0
+(
+·th
+, 
+GL_ICON_DB_DEFAULT_THUMB
+)) {
+
+299 
+       `GL_CHECK
+(
+®bum
+);
+
+300 
+       `GL_CHECK
+(
+®bum
+->
+\99em
+);
+
+301 
+       `\96m_g\92grid_\99em_upd©e
+(
+®bum
+->
+\99em
+);
+
+303 
+       `gl_sdbgE
+("[%d]Inv®id\85©h[%s]!", 
+\94
+, 
+·th
+);
+
+305 
+       }
+}
+
+308 \18\12
+       $__gl_®bums_ü\97\8b_thumb
+(
+gl_\99em
+ *
+g\99em
+, 
+gl_þu¡\94
+ *
+®bum
+)
+
+310 
+       `GL_CHECK_VAL
+(
+g\99em
+, -1);
+
+311 
+       `GL_CHECK_VAL
+(
+g\99em
+->
+\99em
+, -1);
+
+312 
+       `GL_CHECK_VAL
+(
+g\99em
+->
+\99em
+->
+f\9ee_u¾
+, -1);
+
+313 
+       `GL_CHECK_VAL
+(
+®bum
+, -1);
+
+315 ià(
+       `GL_FILE_EXISTS
+(
+g\99em
+->
+\99em
+->
+f\9ee_u¾
+)) {
+
+316 
+gl_®bum_d©a_s
+ *
+®bum_d©a
+ = 
+NULL
+;
+
+317 
+®bum_d©a
+ = (
+gl_®bum_d©a_s
+ *)
+       `ÿÎoc
+(1, \17(gl_album_data_s));
+
+318 
+       `GL_CHECK_VAL
+(
+®bum_d©a
+, -1);
+
+319 
+®bum_d©a
+->
+ad
+ = 
+®bum
+->ad;
+
+320 
+®bum_d©a
+->
+®bum
+ =\87lbum;
+
+321 
+®bum
+->
+®bum_d©a
+ =\87lbum_data;
+
+322 
+       `_gl_d©a_ü\97\8b_thumb
+(
+g\99em
+->
+\99em
+, 
+__gl_®bums_ü\97\8b_thumb_cb
+,
+
+323 
+®bum_d©a
+);
+
+327 
+       }
+}
+
+329 \18\12
+       $__gl_®bums_£t_bg_f\9ee
+(
+Evas_Objeù
+ *
+bg
+, \1e*
+d©a
+)
+
+331 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+332 
+gl_\99em
+ *
+g\99
+ = (gl_\99em *)
+d©a
+;
+
+333 
+       `GL_CHECK_VAL
+(
+g\99
+->
+®bum
+, -1);
+
+335 \ 5*
+bg_·th
+ = 
+GL_ICON_NO_THUMBNAIL
+;
+
+336 
+gl_icÚ_ty³_e
+»t_v®
+ = -1;
+
+338 ià(
+g\99
+ =ð
+NULL
+ || g\99->
+\99em
+ == NULL) {
+
+339 
+       `gl_dbgE
+("Inv®id i\8bm :%p", 
+g\99
+);
+
+340 \10
+GL_ALBUMS_FAILED
+;
+
+343 
+»t_v®
+ = 0;
+
+344 
+bg_·th
+ = 
+GL_ICON_NO_THUMBNAIL
+;
+
+345 ià(
+       `GL_FILE_EXISTS
+(
+g\99
+->
+\99em
+->
+thumb_u¾
+))
+
+346 
+bg_·th
+ = 
+g\99
+->
+\99em
+->
+thumb_u¾
+;
+
+348 
+»t_v®
+ = -1;
+
+350 
+GL_ALBUMS_FAILED
+:
+
+352 #ifdeà
+_USE_ROTATE_BG
+
+
+353 
+       `_gl_rÙ©e_bg_£t_image_f\9ee
+(
+bg
+, 
+bg_·th
+);
+
+355 
+       `\96m_bg_f\9ee_£t
+(
+bg
+, 
+bg_·th
+, 
+NULL
+);
+
+358 \15 
+»t_v®
+;
+
+359 
+       }
+}
+
+361 \18
+Evas_Objeù
+ *
+       $__gl_®bums_g\91_ty³_icÚ
+(
+Evas_Objeù
+ *
+obj
+, 
+gl_þu¡\94
+ *
+®bum
+)
+
+363 
+       `GL_CHECK_NULL
+(
+®bum
+);
+
+364 
+       `GL_CHECK_NULL
+(
+®bum
+->
+þu¡\94
+);
+
+365 
+       `GL_CHECK_NULL
+(
+obj
+);
+
+366 
+Evas_Objeù
+ *
+_obj
+ = 
+NULL
+;
+
+368 ià(
+       `_gl_d©a_is_ÿm\94a_®bum
+(
+®bum
+->
+þu¡\94
+))
+
+369 
+_obj
+ = 
+       `_gl_t\9ee_show_·¹_ty³_icÚ
+(
+obj
+,
+
+370 
+GL_TILE_TYPE_CAMERA
+);
+
+371 \vià(
+       `_gl_d©a_is_deçuÉ_®bum
+(
+GL_STR_ALBUM_DOWNLOADS
+, 
+®bum
+->
+þu¡\94
+))
+
+372 
+_obj
+ = 
+       `_gl_t\9ee_show_·¹_ty³_icÚ
+(
+obj
+,
+
+373 
+GL_TILE_TYPE_DOWNLOAD
+);
+
+375 
+_obj
+ = 
+       `_gl_t\9ee_show_·¹_ty³_icÚ
+(
+obj
+,
+
+376 
+GL_TILE_TYPE_FOLDER
+);
+
+377 \15 
+_obj
+;
+
+378 
+       }
+}
+
+381 
+       $_gl_couÁ_£t
+(
+Evas_Objeù
+ *
+Ïyout
+, cڡ \ 5*
+\8bxt
+)
+
+383 
+Evas_Objeù
+ *
+edje
+;
+
+384 
+Edje_Mes§ge_Flßt
+ *
+msg
+;
+
+385 ià(
+\8bxt
+) {
+
+386 
+       `\96m_Ïyout_\8bxt_£t
+(
+Ïyout
+, "\96m.sub.\8bxt", 
+\8bxt
+);
+
+389 
+       `\96m_Ïyout_\8bxt_£t
+(
+Ïyout
+, "elm.sub.text", "");
+
+391 
+edje
+ = 
+       `\96m_Ïyout_edje_g\91
+(
+Ïyout
+);
+
+392 
+msg
+ = 
+       `ÿÎoc
+(1, \17(
+Edje_Mes§ge_Flßt
+));
+
+393 ià(
+msg
+) {
+
+394 
+msg
+->
+v®
+ = 
+       `\96m_cÚfig_sÿË_g\91
+();
+
+395 
+       `edje_objeù_mes§ge_£nd
+(
+edje
+, 
+EDJE_MESSAGE_FLOAT
+, 0, 
+msg
+);
+
+397 
+       }
+}
+
+399 \18
+Evas_Objeù
+ *
+       $__gl_®bums_g\91_cÚ\8bÁ
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+,
+
+400 cڡ \ 5*
+·¹
+)
+
+402 
+       `GL_CHECK_NULL
+(
+·¹
+);
+
+403 
+       `GL_CHECK_NULL
+(
+       `¡¾\92
+(
+·¹
+));
+
+404 
+       `GL_CHECK_NULL
+(
+d©a
+);
+
+405 
+gl_þu¡\94
+ *
+®bum_\99em
+ = (gl_þu¡\94 *)
+d©a
+;
+
+406 
+       `GL_CHECK_NULL
+(
+®bum_\99em
+->
+þu¡\94
+);
+
+407 
+       `GL_CHECK_NULL
+(
+®bum_\99em
+->
+ad
+);
+
+408 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+®bum_\99em
+->ad;
+
+409 
+       `GL_CHECK_NULL
+(
+®bum_\99em
+->
+þu¡\94
+->
+uuid
+);
+
+410 \12
+v\9bw_mode
+ = 
+       `gl_g\91_v\9bw_mode
+(
+ad
+);
+
+412 ià(
+v\9bw_mode
+ !ð
+GL_VIEW_ALBUMS
+ &&
+
+413 
+v\9bw_mode
+ !ð
+GL_VIEW_ALBUMS_EDIT
+ &&
+
+414 
+v\9bw_mode
+ !ð
+GL_VIEW_ALBUMS_SELECT
+ &&
+
+415 
+v\9bw_mode
+ !ð
+GL_VIEW_THUMBS
+ &&
+
+416 
+v\9bw_mode
+ !ð
+GL_VIEW_THUMBS_EDIT
+ &&
+
+417 
+v\9bw_mode
+ !ð
+GL_VIEW_THUMBS_SELECT
+ &&
+
+418 
+v\9bw_mode
+ !ð
+GL_VIEW_ALBUM_REORDER
+) {
+
+419 
+       `gl_dbg
+("Album i em±y, v\9bw mod\90i : % d", 
+v\9bw_mode
+);
+
+420 \15 
+NULL
+;
+
+422 
+Evas_Objeù
+ *
+_obj
+ = 
+NULL
+;
+
+425 ià(!
+       `g_¡rcmp0
+(
+·¹
+, "elm.text.name.swallow")) {
+
+426 \ 5
+út
+[
+GL_ALBUM_NAME_LEN_MAX
+] = { 0, };
+
+427 
+Evas_Objeù
+ *
+Ïyout
+ = 
+       `\96m_Ïyout_add
+(
+obj
+);
+
+428 
+       `\96m_Ïyout_f\9ee_£t
+(
+Ïyout
+, 
+GL_EDJ_FILE
+, "ceter_algined_text_layout");
+
+429 \ 5*
+i18n_Çme
+ = 
+       `_gl_g\91_i18n_®bum_Çme
+(
+®bum_\99em
+->
+þu¡\94
+);
+
+430 
+       `\96m_Ïyout_\8bxt_£t
+(
+Ïyout
+, "\96m.\8bxt", 
+       `\96m_\92\8cy_utf8_to_m¬kup
+(
+       `_gl_¡r
+(
+i18n_Çme
+)));
+
+431 
+       `¢´\9atf
+(
+út
+, \17(út), "(%d)", (\12)(
+®bum_\99em
+->
+þu¡\94
+->
+couÁ
+));
+
+432 
+       `_gl_couÁ_£t
+(
+Ïyout
+, 
+út
+);
+
+434 \15 
+Ïyout
+;
+
+435 } \vià(!
+       `g_¡rcmp0
+(
+·¹
+, 
+GL_TILE_ICON
+)) {
+
+436 ià(
+®bum_\99em
+->
+cov\94_thumbs_út
+ <= 0)
+
+437 
+       `gl_dbg
+("Empty\87lbum");
+
+439 
+_obj
+ = 
+       `_gl_t\9ee_show_·¹_icÚ
+(
+obj
+, 
+·¹
+,
+
+440 
+__gl_®bums_£t_bg_f\9ee
+,
+
+441 (\1e*)(
+®bum_\99em
+->
+cov\94
+));
+
+442 \12
+f\9c¡_út
+ = 2;
+
+443 \12
+Ëv\96
+ = (\12)
+       `evas_objeù_d©a_g\91
+(
+ad
+->
+®bum\9afo
+.
+v\9bw
+,
+
+444 
+GL_GESTURE_KEY_PINCH_LEVEL
+);
+
+445 ià(
+ad
+->
+ma\9a\9afo
+.
+r٩e_mode
+ =ð
+APP_DEVICE_ORIENTATION_90
+ ||
+
+446 
+ad
+->
+ma\9a\9afo
+.
+r٩e_mode
+ =ð
+APP_DEVICE_ORIENTATION_270
+ ||
+
+447 
+Ëv\96
+ =ð
+GL_ZOOM_NONE
+)
+
+448 
+f\9c¡_út
+ = 3;
+
+449 ià(
+®bum_\99em
+->
+\9adex
+ < 
+f\9c¡_út
+ &&\87lbum_\99em->
+\99em
+)
+
+450 
+       `\96m_objeù_\99em_sigÇl_em\99
+(
+®bum_\99em
+->
+\99em
+,
+
+453 } \vià(!
+       `g_¡rcmp0
+(
+·¹
+, 
+GL_TILE_TYPE_ICON
+)) {
+
+454 
+_obj
+ = 
+       `__gl_®bums_g\91_ty³_icÚ
+(
+obj
+, 
+®bum_\99em
+);
+
+455 } \vià(!
+       `g_¡rcmp0
+(
+·¹
+, 
+GL_TILE_SD_ICON
+)) {
+
+456 ià(
+GL_STORE_T_MMC
+ =ð
+®bum_\99em
+->
+þu¡\94
+->
+ty³
+) {
+
+457 
+_obj
+ = 
+       `_gl_t\9ee_show_·¹_ty³_icÚ
+(
+obj
+,
+
+458 
+GL_TILE_TYPE_MMC_STORAGE
+);
+
+460 
+       `\96m_objeù_\99em_sigÇl_em\99
+(
+®bum_\99em
+->
+\99em
+,
+
+464 } \vià(
+v\9bw_mode
+ =ð
+GL_VIEW_ALBUMS_EDIT
+) {
+
+465 
+_obj
+ = 
+       `_gl_®bums_ed\99_add_cÚ\8bÁ
+(
+d©a
+, 
+obj
+, 
+·¹
+);
+
+467 \15 
+_obj
+;
+
+468 
+       }
+}
+
+470 \18
+Evas_Objeù
+ *
+       $__gl_®bums_g\91_cÚ\8bÁ_¥l\99_v\9bw
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+,
+
+471 cڡ \ 5*
+·¹
+)
+
+473 
+       `GL_CHECK_NULL
+(
+·¹
+);
+
+474 
+       `GL_CHECK_NULL
+(
+       `¡¾\92
+(
+·¹
+));
+
+475 
+       `GL_CHECK_NULL
+(
+d©a
+);
+
+476 
+gl_þu¡\94
+ *
+®bum_\99em
+ = (gl_þu¡\94 *)
+d©a
+;
+
+477 
+       `GL_CHECK_NULL
+(
+®bum_\99em
+->
+þu¡\94
+);
+
+478 
+       `GL_CHECK_NULL
+(
+®bum_\99em
+->
+ad
+);
+
+479 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+®bum_\99em
+->ad;
+
+480 
+       `GL_CHECK_NULL
+(
+®bum_\99em
+->
+þu¡\94
+->
+uuid
+);
+
+481 \12
+v\9bw_mode
+ = 
+       `gl_g\91_v\9bw_mode
+(
+ad
+);
+
+483 ià(
+v\9bw_mode
+ !ð
+GL_VIEW_ALBUMS
+ &&
+
+484 
+v\9bw_mode
+ !ð
+GL_VIEW_ALBUMS_EDIT
+ &&
+
+485 
+v\9bw_mode
+ !ð
+GL_VIEW_ALBUMS_SELECT
+ &&
+
+486 
+v\9bw_mode
+ !ð
+GL_VIEW_THUMBS
+ &&
+
+487 
+v\9bw_mode
+ !ð
+GL_VIEW_THUMBS_EDIT
+ &&
+
+488 
+v\9bw_mode
+ !ð
+GL_VIEW_THUMBS_SELECT
+ &&
+
+489 
+v\9bw_mode
+ !ð
+GL_VIEW_ALBUM_REORDER
+) {
+
+490 
+       `gl_dbg
+("Album i em±y, v\9bw mod\90i : % d", 
+v\9bw_mode
+);
+
+491 \15 
+NULL
+;
+
+493 
+Evas_Objeù
+ *
+_obj
+ = 
+NULL
+;
+
+496 ià(!
+       `g_¡rcmp0
+(
+·¹
+, "elm.text.name.swallow")) {
+
+497 \ 5
+út
+[
+GL_ALBUM_NAME_LEN_MAX
+] = { 0, };
+
+498 
+Evas_Objeù
+ *
+Ïyout
+ = 
+       `\96m_Ïyout_add
+(
+obj
+);
+
+499 
+       `\96m_Ïyout_f\9ee_£t
+(
+Ïyout
+, 
+GL_EDJ_FILE
+, "ceter_algined_text_layout_split_view");
+
+500 \ 5*
+i18n_Çme
+ = 
+       `_gl_g\91_i18n_®bum_Çme
+(
+®bum_\99em
+->
+þu¡\94
+);
+
+501 
+       `\96m_Ïyout_\8bxt_£t
+(
+Ïyout
+, "\96m.\8bxt", 
+       `_gl_¡r
+(
+i18n_Çme
+));
+
+502 
+       `¢´\9atf
+(
+út
+, \17(út), "(%d)", (\12)(
+®bum_\99em
+->
+þu¡\94
+->
+couÁ
+));
+
+503 
+       `_gl_couÁ_£t
+(
+Ïyout
+, 
+út
+);
+
+505 \15 
+Ïyout
+;
+
+506 } \vià(!
+       `g_¡rcmp0
+(
+·¹
+, 
+GL_TILE_ICON
+)) {
+
+507 ià(
+®bum_\99em
+->
+cov\94_thumbs_út
+ <= 0)
+
+508 
+       `gl_dbg
+("Empty\87lbum");
+
+510 
+_obj
+ = 
+       `_gl_t\9ee_show_·¹_icÚ
+(
+obj
+, 
+·¹
+,
+
+511 
+__gl_®bums_£t_bg_f\9ee
+,
+
+512 (\1e*)(
+®bum_\99em
+->
+cov\94
+));
+
+513 \12
+f\9c¡_út
+ = 2;
+
+514 \12
+Ëv\96
+ = (\12)
+       `evas_objeù_d©a_g\91
+(
+ad
+->
+®bum\9afo
+.
+v\9bw
+,
+
+515 
+GL_GESTURE_KEY_PINCH_LEVEL
+);
+
+516 ià(
+ad
+->
+ma\9a\9afo
+.
+r٩e_mode
+ =ð
+APP_DEVICE_ORIENTATION_90
+ ||
+
+517 
+ad
+->
+ma\9a\9afo
+.
+r٩e_mode
+ =ð
+APP_DEVICE_ORIENTATION_270
+ ||
+
+518 
+Ëv\96
+ =ð
+GL_ZOOM_NONE
+)
+
+519 
+f\9c¡_út
+ = 3;
+
+520 ià(
+®bum_\99em
+->
+\9adex
+ < 
+f\9c¡_út
+ &&\87lbum_\99em->
+\99em
+)
+
+521 
+       `\96m_objeù_\99em_sigÇl_em\99
+(
+®bum_\99em
+->
+\99em
+,
+
+524 } \vià(!
+       `g_¡rcmp0
+(
+·¹
+, 
+GL_TILE_TYPE_ICON
+)) {
+
+525 
+_obj
+ = 
+       `__gl_®bums_g\91_ty³_icÚ
+(
+obj
+, 
+®bum_\99em
+);
+
+526 } \vià(!
+       `g_¡rcmp0
+(
+·¹
+, 
+GL_TILE_SD_ICON
+)) {
+
+527 ià(
+GL_STORE_T_MMC
+ =ð
+®bum_\99em
+->
+þu¡\94
+->
+ty³
+) {
+
+528 
+_obj
+ = 
+       `_gl_t\9ee_show_·¹_ty³_icÚ
+(
+obj
+,
+
+529 
+GL_TILE_TYPE_MMC_STORAGE
+);
+
+531 
+       `\96m_objeù_\99em_sigÇl_em\99
+(
+®bum_\99em
+->
+\99em
+,
+
+535 } \vià(
+v\9bw_mode
+ =ð
+GL_VIEW_ALBUMS_EDIT
+) {
+
+536 
+_obj
+ = 
+       `_gl_®bums_ed\99_add_cÚ\8bÁ
+(
+d©a
+, 
+obj
+, 
+·¹
+);
+
+538 \15 
+_obj
+;
+
+539 
+       }
+}
+
+542 \18
+E\9aa_BoÞ
+       $__gl_®bums_þo£_®bum_cb
+(\1e*
+d©a
+, 
+Elm_Objeù_I\8bm
+ *
+\99
+)
+
+544 
+       `GL_CHECK_FALSE
+(
+d©a
+);
+
+545 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+546 
+       `gl_dbg
+("");
+
+547 
+       `_gl_®bums_þo£_®bum
+(
+ad
+);
+
+548 
+       `_gl_®bums_check_b\8as
+(
+d©a
+);
+
+549 \15 
+EINA_TRUE
+;
+
+550 
+       }
+}
+
+552 \18\1e
+       $__gl_®bums_lÚg´es£d_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+554 
+       `gl_dbg
+("unrealized");
+
+555 
+       `GL_CHECK
+(
+ei
+);
+
+556 
+       `GL_CHECK
+(
+d©a
+);
+
+558 ià(
+GL_VIEW_ALBUMS
+ !ð
+       `gl_g\91_v\9bw_mode
+(
+d©a
+))
+
+560 
+Elm_Objeù_I\8bm
+ *
+\99
+ = (Elm_Objeù_I\8bm *)
+ei
+;
+
+561 
+gl_þu¡\94
+ *
+®bum
+ = 
+       `\96m_objeù_\99em_d©a_g\91
+(
+\99
+);
+
+562 
+       `GL_CHECK
+(
+®bum
+);
+
+563 
+       `_gl_®bums_£t_cu¼\92t
+(
+d©a
+, 
+®bum
+);
+
+565 
+       `_gl_d©a_f\9a®ize_®bums_£Ëùed_li¡
+(
+d©a
+);
+
+566 
+       `_gl_d©a_®bums_£Ëùed_li¡_­³nd
+(
+d©a
+, 
+®bum
+);
+
+568 
+       }
+}
+
+571 \18\1e
+       $__gl_®bums_d\96\91e_Ïyout_cb
+(\1e*
+d©a
+, 
+Evas
+ *
+e
+, 
+Evas_Objeù
+ *
+obj
+,
+
+572 \1e*
+ei
+)
+
+574 
+       `gl_dbg
+("Delete\86ayout ---");
+
+575 
+       `GL_CHECK
+(
+d©a
+);
+
+576 
+       `gl_®bums_ä\93_d©a
+(
+d©a
+);
+
+577 
+       `_gl_d©a_þ\97r_þu¡\94_li¡
+(
+d©a
+, 
+\8cue
+);
+
+578 
+       `gl_dbg
+("Delete\86ayout +++");
+
+579 
+       }
+}
+
+581 \18\1e
+       $__gl_®bums_Ãw®bum_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+583 
+       `GL_CHECK
+(
+d©a
+);
+
+584 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+585 
+       `_gl_ùxpÝup_d\96
+(
+d©a
+);
+
+586 
+ad
+->
+®bum\9afo
+.
+b_Ãw_®bum
+ = 
+\8cue
+;
+
+587 
+       `gl_dbg
+("");
+
+588 
+       `_gl_®bums_Ãw_ü\97\8b_v\9bw
+(
+d©a
+, 
+_gl_®bums_£l_ü\97\8b_v\9bw
+);
+
+589 
+       }
+}
+
+591 \18\1e
+       $__gl_»Üd\94_soá_back_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+593 
+       `GL_CHECK
+(
+d©a
+);
+
+594 
+       `__gl_®bums_pÝ_Ý
+(
+d©a
+);
+
+595 
+       }
+}
+
+597 \18\1e
+       $__gl_®bums_»Üd\94_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+599 
+       `GL_CHECK
+(
+d©a
+);
+
+600 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+601 
+       `_gl_ùxpÝup_d\96
+(
+d©a
+);
+
+602 \12
+v\9bw_mode
+ = 
+       `gl_g\91_v\9bw_mode
+(
+ad
+);
+
+603 ià(
+v\9bw_mode
+ =ð
+GL_VIEW_ALBUMS
+) {
+
+604 
+       `gl_£t_v\9bw_mode
+(
+ad
+, 
+GL_VIEW_ALBUM_REORDER
+);
+
+605 
+       `\96m_g\92grid_»Üd\94_mode_£t
+(
+ad
+->
+®bum\9afo
+.
+v\9bw
+, 
+EINA_TRUE
+);
+
+606 
+       `_gl_ui_di§bË_m\92u
+(
+ad
+->
+ù¾\9afo
+.
+nf_\99
+, 
+\8cue
+);
+
+607 
+       `_gl_ui_chªge_Çvi_t\99Ë
+(
+ad
+->
+ù¾\9afo
+.
+nf_\99
+, 
+GL_STR_ID_REORDER
+, 
+\8cue
+);
+
+608 
+Evas_Objeù
+ *
+b\8a
+ = 
+       `\96m_bu\89Ú_add
+(
+ad
+->
+®bum\9afo
+.
+v\9bw
+);
+
+609 
+       `GL_CHECK
+(
+b\8a
+);
+
+610 
+       `\96m_objeù_¡yË_£t
+(
+b\8a
+, "naviframe/end_btn/default");
+
+611 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+b\8a
+, "þicked", 
+__gl_»Üd\94_soá_back_cb
+, 
+d©a
+);
+
+612 
+       `\96m_objeù_\99em_·¹_cÚ\8bÁ_£t
+(
+ad
+->
+ù¾\9afo
+.
+nf_\99
+, 
+GL_NAVIFRAME_PREV_BTN
+, 
+b\8a
+);
+
+613 
+       `evas_objeù_sm¬t_ÿÎback_d\96
+(
+ad
+->
+®bum\9afo
+.
+v\9bw
+, "lÚg´es£d", 
+__gl_®bums_lÚg´es£d_cb
+);
+
+615 
+       }
+}
+
+617 \18\1e
+       $__gl_®bums_v\9bwas_pÝ_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+619 
+       `gl_dbg
+("ENTRY");
+
+620 
+       `GL_CHECK
+(
+d©a
+);
+
+621 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+622 \12
+¡©e_\9adex
+ = 1;
+
+623 \12
+v\9bw_mode
+ = 
+       `gl_g\91_v\9bw_mode
+(
+ad
+);
+
+624 ià(
+v\9bw_mode
+ =ð
+GL_VIEW_TIMELINE
+) {
+
+625 
+¡©e_\9adex
+ = 0;
+
+626 } \vià(
+v\9bw_mode
+ =ð
+GL_VIEW_ALBUMS
+) {
+
+627 
+¡©e_\9adex
+ = 1;
+
+629 
+       `_gl_li¡_pÝ_ü\97\8b
+(
+d©a
+, 
+obj
+, 
+ei
+, 
+GL_STR_ID_VIEW_AS
+, 
+GL_STR_TIME_VIEW
+, 
+GL_STR_ALBUMS
+, 
+¡©e_\9adex
+);
+
+630 
+       `gl_dbg
+("EXIT");
+
+631 
+       }
+}
+
+632 \18\1e
+       $__gl_®bums_ed\99_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+634 
+       `GL_CHECK
+(
+d©a
+);
+
+635 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+636 
+       `_gl_ùxpÝup_d\96
+(
+d©a
+);
+
+637 ià(
+ad
+->
+ug\9afo
+.
+ug
+) {
+
+642 
+       `gl_dbg
+("UG invoked or\87ppending gridview.");
+
+646 \12
+v\9bw_mode
+ = 
+       `gl_g\91_v\9bw_mode
+(
+d©a
+);
+
+647 
+       `gl_dbg
+("mode: %d", 
+v\9bw_mode
+);
+
+648 ià(
+v\9bw_mode
+ =ð
+GL_VIEW_ALBUMS
+) {
+
+649 
+       `_gl_®bums_chªge_mode
+(
+d©a
+, 
+\8cue
+);
+
+651 
+       }
+}
+
+654 \18\1e
+       $__gl_®bums_sh¬e_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+656 
+       `GL_CHECK
+(
+d©a
+);
+
+657 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+658 
+       `_gl_ùxpÝup_d\96
+(
+d©a
+);
+
+659 ià(
+ad
+->
+ug\9afo
+.
+ug
+) {
+
+664 
+       `gl_dbg
+("UG invoked or\87ppending gridview.");
+
+667 
+ad
+->
+®bum\9afo
+.
+b_sh¬e_mode
+ = 
+GL_GRID_SHARE
+;
+
+668 
+       `__gl_®bums_ed\99_cb
+(
+d©a
+, 
+NULL
+, NULL);
+
+669 
+       }
+}
+
+672 #ifdeà
+SUPPORT_SLIDESHOW
+
+
+673 \18\12
+       $__gl_®bums_¡¬t_¦ideshow
+(\1e*
+d©a
+)
+
+675 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+676 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+677 
+ad
+->
+grid\9afo
+.
+grid_ty³
+ = 
+GL_GRID_T_ALLALBUMS
+;
+
+679 
+E\9aa_Li¡
+ *
+li¡
+ = 
+NULL
+;
+
+680 
+gl_\99em
+ *
+g\99em
+ = 
+NULL
+;
+
+681 
+gl_med\9f_s
+ *
+\99em
+ = 
+NULL
+;
+
+682 
+boÞ
+is_®l
+ = 
+\8cue
+;
+
+683 ià(
+ad
+->
+®bum\9afo
+.
+£l_\96
+ &&
+
+684 
+       `e\9aa_li¡_couÁ
+(
+ad
+->
+®bum\9afo
+.
+£l_\96
+) > 0) {
+
+685 
+gl_þu¡\94
+ *
+®bum
+ = 
+NULL
+;
+
+686 
+®bum
+ = 
+       `e\9aa_li¡_Áh
+(
+ad
+->
+®bum\9afo
+.
+£l_\96
+, 0);
+
+687 
+       `_gl_d©a_g\91_\99ems_®bum
+(
+d©a
+, 
+®bum
+, 0, 0, &
+li¡
+);
+
+688 
+g\99em
+ = (
+gl_\99em
+ *)
+       `e\9aa_li¡_Áh
+(
+li¡
+, 0);
+
+689 
+is_®l
+ = 
+çl£
+;
+
+691 
+       `_gl_d©a_g\91_\99ems
+(
+GL_FIRST_VIEW_START_POS
+,
+
+692 
+GL_FIRST_VIEW_START_POS
+, &
+li¡
+);
+
+693 
+\99em
+ = (
+gl_med\9f_s
+ *)
+       `e\9aa_li¡_Áh
+(
+li¡
+, 0);
+
+694 
+g\99em
+ = 
+       `_gl_d©a_Ãw_\99em_m\99em
+(
+\99em
+);
+
+696 ià(
+li¡
+)
+
+697 
+       `e\9aa_li¡_ä\93
+(
+li¡
+);
+
+698 ià(
+g\99em
+) {
+
+699 
+       `GL_CHECK_VAL
+(
+g\99em
+, -1);
+
+700 ià(
+is_®l
+)
+
+701 
+       `gl_ext_lßd_iv_ug
+(
+d©a
+, 
+g\99em
+, 
+GL_UG_IV_SLIDESHOW_ALL
+);
+
+703 
+       `gl_ext_lßd_iv_ug
+(
+d©a
+, 
+g\99em
+, 
+GL_UG_IV_SLIDESHOW
+);
+
+705 ià(
+g\99em
+)
+
+706 
+       `_gl_d©a_ut\9e\93_g\99em
+(
+g\99em
+);
+
+707 
+       `_gl_d©a_f\9a®ize_®bums_£Ëùed_li¡
+(
+d©a
+);
+
+709 
+       }
+}
+
+712 #ifdeà
+_USE_APP_SLIDESHOW
+
+
+714 \18\12
+       $__gl_®bums_£Ëù_¦ideshow
+(\1e*
+d©a
+)
+
+716 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+717 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+718 \12
+\99em_út
+ = 0;
+
+719 \12
+»t
+ = -1;
+
+721 
+»t
+ = 
+       `_gl_d©a_g\91_\99em_út
+(
+GL_ALBUM_ALL_ID
+, 
+GL_STORE_T_ALL
+, &
+\99em_út
+);
+
+722 ià(
+»t
+ !ð0 || 
+\99em_út
+ == 0) {
+
+723 
+       `gl_dbgE
+("Empty!");
+
+727 
+gl_þu¡\94
+ *
+þu¡\94
+ = 
+NULL
+;
+
+728 
+       `_gl_d©a_g\91_þu¡\94_by_id
+(
+d©a
+, 
+GL_ALBUM_ALL_ID
+, &
+þu¡\94
+);
+
+729 
+       `GL_CHECK_VAL
+(
+þu¡\94
+, -1);
+
+730 
+       `_gl_®bums_£t_cu¼\92t
+(
+d©a
+, 
+þu¡\94
+);
+
+731 
+E\9aa_Li¡
+ *
+med\9fs_\96
+ = 
+NULL
+;
+
+732 
+       `_gl_d©a_g\91_\99ems_®bum
+(
+d©a
+, 
+þu¡\94
+, 
+GL_FIRST_VIEW_START_POS
+,
+
+733 
+GL_FIRST_VIEW_END_POS
+, &
+med\9fs_\96
+);
+
+734 
+       `_gl_thumbs_£t_ed\99_mode
+(
+d©a
+, 
+GL_THUMBS_EDIT_SLIDESHOW
+);
+
+735 
+       `_gl_thumbs_£t_li¡
+(
+ad
+, 
+med\9fs_\96
+);
+
+736 
+       `_gl_thumbs_ü\97\8b_v\9bw
+(
+d©a
+, 
+GL_NAVI_THUMBS
+, 
+GL_STR_ID_ALL_ALBUMS
+, 
+\8cue
+,
+
+737 
+__gl_®bums_þo£_®bum_cb
+);
+
+739 
+       `gl_dbg
+("Done\83dit");
+
+741 
+       }
+}
+
+744 #ifdeà
+SUPPORT_SLIDESHOW
+
+
+745 \18\12
+       $__gl_®bums_¦ideshow
+(\1e*
+d©a
+, cڡ \ 5*
+Ïb\96
+)
+
+747 
+       `GL_CHECK_VAL
+(
+Ïb\96
+, -1);
+
+748 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+749 
+       `gl_dbg
+("Ïb\96 : % ", 
+Ïb\96
+);
+
+750 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+752 ià(!
+       `g_¡rcmp0
+(
+Ïb\96
+, 
+       `_gl_¡r
+(
+GL_STR_ID_ALL_ITEMS
+))) {
+
+753 
+       `__gl_®bums_¡¬t_¦ideshow
+(
+d©a
+);
+
+754 } \vià(!
+       `g_¡rcmp0
+(
+Ïb\96
+, 
+       `_gl_¡r
+(
+GL_STR_ID_SETTINGS
+))) {
+
+755 
+       `evas_objeù_d©a_£t
+(
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+,
+
+756 
+GL_NAVIFRAME_SLIDESHOW_DATA_KEY
+,
+
+757 
+__gl_®bums_¡¬t_¦ideshow
+);
+
+758 
+       `gl_ext_lßd_ug
+(
+d©a
+, 
+GL_UG_GALLERY_SETTING_SLIDESHOW
+);
+
+759 } \vià(!
+       `g_¡rcmp0
+(
+Ïb\96
+, 
+       `_gl_¡r
+(
+GL_STR_ID_SELECT_ITEMS
+))) {
+
+760 #ifdeà
+_USE_APP_SLIDESHOW
+
+
+761 
+       `__gl_®bums_£Ëù_¦ideshow
+(
+d©a
+);
+
+762 
+       `evas_objeù_d©a_£t
+(
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+,
+
+763 
+GL_NAVIFRAME_SELECTED_SLIDESHOW_KEY
+,
+
+764 
+gl_pÝ_to_ù¾b¬_ly
+);
+
+766 
+       `_gl_ext_Ïunch_g®Ëry_ug
+(
+d©a
+);
+
+769 
+       `gl_dbgE
+("Invalid\86able!");
+
+773 
+       }
+}
+
+775 \18\1e
+       $__gl_®bums_¦ideshow_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+777 
+       `GL_CHECK
+(
+d©a
+);
+
+778 
+       `_gl_ùxpÝup_d\96
+(
+d©a
+);
+
+779 
+       `_gl_pÝup_ü\97\8b_¦ideshow
+(
+d©a
+, 
+__gl_®bums_¦ideshow
+);
+
+780 
+       }
+}
+
+783 \18\12
+       $__gl_®bums_ùxpÝup_­³nd
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+·»Á
+)
+
+785 
+       `gl_dbg
+("");
+
+786 
+       `GL_CHECK_VAL
+(
+·»Á
+, -1);
+
+787 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+788 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+790 ià(
+ad
+->
+®bum\9afo
+.
+\96
+->
+ed\99_út
+ > 0) {
+
+792 
+       `_gl_ùxpÝup_­³nd
+(
+·»Á
+, 
+GL_STR_ID_VIEW_AS
+,
+
+793 
+__gl_®bums_v\9bwas_pÝ_cb
+, 
+d©a
+);
+
+795 
+       `_gl_ùxpÝup_­³nd
+(
+·»Á
+, 
+GL_STR_ID_NEW_ALBUM
+,
+
+796 
+__gl_®bums_Ãw®bum_cb
+, 
+d©a
+);
+
+797 
+       `_gl_ùxpÝup_­³nd
+(
+·»Á
+, 
+GL_STR_ID_REORDER
+,
+
+798 
+__gl_®bums_»Üd\94_cb
+, 
+d©a
+);
+
+800 
+       `_gl_ùxpÝup_­³nd
+(
+·»Á
+, 
+GL_STR_ID_DELETE
+, 
+__gl_®bums_ed\99_cb
+,
+
+801 
+d©a
+);
+
+802 #ifdeà
+SUPPORT_SLIDESHOW
+
+
+804 
+       `_gl_ùxpÝup_­³nd
+(
+·»Á
+, 
+GL_STR_ID_SLIDESHOW
+,
+
+805 
+__gl_®bums_¦ideshow_cb
+, 
+d©a
+);
+
+809 
+       }
+}
+
+811 \18\1e
+       $__gl_®bums_mÜe_b\8a_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+813 
+       `gl_dbg
+("more button clicked");
+
+814 
+       `GL_CHECK
+(
+d©a
+);
+
+815 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+816 
+Evas_Objeù
+ *
+mÜe
+ = 
+NULL
+;
+
+817 
+mÜe
+ = 
+       `_gl_ui_g\91_b\8a
+(
+NULL
+, 
+ad
+->
+ù¾\9afo
+.
+nf_\99
+, 
+GL_NAVIFRAME_MORE
+);
+
+818 ià(
+EINA_TRUE
+ =ð
+       `\96m_objeù_di§bËd_g\91
+(
+mÜe
+)) {
+
+819 
+       `gl_dbg
+("Menu is disabled");
+
+823 
+       `_gl_ùxpÝup_ü\97\8b
+(
+d©a
+, 
+obj
+, 
+__gl_®bums_ùxpÝup_­³nd
+);
+
+824 
+       }
+}
+
+833 \1e
+       $_gl_upd©e_li¡_d©a
+(\1e*
+d©a
+)
+
+835 
+       `GL_CHECK
+(
+d©a
+);
+
+836 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+837 
+Elm_Objeù_I\8bm
+ *
+l_\99
+ = 
+       `\96m_g\92grid_Ï¡_\99em_g\91
+(
+ad
+->
+®bum\9afo
+.
+v\9bw
+);
+
+838 
+Elm_Objeù_I\8bm
+ *
+f_\99
+ = 
+       `\96m_g\92grid_f\9c¡_\99em_g\91
+(
+ad
+->
+®bum\9afo
+.
+v\9bw
+);
+
+839 
+gl_þu¡\94
+ *
+®bum_\99em
+ = 
+NULL
+;
+
+840 
+E\9aa_Li¡
+ *
+li¡
+ = 
+NULL
+;
+
+841 ià(
+f_\99
+) {
+
+842 
+®bum_\99em
+ = 
+       `\96m_objeù_\99em_d©a_g\91
+(
+f_\99
+);
+
+843 ià(
+®bum_\99em
+) {
+
+844 
+li¡
+ = 
+       `e\9aa_li¡_­³nd
+Öi¡, 
+®bum_\99em
+);
+
+845 
+®bum_\99em
+ = 
+NULL
+;
+
+848 ià(
+l_\99
+ && 
+f_\99
+) {
+
+849 \1f
+f_\99
+ !ð
+l_\99
+) {
+
+850 
+f_\99
+ = 
+       `\96m_g\92grid_\99em_Ãxt_g\91
+(f_it);
+
+851 ià(
+f_\99
+) {
+
+852 
+®bum_\99em
+ = 
+       `\96m_objeù_\99em_d©a_g\91
+(
+f_\99
+);
+
+853 ià(
+®bum_\99em
+) {
+
+854 
+li¡
+ = 
+       `e\9aa_li¡_­³nd
+Öi¡, 
+®bum_\99em
+);
+
+855 
+®bum_\99em
+ = 
+NULL
+;
+
+860 ià(
+li¡
+) {
+
+861 
+ad
+->
+®bum\9afo
+.
+\96
+->
+þi¡
+ = 
+li¡
+;
+
+862 } \vià(
+li¡
+ =ð
+NULL
+) {
+
+863 
+       `gl_dbg
+("new\86ist is\82ull");
+
+865 
+       }
+}
+
+867 \18
+E\9aa_BoÞ
+       $__gl_®bums_pÝ_Ý
+(\1e*
+d©a
+)
+
+869 
+       `GL_CHECK_FALSE
+(
+d©a
+);
+
+870 ià(
+       `gl_g\91_v\9bw_mode
+(
+d©a
+è=ð
+GL_VIEW_ALBUMS_EDIT
+) {
+
+871 
+       `gl_dbg
+("EDIT");
+
+872 
+       `_gl_®bums_chªge_mode
+(
+d©a
+, 
+çl£
+);
+
+874 \15 
+EINA_TRUE
+;
+
+875 } \vià(
+       `gl_g\91_v\9bw_mode
+(
+d©a
+è=ð
+GL_VIEW_ALBUM_REORDER
+) {
+
+876 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+877 
+       `gl_£t_v\9bw_mode
+(
+ad
+, 
+GL_VIEW_ALBUMS
+);
+
+878 
+       `\96m_g\92grid_»Üd\94_mode_£t
+(
+ad
+->
+®bum\9afo
+.
+v\9bw
+, 
+EINA_FALSE
+);
+
+879 
+Evas_Objeù
+ *
+un£t
+ = 
+       `\96m_objeù_\99em_·¹_cÚ\8bÁ_un£t
+(
+ad
+->
+ù¾\9afo
+.
+nf_\99
+, 
+GL_NAVIFRAME_PREV_BTN
+);
+
+880 
+       `evas_objeù_hide
+(
+un£t
+);
+
+881 
+       `_gl_ui_di§bË_m\92u
+(
+ad
+->
+ù¾\9afo
+.
+nf_\99
+, 
+çl£
+);
+
+882 
+       `_gl_ui_chªge_Çvi_t\99Ë
+(
+ad
+->
+ù¾\9afo
+.
+nf_\99
+, 
+GL_STR_ID_ALBUM
+, 
+\8cue
+);
+
+883 
+       `_gl_upd©e_li¡_d©a
+(
+d©a
+);
+
+884 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+ad
+->
+®bum\9afo
+.
+v\9bw
+, "lÚg´es£d", 
+__gl_®bums_lÚg´es£d_cb
+, 
+d©a
+);
+
+885 \15 
+EINA_TRUE
+;
+
+887 \15 
+EINA_FALSE
+;
+
+888 
+       }
+}
+
+894 \18\12
+       $__gl_®bums_add_b\8as
+(\1e*
+d©a
+)
+
+896 
+       `gl_dbg
+("");
+
+897 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+898 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+899 
+       `GL_CHECK_VAL
+(
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+, -1);
+
+900 
+       `GL_CHECK_VAL
+(
+ad
+->
+ù¾\9afo
+.
+nf_\99
+, -1);
+
+901 
+Evas_Objeù
+ *
+·»Á
+ = 
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+;
+
+902 
+Elm_Objeù_I\8bm
+ *
+nf_\99
+ = 
+ad
+->
+ù¾\9afo
+.nf_it;
+
+903 
+Evas_Objeù
+ *
+b\8a
+ = 
+NULL
+;
+
+906 
+       `_gl_ui_þ\97r_b\8as
+(
+d©a
+);
+
+908 
+b\8a
+ = 
+       `_gl_but_ü\97\8b_but
+(
+·»Á
+, 
+NULL
+, NULL, 
+GL_BUTTON_STYLE_NAVI_MORE
+,
+
+909 
+__gl_®bums_mÜe_b\8a_cb
+, 
+d©a
+);
+
+910 
+       `GL_CHECK_VAL
+(
+b\8a
+, -1);
+
+912 
+       `\96m_objeù_\99em_·¹_cÚ\8bÁ_£t
+(
+nf_\99
+, 
+GL_NAVIFRAME_MORE
+, 
+b\8a
+);
+
+913 
+       `_gl_®bums_check_b\8as
+(
+d©a
+);
+
+915 
+       }
+}
+
+918 \12
+       $_gl_®bums_þo£_®bum
+(\1e*
+d©a
+)
+
+920 
+       `gl_dbg
+("");
+
+921 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+922 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+924 
+       `gl_£t_v\9bw_mode
+(
+ad
+, 
+GL_VIEW_ALBUMS
+);
+
+925 
+       `_gl_®bums_£t_cu¼\92t
+(
+d©a
+, 
+NULL
+);
+
+926 
+       `gl_®bums_upd©e_\99ems
+(
+ad
+);
+
+928 
+       }
+}
+
+931 \12
+       $gl_®bums_upd©e_\99ems
+(\1e*
+d©a
+)
+
+933 
+GL_PROFILE_IN
+;
+
+934 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+935 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+936 
+       `GL_CHECK_VAL
+(
+ad
+->
+®bum\9afo
+.
+\96
+, -1);
+
+937 \12
+v\9bw_mode
+ = 
+       `gl_g\91_v\9bw_mode
+(
+ad
+);
+
+938 
+ad
+->
+®bum\9afo
+.
+®bums_út
+ = 0;
+
+939 
+       `gl_dbg
+("");
+
+942 
+       `\96m_Çviäame_\99em_t\99Ë_\92abËd_£t
+(
+ad
+->
+ù¾\9afo
+.
+nf_\99
+, 
+EINA_TRUE
+, EINA_TRUE);
+
+943 ià(
+       `gl_check_g®Ëry_em±y
+(
+ad
+)) {
+
+945 
+GL_ALBUMS_SHOW_NOCONTENTS
+:
+
+947 ià(
+ad
+->
+®bum\9afo
+.
+v\9bw
+) {
+
+949 ià(
+ad
+->
+®bum\9afo
+.
+nocÚ\8bÁs
+ =ð
+NULL
+) {
+
+950 
+       `_gl_®bums_þ\97r_cbs
+(
+ad
+->
+®bum\9afo
+.
+v\9bw
+);
+
+951 
+       `_gl_ui_d\96_süÞËr_pos
+(
+ad
+->
+®bum\9afo
+.
+v\9bw
+);
+
+953 
+       `evas_objeù_d\96
+(
+ad
+->
+®bum\9afo
+.
+v\9bw
+);
+
+956 
+Evas_Objeù
+ *
+noc
+ = 
+       `_gl_nocÚ\8bÁs_ü\97\8b
+(
+ad
+->
+ù¾\9afo
+.
+ù¾b¬_v\9bw_ly
+);
+
+957 
+ad
+->
+®bum\9afo
+.
+nocÚ\8bÁs
+ = 
+noc
+;
+
+958 
+ad
+->
+®bum\9afo
+.
+v\9bw
+ = 
+noc
+;
+
+959 
+       `evas_objeù_show
+(
+noc
+);
+
+961 
+       `\96m_Çviäame_\99em_t\99Ë_\92abËd_£t
+(
+ad
+->
+ù¾\9afo
+.
+nf_\99
+, 
+EINA_FALSE
+, EINA_FALSE);
+
+962 
+Evas_Objeù
+ *
+Þd_v\9bw
+ = 
+NULL
+;
+
+963 
+Þd_v\9bw
+ = 
+       `\96m_objeù_·¹_cÚ\8bÁ_un£t
+(
+ad
+->
+ù¾\9afo
+.
+ù¾b¬_v\9bw_ly
+,
+
+965 
+       `GL_IF_DEL_OBJ
+(
+Þd_v\9bw
+);
+
+966 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+ad
+->
+ù¾\9afo
+.
+ù¾b¬_v\9bw_ly
+,
+
+967 "\96m.sw®low.v\9bw", 
+noc
+);
+
+969 ià(
+v\9bw_mode
+ =ð
+GL_VIEW_ALBUMS_EDIT
+) {
+
+970 
+       `_gl_®bums_ü\97\8b_\99ems
+(
+ad
+,\87d->
+®bum\9afo
+.
+v\9bw
+);
+
+972 \12
+út
+ = 
+       `_gl_d©a_g\91_®bums_£Ëùed_út
+(
+ad
+);
+
+973 
+       `_gl_nÙify_check_£ÏÎ
+(
+ad
+,\87d->
+ù¾\9afo
+.
+nf_\99
+,
+
+974 
+ad
+->
+®bum\9afo
+.
+®bums_út
+, 
+út
+);
+
+976 
+       `_gl_ui_upd©e_Çvi_t\99Ë_\8bxt
+(
+ad
+->
+ù¾\9afo
+.
+nf_\99
+, 
+út
+, 
+çl£
+);
+
+978 ià(
+ad
+->
+®bum\9afo
+.
+nocÚ\8bÁs
+) {
+
+983 
+       `gl_®bums_»move_nocÚ\8bÁs
+(
+ad
+);
+
+985 ià(
+       `_gl_®bums_ü\97\8b_\99ems
+(
+ad
+,\87d->
+®bum\9afo
+.
+v\9bw
+) < 0) {
+
+986 
+       `gl_dbgW
+("To show\82ocontents!");
+
+987 \10
+GL_ALBUMS_SHOW_NOCONTENTS
+;
+
+992 
+GL_PROFILE_OUT
+;
+
+994 
+       }
+}
+
+997 \12
+       $_gl_®bums_ü\97\8b_v\9bw
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+·»Á
+)
+
+999 
+GL_PROFILE_IN
+;
+
+1000 
+       `GL_CHECK_VAL
+(
+·»Á
+, -1);
+
+1001 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1002 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1004 
+Evas_Objeù
+ *
+Ïyout_\9aÃr
+ = 
+NULL
+;
+
+1005 
+Ïyout_\9aÃr
+ = 
+       `_gl_®bums_add_g\92grid
+(
+ad
+, 
+·»Á
+);
+
+1006 
+       `GL_CHECK_VAL
+(
+Ïyout_\9aÃr
+, -1);
+
+1007 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+·»Á
+, "\96m.sw®low.v\9bw", 
+Ïyout_\9aÃr
+);
+
+1008 
+ad
+->
+®bum\9afo
+.
+v\9bw
+ = 
+Ïyout_\9aÃr
+;
+
+1010 
+       `evas_objeù_ev\92t_ÿÎback_add
+(
+·»Á
+, 
+EVAS_CALLBACK_DEL
+,
+
+1011 
+__gl_®bums_d\96\91e_Ïyout_cb
+, 
+d©a
+);
+
+1012 
+GL_PROFILE_OUT
+;
+
+1014 
+       }
+}
+
+1017 \12
+       $gl_®bums_upd©e_v\9bw
+(\1e*
+d©a
+)
+
+1019 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1020 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1021 \12
+v\9bw_mode
+ = 
+       `gl_g\91_v\9bw_mode
+(
+ad
+);
+
+1022 
+       `gl_dbg
+("v\9bw_mode: %d.", 
+v\9bw_mode
+);
+
+1024 
+ad
+->
+®bum\9afo
+.
+®bums_út
+ = 0;
+
+1026 ià(
+v\9bw_mode
+ =ð
+GL_VIEW_ALBUMS
+) {
+
+1027 
+       `gl_®bums_upd©e_\99ems
+(
+d©a
+);
+
+1028 
+       `_gl_®bums_check_b\8as
+(
+d©a
+);
+
+1029 } \vià(
+v\9bw_mode
+ =ð
+GL_VIEW_ALBUMS_EDIT
+) {
+
+1030 
+       `_gl_®bums_ed\99_upd©e_v\9bw
+(
+d©a
+);
+
+1031 } \vià(
+v\9bw_mode
+ =ð
+GL_VIEW_ALBUMS_RENAME
+) {
+
+1032 
+       `_gl_®bums_»Çme_upd©e_v\9bw
+(
+d©a
+);
+
+1035 
+       }
+}
+
+1038 \12
+       $gl_®bums_chªge_to_v\9bw
+(\1e*
+d©a
+)
+
+1040 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1041 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1042 
+       `GL_CHECK_VAL
+(
+ad
+->
+®bum\9afo
+.
+\96
+, -1);
+
+1043 
+       `gl_dbg
+("");
+
+1045 
+ad
+->
+®bum\9afo
+.
+®bums_út
+ = 0;
+
+1046 
+       `GL_CHECK_VAL
+(
+ad
+->
+®bum\9afo
+.
+v\9bw
+, -1);
+
+1047 
+       `gl_£t_v\9bw_mode
+(
+ad
+, 
+GL_VIEW_ALBUMS
+);
+
+1049 
+       `\96m_Çviäame_\99em_t\99Ë_\92abËd_£t
+(
+ad
+->
+ù¾\9afo
+.
+nf_\99
+, 
+EINA_TRUE
+, EINA_TRUE);
+
+1050 ià(
+       `gl_check_g®Ëry_em±y
+(
+ad
+)) {
+
+1051 ià(
+ad
+->
+®bum\9afo
+.
+v\9bw
+) {
+
+1053 ià(
+ad
+->
+®bum\9afo
+.
+nocÚ\8bÁs
+ =ð
+NULL
+) {
+
+1054 
+       `_gl_®bums_þ\97r_cbs
+(
+ad
+->
+®bum\9afo
+.
+v\9bw
+);
+
+1055 
+       `_gl_ui_d\96_süÞËr_pos
+(
+ad
+->
+®bum\9afo
+.
+v\9bw
+);
+
+1057 
+       `evas_objeù_d\96
+(
+ad
+->
+®bum\9afo
+.
+v\9bw
+);
+
+1060 
+Evas_Objeù
+ *
+noc
+ = 
+       `_gl_nocÚ\8bÁs_ü\97\8b
+(
+ad
+->
+ù¾\9afo
+.
+ù¾b¬_v\9bw_ly
+);
+
+1061 
+ad
+->
+®bum\9afo
+.
+nocÚ\8bÁs
+ = 
+noc
+;
+
+1062 
+ad
+->
+®bum\9afo
+.
+v\9bw
+ = 
+noc
+;
+
+1063 
+       `evas_objeù_show
+(
+noc
+);
+
+1065 
+       `\96m_Çviäame_\99em_t\99Ë_\92abËd_£t
+(
+ad
+->
+ù¾\9afo
+.
+nf_\99
+, 
+EINA_FALSE
+, EINA_FALSE);
+
+1066 
+Evas_Objeù
+ *
+Þd_v\9bw
+ = 
+NULL
+;
+
+1067 
+Þd_v\9bw
+ = 
+       `\96m_objeù_·¹_cÚ\8bÁ_un£t
+(
+ad
+->
+ù¾\9afo
+.
+ù¾b¬_v\9bw_ly
+,
+
+1069 
+       `evas_objeù_hide
+(
+Þd_v\9bw
+);
+
+1070 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+ad
+->
+ù¾\9afo
+.
+ù¾b¬_v\9bw_ly
+,
+
+1071 "\96m.sw®low.v\9bw", 
+noc
+);
+
+1073 
+       `_gl_®bums_ü\97\8b_\99ems
+(
+ad
+,\87d->
+®bum\9afo
+.
+v\9bw
+);
+
+1076 
+       }
+}
+
+1085 \12
+       $gl_®bums_»move_nocÚ\8bÁs
+(\1e*
+d©a
+)
+
+1087 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1088 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1089 
+Evas_Objeù
+ *
+v\9bw
+ = 
+NULL
+;
+
+1090 
+       `gl_dbg
+("");
+
+1092 ià(
+ad
+->
+®bum\9afo
+.
+nocÚ\8bÁs
+ && !
+       `gl_check_g®Ëry_em±y
+(ad)) {
+
+1093 
+       `gl_dbg
+("Remove\82ocontents view\81hen create\87lbums view.");
+
+1094 
+       `evas_objeù_d\96
+(
+ad
+->
+®bum\9afo
+.
+nocÚ\8bÁs
+);
+
+1095 
+ad
+->
+®bum\9afo
+.
+nocÚ\8bÁs
+ = 
+NULL
+;
+
+1097 
+v\9bw
+ = 
+       `_gl_®bums_add_v\9bw
+(
+ad
+,\87d->
+ma\9a\9afo
+.
+Çviäame
+);
+
+1098 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+ad
+->
+ù¾\9afo
+.
+ù¾b¬_v\9bw_ly
+,
+
+1099 "\96m.sw®low.v\9bw", 
+v\9bw
+);
+
+1100 
+       `evas_objeù_show
+(
+v\9bw
+);
+
+1101 
+ad
+->
+®bum\9afo
+.
+v\9bw
+ = view;
+
+1102 
+       `_gl_®bums_check_b\8as
+(
+d©a
+);
+
+1103 } \vià(
+ad
+->
+®bum\9afo
+.
+nocÚ\8bÁs
+) {
+
+1104 
+       `gl_dbg
+("Gallery is\83mpty!");
+
+1105 
+boÞ
+b_upd©e
+ = 
+çl£
+;
+
+1106 
+b_upd©e
+ = 
+       `_gl_nocÚ\8bÁs_upd©e_Ïb\96
+(
+ad
+->
+®bum\9afo
+.
+nocÚ\8bÁs
+,
+
+1107 
+GL_STR_NO_ALBUMS
+);
+
+1109 ià(
+b_upd©e
+)
+
+1110 
+       `_gl_®bums_check_b\8as
+(
+d©a
+);
+
+1112 
+       `gl_dbg
+("Nocontents was\84emoved!");
+
+1116 
+       }
+}
+
+1119 \12
+       $gl_®bums_ä\93_d©a
+(\1e*
+d©a
+)
+
+1121 
+       `gl_dbg
+("");
+
+1122 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1123 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1125 
+       `_gl_®bums_þ\97r_cbs
+(
+ad
+->
+®bum\9afo
+.
+v\9bw
+);
+
+1126 
+       `_gl_ui_d\96_süÞËr_pos
+(
+ad
+->
+®bum\9afo
+.
+v\9bw
+);
+
+1127 
+       `GL_FREEIF
+(
+ad
+->
+®bum\9afo
+.
+·th
+);
+
+1129 
+       }
+}
+
+1131 \12
+       $_gl_®bums_show_v\9bw_\8fb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+·»Á
+)
+
+1133 
+       `GL_CHECK_VAL
+(
+·»Á
+, -1);
+
+1134 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1135 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1138 
+       `evas_objeù_d©a_£t
+(
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+, 
+GL_NAVIFRAME_POP_CB_KEY
+,
+
+1139 (\1e*)
+__gl_®bums_pÝ_Ý
+);
+
+1141 
+       `gl_£t_v\9bw_mode
+(
+d©a
+, 
+GL_VIEW_ALBUMS
+);
+
+1142 
+       `_gl_ù¾_show_t\99Ë
+(
+d©a
+, 
+GL_CTRL_TAB_ALBUMS
+);
+
+1144 ià(!
+ad
+->
+®bum\9afo
+.
+v\9bw
+) {
+
+1145 
+       `gl_dbg
+("Add gengrid first");
+
+1146 
+       `_gl_®bums_ü\97\8b_v\9bw
+(
+ad
+,\87d->
+ù¾\9afo
+.
+ù¾b¬_v\9bw_ly
+);
+
+1149 
+       `gl_®bums_upd©e_\99ems
+(
+d©a
+);
+
+1151 ià(!
+ad
+->
+®bum\9afo
+.
+nocÚ\8bÁs
+) {
+
+1152 
+       `evas_objeù_show
+(
+ad
+->
+®bum\9afo
+.
+v\9bw
+);
+
+1153 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+·»Á
+, "elm.swallow.view",
+
+1154 
+ad
+->
+®bum\9afo
+.
+v\9bw
+);
+
+1157 
+       `_gl_ma\9a_add_»g_idËr
+(
+d©a
+);
+
+1161 
+       `__gl_®bums_add_b\8as
+(
+d©a
+);
+
+1163 
+       }
+}
+
+1166 \12
+       $_gl_®bums_hide_v\9bw_\8fb
+(\1e*
+d©a
+)
+
+1168 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1169 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1171 
+ad
+->
+®bum\9afo
+.
+£Ëùed
+ = 
+NULL
+;
+
+1172 
+       `_gl_®bums_£t_cu¼\92t
+(
+d©a
+, 
+NULL
+);
+
+1173 \12
+v\9bw_m
+ = 
+       `gl_g\91_v\9bw_mode
+(
+d©a
+);
+
+1175 ià(
+v\9bw_m
+ =ð
+GL_VIEW_ALBUMS_EDIT
+) {
+
+1176 
+       `gl_dbg
+("GL_VIEW_ALBUMS_EDIT");
+
+1177 
+       `_gl_d©a_f\9a®ize_®bums_£Ëùed_li¡
+(
+d©a
+);
+
+1179 ià(
+ad
+->
+®bum\9afo
+.
+v\9bw
+ &&
+
+1180 
+ad
+->
+®bum\9afo
+.
+v\9bw
+ !ðad->®bum\9afo.
+nocÚ\8bÁs
+) {
+
+1181 
+       `gl_dbg
+("elm_gengrid_clear view");
+
+1182 
+       `\96m_g\92grid_þ\97r
+(
+ad
+->
+®bum\9afo
+.
+v\9bw
+);
+
+1184 } \vià(
+v\9bw_m
+ =ð
+GL_VIEW_ALBUMS
+) {
+
+1185 
+       `gl_dbg
+("GL_VIEW_ALBUMS");
+
+1187 ià(
+ad
+->
+®bum\9afo
+.
+v\9bw
+ &&
+
+1188 
+ad
+->
+®bum\9afo
+.
+v\9bw
+ !ðad->®bum\9afo.
+nocÚ\8bÁs
+) {
+
+1189 
+       `gl_dbg
+("elm_gengrid_clear view");
+
+1190 
+       `\96m_g\92grid_þ\97r
+(
+ad
+->
+®bum\9afo
+.
+v\9bw
+);
+
+1194 
+Evas_Objeù
+ *
+´e_v\9bw
+ = 
+NULL
+;
+
+1195 
+´e_v\9bw
+ = 
+       `\96m_objeù_·¹_cÚ\8bÁ_un£t
+(
+ad
+->
+ù¾\9afo
+.
+ù¾b¬_v\9bw_ly
+,
+
+1197 
+       `evas_objeù_hide
+(
+´e_v\9bw
+);
+
+1199 
+       }
+}
+
+1201 \12
+       $_gl_®bums_chªge_mode
+(\1e*
+d©a
+, 
+boÞ
+b_ed\99
+)
+
+1203 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1204 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1206 
+ad
+->
+®bum\9afo
+.
+£Ëùed
+ = 
+NULL
+;
+
+1207 
+       `_gl_®bums_£t_cu¼\92t
+(
+d©a
+, 
+NULL
+);
+
+1209 ià(
+b_ed\99
+) {
+
+1210 
+       `gl_£t_v\9bw_mode
+(
+ad
+, 
+GL_VIEW_ALBUMS_EDIT
+);
+
+1211 
+       `_gl_ui_chªge_Çvi_t\99Ë
+(
+ad
+->
+ù¾\9afo
+.
+nf_\99
+, 
+GL_STR_ID_SELECT_ITEM
+, 
+çl£
+);
+
+1212 
+       `\96m_objeù_sigÇl_em\99
+(
+ad
+->
+ù¾\9afo
+.
+ù¾b¬_v\9bw_ly
+, "elm,selectall,state,visible,bg", "elm");
+
+1213 
+       `\96m_objeù_sigÇl_em\99
+(
+ad
+->
+ù¾\9afo
+.
+ù¾b¬_v\9bw_ly
+, "elm,selectall,state,visible", "elm");
+
+1214 
+       `_gl_®bums_ed\99_add_b\8as
+(
+d©a
+, 
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+);
+
+1215 #ifdeà
+_USE_GRID_CHECK
+
+
+1216 
+       `_gl_show_grid_checks_du®
+(
+ad
+->
+®bum\9afo
+.
+v\9bw
+, 
+GL_TILE_CHECKBOX
+, 
+GL_TILE_CHECKBOX_GRID
+);
+
+1218 
+       `evas_objeù_sm¬t_ÿÎback_d\96
+(
+ad
+->
+®bum\9afo
+.
+v\9bw
+, "unrealized",
+
+1219 
+__gl_®bums_uÄ\97lized
+);
+
+1220 
+       `\96m_g\92grid_»®ized_\99ems_upd©e
+(
+ad
+->
+®bum\9afo
+.
+v\9bw
+);
+
+1221 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+ad
+->
+®bum\9afo
+.
+v\9bw
+, "unrealized",
+
+1222 
+__gl_®bums_uÄ\97lized
+, 
+d©a
+);
+
+1225 
+       `_gl_ui_chªge_Çvi_t\99Ë
+(
+ad
+->
+ù¾\9afo
+.
+nf_\99
+, 
+GL_STR_ID_ALBUM
+, 
+\8cue
+);
+
+1226 
+       `__gl_®bums_add_b\8as
+(
+d©a
+);
+
+1227 
+       `_gl_®bums_ed\99_pÝ_v\9bw
+(
+d©a
+);
+
+1228 
+       `gl_dbg
+("Sending signal\81o EDC 1");
+
+1229 
+       `\96m_objeù_sigÇl_em\99
+(
+ad
+->
+ù¾\9afo
+.
+ù¾b¬_v\9bw_ly
+, "elm,selectall,state,default", "elm");
+
+1231 
+       `gl_®bums_upd©e_v\9bw
+(
+d©a
+);
+
+1233 
+       }
+}
+
+1235 \12
+       $_gl_®bums_check_b\8as
+(\1e*
+d©a
+)
+
+1237 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1238 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1239 
+       `GL_CHECK_VAL
+(
+ad
+->
+ù¾\9afo
+.
+nf_\99
+, -1);
+
+1240 
+boÞ
+b_di§bËd
+ = 
+çl£
+;
+
+1243 ià(
+       `gl_check_g®Ëry_em±y
+(
+d©a
+è|| 
+ad
+->
+®bum\9afo
+.
+\96
+->
+ed\99_út
+ <= 0)
+
+1244 
+b_di§bËd
+ = 
+\8cue
+;
+
+1245 
+       `gl_dbg
+("b_di§bË: %d", 
+b_di§bËd
+);
+
+1247 
+       `_gl_ui_di§bË_m\92u
+(
+ad
+->
+ù¾\9afo
+.
+nf_\99
+, 
+çl£
+);
+
+1249 
+       }
+}
+
+1251 \12
+       $_gl_®bums_rÙ©e_v\9bw
+(\1e*
+d©a
+)
+
+1253 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1254 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1256 ià(
+ad
+->
+®bum\9afo
+.
+v\9bw
+ =ðad->®bum\9afo.
+nocÚ\8bÁs
+)
+
+1258 
+Elm_Objeù_I\8bm
+ *
+\99em
+ = 
+       `\96m_g\92grid_f\9c¡_\99em_g\91
+(
+ad
+->
+®bum\9afo
+.
+v\9bw
+);
+
+1259 ià(
+\99em
+) {
+
+1260 
+\99em
+ = 
+       `\96m_g\92grid_\99em_Ãxt_g\91
+(item);
+
+1261 ià(
+\99em
+) {
+
+1262 
+\99em
+ = 
+       `\96m_g\92grid_\99em_Ãxt_g\91
+(item);
+
+1263 ià(
+\99em
+)
+
+1264 
+       `\96m_objeù_\99em_sigÇl_em\99
+(
+\99em
+,
+
+1269 \15 
+       `_gl_t\9ee_upd©e_\99em_size
+(
+d©a
+, 
+ad
+->
+®bum\9afo
+.
+v\9bw
+, 
+\8cue
+);
+
+1270 
+       }
+}
+
+1272 \12
+       $_gl_®bums_£t_cu¼\92t
+(\1e*
+d©a
+, 
+gl_þu¡\94
+ *
+cu¼\92t
+)
+
+1274 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1275 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1276 
+ad
+->
+®bum\9afo
+.
+cu¼\92t
+ = current;
+
+1278 
+       }
+}
+
+1280 
+gl_þu¡\94
+ *
+       $_gl_®bums_g\91_cu¼\92t
+(\1e*
+d©a
+)
+
+1282 
+       `GL_CHECK_NULL
+(
+d©a
+);
+
+1283 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1284 \15 
+ad
+->
+®bum\9afo
+.
+cu¼\92t
+;
+
+1285 
+       }
+}
+
+1288 \12
+       $_gl_®bums_þ\97r_cbs
+(
+Evas_Objeù
+ *
+v\9bw
+)
+
+1290 
+       `gl_dbg
+("");
+
+1291 
+       `GL_CHECK_VAL
+(
+v\9bw
+, -1);
+
+1292 
+       `evas_objeù_sm¬t_ÿÎback_d\96
+(
+v\9bw
+, "»®ized", 
+__gl_®bums_»®ized
+);
+
+1293 
+       `evas_objeù_sm¬t_ÿÎback_d\96
+(
+v\9bw
+, "unrealized",
+
+1294 
+__gl_®bums_uÄ\97lized
+);
+
+1295 
+       `evas_objeù_sm¬t_ÿÎback_d\96
+(
+v\9bw
+, "longpressed",
+
+1296 
+__gl_®bums_lÚg´es£d_cb
+);
+
+1298 
+       }
+}
+
+1300 \1e
+       $_gl_add_®bum_d©a
+(
+gl_þu¡\94
+ *
+®bum
+, 
+E\9aa_Li¡
+ *
+med\9fs_\96
+)
+
+1302 
+       `GL_CHECK
+(
+®bum
+);
+
+1303 
+       `GL_CHECK
+(
+med\9fs_\96
+);
+
+1304 \12
+út
+ = 
+       `e\9aa_li¡_couÁ
+(
+med\9fs_\96
+);
+
+1305 \12
+i
+;
+
+1306 
+gl_\99em
+ *
+g\99em
+ = 
+NULL
+;
+
+1307 \ f
+i
+ = 0; i < 
+út
+; i++) {
+
+1308 
+g\99em
+ = 
+       `e\9aa_li¡_Áh
+(
+med\9fs_\96
+, 
+i
+);
+
+1309 ià(
+g\99em
+) {
+
+1310 
+g\99em
+->
+®bum
+ =\87lbum;
+
+1313 
+       }
+}
+
+1315 \12
+       $gl_®bums_Ý\92_®bum
+(
+gl_þu¡\94
+ *
+®bum
+)
+
+1317 
+       `GL_CHECK_VAL
+(
+®bum
+, -1);
+
+1318 
+       `GL_CHECK_VAL
+(
+®bum
+->
+þu¡\94
+, -1);
+
+1319 
+       `GL_CHECK_VAL
+(
+®bum
+->
+þu¡\94
+->
+uuid
+, -1);
+
+1320 
+       `GL_CHECK_VAL
+(
+®bum
+->
+ad
+, -1);
+
+1321 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+®bum
+->ad;
+
+1322 
+       `GL_CHECK_VAL
+(
+ad
+->
+®bum\9afo
+.
+\96
+, -1);
+
+1323 
+       `GL_CHECK_VAL
+(
+ad
+->
+®bum\9afo
+.
+\96
+->
+þi¡
+, -1);
+
+1324 
+gl_\99em
+ *
+g\99em
+ = 
+NULL
+;
+
+1325 
+gl_\99em
+ *
+d©a
+ = 
+NULL
+;
+
+1326 \12
+v\9bw_mode
+ = 
+       `gl_g\91_v\9bw_mode
+(
+ad
+);
+
+1327 \12
+i
+;
+
+1329 ià(
+®bum
+->
+cov\94
+) {
+
+1330 
+       `_gl_d©a_ut\9e\93_g\99em
+(
+®bum
+->
+cov\94
+);
+
+1331 
+®bum
+->
+cov\94
+ = 
+NULL
+;
+
+1334 ià(
+v\9bw_mode
+ =ð
+GL_VIEW_ALBUMS
+) {
+
+1335 
+       `gl_dbg
+("View mode!");
+
+1336 } \vià(
+v\9bw_mode
+ =ð
+GL_VIEW_ALBUMS_SELECT
+ || v\9bw_mod\90
+GL_VIEW_THUMBS_SELECT
+) {
+
+1337 
+       `gl_dbg
+("Select mode!");
+
+1338 
+       `_gl_®bums_£t_cu¼\92t
+(
+ad
+, 
+®bum
+);
+
+1339 
+       `_gl_thumbs_£l_ü\97\8b_v\9bw
+(
+ad
+, 
+®bum
+);
+
+1341 } \vià(
+v\9bw_mode
+ =ð
+GL_VIEW_THUMBS
+) {
+
+1342 
+       `gl_dbg
+("Split view!");
+
+1343 \ 5*
+i18n_Çme
+ = 
+       `_gl_g\91_i18n_®bum_Çme
+(
+®bum
+->
+þu¡\94
+);
+
+1344 
+       `gl_sdbg
+("Album: %s, UUID: %s", 
+i18n_Çme
+, 
+®bum
+->
+þu¡\94
+->
+uuid
+);
+
+1345 
+       `_gl_®bums_£t_cu¼\92t
+(
+ad
+, 
+®bum
+);
+
+1346 
+E\9aa_Li¡
+ *
+med\9fs_\96
+ = 
+NULL
+;
+
+1347 
+       `_gl_d©a_g\91_\99ems_®bum
+(
+ad
+, 
+®bum
+, 
+GL_FIRST_VIEW_START_POS
+,
+
+1348 
+GL_GET_UNTIL_LAST_RECORD
+ - 1, &
+med\9fs_\96
+);
+
+1349 
+       `_gl_add_®bum_d©a
+(
+®bum
+, 
+med\9fs_\96
+);
+
+1350 
+       `EINA_LIST_FREE
+(
+®bum
+->
+\96
+, 
+d©a
+) {
+
+1351 ià(
+d©a
+) {
+
+1352 
+d©a
+->
+checked
+ = 
+çl£
+;
+
+1355 
+       `_gl_thumbs_£t_li¡
+(
+ad
+, 
+med\9fs_\96
+);
+
+1356 
+       `_gl_thumbs_upd©e_¥l\99_v\9bw
+(
+ad
+, 
+GL_NAVI_THUMBS
+, 
+i18n_Çme
+, 
+\8cue
+,
+
+1357 
+__gl_®bums_þo£_®bum_cb
+);
+
+1359 } \vià(
+v\9bw_mode
+ =ð
+GL_VIEW_THUMBS_EDIT
+) {
+
+1360 
+       `gl_dbg
+("Split\83dit view!");
+
+1361 \ 5*
+i18n_Çme
+ = 
+       `_gl_g\91_i18n_®bum_Çme
+(
+®bum
+->
+þu¡\94
+);
+
+1362 
+       `gl_sdbg
+("Album: %s, UUID: %s", 
+i18n_Çme
+, 
+®bum
+->
+þu¡\94
+->
+uuid
+);
+
+1363 
+       `_gl_®bums_£t_cu¼\92t
+(
+ad
+, 
+®bum
+);
+
+1364 
+E\9aa_Li¡
+ *
+£l_id_li¡
+ = 
+NULL
+;
+
+1366 
+E\9aa_Li¡
+ *
+med\9fs_\96
+ = 
+NULL
+;
+
+1367 
+       `_gl_d©a_g\91_\99ems_®bum
+(
+ad
+, 
+®bum
+, 
+GL_FIRST_VIEW_START_POS
+,
+
+1368 
+GL_GET_UNTIL_LAST_RECORD
+ - 1, &
+med\9fs_\96
+);
+
+1369 
+       `_gl_add_®bum_d©a
+(
+®bum
+, 
+med\9fs_\96
+);
+
+1370 
+       `EINA_LIST_FREE
+(
+®bum
+->
+\96
+, 
+d©a
+) {
+
+1371 ià(
+d©a
+) {
+
+1372 
+d©a
+->
+checked
+ = 
+çl£
+;
+
+1376 
+       `_gl_thumbs_£t_li¡
+(
+ad
+, 
+med\9fs_\96
+);
+
+1377 \12
+couÁ
+ = 
+       `e\9aa_li¡_couÁ
+(
+med\9fs_\96
+);
+
+1378 \ f
+i
+ = 0; i < 
+couÁ
+ ; i++) {
+
+1379 
+g\99em
+ = 
+       `e\9aa_li¡_Áh
+(
+med\9fs_\96
+, 
+i
+);
+
+1380 
+       `_gl_d©a_»¡Üe_£Ëùed
+(
+ad
+->
+£l\9afo
+.
+\96
+, 
+g\99em
+);
+
+1382 
+       `_gl_thumbs_upd©e_ed\99_¥l\99_v\9bw
+(
+ad
+, 
+GL_NAVI_THUMBS
+, 
+i18n_Çme
+, 
+\8cue
+,
+
+1383 
+__gl_®bums_þo£_®bum_cb
+);
+
+1386 
+       `gl_dbgW
+("Wrong view mode");
+
+1389 \ 5*
+i18n_Çme
+ = 
+       `_gl_g\91_i18n_®bum_Çme
+(
+®bum
+->
+þu¡\94
+);
+
+1390 
+       `gl_sdbg
+("Album: %s, UUID: %s", 
+i18n_Çme
+, 
+®bum
+->
+þu¡\94
+->
+uuid
+);
+
+1391 
+       `_gl_®bums_£t_cu¼\92t
+(
+ad
+, 
+®bum
+);
+
+1392 
+E\9aa_Li¡
+ *
+med\9fs_\96
+ = 
+NULL
+;
+
+1393 
+       `_gl_d©a_g\91_\99ems_®bum
+(
+ad
+, 
+®bum
+, 
+GL_FIRST_VIEW_START_POS
+,
+
+1394 
+GL_FIRST_VIEW_END_POS
+, &
+med\9fs_\96
+);
+
+1395 
+       `_gl_add_®bum_d©a
+(
+®bum
+, 
+med\9fs_\96
+);
+
+1396 
+       `EINA_LIST_FREE
+(
+®bum
+->
+\96
+, 
+d©a
+) {
+
+1397 ià(
+d©a
+) {
+
+1398 
+d©a
+->
+checked
+ = 
+çl£
+;
+
+1401 
+       `_gl_thumbs_£t_li¡
+(
+ad
+, 
+med\9fs_\96
+);
+
+1402 
+       `_gl_thumbs_ü\97\8b_v\9bw
+(
+ad
+, 
+GL_NAVI_THUMBS
+, 
+i18n_Çme
+, 
+\8cue
+,
+
+1403 
+__gl_®bums_þo£_®bum_cb
+);
+
+1404 
+       `gl_dbg
+("®bums_v\9bw 0x%x cˬed", 
+ad
+->
+®bum\9afo
+.
+v\9bw
+);
+
+1405 
+       `gl_dbg
+("Done\87lbums selected");
+
+1407 
+       }
+}
+
+1409 
+Evas_Objeù
+ *
+       $_gl_®bums_add_g\92grid
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+·»Á
+)
+
+1411 
+GL_PROFILE_IN
+;
+
+1412 
+       `GL_CHECK_NULL
+(
+·»Á
+);
+
+1413 
+       `GL_CHECK_NULL
+(
+d©a
+);
+
+1414 
+Evas_Objeù
+ *
+grid
+ = 
+       `_gl_t\9ee_add_g\92grid
+(
+·»Á
+);
+
+1415 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+grid
+, "»®ized", 
+__gl_®bums_»®ized
+,
+
+1416 
+d©a
+);
+
+1417 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+grid
+, "unrealized",
+
+1418 
+__gl_®bums_uÄ\97lized
+, 
+d©a
+);
+
+1420 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+grid
+, "language,changed",
+
+1421 
+__gl_®bums_Ïng_chªged
+, 
+d©a
+);
+
+1423 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+grid
+, "longpressed",
+
+1424 
+__gl_®bums_lÚg´es£d_cb
+, 
+d©a
+);
+
+1425 
+       `evas_objeù_show
+(
+grid
+);
+
+1426 
+       `_gl_ui_»£t_süÞËr_pos
+(
+grid
+);
+
+1427 
+GL_PROFILE_OUT
+;
+
+1428 \15 
+grid
+;
+
+1429 
+       }
+}
+
+1431 
+Evas_Objeù
+ * 
+       $_gl_®bums_ü\97\8b_®bum_£l_g\92grid
+(\1e*
+d©a
+)
+
+1433 
+       `GL_CHECK_VAL
+(
+d©a
+, 
+NULL
+);
+
+1434 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1435 
+Evas_Objeù
+ *
+Ïyout_\9aÃr
+ = 
+       `\96m_g\92grid_add
+(
+ad
+->
+ma\9a\9afo
+.
+w\9a
+);
+
+1437 
+       `\96m_g\92grid_®ign_£t
+(
+Ïyout_\9aÃr
+, 0.5f, 0.0);
+
+1438 
+       `\96m_g\92grid_hÜizÚ\8fl_£t
+(
+Ïyout_\9aÃr
+, 
+EINA_FALSE
+);
+
+1439 
+       `\96m_süÞËr_bounû_£t
+(
+Ïyout_\9aÃr
+, 
+EINA_FALSE
+, 
+EINA_TRUE
+);
+
+1440 
+       `\96m_süÞËr_pÞicy_£t
+(
+Ïyout_\9aÃr
+, 
+ELM_SCROLLER_POLICY_OFF
+,
+
+1441 
+ELM_SCROLLER_POLICY_AUTO
+);
+
+1442 
+       `\96m_g\92grid_muÉi_£Ëù_£t
+(
+Ïyout_\9aÃr
+, 
+EINA_TRUE
+);
+
+1443 
+       `evas_objeù_size_h\9at_weight_£t
+(
+Ïyout_\9aÃr
+, 
+EVAS_HINT_EXPAND
+,
+
+1444 
+EVAS_HINT_EXPAND
+);
+
+1445 \15 
+Ïyout_\9aÃr
+;
+
+1446 
+       }
+}
+
+1448 
+Evas_Objeù
+ *
+       $_gl_®bums_£l_add_v\9bw
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+·»Á
+)
+
+1450 
+       `GL_CHECK_NULL
+(
+·»Á
+);
+
+1451 
+       `GL_CHECK_NULL
+(
+d©a
+);
+
+1452 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1453 
+       `GL_CHECK_NULL
+(
+ad
+->
+®bum\9afo
+.
+\96
+);
+
+1454 
+       `gl_dbg
+("");
+
+1456 
+ad
+->
+®bum\9afo
+.
+®bums_út
+ = 0;
+
+1458 
+Evas_Objeù
+ *
+grid
+ = 
+       `_gl_®bums_ü\97\8b_®bum_£l_g\92grid
+(
+d©a
+);
+
+1459 
+       `GL_CHECK_NULL
+(
+grid
+);
+
+1460 \12
+»t
+ = 
+       `_gl_®bums_ü\97\8b_\99ems
+(
+ad
+, 
+grid
+);
+
+1462 \12
+v\9bw_mode
+ = 
+       `gl_g\91_v\9bw_mode
+(
+ad
+);
+
+1463 
+       `gl_dbg
+("v\9bw_mode: %d", 
+v\9bw_mode
+);
+
+1464 ià(
+v\9bw_mode
+ =ð
+GL_VIEW_ALBUMS_SELECT
+) {
+
+1465 ià(
+ad
+->
+®bum\9afo
+.
+®bums_út
+ == 0) {
+
+1466 
+       `gl_dbgE
+("None\87lbums!");
+
+1467 
+       `evas_objeù_d\96
+(
+grid
+);
+
+1468 
+grid
+ = 
+NULL
+;
+
+1470 
+       `evas_objeù_show
+(
+grid
+);
+
+1472 \15 
+grid
+;
+
+1476 ià(
+»t
+ < 0 || 
+       `gl_check_g®Ëry_em±y
+(
+ad
+)) {
+
+1477 
+       `_gl_ui_d\96_süÞËr_pos
+(
+grid
+);
+
+1478 
+       `evas_objeù_d\96
+(
+grid
+);
+
+1479 
+grid
+ = 
+NULL
+;
+
+1481 
+Evas_Objeù
+ *
+noc
+ = 
+       `_gl_nocÚ\8bÁs_ü\97\8b
+(
+ad
+->
+ù¾\9afo
+.
+ù¾b¬_v\9bw_ly
+);
+
+1482 
+       `evas_objeù_show
+(
+noc
+);
+
+1483 
+ad
+->
+®bum\9afo
+.
+nocÚ\8bÁs
+ = 
+noc
+;
+
+1484 
+       `\96m_Çviäame_\99em_t\99Ë_\92abËd_£t
+(
+ad
+->
+ù¾\9afo
+.
+nf_\99
+, 
+EINA_FALSE
+, EINA_FALSE);
+
+1486 \15 
+noc
+;
+
+1488 
+ad
+->
+®bum\9afo
+.
+nocÚ\8bÁs
+ = 
+NULL
+;
+
+1489 
+       `\96m_Çviäame_\99em_t\99Ë_\92abËd_£t
+(
+ad
+->
+ù¾\9afo
+.
+nf_\99
+, 
+EINA_TRUE
+, EINA_TRUE);
+
+1492 
+       `gl_dbg
+("done");
+
+1493 \15 
+grid
+;
+
+1494 
+       }
+}
+
+1497 
+Evas_Objeù
+ *
+       $_gl_®bums_add_v\9bw
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+·»Á
+)
+
+1499 
+       `GL_CHECK_NULL
+(
+·»Á
+);
+
+1500 
+       `GL_CHECK_NULL
+(
+d©a
+);
+
+1501 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1502 
+       `GL_CHECK_NULL
+(
+ad
+->
+®bum\9afo
+.
+\96
+);
+
+1503 
+       `gl_dbg
+("");
+
+1505 
+ad
+->
+®bum\9afo
+.
+®bums_út
+ = 0;
+
+1507 
+Evas_Objeù
+ *
+grid
+ = 
+       `_gl_®bums_add_g\92grid
+(
+d©a
+, 
+·»Á
+);
+
+1508 
+       `GL_CHECK_NULL
+(
+grid
+);
+
+1509 \12
+»t
+ = 
+       `_gl_®bums_ü\97\8b_\99ems
+(
+ad
+, 
+grid
+);
+
+1511 \12
+v\9bw_mode
+ = 
+       `gl_g\91_v\9bw_mode
+(
+ad
+);
+
+1512 
+       `gl_dbg
+("v\9bw_mode: %d", 
+v\9bw_mode
+);
+
+1513 ià(
+v\9bw_mode
+ =ð
+GL_VIEW_ALBUMS_SELECT
+) {
+
+1514 ià(
+ad
+->
+®bum\9afo
+.
+®bums_út
+ == 0) {
+
+1515 
+       `gl_dbgE
+("None\87lbums!");
+
+1516 
+       `evas_objeù_d\96
+(
+grid
+);
+
+1517 
+grid
+ = 
+NULL
+;
+
+1519 
+       `evas_objeù_show
+(
+grid
+);
+
+1521 \15 
+grid
+;
+
+1525 ià(
+»t
+ < 0 || 
+       `gl_check_g®Ëry_em±y
+(
+ad
+)) {
+
+1526 
+       `_gl_ui_d\96_süÞËr_pos
+(
+grid
+);
+
+1527 
+       `evas_objeù_d\96
+(
+grid
+);
+
+1528 
+grid
+ = 
+NULL
+;
+
+1530 
+Evas_Objeù
+ *
+noc
+ = 
+       `_gl_nocÚ\8bÁs_ü\97\8b
+(
+ad
+->
+ù¾\9afo
+.
+ù¾b¬_v\9bw_ly
+);
+
+1531 
+       `evas_objeù_show
+(
+noc
+);
+
+1532 
+ad
+->
+®bum\9afo
+.
+nocÚ\8bÁs
+ = 
+noc
+;
+
+1533 
+       `\96m_Çviäame_\99em_t\99Ë_\92abËd_£t
+(
+ad
+->
+ù¾\9afo
+.
+nf_\99
+, 
+EINA_FALSE
+, EINA_FALSE);
+
+1535 \15 
+noc
+;
+
+1537 
+ad
+->
+®bum\9afo
+.
+nocÚ\8bÁs
+ = 
+NULL
+;
+
+1538 
+       `\96m_Çviäame_\99em_t\99Ë_\92abËd_£t
+(
+ad
+->
+ù¾\9afo
+.
+nf_\99
+, 
+EINA_TRUE
+, EINA_TRUE);
+
+1541 
+       `gl_dbg
+("done");
+
+1542 \15 
+grid
+;
+
+1543 
+       }
+}
+
+1545 \12
+       $_gl_¥l\99_®bums_ü\97\8b_\99ems
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+·»Á
+)
+
+1547 
+GL_PROFILE_IN
+;
+
+1548 
+       `GL_CHECK_VAL
+(
+·»Á
+, -1);
+
+1549 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1550 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1551 \12
+i
+ = 0;
+
+1552 
+gl_þu¡\94
+ *
+®bum_\99em
+ = 
+NULL
+;
+
+1553 \12
+Ëngth
+ = 0;
+
+1554 
+       `gl_dbg
+("");
+
+1555 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+·»Á
+, "»®ized", 
+__gl_¥l\99_®bums_»®ized
+,
+
+1556 
+d©a
+);
+
+1557 ià(
+       `\96m_g\92grid_\99ems_couÁ
+(
+·»Á
+) > 0) {
+
+1559 
+       `_gl_ui_§ve_süÞËr_pos
+(
+·»Á
+);
+
+1561 
+       `\96m_g\92grid_þ\97r
+(
+·»Á
+);
+
+1563 
+ad
+->
+®bum\9afo
+.
+gic
+.
+\99em_¡yË
+ = 
+GL_GENGRID_STYLE_ALBUM_SPLIT_VIEW
+;
+
+1564 
+ad
+->
+®bum\9afo
+.
+gic
+.
+func
+.
+\8bxt_g\91
+ = 
+__gl_®bums_g\91_\8bxt
+;
+
+1565 
+ad
+->
+®bum\9afo
+.
+gic
+.
+func
+.
+cÚ\8bÁ_g\91
+ = 
+__gl_®bums_g\91_cÚ\8bÁ_¥l\99_v\9bw
+;
+
+1566 
+Elm_G\92grid_I\8bm_CÏss
+ *
+pgic
+ = &(
+ad
+->
+®bum\9afo
+.
+gic
+);
+
+1567 
+       `GL_CHECK_VAL
+(
+ad
+->
+®bum\9afo
+.
+\96
+, -1);
+
+1568 
+       `GL_CHECK_VAL
+(
+ad
+->
+®bum\9afo
+.
+\96
+->
+þi¡
+, -1);
+
+1569 
+E\9aa_Li¡
+ *
+þi¡
+ = 
+ad
+->
+®bum\9afo
+.
+\96
+->clist;
+
+1570 
+Ëngth
+ = 
+       `e\9aa_li¡_couÁ
+(
+þi¡
+);
+
+1571 
+       `gl_dbg
+("Album Ëngth: %d", 
+Ëngth
+);
+
+1572 
+ad
+->
+®bum\9afo
+.
+\96
+->
+ed\99_út
+ = 0;
+
+1573 \12
+\99em_út
+ = 0;
+
+1575 \ f
+i
+ = 0; i < 
+Ëngth
+; i++) {
+
+1576 
+®bum_\99em
+ = 
+       `e\9aa_li¡_Áh
+(
+þi¡
+, 
+i
+);
+
+1577 
+       `GL_CHECK_VAL
+(
+®bum_\99em
+, -1);
+
+1578 
+       `GL_CHECK_VAL
+(
+®bum_\99em
+->
+þu¡\94
+, -1);
+
+1579 
+       `GL_CHECK_VAL
+(
+®bum_\99em
+->
+þu¡\94
+->
+di¥Ïy_Çme
+, -1);
+
+1580 
+       `GL_CHECK_VAL
+(
+®bum_\99em
+->
+þu¡\94
+->
+uuid
+, -1);
+
+1581 ià(
+®bum_\99em
+->
+þu¡\94
+->
+ty³
+ < 
+GL_STORE_T_ALL
+) {
+
+1582 
+ad
+->
+®bum\9afo
+.
+\96
+->
+ed\99_út
+++;
+
+1584 \12
+v\9bw_mode
+ = 
+       `gl_g\91_v\9bw_mode
+(
+ad
+);
+
+1585 ià(
+v\9bw_mode
+ =ð
+GL_VIEW_ALBUMS
+
+
+1586 || 
+v\9bw_mode
+ =ð
+GL_VIEW_ALBUMS_EDIT
+
+
+1587 || 
+v\9bw_mode
+ =ð
+GL_VIEW_TIMELINE
+
+
+1588 || 
+v\9bw_mode
+ =ð
+GL_VIEW_THUMBS_EDIT
+
+
+1589 || 
+v\9bw_mode
+ =ð
+GL_VIEW_THUMBS_SELECT
+
+
+1591 
+       `gl_dbg
+("skip\81he item");
+
+1595 
+®bum_\99em
+->
+\99em
+ = 
+       `\96m_g\92grid_\99em_­³nd
+(
+·»Á
+, 
+pgic
+,
+
+1596 
+®bum_\99em
+,
+
+1597 
+__gl_®bums_£l_cb
+,
+
+1598 
+®bum_\99em
+);
+
+1599 
+®bum_\99em
+->
+\9adex
+ = 
+\99em_út
+;
+
+1600 
+\99em_út
+++;
+
+1601 
+       `gl_sdbg
+("Aµ\92d[%s], id=%s.", 
+®bum_\99em
+->
+þu¡\94
+->
+di¥Ïy_Çme
+,
+
+1602 
+®bum_\99em
+->
+þu¡\94
+->
+uuid
+);
+
+1605 
+       `_gl_ui_»¡Üe_süÞËr_pos
+(
+·»Á
+);
+
+1606 
+ad
+->
+®bum\9afo
+.
+®bums_út
+ = 
+\99em_út
+;
+
+1607 
+GL_PROFILE_OUT
+;
+
+1608 ià(
+\99em_út
+) {
+
+1609 
+       `gl_sdbg
+("Item count is 0");
+
+1614 
+       }
+}
+
+1616 \12
+       $_gl_®bums_ü\97\8b_\99ems
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+·»Á
+)
+
+1618 
+GL_PROFILE_IN
+;
+
+1619 
+       `GL_CHECK_VAL
+(
+·»Á
+, -1);
+
+1620 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1621 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1622 \12
+i
+ = 0;
+
+1623 
+gl_þu¡\94
+ *
+®bum_\99em
+ = 
+NULL
+;
+
+1624 \12
+Ëngth
+ = 0;
+
+1625 
+       `gl_dbg
+("");
+
+1627 ià(
+       `\96m_g\92grid_\99ems_couÁ
+(
+·»Á
+) > 0) {
+
+1629 
+       `_gl_ui_§ve_süÞËr_pos
+(
+·»Á
+);
+
+1630 
+       `evas_objeù_sm¬t_ÿÎback_d\96
+(
+·»Á
+, "unrealized",
+
+1631 
+__gl_®bums_uÄ\97lized
+);
+
+1633 
+       `\96m_g\92grid_þ\97r
+(
+·»Á
+);
+
+1634 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+·»Á
+, "unrealized",
+
+1635 
+__gl_®bums_uÄ\97lized
+, 
+d©a
+);
+
+1637 
+ad
+->
+®bum\9afo
+.
+gic
+.
+\99em_¡yË
+ = 
+GL_GENGRID_STYLE_ALBUM_VIEW
+;
+
+1638 
+ad
+->
+®bum\9afo
+.
+gic
+.
+func
+.
+\8bxt_g\91
+ = 
+__gl_®bums_g\91_\8bxt
+;
+
+1639 
+ad
+->
+®bum\9afo
+.
+gic
+.
+func
+.
+cÚ\8bÁ_g\91
+ = 
+__gl_®bums_g\91_cÚ\8bÁ
+;
+
+1640 
+Elm_G\92grid_I\8bm_CÏss
+ *
+pgic
+ = &(
+ad
+->
+®bum\9afo
+.
+gic
+);
+
+1641 
+       `GL_CHECK_VAL
+(
+ad
+->
+®bum\9afo
+.
+\96
+, -1);
+
+1642 
+       `GL_CHECK_VAL
+(
+ad
+->
+®bum\9afo
+.
+\96
+->
+þi¡
+, -1);
+
+1643 
+E\9aa_Li¡
+ *
+þi¡
+ = 
+ad
+->
+®bum\9afo
+.
+\96
+->clist;
+
+1644 
+Ëngth
+ = 
+       `e\9aa_li¡_couÁ
+(
+þi¡
+);
+
+1645 
+       `gl_dbg
+("Album Ëngth: %d", 
+Ëngth
+);
+
+1646 
+ad
+->
+®bum\9afo
+.
+\96
+->
+ed\99_út
+ = 0;
+
+1647 \12
+\99em_út
+ = 0;
+
+1649 \ f
+i
+ = 0; i < 
+Ëngth
+; i++) {
+
+1650 
+®bum_\99em
+ = 
+       `e\9aa_li¡_Áh
+(
+þi¡
+, 
+i
+);
+
+1651 
+       `GL_CHECK_VAL
+(
+®bum_\99em
+, -1);
+
+1652 
+       `GL_CHECK_VAL
+(
+®bum_\99em
+->
+þu¡\94
+, -1);
+
+1653 
+       `GL_CHECK_VAL
+(
+®bum_\99em
+->
+þu¡\94
+->
+di¥Ïy_Çme
+, -1);
+
+1654 
+       `GL_CHECK_VAL
+(
+®bum_\99em
+->
+þu¡\94
+->
+uuid
+, -1);
+
+1656 ià(
+®bum_\99em
+->
+þu¡\94
+->
+ty³
+ < 
+GL_STORE_T_ALL
+) {
+
+1657 
+ad
+->
+®bum\9afo
+.
+\96
+->
+ed\99_út
+++;
+
+1659 if(
+       `gl_g\91_v\9bw_mode
+(
+ad
+è!ð
+GL_VIEW_ALBUMS
+) {
+
+1663 
+®bum_\99em
+->
+\99em
+ = 
+       `\96m_g\92grid_\99em_­³nd
+(
+·»Á
+, 
+pgic
+,
+
+1664 
+®bum_\99em
+,
+
+1665 
+__gl_®bums_£l_cb
+,
+
+1666 
+®bum_\99em
+);
+
+1667 
+®bum_\99em
+->
+\9adex
+ = 
+\99em_út
+;
+
+1668 
+\99em_út
+++;
+
+1669 
+       `gl_sdbg
+("Aµ\92d[%s], id=%s.", 
+®bum_\99em
+->
+þu¡\94
+->
+di¥Ïy_Çme
+,
+
+1670 
+®bum_\99em
+->
+þu¡\94
+->
+uuid
+);
+
+1673 
+       `_gl_ui_»¡Üe_süÞËr_pos
+(
+·»Á
+);
+
+1675 
+ad
+->
+®bum\9afo
+.
+®bums_út
+ = 
+\99em_út
+;
+
+1676 
+       `_gl_t\9ee_upd©e_\99em_size
+(
+d©a
+, 
+·»Á
+, 
+çl£
+);
+
+1677 
+GL_PROFILE_OUT
+;
+
+1678 ià(
+\99em_út
+)
+
+1682 
+       }
+}
+
+       @src/features/gl-entry.c
+
+18 \ 2
+       ~"gl-\92\8cy.h
+"
+
+19 \ 2
+       ~"gl-ui-ut\9e.h
+"
+
+20 \ 2
+       ~"gl-ut\9e.h
+"
+
+21 \ 2
+       ~"gl-bu\89Ú.h
+"
+
+22 \ 2
+       ~"gl-ed\99f\9bld.h
+"
+
+23 \ 2
+       ~"gl-cÚ\8cÞb¬.h
+"
+
+24 \ 2
+       ~"gl-debug.h
+"
+
+25 \ 2
+       ~"gl-¡r\9ags.h
+"
+
+26 \ 2
+       ~"gl-fs.h
+"
+
+27 \ 2
+       ~"gl-pÝup.h
+"
+
+28 \ 2
+       ~"gl-nÙify.h
+"
+
+30 \e\19
+_gl_\92\8cy_t
+       tgl_\92\8cy_s
+;
+
+31 \19
+       s_gl_\92\8cy_t
+ {
+
+32 
+Evas_Objeù
+ *
+       mÏyout
+;
+
+33 
+Elm_Objeù_I\8bm
+ *
+       mnf_\99
+;
+
+34 
+Elm_Objeù_I\8bm
+ *
+       m´e_nf_\99
+;
+
+35 
+Evas_Objeù
+ *
+       mdÚe_b\8a
+;
+
+37 \1e*
+       mad
+;
+
+42 \18\1e
+       $__gl_\92\8cy_Ïyout_d\96_cb
+(\1e*
+d©a
+, 
+Evas
+ *
+e
+, 
+Evas_Objeù
+ *
+obj
+,
+
+43 \1e*
+ei
+)
+
+45 
+       `gl_dbg
+("Delete\83ntry\86ayout ---");
+
+46 
+       `GL_FREEIF
+(
+d©a
+);
+
+47 
+       `gl_dbg
+("Delete\83ntry\86ayout +++");
+
+48 
+       }
+}
+
+50 \18
+E\9aa_BoÞ
+       $__gl_\92\8cy_pÝ_cb
+(\1e*
+d©a
+, 
+Elm_Objeù_I\8bm
+ *
+\99
+)
+
+52 
+       `GL_CHECK_FALSE
+(
+d©a
+);
+
+53 
+gl_\92\8cy_s
+ *
+\92\8cy_d
+ = (gl_\92\8cy_ *)
+d©a
+;
+
+54 
+       `GL_CHECK_FALSE
+(
+\92\8cy_d
+->
+ad
+);
+
+55 
+       `gl_dbg
+("");
+
+58 
+Evas_Objeù
+ *
+\92\8cy
+ = 
+       `_gl_ed\99f\9bld_g\91_\92\8cy
+(
+\92\8cy_d
+->
+ad
+);
+
+59 
+       `GL_CHECK_FALSE
+(
+\92\8cy
+);
+
+60 
+       `E\9aa_BoÞ
+ (*
+pÝ_cb
+)(\1e*
+d©a
+, 
+Elm_Objeù_I\8bm
+ *
+\99
+);
+
+61 
+pÝ_cb
+ = 
+       `evas_objeù_d©a_g\91
+(
+\92\8cy
+, "gl_entry_pop_cb_key");
+
+63 
+       `_gl_ed\99f\9bld_de¡roy_imf
+(
+\92\8cy_d
+->
+ad
+);
+
+64 ià(
+pÝ_cb
+)
+
+65 \15 
+       `pÝ_cb
+(
+\92\8cy_d
+->
+ad
+, 
+\99
+);
+
+67 \15 
+EINA_TRUE
+;
+
+68 
+       }
+}
+
+71 \18\1e
+       $__gl_\92\8cy_dÚe_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+73 
+       `GL_CHECK
+(
+d©a
+);
+
+74 
+gl_\92\8cy_s
+ *
+\92\8cy_d
+ = (gl_\92\8cy_ *)
+d©a
+;
+
+75 
+       `GL_CHECK
+(
+\92\8cy_d
+->
+ad
+);
+
+76 
+       `gl_dbg
+("");
+
+78 
+       `_gl_ed\99f\9bld_hide_imf
+(
+\92\8cy_d
+->
+ad
+);
+
+79 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+\92\8cy_d
+->ad;
+
+81 
+Evas_Objeù
+ *
+\92\8cy
+ = 
+       `_gl_ed\99f\9bld_g\91_\92\8cy
+(
+\92\8cy_d
+->
+ad
+);
+
+82 
+       `GL_CHECK
+(
+\92\8cy
+);
+
+84 \12(*
+´oûss_cb
+)(\1e*
+d©a
+, 
+boÞ
+b_\92\8br
+);
+
+85 
+´oûss_cb
+ = 
+       `evas_objeù_d©a_g\91
+(
+\92\8cy
+, "gl_entry_process_cb_key");
+
+86 
+       `GL_CHECK
+(
+´oûss_cb
+);
+
+88 ià(
+       `´oûss_cb
+(
+\92\8cy_d
+->
+ad
+, 
+çl£
+) == 0)
+
+89 
+       `evas_objeù_sm¬t_ÿÎback_d\96
+(
+obj
+, "clicked",
+
+90 
+__gl_\92\8cy_dÚe_cb
+);
+
+92 
+ad
+->
+\92\8cy\9afo
+.
+nf_\99
+ = 
+NULL
+;
+
+93 
+       `GL_FREEIF
+(
+ad
+->
+®bum\9afo
+.
+\8bmp_®bum_Çme
+);
+
+94 
+       }
+}
+
+96 \18\1e
+       $__gl_\92\8cy_ÿnûl_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+98 
+       `GL_CHECK
+(
+obj
+);
+
+99 
+       `GL_CHECK
+(
+d©a
+);
+
+100 
+       `gl_dbg
+("");
+
+102 
+       `_gl_ed\99f\9bld_hide_imf
+(
+d©a
+);
+
+103 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+104 
+       `GL_IF_DEL_OBJ
+(
+ad
+->
+pÝup\9afo
+.
+pÝup
+);
+
+105 
+       `GL_FREEIF
+(
+ad
+->
+®bum\9afo
+.
+\8bmp_®bum_Çme
+);
+
+106 
+       }
+}
+
+109 \18\1e
+       $__gl_\92\8cy_\8cªs_f\9aished_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+111 
+       `evas_objeù_sm¬t_ÿÎback_d\96
+(
+obj
+, 
+GL_TRANS_FINISHED
+,
+
+112 
+__gl_\92\8cy_\8cªs_f\9aished_cb
+);
+
+113 
+       `GL_CHECK
+(
+d©a
+);
+
+114 
+       `gl_dbg
+("");
+
+116 
+Evas_Objeù
+ *
+\92\8cy
+ = 
+       `_gl_ed\99f\9bld_g\91_\92\8cy
+(
+d©a
+);
+
+117 
+       `GL_CHECK
+(
+\92\8cy
+);
+
+119 \12(*
+\8cªs\99_cb
+)(\1e*
+d©a
+);
+
+120 
+\8cªs\99_cb
+ = 
+       `evas_objeù_d©a_g\91
+(
+\92\8cy
+, "gl_entry_transit_cb_key");
+
+121 ià(
+\8cªs\99_cb
+)
+
+122 
+       `\8cªs\99_cb
+(
+d©a
+);
+
+124 
+       }
+}
+
+131 \18\12
+       $__gl_\92\8cy_push_v\9bw
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+·»Á
+,
+
+132 
+Evas_Objeù
+ *
+obj
+, \ 5*
+t\99Ë
+,
+
+133 
+gl_\92\8cy_s
+ *
+\92\8cy_d
+)
+
+135 
+       `gl_dbg
+("");
+
+136 
+       `GL_CHECK_VAL
+(
+·»Á
+, -1);
+
+137 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+138 
+       `GL_CHECK_VAL
+(
+\92\8cy_d
+, -1);
+
+139 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+140 
+Evas_Objeù
+ *
+Ëá_b\8a
+ = 
+NULL
+;
+
+141 
+Evas_Objeù
+ *
+right_b\8a
+ = 
+NULL
+;
+
+143 
+right_b\8a
+ = 
+       `_gl_but_ü\97\8b_image_but
+(
+·»Á
+, 
+NULL
+, 
+GL_STR_ID_SAVE
+,
+
+144 
+NULL
+, 
+__gl_\92\8cy_dÚe_cb
+, 
+\92\8cy_d
+, 
+EINA_FALSE
+);
+
+145 
+       `GL_CHECK_VAL
+(
+right_b\8a
+, -1);
+
+146 
+ad
+->
+\92\8cy\9afo
+.
+dÚe_b\8a
+ = 
+right_b\8a
+;
+
+147 
+\92\8cy_d
+->
+dÚe_b\8a
+ = 
+right_b\8a
+;
+
+150 
+Ëá_b\8a
+ = 
+       `_gl_but_ü\97\8b_image_but
+(
+·»Á
+, 
+NULL
+, 
+GL_STR_ID_CANCEL
+,
+
+151 
+NULL
+, 
+__gl_\92\8cy_ÿnûl_cb
+, 
+d©a
+, 
+EINA_FALSE
+);
+
+152 
+       `GL_CHECK_VAL
+(
+Ëá_b\8a
+, -1);
+
+154 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+·»Á
+, "bu\89Ú1", 
+Ëá_b\8a
+);
+
+155 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+·»Á
+, "bu\89Ú2", 
+right_b\8a
+);
+
+162 
+       }
+}
+
+164 \1e
+       $_gl_pÝup_ü\97\8b_fÞd\94_imf_chªged_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ev\92t_\9afo
+)
+
+166 
+       `GL_CHECK
+(
+d©a
+);
+
+167 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+168 cڡ \ 5*
+\92\8cy_d©a
+ = 
+NULL
+;
+
+169 \ 5*
+Çme
+ = 
+NULL
+;
+
+170 \ 5
+Ãw_¡r
+[
+GL_ALBUM_NAME_LEN_MAX
+] = {0,};
+
+172 
+\92\8cy_d©a
+ = 
+       `\96m_\92\8cy_\92\8cy_g\91
+(
+ad
+->
+\92\8cy\9afo
+.
+\92\8cy
+);
+
+173 
+Çme
+ = 
+       `\96m_\92\8cy_m¬kup_to_utf8
+(
+\92\8cy_d©a
+);
+
+174 
+       `GL_CHECK
+(
+Çme
+);
+
+176 ià(!
+       `_gl_fs_v®id©e_Çme
+(
+Çme
+)) {
+
+177 
+       `¡ºýy
+(
+Ãw_¡r
+, 
+Çme
+, 
+GL_ALBUM_NAME_LEN_MAX
+ - 1);
+
+178 \12
+pos\99
+ = 
+       `\96m_\92\8cy_cursÜ_pos_g\91
+(
+ad
+->
+\92\8cy\9afo
+.
+\92\8cy
+);
+
+179 
+       `\96m_\92\8cy_\92\8cy_£t
+(
+ad
+->
+\92\8cy\9afo
+.
+\92\8cy
+, 
+       `\96m_\92\8cy_utf8_to_m¬kup
+×d->
+®bum\9afo
+.
+\8bmp_®bum_Çme
+));
+
+180 
+       `\96m_\92\8cy_cursÜ_beg\9a_£t
+(
+ad
+->
+\92\8cy\9afo
+.
+\92\8cy
+);
+
+181 
+       `\96m_\92\8cy_cursÜ_pos_£t
+(
+ad
+->
+\92\8cy\9afo
+.
+\92\8cy
+, 
+pos\99
+ - 1);
+
+182 
+       `_gl_nÙify_ü\97\8b_nÙi\9afo
+(
+       `_gl_¡r
+(
+GL_STR_ID_INVALID_INPUT_PARAMETER
+));
+
+183 
+       `GL_FREEIF
+(
+Çme
+);
+
+186 
+       `GL_FREEIF
+(
+ad
+->
+®bum\9afo
+.
+\8bmp_®bum_Çme
+);
+
+187 
+ad
+->
+®bum\9afo
+.
+\8bmp_®bum_Çme
+ = 
+       `¡rdup
+(
+Çme
+);
+
+188 
+       `ä\93
+(
+Çme
+);
+
+189 
+       }
+}
+
+191 \18\1e
+       $_showF\9aishedCb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ev\92t_\9afo
+)
+
+193 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+194 
+       `_gl_ed\99f\9bld_show_imf
+(
+ad
+);
+
+195 
+       `evas_objeù_sm¬t_ÿÎback_d\96
+(
+ad
+->
+pÝup\9afo
+.
+pÝup
+, "show,finished",
+
+196 
+_showF\9aishedCb
+);
+
+197 
+       }
+}
+
+199 \12
+       $_gl_\92\8cy_ü\97\8b_v\9bw
+(\1e*
+d©a
+, \ 5*
+Çme
+, \ 5*
+t\99Ë
+)
+
+201 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+202 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+203 
+Evas_Objeù
+ *
+\92\8cy_ly
+ = 
+NULL
+;
+
+204 
+       `gl_dbg
+("");
+
+206 
+gl_\92\8cy_s
+ *
+\92\8cy_d
+ = 
+NULL
+;
+
+207 
+\92\8cy_d
+ = (
+gl_\92\8cy_s
+ *)
+       `ÿÎoc
+(1, \17(gl_entry_s));
+
+208 
+       `GL_CHECK_VAL
+(
+\92\8cy_d
+, -1);
+
+210 ià(
+ad
+->
+pÝup\9afo
+.
+pÝup
+) {
+
+211 
+       `GL_IF_DEL_OBJ
+(
+ad
+->
+pÝup\9afo
+.
+pÝup
+);
+
+212 
+ad
+->
+pÝup\9afo
+.
+pÝup
+ = 
+NULL
+;
+
+215 
+Evas_Objeù
+ *
+pÝup
+ = 
+NULL
+;
+
+216 
+pÝup
+ = 
+       `\96m_pÝup_add
+(
+ad
+->
+ma\9a\9afo
+.
+Ïyout
+);
+
+217 
+ad
+->
+pÝup\9afo
+.
+pÝup
+ =\85opup;
+
+218 
+       `evas_objeù_size_h\9at_weight_£t
+(
+pÝup
+, 
+EVAS_HINT_EXPAND
+,
+
+219 
+EVAS_HINT_EXPAND
+);
+
+221 
+       `_gl_ui_£t_\8cª¦©e_·¹_¡r
+(
+pÝup
+, "t\99Ë,\8bxt", 
+t\99Ë
+);
+
+223 
+\92\8cy_ly
+ = 
+       `\96m_Ïyout_add
+(
+pÝup
+);
+
+224 
+       `\96m_Ïyout_f\9ee_£t
+(
+\92\8cy_ly
+, 
+GL_EDJ_FILE
+, "popup_input_text");
+
+226 
+Evas_Objeù
+ *
+\92\8cy
+ = 
+       `\96m_\92\8cy_add
+(
+\92\8cy_ly
+);
+
+227 ià(
+\92\8cy
+ =ð
+NULL
+) {
+
+228 
+       `GL_IF_DEL_OBJ
+(
+\92\8cy_ly
+);
+
+229 
+       `GL_IF_DEL_OBJ
+(
+pÝup
+);
+
+230 ià(
+\92\8cy_d
+) {
+
+231 
+       `ä\93
+(
+\92\8cy_d
+);
+
+236 
+       `\96m_\92\8cy_s\9agË_l\9ae_£t
+(
+\92\8cy
+, 
+EINA_TRUE
+);
+
+237 
+       `\96m_\92\8cy_süÞÏbË_£t
+(
+\92\8cy
+, 
+EINA_TRUE
+);
+
+238 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+\92\8cy_ly
+, "\96m.sw®low.cÚ\8bÁ", 
+\92\8cy
+);
+
+239 
+       `\96m_\92\8cy_úp_mode_£t
+(
+\92\8cy
+, 
+ELM_CNP_MODE_PLAINTEXT
+);
+
+240 
+       `\96m_\92\8cy_\9aput_·Ãl_Ïyout_£t
+(
+\92\8cy
+, 
+ELM_INPUT_PANEL_LAYOUT_NORMAL
+);
+
+241 
+       `\96m_\92\8cy_\9aput_·Ãl_Ïyout_v¬\9ftiÚ_£t
+(
+\92\8cy
+, 
+ELM_INPUT_PANEL_LAYOUT_NORMAL_VARIATION_FILENAME
+);
+
+243 
+ad
+->
+\92\8cy\9afo
+.
+\92\8cy
+ =\83ntry;
+
+244 
+ad
+->
+\92\8cy\9afo
+.
+cڋxt
+ = 
+       `\96m_\92\8cy_imf_cÚ\8bxt_g\91
+×d->\92\8cy\9afo.
+\92\8cy
+);
+
+245 
+ad
+->
+\92\8cy\9afo
+.
+ed\99f\9bld
+ = 
+\92\8cy_ly
+;
+
+246 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+\92\8cy
+, "chªged", (
+Evas_Sm¬t_Cb
+)
+_gl_pÝup_ü\97\8b_fÞd\94_imf_chªged_cb
+, 
+ad
+);
+
+248 \ 5*
+Ãw_Çme
+ = 
+NULL
+;
+
+249 \ 5*
+fuÎ_·th
+ = 
+NULL
+;
+
+250 
+fuÎ_·th
+ = (\ 5*)
+       `_gl_fs_g\91_unique_Ãw_®bum_Çme
+(
+GL_DEFAULT_PATH_IMAGES
+, 
+GL_STR_ID_ALBUM_DEFAULT
+, &
+Ãw_Çme
+);
+
+251 
+       `__gl_ed\99f\9bld_£t_\92\8cy
+(
+ad
+, 
+\92\8cy_ly
+, 
+\92\8cy
+, 
+Ãw_Çme
+);
+
+252 
+       `\96m_\92\8cy_£Ëù_®l
+(
+\92\8cy
+);
+
+253 
+       `GL_FREEIF
+(
+Ãw_Çme
+);
+
+254 
+       `GL_FREEIF
+(
+fuÎ_·th
+);
+
+255 
+       `\96m_objeù_cÚ\8bÁ_£t
+(
+pÝup
+, 
+\92\8cy_ly
+);
+
+256 
+       `evas_objeù_show
+(
+pÝup
+);
+
+258 
+\92\8cy_d
+->
+ad
+ =\87d;
+
+260 
+       `__gl_\92\8cy_push_v\9bw
+(
+ad
+, 
+pÝup
+, 
+NULL
+, 
+t\99Ë
+,
+
+261 
+\92\8cy_d
+);
+
+264 
+       `\93xt_objeù_ev\92t_ÿÎback_add
+(
+pÝup
+, 
+EEXT_CALLBACK_BACK
+,
+
+265 
+__gl_\92\8cy_ÿnûl_cb
+, 
+\92\8cy_d
+->
+ad
+);
+
+266 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+pÝup
+, "show,finished",
+
+267 
+_showF\9aishedCb
+, 
+\92\8cy_d
+->
+ad
+);
+
+268 
+ad
+->
+\92\8cy\9afo
+.
+b_hide_s\9d
+ = 
+\8cue
+;
+
+271 
+       }
+}
+
+273 \12
+       $_gl_\92\8cy_»sume_v\9bw
+(\1e*
+d©a
+)
+
+275 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+276 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+277 
+Elm_Objeù_I\8bm
+ *
+tÝ_nf_\99
+ = 
+NULL
+;
+
+279 ià(!
+ad
+->
+\92\8cy\9afo
+.
+nf_\99
+)
+
+282 
+tÝ_nf_\99
+ = 
+       `\96m_Çviäame_tÝ_\99em_g\91
+(
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+);
+
+283 ià(
+ad
+->
+\92\8cy\9afo
+.
+nf_\99
+ !ð
+tÝ_nf_\99
+) {
+
+284 
+       `gl_dbg
+("Hide Entry cursor\87nd IMF");
+
+285 
+       `_gl_ed\99f\9bld_hide_imf
+(
+ad
+);
+
+286 } \vià(
+ad
+->
+\92\8cy\9afo
+.
+ed\99f\9bld
+) {
+
+288 ià(
+ad
+->
+pÝup\9afo
+.
+pÝup
+) {
+
+289 
+       `gl_dbg
+("Hide Entry cursor\87nd IMF");
+
+290 
+       `_gl_ed\99f\9bld_hide_imf
+(
+ad
+);
+
+292 
+       `gl_dbg
+("Show Entry cursor\87nd IMF");
+
+293 
+       `_gl_ed\99f\9bld_show_imf
+(
+ad
+);
+
+297 
+       }
+}
+
+       @src/features/gl-main.c
+
+18 \ 2
+       ~"gl-debug.h
+"
+
+19 \ 2
+       ~"gl-ma\9a.h
+"
+
+20 \ 2
+       ~"gl-cÚ\8cÞb¬.h
+"
+
+21 \ 2
+       ~"gl-ui-ut\9e.h
+"
+
+22 \ 2
+       ~"gl-ut\9e.h
+"
+
+23 \ 2
+       ~"gl-®bums.h
+"
+
+24 \ 2
+       ~"gl-ùxpÝup.h
+"
+
+25 \ 2
+       ~"gl-ed\99f\9bld.h
+"
+
+26 \ 2
+       ~"gl-nÙify.h
+"
+
+27 \ 2
+       ~"gl-th»ad-ut\9e.h
+"
+
+28 \ 2
+       ~"gl-pÝup.h
+"
+
+29 \ 2
+       ~"gl-¡r\9ags.h
+"
+
+30 \ 2
+       ~"gl-thumbs.h
+"
+
+31 \ 2
+       ~"gl-bu\89Ú.h
+"
+
+32 \ 2
+       ~"gl-t\9ee.h
+"
+
+33 \ 2
+       ~"gl-db-upd©e.h
+"
+
+34 \ 2
+       ~"gl-tim\96\9ae.h
+"
+
+36 \ 1
+       #GL_BG_COLOR_DEFAULT
+ 0
+
+       )
+
+37 \ 1
+       #GL_BG_COLOR_A
+ 255
+
+       )
+
+39 \18\1e
+       $__gl_ma\9a_w\9a_d\96_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+41 
+       `gl_dbgW
+("_gl_main_win_del_cb!!");
+
+42 
+       `GL_CHECK
+(
+d©a
+);
+
+44 
+       `\96m_ex\99
+();
+
+45 
+       }
+}
+
+56 \18\1e
+       $__gl_ma\9a_w\9a_rÙ_chªged_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+,
+
+57 \1e*
+ev\92t
+)
+
+59 
+       `GL_CHECK
+(
+d©a
+);
+
+60 
+       `GL_CHECK
+(
+obj
+);
+
+61 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+62 
+       `GL_CHECK
+(
+ad
+->
+ma\9a\9afo
+.
+w\9a
+);
+
+65 \12
+chªged_ªg
+ = 
+       `\96m_w\9a_rÙ©iÚ_g\91
+(
+obj
+);
+
+66 
+       `gl_dbg
+("New\87ngË: %d, old\87ngË: %d", 
+chªged_ªg
+,
+
+67 
+ad
+->
+ma\9a\9afo
+.
+r٩e_mode
+);
+
+68 ià(
+chªged_ªg
+ =ð
+ad
+->
+ma\9a\9afo
+.
+r٩e_mode
+)
+
+71 
+ad
+->
+ma\9a\9afo
+.
+r٩e_mode
+ = 
+chªged_ªg
+;
+
+73 \f
+ug_ev\92t
+evt
+ = 
+UG_EVENT_NONE
+;
+
+75 \1a
+chªged_ªg
+) {
+
+76 \ 4
+APP_DEVICE_ORIENTATION_0
+:
+
+77 
+evt
+ = 
+UG_EVENT_ROTATE_PORTRAIT
+;
+
+79 \ 4
+APP_DEVICE_ORIENTATION_90
+:
+
+80 
+evt
+ = 
+UG_EVENT_ROTATE_LANDSCAPE_UPSIDEDOWN
+;
+
+82 \ 4
+APP_DEVICE_ORIENTATION_180
+:
+
+83 
+evt
+ = 
+UG_EVENT_ROTATE_PORTRAIT_UPSIDEDOWN
+;
+
+85 \ 4
+APP_DEVICE_ORIENTATION_270
+:
+
+86 
+evt
+ = 
+UG_EVENT_ROTATE_LANDSCAPE
+;
+
+89 
+       `ug_£nd_ev\92t
+(
+evt
+);
+
+91 \12
+v\9bw_mode
+ = 
+       `gl_g\91_v\9bw_mode
+(
+ad
+);
+
+92 
+       `_gl_ui_rÙ©e_v\9bw
+(
+d©a
+, 
+v\9bw_mode
+);
+
+93 
+       `_gl_tim\96\9ae_rÙ©e_v\9bw
+(
+d©a
+);
+
+97 ià(
+ad
+->
+\92\8cy\9afo
+.
+b_hide_toÞb¬
+) {
+
+98 
+       `_gl_ui_£t_toÞb¬_¡©e
+(
+d©a
+, 
+ad
+->
+\92\8cy\9afo
+.
+b_hide_toÞb¬
+);
+
+100 
+       }
+}
+
+103 \18
+Evas_Objeù
+ *
+       $__gl_ma\9a\97\8b_bg
+(
+Evas_Objeù
+ *
+·»Á
+)
+
+105 
+GL_PROFILE_IN
+;
+
+106 
+       `GL_CHECK_NULL
+(
+·»Á
+);
+
+107 
+Evas_Objeù
+ *
+bg
+ = 
+NULL
+;
+
+109 
+bg
+ = 
+       `evas_objeù_»ùªgË_add
+(
+       `evas_objeù_evas_g\91
+(
+·»Á
+));
+
+110 
+       `evas_objeù_cÞÜ_£t
+(
+bg
+, 
+GL_BG_COLOR_DEFAULT
+, GL_BG_COLOR_DEFAULT,
+
+111 
+GL_BG_COLOR_DEFAULT
+, 
+GL_BG_COLOR_A
+);
+
+112 
+       `evas_objeù_size_h\9at_weight_£t
+(
+bg
+, 
+EVAS_HINT_EXPAND
+,
+
+113 
+EVAS_HINT_EXPAND
+);
+
+114 
+       `\96m_w\9a_»size_objeù_add
+(
+·»Á
+, 
+bg
+);
+
+115 
+       `evas_objeù_show
+(
+bg
+);
+
+117 
+GL_PROFILE_OUT
+;
+
+118 \15 
+bg
+;
+
+119 
+       }
+}
+
+122 \18
+Evas_Objeù
+ *
+       $__gl_ma\9a\97\8b_cÚfÜm
+(
+Evas_Objeù
+ *
+·»Á
+)
+
+124 
+GL_PROFILE_IN
+;
+
+125 
+       `GL_CHECK_NULL
+(
+·»Á
+);
+
+126 
+Evas_Objeù
+ *
+cÚfÜm
+ = 
+NULL
+;
+
+127 
+cÚfÜm
+ = 
+       `\96m_cÚfÜmªt_add
+(
+·»Á
+);
+
+128 
+       `evas_objeù_size_h\9at_weight_£t
+(
+cÚfÜm
+, 
+EVAS_HINT_EXPAND
+,
+
+129 
+EVAS_HINT_EXPAND
+);
+
+130 
+       `evas_objeù_size_h\9at_®ign_£t
+(
+cÚfÜm
+, 
+EVAS_HINT_FILL
+, EVAS_HINT_FILL);
+
+131 
+       `\96m_w\9a_»size_objeù_add
+(
+·»Á
+, 
+cÚfÜm
+);
+
+132 
+       `evas_objeù_show
+(
+cÚfÜm
+);
+
+133 
+GL_PROFILE_OUT
+;
+
+134 \15 
+cÚfÜm
+;
+
+135 
+       }
+}
+
+137 \18\12
+       $__gl_ma\9a\97\8b_ù¾_ly
+(
+gl_­pd©a
+ *
+ad
+, 
+Evas_Objeù
+ *
+·»Á
+)
+
+139 
+GL_PROFILE_IN
+;
+
+140 
+       `GL_CHECK_VAL
+(
+·»Á
+, -1);
+
+141 
+       `GL_CHECK_VAL
+(
+ad
+, -1);
+
+143 
+Evas_Objeù
+ *
+Ïyout
+ = 
+       `_gl_ù¾_add_Ïyout
+(
+·»Á
+);
+
+144 
+       `GL_CHECK_VAL
+(
+Ïyout
+, -1);
+
+145 
+ad
+->
+ù¾\9afo
+.
+ù¾b¬_v\9bw_ly
+ = 
+Ïyout
+;
+
+148 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+·»Á
+, "\96m.sw®low.cÚ\8bÁ", 
+Ïyout
+);
+
+149 
+GL_PROFILE_OUT
+;
+
+151 
+       }
+}
+
+153 \18
+Evas_Objeù
+ *
+       $__gl_ma\9a\97\8b_ly
+(
+Evas_Objeù
+ *
+·»Á
+)
+
+155 
+GL_PROFILE_IN
+;
+
+156 
+       `GL_CHECK_NULL
+(
+·»Á
+);
+
+157 
+Evas_Objeù
+ *
+Ïyout
+ = 
+NULL
+;
+
+159 
+Ïyout
+ = 
+       `\96m_Ïyout_add
+(
+·»Á
+);
+
+160 
+       `GL_CHECK_NULL
+(
+Ïyout
+);
+
+162 
+       `\96m_Ïyout_theme_£t
+(
+Ïyout
+, "layout", "application", "default");
+
+163 
+       `evas_objeù_size_h\9at_weight_£t
+(
+Ïyout
+, 
+EVAS_HINT_EXPAND
+,
+
+164 
+EVAS_HINT_EXPAND
+);
+
+165 
+       `evas_objeù_show
+(
+Ïyout
+);
+
+166 
+GL_PROFILE_OUT
+;
+
+167 \15 
+Ïyout
+;
+
+168 
+       }
+}
+
+170 \18
+Evas_Objeù
+ *
+       $__gl_ma\9a\97\8b_Çviäame
+(
+Evas_Objeù
+ *
+·»Á
+)
+
+172 
+GL_PROFILE_IN
+;
+
+173 
+       `GL_CHECK_NULL
+(
+·»Á
+);
+
+174 
+Evas_Objeù
+ *
+nf
+ = 
+NULL
+;
+
+175 
+nf
+ = 
+       `\96m_Çviäame_add
+(
+·»Á
+);
+
+177 
+       `\96m_Çviäame_´ev_b\8a_auto_pushed_£t
+(
+nf
+, 
+EINA_FALSE
+);
+
+179 
+       `\93xt_objeù_ev\92t_ÿÎback_add
+(
+nf
+, 
+EEXT_CALLBACK_BACK
+, 
+\93xt_Çviäame_back_cb
+,
+
+180 
+NULL
+);
+
+182 
+       `\93xt_objeù_ev\92t_ÿÎback_add
+(
+nf
+, 
+EEXT_CALLBACK_MORE
+, 
+\93xt_Çviäame_mÜe_cb
+,
+
+183 
+NULL
+);
+
+184 
+       `evas_objeù_show
+(
+nf
+);
+
+185 
+       `gl_dbg
+("naviframe\87dded");
+
+186 
+GL_PROFILE_OUT
+;
+
+187 \15 
+nf
+;
+
+188 
+       }
+}
+
+190 \18
+E\9aa_BoÞ
+       $__gl_ma\9a_»g_idËr_cb
+(\1e*
+d©a
+)
+
+192 
+       `gl_dbg
+("start");
+
+193 
+       `GL_CHECK_CANCEL
+(
+d©a
+);
+
+194 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+197 ià(!
+ad
+->
+ma\9a\9afo
+.
+b_»ged_idËr
+) {
+
+198 
+ad
+->
+ma\9a\9afo
+.
+b_»ged_idËr
+ = 
+\8cue
+;
+
+199 
+       `gl_dbg
+("next idler");
+
+200 \15 
+ECORE_CALLBACK_PASS_ON
+;
+
+204 
+       `_gl_d©a_\9a\99
+(
+ad
+);
+
+206 
+       `_gl_db_upd©e_»g_cb
+(
+d©a
+);
+
+207 #ifdeà
+_USE_SVI
+
+
+209 
+       `_gl_\9a\99_svi
+(
+d©a
+);
+
+212 
+       `_gl_dlÝ\92_imagev\9bw\94
+(
+d©a
+);
+
+214 
+       `GL_IF_DEL_TIMER
+(
+ad
+->
+ma\9a\9afo
+.
+»g_idËr
+);
+
+215 
+       `gl_dbg
+("done");
+
+216 \15 
+ECORE_CALLBACK_CANCEL
+;
+
+217 
+       }
+}
+
+222 \18
+E\9aa_BoÞ
+       $__gl_ma\9a_pÝ_Ý
+(\1e*
+d©a
+)
+
+224 
+       `GL_CHECK_FALSE
+(
+d©a
+);
+
+225 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+227 \1e*
+pÝ_cb
+ = 
+       `evas_objeù_d©a_g\91
+(
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+,
+
+228 
+GL_NAVIFRAME_POP_CB_KEY
+);
+
+229 ià(
+pÝ_cb
+) {
+
+230 
+       `E\9aa_BoÞ
+ (*
+_pÝ_cb
+è(\1e*
+d©a
+);
+
+231 
+_pÝ_cb
+ = 
+pÝ_cb
+;
+
+233 ià(
+       `_pÝ_cb
+(
+d©a
+)) {
+
+235 \15 
+EINA_FALSE
+;
+
+239 
+       `GL_CHECK_FALSE
+(
+ad
+->
+ma\9a\9afo
+.
+w\9a
+);
+
+240 
+       `gl_dbgW
+("Lower Gallery\81o background!");
+
+241 
+       `\96m_w\9a_low\94
+(
+ad
+->
+ma\9a\9afo
+.
+w\9a
+);
+
+242 \15 
+EINA_FALSE
+;
+
+243 
+       }
+}
+
+245 \18
+E\9aa_BoÞ
+       $__gl_ma\9a_pÝ_cb
+(\1e*
+d©a
+, 
+Elm_Objeù_I\8bm
+ *
+\99
+)
+
+247 
+       `GL_CHECK_FALSE
+(
+d©a
+);
+
+248 \15 
+       `__gl_ma\9a_pÝ_Ý
+(
+d©a
+);
+
+249 
+       }
+}
+
+255 \18\12
+       $__gl_ma\9a_push_v\9bw
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+·»Á
+, Evas_Objeù *
+obj
+)
+
+257 
+GL_PROFILE_IN
+;
+
+258 
+       `GL_CHECK_VAL
+(
+obj
+, -1);
+
+259 
+       `GL_CHECK_VAL
+(
+·»Á
+, -1);
+
+260 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+261 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+262 
+Elm_Objeù_I\8bm
+ *
+nf_\99
+ = 
+NULL
+;
+
+263 
+Evas_Objeù
+ *
+´ev_b\8a
+ = 
+NULL
+;
+
+274 
+       `GL_CHECK_VAL
+(
+ad
+->
+ma\9a\9afo
+.
+w\9a
+, -1);
+
+275 
+´ev_b\8a
+ = 
+       `_gl_but_ü\97\8b_but
+(
+·»Á
+, 
+NULL
+, NULL,
+
+276 
+GL_BUTTON_STYLE_NAVI_PRE
+, 
+NULL
+, NULL);
+
+277 
+       `GL_CHECK_VAL
+(
+´ev_b\8a
+, -1);
+
+279 
+nf_\99
+ = 
+       `\96m_Çviäame_\99em_push
+(
+·»Á
+, 
+NULL
+, 
+´ev_b\8a
+, NULL, 
+obj
+,
+
+280 
+NULL
+);
+
+281 
+Evas_Objeù
+ *
+un£t
+ = 
+       `\96m_objeù_\99em_·¹_cÚ\8bÁ_un£t
+(
+nf_\99
+, 
+GL_NAVIFRAME_PREV_BTN
+);
+
+282 
+       `evas_objeù_hide
+(
+un£t
+);
+
+283 
+ad
+->
+ù¾\9afo
+.
+nf_\99
+ =\82f_it;
+
+284 
+       `\96m_Çviäame_\99em_pÝ_cb_£t
+(
+nf_\99
+, 
+__gl_ma\9a_pÝ_cb
+, 
+d©a
+);
+
+286 
+GL_PROFILE_OUT
+;
+
+288 
+       }
+}
+
+291 \18\12
+       $__gl_ma\9a_add_v\9bw
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+·»Á
+)
+
+293 
+GL_PROFILE_IN
+;
+
+294 
+       `GL_CHECK_VAL
+(
+·»Á
+, -1);
+
+295 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+296 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+299 
+Evas_Objeù
+ *
+ge¡u»
+ = 
+       `_gl_t\9ee_add_ge¡u»
+(
+d©a
+, 
+·»Á
+);
+
+300 ià(
+ge¡u»
+ =ð
+NULL
+)
+
+301 
+       `gl_dbgE
+("Failed\81o create gesture!");
+
+303 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+·»Á
+, "ge¡u»", 
+ge¡u»
+);
+
+305 
+       `__gl_ma\9a_push_v\9bw
+(
+d©a
+, 
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+,
+
+306 
+ad
+->
+ù¾\9afo
+.
+ù¾b¬_ly
+);
+
+308 
+GL_PROFILE_OUT
+;
+
+310 
+       }
+}
+
+312 \18
+Evas_Objeù
+ *
+       $__gl_ma\9a\97\8b_w\9a
+(\1e*
+d©a
+, cڡ \ 5*
+Çme
+)
+
+314 
+GL_PROFILE_IN
+;
+
+315 
+       `GL_CHECK_NULL
+(
+Çme
+);
+
+316 
+       `GL_CHECK_NULL
+(
+d©a
+);
+
+317 
+Evas_Objeù
+ *
+w\9a
+ = 
+NULL
+;
+
+319 
+w\9a
+ = 
+       `\96m_w\9a_add
+(
+NULL
+, 
+Çme
+, 
+ELM_WIN_BASIC
+);
+
+320 
+       `GL_CHECK_NULL
+(
+w\9a
+);
+
+338 ià(
+       `\96m_w\9a_wm_rÙ©iÚ_suµÜ\8bd_g\91
+(
+w\9a
+)) {
+
+339 cڡ \12
+rÙs
+[3] = { 
+APP_DEVICE_ORIENTATION_0
+,
+
+340 
+APP_DEVICE_ORIENTATION_90
+,
+
+341 
+APP_DEVICE_ORIENTATION_270
+ };
+
+342 
+       `\96m_w\9a_wm_rÙ©iÚ_ava\9eabË_rÙ©iÚs_£t
+(
+w\9a
+, 
+rÙs
+, 3);
+
+345 
+       `\96m_w\9a_wm_rÙ©iÚ_´eã¼ed_rÙ©iÚ_£t
+(
+w\9a
+, -1);
+
+347 
+       `\96m_w\9a_autod\96_£t
+(
+w\9a
+, 
+EINA_TRUE
+);
+
+348 
+       `\96m_w\9a_t\99Ë_£t
+(
+w\9a
+, 
+Çme
+);
+
+349 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+w\9a
+, "delete,request",
+
+350 
+__gl_ma\9a_w\9a_d\96_cb
+, 
+d©a
+);
+
+351 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+w\9a
+, "wm,rotation,changed",
+
+352 
+__gl_ma\9a_w\9a_rÙ_chªged_cb
+, 
+d©a
+);
+
+353 
+       `evas_objeù_show
+(
+w\9a
+);
+
+354 
+GL_PROFILE_OUT
+;
+
+355 \15 
+w\9a
+;
+
+356 
+       }
+}
+
+359 \12
+       $_gl_ma\9a_add_»g_idËr
+(\1e*
+d©a
+)
+
+361 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+362 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+363 ià(!
+ad
+->
+ma\9a\9afo
+.
+b_»ged_idËr
+ && !ad->ma\9a\9afo.
+»g_idËr
+) {
+
+364 
+       `gl_dbgW
+("Register idler!");
+
+365 
+ad
+->
+ma\9a\9afo
+.
+»g_idËr
+ = 
+       `ecÜe_tim\94_add
+(0.6f, 
+__gl_ma\9a_»g_idËr_cb
+,
+
+366 
+d©a
+);
+
+369 
+       }
+}
+
+382 \12
+       $_gl_ma\9a\97\8b_v\9bw
+(
+gl_­pd©a
+ *
+ad
+)
+
+384 
+GL_PROFILE_IN
+;
+
+385 
+       `GL_CHECK_VAL
+(
+ad
+, -1);
+
+387 
+       `\96m_theme_ex\8bnsiÚ_add
+(
+NULL
+, 
+GL_EDJ_FILE
+);
+
+389 
+ad
+->
+ma\9a\9afo
+.
+r٩e_mode
+ = 
+APP_DEVICE_ORIENTATION_0
+;
+
+390 
+       `gl_dbg
+("In\99\9fÈrÙ©iÚ mode: %d", 
+ad
+->
+ma\9a\9afo
+.
+r٩e_mode
+);
+
+392 
+ad
+->
+ma\9a\9afo
+.
+w\9a
+ = 
+       `__gl_ma\9a\97\8b_w\9a
+×d, 
+PACKAGE
+);
+
+393 
+       `GL_CHECK_FALSE
+(
+ad
+->
+ma\9a\9afo
+.
+w\9a
+);
+
+395 
+ad
+->
+ma\9a\9afo
+.
+bg
+ = 
+       `__gl_ma\9a\97\8b_bg
+×d->ma\9a\9afo.
+w\9a
+);
+
+396 
+       `GL_CHECK_VAL
+(
+ad
+->
+ma\9a\9afo
+.
+bg
+, -1);
+
+398 cڡ \ 5*
+¡r
+ = "mobile";
+
+399 
+       `\96m_w\9a_´of\9ees_£t
+(
+ad
+->
+ma\9a\9afo
+.
+w\9a
+, &
+¡r
+, 1);
+
+406 
+       `\96m_w\9a_\9adiÿtÜ_mode_£t
+(
+ad
+->
+ma\9a\9afo
+.
+w\9a
+, 
+ELM_WIN_INDICATOR_SHOW
+);
+
+407 
+       `\96m_w\9a_\9adiÿtÜ_Ýac\99y_£t
+(
+ad
+->
+ma\9a\9afo
+.
+w\9a
+,
+
+408 
+ELM_WIN_INDICATOR_TRANSPARENT
+);
+
+410 
+Evas_Objeù
+ *
+cÚfÜm
+ = 
+       `__gl_ma\9a\97\8b_cÚfÜm
+(
+ad
+->
+ma\9a\9afo
+.
+w\9a
+);
+
+411 
+       `GL_CHECK_VAL
+(
+cÚfÜm
+, -1);
+
+413 
+       `\96m_w\9a_cÚfÜmªt_£t
+(
+ad
+->
+ma\9a\9afo
+.
+w\9a
+, 
+EINA_TRUE
+);
+
+415 
+       `\96m_objeù_sigÇl_em\99
+(
+cÚfÜm
+, "elm,state,indicator,overlap", "");
+
+416 
+       `evas_objeù_d©a_£t
+(
+cÚfÜm
+, "ov\94Ïp", (\1e*)
+EINA_TRUE
+);
+
+418 
+ad
+->
+ma\9a\9afo
+.
+Ïyout
+ = 
+       `__gl_ma\9a\97\8b_ly
+(
+cÚfÜm
+);
+
+419 
+       `GL_CHECK_VAL
+(
+ad
+->
+ma\9a\9afo
+.
+Ïyout
+, -1);
+
+421 
+       `\96m_objeù_cÚ\8bÁ_£t
+(
+cÚfÜm
+, 
+ad
+->
+ma\9a\9afo
+.
+Ïyout
+);
+
+423 
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+ = 
+       `__gl_ma\9a\97\8b_Çviäame
+×d->ma\9a\9afo.
+Ïyout
+);
+
+424 
+       `GL_CHECK_VAL
+(
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+, -1);
+
+426 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+ad
+->
+ma\9a\9afo
+.
+Ïyout
+, "elm.swallow.content",
+
+427 
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+);
+
+429 
+       `evas_objeù_d©a_£t
+(
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+, 
+GL_NAVIFRAME_OBJ_DATA_KEY
+,
+
+430 
+cÚfÜm
+);
+
+432 
+       `evas_objeù_d©a_£t
+(
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+, "gl_obj_key_gallery_paused", (\1e*)0);
+
+435 
+ad
+->
+ù¾\9afo
+.
+ù¾b¬_ly
+ = 
+       `_gl_ù¾_add_ma\9a_Ïyout
+×d->
+ma\9a\9afo
+.
+Çviäame
+);
+
+436 
+       `GL_CHECK_VAL
+(
+ad
+->
+ù¾\9afo
+.
+ù¾b¬_ly
+, -1);
+
+438 
+       `__gl_ma\9a\97\8b_ù¾_ly
+(
+ad
+,\87d->
+ù¾\9afo
+.
+ù¾b¬_ly
+);
+
+443 
+       `__gl_ma\9a_add_v\9bw
+(
+ad
+,\87d->
+ù¾\9afo
+.
+ù¾b¬_v\9bw_ly
+);
+
+448 
+       `_gl_ù¾_£t_\8fb_mode
+(
+ad
+, 
+GL_CTRL_TAB_INIT
+);
+
+449 
+       `gl_dbg
+("done");
+
+450 
+GL_PROFILE_OUT
+;
+
+452 
+       }
+}
+
+454 \12
+       $_gl_ma\9a\97r_v\9bw
+(
+gl_­pd©a
+ *
+ad
+)
+
+456 
+       `GL_CHECK_VAL
+(
+ad
+, -1);
+
+458 
+       `evas_objeù_sm¬t_ÿÎback_d\96
+(
+ad
+->
+ma\9a\9afo
+.
+w\9a
+, "wm,rotation,changed",
+
+459 
+__gl_ma\9a_w\9a_rÙ_chªged_cb
+);
+
+460 
+       `_gl_ùxpÝup_d\96
+(
+ad
+);
+
+461 
+       `\96m_theme_ex\8bnsiÚ_d\96
+(
+NULL
+, 
+GL_EDJ_FILE
+);
+
+463 
+       }
+}
+
+465 
+E\9aa_BoÞ
+       $_gl_ma\9a_upd©e_v\9bw
+(\1e*
+d©a
+)
+
+467 
+GL_PROFILE_IN
+;
+
+468 
+       `GL_CHECK_CANCEL
+(
+d©a
+);
+
+469 
+       `gl_dbg
+("start");
+
+471 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+473 
+       `_gl_d©a_\9a\99
+(
+ad
+);
+
+474 
+       `gl_dbg
+("DB initialization:done");
+
+476 
+       `_gl_d©a_g\91_þu¡\94_li¡
+(
+ad
+);
+
+477 
+       `GL_CHECK_FALSE
+(
+ad
+->
+®bum\9afo
+.
+\96
+);
+
+478 
+       `gl_dbg
+("_gl_data_get_cluster_list:done");
+
+479 
+       `_gl_ù¾_show_v\9bw
+(
+d©a
+, 
+GL_STR_ALBUMS
+);
+
+480 
+       `gl_dbg
+("done");
+
+481 
+GL_PROFILE_OUT
+;
+
+482 \15 
+ECORE_CALLBACK_CANCEL
+;
+
+483 
+       }
+}
+
+485 \12
+       $_gl_ma\9a_»£t_v\9bw
+(\1e*
+d©a
+)
+
+487 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+488 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+489 
+       `GL_CHECK_VAL
+(
+ad
+->
+ma\9a\9afo
+.
+w\9a
+, -1);
+
+490 \12
+v\9bw_mode
+ = 
+       `gl_g\91_v\9bw_mode
+(
+ad
+);
+
+491 
+       `gl_dbg
+("");
+
+493 ià(
+v\9bw_mode
+ =ð
+GL_VIEW_NONE
+) {
+
+495 
+       `_gl_d©a_\9a\99
+(
+ad
+);
+
+496 
+       `gl_dbg
+("Launch gallery\87t\81he first\81ime");
+
+497 
+       `_gl_d©a_g\91_þu¡\94_li¡
+(
+ad
+);
+
+498 
+       `GL_CHECK_VAL
+(
+ad
+->
+®bum\9afo
+.
+\96
+, -1);
+
+500 
+       `gl_£t_v\9bw_mode
+(
+ad
+, 
+GL_VIEW_ALBUMS
+);
+
+502 
+       `_gl_ù¾_show_v\9bw
+(
+d©a
+, 
+GL_STR_ALBUMS
+);
+
+504 
+       `_gl_ma\9a_add_»g_idËr
+(
+d©a
+);
+
+507 
+       `\96m_w\9a_aùiv©e
+(
+ad
+->
+ma\9a\9afo
+.
+w\9a
+);
+
+509 
+       }
+}
+
+       @src/features/gl-pinchzoom.c
+
+18 \ 2
+       ~"g®Ëry.h
+"
+
+19 \ 2
+       ~"gl-p\9achzoom.h
+"
+
+20 \ 2
+       ~"gl-ge¡u».h
+"
+
+21 \ 2
+       ~"gl-thumbs.h
+"
+
+22 \ 2
+       ~"gl-ut\9e.h
+"
+
+23 \ 2
+       ~"gl-debug.h
+"
+
+24 \ 2
+       ~"gl-thumbs-£l.h
+"
+
+26 \18
+E\9aa_BoÞ
+       $__gl_p\9ach_zoom_out_cb
+(
+Evas_Objeù
+ *
+ge¡u»
+, \1e*
+d©a
+)
+
+28 
+       `GL_CHECK_CANCEL
+(
+d©a
+);
+
+29 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+30 \12
+v\9bw_m
+ = 
+       `gl_g\91_v\9bw_mode
+(
+ad
+);
+
+31 
+       `gl_dbg
+("v\9bw_m: %d", 
+v\9bw_m
+);
+
+33 ià(
+ad
+->
+p\9ach\9afo
+.
+zoom_Ëv\96
+ > 
+GL_ZOOM_DEFAULT
+) {
+
+35 ià(
+v\9bw_m
+ !ð
+GL_VIEW_THUMBS
+ && v\9bw_m !ð
+GL_VIEW_THUMBS_EDIT
+ &&
+
+36 
+v\9bw_m
+ !ð
+GL_VIEW_THUMBS_SELECT
+)
+
+37 \10
+PINCH_ZOOM_OUT_OVER
+;
+
+39 ià(
+v\9bw_m
+ =ð
+GL_VIEW_THUMBS
+ && !
+       `_gl_thumbs_g\91_v\9bw
+(
+ad
+, 
+NULL
+))
+
+40 \10
+PINCH_ZOOM_OUT_OVER
+;
+
+42 #ifdeà
+_USE_SCROL_HORIZONRAL
+
+
+43 ià(
+ad
+->
+ma\9a\9afo
+.
+r٩e_mode
+ =ð
+APP_DEVICE_ORIENTATION_270
+ ||
+
+44 
+ad
+->
+ma\9a\9afo
+.
+r٩e_mode
+ =ð
+APP_DEVICE_ORIENTATION_90
+) {
+
+46 \10
+PINCH_ZOOM_OUT_OVER
+;
+
+49 
+ad
+->
+p\9ach\9afo
+.
+zoom_Ëv\96
+--;
+
+50 ià(
+       `_gl_thumbs_upd©e_size
+(
+d©a
+, 
+NULL
+) < 0)
+
+51 
+ad
+->
+p\9ach\9afo
+.
+zoom_Ëv\96
+ = 
+GL_ZOOM_DEFAULT
+;
+
+52 \10
+PINCH_ZOOM_OUT_OVER
+;
+
+55 
+PINCH_ZOOM_OUT_OVER
+:
+
+57 
+       `gl_dbgW
+("P\9ach zoom out: %d", 
+ad
+->
+p\9ach\9afo
+.
+zoom_Ëv\96
+);
+
+58 \15 
+ECORE_CALLBACK_CANCEL
+;
+
+59 
+       }
+}
+
+61 \18
+E\9aa_BoÞ
+       $__gl_p\9ach_zoom_\9a_cb
+(
+Evas_Objeù
+ *
+ge¡u»
+, \1e*
+d©a
+)
+
+63 
+       `GL_CHECK_CANCEL
+(
+d©a
+);
+
+64 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+65 \12
+v\9bw_m
+ = 
+       `gl_g\91_v\9bw_mode
+(
+ad
+);
+
+66 
+       `gl_dbg
+("v\9bw_m: %d", 
+v\9bw_m
+);
+
+68 ià((
+ad
+->
+p\9ach\9afo
+.
+zoom_Ëv\96
+ >ð
+GL_ZOOM_DEFAULT
+) &&
+
+69 (
+ad
+->
+p\9ach\9afo
+.
+zoom_Ëv\96
+ < (
+GL_ZOOM_MAX
+ - 1))) {
+
+71 ià(
+v\9bw_m
+ !ð
+GL_VIEW_THUMBS
+ && v\9bw_m !ð
+GL_VIEW_THUMBS_EDIT
+ &&
+
+72 
+v\9bw_m
+ !ð
+GL_VIEW_THUMBS_SELECT
+)
+
+73 \10
+PINCH_ZOOM_IN_OVER
+;
+
+75 ià(
+v\9bw_m
+ =ð
+GL_VIEW_THUMBS
+ && !
+       `_gl_thumbs_g\91_v\9bw
+(
+ad
+, 
+NULL
+))
+
+76 \10
+PINCH_ZOOM_IN_OVER
+;
+
+78 #ifdeà
+_USE_SCROL_HORIZONRAL
+
+
+79 ià(
+ad
+->
+ma\9a\9afo
+.
+r٩e_mode
+ =ð
+APP_DEVICE_ORIENTATION_270
+ ||
+
+80 
+ad
+->
+ma\9a\9afo
+.
+r٩e_mode
+ =ð
+APP_DEVICE_ORIENTATION_90
+) {
+
+82 \10
+PINCH_ZOOM_IN_OVER
+;
+
+85 
+ad
+->
+p\9ach\9afo
+.
+zoom_Ëv\96
+++;
+
+86 ià(
+       `_gl_thumbs_upd©e_size
+(
+d©a
+, 
+NULL
+) < 0)
+
+87 
+ad
+->
+p\9ach\9afo
+.
+zoom_Ëv\96
+ = 
+GL_ZOOM_IN_TWO
+;
+
+88 \10
+PINCH_ZOOM_IN_OVER
+;
+
+90 
+PINCH_ZOOM_IN_OVER
+:
+
+92 
+       `gl_dbgW
+("P\9ach zoom in: %d", 
+ad
+->
+p\9ach\9afo
+.
+zoom_Ëv\96
+);
+
+93 \15 
+ECORE_CALLBACK_CANCEL
+;
+
+94 
+       }
+}
+
+96 \12
+       $_gl_p\9ach_add_ev\92t
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+Ïyout
+)
+
+98 
+       `GL_CHECK_VAL
+(
+Ïyout
+, -1);
+
+99 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+100 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+102 
+       `gl_dbg
+("Zoom\86ev\96: %d", 
+ad
+->
+p\9ach\9afo
+.
+zoom_Ëv\96
+);
+
+104 ià(
+ad
+->
+p\9ach\9afo
+.
+zoom_Ëv\96
+ !ð
+GL_ZOOM_DEFAULT
+ &&
+
+105 
+ad
+->
+p\9ach\9afo
+.
+zoom_Ëv\96
+ !ð
+GL_ZOOM_IN_ONE
+ &&
+
+106 
+ad
+->
+p\9ach\9afo
+.
+zoom_Ëv\96
+ !ð
+GL_ZOOM_IN_TWO
+) {
+
+107 
+ad
+->
+p\9ach\9afo
+.
+zoom_Ëv\96
+ = 
+GL_ZOOM_IN_ONE
+;
+
+108 
+       `gl_dbg
+("Zoom\86evel\84eset: GL_ZOOM_IN_ONE");
+
+111 
+Evas_Objeù
+ *
+ge¡u»
+ = 
+       `_gl_ge¡u»_add
+(
+d©a
+, 
+Ïyout
+);
+
+112 
+       `GL_CHECK_VAL
+(
+ge¡u»
+, -1);
+
+113 
+       `_gl_ge¡u»_£t_zoom_\9a_cb
+(
+ge¡u»
+, 
+__gl_p\9ach_zoom_\9a_cb
+, 
+d©a
+);
+
+114 
+       `_gl_ge¡u»_£t_zoom_out_cb
+(
+ge¡u»
+, 
+__gl_p\9ach_zoom_out_cb
+, 
+d©a
+);
+
+115 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+Ïyout
+, "ge¡u»", 
+ge¡u»
+);
+
+116 \12
+mode
+ = 
+       `gl_g\91_v\9bw_mode
+(
+d©a
+);
+
+117 ià(
+mode
+ =ð
+GL_VIEW_THUMBS_SELECT
+)
+
+118 
+ad
+->
+p\9ach\9afo
+.
+ge¡u»_£l
+ = 
+ge¡u»
+;
+
+120 
+ad
+->
+p\9ach\9afo
+.
+ge¡u»
+ = gesture;
+
+122 
+       }
+}
+
+124 \12
+       $_gl_p\9ach_»£t_æag
+(\1e*
+d©a
+)
+
+126 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+127 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+129 
+       `gl_dbg
+("Zoom\86ev\96: %d", 
+ad
+->
+p\9ach\9afo
+.
+zoom_Ëv\96
+);
+
+131 ià(
+ad
+->
+p\9ach\9afo
+.
+zoom_Ëv\96
+ !ð
+GL_ZOOM_DEFAULT
+ &&
+
+132 
+ad
+->
+p\9ach\9afo
+.
+zoom_Ëv\96
+ !ð
+GL_ZOOM_IN_ONE
+ &&
+
+133 
+ad
+->
+p\9ach\9afo
+.
+zoom_Ëv\96
+ !ð
+GL_ZOOM_IN_TWO
+) {
+
+134 
+ad
+->
+p\9ach\9afo
+.
+zoom_Ëv\96
+ = 
+GL_ZOOM_IN_ONE
+;
+
+135 
+       `gl_dbg
+("Zoom\86evel\84eset: GL_ZOOM_IN_ONE");
+
+137 \12
+mode
+ = 
+       `gl_g\91_v\9bw_mode
+(
+d©a
+);
+
+138 
+Evas_Objeù
+ *
+ge¡u»
+ = 
+NULL
+;
+
+139 ià(
+mode
+ =ð
+GL_VIEW_THUMBS_SELECT
+)
+
+140 
+ge¡u»
+ = 
+ad
+->
+p\9ach\9afo
+.
+ge¡u»_£l
+;
+
+142 
+ge¡u»
+ = 
+ad
+->
+p\9ach\9afo
+.gesture;
+
+143 ià(
+ge¡u»
+)
+
+144 
+       `_gl_ge¡u»_»£t_æags
+(
+ge¡u»
+);
+
+146 
+       }
+}
+
+       @src/features/gl-thumbs-edit.c
+
+18 \ 2
+       ~"gl-thumbs-ed\99.h
+"
+
+19 \ 2
+       ~"gl-thumbs.h
+"
+
+20 \ 2
+       ~"gl-thumb.h
+"
+
+21 \ 2
+       ~"gl-p\9achzoom.h
+"
+
+22 \ 2
+       ~"gl-debug.h
+"
+
+23 \ 2
+       ~"gl-¡r\9ags.h
+"
+
+24 \ 2
+       ~"gl-ui-ut\9e.h
+"
+
+25 \ 2
+       ~"gl-ut\9e.h
+"
+
+26 \ 2
+       ~"gl-d©a.h
+"
+
+27 \ 2
+       ~"gl-icÚs.h
+"
+
+28 \ 2
+       ~"gl-cÚ\8cÞb¬.h
+"
+
+29 \ 2
+       ~"gl-ùxpÝup.h
+"
+
+30 \ 2
+       ~"gl-´og»ssb¬.h
+"
+
+31 \ 2
+       ~"gl-bu\89Ú.h
+"
+
+32 \ 2
+       ~"gl-nÙify.h
+"
+
+33 \ 2
+       ~"gl-pÝup.h
+"
+
+34 \ 2
+       ~"gl-Ïng.h
+"
+
+35 \ 2
+       ~"gl-ext-exec.h
+"
+
+36 \ 2
+       ~"gl-ext-ug-lßd.h
+"
+
+37 \ 2
+       ~"gl-fs.h
+"
+
+38 \ 2
+       ~"gl-®bums.h
+"
+
+40 \12
+       $_gl_thumbs_ed\99_g\91_·th
+(\1e*
+d©a
+, \ 5**
+f\9ees
+)
+
+42 
+       `GL_CHECK_VAL
+(
+f\9ees
+, 0);
+
+43 
+       `GL_CHECK_VAL
+(
+d©a
+, 0);
+
+44 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+45 
+       `GL_CHECK_VAL
+(
+ad
+->
+£l\9afo
+.
+\96
+, 0);
+
+46 \12
+i
+ = 0;
+
+47 
+gl_\99em
+ *
+cu¼\92t
+ = 
+NULL
+;
+
+48 
+E\9aa_Li¡
+ *
+l
+ = 
+NULL
+;
+
+50 
+       `EINA_LIST_FOREACH
+(
+ad
+->
+£l\9afo
+.
+\96
+, 
+l
+, 
+cu¼\92t
+) {
+
+51 ià(
+cu¼\92t
+ =ð
+NULL
+ || cu¼\92t->
+\99em
+ == NULL ||
+
+52 
+cu¼\92t
+->
+\99em
+->
+f\9ee_u¾
+ =ð
+NULL
+) {
+
+53 
+       `gl_dbgE
+("Invalid gitem!");
+
+57 
+f\9ees
+[
+i
+++] = 
+       `g_¡rdup
+(
+cu¼\92t
+->
+\99em
+->
+f\9ee_u¾
+);
+
+58 
+       `gl_sdbg
+("f\9ee_u¾: %s!", 
+f\9ees
+[
+i
+ - 1]);
+
+60 \15 
+i
+;
+
+61 
+       }
+}
+
+63 #ifdeà
+GL_EXTENDED_FEATURES
+
+
+64 \18\1e
+       $__gl_thumbs_ed\99_sh¬e_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+,
+
+65 \1e*
+ei
+)
+
+67 
+       `\96m_toÞb¬_\99em_£Ëùed_£t
+((
+Elm_Objeù_I\8bm
+ *)
+ei
+, 
+EINA_FALSE
+);
+
+68 
+       `GL_CHECK
+(
+d©a
+);
+
+69 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+70 
+       `gl_dbg
+("");
+
+72 ià(
+ad
+->
+ug\9afo
+.
+ug
+ ||\87d->ug\9afo.
+b_­p_ÿÎed
+) {
+
+73 
+       `gl_dbgW
+("UG or APP is\87lready\86oaded!");
+
+77 \12
+v\9bw_mode
+ = 
+       `gl_g\91_v\9bw_mode
+(
+ad
+);
+
+78 \12
+út
+ = 
+       `_gl_d©a_£Ëùed_li¡_couÁ
+(
+ad
+);
+
+80 ià(
+v\9bw_mode
+ =ð
+GL_VIEW_THUMBS_EDIT
+) {
+
+81 ià(
+út
+ == 0) {
+
+82 
+       `gl_dbg
+("No\81humbs selected,\84eturn!");
+
+83 
+       `gl_pÝup_ü\97\8b_pÝup
+(
+ad
+, 
+GL_POPUP_NOBUT
+,
+
+84 
+GL_STR_NO_FILES_SELECTED
+);
+
+88 
+       `gl_dbgE
+("Unknow mode!");
+
+91 
+       `_gl_ext_Ïunch_sh¬e
+(
+d©a
+, 
+út
+, 
+_gl_thumbs_ed\99_g\91_·th
+);
+
+93 
+       `_gl_thumbs_ed\99_pÝ_v\9bw
+(
+d©a
+);
+
+94 
+       }
+}
+
+97 \18\1e
+       $__gl_thumbs_ed\99_\9b_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+,
+
+98 \1e*
+ei
+)
+
+100 
+       `GL_CHECK
+(
+d©a
+);
+
+101 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+102 
+       `gl_dbg
+("");
+
+104 ià(
+ad
+->
+ug\9afo
+.
+ug
+ ||\87d->ug\9afo.
+b_­p_ÿÎed
+) {
+
+105 
+       `gl_dbgW
+("UG or APP is\87lready\86oaded!");
+
+108 
+       `_gl_ùxpÝup_d\96
+(
+d©a
+);
+
+110 ià(
+       `_gl_d©a_£Ëùed_li¡_couÁ
+(
+ad
+) == 0) {
+
+111 
+       `gl_dbgW
+("No\81humbs selected!");
+
+112 
+       `gl_pÝup_ü\97\8b_pÝup
+(
+ad
+, 
+GL_POPUP_NOBUT
+,
+
+113 
+GL_STR_NO_FILES_SELECTED
+);
+
+117 \12
+v\9bw_mode
+ = 
+       `gl_g\91_v\9bw_mode
+(
+ad
+);
+
+118 ià(
+v\9bw_mode
+ =ð
+GL_VIEW_THUMBS_EDIT
+) {
+
+119 
+       `_gl_ext_lßd_\9b
+(
+d©a
+, 
+gl_g\91_£Ëùed_f\9ees_·th_¡r
+);
+
+121 
+       `gl_dbgE
+("Unkonw mode!");
+
+124 
+       `_gl_thumbs_ed\99_pÝ_v\9bw
+(
+d©a
+);
+
+125 
+       }
+}
+
+128 \18\1e
+       $__gl_thumbs_ed\99_cÝy_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+,
+
+129 \1e*
+ei
+)
+
+131 
+       `GL_CHECK
+(
+d©a
+);
+
+132 
+       `_gl_ùxpÝup_d\96
+(
+d©a
+);
+
+133 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+134 \12
+v\9bw_mode
+ = 
+       `gl_g\91_v\9bw_mode
+(
+d©a
+);
+
+135 
+       `gl_dbg
+("");
+
+137 ià(
+ad
+->
+ug\9afo
+.
+ug
+ ||\87d->ug\9afo.
+b_­p_ÿÎed
+) {
+
+138 
+       `gl_dbgW
+("UG or APP is\87lready\86oaded!");
+
+142 ià(
+v\9bw_mode
+ =ð
+GL_VIEW_THUMBS_EDIT
+) {
+
+143 ià(
+       `_gl_d©a_£Ëùed_li¡_couÁ
+(
+d©a
+) == 0) {
+
+144 
+       `gl_dbgW
+("No\81humbs selected!");
+
+145 
+       `gl_pÝup_ü\97\8b_pÝup
+(
+d©a
+, 
+GL_POPUP_NOBUT
+,
+
+146 
+GL_STR_NO_FILES_SELECTED
+);
+
+150 
+ad
+->
+®bum\9afo
+.
+f\9ee_mc_mode
+ = 
+GL_MC_COPY
+;
+
+151 
+       `_gl_pÝup_ü\97\8b_cÝy
+(
+d©a
+, 
+gl_move_cÝy_to_®bum
+);
+
+153 
+       `gl_dbgE
+("Unknow mode!");
+
+155 
+       }
+}
+
+158 \18\1e
+       $__gl_thumbs_ed\99_move_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+160 
+       `\96m_toÞb¬_\99em_£Ëùed_£t
+((
+Elm_Objeù_I\8bm
+ *)
+ei
+, 
+EINA_FALSE
+);
+
+161 
+       `GL_CHECK
+(
+d©a
+);
+
+162 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+163 \12
+v\9bw_mode
+ = 
+       `gl_g\91_v\9bw_mode
+(
+d©a
+);
+
+164 
+       `gl_dbg
+("");
+
+166 ià(
+ad
+->
+ug\9afo
+.
+ug
+ ||\87d->ug\9afo.
+b_­p_ÿÎed
+) {
+
+167 
+       `gl_dbgW
+("UG or APP is\87lready\86oaded!");
+
+171 ià(
+v\9bw_mode
+ =ð
+GL_VIEW_THUMBS_EDIT
+) {
+
+172 ià(
+       `_gl_d©a_£Ëùed_li¡_couÁ
+(
+d©a
+) == 0) {
+
+173 
+       `gl_dbgW
+("No\81humbs selected!");
+
+174 
+       `gl_pÝup_ü\97\8b_pÝup
+(
+d©a
+, 
+GL_POPUP_NOBUT
+,
+
+175 
+GL_STR_NO_FILES_SELECTED
+);
+
+179 
+ad
+->
+®bum\9afo
+.
+f\9ee_mc_mode
+ = 
+GL_MC_MOVE
+;
+
+180 
+       `_gl_pÝup_ü\97\8b_move
+(
+d©a
+, 
+gl_move_cÝy_to_®bum
+);
+
+182 
+       `gl_dbgE
+("Unknow mode!");
+
+184 
+       }
+}
+
+186 #ifdeà
+_USE_ROTATE_BG
+
+
+187 \18\1e
+       $__gl_thumbs_ed\99_rÙ©e_Ëá_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+,
+
+188 \1e*
+ei
+)
+
+190 
+       `GL_CHECK
+(
+d©a
+);
+
+191 ià(
+       `_gl_d©a_£Ëùed_li¡_couÁ
+(
+d©a
+) == 0) {
+
+192 
+       `gl_dbgW
+("No\81humbs selected!");
+
+193 
+       `gl_pÝup_ü\97\8b_pÝup
+(
+d©a
+, 
+GL_POPUP_NOBUT
+,
+
+194 
+GL_STR_NO_FILES_SELECTED
+);
+
+197 
+       `_gl_ùxpÝup_d\96
+(
+d©a
+);
+
+198 
+       `_gl_r٩e_images
+(
+d©a
+, 
+\8cue
+);
+
+199 
+       }
+}
+
+201 \18\1e
+       $__gl_thumbs_ed\99_rÙ©e_right_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+,
+
+202 \1e*
+ei
+)
+
+204 
+       `GL_CHECK
+(
+d©a
+);
+
+205 ià(
+       `_gl_d©a_£Ëùed_li¡_couÁ
+(
+d©a
+) == 0) {
+
+206 
+       `gl_dbgW
+("No\81humbs selected!");
+
+207 
+       `gl_pÝup_ü\97\8b_pÝup
+(
+d©a
+, 
+GL_POPUP_NOBUT
+,
+
+208 
+GL_STR_NO_FILES_SELECTED
+);
+
+211 
+       `_gl_ùxpÝup_d\96
+(
+d©a
+);
+
+212 
+       `_gl_r٩e_images
+(
+d©a
+, 
+çl£
+);
+
+213 
+       }
+}
+
+216 \18\12
+       $__gl_thumbs_ed\99_ùxpÝup_­³nd
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+·»Á
+)
+
+218 
+       `gl_dbg
+("");
+
+219 
+       `GL_CHECK_VAL
+(
+·»Á
+, -1);
+
+220 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+221 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+222 \12
+sh¬e_m
+ = 
+       `gl_g\91_sh¬e_mode
+(
+ad
+);
+
+224 \1a
+ad
+->
+grid\9afo
+.
+grid_ty³
+) {
+
+225 \ 4
+GL_GRID_T_LOCAL
+:
+
+226 \ 4
+GL_GRID_T_ALLALBUMS
+:
+
+229 ià(
+sh¬e_m
+ >ð
+GL_SHARE_IMAGE_ONE
+ &&
+
+230 
+sh¬e_m
+ <ð
+GL_SHARE_IMAGE_MULTI_JPEG
+)
+
+231 
+       `_gl_ùxpÝup_­³nd
+(
+·»Á
+, 
+GL_STR_ID_EDIT_IMAGE
+,
+
+232 
+__gl_thumbs_ed\99_\9b_cb
+, 
+d©a
+);
+
+233 
+       `_gl_ùxpÝup_­³nd
+(
+·»Á
+, 
+GL_STR_ID_COPY
+,
+
+234 
+__gl_thumbs_ed\99_cÝy_cb
+, 
+d©a
+);
+
+235 #ifdeà
+_USE_ROTATE_BG
+
+
+237 ià(
+sh¬e_m
+ =ð
+GL_SHARE_IMAGE_ONE_JPEG
+ ||
+
+238 
+sh¬e_m
+ =ð
+GL_SHARE_IMAGE_MULTI_JPEG
+) {
+
+239 
+       `_gl_ùxpÝup_­³nd
+(
+·»Á
+, 
+GL_STR_ID_ROTATE_LEFT
+,
+
+240 
+__gl_thumbs_ed\99_rÙ©e_Ëá_cb
+,
+
+241 
+d©a
+);
+
+242 
+       `_gl_ùxpÝup_­³nd
+(
+·»Á
+, 
+GL_STR_ID_ROTATE_RIGHT
+,
+
+243 
+__gl_thumbs_ed\99_rÙ©e_right_cb
+,
+
+244 
+d©a
+);
+
+252 
+       }
+}
+
+254 \18\1e
+       $__gl_thumbs_ed\99_mÜe_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+,
+
+255 \1e*
+ei
+)
+
+258 
+       `GL_CHECK
+(
+d©a
+);
+
+259 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+260 
+Evas_Objeù
+ *
+mÜe
+ = 
+NULL
+;
+
+261 
+mÜe
+ = 
+       `_gl_ui_g\91_b\8a
+(
+NULL
+, 
+ad
+->
+grid\9afo
+.
+nf_\99
+, 
+GL_NAVIFRAME_MORE
+);
+
+262 ià(
+EINA_TRUE
+ =ð
+       `\96m_objeù_di§bËd_g\91
+(
+mÜe
+)) {
+
+263 
+       `gl_dbg
+("Menu is disabled");
+
+267 
+       `gl_dbg
+("Menu is clicked");
+
+268 
+       `_gl_ùxpÝup_ü\97\8b
+(
+d©a
+, 
+obj
+, 
+__gl_thumbs_ed\99_ùxpÝup_­³nd
+);
+
+269 
+       }
+}
+
+272 \18\1e
+       $__gl_thumbs_ed\99_d\96
+(\1e*
+d©a
+)
+
+274 
+       `GL_CHECK
+(
+d©a
+);
+
+275 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+276 
+       `gl_dbg
+("");
+
+278 ià(
+ad
+->
+ug\9afo
+.
+ug
+ ||\87d->ug\9afo.
+b_­p_ÿÎed
+) {
+
+279 
+       `gl_dbgW
+("UG or APP is\87lready\86oaded!");
+
+283 \12
+v\9bw_mode
+ = 
+       `gl_g\91_v\9bw_mode
+(
+ad
+);
+
+284 ià(
+v\9bw_mode
+ =ð
+GL_VIEW_THUMBS_EDIT
+) {
+
+285 \12
+út
+ = 
+       `_gl_d©a_£Ëùed_li¡_couÁ
+(
+ad
+);
+
+286 ià(
+út
+ == 0) {
+
+287 
+       `gl_dbgW
+("No\81humbs selected!");
+
+288 
+       `gl_pÝup_ü\97\8b_pÝup
+(
+ad
+, 
+GL_POPUP_NOBUT
+, 
+GL_STR_NO_FILES_SELECTED
+);
+
+292 
+       `_gl_pÝup_ü\97\8b_d\96
+(
+d©a
+, 
+GL_POPUP_DEL_FILE
+,
+
+293 
+_gl_d©a_£Ëùed_li¡_couÁ
+,
+
+294 
+gl_d\96_med\9fs
+, 
+d©a
+);
+
+296 
+       `gl_dbgW
+("Unknow mode!");
+
+298 
+       }
+}
+
+300 \18\1e
+       $__gl_thumbs_ed\99_cÝy_move
+(\1e*
+d©a
+)
+
+302 
+       `GL_CHECK
+(
+d©a
+);
+
+303 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+304 
+       `gl_dbg
+("");
+
+306 ià(
+ad
+->
+ug\9afo
+.
+ug
+ ||\87d->ug\9afo.
+b_­p_ÿÎed
+) {
+
+307 
+       `gl_dbgW
+("UG or APP is\87lready\86oaded!");
+
+311 \12
+v\9bw_mode
+ = 
+       `gl_g\91_v\9bw_mode
+(
+ad
+);
+
+312 ià(
+v\9bw_mode
+ =ð
+GL_VIEW_THUMBS_EDIT
+) {
+
+313 \12
+út
+ = 
+       `_gl_d©a_£Ëùed_li¡_couÁ
+(
+ad
+);
+
+314 ià(
+út
+ == 0) {
+
+315 
+       `gl_dbgW
+("No\81humbs selected!");
+
+316 
+       `gl_pÝup_ü\97\8b_pÝup
+(
+ad
+, 
+GL_POPUP_NOBUT
+, 
+GL_STR_NO_FILES_SELECTED
+);
+
+320 
+ad
+->
+grid\9afo
+.
+\99
+ = 
+NULL
+;
+
+321 
+       `_gl_pÝup_ü\97\8b_cÝy_move
+(
+d©a
+, 
+_gl_d©a_£Ëùed_li¡_couÁ
+, data);
+
+323 
+       `gl_dbgW
+("Unknow mode!");
+
+325 
+       }
+}
+
+327 \18\1e
+       $__gl_thumbs_ed\99_ÿnûl_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+329 
+       `\96m_toÞb¬_\99em_£Ëùed_£t
+((
+Elm_Objeù_I\8bm
+ *)
+ei
+, 
+EINA_FALSE
+);
+
+330 
+       `GL_CHECK
+(
+d©a
+);
+
+331 
+       `gl_dbg
+("");
+
+332 
+       `_gl_thumbs_ed\99_pÝ_v\9bw
+(
+d©a
+);
+
+333 
+       }
+}
+
+335 \18\1e
+       $__gl_thumbs_ed\99_dÚe_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+337 
+       `\96m_toÞb¬_\99em_£Ëùed_£t
+((
+Elm_Objeù_I\8bm
+ *)
+ei
+, 
+EINA_FALSE
+);
+
+338 
+       `GL_CHECK
+(
+d©a
+);
+
+339 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+341 ià(
+       `_gl_thumbs_g\91_ed\99_mode
+(
+d©a
+è=ð
+GL_THUMBS_EDIT_COPY
+ || _gl_thumbs_g\91_ed\99_mode(d©aè=ð
+GL_THUMBS_EDIT_MOVE
+) {
+
+342 
+       `__gl_thumbs_ed\99_cÝy_move
+(
+ad
+);
+
+344 
+       `__gl_thumbs_ed\99_d\96
+(
+ad
+);
+
+346 
+       }
+}
+
+349 \18\1e
+       $__gl_thumbs_ed\99_£ÏÎ_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+351 
+       `GL_CHECK
+(
+d©a
+);
+
+352 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+353 \12
+i
+ = 0;
+
+354 \12
+\99em_út
+ = 0;
+
+355 \12
+£l_®l_út
+ = 0;
+
+356 \12
+v\9bw_mode
+ = 
+       `gl_g\91_v\9bw_mode
+(
+ad
+);
+
+357 
+       `gl_dbg
+("v\9bw_mode: %d.", 
+v\9bw_mode
+);
+
+359 
+ad
+->
+£l\9afo
+.
+ck_¡©e
+ = !
+       `\96m_check_¡©e_g\91
+×d->£l\9afo.
+£Ëù®l_ck
+);
+
+360 ià(
+ad
+->
+£l\9afo
+.
+£Ëù®l_ck
+) {
+
+361 
+       `\96m_check_¡©e_£t
+(
+ad
+->
+£l\9afo
+.
+£Ëù®l_ck
+,\87d->£l\9afo.
+ck_¡©e
+);
+
+363 
+       `gl_dbg
+("Checkbox s\8f\8b: %d", 
+ad
+->
+£l\9afo
+.
+ck_¡©e
+);
+
+364 
+E\9aa_Li¡
+ *
+med\9fs_\96
+ = 
+NULL
+;
+
+365 
+       `_gl_thumbs_g\91_li¡
+(
+ad
+, &(
+med\9fs_\96
+));
+
+367 
+\99em_út
+ = 
+       `e\9aa_li¡_couÁ
+(
+med\9fs_\96
+);
+
+368 
+£l_®l_út
+ = 
+\99em_út
+;
+
+369 
+gl_\99em
+ *
+g\99em
+ = 
+NULL
+;
+
+370 \ f
+i
+ = 0; i < 
+\99em_út
+; i++) {
+
+371 
+g\99em
+ = 
+       `e\9aa_li¡_Áh
+(
+med\9fs_\96
+, 
+i
+);
+
+372 
+       `GL_CHECK
+(
+g\99em
+);
+
+373 
+       `GL_CHECK
+(
+g\99em
+->
+\99em
+);
+
+375 ià(
+g\99em
+->
+checked
+ =ð
+ad
+->
+£l\9afo
+.
+ck_¡©e
+)
+
+378 
+g\99em
+->
+checked
+ = 
+ad
+->
+£l\9afo
+.
+ck_¡©e
+;
+
+379 ià(
+ad
+->
+£l\9afo
+.
+ck_¡©e
+ =ð
+EINA_TRUE
+) {
+
+380 
+       `_gl_d©a_£Ëùed_li¡_­³nd
+(
+ad
+, 
+g\99em
+);
+
+381 
+g\99em
+->
+®bum
+->
+\96
+ = 
+       `e\9aa_li¡_­³nd
+(gitem->album->elist, gitem);
+
+383 
+       `_gl_d©a_£Ëùed_li¡_»move
+(
+ad
+, 
+g\99em
+);
+
+384 
+g\99em
+->
+®bum
+->
+\96
+ = 
+       `e\9aa_li¡_»move
+(gitem->album->elist, gitem);
+
+388 ià(
+v\9bw_mode
+ =ð
+GL_VIEW_THUMBS_EDIT
+)
+
+389 
+       `_gl_ui_upd©e_»®ized_grid_ck
+(
+ad
+->
+grid\9afo
+.
+v\9bw
+,
+
+390 
+GL_THUMB_CHECKBOX
+, 
+NULL
+,
+
+391 
+ad
+->
+£l\9afo
+.
+ck_¡©e
+);
+
+393 ià(
+ad
+->
+£l\9afo
+.
+ck_¡©e
+)
+
+394 
+\99em_út
+ = 
+£l_®l_út
+;
+
+396 
+£l_®l_út
+ = 0;
+
+398 \12
+tÙ®_£Ëùed_couÁ
+ = 
+       `e\9aa_li¡_couÁ
+(
+ad
+->
+£l\9afo
+.
+\96
+);
+
+399 
+       `_gl_nÙify_check_£ÏÎ
+(
+ad
+,\87d->
+grid\9afo
+.
+nf_\99
+, 
+\99em_út
+, 
+£l_®l_út
+);
+
+400 ià(
+g\99em
+->
+®bum
+->
+\99em
+) {
+
+401 \ 5
+buf
+[
+GL_ALBUM_NAME_LEN_MAX
+] = { 0, };
+
+402 ià(
+£l_®l_út
+ > 0) {
+
+403 
+       `\96m_objeù_\99em_sigÇl_em\99
+(
+g\99em
+->
+®bum
+->
+\99em
+,
+
+406 
+       `¢´\9atf
+(
+buf
+, \17(buf), "%d", 
+£l_®l_út
+);
+
+408 
+       `\96m_objeù_\99em_sigÇl_em\99
+(
+g\99em
+->
+®bum
+->
+\99em
+,
+
+412 
+       `\96m_g\92grid_\99em_f\9blds_upd©e
+(
+g\99em
+->
+®bum
+->
+\99em
+, "\96m.\8bxt.badge", 
+ELM_GENGRID_ITEM_FIELD_TEXT
+);
+
+415 
+       `_gl_thumbs_upd©e_Ïb\96_\8bxt
+(
+ad
+->
+grid\9afo
+.
+nf_\99
+, 
+tÙ®_£Ëùed_couÁ
+, 
+çl£
+);
+
+416 
+       }
+}
+
+418 #ifdeà
+_USE_APP_SLIDESHOW
+
+
+419 \18\1e
+       $__gl_thumbs_ed\99_£Ëùed_¦ideshow_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+,
+
+420 \1e*
+ei
+)
+
+422 
+       `\96m_toÞb¬_\99em_£Ëùed_£t
+((
+Elm_Objeù_I\8bm
+ *)
+ei
+, 
+EINA_FALSE
+);
+
+423 
+       `GL_CHECK
+(
+d©a
+);
+
+424 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+425 
+gl_\99em
+ *
+cur_\99em
+ = 
+NULL
+;
+
+426 
+med\9f_cÚ\8bÁ_ty³_e
+ty³
+ = 
+MEDIA_CONTENT_TYPE_OTHERS
+;
+
+428 
+       `_gl_d©a_g\91_f\9c¡_\99em
+(
+ty³
+, 
+ad
+->
+£l\9afo
+.
+\96
+, &
+cur_\99em
+);
+
+429 
+       `GL_CHECK_VAL
+(
+cur_\99em
+, -1);
+
+430 
+       `gl_ext_lßd_iv_ug
+(
+ad
+, 
+cur_\99em
+, 
+GL_UG_IV_SLIDESHOW_SELECTED
+);
+
+431 
+       }
+}
+
+434 #ifdeà
+GL_EXTENDED_FEATURES
+
+
+435 \12
+       $_gl_thumbs_ed\99_add_mÜe
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+·»Á
+,
+
+436 
+Elm_Objeù_I\8bm
+ *
+nf_\99
+)
+
+438 
+Evas_Objeù
+ *
+b\8a
+ = 
+NULL
+;
+
+440 
+b\8a
+ = 
+       `_gl_but_ü\97\8b_but
+(
+·»Á
+, 
+NULL
+, NULL, 
+GL_BUTTON_STYLE_NAVI_MORE
+,
+
+441 
+__gl_thumbs_ed\99_mÜe_cb
+, 
+d©a
+);
+
+442 
+       `GL_CHECK_VAL
+(
+b\8a
+, -1);
+
+444 
+       `\96m_objeù_\99em_·¹_cÚ\8bÁ_£t
+(
+nf_\99
+, 
+GL_NAVIFRAME_MORE
+, 
+b\8a
+);
+
+445 
+       `_gl_ui_di§bË_b\8a
+(
+b\8a
+);
+
+447 
+       }
+}
+
+451 \12
+       $_gl_thumbs_ed\99_add_b\8as
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+·»Á
+,
+
+452 
+Elm_Objeù_I\8bm
+ *
+nf_\99
+)
+
+454 
+       `GL_CHECK_VAL
+(
+nf_\99
+, -1);
+
+455 
+       `GL_CHECK_VAL
+(
+·»Á
+, -1);
+
+456 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+457 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+459 
+       `_gl_ui_þ\97r_b\8as
+(
+d©a
+);
+
+461 \12
+w
+ = -1, 
+h
+ = -1;
+
+462 
+       `evas_objeù_geom\91ry_g\91
+(
+ad
+->
+ma\9a\9afo
+.
+w\9a
+, 
+NULL
+, NULL, &
+w
+, &
+h
+);
+
+463 
+Edje_Mes§ge_IÁ
+ *
+msg
+ = (Edje_Mes§ge_IÁ *)
+       `m®loc
+(\17(Edje_Message_Int) + \17(\12));
+
+464 
+       `GL_CHECK_VAL
+(
+msg
+, -1);
+
+465 ià(
+ad
+->
+grid\9afo
+.
+¥l\99_v\9bw_mode
+ =ð
+DETAIL_VIEW
+) {
+
+466 
+msg
+->
+v®
+ = 
+w
+;
+
+468 
+msg
+->
+v®
+ = ((
+w
+ < 
+h
+) ? (w - (w / 3)) : (w - (h / 3)));
+
+470 
+       `edje_objeù_mes§ge_£nd
+(
+       `\96m_Ïyout_edje_g\91
+(
+ad
+->
+grid\9afo
+.
+Ïyout
+), 
+EDJE_MESSAGE_INT
+, 2, 
+msg
+);
+
+471 
+       `ä\93
+(
+msg
+);
+
+472 
+       `\96m_objeù_sigÇl_em\99
+(
+ad
+->
+grid\9afo
+.
+Ïyout
+, "elm,selectall,state,visible", "elm");
+
+473 
+       `_gl_ui_add_£ÏÎ_ck
+(
+ad
+->
+grid\9afo
+.
+Ïyout
+, "select.all.area.check", "select.all.area.check",
+
+474 
+__gl_thumbs_ed\99_£ÏÎ_cb
+, 
+d©a
+);
+
+476 #ifdeà
+_USE_APP_SLIDESHOW
+
+
+478 ià(
+       `_gl_thumbs_g\91_ed\99_mode
+(
+d©a
+è=ð
+GL_THUMBS_EDIT_SLIDESHOW
+) {
+
+479 
+       `gl_dbg
+("only display\81he done button for selected slideshow");
+
+480 
+tb_\99
+ = 
+       `_gl_ù¾_­³nd_\99em
+(
+toÞb¬
+, 
+NULL
+, 
+GL_STR_ID_START
+,
+
+481 
+__gl_thumbs_ed\99_£Ëùed_¦ideshow_cb
+,
+
+482 
+d©a
+);
+
+483 
+       `_gl_ù¾_di§bË_\99em
+(
+tb_\99
+, 
+\8cue
+);
+
+489 #ifdeà
+GL_EXTENDED_FEATURES
+
+
+491 ià(
+       `_gl_thumbs_g\91_ed\99_mode
+(
+d©a
+è=ð
+GL_THUMBS_EDIT_SHARE
+) {
+
+494 
+Evas_Objeù
+ *
+b\8a1
+ = 
+       `\96m_bu\89Ú_add
+(
+Ïyout
+);
+
+495 
+Evas_Objeù
+ *
+b\8a2
+ = 
+       `\96m_bu\89Ú_add
+(
+Ïyout
+);
+
+496 
+       `\96m_objeù_¡yË_£t
+(
+b\8a1
+, "transparent");
+
+497 
+       `\96m_objeù_¡yË_£t
+(
+b\8a2
+, "transparent");
+
+498 
+       `evas_objeù_size_h\9at_weight_£t
+(
+b\8a1
+, 
+EVAS_HINT_EXPAND
+, EVAS_HINT_EXPAND);
+
+499 
+       `evas_objeù_size_h\9at_weight_£t
+(
+b\8a2
+, 
+EVAS_HINT_EXPAND
+, EVAS_HINT_EXPAND);
+
+500 
+       `evas_objeù_size_h\9at_®ign_£t
+(
+b\8a1
+, 1, 1);
+
+501 
+       `evas_objeù_size_h\9at_®ign_£t
+(
+b\8a2
+, 1, 1);
+
+502 
+       `evas_objeù_show
+(
+b\8a1
+);
+
+503 
+       `evas_objeù_show
+(
+b\8a2
+);
+
+504 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+Ïyout
+, "\96m.sw®low.Ëá", 
+b\8a1
+);
+
+505 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+Ïyout
+, "\96m.sw®low.right", 
+b\8a2
+);
+
+506 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+b\8a1
+, "þicked", 
+__gl_thumbs_ed\99_ÿnûl_cb
+, 
+ad
+);
+
+507 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+b\8a2
+, "þicked", 
+__gl_thumbs_ed\99_sh¬e_cb
+, 
+ad
+);
+
+508 
+       `_gl_ui_£t_\8cª¦©e_·¹_¡r
+(
+Ïyout
+, "t\99Ë_Ëá_\8bxt", 
+GL_STR_ID_CANCEL
+);
+
+509 
+       `_gl_ui_£t_\8cª¦©e_·¹_¡r
+(
+Ïyout
+, "t\99Ë_right_\8bxt", 
+GL_STR_ID_SHARE
+);
+
+510 
+       `_gl_ù¾_­³nd_\99em
+(
+toÞb¬
+, 
+NULL
+, 
+GL_STR_ID_CANCEL
+,
+
+511 
+__gl_thumbs_ed\99_ÿnûl_cb
+, 
+d©a
+);
+
+513 
+tb_\99
+ = 
+       `_gl_ù¾_­³nd_\99em
+(
+toÞb¬
+, 
+NULL
+, 
+GL_STR_ID_SHARE
+,
+
+514 
+__gl_thumbs_ed\99_sh¬e_cb
+, 
+d©a
+);
+
+515 
+       `_gl_ù¾_di§bË_\99em
+(
+tb_\99
+, 
+\8cue
+);
+
+521 
+Evas_Objeù
+ *
+b\8a1
+ = 
+       `\96m_bu\89Ú_add
+(
+·»Á
+);
+
+522 
+Evas_Objeù
+ *
+b\8a2
+ = 
+       `\96m_bu\89Ú_add
+(
+·»Á
+);
+
+523 
+       `GL_CHECK_VAL
+(
+b\8a1
+, -1);
+
+524 
+       `GL_CHECK_VAL
+(
+b\8a2
+, -1);
+
+526 
+       `\96m_objeù_¡yË_£t
+(
+b\8a1
+, "naviframe/title_left");
+
+527 
+       `\96m_objeù_\99em_·¹_cÚ\8bÁ_£t
+(
+nf_\99
+, 
+GL_NAVIFRAME_TITLE_LEFT_BTN
+, 
+b\8a1
+);
+
+528 
+       `_gl_ui_£t_\8cª¦©e_¡r
+(
+b\8a1
+,
+GL_STR_ID_CANCEL_CAP
+);
+
+529 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+b\8a1
+, "þicked", 
+__gl_thumbs_ed\99_ÿnûl_cb
+, 
+ad
+);
+
+532 
+       `\96m_objeù_¡yË_£t
+(
+b\8a2
+, "naviframe/title_right");
+
+533 
+       `\96m_objeù_\99em_·¹_cÚ\8bÁ_£t
+(
+nf_\99
+, 
+GL_NAVIFRAME_TITLE_RIGHT_BTN
+, 
+b\8a2
+);
+
+534 
+       `_gl_ui_£t_\8cª¦©e_¡r
+(
+b\8a2
+,
+GL_STR_ID_DONE_CAP
+);
+
+535 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+b\8a2
+, "þicked", 
+__gl_thumbs_ed\99_dÚe_cb
+, 
+ad
+);
+
+536 
+       `\96m_objeù_di§bËd_£t
+(
+b\8a2
+, 
+EINA_TRUE
+);
+
+539 
+       }
+}
+
+541 \12
+       $_gl_thumbs_ed\99\97\8b_v\9bw
+(\1e*
+d©a
+)
+
+543 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+544 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+545 \12
+v\9bw_mode
+ = 
+       `gl_g\91_v\9bw_mode
+(
+d©a
+);
+
+546 
+       `gl_dbg
+("mode: %d", 
+v\9bw_mode
+);
+
+548 ià(
+v\9bw_mode
+ =ð
+GL_VIEW_THUMBS_EDIT
+ &&
+
+549 
+       `_gl_thumbs_g\91_ed\99_mode
+(
+d©a
+è< 
+GL_THUMBS_EDIT_FIRST
+) {
+
+556 
+       `gl_dbg
+("Already in\83dit mode,\84eturn.");
+
+560 
+ad
+->
+®bum\9afo
+.
+f\9ee_mc_mode
+ = 
+GL_MC_NONE
+;
+
+562 
+       `gl_£t_v\9bw_mode
+(
+ad
+, 
+GL_VIEW_THUMBS_EDIT
+);
+
+563 
+Evas_Objeù
+ *
+gv
+ = 
+NULL
+;
+
+564 
+boÞ
+b_v\9bw
+ = 
+çl£
+;
+
+565 
+b_v\9bw
+ = 
+       `_gl_thumbs_g\91_v\9bw
+(
+ad
+, &
+gv
+);
+
+566 
+       `GL_CHECK_FALSE
+(
+gv
+);
+
+567 
+       `_gl_thumbs_£t_size
+(
+ad
+, 
+gv
+);
+
+569 
+       `_gl_thumbs_ed\99_add_b\8as
+(
+d©a
+, 
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+,
+
+570 
+ad
+->
+grid\9afo
+.
+nf_\99
+);
+
+572 
+       `_gl_thumbs_upd©e_Ïb\96
+(
+ad
+->
+grid\9afo
+.
+nf_\99
+, 
+GL_STR_ID_SELECT_ITEM
+);
+
+574 ià(
+       `_gl_thumbs_g\91_ed\99_mode
+(
+d©a
+è< 
+GL_THUMBS_EDIT_FIRST
+)
+
+575 #ifdeà
+_USE_GRID_CHECK
+
+
+576 
+       `_gl_show_grid_checks
+(
+ad
+->
+grid\9afo
+.
+v\9bw
+, 
+GL_THUMB_CHECKBOX
+);
+
+578 
+       `_gl_thumbs_upd©e_»®ized_\99ems
+(
+d©a
+);
+
+580 
+       `_gl_thumb_upd©e_¥l\99_v\9bw
+(
+d©a
+);
+
+581 
+       `gl_dbg
+("Done");
+
+583 
+       }
+}
+
+586 \12
+       $_gl_thumbs_ed\99_upd©e_v\9bw
+(\1e*
+d©a
+)
+
+588 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+589 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+590 
+       `gl_sdbg
+("grid_ty³: %d", 
+ad
+->
+grid\9afo
+.
+grid_ty³
+);
+
+592 \1a
+ad
+->
+grid\9afo
+.
+grid_ty³
+) {
+
+593 \ 4
+GL_GRID_T_LOCAL
+:
+
+594 \ 4
+GL_GRID_T_ALLALBUMS
+:
+
+596 
+       `_gl_thumbs_upd©e_\99ems
+(
+ad
+);
+
+599 
+       `gl_dbgE
+("Wrong grid\81ype!");
+
+603 
+       }
+}
+
+605 \12
+       $_gl_thumbs_ed\99_pÝ_v\9bw
+(\1e*
+d©a
+)
+
+607 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+608 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+611 
+       `\96m_Çviäame_\99em_pÝ_to
+(
+ad
+->
+grid\9afo
+.
+nf_\99
+);
+
+613 
+       `_gl_d©a_£Ëùed_li¡_f\9a®ize
+(
+d©a
+);
+
+615 
+       `_gl_ui_þ\97r_b\8as
+(
+d©a
+);
+
+616 
+       `_gl_thumbs_£t_ed\99_mode
+(
+d©a
+, 
+GL_THUMBS_EDIT_NONE
+);
+
+618 
+       `gl_£t_v\9bw_mode
+(
+d©a
+, 
+GL_VIEW_THUMBS
+);
+
+619 ià(
+       `_gl_thumbs_g\91_ed\99_mode
+(
+d©a
+è< 
+GL_THUMBS_EDIT_FIRST
+) {
+
+621 
+       `_gl_thumbs_upd©e_Ïb\96
+(
+ad
+->
+grid\9afo
+.
+nf_\99
+,\87d->grid\9afo.
+t\99Ë
+);
+
+623 
+       `edje_objeù_sigÇl_em\99
+(
+       `_EDJ
+(
+ad
+->
+grid\9afo
+.
+Ïyout
+),
+
+624 
+GL_SIGNAL_GESTURE_DEFAULT
+, "elm");
+
+626 
+       `\96m_objeù_sigÇl_em\99
+(
+ad
+->
+grid\9afo
+.
+Ïyout
+, "elm,selectall,state,default", "elm");
+
+627 #ifdeà
+_USE_GRID_CHECK
+
+
+628 
+       `_gl_show_grid_checks
+(
+ad
+->
+grid\9afo
+.
+v\9bw
+, 
+GL_THUMB_CHECKBOX
+);
+
+630 
+       `_gl_thumbs_upd©e_»®ized_\99ems
+(
+d©a
+);
+
+632 
+       `_gl_thumbs_add_b\8as
+(
+d©a
+);
+
+633 
+ad
+->
+grid\9afo
+.
+upd©e_¥l\99_v\9bw
+ = 
+\8cue
+;
+
+634 
+       `_gl_thumb_upd©e_¥l\99_v\9bw
+(
+d©a
+);
+
+635 ià(
+       `_gl_thumbs_check_z\94o
+(
+d©a
+)) {
+
+636 
+       `gl_dbg
+("show\82ocontents");
+
+637 
+       `_gl_thumbs_show_nocÚ\8bÁs
+(
+ad
+);
+
+641 
+       }
+}
+
+643 \12
+       $_gl_thumbs_ed\99_upd©e_Ïng
+(\1e*
+d©a
+)
+
+645 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+646 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+647 
+       `GL_CHECK_VAL
+(
+ad
+->
+grid\9afo
+.
+nf_\99
+, -1);
+
+648 \12
+út
+ = 
+       `_gl_d©a_£Ëùed_li¡_couÁ
+(
+ad
+);
+
+650 if(
+út
+ == 0) {
+
+651 
+       `_gl_ui_chªge_Çvi_t\99Ë
+(
+ad
+->
+grid\9afo
+.
+nf_\99
+, 
+GL_STR_ID_SELECT_ITEM
+, 
+\8cue
+);
+
+653 
+       `_gl_thumbs_upd©e_Ïb\96_\8bxt
+(
+ad
+->
+grid\9afo
+.
+nf_\99
+, 
+út
+, 
+\8cue
+);
+
+655 
+       }
+}
+
+660 \12
+       $_gl_thumbs_ed\99_di§bË_b\8as
+(\1e*
+d©a
+, 
+boÞ
+b_di§bË
+)
+
+662 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+663 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+664 
+boÞ
+b_di§bË_mÜe
+ = 
+çl£
+;
+
+665 
+       `gl_dbg
+("b_di§bË: %d", 
+b_di§bË
+);
+
+666 
+Elm_Objeù_I\8bm
+ *
+nf_\99
+ = 
+       `\96m_Çviäame_tÝ_\99em_g\91
+(
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+);
+
+668 ià(!
+b_di§bË
+) {
+
+669 #ifdeà
+_USE_APP_SLIDESHOW
+
+
+670 ià(
+       `_gl_thumbs_g\91_ed\99_mode
+(
+d©a
+è=ð
+GL_THUMBS_EDIT_SLIDESHOW
+) {
+
+671 
+       `_gl_ù¾_di§bË_\99ems
+(
+nf_\99
+, 
+çl£
+);
+
+675 
+       `_gl_ù¾_di§bË_\99ems
+(
+nf_\99
+, 
+çl£
+);
+
+676 
+       `gl_dbg
+("b_di§bË_mÜe: %d", 
+b_di§bË_mÜe
+);
+
+677 
+       `_gl_ui_di§bË_m\92u
+(
+nf_\99
+, 
+b_di§bË_mÜe
+);
+
+679 
+       `_gl_ui_di§bË_m\92u
+(
+nf_\99
+, 
+\8cue
+);
+
+680 
+       `_gl_ù¾_di§bË_\99ems
+(
+nf_\99
+, 
+\8cue
+);
+
+683 
+       }
+}
+
+       @src/features/gl-thumbs-sel.c
+
+17 \ 2
+       ~"gl-debug.h
+"
+
+18 \ 2
+       ~"gl-thumbs-£l.h
+"
+
+19 \ 2
+       ~"gl-®bums-£l.h
+"
+
+20 \ 2
+       ~"gl-thumbs.h
+"
+
+21 \ 2
+       ~"gl-thumb.h
+"
+
+22 \ 2
+       ~"gl-®bums.h
+"
+
+23 \ 2
+       ~"gl-ui-ut\9e.h
+"
+
+24 \ 2
+       ~"gl-ut\9e.h
+"
+
+25 \ 2
+       ~"gl-d©a.h
+"
+
+26 \ 2
+       ~"gl-cÚ\8cÞb¬.h
+"
+
+27 \ 2
+       ~"gl-bu\89Ú.h
+"
+
+28 \ 2
+       ~"gl-p\9achzoom.h
+"
+
+29 \ 2
+       ~"gl-pÝup.h
+"
+
+30 \ 2
+       ~"gl-nÙify.h
+"
+
+31 \ 2
+       ~"gl-¡r\9ags.h
+"
+
+34 \18\1e
+       $__gl_thumbs_£l_\8cªs_f\9aished_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+,
+
+35 \1e*
+ev\92t_\9afo
+)
+
+37 
+       `GL_CHECK
+(
+d©a
+);
+
+38 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+39 \12
+v\9bw_mode
+ = 
+       `gl_g\91_v\9bw_mode
+(
+ad
+);
+
+40 
+       `gl_dbgW
+("v\9bw_mode: %d", 
+v\9bw_mode
+);
+
+41 
+       `evas_objeù_sm¬t_ÿÎback_d\96
+(
+obj
+, 
+GL_TRANS_FINISHED
+,
+
+42 
+__gl_thumbs_£l_\8cªs_f\9aished_cb
+);
+
+45 ià(
+v\9bw_mode
+ =ð
+GL_VIEW_THUMBS_SELECT
+)
+
+46 
+       `\96m_g\92grid_þ\97r
+(
+ad
+->
+®bum\9afo
+.
+£Ëù_v\9bw
+);
+
+48 
+       `gl_dbgE
+("Wrong view mode!");
+
+50 ià(
+ad
+->
+grid\9afo
+.
+is_­³nd
+) {
+
+51 
+       `_gl_thumbs_­³nd_\99ems
+(
+d©a
+);
+
+52 
+ad
+->
+grid\9afo
+.
+is_­³nd
+ = 
+çl£
+;
+
+54 
+       }
+}
+
+56 \18
+E\9aa_BoÞ
+       $__gl_thumbs_£l_pÝ_cb
+(\1e*
+d©a
+, 
+Elm_Objeù_I\8bm
+ *
+\99
+)
+
+58 
+       `GL_CHECK_FALSE
+(
+d©a
+);
+
+59 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+60 
+       `gl_dbg
+("");
+
+61 
+ad
+->
+grid\9afo
+.
+is_­³nd
+ = 
+çl£
+;
+
+71 
+       `_gl_thumbs_£l_pÝ_v\9bw
+(
+d©a
+, 
+çl£
+);
+
+74 
+       `_gl_d©a_þ\97r_£Ëùed_\9afo
+(
+d©a
+);
+
+76 \15 
+EINA_TRUE
+;
+
+77 
+       }
+}
+
+80 \18\1e
+       $__gl_thumbs_£l_pÝup_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+82 
+       `GL_CHECK
+(
+obj
+);
+
+83 
+       `GL_CHECK
+(
+d©a
+);
+
+84 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+85 cڡ \ 5*
+\8bxt
+ = 
+NULL
+;
+
+87 
+\8bxt
+ = 
+       `\96m_objeù_\8bxt_g\91
+(
+obj
+);
+
+88 
+       `GL_CHECK
+(
+\8bxt
+);
+
+89 
+       `gl_dbg
+("Bu\89Ú: %s", 
+\8bxt
+);
+
+91 ià(!
+       `g_¡rcmp0
+(
+\8bxt
+, 
+       `_gl_¡r
+(
+GL_STR_ID_CANCEL_ABB
+))) {
+
+92 
+       `GL_IF_DEL_OBJ
+(
+ad
+->
+pÝup\9afo
+.
+pÝup
+);
+
+94 } \vià(!
+       `g_¡rcmp0
+(
+\8bxt
+, 
+       `_gl_¡r
+(
+GL_STR_ID_MOVE
+))) {
+
+95 
+ad
+->
+®bum\9afo
+.
+f\9ee_mc_mode
+ = 
+GL_MC_MOVE
+;
+
+97 
+ad
+->
+®bum\9afo
+.
+f\9ee_mc_mode
+ = 
+GL_MC_COPY
+;
+
+100 
+       `gl_move_cÝy_to_®bum
+(
+d©a
+);
+
+101 
+       `GL_IF_DEL_OBJ
+(
+ad
+->
+pÝup\9afo
+.
+pÝup
+);
+
+102 
+       }
+}
+
+104 \18\1e
+       $__gl_thumbs_£l_dÚe_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+106 
+       `GL_CHECK
+(
+d©a
+);
+
+107 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+108 
+ad
+->
+£l\9afo
+.
+\96
+ = 
+       `e\9aa_li¡_m\94ge
+×d->£l\9afo.\96i¡,\87d->£l\9afo.
+çv_\96
+);
+
+109 
+ad
+->
+£l\9afo
+.
+çv_\96
+ = 
+NULL
+;
+
+110 \12
+út
+ = 
+       `_gl_d©a_£Ëùed_li¡_couÁ
+(
+ad
+);
+
+111 ià(
+út
+ == 0) {
+
+112 
+       `gl_dbgW
+("No\81humbs selected!");
+
+113 
+       `gl_pÝup_ü\97\8b_pÝup
+(
+ad
+, 
+GL_POPUP_NOBUT
+, 
+GL_STR_NO_FILES_SELECTED
+);
+
+117 
+       `_gl_pÝup_ü\97\8b
+(
+d©a
+, 
+GL_STR_ID_NEW_ALBUM
+,
+
+118 
+GL_STR_ID_NEW_ALBUM_CONFIRMATION
+, 
+GL_STR_ID_CANCEL_ABB
+,
+
+119 
+__gl_thumbs_£l_pÝup_cb
+, 
+d©a
+, 
+GL_STR_ID_MOVE
+,
+
+120 
+__gl_thumbs_£l_pÝup_cb
+, 
+d©a
+, 
+GL_STR_ID_COPY
+,
+
+121 
+__gl_thumbs_£l_pÝup_cb
+, 
+d©a
+);
+
+122 
+       }
+}
+
+124 \18\1e
+       $__gl_thumbs_£l_ÿnûl_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+126 
+       `\96m_toÞb¬_\99em_£Ëùed_£t
+((
+Elm_Objeù_I\8bm
+ *)
+ei
+, 
+EINA_FALSE
+);
+
+127 
+       `GL_CHECK
+(
+d©a
+);
+
+128 
+       `gl_dbg
+("");
+
+129 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+130 
+ad
+->
+£l\9afo
+.
+çv_\96
+ = 
+NULL
+;
+
+131 
+       `\96m_Çviäame_\99em_pÝ
+(
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+);
+
+132 
+       }
+}
+
+139 \18\12
+       $__gl_thumbs_£l_push_v\9bw
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+·»Á
+,
+
+140 
+Evas_Objeù
+ *
+obj
+, \ 5*
+t\99Ë
+)
+
+142 
+       `gl_dbg
+("GL_NAVI_THUMBS_SELECT");
+
+143 
+       `GL_CHECK_VAL
+(
+obj
+, -1);
+
+144 
+       `GL_CHECK_VAL
+(
+·»Á
+, -1);
+
+145 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+146 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+147 
+Elm_Objeù_I\8bm
+ *
+nf_\99
+ = 
+NULL
+;
+
+150 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+·»Á
+, 
+GL_TRANS_FINISHED
+,
+
+151 
+__gl_thumbs_£l_\8cªs_f\9aished_cb
+, 
+d©a
+);
+
+154 
+nf_\99
+ = 
+       `\96m_Çviäame_\99em_push
+(
+·»Á
+, 
+t\99Ë
+, 
+NULL
+, NULL, 
+obj
+,
+
+155 
+NULL
+);
+
+157 
+       `\96m_Çviäame_\99em_pÝ_cb_£t
+(
+nf_\99
+, 
+__gl_thumbs_£l_pÝ_cb
+, 
+d©a
+);
+
+158 
+       `_gl_ui_£t_\8cª¦©abË_\99em
+(
+nf_\99
+, 
+t\99Ë
+);
+
+159 
+ad
+->
+grid\9afo
+.
+nf_\99_£Ëù
+ = 
+nf_\99
+;
+
+161 
+Elm_Objeù_I\8bm
+ *
+tb_\99
+ = 
+NULL
+;
+
+162 
+Evas_Objeù
+ *
+toÞb¬
+ = 
+       `_gl_ù¾_add_toÞb¬
+(
+·»Á
+);
+
+164 
+       `_gl_ù¾_­³nd_\99em
+(
+toÞb¬
+, 
+NULL
+, 
+GL_STR_ID_CANCEL
+,
+
+165 
+__gl_thumbs_£l_ÿnûl_cb
+, 
+d©a
+);
+
+166 \ 5*
+¡r
+ = 
+GL_STR_ID_DONE
+;
+
+168 
+tb_\99
+ = 
+       `_gl_ù¾_­³nd_\99em
+(
+toÞb¬
+, 
+NULL
+, 
+¡r
+,
+
+169 
+__gl_thumbs_£l_dÚe_cb
+, 
+d©a
+);
+
+170 
+       `_gl_ù¾_di§bË_\99em
+(
+tb_\99
+, 
+\8cue
+);
+
+171 
+       `\96m_objeù_\99em_·¹_cÚ\8bÁ_£t
+(
+nf_\99
+, "toÞb¬", 
+toÞb¬
+);
+
+173 
+       }
+}
+
+177 \18\1e
+       $__gl_thumbs_£l_d\96\91e_Ïyout_cb
+(\1e*
+d©a
+, 
+Evas
+ *
+e
+,
+
+178 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+180 
+       `gl_dbg
+("Delete\86ayout ---");
+
+181 
+       `GL_CHECK
+(
+d©a
+);
+
+182 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+184 
+Elm_G\92grid_I\8bm_CÏss
+ *
+gic
+ = 
+NULL
+;
+
+185 
+gic
+ = 
+       `evas_objeù_d©a_g\91
+(
+ad
+->
+grid\9afo
+.
+£Ëù_v\9bw
+,
+
+187 
+       `GL_CHECK
+(
+gic
+);
+
+188 
+gic
+->
+func
+.
+d\96
+ = 
+NULL
+;
+
+190 
+       `_gl_thumbs_þ\97r_cbs
+(
+ad
+->
+grid\9afo
+.
+£Ëù_v\9bw
+);
+
+191 
+       `\96m_g\92grid_þ\97r
+(
+ad
+->
+grid\9afo
+.
+£Ëù_v\9bw
+);
+
+192 
+       `_gl_ui_d\96_süÞËr_pos
+(
+ad
+->
+grid\9afo
+.
+£Ëù_v\9bw
+);
+
+194 
+ad
+->
+grid\9afo
+.
+is_­³nd
+ = 
+çl£
+;
+
+195 
+ad
+->
+grid\9afo
+.
+£Ëù_v\9bw
+ = 
+NULL
+;
+
+196 
+ad
+->
+grid\9afo
+.
+£Ëù_Ïyout
+ = 
+NULL
+;
+
+197 
+ad
+->
+grid\9afo
+.
+nf_\99_£Ëù
+ = 
+NULL
+;
+
+199 
+       `_gl_d©a_þ\97r_£Ëùed_\9afo
+(
+d©a
+);
+
+201 
+       `_gl_thumbs_þ\97r_ªd_£t_li¡
+(
+d©a
+, 
+NULL
+);
+
+202 
+       `_gl_®bums_£t_cu¼\92t
+(
+d©a
+, 
+NULL
+);
+
+204 
+       `_gl_p\9ach_»£t_æag
+(
+d©a
+);
+
+205 
+       `gl_dbg
+("Delete\86ayout +++");
+
+206 
+       }
+}
+
+209 \18\1e
+       $__gl_thumbs_£l_£ÏÎ_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+211 
+       `GL_CHECK
+(
+d©a
+);
+
+212 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+213 \12
+i
+ = 0;
+
+214 \12
+\99em_út
+ = 0;
+
+215 \12
+£l_®l_út
+ = 0;
+
+216 
+gl_\99em
+ *
+g\99em
+ = 
+NULL
+;
+
+218 
+ad
+->
+£l\9afo
+.
+ck_¡©e
+ = !
+       `\96m_check_¡©e_g\91
+×d->£l\9afo.
+£Ëù®l_ck
+);
+
+219 ià(
+ad
+->
+£l\9afo
+.
+£Ëù®l_ck
+) {
+
+220 
+       `\96m_check_¡©e_£t
+(
+ad
+->
+£l\9afo
+.
+£Ëù®l_ck
+,\87d->£l\9afo.
+ck_¡©e
+);
+
+222 \12
+¡©e
+ = 
+ad
+->
+£l\9afo
+.
+ck_¡©e
+;
+
+223 
+       `gl_dbg
+("Checkbox s\8f\8b: %d.", 
+¡©e
+);
+
+224 
+E\9aa_Li¡
+ *
+med\9fs_\96
+ = 
+NULL
+;
+
+225 
+       `_gl_thumbs_g\91_li¡
+(
+ad
+, &(
+med\9fs_\96
+));
+
+227 
+\99em_út
+ = 
+       `e\9aa_li¡_couÁ
+(
+med\9fs_\96
+);
+
+229 \ f
+i
+ = 0; i < 
+\99em_út
+; i++) {
+
+230 
+g\99em
+ = 
+       `e\9aa_li¡_Áh
+(
+med\9fs_\96
+, 
+i
+);
+
+231 
+       `GL_CHECK
+(
+g\99em
+);
+
+232 
+       `GL_CHECK
+(
+g\99em
+->
+\99em
+);
+
+234 ià(
+g\99em
+->
+checked
+ =ð
+¡©e
+)
+
+237 
+g\99em
+->
+checked
+ = 
+¡©e
+;
+
+239 ià(
+¡©e
+ =ð
+EINA_TRUE
+) {
+
+240 ià(
+       `¡rcmp
+(
+g\99em
+->
+®bum
+->
+þu¡\94
+->
+uuid
+, 
+GL_ALBUM_FAVOURITE_ID
+)==0) {
+
+241 
+E\9aa_Li¡
+ *
+£l_li¡1
+ = 
+ad
+->
+£l\9afo
+.
+çv_\96
+;
+
+242 
+£l_li¡1
+ = 
+       `e\9aa_li¡_­³nd
+(£l_li¡1, 
+g\99em
+);
+
+243 
+ad
+->
+£l\9afo
+.
+çv_\96
+ = 
+£l_li¡1
+;
+
+245 
+       `_gl_d©a_£Ëùed_li¡_­³nd
+(
+ad
+, 
+g\99em
+);
+
+247 
+g\99em
+->
+®bum
+->
+\96
+ = 
+       `e\9aa_li¡_­³nd
+(gitem->album->elist, gitem);
+
+249 ià(
+       `¡rcmp
+(
+g\99em
+->
+®bum
+->
+þu¡\94
+->
+uuid
+, 
+GL_ALBUM_FAVOURITE_ID
+)==0) {
+
+250 
+       `_gl_d©a_£Ëùed_çv_li¡_»move
+(
+ad
+, 
+g\99em
+);
+
+252 
+       `_gl_d©a_£Ëùed_li¡_»move
+(
+ad
+, 
+g\99em
+);
+
+254 
+g\99em
+->
+®bum
+->
+\96
+ = 
+       `e\9aa_li¡_»move
+(gitem->album->elist, gitem);
+
+258 
+       `_gl_ui_upd©e_»®ized_grid_ck
+(
+ad
+->
+grid\9afo
+.
+£Ëù_v\9bw
+,
+
+259 
+GL_THUMB_CHECKBOX
+, 
+NULL
+,
+
+260 
+ad
+->
+£l\9afo
+.
+ck_¡©e
+);
+
+262 ià(
+¡©e
+ =ð
+EINA_FALSE
+)
+
+263 
+£l_®l_út
+ = 0;
+
+265 
+£l_®l_út
+ = 
+\99em_út
+;
+
+267 \12
+£l_út
+ = 
+       `e\9aa_li¡_couÁ
+(
+ad
+->
+£l\9afo
+.
+\96
+);
+
+268 \12
+çv_£l_út
+ = 
+       `e\9aa_li¡_couÁ
+(
+ad
+->
+£l\9afo
+.
+çv_\96
+);
+
+269 \12
+tÙ®_£l_couÁ
+ = 
+£l_út
+ + 
+çv_£l_út
+;
+
+270 
+       `_gl_nÙify_check_£ÏÎ
+(
+ad
+,\87d->
+®bum\9afo
+.
+nf_\99_£Ëù
+, 
+\99em_út
+,
+
+271 
+£l_®l_út
+);
+
+272 ià(
+g\99em
+->
+®bum
+->
+\99em
+) {
+
+273 
+       `\96m_g\92grid_\99em_upd©e
+(
+g\99em
+->
+®bum
+->
+\99em
+);
+
+276 
+       `_gl_ui_upd©e_Çvi_t\99Ë_\8bxt
+(
+ad
+->
+®bum\9afo
+.
+nf_\99_£Ëù
+, 
+tÙ®_£l_couÁ
+, 
+çl£
+);
+
+277 
+       }
+}
+
+279 \1e
+       $_gl_thumb_£l_add_®bum_d©a
+(
+gl_þu¡\94
+ *
+®bum
+, 
+E\9aa_Li¡
+ *
+med\9fs_\96
+)
+
+281 
+       `GL_CHECK
+(
+®bum
+);
+
+282 
+       `GL_CHECK
+(
+med\9fs_\96
+);
+
+283 \12
+út
+ = 
+       `e\9aa_li¡_couÁ
+(
+med\9fs_\96
+);
+
+284 \12
+i
+;
+
+285 
+gl_\99em
+ *
+g\99em
+ = 
+NULL
+;
+
+286 \ f
+i
+ = 0; i < 
+út
+; i++) {
+
+287 
+g\99em
+ = 
+       `e\9aa_li¡_Áh
+(
+med\9fs_\96
+, 
+i
+);
+
+288 ià(
+g\99em
+) {
+
+289 
+g\99em
+->
+®bum
+ =\87lbum;
+
+292 
+       }
+}
+
+297 \12
+       $_gl_thumbs_£l_ü\97\8b_v\9bw
+(\1e*
+d©a
+, 
+gl_þu¡\94
+ *
+®bum_\99em
+)
+
+299 
+       `GL_CHECK_VAL
+(
+®bum_\99em
+, -1);
+
+300 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+301 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+302 
+ad
+->
+grid\9afo
+.
+is_­³nd
+ = 
+çl£
+;
+
+303 
+E\9aa_Li¡
+ *
+£l_id_li¡
+ = 
+NULL
+;
+
+304 
+gl_\99em
+ *
+g\99em
+ = 
+NULL
+;
+
+305 
+       `EINA_LIST_FREE
+(
+®bum_\99em
+->
+\96
+, 
+g\99em
+) {
+
+309 
+E\9aa_Li¡
+ *
+med\9fs_\96
+ = 
+NULL
+;
+
+310 
+       `_gl_d©a_g\91_\99ems_®bum
+(
+ad
+, 
+®bum_\99em
+, 
+GL_FIRST_VIEW_START_POS
+,
+
+311 
+GL_GET_UNTIL_LAST_RECORD
+, &
+med\9fs_\96
+);
+
+312 
+ad
+->
+grid\9afo
+.
+is_­³nd
+ = 
+\8cue
+;
+
+313 
+       `_gl_thumbs_£t_li¡
+(
+ad
+, 
+med\9fs_\96
+);
+
+314 
+       `_gl_thumb_£l_add_®bum_d©a
+(
+®bum_\99em
+, 
+med\9fs_\96
+);
+
+315 \12
+couÁ
+ = 
+       `e\9aa_li¡_couÁ
+(
+med\9fs_\96
+);
+
+316 \12
+i
+;
+
+318 ià(
+       `¡rcmp
+(
+®bum_\99em
+->
+þu¡\94
+->
+uuid
+, 
+GL_ALBUM_FAVOURITE_ID
+)== 0)
+
+320 \ f
+i
+ = 0; i < 
+couÁ
+ ; i++) {
+
+321 
+g\99em
+ = 
+       `e\9aa_li¡_Áh
+(
+med\9fs_\96
+, 
+i
+);
+
+322 
+       `_gl_d©a_»¡Üe_£Ëùed
+(
+ad
+->
+£l\9afo
+.
+çv_\96
+, 
+g\99em
+);
+
+325 \ f
+i
+ = 0; i < 
+couÁ
+ ; i++) {
+
+326 
+g\99em
+ = 
+       `e\9aa_li¡_Áh
+(
+med\9fs_\96
+, 
+i
+);
+
+327 
+       `_gl_d©a_»¡Üe_£Ëùed
+(
+ad
+->
+£l\9afo
+.
+\96
+, 
+g\99em
+);
+
+330 ià(
+       `e\9aa_li¡_couÁ
+(
+med\9fs_\96
+) <= 0) {
+
+331 
+       `gl_dbgW
+("All medias\87re\81agged!");
+
+333 
+       `_gl_nÙify_ü\97\8b_nÙi\9afo
+(
+GL_STR_ADDED
+);
+
+337 
+Evas_Objeù
+ *
+Ïyout
+ = 
+NULL
+;
+
+339 
+Ïyout
+ = 
+       `_gl_ù¾_add_Ïyout
+(
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+);
+
+340 
+       `GL_CHECK_VAL
+(
+Ïyout
+, -1);
+
+341 
+       `evas_objeù_size_h\9at_weight_£t
+(
+Ïyout
+, 
+EVAS_HINT_EXPAND
+,
+
+342 
+EVAS_HINT_EXPAND
+);
+
+343 
+       `evas_objeù_size_h\9at_®ign_£t
+(
+Ïyout
+, 
+EVAS_HINT_FILL
+, EVAS_HINT_FILL);
+
+345 
+       `evas_objeù_ev\92t_ÿÎback_add
+(
+Ïyout
+, 
+EVAS_CALLBACK_DEL
+,
+
+346 
+__gl_thumbs_£l_d\96\91e_Ïyout_cb
+, 
+d©a
+);
+
+348 \12
+´e_v\9bw_m
+ = 
+       `gl_g\91_v\9bw_mode
+(
+d©a
+);
+
+350 
+       `gl_£t_v\9bw_mode
+(
+d©a
+, 
+GL_VIEW_THUMBS_SELECT
+);
+
+352 
+       `_gl_p\9ach_add_ev\92t
+(
+d©a
+, 
+Ïyout
+);
+
+354 
+Evas_Objeù
+ *
+v\9bw
+ = 
+NULL
+;
+
+355 
+v\9bw
+ = 
+       `_gl_thumbs_add_grid
+(
+d©a
+, 
+Ïyout
+, 
+GL_THUMB_ALL
+);
+
+356 ià(
+v\9bw
+ =ð
+NULL
+) {
+
+357 
+       `evas_objeù_d\96
+(
+Ïyout
+);
+
+358 
+       `gl_pÝup_ü\97\8b_pÝup
+(
+d©a
+, 
+GL_POPUP_NOBUT
+, 
+GL_STR_NO_ALBUMS
+);
+
+360 
+       `gl_£t_v\9bw_mode
+(
+d©a
+, 
+´e_v\9bw_m
+);
+
+365 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+ad
+->
+®bum\9afo
+.
+£Ëù_Ïyout
+, "\96m.sw®low.v\9bw", 
+v\9bw
+);
+
+367 
+       `\96m_objeù_\99em_·¹_\8bxt_£t
+(
+ad
+->
+®bum\9afo
+.
+nf_\99_£Ëù
+, "\96m.\8bxt.t\99Ë", 
+       `_gl_¡r
+(
+GL_STR_ID_SELECT_ITEM
+));
+
+369 
+Evas_Objeù
+ *
+b\8a1
+ = 
+       `\96m_bu\89Ú_add
+(
+Ïyout
+);
+
+370 
+Evas_Objeù
+ *
+b\8a2
+ = 
+       `\96m_bu\89Ú_add
+(
+Ïyout
+);
+
+372 
+       `GL_CHECK_VAL
+(
+b\8a1
+, -1);
+
+373 
+       `GL_CHECK_VAL
+(
+b\8a2
+, -1);
+
+376 
+       `\96m_objeù_¡yË_£t
+(
+b\8a1
+, "naviframe/title_left");
+
+377 
+       `\96m_objeù_\99em_·¹_cÚ\8bÁ_£t
+(
+ad
+->
+®bum\9afo
+.
+nf_\99_£Ëù
+, 
+GL_NAVIFRAME_TITLE_LEFT_BTN
+, 
+b\8a1
+);
+
+378 
+       `_gl_ui_£t_\8cª¦©e_¡r
+(
+b\8a1
+,
+GL_STR_ID_CANCEL_CAP
+);
+
+379 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+b\8a1
+, "þicked", 
+__gl_thumbs_£l_ÿnûl_cb
+, 
+ad
+);
+
+382 
+       `\96m_objeù_¡yË_£t
+(
+b\8a2
+, "naviframe/title_right");
+
+383 
+       `\96m_objeù_\99em_·¹_cÚ\8bÁ_£t
+(
+ad
+->
+®bum\9afo
+.
+nf_\99_£Ëù
+, 
+GL_NAVIFRAME_TITLE_RIGHT_BTN
+, 
+b\8a2
+);
+
+384 
+       `_gl_ui_£t_\8cª¦©e_¡r
+(
+b\8a2
+,
+GL_STR_ID_DONE_CAP
+);
+
+385 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+b\8a2
+, "þicked", 
+__gl_thumbs_£l_dÚe_cb
+, 
+ad
+);
+
+386 
+       `\96m_objeù_di§bËd_£t
+(
+b\8a2
+, 
+EINA_TRUE
+);
+
+388 
+ad
+->
+grid\9afo
+.
+£Ëù_v\9bw
+ = 
+v\9bw
+;
+
+389 
+ad
+->
+grid\9afo
+.
+£Ëù_Ïyout
+ = 
+Ïyout
+;
+
+392 \12
+w
+ = -1;
+
+393 \12
+h
+ = -1;
+
+394 
+       `evas_objeù_geom\91ry_g\91
+(
+ad
+->
+ma\9a\9afo
+.
+w\9a
+, 
+NULL
+, NULL, &
+w
+, &
+h
+);
+
+395 
+Edje_Mes§ge_IÁ
+ *
+msg
+ = (Edje_Mes§ge_IÁ *)
+       `m®loc
+(\17(Edje_Message_Int) + \17(\12));
+
+396 
+msg
+->
+v®
+ = ((
+w
+ < 
+h
+) ? (w - (w / 3)) : (w - (h / 3)));
+
+397 
+       `gl_dbgE
+("msg v®u\90: %d", 
+msg
+->
+v®
+);
+
+398 
+       `edje_objeù_mes§ge_£nd
+(
+       `\96m_Ïyout_edje_g\91
+(
+ad
+->
+®bum\9afo
+.
+£Ëù_Ïyout
+), 
+EDJE_MESSAGE_INT
+, 2, 
+msg
+);
+
+399 
+       `ä\93
+(
+msg
+);
+
+400 
+       `\96m_objeù_sigÇl_em\99
+(
+ad
+->
+®bum\9afo
+.
+£Ëù_Ïyout
+, "elm,selectall,state,visible,bg", "elm");
+
+401 
+       `\96m_objeù_sigÇl_em\99
+(
+ad
+->
+®bum\9afo
+.
+£Ëù_Ïyout
+, "elm,selectall,state,visible", "elm");
+
+402 
+       `_gl_ui_add_£ÏÎ_ck
+(
+ad
+->
+®bum\9afo
+.
+£Ëù_Ïyout
+, "select.all.area.check", "select.all.area.check",
+
+403 
+__gl_thumbs_£l_£ÏÎ_cb
+, 
+d©a
+);
+
+405 \12
+£l_út
+ = 
+       `_gl_d©a_£Ëùed_li¡_couÁ
+(
+ad
+);
+
+407 \12
+çv_£l_út
+ = 
+       `e\9aa_li¡_couÁ
+(
+ad
+->
+£l\9afo
+.
+çv_\96
+);
+
+408 \12
+tÙ®_£l_couÁ
+ = 
+£l_út
+ + 
+çv_£l_út
+;
+
+410 
+       `_gl_thumbs_upd©e_Ïb\96_\8bxt
+(
+ad
+->
+®bum\9afo
+.
+nf_\99_£Ëù
+, 
+tÙ®_£l_couÁ
+, 
+çl£
+);
+
+412 
+gl_\99em
+ *
+g\99em_tmp
+ = 
+       `e\9aa_li¡_Áh
+(
+ad
+->
+grid\9afo
+.
+med\9fs_\96
+, 0);
+
+413 
+       `GL_CHECK_VAL
+(
+g\99em_tmp
+->
+®bum
+->
+\96
+, -1);
+
+414 ià(
+g\99em_tmp
+->
+®bum
+->
+\96
+) {
+
+415 \12
+®bum_£Ëù_couÁ
+ = 
+       `e\9aa_li¡_couÁ
+(
+g\99em_tmp
+->
+®bum
+->
+\96
+);
+
+416 
+       `gl_dbgW
+("®bum s\96 cÚ\88: %d !", 
+®bum_£Ëù_couÁ
+);
+
+417 
+       `_gl_nÙify_check_£ÏÎ
+(
+ad
+,\87d->
+®bum\9afo
+.
+nf_\99_£Ëù
+,\87d->
+grid\9afo
+.
+couÁ
+, 
+®bum_£Ëù_couÁ
+);
+
+419 
+       `gl_dbg
+("Done");
+
+421 
+       }
+}
+
+424 \12
+       $_gl_thumbs_£l_upd©e_v\9bw
+(\1e*
+d©a
+)
+
+426 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+427 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+428 \12
+v\9bw_mode
+ = 
+       `gl_g\91_v\9bw_mode
+(
+ad
+);
+
+430 
+       `gl_dbg
+("v\9bw_mode: %d", 
+v\9bw_mode
+);
+
+431 ià(
+v\9bw_mode
+ !ð
+GL_VIEW_THUMBS_SELECT
+) {
+
+432 
+       `gl_dbg
+("Not in Select view.");
+
+436 #ifdeà
+_USE_ROTATE_BG
+
+
+437 
+boÞ
+is_£Ëù
+ = 
+\8cue
+;
+
+438 ià(
+       `_gl_ù¾_g\91_\8fb_mode
+(
+d©a
+è=ð
+GL_CTRL_TAB_ALBUMS
+ ||
+
+439 
+       `_gl_ù¾_g\91_\8fb_mode
+(
+d©a
+è=ð
+GL_CTRL_TAB_TIMELINE
+)
+
+440 
+is_£Ëù
+ = 
+çl£
+;
+
+441 
+       `_gl_»äesh_®bums_li¡
+(
+d©a
+, 
+çl£
+, 
+is_£Ëù
+);
+
+444 
+E\9aa_Li¡
+ *
+£l_id_li¡
+ = 
+NULL
+;
+
+445 
+E\9aa_Li¡
+ *
+med\9f_\96
+ = 
+NULL
+;
+
+446 
+       `_gl_d©a_§ve_£Ëùed_¡r_ids
+(
+d©a
+, &
+£l_id_li¡
+);
+
+447 
+       `_gl_d©a_þ\97r_£Ëùed_\9afo
+(
+ad
+);
+
+448 
+       `_gl_d©a_upd©e_\99em_li¡
+(
+ad
+, &
+£l_id_li¡
+, &
+med\9f_\96
+);
+
+449 
+       `_gl_thumbs_þ\97r_ªd_£t_li¡
+(
+ad
+, 
+med\9f_\96
+);
+
+452 ià(
+       `_gl_thumbs_check_z\94o
+(
+d©a
+)) {
+
+453 \12
+\94r
+ = -1;
+
+454 \12
+\99em_út
+ = 0;
+
+455 
+\94r
+ = 
+       `_gl_d©a_g\91_\99em_út
+(
+GL_ALBUM_ALL_ID
+, 
+GL_STORE_T_ALL
+, &
+\99em_út
+);
+
+457 ià(
+\94r
+ !ð0 || 
+\99em_út
+ == 0) {
+
+458 
+       `gl_dbg
+("None\86ocal\87lbums.");
+
+459 
+       `_gl_®bums_£l_pÝ_v\9bw
+(
+ad
+);
+
+461 
+       `gl_dbg
+("Empty\87lbum.");
+
+462 
+       `_gl_thumbs_£l_pÝ_v\9bw
+(
+ad
+, 
+\8cue
+);
+
+466 
+       `_gl_thumbs_show_ed\99_v\9bw
+(
+ad
+);
+
+469 \12
+£l_út
+ = 
+       `_gl_d©a_£Ëùed_li¡_couÁ
+(
+ad
+);
+
+471 \12
+couÁ
+ = 
+       `e\9aa_li¡_couÁ
+(
+ad
+->
+grid\9afo
+.
+med\9fs_\96
+);
+
+472 \12
+i
+;
+
+473 
+gl_\99em
+ *
+g\99em
+ = 
+NULL
+;
+
+474 
+g\99em
+ = 
+       `e\9aa_li¡_Áh
+(
+ad
+->
+grid\9afo
+.
+med\9fs_\96
+, 0);
+
+475 \12
+®bum_£l_couÁ
+ = 
+       `e\9aa_li¡_couÁ
+(
+g\99em
+->
+®bum
+->
+\96
+);
+
+478 
+       `_gl_nÙify_check_£ÏÎ
+(
+ad
+,\87d->
+®bum\9afo
+.
+nf_\99_£Ëù
+,
+
+479 
+ad
+->
+grid\9afo
+.
+couÁ
+, 
+®bum_£l_couÁ
+);
+
+482 
+       `_gl_ui_upd©e_Ïb\96_\8bxt
+(
+ad
+->
+®bum\9afo
+.
+nf_\99_£Ëù
+, 
+£l_út
+,
+
+483 
+çl£
+);
+
+487 
+       }
+}
+
+489 \12
+       $_gl_thumbs_£l_pÝ_v\9bw
+(\1e*
+d©a
+, 
+boÞ
+b_pÝ
+)
+
+491 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+492 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+494 ià(
+b_pÝ
+) {
+
+496 
+       `\96m_Çviäame_\99em_pÝ
+(
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+);
+
+499 
+       `gl_£t_v\9bw_mode
+(
+d©a
+, 
+GL_VIEW_ALBUMS_SELECT
+);
+
+501 
+       `_gl_®bums_£l_upd©e_v\9bw
+(
+d©a
+);
+
+503 
+       }
+}
+
+505 \12
+       $_gl_thumbs_£l_upd©e_Ïng
+(\1e*
+d©a
+)
+
+507 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+508 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+509 
+       `gl_dbg
+("");
+
+510 \12
+£l_út
+ = 
+       `_gl_d©a_£Ëùed_li¡_couÁ
+(
+ad
+);
+
+512 
+       `_gl_ui_upd©e_Çvi_t\99Ë_\8bxt
+(
+ad
+->
+®bum\9afo
+.
+nf_\99_£Ëù
+, 
+£l_út
+, 
+çl£
+);
+
+514 
+       }
+}
+
+516 \12
+       $_gl_thumbs_£l_di§bË_b\8as
+(\1e*
+d©a
+, 
+boÞ
+b_di§bËd
+)
+
+518 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+519 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+520 
+       `gl_dbg
+("di§bËd: %d", 
+b_di§bËd
+);
+
+521 
+       `_gl_ù¾_di§bË_\99ems
+(
+ad
+->
+grid\9afo
+.
+nf_\99_£Ëù
+, 
+b_di§bËd
+);
+
+523 
+       }
+}
+
+       @src/features/gl-thumbs.c
+
+18 \ 2
+       ~"gl-debug.h
+"
+
+19 \ 2
+       ~"gl-thumbs.h
+"
+
+20 \ 2
+       ~"gl-thumbs-ed\99.h
+"
+
+21 \ 2
+       ~"gl-ui-ut\9e.h
+"
+
+22 \ 2
+       ~"gl-ut\9e.h
+"
+
+23 \ 2
+       ~"gl-®bums.h
+"
+
+24 \ 2
+       ~"gl-®bums-£l.h
+"
+
+25 \ 2
+       ~"gl-d©a.h
+"
+
+26 \ 2
+       ~"gl-ext-ug-lßd.h
+"
+
+27 \ 2
+       ~"gl-ext-exec.h
+"
+
+28 \ 2
+       ~"gl-p\9achzoom.h
+"
+
+29 \ 2
+       ~"gl-´og»ssb¬.h
+"
+
+30 \ 2
+       ~"gl-cÚ\8cÞb¬.h
+"
+
+31 \ 2
+       ~"gl-nocÚ\8bÁs.h
+"
+
+32 \ 2
+       ~"gl-nÙify.h
+"
+
+33 \ 2
+       ~"gl-¡r\9ags.h
+"
+
+34 \ 2
+       ~"gl-icÚs.h
+"
+
+35 \ 2
+       ~"gl-thumb.h
+"
+
+36 \ 2
+       ~"gl-bu\89Ú.h
+"
+
+37 \ 2
+       ~"gl-ùxpÝup.h
+"
+
+38 \ 2
+       ~"gl-ed\99f\9bld.h
+"
+
+39 \ 2
+       ~"gl-fs.h
+"
+
+40 \ 2
+       ~"gl-ge¡u».h
+"
+
+41 \ 2
+       ~"gl-pÝup.h
+"
+
+42 \ 2
+       ~"gl-f\9ee-ut\9e.h
+"
+
+44 \18\1e
+__gl_thumbs_check_chªged
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+);
+
+45 \1e
+       $_gl_thumbs_Ý\92_f\9ee
+(\1e*
+d©a
+)
+
+47 
+       `gl_dbg
+("");
+
+48 
+       `GL_CHECK
+(
+d©a
+);
+
+49 
+gl_\99em
+ *
+g\99em
+ = (gl_\99em *)
+d©a
+;
+
+50 
+       `GL_CHECK
+(
+g\99em
+->
+\99em
+);
+
+51 
+       `GL_CHECK
+(
+g\99em
+->
+\99em
+->
+f\9ee_u¾
+);
+
+52 
+       `GL_CHECK
+(
+       `¡¾\92
+(
+g\99em
+->
+\99em
+->
+f\9ee_u¾
+));
+
+53 
+       `GL_CHECK
+(
+g\99em
+->
+ad
+);
+
+54 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+g\99em
+->ad;
+
+55 \12
+v\9bw_mode
+ = 
+       `gl_g\91_v\9bw_mode
+(
+ad
+);
+
+56 ià(
+v\9bw_mode
+ !ð
+GL_VIEW_THUMBS
+) {
+
+57 
+       `gl_dbgE
+("Error view mode!");
+
+61 
+       `gl_dbg
+("Loading UG-IMAGE-VIEWER");
+
+62 
+       `gl_ext_lßd_iv_ug
+(
+ad
+, 
+g\99em
+, 
+GL_UG_IV
+);
+
+63 
+       }
+}
+
+65 \1e
+       $_gl_thumbs_Ý\92_f\9ee_£Ëù_mode
+(\1e*
+d©a
+)
+
+67 
+       `gl_dbg
+("");
+
+68 
+       `GL_CHECK
+(
+d©a
+);
+
+69 
+gl_\99em
+ *
+g\99em
+ = (gl_\99em *)
+d©a
+;
+
+70 
+       `GL_CHECK
+(
+g\99em
+->
+\99em
+);
+
+71 
+       `GL_CHECK
+(
+g\99em
+->
+\99em
+->
+f\9ee_u¾
+);
+
+72 
+       `GL_CHECK
+(
+       `¡¾\92
+(
+g\99em
+->
+\99em
+->
+f\9ee_u¾
+));
+
+73 
+       `GL_CHECK
+(
+g\99em
+->
+ad
+);
+
+74 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+g\99em
+->ad;
+
+76 
+       `gl_dbg
+("Loading UG-IMAGE-VIEWER-SELECT-MODE");
+
+77 
+       `gl_ext_lßd_iv_ug_£Ëù_mode
+(
+ad
+, 
+g\99em
+->
+\99em
+, 
+GL_UG_IV
+);
+
+78 
+       }
+}
+
+80 \18\12
+       $__gl_thumbs_chªge_check
+(\1e*
+d©a
+, 
+Elm_Objeù_I\8bm
+ *
+\99
+)
+
+82 
+       `GL_CHECK_VAL
+(
+\99
+, -1);
+
+83 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+84 
+Evas_Objeù
+ *
+ck
+ = 
+NULL
+;
+
+85 
+       `gl_dbg
+("");
+
+87 
+ck
+ = 
+       `\96m_objeù_\99em_·¹_cÚ\8bÁ_g\91
+(
+\99
+, 
+GL_THUMB_CHECKBOX
+);
+
+88 
+       `GL_CHECK_VAL
+(
+ck
+, -1);
+
+90 
+       `\96m_check_¡©e_£t
+(
+ck
+, !
+       `\96m_check_¡©e_g\91
+(ck));
+
+91 
+       `__gl_thumbs_check_chªged
+(
+d©a
+, 
+ck
+, 
+NULL
+);
+
+93 
+       }
+}
+
+95 \18\1e
+       $__gl_thumbs_£l_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+97 
+       `GL_CHECK
+(
+d©a
+);
+
+98 
+gl_\99em
+ *
+g\99em
+ = (gl_\99em *)
+d©a
+;
+
+99 
+       `GL_CHECK
+(
+g\99em
+->
+ad
+);
+
+100 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+g\99em
+->ad;
+
+101 \12
+v\9bw_mode
+ = 
+       `gl_g\91_v\9bw_mode
+(
+ad
+);
+
+103 
+       `\96m_g\92grid_\99em_£Ëùed_£t
+((
+Elm_Objeù_I\8bm
+ *)
+ei
+, 
+EINA_FALSE
+);
+
+104 ià(
+v\9bw_mode
+ !ð
+GL_VIEW_THUMBS
+) {
+
+105 
+       `__gl_thumbs_chªge_check
+(
+d©a
+, (
+Elm_Objeù_I\8bm
+ *)
+ei
+);
+
+109 
+       `_gl_ui_§ve_süÞËr_pos
+(
+obj
+);
+
+110 
+       `_gl_thumbs_Ý\92_f\9ee
+(
+d©a
+);
+
+111 
+       }
+}
+
+113 \18\1e
+       $__gl_thumbs_»®ized
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+115 
+       `gl_dbg
+("realized");
+
+116 
+       `GL_CHECK
+(
+ei
+);
+
+117 
+       `GL_CHECK
+(
+d©a
+);
+
+118 
+Elm_Objeù_I\8bm
+ *
+\99
+ = (Elm_Objeù_I\8bm *)
+ei
+;
+
+119 
+Elm_G\92grid_I\8bm_CÏss
+ *
+gic
+ = 
+NULL
+;
+
+120 
+gic
+ = 
+       `evas_objeù_d©a_g\91
+(
+obj
+, "gl_thumbs_item_style_key");
+
+122 ià(
+       `\96m_g\92grid_\99em_\99em_þass_g\91
+(
+\99
+è!ð
+gic
+)
+
+125 
+gl_\99em
+ *
+g\99em
+ = 
+       `\96m_objeù_\99em_d©a_g\91
+(
+\99
+);
+
+126 
+       `GL_CHECK
+(
+g\99em
+);
+
+127 
+       `GL_CHECK
+(
+g\99em
+->
+\99em
+);
+
+129 ià(
+g\99em
+->
+¡Üe_ty³
+ =ð
+GL_STORE_T_MMC
+ ||
+
+130 
+g\99em
+->
+¡Üe_ty³
+ =ð
+GL_STORE_T_ALL
+ ||
+
+131 
+g\99em
+->
+¡Üe_ty³
+ =ð
+GL_STORE_T_PHONE
+) {
+
+133 ià(!
+       `GL_FILE_EXISTS
+(
+g\99em
+->
+\99em
+->
+thumb_u¾
+)) {
+
+134 
+       `_gl_thumbs_ü\97\8b_thumb
+(
+g\99em
+);
+
+137 
+       }
+}
+
+139 \18\1e
+       $__gl_thumbs_uėlized
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+141 
+       `gl_dbg
+("unrealized");
+
+142 
+       `GL_CHECK
+(
+ei
+);
+
+143 
+       `GL_CHECK
+(
+d©a
+);
+
+144 
+Elm_Objeù_I\8bm
+ *
+\99
+ = (Elm_Objeù_I\8bm *)
+ei
+;
+
+145 
+Elm_G\92grid_I\8bm_CÏss
+ *
+gic
+ = 
+NULL
+;
+
+146 
+gic
+ = 
+       `evas_objeù_d©a_g\91
+(
+obj
+, "gl_thumbs_item_style_key");
+
+148 ià(
+       `\96m_g\92grid_\99em_\99em_þass_g\91
+(
+\99
+è!ð
+gic
+)
+
+151 
+gl_\99em
+ *
+g\99em
+ = 
+       `\96m_objeù_\99em_d©a_g\91
+(
+\99
+);
+
+152 
+       `GL_CHECK
+(
+g\99em
+);
+
+153 
+       `GL_CHECK
+(
+g\99em
+->
+\99em
+);
+
+155 ià(
+g\99em
+->
+¡Üe_ty³
+ =ð
+GL_STORE_T_MMC
+ ||
+
+156 
+g\99em
+->
+¡Üe_ty³
+ =ð
+GL_STORE_T_ALL
+ ||
+
+157 
+g\99em
+->
+¡Üe_ty³
+ =ð
+GL_STORE_T_PHONE
+) {
+
+158 ià(
+g\99em
+->
+\99em
+->
+b_ü\97\8b_thumb
+) {
+
+159 
+       `_gl_d©a_ÿnûl_thumb
+(
+g\99em
+->
+\99em
+);
+
+162 
+       }
+}
+
+164 \18\1e
+       $__gl_thumbs_lÚg´es£d_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+166 
+       `gl_dbg
+("longpressed");
+
+167 
+       `GL_CHECK
+(
+ei
+);
+
+168 
+Elm_G\92grid_I\8bm_CÏss
+ *
+gic
+ = 
+NULL
+;
+
+169 
+gic
+ = 
+       `evas_objeù_d©a_g\91
+(
+obj
+, "gl_thumbs_item_style_key");
+
+171 ià(
+       `\96m_g\92grid_\99em_\99em_þass_g\91
+((
+Elm_Objeù_I\8bm
+ *)
+ei
+è!ð
+gic
+)
+
+173 ià(
+GL_VIEW_THUMBS
+ !ð
+       `gl_g\91_v\9bw_mode
+(
+d©a
+) ||
+
+174 
+GL_CTRL_TAB_ALBUMS
+ !ð
+       `_gl_ù¾_g\91_\8fb_mode
+(
+d©a
+))
+
+178 
+gl_\99em
+ *
+g\99em
+ = (gl_\99em *)
+       `\96m_objeù_\99em_d©a_g\91
+(
+ei
+);
+
+179 
+       `GL_CHECK
+(
+g\99em
+);
+
+180 
+       `GL_CHECK
+(
+g\99em
+->
+\99em
+);
+
+181 
+       `GL_CHECK
+(
+g\99em
+->
+\99em
+->
+di¥Ïy_Çme
+);
+
+183 
+       `_gl_d©a_£Ëùed_li¡_f\9a®ize
+(
+d©a
+);
+
+184 
+       `_gl_d©a_£Ëùed_li¡_­³nd
+(
+d©a
+, 
+g\99em
+);
+
+185 
+E\9aa_Li¡
+ *
+med\9fs_\96
+ = 
+NULL
+;
+
+186 
+       `_gl_thumbs_g\91_li¡
+(
+d©a
+, &
+med\9fs_\96
+);
+
+187 
+       `_gl_d©a_£Ëùed_add_bur¡shÙ
+(
+d©a
+, 
+g\99em
+, 
+med\9fs_\96
+);
+
+189 
+       }
+}
+
+191 \18\1e
+       $__gl_thumbs_Ïng_chªged
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+193 
+       `GL_CHECK
+(
+obj
+);
+
+194 
+E\9aa_Li¡
+ *
+\99s
+ = 
+NULL
+;
+
+195 
+E\9aa_Li¡
+ *
+l
+ = 
+NULL
+;
+
+196 
+Elm_Objeù_I\8bm
+ *
+\99
+ = 
+NULL
+;
+
+197 cڡ 
+Elm_G\92grid_I\8bm_CÏss
+ *
+\99c
+ = 
+NULL
+;
+
+199 
+\99s
+ = 
+       `\96m_g\92grid_»®ized_\99ems_g\91
+(
+obj
+);
+
+200 
+       `EINA_LIST_FOREACH
+(
+\99s
+, 
+l
+, 
+\99
+) {
+
+201 
+\99c
+ = 
+       `\96m_g\92grid_\99em_\99em_þass_g\91
+(
+\99
+);
+
+202 ià(
+\99c
+ && itc->
+func
+.
+\8bxt_g\91
+)
+
+203 
+       `\96m_g\92grid_\99em_upd©e
+(
+\99
+);
+
+204 
+\99
+ = 
+NULL
+;
+
+206 
+       }
+}
+
+208 \18\1e
+       $__gl_thumbs_check_chªged
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+210 
+       `GL_CHECK
+(
+obj
+);
+
+211 
+       `GL_CHECK
+(
+d©a
+);
+
+212 
+gl_\99em
+ *
+g\99em
+ = (gl_\99em *)
+d©a
+;
+
+213 
+       `GL_CHECK
+(
+g\99em
+->
+ad
+);
+
+214 
+       `GL_CHECK
+(
+g\99em
+->
+®bum
+);
+
+215 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+g\99em
+->ad;
+
+216 \12
+v\9bw_mode
+ = 
+       `gl_g\91_v\9bw_mode
+(
+ad
+);
+
+217 
+Elm_Objeù_I\8bm
+ *
+nf_\99
+ = 
+NULL
+;
+
+218 \12(*
+upd©e_\8bxt
+è(
+Elm_Objeù_I\8bm
+ *
+nf_\99
+, \12
+£l_út
+, 
+boÞ
+b_Ïng
+);
+
+219 
+       `gl_dbg
+("");
+
+221 ià(
+v\9bw_mode
+ =ð
+GL_VIEW_THUMBS_EDIT
+) {
+
+222 
+nf_\99
+ = 
+ad
+->
+grid\9afo
+.nf_it;
+
+223 
+upd©e_\8bxt
+ = 
+_gl_thumbs_upd©e_Ïb\96_\8bxt
+;
+
+224 } \vià(
+v\9bw_mode
+ =ð
+GL_VIEW_THUMBS_SELECT
+) {
+
+225 
+nf_\99
+ = 
+ad
+->
+®bum\9afo
+.
+nf_\99_£Ëù
+;
+
+226 
+upd©e_\8bxt
+ = 
+_gl_ui_upd©e_Çvi_t\99Ë_\8bxt
+;
+
+231 
+E\9aa_BoÞ
+checked
+ = 
+       `\96m_check_¡©e_g\91
+(
+obj
+);
+
+232 
+g\99em
+->
+checked
+ = checked;
+
+233 ià(
+checked
+) {
+
+234 ià(
+       `¡rcmp
+(
+g\99em
+->
+®bum
+->
+þu¡\94
+->
+uuid
+, 
+GL_ALBUM_FAVOURITE_ID
+)==0) {
+
+235 
+E\9aa_Li¡
+ *
+£l_li¡1
+ = 
+ad
+->
+£l\9afo
+.
+çv_\96
+;
+
+236 
+£l_li¡1
+ = 
+       `e\9aa_li¡_­³nd
+(£l_li¡1, 
+g\99em
+);
+
+237 
+ad
+->
+£l\9afo
+.
+çv_\96
+ = 
+£l_li¡1
+;
+
+239 
+       `_gl_d©a_£Ëùed_li¡_­³nd
+(
+ad
+, 
+g\99em
+);
+
+240 
+E\9aa_Li¡
+ *
+med\9fs_\96
+ = 
+NULL
+;
+
+241 
+       `_gl_thumbs_g\91_li¡
+(
+ad
+, &
+med\9fs_\96
+);
+
+242 
+       `_gl_d©a_£Ëùed_add_bur¡shÙ
+(
+ad
+, 
+g\99em
+, 
+med\9fs_\96
+);
+
+244 
+g\99em
+->
+®bum
+->
+\96
+ = 
+       `e\9aa_li¡_­³nd
+(gitem->album->elist, gitem);
+
+246 
+       `gl_sdbg
+("Remove:%s", 
+g\99em
+->
+\99em
+->
+f\9ee_u¾
+);
+
+247 ià(
+       `¡rcmp
+(
+g\99em
+->
+®bum
+->
+þu¡\94
+->
+uuid
+, 
+GL_ALBUM_FAVOURITE_ID
+)==0) {
+
+248 
+       `_gl_d©a_£Ëùed_çv_li¡_»move
+(
+ad
+, 
+g\99em
+);
+
+250 
+       `_gl_d©a_£Ëùed_li¡_»move
+(
+ad
+, 
+g\99em
+);
+
+252 
+g\99em
+->
+®bum
+->
+\96
+ = 
+       `e\9aa_li¡_»move
+(gitem->album->elist, gitem);
+
+255 \12
+£l_út
+ = 
+       `_gl_d©a_£Ëùed_li¡_couÁ
+(
+ad
+);
+
+256 \12
+çv_£l_út
+ = 
+       `e\9aa_li¡_couÁ
+(
+ad
+->
+£l\9afo
+.
+çv_\96
+);
+
+257 \12
+tÙ®_£l_couÁ
+ = 
+£l_út
+ + 
+çv_£l_út
+;
+
+258 \12
+®bum_£Ëù_couÁ
+ = 
+       `e\9aa_li¡_couÁ
+(
+g\99em
+->
+®bum
+->
+\96
+);
+
+259 ià(
+g\99em
+->
+®bum
+->
+\99em
+) {
+
+260 \ 5
+buf
+[
+GL_ALBUM_NAME_LEN_MAX
+] = { 0, };
+
+261 ià(
+®bum_£Ëù_couÁ
+ > 0) {
+
+262 
+       `\96m_objeù_\99em_sigÇl_em\99
+(
+g\99em
+->
+®bum
+->
+\99em
+,
+
+265 
+       `¢´\9atf
+(
+buf
+, \17(buf), "%d", 
+®bum_£Ëù_couÁ
+);
+
+267 
+       `\96m_objeù_\99em_sigÇl_em\99
+(
+g\99em
+->
+®bum
+->
+\99em
+,
+
+271 
+       `\96m_g\92grid_\99em_f\9blds_upd©e
+(
+g\99em
+->
+®bum
+->
+\99em
+, "\96m.\8bxt.badge", 
+ELM_GENGRID_ITEM_FIELD_TEXT
+);
+
+273 
+       `_gl_nÙify_check_£ÏÎ
+(
+ad
+, 
+nf_\99
+,\87d->
+grid\9afo
+.
+couÁ
+, 
+®bum_£Ëù_couÁ
+);
+
+276 
+       `gl_sdbg
+("£l_út:%d", 
+tÙ®_£l_couÁ
+);
+
+277 
+       `upd©e_\8bxt
+(
+nf_\99
+, 
+tÙ®_£l_couÁ
+, 
+çl£
+);
+
+279 
+       }
+}
+
+281 #ifdeà
+_USE_SHRINK_EFFECT
+
+
+284 \18\1e
+       $__gl_thumbs_shr\9ak_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+,
+
+285 cڡ \ 5*
+emissiÚ
+, cڡ \ 5*
+sourû
+)
+
+287 
+       `GL_CHECK
+(
+d©a
+);
+
+288 
+gl_\99em
+ *
+g\99em
+ = (gl_\99em *è
+d©a
+;
+
+289 
+       `GL_CHECK
+(
+g\99em
+->
+ad
+);
+
+290 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+g\99em
+->ad;
+
+291 
+       `gl_dbg
+("");
+
+293 
+       `_gl_thumbs_Ý\92_f\9ee
+(
+d©a
+);
+
+295 
+       `edje_objeù_sigÇl_ÿÎback_d\96
+(
+obj
+, "shrink,expand,done", "bg",
+
+296 
+__gl_thumbs_shr\9ak_cb
+);
+
+297 
+       }
+}
+
+301 \18\1e
+       $__gl_thumbs_ü\97\8b_thumb_cb
+(
+med\9f_cÚ\8bÁ_\94rÜ_e
+\94
+,
+
+302 cڡ \ 5*
+·th
+, \1e*
+u£r_d©a
+)
+
+304 
+       `GL_CHECK
+(
+u£r_d©a
+);
+
+305 
+gl_thumb_d©a_s
+ *
+thumb_d©a
+ = (gl_thumb_d©a_ *)
+u£r_d©a
+;
+
+306 
+       `GL_CHECK
+(
+thumb_d©a
+->
+ad
+);
+
+307 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+thumb_d©a
+->ad;
+
+308 
+gl_\99em
+ *
+g\99em
+ = 
+thumb_d©a
+->
+\99em
+;
+
+309 
+       `GL_FREE
+(
+thumb_d©a
+);
+
+310 
+g\99em
+->
+thumb_d©a
+ = 
+NULL
+;
+
+312 ià(
+       `gl_g\91_v\9bw_mode
+(
+ad
+è!ð
+GL_VIEW_THUMBS
+ &&
+
+313 
+       `gl_g\91_v\9bw_mode
+(
+ad
+è!ð
+GL_VIEW_THUMBS_EDIT
+ &&
+
+314 
+       `gl_g\91_v\9bw_mode
+(
+ad
+è!ð
+GL_VIEW_THUMBS_SELECT
+)
+
+317 ià(
+\94
+ =ð
+MEDIA_CONTENT_ERROR_NONE
+ && 
+       `GL_FILE_EXISTS
+(
+·th
+) &&
+
+318 
+       `g_¡rcmp0
+(
+·th
+, 
+GL_ICON_DB_DEFAULT_THUMB
+)) {
+
+319 
+       `GL_CHECK
+(
+g\99em
+);
+
+320 
+       `GL_CHECK
+(
+g\99em
+->
+\99em
+);
+
+321 
+       `gl_dbg
+("Upd©\90\99em w\99h\82ew\81humb\85©h[%s]", 
+·th
+);
+
+323 
+       `GL_FREEIF
+(
+g\99em
+->
+\99em
+->
+thumb_u¾
+);
+
+324 
+g\99em
+->
+\99em
+->
+thumb_u¾
+ = 
+       `¡rdup
+(
+·th
+);
+
+325 
+       `\96m_g\92grid_\99em_upd©e
+(
+g\99em
+->
+\96m_\99em
+);
+
+327 
+       `gl_dbgE
+("[%d]Inv®id\85©h[%s]!", 
+\94
+, 
+·th
+);
+
+329 
+       }
+}
+
+332 \12
+       $_gl_thumbs_ü\97\8b_thumb
+(
+gl_\99em
+ *
+g\99em
+)
+
+334 
+       `GL_CHECK_VAL
+(
+g\99em
+, -1);
+
+335 
+       `GL_CHECK_VAL
+(
+g\99em
+->
+\99em
+, -1);
+
+336 
+       `GL_CHECK_VAL
+(
+g\99em
+->
+\99em
+->
+f\9ee_u¾
+, -1);
+
+338 ià(
+       `GL_FILE_EXISTS
+(
+g\99em
+->
+\99em
+->
+f\9ee_u¾
+)) {
+
+339 
+gl_thumb_d©a_s
+ *
+thumb_d©a
+ = 
+NULL
+;
+
+340 
+thumb_d©a
+ = (
+gl_thumb_d©a_s
+ *)
+       `ÿÎoc
+(1, \17(gl_thumb_data_s));
+
+341 
+       `GL_CHECK_VAL
+(
+thumb_d©a
+, -1);
+
+342 
+thumb_d©a
+->
+ad
+ = 
+g\99em
+->ad;
+
+343 
+thumb_d©a
+->
+\99em
+ = 
+g\99em
+;
+
+344 
+g\99em
+->
+thumb_d©a
+ =\81humb_data;
+
+345 
+       `_gl_d©a_ü\97\8b_thumb
+(
+g\99em
+->
+\99em
+, 
+__gl_thumbs_ü\97\8b_thumb_cb
+,
+
+346 
+thumb_d©a
+);
+
+350 
+       }
+}
+
+366 \1e
+       $Ý\92_image_\9a_£Ëù_mode
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ev\92t_\9afo
+)
+
+368 
+       `GL_CHECK
+(
+d©a
+);
+
+369 
+       `_gl_thumbs_Ý\92_f\9ee_£Ëù_mode
+(
+d©a
+);
+
+370 
+       }
+}
+
+372 \18
+Evas_Objeù
+ *
+       $__gl_thumbs_g\91_cÚ\8bÁ
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+,
+
+373 cڡ \ 5*
+·¹
+)
+
+375 
+       `GL_CHECK_NULL
+(
+·¹
+);
+
+376 
+       `GL_CHECK_NULL
+(
+       `¡¾\92
+(
+·¹
+));
+
+377 
+       `GL_CHECK_NULL
+(
+d©a
+);
+
+378 
+gl_\99em
+ *
+g\99em
+ = (gl_\99em *)
+d©a
+;
+
+379 
+       `GL_CHECK_NULL
+(
+g\99em
+->
+\99em
+);
+
+380 
+       `GL_CHECK_NULL
+(
+g\99em
+->
+ad
+);
+
+381 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+g\99em
+->ad;
+
+382 \12
+v\9bw_mode
+ = 
+       `gl_g\91_v\9bw_mode
+(
+ad
+);
+
+384 ià(!
+       `g_¡rcmp0
+(
+·¹
+, 
+GL_THUMB_ICON
+)) {
+
+385 
+Evas_Objeù
+ *
+Ïyout
+ = 
+       `_gl_thumbs_g\91_cÚ\8bÁ
+(
+ad
+, 
+obj
+, 
+g\99em
+,
+
+386 
+ad
+->
+grid\9afo
+.
+icÚ_w
+,
+
+387 
+ad
+->
+grid\9afo
+.
+icÚ_h
+);
+
+389 #ifdeà
+_USE_SHRINK_EFFECT
+
+
+390 
+       `evas_objeù_ev\92t_ÿÎback_add
+(
+Ïyout
+, 
+EVAS_CALLBACK_MOUSE_DOWN
+,
+
+391 
+_gl_thumbs_mou£_down
+, 
+g\99em
+);
+
+392 
+       `evas_objeù_ev\92t_ÿÎback_add
+(
+Ïyout
+, 
+EVAS_CALLBACK_MOUSE_UP
+,
+
+393 
+_gl_thumbs_mou£_up
+, 
+g\99em
+);
+
+395 \15 
+Ïyout
+;
+
+396 } \vià(!
+       `g_¡rcmp0
+(
+·¹
+, 
+GL_THUMB_CHECKBOX
+)) {
+
+397 
+Evas_Objeù
+ *
+ck
+ = 
+NULL
+;
+
+398 ià(
+v\9bw_mode
+ =ð
+GL_VIEW_THUMBS_EDIT
+ ||
+
+399 
+v\9bw_mode
+ =ð
+GL_VIEW_THUMBS_SELECT
+) {
+
+400 
+boÞ
+checked
+ = 
+\8cue
+;
+
+401 ià(!
+g\99em
+->
+checked
+) {
+
+402 
+checked
+ = 
+       `_gl_d©a_g\91_bur¡shÙ_¡©us
+(
+ad
+, 
+g\99em
+);
+
+404 
+checked
+ = 
+g\99em
+->checked;
+
+406 
+ck
+ = 
+       `_gl_thumb_show_checkbox
+(
+obj
+, 
+checked
+,
+
+407 
+__gl_thumbs_check_chªged
+, 
+d©a
+);
+
+408 
+       `\96m_objeù_\99em_sigÇl_em\99
+(
+g\99em
+->
+\96m_\99em
+, "show_image_icon", "elm_image_open_icon_rect");
+
+410 
+ck
+ = 
+       `\96m_objeù_\99em_·¹_cÚ\8bÁ_g\91
+(
+g\99em
+->
+\96m_\99em
+,
+
+411 
+GL_THUMB_CHECKBOX
+);
+
+412 
+       `\96m_objeù_\99em_sigÇl_em\99
+(
+g\99em
+->
+\96m_\99em
+, "hide_image_icon", "elm_image_open_icon_rect");
+
+413 ià(
+ck
+) {
+
+414 
+       `evas_objeù_d\96
+(
+ck
+);
+
+415 
+ck
+ = 
+NULL
+;
+
+418 \15 
+ck
+;
+
+419 } \vià(!
+       `g_¡rcmp0
+(
+·¹
+, "elm_image_open_icon_swallow_blocker")) {
+
+420 
+Evas_Objeù
+ *
+b\8a1
+ = 
+NULL
+;
+
+421 ià(
+v\9bw_mode
+ =ð
+GL_VIEW_THUMBS_EDIT
+ ||
+
+422 
+v\9bw_mode
+ =ð
+GL_VIEW_THUMBS_SELECT
+) {
+
+423 
+b\8a1
+ = 
+       `evas_objeù_»ùªgË_add
+(
+       `evas_objeù_evas_g\91
+(
+obj
+));
+
+424 
+       `evas_objeù_cÞÜ_£t
+(
+b\8a1
+, 0, 255, 0, 0);
+
+425 
+       `evas_objeù_´Ýag©e_ev\92ts_£t
+(
+b\8a1
+, 
+EINA_FALSE
+);
+
+428 
+b\8a1
+ = 
+       `\96m_objeù_\99em_·¹_cÚ\8bÁ_g\91
+(
+g\99em
+->
+\96m_\99em
+,
+
+430 ià(
+b\8a1
+) {
+
+431 
+       `evas_objeù_d\96
+(
+b\8a1
+);
+
+432 
+b\8a1
+ = 
+NULL
+;
+
+435 \15 
+b\8a1
+;
+
+436 } \vià(!
+       `g_¡rcmp0
+(
+·¹
+, "elm_image_open_icon_swallow")) {
+
+437 
+Evas_Objeù
+ *
+b\8a
+ = 
+NULL
+;
+
+438 ià(
+v\9bw_mode
+ =ð
+GL_VIEW_THUMBS_EDIT
+ ||
+
+439 
+v\9bw_mode
+ =ð
+GL_VIEW_THUMBS_SELECT
+) {
+
+440 
+b\8a
+ = 
+       `\96m_bu\89Ú_add
+(
+obj
+);
+
+441 
+       `\96m_objeù_¡yË_£t
+(
+b\8a
+, "transparent");
+
+442 
+       `evas_objeù_show
+(
+b\8a
+);
+
+443 
+       `evas_objeù_´Ýag©e_ev\92ts_£t
+(
+b\8a
+, 
+EINA_FALSE
+);
+
+444 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+b\8a
+, "þicked", 
\92_image_\9a_£Ëù_mode
+, 
+g\99em
+);
+
+446 
+b\8a
+ = 
+       `\96m_objeù_\99em_·¹_cÚ\8bÁ_g\91
+(
+g\99em
+->
+\96m_\99em
+,
+
+448 ià(
+b\8a
+) {
+
+449 
+       `evas_objeù_d\96
+(
+b\8a
+);
+
+450 
+b\8a
+ = 
+NULL
+;
+
+453 \15 
+b\8a
+;
+
+454 } \vià(!
+       `g_¡rcmp0
+(
+·¹
+, 
+GL_THUMB_MODE
+)) {
+
+455 \15 
+       `_gl_thumb_show_mode
+(
+obj
+, 
+g\99em
+->
+\99em
+->
+mode
+);
+
+457 \15 
+NULL
+;
+
+458 
+       }
+}
+
+460 \18\ 5*
+       $__gl_thumbs_g\91_\8bxt
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+,
+
+461 cڡ \ 5*
+·¹
+)
+
+463 
+       `GL_CHECK_NULL
+(
+·¹
+);
+
+464 
+       `GL_CHECK_NULL
+(
+       `¡¾\92
+(
+·¹
+));
+
+465 
+       `GL_CHECK_NULL
+(
+d©a
+);
+
+466 
+gl_\99em
+ *
+g\99em
+ = (gl_\99em *)
+d©a
+;
+
+467 
+       `GL_CHECK_NULL
+(
+g\99em
+->
+\99em
+);
+
+469 \19
+tm
+time
+;
+
+470 
+       `loÿÉime_r
+((
+time_t
+ *è&(
+g\99em
+->
+\99em
+->
+mtime
+), &
+time
+);
+
+472 ià(!
+       `g_¡rcmp0
+(
+·¹
+, 
+GL_THUMB_YEAR
+)) {
+
+473 \ 5
+buf
+[
+GL_DATE_INFO_LEN_MAX
+] = {0};
+
+474 
+       `¢´\9atf
+(
+buf
+, \17(buf), "%d", 
+GL_DEFAULT_YEAR
++
+time
+.
+tm_y\97r
+);
+
+475 \15 
+       `¡rdup
+(
+buf
+);
+
+476 } \vià(!
+       `g_¡rcmp0
+(
+·¹
+, 
+GL_THUMB_MONTH
+)) {
+
+477 \ 5*
+mÚ_Çme
+[12] = {
+
+478 
+GL_STR_ID_JAN
+, 
+GL_STR_ID_FEB
+, 
+GL_STR_ID_MAR
+,
+
+479 
+GL_STR_ID_APR
+, 
+GL_STR_ID_MAY
+, 
+GL_STR_ID_JUN
+,
+
+480 
+GL_STR_ID_JUL
+, 
+GL_STR_ID_AUG
+, 
+GL_STR_ID_SEP
+,
+
+481 
+GL_STR_ID_OCT
+, 
+GL_STR_ID_NOV
+, 
+GL_STR_ID_DEC
+ };
+
+482 \15 
+       `g_ascii_¡rup
+(
+       `_gl_¡r
+(
+mÚ_Çme
+[
+time
+.
+tm_mÚ
+]), -1);
+
+485 \15 
+NULL
+;
+
+486 
+       }
+}
+
+488 \18\12
+       $__gl_thumbs_£t_ty³
+(\1e*
+d©a
+)
+
+490 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+491 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+493 
+ad
+->
+grid\9afo
+.
+grid_ty³
+ = 
+GL_GRID_T_NONE
+;
+
+494 
+gl_þu¡\94
+ *
+cur_®bum
+ = 
+       `_gl_®bums_g\91_cu¼\92t
+(
+d©a
+);
+
+495 
+       `GL_CHECK_VAL
+(
+cur_®bum
+, -1);
+
+496 
+       `GL_CHECK_VAL
+(
+cur_®bum
+->
+þu¡\94
+, -1);
+
+498 \1a
+cur_®bum
+->
+þu¡\94
+->
+ty³
+) {
+
+499 \ 4
+GL_STORE_T_PHONE
+:
+
+500 \ 4
+GL_STORE_T_MMC
+:
+
+501 
+ad
+->
+grid\9afo
+.
+grid_ty³
+ = 
+GL_GRID_T_LOCAL
+;
+
+503 \ 4
+GL_STORE_T_ALL
+:
+
+504 
+ad
+->
+grid\9afo
+.
+grid_ty³
+ = 
+GL_GRID_T_ALLALBUMS
+;
+
+506 \ 4
+GL_STORE_T_FAV
+:
+
+507 
+ad
+->
+grid\9afo
+.
+grid_ty³
+ = 
+GL_GRID_T_FAV
+;
+
+510 
+       `gl_dbgE
+("Wrong cluster storage\81ype!");
+
+512 
+       `gl_dbg
+("Gridv\9bw\81y³: %d", 
+ad
+->
+grid\9afo
+.
+grid_ty³
+);
+
+514 
+       }
+}
+
+516 \18\12
+       $__gl_thumbs_£t_\99em_¡yË
+(\1e*
+d©a
+)
+
+518 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+519 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+521 ià(
+ad
+->
+grid\9afo
+.
+d©e_gic
+.
+\99em_¡yË
+ =ð
+NULL
+ ||
+
+522 
+ad
+->
+grid\9afo
+.
+d©e_gic
+.
+func
+.
+\8bxt_g\91
+ =ð
+NULL
+) {
+
+523 
+ad
+->
+grid\9afo
+.
+d©e_gic
+.
+\99em_¡yË
+ = 
+GL_GENGRID_ITEM_STYLE_DATE
+;
+
+524 
+ad
+->
+grid\9afo
+.
+d©e_gic
+.
+func
+.
+\8bxt_g\91
+ = 
+__gl_thumbs_g\91_\8bxt
+;
+
+525 
+ad
+->
+grid\9afo
+.
+d©e_gic
+.
+func
+.
+cÚ\8bÁ_g\91
+ = 
+NULL
+;
+
+528 
+       }
+}
+
+530 \18
+boÞ
+       $__gl_thumbs_ü\97\8b_\99ems
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+·»Á
+)
+
+532 
+       `GL_CHECK_FALSE
+(
+d©a
+);
+
+533 
+       `GL_CHECK_FALSE
+(
+·»Á
+);
+
+534 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+535 \12
+i
+ = 0;
+
+536 \12
+\99em_út
+ = 0;
+
+537 
+gl_\99em
+ *
+g\99em
+ = 
+NULL
+;
+
+538 \12
+»t
+ = -1;
+
+539 \ 5*
+bur¡shÙ_id
+ = 
+NULL
+;
+
+541 
+E\9aa_Li¡
+ *
+med\9f_\96
+ = 
+NULL
+;
+
+542 
+       `_gl_thumbs_g\91_li¡
+(
+d©a
+, &
+med\9f_\96
+);
+
+543 ià(
+ad
+->
+grid\9afo
+.
+med\9f_di¥Ïy_Üd\94
+ =ð
+ORDER_ASC
+) {
+
+544 
+med\9f_\96
+ = 
+       `e\9aa_li¡_»v\94£
+(media_elist);
+
+547 \12
+út
+ = 
+       `e\9aa_li¡_couÁ
+(
+med\9f_\96
+);
+
+548 
+       `gl_dbg
+("Li¡ couÁ : %d", 
+út
+);
+
+549 
+Elm_G\92grid_I\8bm_CÏss
+ *
+gic
+ = 
+NULL
+;
+
+550 
+gic
+ = 
+       `evas_objeù_d©a_g\91
+(
+·»Á
+, "gl_thumbs_item_style_key");
+
+551 
+       `GL_CHECK_FALSE
+(
+gic
+);
+
+553 ià(
+       `\96m_g\92grid_\99ems_couÁ
+(
+·»Á
+) > 0) {
+
+555 
+       `_gl_ui_§ve_süÞËr_pos
+(
+·»Á
+);
+
+556 
+       `evas_objeù_sm¬t_ÿÎback_d\96
+(
+·»Á
+, "unrealized",
+
+557 
+__gl_thumbs_uėlized
+);
+
+558 
+       `\96m_g\92grid_þ\97r
+(
+·»Á
+);
+
+559 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+·»Á
+, "unrealized",
+
+560 
+__gl_thumbs_uėlized
+, 
+ad
+);
+
+562 \ f
+i
+ = 0; i < 
+út
+; i++) {
+
+563 
+g\99em
+ = 
+       `e\9aa_li¡_Áh
+(
+med\9f_\96
+, 
+i
+);
+
+564 ià(
+g\99em
+ =ð
+NULL
+ || g\99em->
+\99em
+ == NULL ||
+
+565 
+g\99em
+->
+\99em
+->
+uuid
+ =ð
+NULL
+) {
+
+566 
+       `gl_dbgE
+("Invalid gitem. continue...");
+
+570 ià(!
+g\99em
+->
+\99em
+->
+f\9ee_u¾
+) {
+
+571 
+       `gl_dbg
+("file_url is invalid.");
+
+572 
+»t
+ = 
+       `_gl_d©a_d\96\91e_med\9f
+(
+ad
+, 
+g\99em
+->
+\99em
+);
+
+573 ià(
+»t
+ != 0)
+
+575 
+       `_gl_d©a_£Ëùed_li¡_»move
+(
+ad
+, 
+g\99em
+);
+
+576 
+med\9f_\96
+ = 
+       `e\9aa_li¡_»move
+(med\9f_\96i¡, 
+g\99em
+);
+
+577 
+       `_gl_thumbs_£t_li¡
+(
+d©a
+, 
+med\9f_\96
+);
+
+578 
+út
+--;
+
+579 
+i
+--;
+
+580 
+g\99em
+ = 
+NULL
+;
+
+584 ià(
+ad
+->
+grid\9afo
+.
+back_to_nÜm®
+) {
+
+585 
+g\99em
+->
+checked
+ = 
+çl£
+;
+
+587 ià(
+       `_gl_thumbs_is_­³nd
+(
+g\99em
+, &
+bur¡shÙ_id
+)) {
+
+588 
+g\99em
+->
+\96m_\99em
+ = 
+       `\96m_g\92grid_\99em_­³nd
+(
+·»Á
+, 
+gic
+,
+
+589 
+g\99em
+,
+
+590 
+__gl_thumbs_£l_cb
+,
+
+591 
+g\99em
+);
+
+592 
+g\99em
+->
\97µ\92d
+ = 
+çl£
+;
+
+594 
+\99em_út
+++;
+
+595 
+g\99em
+->
+£qu\92û
+ = 
+\99em_út
+;
+
+597 ià(
+ad
+->
+grid\9afo
+.
+med\9f_di¥Ïy_Üd\94
+ =ð
+ORDER_ASC
+) {
+
+598 
+med\9f_\96
+ = 
+       `e\9aa_li¡_»v\94£
+(media_elist);
+
+601 
+       `_gl_ui_»¡Üe_süÞËr_pos
+(
+·»Á
+);
+
+603 #ifdeà
+_USE_SHRINK_EFFECT
+
+
+605 
+       `\96m_g\92grid_£Ëù_mode_£t
+(
+·»Á
+, 
+ELM_OBJECT_SELECT_MODE_NONE
+);
+
+607 
+ad
+->
+grid\9afo
+.
+couÁ
+ = 
+\99em_út
+;
+
+608 
+ad
+->
+grid\9afo
+.
+back_to_nÜm®
+ = 
+çl£
+;
+
+610 ià(
+\99em_út
+ == 0)
+
+611 \15 
+EINA_FALSE
+;
+
+613 \15 
+EINA_TRUE
+;
+
+614 
+       }
+}
+
+621 \18\12
+       $__gl_thumbs_£t_v\9bw
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+v\9bw
+, 
+boÞ
+b_noc
+)
+
+623 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+624 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+625 
+ad
+->
+grid\9afo
+.
+v\9bw
+ = view;
+
+626 ià(
+b_noc
+)
+
+627 
+       `_gl_thumbs_£t_nocÚ\8bÁs
+(
+ad
+, 
+v\9bw
+);
+
+629 
+       `_gl_thumbs_£t_nocÚ\8bÁs
+(
+ad
+, 
+NULL
+);
+
+631 
+       }
+}
+
+633 \1e
+       $_gl_thumbs_add_®bum_d©a
+(
+gl_þu¡\94
+ *
+®bum
+, 
+E\9aa_Li¡
+ *
+med\9fs_\96
+)
+
+635 
+       `GL_CHECK
+(
+®bum
+);
+
+636 
+       `GL_CHECK
+(
+med\9fs_\96
+);
+
+637 \12
+út
+ = 
+       `e\9aa_li¡_couÁ
+(
+med\9fs_\96
+);
+
+638 \12
+i
+;
+
+639 
+gl_\99em
+ *
+g\99em
+ = 
+NULL
+;
+
+640 \ f
+i
+ = 0; i < 
+út
+; i++) {
+
+641 
+g\99em
+ = 
+       `e\9aa_li¡_Áh
+(
+med\9fs_\96
+, 
+i
+);
+
+642 
+       `GL_CHECK
+(
+g\99em
+);
+
+643 
+g\99em
+->
+®bum
+ =\87lbum;
+
+645 
+       }
+}
+
+656 \18\12
+       $__gl_thumbs_idËr_­³nd_\99ems
+(\1e*
+d©a
+)
+
+658 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+659 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+660 
+       `GL_CHECK_VAL
+(
+       `_gl_®bums_g\91_cu¼\92t
+(
+d©a
+), -1);
+
+661 \12
+i
+ = 0;
+
+662 \12
+\99em_út
+ = 0;
+
+663 
+gl_\99em
+ *
+g\99em
+ = 
+NULL
+;
+
+664 
+gl_þu¡\94
+ *
+®bum
+ = 
+NULL
+;
+
+665 \12
+»t
+ = -1;
+
+666 \ 5*
+bur¡shÙ_id
+ = 
+NULL
+;
+
+667 
+Evas_Objeù
+ *
+v\9bw
+ = 
+ad
+->
+grid\9afo
+.view;
+
+669 ià(
+       `gl_g\91_v\9bw_mode
+(
+d©a
+è=ð
+GL_VIEW_THUMBS_SELECT
+) {
+
+670 
+v\9bw
+ = 
+ad
+->
+grid\9afo
+.
+£Ëù_v\9bw
+;
+
+672 
+       `GL_CHECK_VAL
+(
+v\9bw
+, -1);
+
+674 
+Elm_G\92grid_I\8bm_CÏss
+ *
+gic
+ = 
+NULL
+;
+
+675 
+gic
+ = 
+       `evas_objeù_d©a_g\91
+(
+v\9bw
+, "gl_thumbs_item_style_key");
+
+676 
+       `GL_CHECK_VAL
+(
+gic
+, -1);
+
+679 
+E\9aa_Li¡
+ *
+med\9f_\96
+ = 
+NULL
+;
+
+680 
+       `_gl_thumbs_g\91_li¡
+(
+d©a
+, &
+med\9f_\96
+);
+
+681 \12
+út
+ = 
+       `e\9aa_li¡_couÁ
+(
+med\9f_\96
+);
+
+682 
+       `gl_dbg
+("F\9c¡ v\9bw med\9f couÁ: %d", 
+út
+);
+
+683 ià(
+út
+ !ð(
+GL_FIRST_VIEW_END_POS
+ + 1)) {
+
+684 
+       `gl_dbg
+("No\87ny more items,\84eturn!");
+
+688 
+»t
+ = 
+       `_gl_d©a_g\91_\99ems_®bum
+(
+ad
+, 
+       `_gl_®bums_g\91_cu¼\92t
+(
+d©a
+),
+
+689 (
+GL_FIRST_VIEW_END_POS
+ + 1),
+
+690 
+GL_GET_UNTIL_LAST_RECORD
+, &
+med\9f_\96
+);
+
+691 ià(
+»t
+ < 0) {
+
+692 
+       `gl_dbgE
+("G\91 i\8bm li¡ fa\9eed[%d]!", 
+»t
+);
+
+693 \15 
+»t
+;
+
+696 
+       `_gl_thumbs_£t_li¡
+(
+d©a
+, 
+med\9f_\96
+);
+
+697 
+út
+ = 
+       `e\9aa_li¡_couÁ
+(
+med\9f_\96
+);
+
+698 
+       `gl_dbg
+("Grid v\9bw\87Πmed\9f couÁ: %d", 
+út
+);
+
+701 
+g\99em
+ = 
+       `e\9aa_li¡_Áh
+(
+med\9f_\96
+, 0);
+
+702 ià(
+g\99em
+) {
+
+703 
+®bum
+ = 
+g\99em
+->album;
+
+707 
+i
+ = 
+GL_FIRST_VIEW_END_POS
+ + 1;
+
+710 
+g\99em
+ = 
+       `e\9aa_li¡_Áh
+(
+med\9f_\96
+, 
+i
+ - 1);
+
+711 ià(
+g\99em
+ && g\99em->
+\99em
+ &&
+
+712 
+g\99em
+->
+\99em
+->
+ty³
+ =ð
+MEDIA_CONTENT_TYPE_IMAGE
+ &&
+
+713 
+g\99em
+->
+\99em
+->
+image_\9afo
+ &&
+
+714 
+g\99em
+->
+\99em
+->
+image_\9afo
+->
+bur¡shÙ_id
+) {
+
+715 
+bur¡shÙ_id
+ = 
+g\99em
+->
+\99em
+->
+image_\9afo
+->burstshot_id;
+
+716 
+       `gl_dbgW
+("Update burstshot item!");
+
+717 
+       `\96m_g\92grid_\99em_upd©e
+(
+g\99em
+->
+\96m_\99em
+);
+
+719 
+g\99em
+ = 
+NULL
+;
+
+720 \ f
+i
+ < 
+út
+; i++) {
+
+721 
+g\99em
+ = 
+       `e\9aa_li¡_Áh
+(
+med\9f_\96
+, 
+i
+);
+
+722 ià(
+g\99em
+ =ð
+NULL
+ || g\99em->
+\99em
+ == NULL ||
+
+723 
+g\99em
+->
+\99em
+->
+uuid
+ =ð
+NULL
+) {
+
+724 
+       `gl_dbgE
+("Invalid gitem, continue...");
+
+728 ià(!
+g\99em
+->
+\99em
+->
+f\9ee_u¾
+) {
+
+729 
+       `gl_dbg
+("file_url is invalid.");
+
+730 
+       `_gl_d©a_d\96\91e_med\9f
+(
+ad
+, 
+g\99em
+->
+\99em
+);
+
+731 
+       `_gl_d©a_£Ëùed_li¡_»move
+(
+ad
+, 
+g\99em
+);
+
+732 
+med\9f_\96
+ = 
+       `e\9aa_li¡_»move
+(med\9f_\96i¡, 
+g\99em
+);
+
+733 
+       `_gl_thumbs_£t_li¡
+(
+d©a
+, 
+med\9f_\96
+);
+
+734 
+út
+--;
+
+735 
+i
+--;
+
+736 
+g\99em
+ = 
+NULL
+;
+
+739 ià(
+       `_gl_thumbs_is_­³nd
+(
+g\99em
+, &
+bur¡shÙ_id
+)) {
+
+740 
+g\99em
+->
+\96m_\99em
+ = 
+       `\96m_g\92grid_\99em_­³nd
+(
+v\9bw
+, 
+gic
+,
+
+741 
+g\99em
+,
+
+742 
+__gl_thumbs_£l_cb
+,
+
+743 
+g\99em
+);
+
+744 
+g\99em
+->
\97µ\92d
+ = 
+çl£
+;
+
+747 
+\99em_út
+++;
+
+748 
+g\99em
+->
+£qu\92û
+ = 
+\99em_út
+ + 
+GL_FIRST_VIEW_END_POS
+ + 1;
+
+750 
+       `_gl_thumbs_add_®bum_d©a
+(
+®bum
+, 
+med\9f_\96
+);
+
+752 
+       `gl_dbgW
+("Use idler\81o\87ppend other medias--Done!");
+
+753 ià(
+\99em_út
+ == 0) {
+
+756 
+ad
+->
+grid\9afo
+.
+couÁ
+ = 
+\99em_út
+ + 
+GL_FIRST_VIEW_END_POS
+ + 1;
+
+757 
+       `gl_dbg
+("AΠcouÁ\87µ\92ded: %d", 
+ad
+->
+grid\9afo
+.
+couÁ
+);
+
+760 
+       }
+}
+
+762 \18\12
+       $__gl_thumbs_mode_»£t_b\8as
+(\1e*
+d©a
+)
+
+764 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+765 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+768 ià(
+       `_gl_thumbs_check_z\94o
+(
+d©a
+)) {
+
+769 
+       `_gl_thumbs_di§bË_sh¬e
+(
+ad
+, 
+\8cue
+);
+
+770 
+       `_gl_thumbs_di§bË_¦ideshow
+(
+ad
+, 
+\8cue
+);
+
+771 
+       `_gl_ui_di§bË_m\92u
+(
+ad
+->
+grid\9afo
+.
+nf_\99
+, 
+\8cue
+);
+
+773 
+       `_gl_thumbs_di§bË_sh¬e
+(
+ad
+, 
+çl£
+);
+
+774 
+       `_gl_thumbs_di§bË_¦ideshow
+(
+ad
+, 
+çl£
+);
+
+775 
+       `_gl_ui_di§bË_m\92u
+(
+ad
+->
+grid\9afo
+.
+nf_\99
+, 
+çl£
+);
+
+778 
+       }
+}
+
+780 \18\1e
+       $__gl_thumbs_\8cªs_f\9aished_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+782 
+       `GL_CHECK
+(
+d©a
+);
+
+783 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+784 \12
+v\9bw_mode
+ = 
+       `gl_g\91_v\9bw_mode
+(
+ad
+);
+
+785 
+       `gl_dbgW
+("v\9bw_mode: %d", 
+v\9bw_mode
+);
+
+786 
+       `evas_objeù_sm¬t_ÿÎback_d\96
+(
+obj
+, 
+GL_TRANS_FINISHED
+,
+
+787 
+__gl_thumbs_\8cªs_f\9aished_cb
+);
+
+790 ià(
+v\9bw_mode
+ =ð
+GL_VIEW_THUMBS
+ || v\9bw_mod\90
+GL_VIEW_THUMBS_EDIT
+) {
+
+791 ià(
+       `_gl_ù¾_g\91_\8fb_mode
+(
+ad
+è=ð
+GL_CTRL_TAB_ALBUMS
+)
+
+792 
+       `\96m_g\92grid_þ\97r
+(
+ad
+->
+®bum\9afo
+.
+v\9bw
+);
+
+794 
+       `gl_dbgE
+("Wrong view mode!");
+
+797 ià(
+ad
+->
+grid\9afo
+.
+is_­³nd
+) {
+
+798 
+       `_gl_thumbs_­³nd_\99ems
+(
+d©a
+);
+
+799 
+ad
+->
+grid\9afo
+.
+is_­³nd
+ = 
+çl£
+;
+
+801 
+       }
+}
+
+803 \18
+E\9aa_BoÞ
+       $__gl_thumbs_pÝ_cb
+(\1e*
+d©a
+, 
+Elm_Objeù_I\8bm
+ *
+\99
+)
+
+805 
+       `GL_CHECK_FALSE
+(
+d©a
+);
+
+806 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+808 ià(
+       `gl_g\91_v\9bw_mode
+(
+d©a
+è=ð
+GL_VIEW_THUMBS_EDIT
+) {
+
+809 
+       `gl_dbg
+("GL_VIEW_THUMBS_EDIT");
+
+810 
+       `_gl_thumbs_ed\99_pÝ_v\9bw
+(
+d©a
+);
+
+812 ià(
+       `_gl_thumbs_g\91_ed\99_mode
+(
+d©a
+è< 
+GL_THUMBS_EDIT_FIRST
+)
+
+813 \15 
+EINA_FALSE
+;
+
+817 
+Elm_Naviäame_I\8bm_PÝ_Cb
+func
+ = 
+NULL
+;
+
+818 
+func
+ = (
+Elm_Naviäame_I\8bm_PÝ_Cb
+)
+       `\96m_objeù_\99em_d©a_g\91
+(
+ad
+->
+grid\9afo
+.
+nf_\99
+);
+
+820 
+       `gl_dbg
+("func: %p", 
+func
+);
+
+821 ià(
+func
+)
+
+822 
+       `func
+(
+d©a
+, 
+\99
+);
+
+824 ià(
+ad
+->
+®bum\9afo
+.
+£Ëùed_uuid
+) {
+
+825 
+       `ä\93
+(
+ad
+->
+®bum\9afo
+.
+£Ëùed_uuid
+);
+
+826 
+ad
+->
+®bum\9afo
+.
+£Ëùed_uuid
+ = 
+NULL
+;
+
+828 \15 
+EINA_TRUE
+;
+
+829 
+       }
+}
+
+831 \18\1e
+       $__gl_thumbs_ed\99_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+833 
+       `GL_CHECK
+(
+d©a
+);
+
+834 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+835 
+       `_gl_ùxpÝup_d\96
+(
+d©a
+);
+
+836 ià(
+ad
+->
+ug\9afo
+.
+ug
+ ||\87d->
+grid\9afo
+.
+is_­³nd
+) {
+
+842 
+       `gl_dbg
+("UG invoked or\87ppending gridview.");
+
+846 
+ad
+->
+grid\9afo
+.
+b_¦ideshow_di§bË
+ = 
+çl£
+;
+
+848 \12
+v\9bw_mode
+ = 
+       `gl_g\91_v\9bw_mode
+(
+d©a
+);
+
+849 
+       `gl_dbg
+("mode: %d", 
+v\9bw_mode
+);
+
+850 ià(
+v\9bw_mode
+ =ð
+GL_VIEW_THUMBS
+) {
+
+851 
+       `_gl_thumbs_£t_ed\99_mode
+(
+d©a
+, 
+GL_THUMBS_EDIT_NORMAL
+);
+
+852 
+gl_\99em
+ *
+g\99em
+ = 
+       `e\9aa_li¡_Áh
+(
+ad
+->
+grid\9afo
+.
+med\9fs_\96
+, 0);
+
+853 
+gl_\99em
+ *
+tmp
+ = 
+NULL
+;
+
+855 
+       `GL_CHECK
+(
+g\99em
+);
+
+856 
+       `GL_CHECK
+(
+g\99em
+->
+®bum
+);
+
+857 ià(
+g\99em
+ && g\99em->
+®bum
+ && g\99em->®bum->
+\96
+) {
+
+858 
+       `EINA_LIST_FREE
+(
+g\99em
+->
+®bum
+->
+\96
+, 
+tmp
+) {
+
+859 ià(
+tmp
+) {
+
+860 
+tmp
+->
+checked
+ = 
+çl£
+;
+
+864 
+       `_gl_thumbs_ed\99\97\8b_v\9bw
+(
+d©a
+);
+
+866 
+       }
+}
+
+868 \18\1e
+       $__gl_thumbs_cÝy_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+870 
+       `GL_CHECK
+(
+d©a
+);
+
+871 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+872 
+       `_gl_ùxpÝup_d\96
+(
+d©a
+);
+
+873 ià(
+ad
+->
+ug\9afo
+.
+ug
+ ||\87d->
+grid\9afo
+.
+is_­³nd
+) {
+
+874 
+       `gl_dbg
+("UG invoked or\87ppending gridview.");
+
+878 
+ad
+->
+grid\9afo
+.
+b_¦ideshow_di§bË
+ = 
+çl£
+;
+
+880 \12
+v\9bw_mode
+ = 
+       `gl_g\91_v\9bw_mode
+(
+d©a
+);
+
+881 
+       `gl_dbg
+("mode: %d", 
+v\9bw_mode
+);
+
+882 ià(
+v\9bw_mode
+ =ð
+GL_VIEW_THUMBS
+) {
+
+883 
+       `_gl_thumbs_£t_ed\99_mode
+(
+d©a
+, 
+GL_THUMBS_EDIT_COPY
+);
+
+884 
+gl_\99em
+ *
+g\99em
+ = 
+       `e\9aa_li¡_Áh
+(
+ad
+->
+grid\9afo
+.
+med\9fs_\96
+, 0);
+
+885 
+gl_\99em
+ *
+tmp
+ = 
+NULL
+;
+
+886 ià(
+g\99em
+ && g\99em->
+®bum
+) {
+
+887 
+       `EINA_LIST_FREE
+(
+g\99em
+->
+®bum
+->
+\96
+, 
+tmp
+) {
+
+888 ià(
+tmp
+) {
+
+889 
+tmp
+->
+checked
+ = 
+çl£
+;
+
+893 
+       `_gl_thumbs_ed\99\97\8b_v\9bw
+(
+d©a
+);
+
+895 
+       }
+}
+
+897 \18\1e
+       $__gl_thumbs_move_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+899 
+       `GL_CHECK
+(
+d©a
+);
+
+900 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+901 
+       `_gl_ùxpÝup_d\96
+(
+d©a
+);
+
+902 ià(
+ad
+->
+ug\9afo
+.
+ug
+ ||\87d->
+grid\9afo
+.
+is_­³nd
+) {
+
+903 
+       `gl_dbg
+("UG invoked or\87ppending gridview.");
+
+907 
+ad
+->
+grid\9afo
+.
+b_¦ideshow_di§bË
+ = 
+çl£
+;
+
+909 \12
+v\9bw_mode
+ = 
+       `gl_g\91_v\9bw_mode
+(
+d©a
+);
+
+910 
+       `gl_dbg
+("mode: %d", 
+v\9bw_mode
+);
+
+911 ià(
+v\9bw_mode
+ =ð
+GL_VIEW_THUMBS
+) {
+
+912 
+       `_gl_thumbs_£t_ed\99_mode
+(
+d©a
+, 
+GL_THUMBS_EDIT_MOVE
+);
+
+913 
+gl_\99em
+ *
+g\99em
+ = 
+       `e\9aa_li¡_Áh
+(
+ad
+->
+grid\9afo
+.
+med\9fs_\96
+, 0);
+
+914 
+gl_\99em
+ *
+tmp
+ = 
+NULL
+;
+
+915 ià(
+g\99em
+ && g\99em->
+®bum
+) {
+
+916 
+       `EINA_LIST_FREE
+(
+g\99em
+->
+®bum
+->
+\96
+, 
+tmp
+) {
+
+917 ià(
+tmp
+) {
+
+918 
+tmp
+->
+checked
+ = 
+çl£
+;
+
+922 
+       `_gl_thumbs_ed\99\97\8b_v\9bw
+(
+d©a
+);
+
+924 
+       }
+}
+
+926 \18\1e
+       $__gl_thumbs_sÜtby_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+928 
+       `gl_dbg
+("ENTRY");
+
+929 
+       `GL_CHECK
+(
+d©a
+);
+
+930 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+931 \12
+¡©e_\9adex
+ = -1;
+
+932 
+¡©e_\9adex
+ = 
+ad
+->
+grid\9afo
+.
+med\9f_di¥Ïy_Üd\94
+ =ð
+ORDER_ASC
+ ? 1 : 0;
+
+933 
+       `_gl_li¡_pÝ_ü\97\8b
+(
+d©a
+, 
+obj
+, 
+ei
+, 
+GL_STR_SORT
+, 
+GL_STR_DATE_MOST_RECENT
+, 
+GL_STR_DATE_OLDEST
+, 
+¡©e_\9adex
+);
+
+934 
+       `gl_dbg
+("EXIT");
+
+935 
+       }
+}
+
+938 \18\1e
+       $__gl_thumbs_sh¬e_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+940 
+       `GL_CHECK
+(
+d©a
+);
+
+941 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+942 ià(
+ad
+->
+ug\9afo
+.
+ug
+ ||\87d->
+grid\9afo
+.
+is_­³nd
+) {
+
+948 
+       `gl_dbg
+("UG invoked or\87ppending gridview.");
+
+952 \12
+v\9bw_mode
+ = 
+       `gl_g\91_v\9bw_mode
+(
+d©a
+);
+
+953 
+       `gl_dbg
+("mode: %d", 
+v\9bw_mode
+);
+
+954 ià(
+v\9bw_mode
+ =ð
+GL_VIEW_THUMBS
+) {
+
+955 
+       `_gl_thumbs_£t_ed\99_mode
+(
+d©a
+, 
+GL_THUMBS_EDIT_SHARE
+);
+
+956 
+       `_gl_thumbs_ed\99\97\8b_v\9bw
+(
+d©a
+);
+
+958 
+       }
+}
+
+961 \18\1e
+       $__gl_thumbs_soá_back_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+963 
+       `GL_CHECK
+(
+d©a
+);
+
+964 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+965 
+       `GL_CHECK
+(
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+);
+
+966 
+       `\96m_Çviäame_\99em_pÝ
+(
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+);
+
+967 
+       }
+}
+
+969 #ifdeà
+SUPPORT_SLIDESHOW
+
+
+970 \18\12
+       $__gl_thumbs_¦ideshow_Ý
+(\1e*
+d©a
+)
+
+972 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+973 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+974 
+E\9aa_Li¡
+ *
+med\9fs_\96
+ = 
+NULL
+;
+
+975 
+gl_\99em
+ *
+cur_\99em
+ = 
+NULL
+;
+
+976 
+med\9f_cÚ\8bÁ_ty³_e
+ty³
+ = 
+MEDIA_CONTENT_TYPE_OTHERS
+;
+
+978 
+       `_gl_thumbs_g\91_li¡
+(
+d©a
+, &
+med\9fs_\96
+);
+
+979 
+       `_gl_d©a_g\91_f\9c¡_\99em
+(
+ty³
+, 
+med\9fs_\96
+, &
+cur_\99em
+);
+
+980 
+       `GL_CHECK_VAL
+(
+cur_\99em
+, -1);
+
+981 \15 
+       `gl_ext_lßd_iv_ug
+(
+ad
+, 
+cur_\99em
+, 
+GL_UG_IV_SLIDESHOW
+);
+
+982 
+       }
+}
+
+984 \18\12
+       $__gl_thumbs_¦ideshow
+(\1e*
+d©a
+, cڡ \ 5*
+Ïb\96
+)
+
+986 
+       `GL_CHECK_VAL
+(
+Ïb\96
+, -1);
+
+987 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+988 
+       `gl_dbg
+("Ïb\96 : % ", 
+Ïb\96
+);
+
+989 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+991 ià(!
+       `g_¡rcmp0
+(
+Ïb\96
+, 
+       `_gl_¡r
+(
+GL_STR_ID_ALL_ITEMS
+))) {
+
+992 
+       `__gl_thumbs_¦ideshow_Ý
+(
+d©a
+);
+
+993 } \vià(!
+       `g_¡rcmp0
+(
+Ïb\96
+, 
+       `_gl_¡r
+(
+GL_STR_ID_SETTINGS
+))) {
+
+994 
+       `evas_objeù_d©a_£t
+(
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+,
+
+995 
+GL_NAVIFRAME_SLIDESHOW_DATA_KEY
+,
+
+996 
+__gl_thumbs_¦ideshow_Ý
+);
+
+997 
+       `gl_ext_lßd_ug
+(
+d©a
+, 
+GL_UG_GALLERY_SETTING_SLIDESHOW
+);
+
+998 } \vià(!
+       `g_¡rcmp0
+(
+Ïb\96
+, 
+       `_gl_¡r
+(
+GL_STR_ID_SELECT_ITEMS
+))) {
+
+999 #ifdeà
+_USE_APP_SLIDESHOW
+
+
+1000 
+       `_gl_thumbs_ed\99\97\8b_v\9bw
+(
+d©a
+);
+
+1001 
+       `evas_objeù_d©a_£t
+(
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+,
+
+1002 
+GL_NAVIFRAME_SELECTED_SLIDESHOW_KEY
+,
+
+1003 
+_gl_thumbs_ed\99_pÝ_v\9bw
+);
+
+1005 
+       `_gl_ext_Ïunch_g®Ëry_ug
+(
+d©a
+);
+
+1008 
+       `gl_dbgE
+("Invalid\86able!");
+
+1012 
+       }
+}
+
+1014 \18\1e
+       $__gl_thumbs_¦ideshow_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+1016 
+       `GL_CHECK
+(
+d©a
+);
+
+1017 
+       `_gl_ùxpÝup_d\96
+(
+d©a
+);
+
+1018 
+       `_gl_pÝup_ü\97\8b_¦ideshow
+(
+d©a
+, 
+__gl_thumbs_¦ideshow
+);
+
+1019 
+       }
+}
+
+1031 \18\12
+       $__gl_thumbs_ùxpÝup_­³nd
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+·»Á
+)
+
+1033 
+       `GL_CHECK_VAL
+(
+·»Á
+, -1);
+
+1034 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1035 #ifdeà
+SUPPORT_SLIDESHOW
+
+
+1036 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1038 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1041 ià(
+ad
+->
+grid\9afo
+.
+grid_ty³
+ =ð
+GL_GRID_T_FAV
+) {
+
+1043 ià(!
+       `_gl_thumbs_check_z\94o
+(
+d©a
+))
+
+1044 
+       `_gl_ùxpÝup_­³nd
+(
+·»Á
+, 
+GL_STR_SORT
+,
+
+1045 
+__gl_thumbs_sÜtby_cb
+, 
+d©a
+);
+
+1050 ià(!
+       `_gl_thumbs_check_z\94o
+(
+d©a
+))
+
+1051 
+       `_gl_ùxpÝup_­³nd
+(
+·»Á
+, 
+GL_STR_ID_DELETE
+,
+
+1052 
+__gl_thumbs_ed\99_cb
+, 
+d©a
+);
+
+1054 ià(!
+       `_gl_thumbs_check_z\94o
+(
+d©a
+))
+
+1055 
+       `_gl_ùxpÝup_­³nd
+(
+·»Á
+, 
+GL_STR_SORT
+,
+
+1056 
+__gl_thumbs_sÜtby_cb
+, 
+d©a
+);
+
+1058 ià(!
+       `_gl_thumbs_check_z\94o
+(
+d©a
+))
+
+1059 
+       `_gl_ùxpÝup_­³nd
+(
+·»Á
+, 
+GL_STR_ID_COPY_TO_ALBUM
+,
+
+1060 
+__gl_thumbs_cÝy_cb
+, 
+d©a
+);
+
+1062 ià(!
+       `_gl_thumbs_check_z\94o
+(
+d©a
+))
+
+1063 
+       `_gl_ùxpÝup_­³nd
+(
+·»Á
+, 
+GL_STR_ID_MOVE_TO_ALBUM
+,
+
+1064 
+__gl_thumbs_move_cb
+, 
+d©a
+);
+
+1065 #ifdeà
+SUPPORT_SLIDESHOW
+
+
+1067 ià(!
+ad
+->
+grid\9afo
+.
+b_¦ideshow_di§bË
+)
+
+1068 
+       `_gl_ùxpÝup_­³nd
+(
+·»Á
+, 
+GL_STR_ID_SLIDESHOW
+,
+
+1069 
+__gl_thumbs_¦ideshow_cb
+, 
+d©a
+);
+
+1072 
+       }
+}
+
+1074 \18\1e
+       $__gl_thumbs_mÜe_b\8a_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+1076 
+       `gl_dbg
+("more button clicked");
+
+1077 
+       `GL_CHECK
+(
+d©a
+);
+
+1078 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1079 
+Evas_Objeù
+ *
+mÜe
+ = 
+NULL
+;
+
+1080 
+mÜe
+ = 
+       `_gl_ui_g\91_b\8a
+(
+NULL
+, 
+ad
+->
+grid\9afo
+.
+nf_\99
+, 
+GL_NAVIFRAME_MORE
+);
+
+1081 ià(
+EINA_TRUE
+ =ð
+       `\96m_objeù_di§bËd_g\91
+(
+mÜe
+)) {
+
+1082 
+       `gl_dbg
+("Menu is disabled");
+
+1086 
+       `_gl_ùxpÝup_ü\97\8b
+(
+d©a
+, 
+obj
+, 
+__gl_thumbs_ùxpÝup_­³nd
+);
+
+1087 
+       }
+}
+
+1090 \18\1e
+       $__gl_thumbs_ÿm\94a_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+1092 
+       `GL_CHECK
+(
+d©a
+);
+
+1093 
+       `gl_dbg
+("");
+
+1094 
+       `_gl_ext_lßd_ÿm\94a
+(
+d©a
+);
+
+1095 
+       }
+}
+
+1102 \18\12
+       $__gl_thumbs_add_b\8as
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+·»Á
+,
+
+1103 
+Elm_Objeù_I\8bm
+ *
+nf_\99
+)
+
+1105 
+       `gl_dbg
+("GL_NAVI_THUMBS");
+
+1106 
+       `GL_CHECK_VAL
+(
+nf_\99
+, -1);
+
+1107 
+       `GL_CHECK_VAL
+(
+·»Á
+, -1);
+
+1108 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1109 
+Evas_Objeù
+ *
+b\8a
+ = 
+NULL
+;
+
+1112 
+b\8a
+ = 
+       `_gl_but_ü\97\8b_but
+(
+·»Á
+, 
+NULL
+, NULL, 
+GL_BUTTON_STYLE_NAVI_MORE
+,
+
+1113 
+__gl_thumbs_mÜe_b\8a_cb
+, 
+d©a
+);
+
+1114 
+       `GL_CHECK_VAL
+(
+b\8a
+, -1);
+
+1116 
+       `\96m_objeù_\99em_·¹_cÚ\8bÁ_£t
+(
+nf_\99
+, 
+GL_NAVIFRAME_MORE
+, 
+b\8a
+);
+
+1118 
+b\8a
+ = 
+       `\96m_bu\89Ú_add
+(
+·»Á
+);
+
+1119 
+       `\96m_objeù_¡yË_£t
+(
+b\8a
+, "naviframe/end_btn/default");
+
+1120 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+b\8a
+, "þicked", 
+__gl_thumbs_soá_back_cb
+, 
+d©a
+);
+
+1121 
+       `GL_CHECK_VAL
+(
+b\8a
+, -1);
+
+1122 
+       `\96m_objeù_\99em_·¹_cÚ\8bÁ_£t
+(
+nf_\99
+, 
+GL_NAVIFRAME_PREV_BTN
+, 
+b\8a
+);
+
+1123 
+       `__gl_thumbs_mode_»£t_b\8as
+(
+d©a
+);
+
+1125 
+       }
+}
+
+1128 \18\12
+       $__gl_thumbs_þ\97r_d©a
+(\1e*
+d©a
+)
+
+1130 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1131 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1134 
+       `GL_IF_DEL_TIMER
+(
+ad
+->
+grid\9afo
+.
+þicked_tim\94
+);
+
+1136 ià(
+ad
+->
+grid\9afo
+.
+v\9bw
+) {
+
+1137 ià(
+ad
+->
+grid\9afo
+.
+v\9bw
+ !ðad->grid\9afo.
+nocÚ\8bÁs
+) {
+
+1138 
+       `_gl_thumbs_þ\97r_cbs
+(
+ad
+->
+grid\9afo
+.
+v\9bw
+);
+
+1139 
+       `_gl_ui_d\96_süÞËr_pos
+(
+ad
+->
+grid\9afo
+.
+v\9bw
+);
+
+1141 ià(
+ad
+->
+grid\9afo
+.
+med\9fs_\96
+ &&
+
+1142 
+       `e\9aa_li¡_couÁ
+(
+ad
+->
+grid\9afo
+.
+med\9fs_\96
+) > 0)
+
+1143 
+       `\96m_g\92grid_þ\97r
+(
+ad
+->
+grid\9afo
+.
+v\9bw
+);
+
+1145 
+ad
+->
+grid\9afo
+.
+v\9bw
+ = 
+NULL
+;
+
+1147 
+ad
+->
+grid\9afo
+.
+grid_ty³
+ = 
+GL_GRID_T_NONE
+;
+
+1148 
+ad
+->
+grid\9afo
+.
+nocÚ\8bÁs
+ = 
+NULL
+;
+
+1149 
+ad
+->
+grid\9afo
+.
+Ïyout
+ = 
+NULL
+;
+
+1150 
+ad
+->
+grid\9afo
+.
+b_¦ideshow_di§bË
+ = 
+çl£
+;
+
+1151 
+ad
+->
+grid\9afo
+.
+nf_\99
+ = 
+NULL
+;
+
+1152 
+ad
+->
+grid\9afo
+.
+couÁ
+ = 0;
+
+1153 
+       `_gl_thumbs_£t_ed\99_mode
+(
+d©a
+, 
+GL_THUMBS_EDIT_NONE
+);
+
+1155 
+       `GL_FREEIF
+(
+ad
+->
+grid\9afo
+.
+t\99Ë
+);
+
+1157 
+       }
+}
+
+1160 \18\1e
+       $__gl_thumbs_d\96\91e_Ïyout_cb
+(\1e*
+d©a
+, 
+Evas
+ *
+e
+, 
+Evas_Objeù
+ *
+obj
+,
+
+1161 \1e*
+ei
+)
+
+1163 
+       `gl_dbg
+("Delete\86ayout ---");
+
+1164 
+       `GL_CHECK
+(
+d©a
+);
+
+1165 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1167 
+       `__gl_thumbs_þ\97r_d©a
+(
+d©a
+);
+
+1169 
+       `_gl_d©a_þ\97r_£Ëùed_\9afo
+(
+d©a
+);
+
+1171 
+       `_gl_d©a_ut\9e\97r_\99em_li¡
+(&(
+ad
+->
+grid\9afo
+.
+med\9fs_\96
+));
+
+1172 
+       `gl_dbg
+("Delete\86ayout +++");
+
+1173 
+       }
+}
+
+1175 \18\12
+       $__gl_thumbs_push_v\9bw
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+·»Á
+,
+
+1176 
+Evas_Objeù
+ *
+obj
+, 
+gl_Çvi_mode
+mode
+,
+
+1177 \ 5*
+t\99Ë
+)
+
+1179 
+       `GL_CHECK_VAL
+(
+obj
+, -1);
+
+1180 
+       `GL_CHECK_VAL
+(
+·»Á
+, -1);
+
+1181 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1182 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1183 
+Elm_Objeù_I\8bm
+ *
+nf_\99
+ = 
+NULL
+;
+
+1186 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+·»Á
+, 
+GL_TRANS_FINISHED
+,
+
+1187 
+__gl_thumbs_\8cªs_f\9aished_cb
+, 
+d©a
+);
+
+1189 
+nf_\99
+ = 
+       `\96m_Çviäame_\99em_push
+(
+·»Á
+, 
+t\99Ë
+, 
+NULL
+, NULL, 
+obj
+, NULL);
+
+1190 
+       `\96m_objeù_\99em_·¹_\8bxt_£t
+(
+nf_\99
+, "\96m.\8bxt.t\99Ë", 
+       `_gl_¡r
+(
+t\99Ë
+));
+
+1191 
+ad
+->
+grid\9afo
+.
+nf_\99
+ =\82f_it;
+
+1192 
+       `\96m_Çviäame_\99em_pÝ_cb_£t
+(
+nf_\99
+, 
+__gl_thumbs_pÝ_cb
+, 
+d©a
+);
+
+1194 ià(
+       `_gl_thumbs_g\91_ed\99_mode
+(
+d©a
+è> 
+GL_THUMBS_EDIT_FIRST
+) {
+
+1195 
+       `_gl_thumbs_ed\99\97\8b_v\9bw
+(
+d©a
+);
+
+1198 
+       `GL_FREEIF
+(
+ad
+->
+grid\9afo
+.
+t\99Ë
+);
+
+1199 ià(
+t\99Ë
+)
+
+1200 
+ad
+->
+grid\9afo
+.
+t\99Ë
+ = 
+       `¡rdup
+(title);
+
+1202 
+       `__gl_thumbs_add_b\8as
+(
+d©a
+, 
+·»Á
+, 
+nf_\99
+);
+
+1203 
+       `gl_dbg
+("Done");
+
+1205 
+       }
+}
+
+1208 \18\1e
+       $__gl_thumbs_d\96_v\9bw_cb
+(\1e*
+d©a
+, 
+Evas
+ *
+e
+, 
+Evas_Objeù
+ *
+obj
+,
+
+1209 \1e*
+ei
+)
+
+1211 
+Elm_G\92grid_I\8bm_CÏss
+ *
+gic
+ = 
+NULL
+;
+
+1212 
+gic
+ = 
+       `evas_objeù_d©a_g\91
+(
+obj
+, "gl_thumbs_item_style_key");
+
+1213 
+       `evas_objeù_d©a_£t
+(
+obj
+, "gl_thumbs_\99em_¡yË_key", (\1e*)
+NULL
+);
+
+1214 ià(
+gic
+)
+
+1215 
+       `\96m_g\92grid_\99em_þass_ä\93
+(
+gic
+);
+
+1216 
+       }
+}
+
+1218 
+E\9aa_BoÞ
+       $_gl_thumbs_­³nd_\99ems
+(\1e*
+d©a
+)
+
+1220 
+       `GL_CHECK_CANCEL
+(
+d©a
+);
+
+1223 ià(
+       `__gl_thumbs_idËr_­³nd_\99ems
+(
+d©a
+) < 0) {
+
+1224 
+       `gl_dbgE
+("Failed\81o\87ppend grid items!");
+
+1226 
+       `gl_dbg
+("Successful\81o\87ppend grid items!");
+
+1229 
+       `_gl_thumbs_£t_size
+(
+d©a
+, 
+NULL
+);
+
+1230 \15 
+ECORE_CALLBACK_CANCEL
+;
+
+1231 
+       }
+}
+
+1233 
+Elm_G\92grid_I\8bm_CÏss
+ *
+       $_gl_thumbs_Ãw_\99em_¡yË
+(
+Evas_Objeù
+ *
+·»Á
+)
+
+1235 
+       `GL_CHECK_NULL
+(
+·»Á
+);
+
+1237 
+Elm_G\92grid_I\8bm_CÏss
+ *
+gic
+ = 
+NULL
+;
+
+1239 
+gic
+ = 
+       `\96m_g\92grid_\99em_þass_Ãw
+();
+
+1240 
+       `GL_CHECK_NULL
+(
+gic
+);
+
+1242 
+       `evas_objeù_ev\92t_ÿÎback_add
+(
+·»Á
+, 
+EVAS_CALLBACK_DEL
+,
+
+1243 
+__gl_thumbs_d\96_v\9bw_cb
+, 
+gic
+);
+
+1244 
+       `evas_objeù_d©a_£t
+(
+·»Á
+, "gl_thumbs_\99em_¡yË_key", (\1e*)
+gic
+);
+
+1245 
+gic
+->
+\99em_¡yË
+ = 
+GL_GENGRID_ITEM_STYLE_THUMBNAIL
+;
+
+1246 
+gic
+->
+func
+.
+\8bxt_g\91
+ = 
+NULL
+;
+
+1247 
+gic
+->
+func
+.
+cÚ\8bÁ_g\91
+ = 
+__gl_thumbs_g\91_cÚ\8bÁ
+;
+
+1248 
+gic
+->
+func
+.
+d\96
+ = 
+NULL
+;
+
+1249 \15 
+gic
+;
+
+1250 
+       }
+}
+
+1252 \12
+       $_gl_thumbs_upd©e_»®ized_\99ems
+(\1e*
+d©a
+)
+
+1254 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1255 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1258 
+       `evas_objeù_sm¬t_ÿÎback_d\96
+(
+ad
+->
+grid\9afo
+.
+v\9bw
+, "unrealized",
+
+1259 
+__gl_thumbs_uėlized
+);
+
+1260 
+       `_gl_thumbs_£t_size
+(
+ad
+, 
+NULL
+);
+
+1261 
+       `\96m_g\92grid_»®ized_\99ems_upd©e
+(
+ad
+->
+grid\9afo
+.
+v\9bw
+);
+
+1262 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+ad
+->
+grid\9afo
+.
+v\9bw
+, "unrealized",
+
+1263 
+__gl_thumbs_uėlized
+, 
+ad
+);
+
+1265 
+       }
+}
+
+1267 
+Evas_Objeù
+ *
+       $_gl_thumbs_g\91_cÚ\8bÁ
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+·»Á
+,
+
+1268 
+gl_\99em
+ *
+g\99em
+, \12
+w
+, \12
+h
+)
+
+1270 
+       `GL_CHECK_NULL
+(
+g\99em
+);
+
+1271 
+       `GL_CHECK_NULL
+(
+g\99em
+->
+\99em
+);
+
+1272 
+       `GL_CHECK_NULL
+(
+·»Á
+);
+
+1273 
+       `GL_CHECK_NULL
+(
+d©a
+);
+
+1274 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1275 \ 5*
+·th
+ = 
+NULL
+;
+
+1276 
+Evas_Objeù
+ *
+Ïyout
+ = 
+NULL
+;
+
+1278 ià(
+       `GL_FILE_EXISTS
+(
+g\99em
+->
+\99em
+->
+thumb_u¾
+)) {
+
+1279 
+·th
+ = 
+g\99em
+->
+\99em
+->
+thumb_u¾
+;
+
+1282 
+·th
+ = 
+GL_ICON_NO_THUMBNAIL
+;
+
+1285 \12
+zoom_Ëv\96
+ = 
+ad
+->
+p\9ach\9afo
+.zoom_level;
+
+1287 ià(
+g\99em
+->
+\99em
+->
+ty³
+ =ð
+MEDIA_CONTENT_TYPE_VIDEO
+) {
+
+1288 \1d\12
+v_dur
+ = 0;
+
+1289 ià(
+g\99em
+->
+\99em
+->
+video_\9afo
+) {
+
+1290 
+v_dur
+ = 
+g\99em
+->
+\99em
+->
+video_\9afo
+->
+du¿tiÚ
+;
+
+1292 
+Ïyout
+ = 
+       `_gl_thumb_show_video
+(
+·»Á
+, 
+·th
+, 
+v_dur
+, 
+w
+, 
+h
+,
+
+1293 
+zoom_Ëv\96
+);
+
+1295 ià(
+g\99em
+->
+\99em
+->
+image_\9afo
+ &&
+
+1296 
+g\99em
+->
+\99em
+->
+image_\9afo
+->
+bur¡shÙ_id
+) {
+
+1297 
+Ïyout
+ = 
+       `_gl_thumb_show_image
+(
+·»Á
+, 
+·th
+, 0, 
+w
+, 
+h
+,
+
+1298 
+zoom_Ëv\96
+);
+
+1299 
+g\99em
+->
+\99em
+->
+mode
+ = 
+GL_CM_MODE_BURSTSHOT
+;
+
+1301 
+Ïyout
+ = 
+       `_gl_thumb_show_image
+(
+·»Á
+, 
+·th
+, 0, 
+w
+, 
+h
+,
+
+1302 
+zoom_Ëv\96
+);
+
+1305 \15 
+Ïyout
+;
+
+1306 
+       }
+}
+
+1308 \12
+       $_gl_thumbs_add_b\8as
+(\1e*
+d©a
+)
+
+1310 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1311 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1312 
+       `__gl_thumbs_add_b\8as
+(
+d©a
+, 
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+,\87d->
+grid\9afo
+.
+nf_\99
+);
+
+1314 
+       }
+}
+
+1316 \1e
+       $_gl_thumbs_mou£_down
+(\1e*
+d©a
+, 
+Evas
+ *
+e
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+1318 
+       `GL_CHECK
+(
+obj
+);
+
+1319 
+       `GL_CHECK
+(
+ei
+);
+
+1320 
+       `GL_CHECK
+(
+d©a
+);
+
+1321 
+gl_\99em
+ *
+g\99em
+ = (gl_\99em *è
+d©a
+;
+
+1322 
+       `GL_CHECK
+(
+g\99em
+->
+ad
+);
+
+1323 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+g\99em
+->ad;
+
+1324 
+Evas_Ev\92t_Mou£_Down
+ *
+ev
+ = (Evas_Ev\92t_Mou£_DowÀ*)
+ei
+;
+
+1326 
+ad
+->
+grid\9afo
+.
+mou£
+.
+x
+ = 
+ev
+->
+ou\8dut
+.x;
+
+1327 
+ad
+->
+grid\9afo
+.
+mou£
+.
+y
+ = 
+ev
+->
+ou\8dut
+.y;
+
+1329 #ifdeà
+_USE_SHRINK_EFFECT
+
+
+1330 ià(
+ad
+->
+ug\9afo
+.
+ug
+ =ð
+NULL
+) {
+
+1331 
+       `edje_objeù_sigÇl_em\99
+(
+       `_EDJ
+(
+obj
+), "mouse,down,shrink", "bg");
+
+1332 
+ad
+->
+grid\9afo
+.
+mou£
+.
+b_´es£d
+ = 
+\8cue
+;
+
+1335 
+       }
+}
+
+1337 \1e
+       $_gl_thumbs_mou£_up
+(\1e*
+d©a
+, 
+Evas
+ *
+e
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+1339 
+       `GL_CHECK
+(
+d©a
+);
+
+1340 
+gl_\99em
+ *
+g\99em
+ = (gl_\99em *)
+d©a
+;
+
+1341 
+       `GL_CHECK
+(
+g\99em
+->
+ad
+);
+
+1342 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+g\99em
+->ad;
+
+1344 ià(!
+ei
+ || !
+obj
+)
+
+1345 \10
+RET_WO_EXEC
+;
+
+1347 
+Evas_Ev\92t_Mou£_Up
+ *
+ev
+ = (Evas_Ev\92t_Mou£_U°*)
+ei
+;
+
+1348 ià(
+ev
+->
+ev\92t_æags
+ & 
+EVAS_EVENT_FLAG_ON_HOLD
+ ||
+
+1349 
+ev
+->
+ev\92t_æags
+ & 
+EVAS_EVENT_FLAG_ON_SCROLL
+)
+
+1350 \10
+RET_WO_EXEC
+;
+
+1352 ià((
+       `abs
+(
+ad
+->
+grid\9afo
+.
+mou£
+.
+x
+ - 
+ev
+->
+ou\8dut
+.xè> 
+GL_MOUSE_RANGE
+) ||
+
+1353 (
+       `abs
+(
+ad
+->
+grid\9afo
+.
+mou£
+.
+y
+ - 
+ev
+->
+ou\8dut
+.yè> 
+GL_MOUSE_RANGE
+))
+
+1354 \10
+RET_WO_EXEC
+;
+
+1356 
+       `gl_dbg
+("");
+
+1358 #ifdeà
+_USE_SHRINK_EFFECT
+
+
+1359 ià(
+ad
+->
+grid\9afo
+.
+mou£
+.
+b_´es£d
+) {
+
+1360 
+       `edje_objeù_sigÇl_em\99
+(
+       `_EDJ
+(
+obj
+), "mouse,up,expand", "bg");
+
+1361 
+       `edje_objeù_sigÇl_ÿÎback_add
+(
+       `_EDJ
+(
+obj
+), "shrink,expand,done",
+
+1362 "bg", 
+__gl_thumbs_shr\9ak_cb
+,
+
+1363 
+d©a
+);
+
+1364 
+ad
+->
+grid\9afo
+.
+mou£
+.
+b_´es£d
+ = 
+çl£
+;
+
+1368 
+RET_WO_EXEC
+:
+
+1370 ià(
+ad
+->
+grid\9afo
+.
+mou£
+.
+b_´es£d
+) {
+
+1371 
+       `edje_objeù_sigÇl_em\99
+(
+       `_EDJ
+(
+obj
+), "mouse,up,expand", "bg");
+
+1372 
+ad
+->
+grid\9afo
+.
+mou£
+.
+b_´es£d
+ = 
+çl£
+;
+
+1375 
+       `_gl_thumbs_Ý\92_f\9ee
+(
+d©a
+);
+
+1378 
+RET_WO_EXEC
+:
+
+1381 
+       }
+}
+
+1383 
+Evas_Objeù
+ *
+       $_gl_thumbs_add_grid
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+·»Á
+,
+
+1384 
+gl_thumb_mode
+mode
+)
+
+1386 
+       `GL_CHECK_NULL
+(
+·»Á
+);
+
+1387 
+       `GL_CHECK_NULL
+(
+d©a
+);
+
+1388 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1389 
+Evas_Objeù
+ *
+grid
+ = 
+NULL
+;
+
+1391 \12
+v\9bw_mode
+ = 
+       `gl_g\91_v\9bw_mode
+(
+ad
+);
+
+1392 
+grid
+ = 
+       `_gl_thumb_add_g\92grid
+(
+·»Á
+);
+
+1393 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+grid
+, "»®ized", 
+__gl_thumbs_»®ized
+,
+
+1394 
+d©a
+);
+
+1395 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+grid
+, "unrealized",
+
+1396 
+__gl_thumbs_uėlized
+, 
+d©a
+);
+
+1397 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+grid
+, "longpressed",
+
+1398 
+__gl_thumbs_lÚg´es£d_cb
+, 
+d©a
+);
+
+1399 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+grid
+, "language,changed",
+
+1400 
+__gl_thumbs_Ïng_chªged
+, 
+NULL
+);
+
+1402 
+       `__gl_thumbs_£t_ty³
+(
+ad
+);
+
+1403 
+       `_gl_ui_»£t_süÞËr_pos
+(
+grid
+);
+
+1405 
+       `__gl_thumbs_£t_\99em_¡yË
+(
+d©a
+);
+
+1406 
+       `_gl_thumbs_Ãw_\99em_¡yË
+(
+grid
+);
+
+1408 ià(!
+       `__gl_thumbs_ü\97\8b_\99ems
+(
+ad
+, 
+grid
+)) {
+
+1409 
+       `_gl_ui_d\96_süÞËr_pos
+(
+grid
+);
+
+1410 
+       `evas_objeù_d\96
+(
+grid
+);
+
+1411 
+grid
+ = 
+NULL
+;
+
+1412 
+Evas_Objeù
+ *
+noc
+ = 
+       `_gl_nocÚ\8bÁs_ü\97\8b
+(
+·»Á
+);
+
+1413 
+       `_gl_thumbs_£t_nocÚ\8bÁs
+(
+ad
+, 
+noc
+);
+
+1414 
+       `evas_objeù_show
+(
+noc
+);
+
+1415 \15 
+noc
+;
+
+1418 
+       `gl_dbg
+("thumbs_ú\88: %d", 
+ad
+->
+grid\9afo
+.
+couÁ
+);
+
+1419 
+       `_gl_thumbs_£t_size
+(
+ad
+, 
+grid
+);
+
+1420 ià(
+v\9bw_mode
+ !ð
+GL_VIEW_THUMBS_SELECT
+)
+
+1421 
+       `_gl_thumbs_£t_nocÚ\8bÁs
+(
+ad
+, 
+NULL
+);
+
+1422 
+       `evas_objeù_show
+(
+grid
+);
+
+1424 \15 
+grid
+;
+
+1425 
+       }
+}
+
+1427 \12
+       $_gl_thumbs_show_ed\99_v\9bw
+(\1e*
+d©a
+)
+
+1429 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1430 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1431 \12
+v\9bw_mode
+ = 
+       `gl_g\91_v\9bw_mode
+(
+ad
+);
+
+1432 
+boÞ
+b_»t
+ = 
+çl£
+;
+
+1433 
+Evas_Objeù
+ *
+v\9bw
+ = 
+NULL
+;
+
+1434 
+       `gl_dbg
+("v\9bw_mode: %d", 
+v\9bw_mode
+);
+
+1436 ià(
+v\9bw_mode
+ =ð
+GL_VIEW_THUMBS_EDIT
+) {
+
+1437 
+v\9bw
+ = 
+ad
+->
+grid\9afo
+.view;
+
+1438 } \vià(
+v\9bw_mode
+ =ð
+GL_VIEW_THUMBS_SELECT
+) {
+
+1439 
+v\9bw
+ = 
+ad
+->
+grid\9afo
+.
+£Ëù_v\9bw
+;
+
+1441 
+       `gl_dbgE
+("Wrong view mode!");
+
+1444 
+       `GL_CHECK_VAL
+(
+v\9bw
+, -1);
+
+1445 
+b_»t
+ = 
+       `__gl_thumbs_ü\97\8b_\99ems
+(
+ad
+, 
+v\9bw
+);
+
+1446 
+       `_gl_thumbs_£t_size
+(
+ad
+, 
+NULL
+);
+
+1448 ià(!
+b_»t
+) {
+
+1449 
+       `gl_dbgE
+("Create items failed!");
+
+1454 
+       }
+}
+
+1456 \12
+       $_gl_thumbs_show_v\9bw
+(\1e*
+d©a
+)
+
+1458 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1459 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1460 
+boÞ
+b_»t
+ = 
+çl£
+;
+
+1461 
+       `gl_dbg
+("");
+
+1463 ià(
+ad
+->
+grid\9afo
+.
+v\9bw
+ =ð
+NULL
+) {
+
+1464 
+       `gl_dbg
+("Error : Any gridview doesn't\83xist");
+
+1469 
+ad
+->
+grid\9afo
+.
+back_to_nÜm®
+ = 
+\8cue
+;
+
+1470 
+b_»t
+ = 
+       `__gl_thumbs_ü\97\8b_\99ems
+(
+ad
+,\87d->
+grid\9afo
+.
+v\9bw
+);
+
+1471 
+       `_gl_thumbs_£t_size
+(
+ad
+, 
+NULL
+);
+
+1473 ià(!
+b_»t
+) {
+
+1474 
+       `gl_dbgE
+("Create items failed!");
+
+1479 
+       }
+}
+
+1481 
+E\9aa_BoÞ
+       $_gl_thumbs_show_\99ems
+(\1e*
+d©a
+)
+
+1483 
+       `GL_CHECK_FALSE
+(
+d©a
+);
+
+1484 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1485 
+E\9aa_BoÞ
+»s
+ = 
+EINA_FALSE
+;
+
+1486 
+Evas_Objeù
+ *
+gv
+ = 
+NULL
+;
+
+1487 
+boÞ
+b_v\9bw
+ = 
+çl£
+;
+
+1488 
+       `gl_dbg
+("");
+
+1490 
+b_v\9bw
+ = 
+       `_gl_thumbs_g\91_v\9bw
+(
+ad
+, &
+gv
+);
+
+1491 
+       `GL_CHECK_FALSE
+(
+gv
+);
+
+1492 ià(
+b_v\9bw
+) {
+
+1493 
+»s
+ = 
+       `__gl_thumbs_ü\97\8b_\99ems
+(
+ad
+, 
+gv
+);
+
+1494 ià(!
+»s
+) {
+
+1495 
+       `gl_dbgW
+("create items failed!");
+
+1496 
+       `\96m_objeù_·¹_cÚ\8bÁ_un£t
+(
+ad
+->
+grid\9afo
+.
+Ïyout
+,
+
+1498 
+       `_gl_thumbs_d\96\91e_v\9bw
+(
+d©a
+);
+
+1499 
+       `__gl_thumbs_£t_v\9bw
+(
+ad
+, 
+NULL
+, 
+çl£
+);
+
+1500 
+Evas_Objeù
+ *
+noc
+ = 
+       `_gl_nocÚ\8bÁs_ü\97\8b
+(
+ad
+->
+grid\9afo
+.
+Ïyout
+);
+
+1501 
+       `evas_objeù_show
+(
+noc
+);
+
+1502 
+       `__gl_thumbs_£t_v\9bw
+(
+ad
+, 
+noc
+, 
+\8cue
+);
+
+1504 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+ad
+->
+grid\9afo
+.
+Ïyout
+,
+
+1505 "\96m.sw®low.v\9bw", 
+noc
+);
+
+1507 
+       `_gl_thumbs_£t_size
+(
+ad
+, 
+gv
+);
+
+1510 
+       `gl_dbg
+("Remove\82ocontents view.");
+
+1511 
+       `\96m_objeù_·¹_cÚ\8bÁ_un£t
+(
+ad
+->
+grid\9afo
+.
+Ïyout
+,
+
+1513 
+       `evas_objeù_hide
+(
+gv
+);
+
+1514 
+       `evas_objeù_d\96
+(
+gv
+);
+
+1515 
+       `__gl_thumbs_£t_v\9bw
+(
+ad
+, 
+NULL
+, 
+çl£
+);
+
+1516 
+boÞ
+b_noc
+ = 
+çl£
+;
+
+1518 
+Evas_Objeù
+ *
+v\9bw
+ = 
+NULL
+;
+
+1519 
+v\9bw
+ = 
+       `_gl_thumbs_add_grid
+(
+ad
+,\87d->
+grid\9afo
+.
+Ïyout
+, 0);
+
+1520 ià(
+ad
+->
+grid\9afo
+.
+nocÚ\8bÁs
+) {
+
+1521 
+b_noc
+ = 
+\8cue
+;
+
+1524 
+       `__gl_thumbs_£t_v\9bw
+(
+ad
+, 
+v\9bw
+, 
+b_noc
+);
+
+1526 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+ad
+->
+grid\9afo
+.
+Ïyout
+,
+
+1527 "\96m.sw®low.v\9bw", 
+v\9bw
+);
+
+1530 \15 
+»s
+;
+
+1531 
+       }
+}
+
+1533 \12
+       $_gl_thumbs_£t_li¡
+(\1e*
+d©a
+, 
+E\9aa_Li¡
+ *
+\96
+)
+
+1535 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1536 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1537 
+ad
+->
+grid\9afo
+.
+med\9fs_\96
+ = 
+\96
+;
+
+1539 
+       }
+}
+
+1541 \12
+       $_gl_thumbs_þ\97r_ªd_£t_li¡
+(\1e*
+d©a
+, 
+E\9aa_Li¡
+ *
+\96
+)
+
+1543 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1544 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1545 \12
+v\9bw_mode
+ = 
+       `gl_g\91_v\9bw_mode
+(
+d©a
+);
+
+1546 ià(
+v\9bw_mode
+ =ð
+GL_VIEW_THUMBS_SELECT
+ && 
+ad
+->
+grid\9afo
+.
+£Ëù_v\9bw
+) {
+
+1547 
+       `_gl_ui_§ve_süÞËr_pos
+(
+ad
+->
+grid\9afo
+.
+£Ëù_v\9bw
+);
+
+1548 
+       `\96m_g\92grid_þ\97r
+(
+ad
+->
+grid\9afo
+.
+£Ëù_v\9bw
+);
+
+1549 } \vià(
+ad
+->
+grid\9afo
+.
+v\9bw
+ && (ad->grid\9afo.v\9bw !ðad->grid\9afo.
+nocÚ\8bÁs
+)) {
+
+1550 
+       `_gl_ui_§ve_süÞËr_pos
+(
+ad
+->
+grid\9afo
+.
+v\9bw
+);
+
+1551 
+       `\96m_g\92grid_þ\97r
+(
+ad
+->
+grid\9afo
+.
+v\9bw
+);
+
+1553 
+       `_gl_d©a_ut\9e\97r_\99em_li¡
+(&(
+ad
+->
+grid\9afo
+.
+med\9fs_\96
+));
+
+1554 
+ad
+->
+grid\9afo
+.
+med\9fs_\96
+ = 
+\96
+;
+
+1556 
+       }
+}
+
+1558 \12
+       $_gl_thumbs_g\91_li¡
+(\1e*
+d©a
+, 
+E\9aa_Li¡
+ **
+p_\96
+)
+
+1560 
+       `GL_CHECK_VAL
+(
+p_\96
+, -1);
+
+1561 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1562 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1563 *
+p_\96
+ = 
+ad
+->
+grid\9afo
+.
+med\9fs_\96
+;
+
+1565 
+       }
+}
+
+1567 \12
+       $_gl_thumbs_upd©e_ed\99_¥l\99_v\9bw
+(\1e*
+d©a
+, \12
+nf_mode
+, \ 5*
+t\99Ë
+, 
+boÞ
+b_idËr
+,
+
+1568 
+Elm_Naviäame_I\8bm_PÝ_Cb
+func
+)
+
+1570 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1571 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1572 
+       `GL_CHECK_VAL
+(
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+, -1);
+
+1573 
+Evas_Objeù
+ *
+Ïyout
+ = 
+NULL
+;
+
+1574 
+Evas_Objeù
+ *
+v\9bw
+ = 
+NULL
+;
+
+1576 
+       `gl_£t_v\9bw_mode
+(
+d©a
+, 
+GL_VIEW_THUMBS
+);
+
+1577 
+v\9bw
+ = 
+       `_gl_thumbs_add_grid
+(
+ad
+,\87d->
+grid\9afo
+.
+Ïyout
+, 
+GL_THUMB_ALL
+);
+
+1578 ià(
+v\9bw
+ =ð
+NULL
+) {
+
+1579 
+       `evas_objeù_d\96
+(
+Ïyout
+);
+
+1580 
+       `gl_dbgE
+("Failed\81o\87dd gridview!");
+
+1583 
+ad
+->
+grid\9afo
+.
+upd©e_¥l\99_v\9bw
+ = 
+çl£
+;
+
+1584 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+ad
+->
+grid\9afo
+.
+Ïyout
+, "\96m.sw®low.v\9bw", 
+v\9bw
+);
+
+1585 
+ad
+->
+grid\9afo
+.
+v\9bw
+ = view;
+
+1586 
+       `\96m_objeù_\99em_d©a_£t
+(
+ad
+->
+grid\9afo
+.
+nf_\99
+, (\1e*)
+func
+);
+
+1587 
+       `\96m_objeù_\99em_\8bxt_£t
+(
+ad
+->
+grid\9afo
+.
+nf_\99
+, 
+t\99Ë
+);
+
+1588 
+       `GL_FREEIF
+(
+ad
+->
+grid\9afo
+.
+t\99Ë
+);
+
+1589 ià(
+t\99Ë
+) {
+
+1590 
+ad
+->
+grid\9afo
+.
+t\99Ë
+ = 
+       `¡rdup
+(title);
+
+1592 ià(
+       `_gl_thumbs_g\91_ed\99_mode
+(
+d©a
+è=ð
+GL_THUMBS_EDIT_NORMAL
+)
+
+1593 
+       `__gl_thumbs_ed\99_cb
+(
+ad
+,\87d->
+grid\9afo
+.
+v\9bw
+, 
+NULL
+);
+
+1594 \vià(
+       `_gl_thumbs_g\91_ed\99_mode
+(
+d©a
+è=ð
+GL_THUMBS_EDIT_COPY
+)
+
+1595 
+       `__gl_thumbs_cÝy_cb
+(
+ad
+,\87d->
+grid\9afo
+.
+v\9bw
+, 
+NULL
+);
+
+1596 \vià(
+       `_gl_thumbs_g\91_ed\99_mode
+(
+d©a
+è=ð
+GL_THUMBS_EDIT_MOVE
+)
+
+1597 
+       `__gl_thumbs_move_cb
+(
+ad
+,\87d->
+grid\9afo
+.
+v\9bw
+, 
+NULL
+);
+
+1599 \12
+£l_út
+ = 
+       `_gl_d©a_£Ëùed_li¡_couÁ
+(
+ad
+);
+
+1601 
+       `_gl_thumbs_upd©e_Ïb\96_\8bxt
+(
+ad
+->
+grid\9afo
+.
+nf_\99
+, 
+£l_út
+, 
+çl£
+);
+
+1602 
+gl_\99em
+ *
+g\99em
+ = 
+NULL
+;
+
+1603 \12
+i
+;
+
+1604 \12
+couÁ
+ = 
+       `e\9aa_li¡_couÁ
+(
+ad
+->
+grid\9afo
+.
+med\9fs_\96
+);
+
+1605 \ f
+i
+ = 0; i < 
+couÁ
+ ; i++) {
+
+1606 
+g\99em
+ = 
+       `e\9aa_li¡_Áh
+(
+ad
+->
+grid\9afo
+.
+med\9fs_\96
+, 
+i
+);
+
+1607 ià(
+g\99em
+) {
+
+1608 
+       `_gl_d©a_»¡Üe_£Ëùed
+(
+ad
+->
+£l\9afo
+.
+\96
+, 
+g\99em
+);
+
+1611 ià(
+g\99em
+ && g\99em->
+®bum
+->
+\96
+) {
+
+1612 \12
+®bum_£Ëù_couÁ
+ = 
+       `e\9aa_li¡_couÁ
+(
+g\99em
+->
+®bum
+->
+\96
+);
+
+1613 
+       `_gl_nÙify_check_£ÏÎ
+(
+ad
+,\87d->
+grid\9afo
+.
+nf_\99
+,\87d->grid\9afo.
+couÁ
+, 
+®bum_£Ëù_couÁ
+);
+
+1617 
+       }
+}
+
+1619 \12
+       $_gl_thumbs_upd©e_¥l\99_v\9bw
+(\1e*
+d©a
+, \12
+nf_mode
+, \ 5*
+t\99Ë
+, 
+boÞ
+b_idËr
+,
+
+1620 
+Elm_Naviäame_I\8bm_PÝ_Cb
+func
+)
+
+1622 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1623 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1624 
+       `GL_CHECK_VAL
+(
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+, -1);
+
+1625 
+Evas_Objeù
+ *
+Ïyout
+ = 
+NULL
+;
+
+1626 
+Evas_Objeù
+ *
+v\9bw
+ = 
+NULL
+;
+
+1628 
+v\9bw
+ = 
+       `_gl_thumbs_add_grid
+(
+ad
+,\87d->
+grid\9afo
+.
+Ïyout
+, 
+GL_THUMB_ALL
+);
+
+1629 ià(
+v\9bw
+ =ð
+NULL
+) {
+
+1630 
+       `evas_objeù_d\96
+(
+Ïyout
+);
+
+1631 
+       `gl_dbgE
+("Failed\81o\87dd gridview!");
+
+1634 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+ad
+->
+grid\9afo
+.
+Ïyout
+, "\96m.sw®low.v\9bw", 
+v\9bw
+);
+
+1635 
+ad
+->
+grid\9afo
+.
+v\9bw
+ = view;
+
+1636 
+       `gl_dbgE
+("T\99Ë i : %s", 
+t\99Ë
+);
+
+1637 
+       `\96m_objeù_\99em_d©a_£t
+(
+ad
+->
+grid\9afo
+.
+nf_\99
+, (\1e*)
+func
+);
+
+1638 
+       `\96m_objeù_\99em_\8bxt_£t
+(
+ad
+->
+grid\9afo
+.
+nf_\99
+, 
+       `_gl_¡r
+(
+t\99Ë
+));
+
+1639 
+       `GL_FREEIF
+(
+ad
+->
+grid\9afo
+.
+t\99Ë
+);
+
+1640 ià(
+t\99Ë
+) {
+
+1641 
+ad
+->
+grid\9afo
+.
+t\99Ë
+ = 
+       `¡rdup
+(title);
+
+1644 
+       }
+}
+
+1646 
+Evas_Objeù
+ *
+
+1647 
+       $_ü\97\8b_g\92grid
+(\1e*
+d©a
+)
+
+1649 
+       `GL_CHECK_VAL
+(
+d©a
+, 
+NULL
+);
+
+1650 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1651 
+Evas_Objeù
+ *
+Ïyout_\9aÃr
+ = 
+       `\96m_g\92grid_add
+(
+ad
+->
+ma\9a\9afo
+.
+w\9a
+);
+
+1653 
+       `\96m_g\92grid_®ign_£t
+(
+Ïyout_\9aÃr
+, 0.5f, 0.0);
+
+1654 
+       `\96m_g\92grid_hÜizÚ\8fl_£t
+(
+Ïyout_\9aÃr
+, 
+EINA_FALSE
+);
+
+1655 
+       `\96m_süÞËr_bounû_£t
+(
+Ïyout_\9aÃr
+, 
+EINA_FALSE
+, 
+EINA_TRUE
+);
+
+1656 
+       `\96m_süÞËr_pÞicy_£t
+(
+Ïyout_\9aÃr
+, 
+ELM_SCROLLER_POLICY_OFF
+,
+
+1657 
+ELM_SCROLLER_POLICY_AUTO
+);
+
+1658 
+       `\96m_g\92grid_muÉi_£Ëù_£t
+(
+Ïyout_\9aÃr
+, 
+EINA_TRUE
+);
+
+1659 
+       `evas_objeù_size_h\9at_weight_£t
+(
+Ïyout_\9aÃr
+, 
+EVAS_HINT_EXPAND
+,
+
+1660 
+EVAS_HINT_EXPAND
+);
+
+1661 \15 
+Ïyout_\9aÃr
+;
+
+1662 
+       }
+}
+
+1665 
+       $_ü\97\8b_¥l\99_®bum_v\9bw
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+Ïyout_\9aÃr
+)
+
+1667 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1668 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1669 ià(
+       `_gl_¥l\99_®bums_ü\97\8b_\99ems
+(
+ad
+, 
+Ïyout_\9aÃr
+) < 0) {
+
+1670 
+       `gl_dbgE
+("Failed\81o\87dd Split\87lbum view!");
+
+1673 \12
+w
+ = -1, 
+h
+ = -1;
+
+1674 
+       `evas_objeù_geom\91ry_g\91
+(
+ad
+->
+ma\9a\9afo
+.
+w\9a
+, 
+NULL
+, NULL, &
+w
+, &
+h
+);
+
+1675 ià(
+w
+ < 
+h
+) {
+
+1676 
+       `\96m_g\92grid_\99em_size_£t
+(
+Ïyout_\9aÃr
+, (
+w
+/3)-40, (w/3)-20);
+
+1678 
+       `\96m_g\92grid_\99em_size_£t
+(
+Ïyout_\9aÃr
+, (
+h
+/3)-20, (h/3)-40);
+
+1681 
+       }
+}
+
+1683 \12
+       $_gl_thumbs_ü\97\8b_v\9bw
+(\1e*
+d©a
+, \12
+nf_mode
+, \ 5*
+t\99Ë
+, 
+boÞ
+b_idËr
+,
+
+1684 
+Elm_Naviäame_I\8bm_PÝ_Cb
+func
+)
+
+1686 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1687 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1688 
+       `GL_CHECK_VAL
+(
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+, -1);
+
+1689 
+Evas_Objeù
+ *
+Ïyout
+ = 
+NULL
+;
+
+1690 
+Evas_Objeù
+ *
+v\9bw
+ = 
+NULL
+;
+
+1691 
+Evas_Objeù
+ *
+Ïyout_\9aÃr
+ = 
+NULL
+;
+
+1692 
+Ïyout_\9aÃr
+ = 
+       `_ü\97\8b_g\92grid
+(
+ad
+);
+
+1693 
+       `GL_CHECK_VAL
+(
+Ïyout_\9aÃr
+, -1);
+
+1695 ià(
+       `_gl_thumbs_g\91_ed\99_mode
+(
+d©a
+è> 
+GL_THUMBS_EDIT_FIRST
+)
+
+1696 
+       `gl_£t_v\9bw_mode
+(
+d©a
+, 
+GL_VIEW_THUMBS_EDIT
+);
+
+1698 
+       `gl_£t_v\9bw_mode
+(
+d©a
+, 
+GL_VIEW_THUMBS
+);
+
+1700 ià(
+       `_ü\97\8b_¥l\99_®bum_v\9bw
+(
+ad
+, 
+Ïyout_\9aÃr
+) == -1) {
+
+1701 
+       `gl_dbgE
+("Failed\81o\87dd\87lbum split view!");
+
+1705 
+ad
+->
+grid\9afo
+.
+upd©e_¥l\99_v\9bw
+ = 
+\8cue
+;
+
+1706 
+ad
+->
+grid\9afo
+.
+med\9f_di¥Ïy_Üd\94
+ = 
+ORDER_DESC
+;
+
+1707 
+Ïyout
+ = 
+       `_gl_ù¾_add_Ïyout
+(
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+);
+
+1708 
+       `GL_CHECK_VAL
+(
+Ïyout
+, -1);
+
+1709 
+       `evas_objeù_size_h\9at_weight_£t
+(
+Ïyout
+, 
+EVAS_HINT_EXPAND
+,
+
+1710 
+EVAS_HINT_EXPAND
+);
+
+1711 
+       `evas_objeù_size_h\9at_®ign_£t
+(
+Ïyout
+, 
+EVAS_HINT_FILL
+, EVAS_HINT_FILL);
+
+1713 ià(
+ad
+->
+grid\9afo
+.
+¥l\99_v\9bw_mode
+) {
+
+1714 \12
+w
+ = -1, 
+h
+ = -1;
+
+1715 
+       `evas_objeù_geom\91ry_g\91
+(
+ad
+->
+ma\9a\9afo
+.
+w\9a
+, 
+NULL
+, NULL, &
+w
+, &
+h
+);
+
+1716 
+Edje_Mes§ge_IÁ
+ *
+msg
+ = (Edje_Mes§ge_IÁ *)
+       `m®loc
+(\17(Edje_Message_Int) + \17(\12));
+
+1717 
+       `GL_CHECK_VAL
+(
+msg
+, -1);
+
+1718 
+msg
+->
+v®
+ = ((
+w
+ < 
+h
+) ? (w / 3) : (h / 3));
+
+1719 
+       `edje_objeù_mes§ge_£nd
+(
+       `\96m_Ïyout_edje_g\91
+(
+Ïyout
+), 
+EDJE_MESSAGE_INT
+, 1, 
+msg
+);
+
+1720 
+       `ä\93
+(
+msg
+);
+
+1721 
+       `\96m_objeù_sigÇl_em\99
+(
+Ïyout
+, "elm,splitview,state,visible", "elm");
+
+1723 
+       `\96m_objeù_sigÇl_em\99
+(
+Ïyout
+, "elm,splitview,state,default", "elm");
+
+1727 
+       `_gl_p\9ach_add_ev\92t
+(
+ad
+, 
+Ïyout
+);
+
+1728 
+ad
+->
+grid\9afo
+.
+is_­³nd
+ = 
+b_idËr
+;
+
+1730 
+v\9bw
+ = 
+       `_gl_thumbs_add_grid
+(
+ad
+, 
+Ïyout
+, 
+GL_THUMB_ALL
+);
+
+1731 ià(
+v\9bw
+ =ð
+NULL
+) {
+
+1732 
+       `evas_objeù_d\96
+(
+Ïyout
+);
+
+1733 
+       `gl_dbgE
+("Failed\81o\87dd gridview!");
+
+1736 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+Ïyout
+, "\96m.sw®low.v\9bw", 
+v\9bw
+);
+
+1737 
+ad
+->
+grid\9afo
+.
+v\9bw
+ = view;
+
+1738 
+ad
+->
+grid\9afo
+.
+Ïyout
+ =\86ayout;
+
+1740 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+Ïyout
+, "¥l\99.v\9bw", 
+Ïyout_\9aÃr
+);
+
+1741 
+       `__gl_thumbs_push_v\9bw
+(
+ad
+,\87d->
+ma\9a\9afo
+.
+Çviäame
+, 
+Ïyout
+, 
+nf_mode
+,
+
+1742 
+t\99Ë
+);
+
+1743 
+       `\96m_objeù_\99em_d©a_£t
+(
+ad
+->
+grid\9afo
+.
+nf_\99
+, (\1e*)
+func
+);
+
+1745 
+       `evas_objeù_ev\92t_ÿÎback_add
+(
+Ïyout
+, 
+EVAS_CALLBACK_DEL
+,
+
+1746 
+__gl_thumbs_d\96\91e_Ïyout_cb
+, 
+d©a
+);
+
+1747 
+       `gl_dbg
+("Done");
+
+1749 
+       }
+}
+
+1760 \12
+       $_gl_thumbs_upd©e_\99ems
+(\1e*
+d©a
+)
+
+1762 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1763 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1764 \12
+v\9bw_mode
+ = 
+       `gl_g\91_v\9bw_mode
+(
+ad
+);
+
+1765 
+boÞ
+b_ed\99_m
+ = 
+çl£
+;
+
+1767 
+       `gl_dbg
+("v\9bw_mode: %d", 
+v\9bw_mode
+);
+
+1768 ià(
+v\9bw_mode
+ =ð
+GL_VIEW_THUMBS_EDIT
+) {
+
+1769 
+       `gl_dbg
+("Edit view.");
+
+1770 
+b_ed\99_m
+ = 
+\8cue
+;
+
+1772 ià(
+       `_gl_thumbs_check_z\94o
+(
+d©a
+)) {
+
+1774 
+       `gl_pÝ_to_ù¾b¬_ly
+(
+ad
+);
+
+1776 ià(
+       `_gl_thumbs_check_z\94o
+(
+d©a
+)) {
+
+1777 
+       `gl_dbg
+("none video/image, show\82ocontents");
+
+1778 
+       `_gl_thumbs_show_nocÚ\8bÁs
+(
+ad
+);
+
+1780 
+       `gl_d\96_\9av®id_widg\91s
+(
+ad
+, 
+GL_INVALID_NEW_ENTRY_NOC
+);
+
+1781 } \vià(
+v\9bw_mode
+ =ð
+GL_VIEW_THUMBS
+) {
+
+1782 
+       `_gl_thumbs_show_\99ems
+(
+ad
+);
+
+1784 
+       `_gl_thumbs_check_b\8as
+(
+d©a
+);
+
+1785 } \vià(
+v\9bw_mode
+ =ð
+GL_VIEW_THUMBS_EDIT
+) {
+
+1786 
+       `_gl_thumbs_show_ed\99_v\9bw
+(
+ad
+);
+
+1790 ià(!
+b_ed\99_m
+)
+
+1794 \12
+£l_út
+ = 
+       `_gl_d©a_£Ëùed_li¡_couÁ
+(
+ad
+);
+
+1796 ià(
+£l_út
+ == 0)
+
+1797 
+       `gl_d\96_\9av®id_widg\91s
+(
+ad
+, 
+GL_INVALID_NEW_ENTRY
+);
+
+1800 
+gl_\99em
+ *
+g\99em
+ = 
+NULL
+;
+
+1801 
+g\99em
+ = 
+       `e\9aa_li¡_Áh
+(
+ad
+->
+grid\9afo
+.
+med\9fs_\96
+, 0);
+
+1802 \12
+®bum_£l_couÁ
+ = 
+       `e\9aa_li¡_couÁ
+(
+g\99em
+->
+®bum
+->
+\96
+);
+
+1803 
+       `_gl_nÙify_check_£ÏÎ
+(
+ad
+,\87d->
+grid\9afo
+.
+nf_\99
+,
+
+1804 
+ad
+->
+grid\9afo
+.
+couÁ
+, 
+®bum_£l_couÁ
+);
+
+1805 
+       `_gl_thumbs_upd©e_Ïb\96_\8bxt
+(
+ad
+->
+grid\9afo
+.
+nf_\99
+, 
+£l_út
+, 
+çl£
+);
+
+1809 
+       }
+}
+
+1811 \12
+       $_gl_thumbs_upd©e_v\9bw
+(\1e*
+d©a
+)
+
+1813 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1814 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1815 
+       `gl_sdbg
+("grid_ty³: %d", 
+ad
+->
+grid\9afo
+.
+grid_ty³
+);
+
+1817 \1a
+ad
+->
+grid\9afo
+.
+grid_ty³
+) {
+
+1818 \ 4
+GL_GRID_T_LOCAL
+:
+
+1819 \ 4
+GL_GRID_T_ALLALBUMS
+:
+
+1820 \ 4
+GL_GRID_T_FAV
+:
+
+1823 
+       `gl_dbgE
+(" creating split\87lbum view!");
+
+1824 
+Evas_Objeù
+ *
+Ïyout_\9aÃr
+ = 
+       `\96m_objeù_·¹_cÚ\8bÁ_g\91
+(
+ad
+->
+grid\9afo
+.
+Ïyout
+, "split.view");
+
+1825 ià(!
+Ïyout_\9aÃr
+) {
+
+1826 
+       `gl_dbgE
+("Failed\81o\87dd split\87lbum view!");
+
+1828 
+       `_ü\97\8b_¥l\99_®bum_v\9bw
+(
+ad
+, 
+Ïyout_\9aÃr
+);
+
+1829 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+ad
+->
+grid\9afo
+.
+Ïyout
+, "¥l\99.v\9bw", 
+Ïyout_\9aÃr
+);
+
+1832 
+       `_gl_thumbs_upd©e_\99ems
+(
+ad
+);
+
+1836 
+       `gl_dbgE
+("Wrong grid\81ype!");
+
+1840 
+       }
+}
+
+1842 \12
+       $_gl_thumbs_de¡roy_v\9bw
+(\1e*
+d©a
+, 
+boÞ
+b_pÝ
+)
+
+1844 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1845 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1846 \12
+v\9bw_mode
+ = 
+       `gl_g\91_v\9bw_mode
+(
+ad
+);
+
+1847 
+       `gl_dbg
+("v\9bw_mode: %d.", 
+v\9bw_mode
+);
+
+1849 
+       `gl_d\96_\9av®id_widg\91s
+(
+ad
+, 
+GL_INVALID_NONE
+);
+
+1850 
+       `_gl_®bums_£t_cu¼\92t
+(
+d©a
+, 
+NULL
+);
+
+1853 ià(
+b_pÝ
+) {
+
+1855 
+       `\96m_Çviäame_\99em_pÝ_to
+(
+ad
+->
+grid\9afo
+.
+nf_\99
+);
+
+1857 ià(
+v\9bw_mode
+ =ð
+GL_VIEW_THUMBS_EDIT
+)
+
+1858 
+       `gl_£t_v\9bw_mode
+(
+d©a
+, 
+GL_VIEW_THUMBS
+);
+
+1859 
+       `\96m_Çviäame_\99em_pÝ_to
+(
+ad
+->
+ù¾\9afo
+.
+nf_\99
+);
+
+1862 
+       }
+}
+
+1864 \12
+       $_gl_thumbs_de¡roy_v\9bw_w\99h_cb
+(\1e*
+d©a
+, \1e*
+cb
+)
+
+1866 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1867 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1868 
+       `gl_dbg
+("start");
+
+1871 
+       `_gl_thumbs_de¡roy_v\9bw
+(
+d©a
+, 
+çl£
+);
+
+1873 
+       `_gl_ui_d\96_nf_\99ems
+(
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+,\87d->
+ù¾\9afo
+.
+nf_\99
+);
+
+1874 ià(
+cb
+) {
+
+1875 \12(*
+þo£_cb
+è(\1e*
+d©a
+);
+
+1876 
+þo£_cb
+ = 
+cb
+;
+
+1877 
+       `þo£_cb
+(
+d©a
+);
+
+1879 
+       `gl_dbg
+("done");
+
+1881 
+       }
+}
+
+1888 
+boÞ
+       $_gl_thumbs_g\91_v\9bw
+(\1e*
+d©a
+, 
+Evas_Objeù
+ **
+v\9bw
+)
+
+1890 
+       `GL_CHECK_FALSE
+(
+d©a
+);
+
+1891 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1892 
+Evas_Objeù
+ *
+gv
+ = 
+NULL
+;
+
+1893 
+boÞ
+b_v\9bw
+ = 
+çl£
+;
+
+1895 
+gv
+ = 
+ad
+->
+grid\9afo
+.
+v\9bw
+;
+
+1896 ià(
+gv
+ && 
+ad
+->
+grid\9afo
+.
+nocÚ\8bÁs
+ =ð
+NULL
+)
+
+1897 
+b_v\9bw
+ = 
+\8cue
+;
+
+1900 ià(!
+b_v\9bw
+)
+
+1901 
+       `gl_dbg
+("Previous view is Nocontents...");
+
+1904 ià(
+v\9bw
+)
+
+1905 *
+v\9bw
+ = 
+gv
+;
+
+1907 \15 
+b_v\9bw
+;
+
+1908 
+       }
+}
+
+1913 
+boÞ
+       $_gl_thumbs_show_nocÚ\8bÁs
+(\1e*
+d©a
+)
+
+1915 
+       `GL_CHECK_FALSE
+(
+d©a
+);
+
+1916 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1919 
+       `_gl_thumbs_d\96\91e_v\9bw
+(
+ad
+);
+
+1921 
+Evas_Objeù
+ *
+noc
+ = 
+NULL
+;
+
+1922 
+noc
+ = 
+       `_gl_nocÚ\8bÁs_ü\97\8b
+(
+ad
+->
+grid\9afo
+.
+Ïyout
+);
+
+1923 
+ad
+->
+grid\9afo
+.
+v\9bw
+ = 
+noc
+;
+
+1924 
+ad
+->
+grid\9afo
+.
+nocÚ\8bÁs
+ = 
+noc
+;
+
+1925 
+       `\96m_objeù_·¹_cÚ\8bÁ_un£t
+(
+ad
+->
+grid\9afo
+.
+Ïyout
+, "elm.swallow.view");
+
+1926 
+       `evas_objeù_show
+(
+ad
+->
+grid\9afo
+.
+v\9bw
+);
+
+1927 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+ad
+->
+grid\9afo
+.
+Ïyout
+, "elm.swallow.view",
+
+1928 
+ad
+->
+grid\9afo
+.
+v\9bw
+);
+
+1929 
+       `_gl_thumbs_check_b\8as
+(
+ad
+);
+
+1930 \15 
+\8cue
+;
+
+1931 
+       }
+}
+
+1934 \12
+       $_gl_thumbs_£t_nocÚ\8bÁs
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+noc
+)
+
+1936 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1937 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1938 
+ad
+->
+grid\9afo
+.
+nocÚ\8bÁs
+ = 
+noc
+;
+
+1940 
+       }
+}
+
+1942 \12
+       $_gl_thumbs_£t_size
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+gridv\9bw
+)
+
+1944 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1945 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1946 
+Evas_Objeù
+ *
+gv
+ = 
+NULL
+;
+
+1948 ià(
+gridv\9bw
+) {
+
+1949 
+gv
+ = 
+gridv\9bw
+;
+
+1951 
+boÞ
+b_v\9bw
+ = 
+çl£
+;
+
+1952 ià(
+       `gl_g\91_v\9bw_mode
+(
+d©a
+è=ð
+GL_VIEW_THUMBS_SELECT
+) {
+
+1953 
+b_v\9bw
+ = 
+\8cue
+;
+
+1954 
+gv
+ = 
+ad
+->
+grid\9afo
+.
+£Ëù_v\9bw
+;
+
+1956 
+b_v\9bw
+ = 
+       `_gl_thumbs_g\91_v\9bw
+(
+ad
+, &
+gv
+);
+
+1959 ià(!
+b_v\9bw
+ || !
+gv
+) {
+
+1960 
+       `gl_dbgE
+("gridview is invalid!");
+
+1964 ià(
+ad
+->
+grid\9afo
+.
+¥l\99_v\9bw_mode
+ =ð
+DETAIL_VIEW
+) {
+
+1965 
+       `_gl_thumb_£t_size
+(
+ad
+, 
+gv
+, &×d->
+grid\9afo
+.
+icÚ_w
+),
+
+1966 &(
+ad
+->
+grid\9afo
+.
+icÚ_h
+));
+
+1967 } \vià(
+ad
+->
+grid\9afo
+.
+¥l\99_v\9bw_mode
+ =ð
+SPLIT_VIEW
+) {
+
+1968 
+       `_gl_thumb_¥l\99_£t_size
+(
+ad
+, 
+gv
+);
+
+1971 ià(
+       `gl_g\91_v\9bw_mode
+(
+ad
+è=ð
+GL_VIEW_THUMBS_SELECT
+) {
+
+1972 
+       `_gl_thumb_¥l\99_£t_size
+(
+ad
+, 
+gv
+);
+
+1976 
+       }
+}
+
+1978 \12
+       $_gl_thumbs_þ\97r_cbs
+(
+Evas_Objeù
+ *
+grid
+)
+
+1980 
+       `GL_CHECK_VAL
+(
+grid
+, -1);
+
+1981 
+       `evas_objeù_sm¬t_ÿÎback_d\96
+(
+grid
+, "»®ized", 
+__gl_thumbs_»®ized
+);
+
+1982 
+       `evas_objeù_sm¬t_ÿÎback_d\96
+(
+grid
+, "unrealized",
+
+1983 
+__gl_thumbs_uėlized
+);
+
+1984 
+       `evas_objeù_sm¬t_ÿÎback_d\96
+(
+grid
+, "longpressed",
+
+1985 
+__gl_thumbs_lÚg´es£d_cb
+);
+
+1987 
+       }
+}
+
+1989 \12
+       $_gl_thumbs_d\96\91e_v\9bw
+(\1e*
+d©a
+)
+
+1991 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1992 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1994 ià(
+ad
+->
+grid\9afo
+.
+v\9bw
+) {
+
+1995 
+       `_gl_thumbs_þ\97r_cbs
+(
+ad
+->
+grid\9afo
+.
+v\9bw
+);
+
+1996 
+       `_gl_ui_d\96_süÞËr_pos
+(
+ad
+->
+grid\9afo
+.
+v\9bw
+);
+
+1997 
+       `evas_objeù_d\96
+(
+ad
+->
+grid\9afo
+.
+v\9bw
+);
+
+1998 
+ad
+->
+grid\9afo
+.
+v\9bw
+ = 
+NULL
+;
+
+2001 
+       }
+}
+
+2004 \12
+       $_gl_thumbs_upd©e_size
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+v\9bw
+)
+
+2006 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+2007 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+2008 
+Evas_Objeù
+ *
+_v\9bw
+ = 
+NULL
+;
+
+2009 \12
+v\9bw_mode
+ = 
+       `gl_g\91_v\9bw_mode
+(
+ad
+);
+
+2010 
+       `gl_dbg
+("");
+
+2012 ià(
+v\9bw
+) {
+
+2013 
+_v\9bw
+ = 
+v\9bw
+;
+
+2015 
+boÞ
+b_v\9bw
+ = 
+çl£
+;
+
+2016 ià(
+v\9bw_mode
+ =ð
+GL_VIEW_THUMBS_SELECT
+) {
+
+2017 
+b_v\9bw
+ = 
+\8cue
+;
+
+2018 
+_v\9bw
+ = 
+ad
+->
+grid\9afo
+.
+£Ëù_v\9bw
+;
+
+2020 
+b_v\9bw
+ = 
+       `_gl_thumbs_g\91_v\9bw
+(
+ad
+, &
+_v\9bw
+);
+
+2023 ià(!
+b_v\9bw
+ || !
+_v\9bw
+) {
+
+2024 
+       `gl_dbgE
+("gridview is invalid!");
+
+2029 
+       `_gl_thumbs_£t_size
+(
+d©a
+, 
+_v\9bw
+);
+
+2031 
+       `_gl_thumb_upd©e_g\92grid
+(
+_v\9bw
+);
+
+2034 
+       }
+}
+
+2040 
+boÞ
+       $_gl_thumbs_is_­³nd
+(
+gl_\99em
+ *
+g\99em
+, \ 5**
+bur¡shÙ_id
+)
+
+2042 
+       `GL_CHECK_FALSE
+(
+g\99em
+);
+
+2043 
+       `GL_CHECK_FALSE
+(
+g\99em
+->
+\99em
+);
+
+2044 
+       `GL_CHECK_FALSE
+(
+bur¡shÙ_id
+);
+
+2045 
+boÞ
+b_to_­³nd
+ = 
+çl£
+;
+
+2047 ià(
+g\99em
+->
+\99em
+->
+ty³
+ =ð
+MEDIA_CONTENT_TYPE_IMAGE
+ &&
+
+2048 
+g\99em
+->
+\99em
+->
+image_\9afo
+ &&
+
+2049 
+g\99em
+->
+\99em
+->
+image_\9afo
+->
+bur¡shÙ_id
+) {
+
+2051 ià(*
+bur¡shÙ_id
+ =ð
+NULL
+ ||
+
+2052 
+       `g_¡rcmp0
+(*
+bur¡shÙ_id
+, 
+g\99em
+->
+\99em
+->
+image_\9afo
+->burstshot_id)) {
+
+2053 *
+bur¡shÙ_id
+ = 
+g\99em
+->
+\99em
+->
+image_\9afo
+->burstshot_id;
+
+2054 
+b_to_­³nd
+ = 
+\8cue
+;
+
+2058 
+b_to_­³nd
+ = 
+\8cue
+;
+
+2059 *
+bur¡shÙ_id
+ = 
+NULL
+;
+
+2061 \15 
+b_to_­³nd
+;
+
+2062 
+       }
+}
+
+2064 
+boÞ
+       $_gl_thumbs_check_z\94o
+(\1e*
+d©a
+)
+
+2066 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+2067 
+E\9aa_Li¡
+ *
+med\9fs_\96
+ = 
+NULL
+;
+
+2069 
+       `_gl_thumbs_g\91_li¡
+(
+d©a
+, &
+med\9fs_\96
+);
+
+2070 \15 (
+       `e\9aa_li¡_couÁ
+(
+med\9fs_\96
+) <= 0);
+
+2071 
+       }
+}
+
+2074 \12
+       $_gl_thumbs_upd©e_Ïb\96
+(
+Elm_Objeù_I\8bm
+ *
+nf_\99
+, \ 5*
+t\99Ë
+)
+
+2076 
+       `GL_CHECK_VAL
+(
+nf_\99
+, -1);
+
+2077 
+       `\96m_objeù_\99em_·¹_\8bxt_£t
+(
+nf_\99
+, "\96m.\8bxt.t\99Ë", 
+       `_gl_¡r
+(
+t\99Ë
+));
+
+2078 ià(
+       `_gl_is_¡r_id
+(
+t\99Ë
+))
+
+2079 
+       `_gl_ui_£t_\8cª¦©abË_\99em
+(
+nf_\99
+, 
+t\99Ë
+);
+
+2081 
+       }
+}
+
+2084 \12
+       $_gl_thumbs_upd©e_Ïb\96_\8bxt
+(
+Elm_Objeù_I\8bm
+ *
+nf_\99
+, \12
+£l_út
+,
+
+2085 
+boÞ
+b_Ïng
+)
+
+2087 
+       `GL_CHECK_VAL
+(
+nf_\99
+, -1);
+
+2088 
+       `gl_dbg
+("CouÁ: %d,\86ªg: %d", 
+£l_út
+, 
+b_Ïng
+);
+
+2089 \ 5*
+pd_£Ëùed
+ = 
+GL_STR_PD_SELECTED
+;
+
+2091 
+Evas_Objeù
+ *
+b\8a
+ = 
+       `\96m_objeù_\99em_·¹_cÚ\8bÁ_g\91
+(
+nf_\99
+, 
+GL_NAVIFRAME_TITLE_RIGHT_BTN
+);
+
+2093 ià(
+b\8a
+) {
+
+2094 ià(
+£l_út
+ > 0) {
+
+2095 
+       `\96m_objeù_di§bËd_£t
+(
+b\8a
+, 
+EINA_FALSE
+);
+
+2097 
+       `\96m_objeù_di§bËd_£t
+(
+b\8a
+, 
+EINA_TRUE
+);
+
+2102 ià(
+£l_út
+ > 0) {
+
+2103 \ 5*
+\8bxt
+ = 
+NULL
+;
+
+2104 
+\8bxt
+ = 
+       `g_¡rdup_´\9atf
+(
+pd_£Ëùed
+, 
+£l_út
+);
+
+2105 
+       `_gl_thumbs_upd©e_Ïb\96
+(
+nf_\99
+, 
+\8bxt
+);
+
+2106 
+       `GL_GFREEIF
+(
+\8bxt
+);
+
+2107 } \vià(!
+b_Ïng
+) {
+
+2109 
+       `_gl_thumbs_upd©e_Ïb\96
+(
+nf_\99
+, 
+GL_STR_ID_SELECT_ITEM
+);
+
+2112 
+       }
+}
+
+2114 \12
+       $_gl_thumbs_upd©e_Ïng
+(\1e*
+d©a
+)
+
+2116 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+2118 
+       }
+}
+
+2120 \12
+       $_gl_thumbs_di§bË_¦ideshow
+(\1e*
+d©a
+, 
+boÞ
+b_di§bËd
+)
+
+2122 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+2123 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+2124 
+       `gl_dbg
+("b_di§bË: %d", 
+b_di§bËd
+);
+
+2125 
+ad
+->
+grid\9afo
+.
+b_¦ideshow_di§bË
+ = 
+b_di§bËd
+;
+
+2127 
+       }
+}
+
+2129 \12
+       $_gl_thumbs_di§bË_sh¬e
+(\1e*
+d©a
+, 
+boÞ
+b_di§bËd
+)
+
+2131 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+2132 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+2133 
+       `gl_dbg
+("b_di§bË: %d", 
+b_di§bËd
+);
+
+2134 
+       `GL_CHECK_VAL
+(
+ad
+->
+grid\9afo
+.
+nf_\99
+, -1);
+
+2135 
+Evas_Objeù
+ *
+b\8a
+ = 
+NULL
+;
+
+2136 
+b\8a
+ = 
+       `\96m_objeù_\99em_·¹_cÚ\8bÁ_g\91
+(
+ad
+->
+grid\9afo
+.
+nf_\99
+,
+
+2137 
+GL_NAVIFRAME_TITLE_LEFT_BTN
+);
+
+2138 ià(
+b\8a
+)
+
+2139 
+       `\96m_objeù_di§bËd_£t
+(
+b\8a
+, 
+b_di§bËd
+);
+
+2141 
+       `gl_dbgE
+("Failed\81o get share button!");
+
+2143 
+       }
+}
+
+2146 \12
+       $_gl_thumbs_check_b\8as
+(\1e*
+d©a
+)
+
+2148 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+2149 
+       `__gl_thumbs_mode_»£t_b\8as
+(
+d©a
+);
+
+2151 
+       }
+}
+
+2153 \12
+       $_gl_thumbs_upd©e_£qu\92û
+(\1e*
+d©a
+)
+
+2155 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+2156 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+2157 
+gl_\99em
+ *
+g\99em
+ = 
+NULL
+;
+
+2158 
+Elm_Objeù_I\8bm
+ *
+f\9c¡_\99
+ = 
+NULL
+;
+
+2159 
+Elm_Objeù_I\8bm
+ *
+Ãxt_\99
+ = 
+NULL
+;
+
+2160 
+Elm_Objeù_I\8bm
+ *
+ϡ_\99
+ = 
+NULL
+;
+
+2162 
+Evas_Objeù
+ *
+v\9bw
+ = 
+ad
+->
+grid\9afo
+.view;
+
+2163 ià(
+       `gl_g\91_v\9bw_mode
+(
+d©a
+è=ð
+GL_VIEW_THUMBS_SELECT
+)
+
+2164 
+v\9bw
+ = 
+ad
+->
+grid\9afo
+.
+£Ëù_v\9bw
+;
+
+2165 
+       `GL_CHECK_VAL
+(
+v\9bw
+, -1);
+
+2166 
+f\9c¡_\99
+ = 
+       `\96m_g\92grid_f\9c¡_\99em_g\91
+(
+v\9bw
+);
+
+2167 
+ϡ_\99
+ = 
+       `\96m_g\92grid_Ï¡_\99em_g\91
+(
+v\9bw
+);
+
+2169 \12
+£qu\92û
+ = 1;
+
+2170 \1f
+f\9c¡_\99
+) {
+
+2171 
+Ãxt_\99
+ = 
+       `\96m_g\92grid_\99em_Ãxt_g\91
+(
+f\9c¡_\99
+);
+
+2173 ià(
+       `\96m_g\92grid_\99em_\99em_þass_g\91
+(
+f\9c¡_\99
+è=ð&(
+ad
+->
+grid\9afo
+.
+d©e_gic
+))
+
+2174 \10
+GL_THUMBS_NEXT
+;
+
+2176 
+g\99em
+ = 
+       `\96m_objeù_\99em_d©a_g\91
+(
+f\9c¡_\99
+);
+
+2177 ià(
+g\99em
+)
+
+2178 
+g\99em
+->
+£qu\92û
+ = sequence++;
+
+2179 
+g\99em
+ = 
+NULL
+;
+
+2181 
+GL_THUMBS_NEXT
+:
+
+2183 ià(
+ϡ_\99
+ =ð
+f\9c¡_\99
+) {
+
+2184 
+       `gl_dbg
+("done!");
+
+2187 
+f\9c¡_\99
+ = 
+Ãxt_\99
+;
+
+2191 
+       }
+}
+
+2193 \12
+       $_gl_thumbs_£t_ed\99_mode
+(\1e*
+d©a
+, \12
+mode
+)
+
+2195 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+2196 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+2197 
+ad
+->
+grid\9afo
+.
+ed\99_mode
+ = 
+mode
+;
+
+2199 
+       }
+}
+
+2201 \12
+       $_gl_thumbs_g\91_ed\99_mode
+(\1e*
+d©a
+)
+
+2203 
+       `GL_CHECK_FALSE
+(
+d©a
+);
+
+2204 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+2205 \15 
+ad
+->
+grid\9afo
+.
+ed\99_mode
+;
+
+2206 
+       }
+}
+
+2208 \12
+       $_gl_thumbs_rÙ©e_v\9bw
+(\1e*
+d©a
+)
+
+2210 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+2211 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+2212 
+E\9aa_Li¡
+ *
+\99s
+ = 
+NULL
+;
+
+2213 
+E\9aa_Li¡
+ *
+l
+ = 
+NULL
+;
+
+2214 
+Elm_Objeù_I\8bm
+ *
+\99
+ = 
+NULL
+;
+
+2215 
+gl_\99em
+ *
+g\99em
+ = 
+NULL
+;
+
+2217 ià(
+ad
+->
+grid\9afo
+.
+v\9bw
+ =ðad->grid\9afo.
+nocÚ\8bÁs
+)
+
+2220 \12
+w
+ = -1;
+
+2221 \12
+h
+ = -1;
+
+2222 ià(
+       `gl_g\91_v\9bw_mode
+(
+ad
+è=ð
+GL_VIEW_THUMBS_EDIT
+) {
+
+2223 
+       `evas_objeù_geom\91ry_g\91
+(
+ad
+->
+ma\9a\9afo
+.
+w\9a
+, 
+NULL
+, NULL, &
+w
+, &
+h
+);
+
+2224 
+Edje_Mes§ge_IÁ
+ *
+msg
+ = (Edje_Mes§ge_IÁ *)
+       `m®loc
+(\17(Edje_Message_Int) + \17(\12));
+
+2225 
+       `GL_CHECK_VAL
+(
+msg
+, -1);
+
+2226 ià(
+ad
+->
+grid\9afo
+.
+¥l\99_v\9bw_mode
+ =ð
+DETAIL_VIEW
+) {
+
+2227 
+msg
+->
+v®
+ = 
+h
+;
+
+2229 
+msg
+->
+v®
+ = ((
+w
+ < 
+h
+) ? (h - (w / 3)) : (w - (h / 3)));
+
+2231 
+       `gl_dbgE
+("msg v®u\90: %d", 
+msg
+->
+v®
+);
+
+2232 
+       `edje_objeù_mes§ge_£nd
+(
+       `\96m_Ïyout_edje_g\91
+(
+ad
+->
+grid\9afo
+.
+Ïyout
+), 
+EDJE_MESSAGE_INT
+, 2, 
+msg
+);
+
+2233 
+       `ä\93
+(
+msg
+);
+
+2234 
+       `\96m_objeù_sigÇl_em\99
+(
+ad
+->
+grid\9afo
+.
+Ïyout
+, "elm,selectall,state,visible", "elm");
+
+2236 
+       `_gl_thumbs_£t_size
+(
+d©a
+, 
+NULL
+);
+
+2238 
+\99s
+ = 
+       `\96m_g\92grid_»®ized_\99ems_g\91
+(
+ad
+->
+grid\9afo
+.
+v\9bw
+);
+
+2239 
+       `GL_CHECK_VAL
+(
+\99s
+, -1);
+
+2241 
+       `EINA_LIST_FOREACH
+(
+\99s
+, 
+l
+, 
+\99
+) {
+
+2242 ià(
+\99
+ =ð
+NULL
+) {
+
+2243 
+       `gl_dbgE
+("Invalid item!");
+
+2247 
+g\99em
+ = 
+       `\96m_objeù_\99em_d©a_g\91
+(
+\99
+);
+
+2248 ià(
+g\99em
+ && g\99em->
+\99em
+ &&g\99em->\99em->
+image_\9afo
+ &&
+
+2249 
+g\99em
+->
+\99em
+->
+image_\9afo
+->
+bur¡shÙ_id
+) {
+
+2251 
+       `\96m_g\92grid_\99em_upd©e
+(
+\99
+);
+
+2255 
+       }
+}
+
+2257 \1e
+       $_gl_thumbs_chªge_v\9bw
+(\1e*
+d©a
+, \12
+´ev_x
+, \12
+cu¼\92t_x
+)
+
+2259 
+       `GL_CHECK
+(
+d©a
+);
+
+2260 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+2261 \12
+diff
+ = 0;
+
+2262 \12
+w
+ = -1;
+
+2263 \12
+h
+ = -1;
+
+2265 
+       `evas_objeù_geom\91ry_g\91
+(
+ad
+->
+ma\9a\9afo
+.
+w\9a
+, 
+NULL
+, NULL, &
+w
+, &
+h
+);
+
+2266 \12
+off£t
+ = ((
+w
+ < 
+h
+) ? (w / 8) : (h / 8));
+
+2267 
+diff
+ = (
+cu¼\92t_x
+ - 
+´ev_x
+);
+
+2268 \12
+v\9bw_mode
+ = 
+       `gl_g\91_v\9bw_mode
+(
+ad
+);
+
+2269 ià(
+v\9bw_mode
+ =ð
+GL_VIEW_THUMBS_EDIT
+ || v\9bw_mod\90
+GL_VIEW_THUMBS
+) {
+
+2270 ià((
+diff
+ + 
+off£t
+) < 0) {
+
+2271 
+       `\96m_objeù_sigÇl_em\99
+(
+ad
+->
+grid\9afo
+.
+Ïyout
+, "elm,splitview,state,default", "elm");
+
+2272 
+ad
+->
+grid\9afo
+.
+¥l\99_v\9bw_mode
+ = 
+DETAIL_VIEW
+;
+
+2273 
+       `_gl_thumbs_£t_size
+(
+ad
+, 
+NULL
+);
+
+2274 } \vià((
+diff
+ - 
+off£t
+) > 0) {
+
+2275 ià(
+ad
+->
+grid\9afo
+.
+¥l\99_v\9bw_mode
+ !ð
+SPLIT_VIEW
+) {
+
+2276 
+       `evas_objeù_geom\91ry_g\91
+(
+ad
+->
+ma\9a\9afo
+.
+w\9a
+, 
+NULL
+, NULL, &
+w
+, &
+h
+);
+
+2277 
+Edje_Mes§ge_IÁ
+ *
+msg
+ = (Edje_Mes§ge_IÁ *)
+       `m®loc
+(\17(Edje_Message_Int) + \17(\12));
+
+2278 
+       `GL_CHECK
+(
+msg
+);
+
+2279 
+msg
+->
+v®
+ = ((
+w
+ < 
+h
+) ? (w / 3) : (h / 3));
+
+2280 
+       `edje_objeù_mes§ge_£nd
+(
+       `\96m_Ïyout_edje_g\91
+(
+ad
+->
+grid\9afo
+.
+Ïyout
+), 
+EDJE_MESSAGE_INT
+, 1, 
+msg
+);
+
+2281 
+       `ä\93
+(
+msg
+);
+
+2282 
+       `\96m_objeù_sigÇl_em\99
+(
+ad
+->
+grid\9afo
+.
+Ïyout
+, "elm,splitview,state,default", "elm");
+
+2283 
+       `\96m_objeù_sigÇl_em\99
+(
+ad
+->
+grid\9afo
+.
+Ïyout
+, "elm,splitview,state,visible", "elm");
+
+2284 
+ad
+->
+grid\9afo
+.
+¥l\99_v\9bw_mode
+ = 
+SPLIT_VIEW
+;
+
+2285 
+       `_gl_thumbs_£t_size
+(
+ad
+, 
+NULL
+);
+
+2288 ià(
+v\9bw_mode
+ =ð
+GL_VIEW_THUMBS_EDIT
+) {
+
+2289 
+Edje_Mes§ge_IÁ
+ *
+msg
+ = (Edje_Mes§ge_IÁ *)
+       `m®loc
+(\17(Edje_Message_Int) + \17(\12));
+
+2290 
+       `GL_CHECK
+(
+msg
+);
+
+2291 ià(
+ad
+->
+grid\9afo
+.
+¥l\99_v\9bw_mode
+ =ð
+DETAIL_VIEW
+) {
+
+2292 
+msg
+->
+v®
+ = 
+w
+;
+
+2294 
+msg
+->
+v®
+ = ((
+w
+ < 
+h
+) ? (w - (w / 3)) : (w - (h / 3)));
+
+2296 
+       `gl_dbgE
+("msg v®u\90: %d", 
+msg
+->
+v®
+);
+
+2297 
+       `edje_objeù_mes§ge_£nd
+(
+       `\96m_Ïyout_edje_g\91
+(
+ad
+->
+grid\9afo
+.
+Ïyout
+), 
+EDJE_MESSAGE_INT
+, 2, 
+msg
+);
+
+2298 
+       `ä\93
+(
+msg
+);
+
+2299 
+       `\96m_objeù_sigÇl_em\99
+(
+ad
+->
+grid\9afo
+.
+Ïyout
+, "elm,selectall,state,visible", "elm");
+
+2302 
+       }
+}
+
+2304 \1e
+       $_gl_thumb_upd©e_¥l\99_v\9bw_badge
+(\1e*
+d©a
+) {
+
+2305 
+       `GL_CHECK
+(
+d©a
+);
+
+2306 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+2307 
+       `GL_CHECK
+(
+ad
+->
+®bum\9afo
+.
+\96
+);
+
+2308 
+       `GL_CHECK
+(
+ad
+->
+®bum\9afo
+.
+\96
+->
+þi¡
+);
+
+2309 
+gl_þu¡\94
+ *
+®bum_\99em
+ = 
+NULL
+;
+
+2310 
+gl_\99em
+ *
+\99em
+ = 
+NULL
+;
+
+2311 \12
+Ëngth
+, 
+i
+;
+
+2312 
+E\9aa_Li¡
+ *
+þi¡
+ = 
+ad
+->
+®bum\9afo
+.
+\96
+->clist;
+
+2313 
+Ëngth
+ = 
+       `e\9aa_li¡_couÁ
+(
+þi¡
+);
+
+2315 \ f
+i
+ = 0; i < 
+Ëngth
+; i++) {
+
+2316 
+®bum_\99em
+ = 
+       `e\9aa_li¡_Áh
+(
+þi¡
+, 
+i
+);
+
+2317 ià(
+®bum_\99em
+ &&\87lbum_\99em->
+\96
+) {
+
+2318 
+       `EINA_LIST_FREE
+(
+®bum_\99em
+->
+\96
+, 
+\99em
+) {
+
+2319 ià(
+\99em
+) {
+
+2320 
+\99em
+->
+checked
+ = 
+çl£
+;
+
+2325 
+       }
+}
+
+2327 \1e
+       $_gl_thumb_upd©e_¥l\99_v\9bw
+(\1e*
+d©a
+) {
+
+2328 
+       `GL_CHECK
+(
+d©a
+);
+
+2329 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+2330 if(
+ad
+->
+grid\9afo
+.
+upd©e_¥l\99_v\9bw
+) {
+
+2332 ià(
+ad
+->
+grid\9afo
+.
+Ïyout
+) {
+
+2333 
+Evas_Objeù
+ *
+Ïyout_\9aÃr
+ = 
+       `\96m_objeù_·¹_cÚ\8bÁ_g\91
+(
+ad
+->
+grid\9afo
+.
+Ïyout
+, "split.view");
+
+2334 ià(!
+Ïyout_\9aÃr
+) {
+
+2335 
+       `gl_dbgE
+("Failed\81o\87dd split\87lbum view!");
+
+2337 
+       `_ü\97\8b_¥l\99_®bum_v\9bw
+(
+ad
+, 
+Ïyout_\9aÃr
+);
+
+2338 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+ad
+->
+grid\9afo
+.
+Ïyout
+, "¥l\99.v\9bw", 
+Ïyout_\9aÃr
+);
+
+2339 
+       `_gl_thumb_upd©e_¥l\99_v\9bw_badge
+(
+d©a
+);
+
+2343 
+ad
+->
+grid\9afo
+.
+upd©e_¥l\99_v\9bw
+ = 
+\8cue
+;
+
+2345 
+       }
+}
+
+       @src/gallery.c
+
+17 \ 2
+       ~<Evas.h
+>
+
+18 \ 2
+       ~<sigÇl.h
+>
+
+19 \ 2
+       ~"gl-ma\9a.h
+"
+
+20 \ 2
+       ~"gl-debug.h
+"
+
+21 \ 2
+       ~"gl-ui-ut\9e.h
+"
+
+22 \ 2
+       ~"gl-Ïng.h
+"
+
+23 \ 2
+       ~"gl-ut\9e.h
+"
+
+24 \ 2
+       ~"gl-d©a.h
+"
+
+25 \ 2
+       ~"gl-ext-ug-lßd.h
+"
+
+26 \ 2
+       ~"gl-ext-exec.h
+"
+
+27 \ 2
+       ~"gl-pÝup.h
+"
+
+28 \ 2
+       ~"gl-\92\8cy.h
+"
+
+29 \ 2
+       ~"gl-db-upd©e.h
+"
+
+30 \ 2
+       ~"gl-®bums.h
+"
+
+40 \18
+boÞ
+_g®Ëry_ü\97\8b
+(\1e*
+d©a
+);
+
+41 \18\1e
+       $__g®Ëry_sig\8brm_hªdËr
+(\12
+signum
+)
+
+44 
+       `gl_dbgW
+(">>>>>>>>>>>>>>>>> SIGTERM >>>>>>>>>>>>>>> Gallery ");
+
+45 
+       `\96m_ex\99
+();
+
+46 
+       }
+}
+
+48 \18\1e
+       $_g®Ëry_Ïng_chªged_cb
+(
+­p_ev\92t_\9afo_h
+ev\92t_\9afo
+, \1e*
+d©a
+)
+
+50 
+       `GL_CHECK
+(
+d©a
+);
+
+51 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+52 
+       `evas_objeù_sm¬t_ÿÎback_ÿÎ
+(
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+,
+
+53 "g®Ëry,Ïnguage,chªged", 
+d©a
+);
+
+55 
+       `_gl_Ïng_upd©e
+(
+d©a
+);
+
+56 
+       }
+}
+
+58 \18\1e
+       $_g®Ëry_»sume
+(\1e*
+d©a
+)
+
+60 
+       `gl_dbgW
+("==Resume==");
+
+62 
+       `GL_CHECK
+(
+d©a
+);
+
+63 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+65 
+       `evas_objeù_d©a_£t
+(
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+,
+
+68 ià(
+ad
+->
+ma\9a\9afo
+.
+b_·u£d
+) {
+
+69 
+       `evas_objeù_sm¬t_ÿÎback_ÿÎ
+(
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+,
+
+70 "g®Ëry,v\9bw,»sumed", 
+d©a
+);
+
+71 
+ad
+->
+ma\9a\9afo
+.
+b_·u£d
+ = 
+çl£
+;
+
+74 ià(
+ad
+->
+ug\9afo
+.
+b_ug_Ïunched
+) {
+
+75 
+       `\96m_objeù_\8c\93_focus_®low_£t
+(
+ad
+->
+ma\9a\9afo
+.
+Ïyout
+, 
+EINA_TRUE
+);
+
+76 
+       `\96m_objeù_focus_£t
+(
+ad
+->
+ma\9a\9afo
+.
+Ïyout
+, 
+EINA_TRUE
+);
+
+77 
+ad
+->
+ug\9afo
+.
+b_ug_Ïunched
+ = 
+çl£
+;
+
+83 
+ad
+->
+ug\9afo
+.
+b_­p_ÿÎed
+ = 
+çl£
+;
+
+84 
+       `_gl_\92\8cy_»sume_v\9bw
+(
+ad
+);
+
+85 
+       }
+}
+
+87 \18\12
+       $_g®Ëry_þo£_­p
+(\1e*
+d©a
+)
+
+89 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+90 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+92 
+       `_gl_ma\9a\97r_v\9bw
+(
+ad
+);
+
+94 
+       `GL_IF_DEL_TIMER
+(
+ad
+->
+pb¬\9afo
+.
+pb¬_tim\94
+);
+
+96 
+       `GL_IF_DEL_PIPE
+(
+ad
+->
+pb¬\9afo
+.
+sync_p\9de
+);
+
+97 
+       `GL_IF_DEL_TIMER
+(
+ad
+->
+pb¬\9afo
+.
+¡¬t_th»ad_tim\94
+);
+
+98 
+       `GL_IF_DEL_TIMER
+(
+ad
+->
+pb¬\9afo
+.
+d\96_pb¬_tim\94
+);
+
+99 
+       `GL_IF_DEL_TIMER
+(
+ad
+->
+ù¾\9afo
+.
+avoid_muÉi_\8fp
+);
+
+100 
+       `GL_IF_DEL_JOB
+(
+ad
+->
+pb¬\9afo
+.
+d\96_pb¬_job
+);
+
+102 
+       `GL_IF_DEL_TIMER
+(
+ad
+->
+pÝup\9afo
+.
+d\96_tim\94
+);
+
+104 
+       `GL_IF_DEL_EVENT_HANDLER
+(
+ad
+->
+ma\9a\9afo
+.
+keydown_hªdËr
+);
+
+106 
+       `GL_IF_DEL_EVENT_HANDLER
+(
+ad
+->
+ma\9a\9afo
+.
+fÚt_hªdËr
+);
+
+108 
+       `GL_IF_DEL_IDLER
+(
+ad
+->
+ma\9a\9afo
+.
+mmc_idËr
+);
+
+109 
+       `GL_IF_DEL_TIMER
+(
+ad
+->
+ma\9a\9afo
+.
+»g_idËr
+);
+
+111 
+       `_gl_d\94eg_¡Üage_¡©e_chªge_nÙify
+(
+d©a
+);
+
+112 #ifdeà
+_USE_SVI
+
+
+114 
+       `_gl_f\9ai_svi
+(
+d©a
+);
+
+117 
+       `_gl_dlþo£_imagev\9bw\94
+(
+d©a
+);
+
+119 
+       `_gl_db_upd©e_f\9a®ize
+(
+d©a
+);
+
+121 
+       `_gl_d©a_f\9a®ize
+(
+ad
+);
+
+123 
+       `gl_dbgW
+("==Cleaning done==");
+
+125 
+       }
+}
+
+127 \18\1e
+       $_g®Ëry_\8brm\9a©e
+(\1e*
+d©a
+)
+
+129 
+       `gl_dbgW
+("==Terminate==");
+
+130 
+       `GL_CHECK
+(
+d©a
+);
+
+131 
+       `_g®Ëry_þo£_­p
+(
+d©a
+);
+
+132 
+       }
+}
+
+156 \18
+E\9aa_BoÞ
+       $__g®Ëry_key_down_cb
+(\1e*
+d©a
+, \12
+ty³
+, \1e*
+ev\92t
+)
+
+158 ià(!
+d©a
+) {
+
+159 
+       `gl_dbgE
+("Invalid\85arameter!");
+
+160 \15 
+ECORE_CALLBACK_PASS_ON
+;
+
+163 
+EcÜe_Ev\92t_Key
+ *
+key_ev\92t
+ = (EcÜe_Ev\92t_Key *)
+ev\92t
+;
+
+165 ià(!
+key_ev\92t
+) {
+
+166 \15 
+ECORE_CALLBACK_PASS_ON
+;
+
+168 ià(!
+       `g_¡rcmp0
+(
+key_ev\92t
+->
+keyÇme
+, "XF86PowerOff")) {
+
+169 
+       `gl_sdbgW
+("Power key");
+
+170 } \vià(!
+       `g_¡rcmp0
+(
+key_ev\92t
+->
+keyÇme
+, "XF86Menu")) {
+
+171 
+       `gl_sdbgW
+("menu key is\85ressed");
+
+172 } 
+       `gl_sdbg
+("Key dowÀ: %s", 
+key_ev\92t
+->
+keyÇme
+);
+
+174 \15 
+ECORE_CALLBACK_PASS_ON
+;
+
+175 
+       }
+}
+
+177 \18\1e
+       $_g®Ëry_low_b©\8bry_cb
+(
+­p_ev\92t_\9afo_h
+ev\92t_\9afo
+, \1e*
+d©a
+)
+
+179 
+       `gl_dbg
+("");
+
+183 
+       }
+}
+
+185 \18
+boÞ
+       $_g®Ëry_ü\97\8b
+(\1e*
+d©a
+)
+
+187 
+GL_PROFILE_IN
+;
+
+188 
+       `gl_dbgW
+("==Create==");
+
+189 
+       `GL_CHECK_FALSE
+(
+d©a
+);
+
+190 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+191 
+ad
+->
+ma\9a\9afo
+.
\92\8cªt
+ = 
+TRUE
+;
+
+192 
+ad
+->
+ug\9afo
+.
+b_ug_Ïunched
+ = 
+çl£
+;
+
+195 ià(
+       `sigÇl
+(
+SIGTERM
+, 
+__g®Ëry_sig\8brm_hªdËr
+è=ð
+SIG_IGN
+) {
+
+196 
+       `gl_dbgW
+("SIG_IGN");
+
+197 
+       `sigÇl
+(
+SIGTERM
+, 
+SIG_IGN
+);
+
+199 
+       `b\9ad\8bxtdoma\9a
+(
+PACKAGE
+, "/usr/apps/org.tizen.gallery/res/locale");
+
+200 #ifdeà
+_USE_OPENGL_BACKEND
+
+
+201 
+       `\96m_cÚfig_´eã¼ed_\92g\9ae_£t
+("opengl_x11");
+
+203 
+       `\96m_cÚfig_´eã¼ed_\92g\9ae_£t
+("software_x11");
+
+206 ià(
+       `_gl_ma\9a\97\8b_v\9bw
+(
+d©a
+) != 0) {
+
+207 
+       `gl_dbgE
+("_gl_main_create_view failed");
+
+208 \15 
+çl£
+;
+
+211 
+       `GL_PROFILE_F_IN
+("register\82oti callback");
+
+213 
+       `_gl_db_upd©e_\9a\99
+(
+d©a
+);
+
+215 
+       `_gl_»g_¡Üage_¡©e_chªge_nÙify
+(
+d©a
+);
+
+218 
+ad
+->
+ma\9a\9afo
+.
+keydown_hªdËr
+ = 
+       `ecÜe_ev\92t_hªdËr_add
+(
+
+219 
+ECORE_EVENT_KEY_DOWN
+,
+
+220 
+__g®Ëry_key_down_cb
+,
+
+221 
+d©a
+);
+
+223 
+       `GL_PROFILE_F_OUT
+("register\82oti callback");
+
+224 
+GL_PROFILE_OUT
+;
+
+225 \15 
+\8cue
+;
+
+226 
+       }
+}
+
+228 \18\1e
+       $_g®Ëry_·u£
+(\1e*
+d©a
+)
+
+230 
+       `gl_dbgW
+("==Pause==");
+
+232 
+       `GL_CHECK
+(
+d©a
+);
+
+233 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+234 
+ad
+->
+ma\9a\9afo
+.
\92\8cªt
+ = 
+TRUE
+;
+
+236 
+       `evas_objeù_d©a_£t
+(
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+,
+
+239 
+       `evas_objeù_sm¬t_ÿÎback_ÿÎ
+(
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+,
+
+240 "g®Ëry,v\9bw,·u£d", 
+d©a
+);
+
+241 
+ad
+->
+ma\9a\9afo
+.
+b_·u£d
+ = 
+\8cue
+;
+
+244 
+       }
+}
+
+248 \18\12
+       $__g®Ëry_·r£_·¿m
+(\1e*
+d©a
+, 
+­p_cÚ\8cÞ_h
+£rviû
+)
+
+250 
+       `GL_CHECK_VAL
+(
+£rviû
+, -1);
+
+251 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+252 
+       `gl_dbg
+("");
+
+254 \ 5*
+v®ue
+ = 
+NULL
+;
+
+255 
+       `­p_cÚ\8cÞ_g\91_ex\8ca_d©a
+(
+£rviû
+,
+
+256 "h\89p://tiz\92.Üg/­pcÚ\8cÞ/d©a/muÉiw\9adow", &
+v®ue
+);
+
+257 ià(
+v®ue
+) {
+
+258 ià(!
+       `¡rcmp
+(
+v®ue
+, "on")) {
+
+259 
+       `gl_dbg
+("muÉiw\9adow v®u\90ð%s", 
+v®ue
+);
+
+261 
+       `ä\93
+(
+v®ue
+);
+
+265 
+       }
+}
+
+267 \18\1e
+       $_g®Ëry_»£t
+(
+­p_cÚ\8cÞ_h
+£rviû
+, \1e*
+d©a
+)
+
+269 
+GL_PROFILE_IN
+;
+
+270 
+       `gl_dbgW
+("==Reset==");
+
+271 
+       `GL_CHECK
+(
+d©a
+);
+
+272 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+273 
+       `GL_CHECK
+(
+ad
+->
+ma\9a\9afo
+.
+w\9a
+);
+
+275 ià(
+ad
+->
+ma\9a\9afo
+.
\92\8cªt
+) {
+
+276 
+ad
+->
+ma\9a\9afo
+.
\92\8cªt
+ = 
+FALSE
+;
+
+278 
+       `gl_dbgW
+("Gallery\84eentrant is\82ot\87llowed!");
+
+282 ià(
+ad
+->
+ma\9a\9afo
+.
+b_·u£d
+) {
+
+283 
+       `evas_objeù_sm¬t_ÿÎback_ÿÎ
+(
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+,
+
+284 "g®Ëry,v\9bw,»sumed", 
+d©a
+);
+
+285 
+ad
+->
+ma\9a\9afo
+.
+b_·u£d
+ = 
+çl£
+;
+
+289 ià(
+       `__g®Ëry_·r£_·¿m
+(
+d©a
+, 
+£rviû
+) != 0) {
+
+290 \12
+v\9bw_m
+ = 
+       `gl_g\91_v\9bw_mode
+(
+ad
+);
+
+291 
+       `gl_dbg
+("v\9bw_m: %d", 
+v\9bw_m
+);
+
+294 ià(
+v\9bw_m
+ =ð
+GL_VIEW_NONE
+) {
+
+295 
+       `_gl_ma\9a_upd©e_v\9bw
+(
+ad
+);
+
+298 
+       `gl_dbgW
+("Checkme: Need\81o Update view????");
+
+301 
+       `\96m_w\9a_aùiv©e
+(
+ad
+->
+ma\9a\9afo
+.
+w\9a
+);
+
+302 
+GL_PROFILE_OUT
+;
+
+306 
+       `_gl_ma\9a_»£t_v\9bw
+(
+d©a
+);
+
+307 
+GL_PROFILE_OUT
+;
+
+308 
+       }
+}
+
+310 
+EXPORT_API
\12
+       $ma\9a
+(\12
+¬gc
+, \ 5*
+¬gv
+[])
+
+312 
+       `gl_dbgW
+("==Gallery==");
+
+313 
+gl_­pd©a
+gl_ad
+;
+
+314 \12
+»t
+ = 
+APP_ERROR_NONE
+;
+
+316 
+ui_­p_liãcyþe_ÿÎback_s
+ev\92t_ÿÎback
+;
+
+318 
+­p_ev\92t_hªdËr_h
+hLowB©\8bryHªdË
+;
+
+319 
+­p_ev\92t_hªdËr_h
+hLªguageChªgedHªdË
+;
+
+321 
+ev\92t_ÿÎback
+.
\97\8b
+ = 
+_g®Ëry_ü\97\8b
+;
+
+322 
+ev\92t_ÿÎback
+.
+\8brm\9a©e
+ = 
+_g®Ëry_\8brm\9a©e
+;
+
+323 
+ev\92t_ÿÎback
+.
+·u£
+ = 
+_g®Ëry_·u£
+;
+
+324 
+ev\92t_ÿÎback
+.
+»sume
+ = 
+_g®Ëry_»sume
+;
+
+325 
+ev\92t_ÿÎback
+.
+­p_cÚ\8cÞ
+ = 
+_g®Ëry_»£t
+;
+
+327 
+»t
+ = 
+       `ui_­p_add_ev\92t_hªdËr
+(&
+hLowB©\8bryHªdË
+,
+
+328 
+APP_EVENT_LOW_BATTERY
+, 
+_g®Ëry_low_b©\8bry_cb
+, (\1e*)&
+gl_ad
+);
+
+329 ià(
+»t
+ !ð
+APP_ERROR_NONE
+) {
+
+330 
+       `gl_dbgE
+("ç\9eed\81Øadd LOW_BATTERY\83v\92t_hªdËr: [%d]", 
+»t
+);
+
+334 
+»t
+ = 
+       `ui_­p_add_ev\92t_hªdËr
+(&
+hLªguageChªgedHªdË
+,
+
+335 
+APP_EVENT_LANGUAGE_CHANGED
+, 
+_g®Ëry_Ïng_chªged_cb
+,
+
+336 (\1e*)&
+gl_ad
+);
+
+337 ià(
+»t
+ !ð
+APP_ERROR_NONE
+) {
+
+338 
+       `gl_dbgE
+("failed\81o\87dd LANGUAGE_CHANGED\83vent_handler: [%d]",
+
+339 
+»t
+);
+
+348 
+       `mem£t
+(&
+gl_ad
+, 0x00, \17(
+gl_­pd©a
+));
+
+350 
+»t
+ = 
+       `ui_­p_ma\9a
+(
+¬gc
+, 
+¬gv
+, &
+ev\92t_ÿÎback
+, &
+gl_ad
+);
+
+352 
+       `gl_dbgW
+("==Gallery gone==");
+
+353 \15 
+»t
+;
+
+354 
+       }
+}
+
+       @src/util/gl-db-update.c
+
+18 \ 2
+       ~<med\9f_cÚ\8bÁ.h
+>
+
+19 \ 2
+       ~"g®Ëry.h
+"
+
+20 \ 2
+       ~"gl-ut\9e.h
+"
+
+21 \ 2
+       ~"gl-debug.h
+"
+
+22 \ 2
+       ~"gl-db-upd©e.h
+"
+
+23 \ 2
+       ~"gl-d©a.h
+"
+
+25 \ 1
+       #GL_MONITOE_TIME_DELAY
+ 1.0f
+
+       )
+
+29 
+       mGL_DU_LOCK_NONE
+,
+
+30 
+       mGL_DU_LOCK_ONCE
+,
+
+31 
+       mGL_DU_LOCK_ALWAYS
+,
+
+32 } 
+       tgl_du_lock_e
+;
+
+34 \19
+       sgl_db_nÙi_t
+ {
+
+35 \1e*
+       mad
+;
+
+36 
+EcÜe_Tim\94
+ *
+       mdb_tim\94
+;
+
+38 
+EcÜe_IdËr
+ *
+       mdb_idl
+;
+
+40 
+gl_du_lock_e
+       mlock_¡©e
+;
+
+41 \12
+       mcouÁ
+;
+
+43 
+med\9f_cÚ\8bÁ_db_upd©e_\99em_ty³_e
+       mupd©e_\99em
+;
+
+44 
+med\9f_cÚ\8bÁ_db_upd©e_ty³_e
+       mupd©e_ty³
+;
+
+45 
+GLi¡
+ *
+       muuids
+;
+
+48 \18
+E\9aa_BoÞ
+       $__gl_db_upd©e_idËr
+(\1e*
+d©a
+)
+
+50 
+       `GL_CHECK_FALSE
+(
+d©a
+);
+
+51 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+52 
+       `GL_CHECK_FALSE
+(
+ad
+->
+db_nÙi_d
+);
+
+53 
+gl_db_nÙi_s
+ *
+db_nÙi
+ = 
+ad
+->
+db_nÙi_d
+;
+
+54 
+       `gl_upd©e_v\9bw
+(
+ad
+, 
+GL_UPDATE_VIEW_INOTIFY
+);
+
+55 
+       `evas_objeù_sm¬t_ÿÎback_ÿÎ
+(
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+,
+
+56 "g®Ëry,db,d©a,upd©ed", 
+d©a
+);
+
+57 
+       `GL_IF_DEL_IDLER
+(
+db_nÙi
+->
+db_idl
+);
+
+58 \15 
+ECORE_CALLBACK_CANCEL
+;
+
+59 
+       }
+}
+
+61 \18
+E\9aa_BoÞ
+       $__gl_db_upd©e_tim\94_cb
+(\1e*
+d©a
+)
+
+63 
+       `GL_CHECK_FALSE
+(
+d©a
+);
+
+64 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+65 
+       `GL_CHECK_FALSE
+(
+ad
+->
+db_nÙi_d
+);
+
+66 
+gl_db_nÙi_s
+ *
+db_nÙi
+ = 
+ad
+->
+db_nÙi_d
+;
+
+68 
+       `gl_dbg
+("db_upd©e[%d]", 
+db_nÙi
+->
+lock_¡©e
+);
+
+69 ià(
+db_nÙi
+->
+lock_¡©e
+) {
+
+70 
+       `gl_dbgW
+("Don't update,\86ocked!");
+
+71 ià(
+db_nÙi
+->
+lock_¡©e
+ =ð
+GL_DU_LOCK_ONCE
+)
+
+72 
+db_nÙi
+->
+lock_¡©e
+ = 
+GL_DU_LOCK_NONE
+;
+
+74 
+       `GL_IF_DEL_IDLER
+(
+db_nÙi
+->
+db_idl
+);
+
+75 
+db_nÙi
+->
+db_idl
+ = 
+       `ecÜe_idËr_add
+(
+__gl_db_upd©e_idËr
+, 
+d©a
+);
+
+78 
+       `GL_IF_DEL_TIMER
+(
+db_nÙi
+->
+db_tim\94
+);
+
+79 \15 
+ECORE_CALLBACK_CANCEL
+;
+
+80 
+       }
+}
+
+82 \18\12
+       $__gl_db_upd©e_Ý
+(
+med\9f_cÚ\8bÁ_\94rÜ_e
+\94
+, \12
+pid
+,
+
+83 
+med\9f_cÚ\8bÁ_db_upd©e_\99em_ty³_e
+upd©e_\99em
+,
+
+84 
+med\9f_cÚ\8bÁ_db_upd©e_ty³_e
+upd©e_ty³
+,
+
+85 
+med\9f_cÚ\8bÁ_ty³_e
+med\9f_ty³
+, \ 5*
+uuid
+,
+
+86 \ 5*
+·th
+, \ 5*
+mime_ty³
+, \1e*
+d©a
+)
+
+88 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+89 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+90 
+       `GL_CHECK_VAL
+(
+ad
+->
+db_nÙi_d
+, -1);
+
+91 
+gl_db_nÙi_s
+ *
+db_nÙi
+ = 
+ad
+->
+db_nÙi_d
+;
+
+93 ià(
+MEDIA_CONTENT_ERROR_NONE
+ !ð
+\94
+) {
+
+94 
+       `gl_dbgE
+("Upd©\90db\83¼Ü[%d]!", 
+\94
+);
+
+97 ià(
+upd©e_\99em
+ =ð
+MEDIA_ITEM_FILE
+ &&
+
+98 
+MEDIA_CONTENT_TYPE_IMAGE
+ !ð
+med\9f_ty³
+ &&
+
+99 
+MEDIA_CONTENT_TYPE_VIDEO
+ !ð
+med\9f_ty³
+) {
+
+100 
+       `gl_dbg
+("Media\81ype is wrong");
+
+102 } \vià(
+upd©e_\99em
+ =ð
+MEDIA_ITEM_DIRECTORY
+) {
+
+104 \12
+út
+ = 0;
+
+105 \12
+»t
+ = -1;
+
+106 
+»t
+ = 
+       `_gl_d©a_g\91_\99em_út
+(
+GL_ALBUM_ALL_ID
+, 
+GL_STORE_T_ALL
+, &
+út
+);
+
+107 ià(
+»t
+ !ð0 || 
+út
+ == 0) {
+
+108 
+       `gl_dbgE
+("Empty!");
+
+110 
+       `gl_dbg
+("Þd: %d,\82ew: %d", 
+db_nÙi
+->
+couÁ
+, 
+út
+);
+
+111 ià(
+út
+ =ð
+db_nÙi
+->
+couÁ
+) {
+
+112 
+       `gl_dbg
+("Nothing changed");
+
+113 ià(
+·th
+) {
+
+114 
+gl_®bum_s
+ *
+®bum
+ = 
+NULL
+;
+
+115 
+       `_gl_loÿl_d©a_g\91_®bum_by_·th
+(
+·th
+, &
+®bum
+);
+
+116 ià(!
+®bum
+) {
+
+119 
+       `_gl_d©a_ty³_ä\93_gl\99em
+((\1e**)&
+®bum
+);
+
+120 
+       `gl_dbgW
+("Updated\87lbum contains images");
+
+128 
+db_nÙi
+->
+upd©e_\99em
+ = update_item;
+
+129 
+db_nÙi
+->
+upd©e_ty³
+ = update_type;
+
+130 ià(
+uuid
+ && 
+upd©e_\99em
+ =ð
+MEDIA_ITEM_FILE
+ &&
+
+131 
+upd©e_ty³
+ =ð
+MEDIA_CONTENT_DELETE
+) {
+
+132 
+       `gl_dbgW
+("Aµ\92d: %s", 
+uuid
+);
+
+133 
+db_nÙi
+->
+uuids
+ = 
+       `g_li¡_­³nd
+(db_nÙi->uuids, (
+gpo\9a\8br
+)
+       `g_¡rdup
+(
+uuid
+));
+
+136 
+       `_gl_db_upd©e_add_tim\94
+(
+d©a
+);
+
+138 
+       }
+}
+
+140 \18\1e
+       $__gl_db_upd©e_cb
+(
+med\9f_cÚ\8bÁ_\94rÜ_e
+\94
+, \12
+pid
+,
+
+141 
+med\9f_cÚ\8bÁ_db_upd©e_\99em_ty³_e
+upd©e_\99em
+,
+
+142 
+med\9f_cÚ\8bÁ_db_upd©e_ty³_e
+upd©e_ty³
+,
+
+143 
+med\9f_cÚ\8bÁ_ty³_e
+med\9f_ty³
+, \ 5*
+uuid
+,
+
+144 \ 5*
+·th
+, \ 5*
+mime_ty³
+, \1e*
+d©a
+)
+
+146 
+       `gl_dbg
+("upd©e_\99em[%d], upd©e_ty³[%d], med\9f_ty³[%d]", 
+upd©e_\99em
+,
+
+147 
+upd©e_ty³
+, 
+med\9f_ty³
+);
+
+148 
+       `GL_CHECK
+(
+d©a
+);
+
+149 
+       `gl_dbg
+("uuid[%s],\85©h[%s]", 
+uuid
+, 
+·th
+);
+
+150 
+       `__gl_db_upd©e_Ý
+(
+\94
+, 
+pid
+, 
+upd©e_\99em
+, 
+upd©e_ty³
+, 
+med\9f_ty³
+,
+
+151 
+uuid
+, 
+·th
+, 
+mime_ty³
+, 
+d©a
+);
+
+152 
+       }
+}
+
+169 \12
+       $_gl_db_upd©e_add_tim\94
+(\1e*
+d©a
+)
+
+171 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+172 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+173 
+       `GL_CHECK_VAL
+(
+ad
+->
+db_nÙi_d
+, -1);
+
+174 
+gl_db_nÙi_s
+ *
+db_nÙi
+ = 
+ad
+->
+db_nÙi_d
+;
+
+176 
+       `GL_IF_DEL_TIMER
+(
+db_nÙi
+->
+db_tim\94
+);
+
+177 
+db_nÙi
+->
+db_tim\94
+ = 
+       `ecÜe_tim\94_add
+(
+GL_MONITOE_TIME_DELAY
+,
+
+178 
+__gl_db_upd©e_tim\94_cb
+, 
+d©a
+);
+
+179 
+       `gl_dbgW
+("TIMER[1.0f]\87dded!");
+
+181 
+       }
+}
+
+183 
+boÞ
+       $_gl_db_upd©e_lock_Úû
+(\1e*
+d©a
+, 
+boÞ
+¡©us
+)
+
+185 
+       `gl_dbg
+("");
+
+186 
+       `GL_CHECK_FALSE
+(
+d©a
+);
+
+187 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+188 
+       `GL_CHECK_FALSE
+(
+ad
+->
+db_nÙi_d
+);
+
+189 
+gl_db_nÙi_s
+ *
+db_nÙi
+ = 
+ad
+->
+db_nÙi_d
+;
+
+190 ià(
+¡©us
+)
+
+191 
+db_nÙi
+->
+lock_¡©e
+ = 
+GL_DU_LOCK_ONCE
+;
+
+193 
+db_nÙi
+->
+lock_¡©e
+ = 
+GL_DU_LOCK_NONE
+;
+
+194 \15 
+\8cue
+;
+
+195 
+       }
+}
+
+197 
+boÞ
+       $_gl_db_upd©e_lock_®ways
+(\1e*
+d©a
+, 
+boÞ
+¡©us
+)
+
+199 
+       `gl_dbg
+("");
+
+200 
+       `GL_CHECK_FALSE
+(
+d©a
+);
+
+201 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+202 
+       `GL_CHECK_FALSE
+(
+ad
+->
+db_nÙi_d
+);
+
+203 
+gl_db_nÙi_s
+ *
+db_nÙi
+ = 
+ad
+->
+db_nÙi_d
+;
+
+204 ià(
+¡©us
+)
+
+205 
+db_nÙi
+->
+lock_¡©e
+ = 
+GL_DU_LOCK_ALWAYS
+;
+
+207 
+db_nÙi
+->
+lock_¡©e
+ = 
+GL_DU_LOCK_NONE
+;
+
+208 \15 
+\8cue
+;
+
+209 
+       }
+}
+
+211 
+boÞ
+       $_gl_db_upd©e_£t_couÁ
+(\1e*
+d©a
+, \12
+couÁ
+)
+
+213 
+       `gl_dbg
+("couÁ: %d", 
+couÁ
+);
+
+214 
+       `GL_CHECK_FALSE
+(
+d©a
+);
+
+215 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+216 
+       `GL_CHECK_FALSE
+(
+ad
+->
+db_nÙi_d
+);
+
+217 
+gl_db_nÙi_s
+ *
+db_nÙi
+ = 
+ad
+->
+db_nÙi_d
+;
+
+218 
+db_nÙi
+->
+couÁ
+ = count;
+
+219 \15 
+\8cue
+;
+
+220 
+       }
+}
+
+222 \12
+       $_gl_db_upd©e_g\91_\9afo
+(\1e*
+d©a
+,
+
+223 
+med\9f_cÚ\8bÁ_db_upd©e_\99em_ty³_e
+ *
+upd©e_\99em
+,
+
+224 
+med\9f_cÚ\8bÁ_db_upd©e_ty³_e
+ *
+upd©e_ty³
+,
+
+225 
+GLi¡
+ **
+uuids
+)
+
+227 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+228 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+229 
+       `GL_CHECK_VAL
+(
+ad
+->
+db_nÙi_d
+, -1);
+
+231 ià(
+upd©e_\99em
+)
+
+232 *
+upd©e_\99em
+ = 
+ad
+->
+db_nÙi_d
+->update_item;
+
+233 ià(
+upd©e_ty³
+)
+
+234 *
+upd©e_ty³
+ = 
+ad
+->
+db_nÙi_d
+->update_type;
+
+235 ià(
+ad
+->
+db_nÙi_d
+->
+uuids
+ && uuids) {
+
+236 *
+uuids
+ = 
+ad
+->
+db_nÙi_d
+->uuids;
+
+237 
+ad
+->
+db_nÙi_d
+->
+uuids
+ = 
+NULL
+;
+
+241 
+       }
+}
+
+244 
+boÞ
+       $_gl_db_upd©e_»g_cb
+(\1e*
+d©a
+)
+
+246 
+       `GL_CHECK_FALSE
+(
+d©a
+);
+
+247 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+248 
+       `GL_CHECK_FALSE
+(
+ad
+->
+db_nÙi_d
+);
+
+249 \12
+»t
+ = -1;
+
+251 
+       `gl_dbg
+("Set db updated callback");
+
+252 
+»t
+ = 
+       `med\9f_cÚ\8bÁ_£t_db_upd©ed_cb
+(
+__gl_db_upd©e_cb
+, 
+d©a
+);
+
+253 ià(
+»t
+ !ð
+MEDIA_CONTENT_ERROR_NONE
+)
+
+254 
+       `gl_dbgE
+("S\91 db upd©ed cb fa\9eed[%d]!", 
+»t
+);
+
+260 \15 
+\8cue
+;
+
+261 
+       }
+}
+
+264 
+boÞ
+       $_gl_db_upd©e_\9a\99
+(\1e*
+d©a
+)
+
+266 
+       `GL_CHECK_FALSE
+(
+d©a
+);
+
+267 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+268 
+gl_db_nÙi_s
+ *
+db_nÙi
+ = (gl_db_nÙi_ *)
+       `ÿÎoc
+(1, \17(gl_db_noti_s));
+
+269 
+       `GL_CHECK_FALSE
+(
+db_nÙi
+);
+
+271 
+ad
+->
+db_nÙi_d
+ = 
+db_nÙi
+;
+
+272 
+       `gl_dbg
+("DB updated intialization");
+
+273 \15 
+\8cue
+;
+
+274 
+       }
+}
+
+276 
+boÞ
+       $_gl_db_upd©e_f\9a®ize
+(\1e*
+d©a
+)
+
+278 \12
+»t
+ = -1;
+
+279 
+       `gl_dbg
+("Unset db updated callback");
+
+281 
+»t
+ = 
+       `med\9f_cÚ\8bÁ_un£t_db_upd©ed_cb
+();
+
+282 ià(
+»t
+ !ð
+MEDIA_CONTENT_ERROR_NONE
+)
+
+283 
+       `gl_dbgE
+("UNS\91 db upd©ed cb fa\9eed[%d]!", 
+»t
+);
+
+285 
+       `GL_CHECK_FALSE
+(
+d©a
+);
+
+286 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+287 
+       `GL_CHECK_FALSE
+(
+ad
+->
+db_nÙi_d
+);
+
+288 
+gl_db_nÙi_s
+ *
+db_nÙi
+ = 
+ad
+->
+db_nÙi_d
+;
+
+296 ià(
+db_nÙi
+->
+uuids
+) {
+
+297 
+       `g_li¡_ä\93_fuÎ
+(
+db_nÙi
+->
+uuids
+, 
+g_ä\93
+);
+
+298 
+db_nÙi
+->
+uuids
+ = 
+NULL
+;
+
+300 
+       `GL_IF_DEL_TIMER
+(
+db_nÙi
+->
+db_tim\94
+);
+
+301 
+       `GL_IF_DEL_IDLER
+(
+db_nÙi
+->
+db_idl
+);
+
+302 
+       `GL_FREE
+(
+ad
+->
+db_nÙi_d
+);
+
+303 \15 
+\8cue
+;
+
+304 
+       }
+}
+
+       @src/util/gl-debug.c
+
+18 \ 2
+       ~<uni¡d.h
+>
+
+19 \ 2
+       ~<¡r\9ag.h
+>
+
+21 \ 2
+       ~"gl-debug.h
+"
+
+23 #ifdeà
+_USE_LOG_FILE_
+
+
+24 \18
+FILE
+ *
+       gg_log_å
+ = 
+NULL
+;
+
+25 \18\ 5
+       g_g_f\9ee_·th
+[12285] = { 0, };
+
+28 #ifdeà
+_PERFORMANCE_CHECK_
+
+
+29 \18\13
+       gg_time_u£c
+ = 0L;
+
+       @src/util/gl-exif.c
+
+60 #ifdeà
+_USE_ROTATE_BG
+
+
+62 \ 2
+       ~<¡dlib.h
+>
+
+63 \ 2
+       ~<¡r\9ag.h
+>
+
+64 \ 2
+       ~<time.h
+>
+
+65 \ 2
+       ~<EËm\92\8fry.h
+>
+
+66 \ 2
+       ~"gl-exif.h
+"
+
+67 \ 2
+       ~"gl-debug.h
+"
+
+68 \ 2
+       ~"g®Ëry.h
+"
+
+69 \ 2
+       ~"gl-f\9ee-ut\9e.h
+"
+
+71 \ 1
+       #GL_EXIF_BUF_LEN_MAX
+ 65536L
+
+       )
+
+72 \ 1
+       #GL_EXIF_BUF_TIME_LEN_MAX
+ 20
+
+       )
+
+73 \ 1
+       #GL_EXIF_DEFAULT_YEAR
+ 1900
+
+       )
+
+75 \ 1
+       #GL_EXIF_SOI
+ 0xD8
+
+       )
+
+76 \ 1
+       #GL_EXIF_TAG
+ 0xFF
+
+       )
+
+77 \ 1
+       #GL_EXIF_APP0
+ 0xE0
+
+       )
+
+78 \ 1
+       #GL_EXIF_APP1
+ 0xE1
+
+       )
+
+79 \ 1
+       #GL_EXIF_JFIF_00
+ 0x00
+
+       )
+
+80 \ 1
+       #GL_EXIF_JFIF_01
+ 0x01
+
+       )
+
+81 \ 1
+       #GL_EXIF_JFIF_02
+ 0x02
+
+       )
+
+83 \ 1
+       #GL_EXIF_IFD_DATA_FORMAT_UNSIGNED_BYTE
+ 1
+
+       )
+
+84 \ 1
+       #GL_EXIF_IFD_DATA_FORMAT_ASCII_STRINGS
+ 1
+
+       )
+
+85 \ 1
+       #GL_EXIF_IFD_DATA_FORMAT_UNSIGNED_SHORT
+ 2
+
+       )
+
+86 \ 1
+       #GL_EXIF_IFD_DATA_FORMAT_UNSIGNED_LONG
+ 4
+
+       )
+
+87 \ 1
+       #GL_EXIF_IFD_DATA_FORMAT_UNSIGNED_RATIONAL
+ 8
+
+       )
+
+88 \ 1
+       #GL_EXIF_IFD_DATA_FORMAT_SIGNED_BYTE
+ 1
+
+       )
+
+89 \ 1
+       #GL_EXIF_IFD_DATA_FORMAT_UNDEFINED
+ 1
+
+       )
+
+90 \ 1
+       #GL_EXIF_IFD_DATA_FORMAT_SIGNED_SHORT
+ 2
+
+       )
+
+91 \ 1
+       #GL_EXIF_IFD_DATA_FORMAT_SIGNED_LONG
+ 4
+
+       )
+
+92 \ 1
+       #GL_EXIF_IFD_DATA_FORMAT_SIGNED_RATIONAL
+ 8
+
+       )
+
+93 \ 1
+       #GL_EXIF_IFD_DATA_FORMAT_SIGNED_FLOAT
+ 4
+
+       )
+
+94 \ 1
+       #GL_EXIF_IFD_DATA_FORMAT_DOUBLE_FLOAT
+ 8
+
+       )
+
+96 \ 1
+       #GL_EXI_TMP_JPEG_FILE
+GL_DATA_FOLDER_PATH
+"/.g®Ëry_tmp_wr\99e_exif.jpg"
+
+       )
+
+99 \18\12
+       $__gl_exif_wr\99e_1_by\8b
+(
+FILE
+ *
+fd
+, \12
+c
+)
+
+101 ià(
+       `åutc
+(
+c
+, 
+fd
+) < 0) {
+
+102 
+       `gl_dbgE
+("fputc failed!");
+
+107 
+       }
+}
+
+110 \18\12
+       $__gl_exif_»ad_1_by\8b
+(
+FILE
+ *
+fd
+)
+
+112 \12
+c
+ = 0;
+
+115 
+c
+ = 
+       `g\91c
+(
+fd
+);
+
+116 ià(
+c
+ =ð
+EOF
+) {
+
+117 
+       `gl_dbgE
+("Premature EOF in JPEG file!");
+
+121 \15 
+c
+;
+
+122 
+       }
+}
+
+126 \18\12
+       $__gl_exif_»ad_2_by\8bs
+(
+FILE
+ *
+fd
+, \1d\12*
+Ën
+)
+
+128 \12
+c1
+ = 0;
+
+129 \12
+c2
+ = 0;
+
+132 
+c1
+ = 
+       `g\91c
+(
+fd
+);
+
+133 ià(
+c1
+ =ð
+EOF
+) {
+
+134 
+       `gl_dbgE
+("Premature EOF in JPEG file!");
+
+139 
+c2
+ = 
+       `g\91c
+(
+fd
+);
+
+140 ià(
+c2
+ =ð
+EOF
+) {
+
+141 
+       `gl_dbgE
+("Premature EOF in JPEG file!");
+
+145 ià(
+Ën
+)
+
+146 *
+Ën
+ = (((\1d\12)
+c1
+è<< 8è+ ((\1d\12)
+c2
+);
+
+149 
+       }
+}
+
+152 \18\12
+       $__gl_exif_add_h\97d\94
+(
+FILE
+ *
+fd
+, \1d\12*
\9bÁ©iÚ
+)
+
+154 
+       `GL_CHECK_VAL
+(
\9bÁ©iÚ
+, -1);
+
+155 
+       `GL_CHECK_VAL
+(
+fd
+, -1);
+
+156 \12
+i
+ = 0;
+
+157 \12
+»t
+ = -1;
+
+158 \ 5*
+time_buf
+ = 
+NULL
+;
+
+159 \1d\12
+off£t
+ = 0;
+
+162 cڡ \1d\ 5
+exif1
+[] = {
+
+163 
+GL_EXIF_TAG
+, 
+GL_EXIF_SOI
+, GL_EXIF_TAG, 
+GL_EXIF_APP1
+
+
+166 \ f
+i
+ = 0; i < 4; i++) {
+
+167 ià(
+       `__gl_exif_wr\99e_1_by\8b
+(
+fd
+, 
+exif1
+[
+i
+]) < 0)
+
+168 \10
+GL_EXIF_FAILED
+;
+
+173 cڡ \1d\ 5
+exif2
+[] = { 0x00, 0x42 };
+
+174 \ f
+i
+ = 0; i < 2; i++) {
+
+175 ià(
+       `__gl_exif_wr\99e_1_by\8b
+(
+fd
+, 
+exif2
+[
+i
+]) < 0)
+
+176 \10
+GL_EXIF_FAILED
+;
+
+180 cڡ \1d\ 5
+exif3
+[] = { 0x45, 0x78, 0x69, 0x66, 0x00, 0x00 };
+
+181 \ f
+i
+ = 0; i < 6; i++) {
+
+182 ià(
+       `__gl_exif_wr\99e_1_by\8b
+(
+fd
+, 
+exif3
+[
+i
+]) < 0)
+
+183 \10
+GL_EXIF_FAILED
+;
+
+187 cڡ \1d\ 5
+exif4
+[] = { 0x49, 0x49, 0x2A, 0x00 };
+
+188 \ f
+i
+ = 0; i < 4; i++) {
+
+189 ià(
+       `__gl_exif_wr\99e_1_by\8b
+(
+fd
+, 
+exif4
+[
+i
+]) < 0)
+
+190 \10
+GL_EXIF_FAILED
+;
+
+192 
+off£t
+ += 4;
+
+195 cڡ \1d\ 5
+exif5
+[] = { 0x08, 0x00, 0x00, 0x00 };
+
+196 \ f
+i
+ = 0; i < 4; i++) {
+
+197 ià(
+       `__gl_exif_wr\99e_1_by\8b
+(
+fd
+, 
+exif5
+[
+i
+]) < 0)
+
+198 \10
+GL_EXIF_FAILED
+;
+
+200 
+off£t
+ += 4;
+
+205 cڡ \1d\ 5
+exif6
+[] = { 0x02, 0x00 };
+
+206 \ f
+i
+ = 0; i < 2; i++) {
+
+207 ià(
+       `__gl_exif_wr\99e_1_by\8b
+(
+fd
+, 
+exif6
+[
+i
+]) < 0)
+
+208 \10
+GL_EXIF_FAILED
+;
+
+210 
+off£t
+ += 2;
+
+213 cڡ \1d\ 5
+exif7
+[] = { 0x12, 0x01 };
+
+214 \ f
+i
+ = 0; i < 2; i++) {
+
+215 ià(
+       `__gl_exif_wr\99e_1_by\8b
+(
+fd
+, 
+exif7
+[
+i
+]) < 0)
+
+216 \10
+GL_EXIF_FAILED
+;
+
+218 
+off£t
+ += 2;
+
+220 
+       `gl_dbg
+("Wr\99e: %d", *
\9bÁ©iÚ
+);
+
+221 cڡ \1d\ 5
+exif8
+[] = { 0x03, 0x00, 0x01, 0x00, 0x00, 0x00 };
+
+222 \ f
+i
+ = 0; i < 6; i++) {
+
+223 ià(
+       `__gl_exif_wr\99e_1_by\8b
+(
+fd
+, 
+exif8
+[
+i
+]) < 0)
+
+224 \10
+GL_EXIF_FAILED
+;
+
+226 
+off£t
+ += 6;
+
+229 ià(
+       `__gl_exif_wr\99e_1_by\8b
+(
+fd
+, (\1d\ 5)(*
\9bÁ©iÚ
+)) < 0)
+
+230 \10
+GL_EXIF_FAILED
+;
+
+232 cڡ \1d\ 5
+exif9
+[] = { 0x00, 0x00, 0x00 };
+
+233 \ f
+i
+ = 0; i < 3; i++) {
+
+234 ià(
+       `__gl_exif_wr\99e_1_by\8b
+(
+fd
+, 
+exif9
+[
+i
+]) < 0)
+
+235 \10
+GL_EXIF_FAILED
+;
+
+237 
+off£t
+ += 4;
+
+240 cڡ \1d\ 5
+exif10
+[] = { 0x32, 0x01 };
+
+241 \ f
+i
+ = 0; i < 2; i++) {
+
+242 ià(
+       `__gl_exif_wr\99e_1_by\8b
+(
+fd
+, 
+exif10
+[
+i
+]) < 0)
+
+243 \10
+GL_EXIF_FAILED
+;
+
+245 
+off£t
+ += 2;
+
+248 cڡ \1d\ 5
+exif11
+[] = { 0x02, 0x00 };
+
+249 \ f
+i
+ = 0; i < 2; i++) {
+
+250 ià(
+       `__gl_exif_wr\99e_1_by\8b
+(
+fd
+, 
+exif11
+[
+i
+]) < 0)
+
+251 \10
+GL_EXIF_FAILED
+;
+
+253 
+off£t
+ += 2;
+
+256 cڡ \1d\ 5
+exif12
+[] = { 0x14, 0x00, 0x00, 0x00 };
+
+257 \ f
+i
+ = 0; i < 4; i++) {
+
+258 ià(
+       `__gl_exif_wr\99e_1_by\8b
+(
+fd
+, 
+exif12
+[
+i
+]) < 0)
+
+259 \10
+GL_EXIF_FAILED
+;
+
+261 
+off£t
+ += 8;
+
+266 
+       `gl_dbg
+("off£t: %2X", 
+off£t
+ + 8);
+
+268 ià(
+       `__gl_exif_wr\99e_1_by\8b
+(
+fd
+, (\1d\ 5)(
+off£t
+ + 4)) < 0)
+
+269 \10
+GL_EXIF_FAILED
+;
+
+271 cڡ \1d\ 5
+exif13
+[] = { 0x00, 0x00, 0x00 };
+
+272 \ f
+i
+ = 0; i < 3; i++) {
+
+273 ià(
+       `__gl_exif_wr\99e_1_by\8b
+(
+fd
+, 
+exif13
+[
+i
+]) < 0)
+
+274 \10
+GL_EXIF_FAILED
+;
+
+280 cڡ \1d\ 5
+exif14
+[] = { 0x00, 0x00, 0x00, 0x00 };
+
+281 \ f
+i
+ = 0; i < 4; i++) {
+
+282 ià(
+       `__gl_exif_wr\99e_1_by\8b
+(
+fd
+, 
+exif14
+[
+i
+]) < 0)
+
+283 \10
+GL_EXIF_FAILED
+;
+
+289 
+time_t
+t
+;
+
+290 \19
+tm
+tms
+;
+
+291 \19
+tm
+ *tm;
+
+293 
+t
+ = 
+       `time
+ (
+NULL
+);
+
+294 
+tm
+ = 
+       `loÿÉime_r
+(&
+t
+, &
+tms
+);
+
+295 ià(!
+tm
+) {
+
+296 
+       `gl_dbgE
+("Faild\81o\87llocate memory!");
+
+297 \10
+GL_EXIF_FAILED
+;
+
+300 
+time_buf
+ = (\ 5*)
+       `ÿÎoc
+(1, 
+GL_EXIF_BUF_TIME_LEN_MAX
+);
+
+301 ià(!
+time_buf
+) {
+
+302 
+       `gl_dbgE
+("Faild\81o\87llocate memory!");
+
+303 \10
+GL_EXIF_FAILED
+;
+
+305 
+       `¢´\9atf
+(
+time_buf
+, 
+GL_EXIF_BUF_TIME_LEN_MAX
+,
+
+307 
+tm
+->
+tm_y\97r
+ + 
+GL_EXIF_DEFAULT_YEAR
+,\81m->
+tm_mÚ
+ + 1,
+
+308 
+tm
+->
+tm_mday
+,\81m->
+tm_hour
+,\81m->
+tm_m\9a
+,\81m->
+tm_£c
+);
+
+310 
+       `gl_dbg
+("time_buf: %s", 
+time_buf
+);
+
+311 ià(
+       `fwr\99e
+(
+time_buf
+, 1, 
+GL_EXIF_BUF_TIME_LEN_MAX
+, 
+fd
+) != GL_EXIF_BUF_TIME_LEN_MAX) {
+
+312 
+       `gl_dbgW
+("Write size\87re diff!");
+
+313 \10
+GL_EXIF_FAILED
+;
+
+316 
+»t
+ = 0;
+
+318 
+GL_EXIF_FAILED
+:
+
+320 
+       `gl_dbg
+("All done");
+
+321 
+       `GL_FREEIF
+(
+time_buf
+);
+
+322 \15 
+»t
+;
+
+323 
+       }
+}
+
+326 \18\12
+       $__gl_exif_add_exif_to_jfif
+(\ 5*
+f\9ee_·th
+, \1d\12*
\9bÁ©iÚ
+)
+
+328 
+       `GL_CHECK_VAL
+(
\9bÁ©iÚ
+, -1);
+
+329 
+       `GL_CHECK_VAL
+(
+f\9ee_·th
+, -1);
+
+330 \1d\ 5
+tmp
+[
+GL_EXIF_BUF_LEN_MAX
+] = { 0, };
+
+331 
+FILE
+ *
+fd
+ = 
+NULL
+;
+
+332 \12
+»t
+ = -1;
+
+334 ià((
+fd
+ = 
+       `fݒ
+(
+f\9ee_·th
+, "rb+")è=ð
+NULL
+) {
+
+335 
+       `gl_sdbgE
+("Cª'\88Ý\92 %s!", 
+f\9ee_·th
+);
+
+339 \ 5*
+tmp_f\9ee
+ = 
+GL_EXI_TMP_JPEG_FILE
+;
+
+340 
+FILE
+ *
+tmp_fd
+ = 
+NULL
+;
+
+341 ià((
+tmp_fd
+ = 
+       `fݒ
+(
+tmp_f\9ee
+, "wb+")è=ð
+NULL
+) {
+
+342 
+       `gl_dbgE
+("Cª'\88Ý\92 %s!", 
+tmp_f\9ee
+);
+
+343 \10
+GL_EXIF_FAILED
+;
+
+347 ià(
+       `__gl_exif_add_h\97d\94
+(
+tmp_fd
+, 
\9bÁ©iÚ
+) < 0)
+
+348 \10
+GL_EXIF_FAILED
+;
+
+350 
+size_t
+r_size
+ = 0;
+
+352 
+r_size
+ = 
+       `ä\97d
+(
+tmp
+, \17(\ 5), 20, 
+fd
+);
+
+354 
+       `mem£t
+(
+tmp
+, 0x00, 
+GL_EXIF_BUF_LEN_MAX
+);
+
+356 \1f(
+r_size
+ = 
+       `ä\97d
+(
+tmp
+, 1, \17Ñmp), 
+fd
+)) > 0) {
+
+357 
+       `gl_dbg
+("r_size: %ld", 
+r_size
+);
+
+358 ià(
+       `fwr\99e
+(
+tmp
+, 1, 
+r_size
+, 
+tmp_fd
+) !=\84_size)
+
+359 
+       `gl_dbgW
+("Write\87nd\84ead size\87re diff!");
+
+361 
+       `mem£t
+(
+tmp
+, 0x00, 
+GL_EXIF_BUF_LEN_MAX
+);
+
+364 
+       `fþo£
+(
+fd
+);
+
+365 
+fd
+ = 
+       `fݒ
+(
+f\9ee_·th
+, "wb");
+
+366 ià(!
+fd
+) {
+
+367 
+       `gl_sdbgE
+("E¼Ü c»©\9ag f\9e\90%s!", 
+f\9ee_·th
+);
+
+368 \10
+GL_EXIF_FAILED
+;
+
+371 
+       `mem£t
+(
+tmp
+, 0x00, 
+GL_EXIF_BUF_LEN_MAX
+);
+
+373 
+       `f£ek
+(
+tmp_fd
+, 0, 
+SEEK_SET
+);
+
+374 \1f(
+r_size
+ = 
+       `ä\97d
+(
+tmp
+, 1, \17Ñmp), 
+tmp_fd
+)) > 0) {
+
+375 
+       `gl_dbg
+("r_size: %ld", 
+r_size
+);
+
+376 ià(
+       `fwr\99e
+(
+tmp
+, 1, 
+r_size
+, 
+fd
+) !=\84_size)
+
+377 
+       `gl_dbgW
+("Write\87nd\84ead size\87re diff!");
+
+379 
+       `mem£t
+(
+tmp
+, 0x00, 
+GL_EXIF_BUF_LEN_MAX
+);
+
+382 
+»t
+ = 0;
+
+384 
+GL_EXIF_FAILED
+:
+
+386 ià(
+fd
+)
+
+387 
+       `fþo£
+(
+fd
+);
+
+388 ià(
+tmp_fd
+)
+
+389 
+       `fþo£
+(
+tmp_fd
+);
+
+392 ià(!
+       `gl_f\9ee_uÆ\9ak
+(
+tmp_f\9ee
+))
+
+393 
+       `gl_dbgE
+("Delete file failed");
+
+395 
+       `gl_dbg
+("All done");
+
+396 \15 
+»t
+;
+
+397 
+       }
+}
+
+402 \18\12
+       $__gl_exif_add_Ü\9bÁ©iÚ_\8fg
+(\ 5*
+f\9ee_·th
+,
+
+403 \1d\12*
\9bÁ©iÚ
+) {
+
+405 
+       `GL_CHECK_VAL
+(
\9bÁ©iÚ
+, -1);
+
+406 
+       `GL_CHECK_VAL
+(
+f\9ee_·th
+, -1);
+
+407 \1d\ 5
+tmp
+[
+GL_EXIF_BUF_LEN_MAX
+] = { 0, };
+
+408 
+FILE
+ *
+fd
+ = 
+NULL
+;
+
+409 \12
+»t
+ = -1;
+
+410 \12
+tmp_exif
+ = -1;
+
+411 \12
+i
+ = 0;
+
+412 \1d\12
+Ëngth
+ = 0;
+
+413 
+boÞ
+is_mÙÜÞa
+ = 
+çl£
+;
+
+414 \1d\12
+off£t
+ = 0;
+
+415 
+size_t
+r_size
+ = 0;
+
+416 cڡ \1d\ 5
+ifd_d©a_fÜm©
+[13] = {
+
+419 
+GL_EXIF_IFD_DATA_FORMAT_UNSIGNED_BYTE
+,
+
+420 
+GL_EXIF_IFD_DATA_FORMAT_ASCII_STRINGS
+,
+
+421 
+GL_EXIF_IFD_DATA_FORMAT_UNSIGNED_SHORT
+,
+
+422 
+GL_EXIF_IFD_DATA_FORMAT_UNSIGNED_LONG
+,
+
+423 
+GL_EXIF_IFD_DATA_FORMAT_UNSIGNED_RATIONAL
+,
+
+424 
+GL_EXIF_IFD_DATA_FORMAT_SIGNED_BYTE
+,
+
+425 
+GL_EXIF_IFD_DATA_FORMAT_UNDEFINED
+,
+
+426 
+GL_EXIF_IFD_DATA_FORMAT_SIGNED_SHORT
+,
+
+427 
+GL_EXIF_IFD_DATA_FORMAT_SIGNED_LONG
+,
+
+428 
+GL_EXIF_IFD_DATA_FORMAT_SIGNED_RATIONAL
+,
+
+429 
+GL_EXIF_IFD_DATA_FORMAT_SIGNED_FLOAT
+,
+
+430 
+GL_EXIF_IFD_DATA_FORMAT_DOUBLE_FLOAT
+
+
+434 ià((
+fd
+ = 
+       `fݒ
+(
+f\9ee_·th
+, "rb+")è=ð
+NULL
+) {
+
+435 
+       `gl_sdbgE
+("Cª'\88Ý\92 %s!", 
+f\9ee_·th
+);
+
+439 \ 5*
+tmp_f\9ee
+ = 
+GL_EXI_TMP_JPEG_FILE
+;
+
+440 
+FILE
+ *
+tmp_fd
+ = 
+NULL
+;
+
+441 ià((
+tmp_fd
+ = 
+       `fݒ
+(
+tmp_f\9ee
+, "wb+")è=ð
+NULL
+) {
+
+442 
+       `gl_dbgE
+("Cª'\88Ý\92 %s!", 
+tmp_f\9ee
+);
+
+443 \10
+GL_EXIF_FAILED
+;
+
+446 
+boÞ
+b_\8fg_ff
+ = 
+çl£
+;
+
+448 
+tmp_exif
+ = 
+       `__gl_exif_»ad_1_by\8b
+(
+fd
+);
+
+449 ià(
+tmp_exif
+ < 0)
+
+450 \10
+GL_EXIF_FAILED
+;
+
+453 ià(
+       `__gl_exif_wr\99e_1_by\8b
+(
+tmp_fd
+, 
+tmp_exif
+) < 0)
+
+454 \10
+GL_EXIF_FAILED
+;
+
+456 
+tmp
+[0] = (\1d\ 5)
+tmp_exif
+;
+
+458 
+       `gl_dbg
+("- %02X", 
+tmp
+[0]);
+
+459 ià(!
+b_\8fg_ff
+) {
+
+461 ià(
+tmp
+[0] =ð
+GL_EXIF_TAG
+) {
+
+462 
+       `gl_dbgW
+("0xFF!");
+
+463 
+b_\8fg_ff
+ = 
+\8cue
+;
+
+469 ià(
+tmp
+[0] =ð
+GL_EXIF_APP1
+) {
+
+470 
+       `gl_dbgW
+("Exif in APP1!");
+
+473 
+       `gl_dbgW
+("0x%02X!",
+tmp
+[0]);
+
+474 
+b_\8fg_ff
+ = 
+çl£
+;
+
+479 ià(
+       `__gl_exif_»ad_2_by\8bs
+(
+fd
+, &
+Ëngth
+) < 0)
+
+480 \10
+GL_EXIF_FAILED
+;
+
+481 
+       `gl_dbg
+("Ëngth: %d", 
+Ëngth
+);
+
+484 ià(
+Ëngth
+ < 8) {
+
+485 
+       `gl_dbgE
+("length < 8");
+
+486 \10
+GL_EXIF_FAILED
+;
+
+489 
+Ëngth
+ += 12;
+
+490 
+       `gl_dbgW
+("modif\9bd\86\92gth: %d", 
+Ëngth
+);
+
+491 
+tmp
+[0] = (
+Ëngth
+ >> 8)& 0xff ;
+
+492 
+tmp
+[1] = 
+Ëngth
+ & 0xff ;
+
+493 \ f
+i
+ = 0; i < 2; i++) {
+
+494 ià(
+       `__gl_exif_wr\99e_1_by\8b
+(
+tmp_fd
+, 
+tmp
+[
+i
+]) < 0)
+
+495 \10
+GL_EXIF_FAILED
+;
+
+498 \ f
+i
+ = 0; i < 6; i++) {
+
+499 
+tmp_exif
+ = 
+       `__gl_exif_»ad_1_by\8b
+(
+fd
+);
+
+500 ià(
+tmp_exif
+ < 0)
+
+501 \10
+GL_EXIF_FAILED
+;
+
+503 
+tmp
+[
+i
+] = (\1d\ 5)
+tmp_exif
+;
+
+504 
+       `gl_dbg
+("- %02X", 
+tmp
+[
+i
+]);
+
+505 ià(
+       `__gl_exif_wr\99e_1_by\8b
+(
+tmp_fd
+, 
+tmp
+[
+i
+]) < 0)
+
+506 \10
+GL_EXIF_FAILED
+;
+
+508 ià(
+tmp
+[0] == 0x45 &&\81mp[1] == 0x78 &&\81mp[2] == 0x69 &&\81mp[3] == 0x66 &&
+
+509 
+tmp
+[4] == 0x00 &&\81mp[5] == 0x00) {
+
+510 
+       `gl_dbgW
+("Met Exif!");
+
+512 
+       `gl_dbgW
+("Not met Exif!");
+
+513 \10
+GL_EXIF_FAILED
+;
+
+516 \ f
+i
+ = 0; i < 4; i++) {
+
+517 
+tmp_exif
+ = 
+       `__gl_exif_»ad_1_by\8b
+(
+fd
+);
+
+518 ià(
+tmp_exif
+ < 0)
+
+519 \10
+GL_EXIF_FAILED
+;
+
+520 
+tmp
+[
+i
+] = (\1d\ 5)
+tmp_exif
+;
+
+521 ià(
+       `__gl_exif_wr\99e_1_by\8b
+(
+tmp_fd
+, 
+tmp
+[
+i
+]) < 0)
+
+522 \10
+GL_EXIF_FAILED
+;
+
+526 ià(
+tmp
+[0] == 0x49 &&\81mp[1] == 0x49 &&\81mp[2] == 0x2A &&
+
+527 
+tmp
+[3] == 0x00) {
+
+528 
+       `gl_dbg
+("Intel");
+
+529 
+is_mÙÜÞa
+ = 
+çl£
+;
+
+530 } \vià(
+tmp
+[0] == 0x4D &&\81mp[1] == 0x4D &&\81mp[2] == 0x00 &&
+
+531 
+tmp
+[3] == 0x2A) {
+
+532 
+       `gl_dbg
+("Motorola");
+
+533 
+is_mÙÜÞa
+ = 
+\8cue
+;
+
+535 \10
+GL_EXIF_FAILED
+;
+
+538 \ f
+i
+ = 0; i < 4; i++) {
+
+539 
+tmp_exif
+ = 
+       `__gl_exif_»ad_1_by\8b
+(
+fd
+);
+
+540 ià(
+tmp_exif
+ < 0)
+
+541 \10
+GL_EXIF_FAILED
+;
+
+543 
+tmp
+[
+i
+] = (\1d\ 5)
+tmp_exif
+;
+
+544 
+       `gl_dbg
+("- %02X", 
+tmp
+[
+i
+]);
+
+545 ià(
+       `__gl_exif_wr\99e_1_by\8b
+(
+tmp_fd
+, 
+tmp
+[
+i
+]) < 0)
+
+546 \10
+GL_EXIF_FAILED
+;
+
+550 ià(
+is_mÙÜÞa
+) {
+
+551 ià(
+tmp
+[0] != 0 &&\81mp[1] != 0)
+
+552 \10
+GL_EXIF_FAILED
+;
+
+553 
+off£t
+ = 
+tmp
+[2];
+
+554 
+off£t
+ <<= 8;
+
+555 
+off£t
+ +ð
+tmp
+[3];
+
+557 ià(
+tmp
+[3] != 0 &&\81mp[2] != 0)
+
+558 \10
+GL_EXIF_FAILED
+;
+
+559 
+off£t
+ = 
+tmp
+[1];
+
+560 
+off£t
+ <<= 8;
+
+561 
+off£t
+ +ð
+tmp
+[0];
+
+563 
+       `gl_dbg
+("off£t: %d", 
+off£t
+);
+
+565 ià(
+off£t
+ > 8) {
+
+566 \ f
+i
+ = 0; i < (
+off£t
+ - 8); i++) {
+
+567 
+tmp_exif
+ = 
+       `__gl_exif_»ad_1_by\8b
+(
+fd
+);
+
+568 ià(
+tmp_exif
+ < 0)
+
+569 \10
+GL_EXIF_FAILED
+;
+
+571 
+tmp
+[
+i
+] = (\1d\ 5)
+tmp_exif
+;
+
+572 
+       `gl_dbg
+("- %02X", 
+tmp
+[
+i
+]);
+
+573 ià(
+       `__gl_exif_wr\99e_1_by\8b
+(
+tmp_fd
+, 
+tmp
+[
+i
+]) < 0)
+
+574 \10
+GL_EXIF_FAILED
+;
+
+580 \1d\12
+\8fgs_út
+ = 0;
+
+581 \ f
+i
+ = 0; i < 2; i++) {
+
+582 
+tmp_exif
+ = 
+       `__gl_exif_»ad_1_by\8b
+(
+fd
+);
+
+583 ià(
+tmp_exif
+ < 0)
+
+584 \10
+GL_EXIF_FAILED
+;
+
+586 
+tmp
+[
+i
+] = (\1d\ 5)
+tmp_exif
+;
+
+588 ià(
+is_mÙÜÞa
+) {
+
+589 
+\8fgs_út
+ = 
+tmp
+[0];
+
+590 
+\8fgs_út
+ <<= 8;
+
+591 
+\8fgs_út
+ +ð
+tmp
+[1];
+
+593 
+\8fgs_út
+ = 
+tmp
+[1];
+
+594 
+\8fgs_út
+ <<= 8;
+
+595 
+\8fgs_út
+ +ð
+tmp
+[0];
+
+597 
+       `gl_dbg
+("\8fgs_út: %d", 
+\8fgs_út
+);
+
+599 
+\8fgs_út
+ += 1;
+
+600 
+       `gl_dbg
+("modif\9bd\81ags_út: %d", 
+\8fgs_út
+);
+
+601 ià(
+is_mÙÜÞa
+) {
+
+602 
+tmp
+[0] = (
+\8fgs_út
+ >> 8) & 0xff;
+
+603 
+tmp
+[1] = 
+\8fgs_út
+ & 0xff;
+
+605 
+tmp
+[0] = 
+\8fgs_út
+ & 0xff;
+
+606 
+tmp
+[1] = (
+\8fgs_út
+ >> 8) & 0xff;
+
+608 \ f
+i
+ = 0; i < 2; i++) {
+
+609 
+       `gl_dbg
+("modif\9bd- %02X", 
+tmp
+[
+i
+]);
+
+610 ià(
+       `__gl_exif_wr\99e_1_by\8b
+(
+tmp_fd
+, 
+tmp
+[
+i
+]) < 0)
+
+611 \10
+GL_EXIF_FAILED
+;
+
+615 \1d\12
+\8fg_num
+ = 0;
+
+616 \1d\ 5
\9bÁ©iÚ_\8fg
+[12] = { 0, };
+
+617 
+boÞ
+b_found_pos\99
+ = 
+çl£
+;
+
+618 \12
+j
+ = 0;
+
+619 \1d\12
+d©a_ty³
+ = 0;
+
+620 \1d\12
+un\99_num
+ = 0;
+
+621 \1d\12
+d©a_Ëngth
+ = 0;
+
+622 \1d\12
+off£t_v®ue
+ = 0;
+
+624 ià(
+is_mÙÜÞa
+) {
+
+625 
\9bÁ©iÚ_\8fg
+[0] = 0x01;
+
+626 
\9bÁ©iÚ_\8fg
+[1] = 0x12;
+
+628 
\9bÁ©iÚ_\8fg
+[2] = 0x00;
+
+629 
\9bÁ©iÚ_\8fg
+[3] = 0x03;
+
+631 
\9bÁ©iÚ_\8fg
+[4] = 0x00;
+
+632 
\9bÁ©iÚ_\8fg
+[5] = 0x00;
+
+633 
\9bÁ©iÚ_\8fg
+[6] = 0x00;
+
+634 
\9bÁ©iÚ_\8fg
+[7] = 0x01;
+
+636 
\9bÁ©iÚ_\8fg
+[8] = 0x00;
+
+637 
\9bÁ©iÚ_\8fg
+[9] = (\1d\ 5)(*
\9bÁ©iÚ
+);
+
+638 
\9bÁ©iÚ_\8fg
+[10] = 0x00;
+
+639 
\9bÁ©iÚ_\8fg
+[11] = 0x00;
+
+642 
\9bÁ©iÚ_\8fg
+[0] = 0x12;
+
+643 
\9bÁ©iÚ_\8fg
+[1] = 0x01;
+
+644 
\9bÁ©iÚ_\8fg
+[2] = 0x03;
+
+645 
\9bÁ©iÚ_\8fg
+[3] = 0x00;
+
+646 
\9bÁ©iÚ_\8fg
+[4] = 0x01;
+
+647 
\9bÁ©iÚ_\8fg
+[5] = 0x00;
+
+648 
\9bÁ©iÚ_\8fg
+[6] = 0x00;
+
+649 
\9bÁ©iÚ_\8fg
+[7] = 0x00;
+
+650 
\9bÁ©iÚ_\8fg
+[8] = (\1d\ 5)(*
\9bÁ©iÚ
+);
+
+651 
\9bÁ©iÚ_\8fg
+[9] = 0x00;
+
+652 
\9bÁ©iÚ_\8fg
+[10] = 0x00;
+
+653 
\9bÁ©iÚ_\8fg
+[11] = 0x00;
+
+656 ià(
+\8fgs_út
+ == 1) {
+
+657 \ f
+j
+ = 0; j < 12 ;j++) {
+
+658 
+       `gl_dbg
+("Ü\9bÁ©iÚ_\8fg- %02X", 
\9bÁ©iÚ_\8fg
+[
+j
+]);
+
+659 ià(
+       `__gl_exif_wr\99e_1_by\8b
+(
+tmp_fd
+, 
\9bÁ©iÚ_\8fg
+[
+j
+]) < 0)
+
+660 \10
+GL_EXIF_FAILED
+;
+
+664 ià(--
+\8fgs_út
+ == 0) {
+
+669 \ f
+i
+ = 0; i < 12; i++) {
+
+670 
+tmp_exif
+ = 
+       `__gl_exif_»ad_1_by\8b
+(
+fd
+);
+
+671 ià(
+tmp_exif
+ < 0)
+
+672 \10
+GL_EXIF_FAILED
+;
+
+674 
+tmp
+[
+i
+] = (\1d\ 5)
+tmp_exif
+;
+
+677 ià(
+is_mÙÜÞa
+) {
+
+678 
+\8fg_num
+ = 
+tmp
+[0];
+
+679 
+\8fg_num
+ <<= 8;
+
+680 
+\8fg_num
+ +ð
+tmp
+[1];
+
+682 
+\8fg_num
+ = 
+tmp
+[1];
+
+683 
+\8fg_num
+ <<= 8;
+
+684 
+\8fg_num
+ +ð
+tmp
+[0];
+
+686 
+       `gl_dbgW
+("\8fg\82um %02X!" , 
+\8fg_num
+);
+
+688 ià(
+\8fg_num
+ < 0x0112) {
+
+690 } \vià(
+\8fg_num
+ > 0x0112) {
+
+691 ià(!
+b_found_pos\99
+) {
+
+692 \ f
+j
+ = 0; j < 12 ;j++) {
+
+693 
+       `gl_dbg
+("Ü\9bÁ©iÚ_\8fg- %02X", 
\9bÁ©iÚ_\8fg
+[
+j
+]);
+
+694 ià(
+       `__gl_exif_wr\99e_1_by\8b
+(
+tmp_fd
+, 
\9bÁ©iÚ_\8fg
+[
+j
+]) < 0)
+
+695 \10
+GL_EXIF_FAILED
+;
+
+697 
+b_found_pos\99
+ = 
+\8cue
+;
+
+699 ià(
+is_mÙÜÞa
+) {
+
+700 
+d©a_ty³
+ = 
+tmp
+[2];
+
+701 
+d©a_ty³
+ <<= 8;
+
+702 
+d©a_ty³
+ +ð
+tmp
+[3];
+
+704 
+un\99_num
+ = 
+tmp
+[4];
+
+705 
+un\99_num
+ <<= 8;
+
+706 
+un\99_num
+ +ð
+tmp
+[5];
+
+707 
+un\99_num
+ <<= 8;
+
+708 
+un\99_num
+ +ð
+tmp
+[6];
+
+709 
+un\99_num
+ <<= 8;
+
+710 
+un\99_num
+ +ð
+tmp
+[7];
+
+712 
+d©a_ty³
+ = 
+tmp
+[3];
+
+713 
+d©a_ty³
+ <<= 8;
+
+714 
+d©a_ty³
+ +ð
+tmp
+[2];
+
+716 
+un\99_num
+ = 
+tmp
+[7];
+
+717 
+un\99_num
+ <<= 8;
+
+718 
+un\99_num
+ +ð
+tmp
+[6];
+
+719 
+un\99_num
+ <<= 8;
+
+720 
+un\99_num
+ +ð
+tmp
+[5];
+
+721 
+un\99_num
+ <<= 8;
+
+722 
+un\99_num
+ +ð
+tmp
+[4];
+
+724 
+       `gl_dbgW
+("d©a_ty³ %02X!" , 
+d©a_ty³
+);
+
+725 
+       `gl_dbgW
+("un\99_num %02X!" , 
+un\99_num
+);
+
+726 ià((
+d©a_ty³
+ < 1) ||(data_type > 12)) {
+
+727 
+       `gl_dbgE
+("Wrong data\81ype!");
+
+728 \10
+GL_EXIF_FAILED
+;
+
+731 
+d©a_Ëngth
+ = 
+ifd_d©a_fÜm©
+[
+d©a_ty³
+] * 
+un\99_num
+;
+
+732 
+       `gl_dbgW
+("d©a_Ëngth %02X!" , 
+d©a_Ëngth
+);
+
+734 ià(
+d©a_Ëngth
+ > 4) {
+
+735 ià(
+is_mÙÜÞa
+) {
+
+736 
+off£t_v®ue
+ = 
+tmp
+[8];
+
+737 
+off£t_v®ue
+ <<= 8;
+
+738 
+off£t_v®ue
+ +ð
+tmp
+[9];
+
+739 
+off£t_v®ue
+ <<= 8;
+
+740 
+off£t_v®ue
+ +ð
+tmp
+[10];
+
+741 
+off£t_v®ue
+ <<= 8;
+
+742 
+off£t_v®ue
+ +ð
+tmp
+[11];
+
+743 
+       `gl_dbgW
+("off£t_v®u\90%02X!" , 
+off£t_v®ue
+);
+
+745 
+off£t_v®ue
+ += 12;
+
+746 
+       `gl_dbgW
+("chªged off£t_v®u\90%02X!" , 
+off£t_v®ue
+);
+
+747 
+tmp
+[8] = (
+off£t_v®ue
+ >> 24) & 0xff;
+
+748 
+tmp
+[9] = (
+off£t_v®ue
+ >> 16) & 0xff;
+
+749 
+tmp
+[10] = (
+off£t_v®ue
+ >> 8) & 0xff;
+
+750 
+tmp
+[11] = 
+off£t_v®ue
+ & 0xff;
+
+751 
+       `gl_dbg
+("tmp[8] %02X!" , 
+tmp
+[8]);
+
+752 
+       `gl_dbg
+("tmp[9] %02X!" , 
+tmp
+[9]);
+
+753 
+       `gl_dbg
+("tmp[10] %02X!" , 
+tmp
+[10]);
+
+754 
+       `gl_dbg
+("tmp[11] %02X!" , 
+tmp
+[11]);
+
+756 
+off£t_v®ue
+ = 
+tmp
+[11];
+
+757 
+off£t_v®ue
+ <<= 8;
+
+758 
+off£t_v®ue
+ +ð
+tmp
+[10];
+
+759 
+off£t_v®ue
+ <<= 8;
+
+760 
+off£t_v®ue
+ +ð
+tmp
+[9];
+
+761 
+off£t_v®ue
+ <<= 8;
+
+762 
+off£t_v®ue
+ +ð
+tmp
+[8];
+
+763 
+       `gl_dbgW
+("off£t_v®u\90%02X!" , 
+off£t_v®ue
+);
+
+765 
+off£t_v®ue
+ += 12;
+
+766 
+       `gl_dbgW
+("chªged off£t_v®u\90%02X!" , 
+off£t_v®ue
+);
+
+768 
+tmp
+[11] = (
+off£t_v®ue
+ >> 24) & 0xff;
+
+769 
+tmp
+[10] = (
+off£t_v®ue
+ >> 16) & 0xff;
+
+770 
+tmp
+[9] = (
+off£t_v®ue
+ >> 8) & 0xff;
+
+771 
+tmp
+[8] = 
+off£t_v®ue
+ & 0xff;
+
+772 
+       `gl_dbg
+("tmp[8] %02X!" , 
+tmp
+[8]);
+
+773 
+       `gl_dbg
+("tmp[9] %02X!" , 
+tmp
+[9]);
+
+774 
+       `gl_dbg
+("tmp[10] %02X!" , 
+tmp
+[10]);
+
+775 
+       `gl_dbg
+("tmp[11] %02X!" , 
+tmp
+[11]);
+
+782 \ f
+i
+ = 0; i < 12 ;i++) {
+
+783 
+       `gl_dbg
+("- %02X", 
+tmp
+[
+i
+]);
+
+784 ià(
+       `__gl_exif_wr\99e_1_by\8b
+(
+tmp_fd
+,
+tmp
+[
+i
+]) < 0)
+
+785 \10
+GL_EXIF_FAILED
+;
+
+788 
+       `mem£t
+(
+tmp
+, 0x00, 12);
+
+791 
+       `mem£t
+(
+tmp
+, 0x00, 
+GL_EXIF_BUF_LEN_MAX
+);
+
+793 \1f(
+r_size
+ = 
+       `ä\97d
+(
+tmp
+, 1, \17Ñmp), 
+fd
+)) > 0) {
+
+794 
+       `gl_dbg
+("r_size: %ld", 
+r_size
+);
+
+795 ià(
+       `fwr\99e
+(
+tmp
+, 1, 
+r_size
+, 
+tmp_fd
+) !=\84_size)
+
+796 
+       `gl_dbgW
+("Write\87nd\84ead size\87re diff!");
+
+798 
+       `mem£t
+(
+tmp
+, 0x00, 
+GL_EXIF_BUF_LEN_MAX
+);
+
+800 
+       `fþo£
+(
+fd
+);
+
+801 
+fd
+ = 
+NULL
+;
+
+802 
+fd
+ = 
+       `fݒ
+(
+f\9ee_·th
+, "wb");
+
+803 ià(!
+fd
+) {
+
+804 
+       `gl_sdbgE
+("E¼Ü c»©\9ag f\9e\90%s!", 
+f\9ee_·th
+);
+
+805 \10
+GL_EXIF_FAILED
+;
+
+808 
+       `mem£t
+(
+tmp
+, 0x00, 
+GL_EXIF_BUF_LEN_MAX
+);
+
+810 
+       `f£ek
+(
+tmp_fd
+, 0, 
+SEEK_SET
+);
+
+811 \1f(
+r_size
+ = 
+       `ä\97d
+(
+tmp
+, 1, \17Ñmp), 
+tmp_fd
+)) > 0) {
+
+812 
+       `gl_dbg
+("r_size: %ld", 
+r_size
+);
+
+813 ià(
+       `fwr\99e
+(
+tmp
+, 1, 
+r_size
+, 
+fd
+) !=\84_size)
+
+814 
+       `gl_dbgW
+("Write\87nd\84ead size\87re diff!");
+
+815 
+       `mem£t
+(
+tmp
+, 0x00, 
+GL_EXIF_BUF_LEN_MAX
+);
+
+818 
+»t
+ = 0;
+
+820 
+GL_EXIF_FAILED
+:
+
+822 ià(
+fd
+) {
+
+823 
+       `fþo£
+(
+fd
+);
+
+824 
+fd
+ = 
+NULL
+;
+
+827 ià(
+tmp_fd
+) {
+
+828 
+       `fþo£
+(
+tmp_fd
+);
+
+829 
+tmp_fd
+ = 
+NULL
+;
+
+833 ià(!
+       `gl_f\9ee_uÆ\9ak
+(
+tmp_f\9ee
+))
+
+834 
+       `gl_dbgE
+("Delete file failed");
+
+836 
+       `gl_dbg
+("All done");
+
+837 \15 
+»t
+;
+
+838 
+       }
+}
+
+840 \18\12
+       $__gl_exif_rw_jfif
+(
+FILE
+ *
+fd
+, \ 5*
+f\9ee_·th
+,
+
+841 \1d\12*
\9bÁ©iÚ
+, 
+boÞ
+b_wr\99e
+)
+
+843 
+       `GL_CHECK_VAL
+(
+fd
+, -1);
+
+844 
+       `GL_CHECK_VAL
+(
+f\9ee_·th
+, -1);
+
+845 
+       `GL_CHECK_VAL
+(
\9bÁ©iÚ
+, -1);
+
+846 \1d\ 5
+tmp
+[
+GL_EXIF_BUF_LEN_MAX
+] = { 0, };
+
+847 \12
+i
+ = 0;
+
+848 \1d\12
+Ëngth
+ = 0;
+
+849 \12
+tmp_exif
+ = -1;
+
+850 
+boÞ
+is_mÙÜÞa
+ = 
+çl£
+;
+
+851 \1d\12
+off£t
+ = 0;
+
+852 \12
+»t
+ = -1;
+
+855 ià(
+       `__gl_exif_»ad_2_by\8bs
+(
+fd
+, &
+Ëngth
+) < 0)
+
+856 \10
+GL_EXIF_FAILED
+;
+
+857 
+       `gl_dbg
+("Ëngth: %d", 
+Ëngth
+);
+
+859 \ f
+i
+ = 0; i < 5; i++) {
+
+860 
+tmp_exif
+ = 
+       `__gl_exif_»ad_1_by\8b
+(
+fd
+);
+
+861 ià(
+tmp_exif
+ < 0)
+
+862 \10
+GL_EXIF_FAILED
+;
+
+863 
+tmp
+[
+i
+] = (\1d\ 5)
+tmp_exif
+;
+
+867 ià(
+tmp
+[0] != 0x4A ||\81mp[1] != 0x46 ||\81mp[2] != 0x49 ||
+
+868 
+tmp
+[3] != 0x46 ||\81mp[4] != 0x00) {
+
+869 
+       `gl_dbgE
+("Not met Jfif!");
+
+870 \10
+GL_EXIF_FAILED
+;
+
+873 \ f
+i
+ = 0; i < 2; i++) {
+
+874 
+tmp_exif
+ = 
+       `__gl_exif_»ad_1_by\8b
+(
+fd
+);
+
+875 ià(
+tmp_exif
+ < 0)
+
+876 \10
+GL_EXIF_FAILED
+;
+
+877 
+tmp
+[
+i
+] = (\1d\ 5)
+tmp_exif
+;
+
+881 ià(
+tmp
+[0] =ð0x01 &&\81mp[1] =ð
+GL_EXIF_JFIF_00
+) {
+
+882 
+       `gl_dbg
+("Jfif 1.00");
+
+883 } \vià(
+tmp
+[0] =ð0x01 &&\81mp[1] =ð
+GL_EXIF_JFIF_01
+) {
+
+884 
+       `gl_dbg
+("Jfif 1.01");
+
+885 } \vià(
+tmp
+[0] =ð0x01 &&\81mp[1] =ð
+GL_EXIF_JFIF_02
+) {
+
+886 
+       `gl_dbg
+("Jfif 1.02");
+
+888 
+       `gl_dbgE
+("Unknow Jfiàv\94siÚ[%d.%d]!", 
+tmp
+[0],\81mp[1]);
+
+889 \10
+GL_EXIF_FAILED
+;
+
+896 
+boÞ
+b_\8fg_ff
+ = 
+çl£
+;
+
+898 
+tmp_exif
+ = 
+       `__gl_exif_»ad_1_by\8b
+(
+fd
+);
+
+899 ià(
+tmp_exif
+ < 0)
+
+900 \10
+GL_EXIF_FAILED
+;
+
+902 
+tmp
+[0] = (\1d\ 5)
+tmp_exif
+;
+
+904 
+       `gl_dbg
+("- %02X", 
+tmp
+[0]);
+
+905 ià(!
+b_\8fg_ff
+) {
+
+907 ià(
+tmp
+[0] =ð
+GL_EXIF_TAG
+) {
+
+908 
+       `gl_dbgW
+("0xFF!");
+
+909 
+b_\8fg_ff
+ = 
+\8cue
+;
+
+915 ià(
+tmp
+[0] =ð
+GL_EXIF_APP1
+) {
+
+916 
+       `gl_dbgW
+("Exif in APP1!");
+
+920 
+       `gl_dbgW
+("No Exif in APP1!");
+
+923 
+       `fþo£
+(
+fd
+);
+
+924 ià(!
+b_wr\99e
+) {
+
+926 *
\9bÁ©iÚ
+ = 1;
+
+929 \15 
+       `__gl_exif_add_exif_to_jfif
+(
+f\9ee_·th
+, 
\9bÁ©iÚ
+);
+
+934 \ f
+i
+ = 0; i < 6; i++) {
+
+935 
+tmp_exif
+ = 
+       `__gl_exif_»ad_1_by\8b
+(
+fd
+);
+
+936 ià(
+tmp_exif
+ < 0) {
+
+937 
+       `gl_dbgW
+("Not met Exif!");
+
+938 \10
+GL_EXIF_FAILED
+;
+
+941 
+tmp
+[
+i
+] = (\1d\ 5)
+tmp_exif
+;
+
+942 
+       `gl_dbg
+("- %02X", 
+tmp
+[
+i
+]);
+
+944 ià(
+tmp
+[0] == 0x45 &&\81mp[1] == 0x78 &&\81mp[2] == 0x69 &&\81mp[3] == 0x66 &&
+
+945 
+tmp
+[4] == 0x00 &&\81mp[5] == 0x00) {
+
+946 
+       `gl_dbgW
+("Met Exif!");
+
+949 
+       `gl_dbg
+("Not met Exif!");
+
+950 ià(
+       `f£ek
+(
+fd
+, -5, 
+SEEK_CUR
+) < 0) {
+
+951 
+       `gl_dbgE
+("fseek failed!");
+
+952 \10
+GL_EXIF_FAILED
+;
+
+959 \ f
+i
+ = 0; i < 4; i++) {
+
+960 
+tmp_exif
+ = 
+       `__gl_exif_»ad_1_by\8b
+(
+fd
+);
+
+961 ià(
+tmp_exif
+ < 0)
+
+962 \10
+GL_EXIF_FAILED
+;
+
+963 
+tmp
+[
+i
+] = (\1d\ 5)
+tmp_exif
+;
+
+967 ià(
+tmp
+[0] == 0x49 &&\81mp[1] == 0x49 &&\81mp[2] == 0x2A &&
+
+968 
+tmp
+[3] == 0x00) {
+
+969 
+       `gl_dbg
+("Intel");
+
+970 
+is_mÙÜÞa
+ = 
+çl£
+;
+
+971 } \vià(
+tmp
+[0] == 0x4D &&\81mp[1] == 0x4D &&\81mp[2] == 0x00 &&
+
+972 
+tmp
+[3] == 0x2A) {
+
+973 
+       `gl_dbg
+("Motorola");
+
+974 
+is_mÙÜÞa
+ = 
+\8cue
+;
+
+976 \10
+GL_EXIF_FAILED
+;
+
+979 \ f
+i
+ = 0; i < 4; i++) {
+
+980 
+tmp_exif
+ = 
+       `__gl_exif_»ad_1_by\8b
+(
+fd
+);
+
+981 ià(
+tmp_exif
+ < 0)
+
+982 \10
+GL_EXIF_FAILED
+;
+
+984 
+tmp
+[
+i
+] = (\1d\ 5)
+tmp_exif
+;
+
+985 
+       `gl_dbg
+("- %02X", 
+tmp
+[
+i
+]);
+
+989 ià(
+is_mÙÜÞa
+) {
+
+990 ià(
+tmp
+[0] != 0 &&\81mp[1] != 0)
+
+991 \10
+GL_EXIF_FAILED
+;
+
+992 
+off£t
+ = 
+tmp
+[2];
+
+993 
+off£t
+ <<= 8;
+
+994 
+off£t
+ +ð
+tmp
+[3];
+
+996 ià(
+tmp
+[3] != 0 &&\81mp[2] != 0)
+
+997 \10
+GL_EXIF_FAILED
+;
+
+998 
+off£t
+ = 
+tmp
+[1];
+
+999 
+off£t
+ <<= 8;
+
+1000 
+off£t
+ +ð
+tmp
+[0];
+
+1002 
+       `gl_dbg
+("off£t: %d", 
+off£t
+);
+
+1006 \1d\12
+\8fgs_út
+ = 0;
+
+1007 \ f
+i
+ = 0; i < 2; i++) {
+
+1008 
+tmp_exif
+ = 
+       `__gl_exif_»ad_1_by\8b
+(
+fd
+);
+
+1009 ià(
+tmp_exif
+ < 0)
+
+1010 \10
+GL_EXIF_FAILED
+;
+
+1012 
+tmp
+[
+i
+] = (\1d\ 5)
+tmp_exif
+;
+
+1014 ià(
+is_mÙÜÞa
+) {
+
+1015 
+\8fgs_út
+ = 
+tmp
+[0];
+
+1016 
+\8fgs_út
+ <<= 8;
+
+1017 
+\8fgs_út
+ +ð
+tmp
+[1];
+
+1019 
+\8fgs_út
+ = 
+tmp
+[1];
+
+1020 
+\8fgs_út
+ <<= 8;
+
+1021 
+\8fgs_út
+ +ð
+tmp
+[0];
+
+1023 
+       `gl_dbg
+("\8fgs_út: %d", 
+\8fgs_út
+);
+
+1024 ià(
+\8fgs_út
+ == 0) {
+
+1025 
+       `gl_dbgE
+("tags_cnt == 0,no found orientation\81ag!");
+
+1026 ià(
+b_wr\99e
+) {
+
+1027 
+       `gl_dbgW
+("to\87dd\87n orientation\81ag!");
+
+1028 
+       `fþo£
+(
+fd
+);
+
+1029 
+fd
+ = 
+NULL
+;
+
+1030 \15 
+       `__gl_exif_add_Ü\9bÁ©iÚ_\8fg
+(
+f\9ee_·th
+, 
\9bÁ©iÚ
+);
+
+1034 *
\9bÁ©iÚ
+ = 1;
+
+1035 
+»t
+ = 0;
+
+1037 \10
+GL_EXIF_FAILED
+;
+
+1041 \1d\12
+\8fg_num
+ = 0;
+
+1044 \ f
+i
+ = 0; i < 12; i++) {
+
+1045 
+tmp_exif
+ = 
+       `__gl_exif_»ad_1_by\8b
+(
+fd
+);
+
+1046 ià(
+tmp_exif
+ < 0)
+
+1047 \10
+GL_EXIF_FAILED
+;
+
+1049 
+tmp
+[
+i
+] = (\1d\ 5)
+tmp_exif
+;
+
+1052 ià(
+is_mÙÜÞa
+) {
+
+1053 
+\8fg_num
+ = 
+tmp
+[0];
+
+1054 
+\8fg_num
+ <<= 8;
+
+1055 
+\8fg_num
+ +ð
+tmp
+[1];
+
+1057 
+\8fg_num
+ = 
+tmp
+[1];
+
+1058 
+\8fg_num
+ <<= 8;
+
+1059 
+\8fg_num
+ +ð
+tmp
+[0];
+
+1062 ià(
+\8fg_num
+ == 0x0112) {
+
+1063 
+       `gl_dbgW
+("Found orientation\81ag!");
+
+1066 ià(--
+\8fgs_út
+ == 0) {
+
+1067 
+       `gl_dbgW
+("tags_cnt == 0,\82o found orientation\81ag!");
+
+1068 ià(
+b_wr\99e
+) {
+
+1069 
+       `gl_dbgW
+("to\87dd\87n orientation\81ag!");
+
+1070 
+       `fþo£
+(
+fd
+);
+
+1071 
+fd
+ = 
+NULL
+;
+
+1072 \15 
+       `__gl_exif_add_Ü\9bÁ©iÚ_\8fg
+(
+f\9ee_·th
+, 
\9bÁ©iÚ
+);
+
+1076 *
\9bÁ©iÚ
+ = 1;
+
+1077 
+»t
+ = 0;
+
+1079 \10
+GL_EXIF_FAILED
+;
+
+1085 ià(
+b_wr\99e
+) {
+
+1086 
+       `gl_dbg
+("Wr\99e: %d", *
\9bÁ©iÚ
+);
+
+1088 ià(
+is_mÙÜÞa
+)
+
+1089 
+tmp
+[9] = (\1d\ 5)(*
\9bÁ©iÚ
+);
+
+1091 
+tmp
+[8] = (\1d\ 5)(*
\9bÁ©iÚ
+);
+
+1094 ià(
+       `f£ek
+(
+fd
+, -12, 
+SEEK_CUR
+) < 0) {
+
+1095 
+       `gl_dbgE
+("fseek failed!");
+
+1096 \10
+GL_EXIF_FAILED
+;
+
+1098 
+       `fwr\99e
+(
+tmp
+, 1, 10, 
+fd
+);
+
+1101 ià(
+is_mÙÜÞa
+) {
+
+1102 ià(
+tmp
+[8] != 0) {
+
+1103 
+       `gl_dbgE
+("tmp[8] != 0");
+
+1104 \10
+GL_EXIF_FAILED
+;
+
+1106 *
\9bÁ©iÚ
+ = (\1d\12)
+tmp
+[9];
+
+1108 ià(
+tmp
+[9] != 0) {
+
+1109 
+       `gl_dbgE
+("tmp[9] != 0");
+
+1110 \10
+GL_EXIF_FAILED
+;
+
+1112 *
\9bÁ©iÚ
+ = (\1d\12)
+tmp
+[8];
+
+1114 ià(*
\9bÁ©iÚ
+ > 8) {
+
+1115 
+       `gl_dbgE
+("*orient > 8");
+
+1116 \10
+GL_EXIF_FAILED
+;
+
+1118 
+       `gl_dbg
+("R\97d: %d", *
\9bÁ©iÚ
+);
+
+1121 
+»t
+ = 0;
+
+1123 
+GL_EXIF_FAILED
+:
+
+1125 
+       `fþo£
+(
+fd
+);
+
+1126 
+       `gl_dbg
+("All done");
+
+1127 \15 
+»t
+;
+
+1128 
+       }
+}
+
+1129 
+boÞ
+       $_gl_exif_check_img_ty³
+(\ 5*
+f\9ee_·th
+)
+
+1131 
+       `GL_CHECK_VAL
+(
+f\9ee_·th
+, -1);
+
+1132 \12
+tmp_exif
+ = -1;
+
+1133 \1d\12
+i
+ = 0;
+
+1134 \1d\ 5
+exif_d©a
+[4] = { 0, };
+
+1135 
+FILE
+ *
+fd
+ = 
+NULL
+;
+
+1136 
+boÞ
+»t
+ = 
+çl£
+;
+
+1138 ià((
+fd
+ = 
+       `fݒ
+(
+f\9ee_·th
+, "rb")è=ð
+NULL
+) {
+
+1139 
+       `gl_sdbgE
+("Cª'\88Ý\92 %s!", 
+f\9ee_·th
+);
+
+1145 \ f
+i
+ = 0; i < 4; i++) {
+
+1146 
+tmp_exif
+ = 
+       `__gl_exif_»ad_1_by\8b
+(
+fd
+);
+
+1147 ià(
+tmp_exif
+ < 0)
+
+1148 \10
+GL_EXIF_FAILED
+;
+
+1150 
+exif_d©a
+[
+i
+] = (\1d\ 5)
+tmp_exif
+;
+
+1153 ià(
+exif_d©a
+[0] =ð
+GL_EXIF_TAG
+ &&\83xif_d©a[1] =ð
+GL_EXIF_SOI
+) {
+
+1154 
+       `gl_dbg
+("JPEG file");
+
+1156 
+       `gl_dbgE
+("Not\87 JPEG file!");
+
+1157 \10
+GL_EXIF_FAILED
+;
+
+1160 ià(
+exif_d©a
+[2] =ð
+GL_EXIF_TAG
+ &&\83xif_d©a[3] =ð
+GL_EXIF_APP1
+) {
+
+1161 
+       `gl_dbgW
+("Exif in APP1!");
+
+1162 
+»t
+ = 
+\8cue
+;
+
+1163 } \vià(
+exif_d©a
+[2] =ð
+GL_EXIF_TAG
+ &&
+
+1164 
+exif_d©a
+[3] =ð
+GL_EXIF_APP0
+) {
+
+1165 
+       `gl_dbgW
+("Jfif in APP0!");
+
+1166 
+»t
+ = 
+\8cue
+;
+
+1168 
+       `gl_dbgE
+("NÙ\87 Exià\9a APP1 o¸Jifà\9a APP2[%d]!", 
+exif_d©a
+[3]);
+
+1169 
+»t
+ = 
+çl£
+;
+
+1171 
+GL_EXIF_FAILED
+:
+
+1173 
+       `fþo£
+(
+fd
+);
+
+1174 
+       `gl_dbg
+("");
+
+1175 \15 
+»t
+;
+
+1176 
+       }
+}
+
+1178 \18\12
+       $__gl_exif_rw_Ü\9bÁ
+(\ 5*
+f\9ee_·th
+, \1d\12*
\9bÁ
+, 
+boÞ
+b_wr\99e
+)
+
+1180 
+       `GL_CHECK_VAL
+(
+f\9ee_·th
+, -1);
+
+1181 
+       `gl_dbg
+("b_wr\99e: %d", 
+b_wr\99e
+);
+
+1182 \1d\12
+Ëngth
+ = 0;
+
+1183 \1d\12
+i
+ = 0;
+
+1184 
+boÞ
+is_mÙÜÞa
+ = 
+çl£
+;
+
+1185 \1d\12
+off£t
+ = 0;
+
+1186 \1d\12
+jfif_off£t
+ = 0;
+
+1187 \1d\12
+\8fgs_út
+ = 0;
+
+1188 \1d\12
+\8fg_num
+ = 0;
+
+1189 \12
+tmp_exif
+ = -1;
+
+1190 \1d\ 5
+exif_d©a
+[
+GL_EXIF_BUF_LEN_MAX
+] = { 0, };
+
+1191 
+FILE
+ *
+fd
+ = 
+NULL
+;
+
+1192 \12
+»t
+ = -1;
+
+1194 ià(
+b_wr\99e
+) {
+
+1195 ià((
+fd
+ = 
+       `fݒ
+(
+f\9ee_·th
+, "rb+")è=ð
+NULL
+) {
+
+1196 
+       `gl_sdbgE
+("Cª'\88Ý\92 %s!", 
+f\9ee_·th
+);
+
+1200 ià((
+fd
+ = 
+       `fݒ
+(
+f\9ee_·th
+, "rb")è=ð
+NULL
+) {
+
+1201 
+       `gl_sdbgE
+("Cª'\88Ý\92 %s!", 
+f\9ee_·th
+);
+
+1207 \ f
+i
+ = 0; i < 4; i++) {
+
+1208 
+tmp_exif
+ = 
+       `__gl_exif_»ad_1_by\8b
+(
+fd
+);
+
+1209 ià(
+tmp_exif
+ < 0)
+
+1210 \10
+GL_EXIF_FAILED
+;
+
+1212 
+exif_d©a
+[
+i
+] = (\1d\ 5)
+tmp_exif
+;
+
+1215 ià(
+exif_d©a
+[0] =ð
+GL_EXIF_TAG
+ &&\83xif_d©a[1] =ð
+GL_EXIF_SOI
+) {
+
+1216 
+       `gl_dbg
+("JPEG file");
+
+1218 
+       `gl_dbgE
+("Not\87 JPEG file!");
+
+1219 \10
+GL_EXIF_FAILED
+;
+
+1222 ià(
+exif_d©a
+[2] =ð
+GL_EXIF_TAG
+ &&\83xif_d©a[3] =ð
+GL_EXIF_APP1
+) {
+
+1223 
+       `gl_dbgW
+("Exif in APP1!");
+
+1224 } \vià(
+exif_d©a
+[2] =ð
+GL_EXIF_TAG
+ &&
+
+1225 
+exif_d©a
+[3] =ð
+GL_EXIF_APP0
+) {
+
+1226 
+       `gl_dbgW
+("Jfif in APP0!");
+
+1227 \12
+»t
+ = 
+       `__gl_exif_rw_jfif
+(
+fd
+, 
+f\9ee_·th
+, 
\9bÁ
+, 
+b_wr\99e
+);
+
+1228 \15 
+»t
+;
+
+1230 
+       `gl_dbgE
+("NÙ\87 Exià\9a APP1 o¸Jifà\9a APP2[%d]!", 
+exif_d©a
+[3]);
+
+1231 \10
+GL_EXIF_FAILED
+;
+
+1235 ià(
+       `__gl_exif_»ad_2_by\8bs
+(
+fd
+, &
+Ëngth
+) < 0)
+
+1236 \10
+GL_EXIF_FAILED
+;
+
+1237 
+       `gl_dbg
+("Ëngth: %d", 
+Ëngth
+);
+
+1240 ià(
+Ëngth
+ < 8) {
+
+1241 
+       `gl_dbgE
+("length < 8");
+
+1242 \10
+GL_EXIF_FAILED
+;
+
+1244 
+Ëngth
+ -= 8;
+
+1247 ià(
+Ëngth
+ < 12) {
+
+1248 
+       `gl_dbgE
+("length < 12");
+
+1249 \10
+GL_EXIF_FAILED
+;
+
+1253 \ f
+i
+ = 0; i < 6; i++) {
+
+1254 
+tmp_exif
+ = 
+       `__gl_exif_»ad_1_by\8b
+(
+fd
+);
+
+1255 ià(
+tmp_exif
+ < 0)
+
+1256 \10
+GL_EXIF_FAILED
+;
+
+1258 
+exif_d©a
+[
+i
+] = (\1d\ 5)
+tmp_exif
+;
+
+1261 ià(
+exif_d©a
+[0] != 0x45 ||\83xif_data[1] != 0x78 ||
+
+1262 
+exif_d©a
+[2] != 0x69 ||\83xif_data[3] != 0x66 ||
+
+1263 
+exif_d©a
+[4] != 0x00 ||\83xif_data[5] != 0x00) {
+
+1264 
+       `gl_dbgE
+("Not met Exif!");
+
+1265 \ f
+i
+ = 0; i < 6; i++)
+
+1266 
+       `gl_dbg
+("- %02X", 
+exif_d©a
+[
+i
+]);
+
+1267 \10
+GL_EXIF_FAILED
+;
+
+1271 \ f
+i
+ = 0; i < 
+Ëngth
+; i++) {
+
+1272 
+tmp_exif
+ = 
+       `__gl_exif_»ad_1_by\8b
+(
+fd
+);
+
+1273 ià(
+tmp_exif
+ < 0)
+
+1274 \10
+GL_EXIF_FAILED
+;
+
+1275 
+exif_d©a
+[
+i
+] = (\1d\ 5)
+tmp_exif
+;
+
+1279 ià(
+exif_d©a
+[0] == 0x49 &&\83xif_data[1] == 0x49 &&
+
+1280 
+exif_d©a
+[2] == 0x2A &&\83xif_data[3] == 0x00) {
+
+1281 
+       `gl_dbg
+("Intel");
+
+1282 
+is_mÙÜÞa
+ = 
+çl£
+;
+
+1283 } \vià(
+exif_d©a
+[0] == 0x4D &&\83xif_data[1] == 0x4D &&
+
+1284 
+exif_d©a
+[2] == 0x00 &&\83xif_data[3] == 0x2A) {
+
+1285 
+       `gl_dbg
+("Motorola");
+
+1286 
+is_mÙÜÞa
+ = 
+\8cue
+;
+
+1288 \10
+GL_EXIF_FAILED
+;
+
+1292 ià(
+is_mÙÜÞa
+) {
+
+1293 ià(
+exif_d©a
+[4] != 0 &&\83xif_data[5] != 0)
+
+1294 \10
+GL_EXIF_FAILED
+;
+
+1295 
+off£t
+ = 
+exif_d©a
+[6];
+
+1296 
+off£t
+ <<= 8;
+
+1297 
+off£t
+ +ð
+exif_d©a
+[7];
+
+1299 ià(
+exif_d©a
+[7] != 0 &&\83xif_data[6] != 0)
+
+1300 \10
+GL_EXIF_FAILED
+;
+
+1301 
+off£t
+ = 
+exif_d©a
+[5];
+
+1302 
+off£t
+ <<= 8;
+
+1303 
+off£t
+ +ð
+exif_d©a
+[4];
+
+1306 ià(
+off£t
+ > 
+Ëngth
+ - 2) {
+
+1307 
+       `gl_dbgE
+("offset >\86ength - 2");
+
+1308 \10
+GL_EXIF_FAILED
+;
+
+1313 ià(
+is_mÙÜÞa
+) {
+
+1314 
+\8fgs_út
+ = 
+exif_d©a
+[
+off£t
+];
+
+1315 
+\8fgs_út
+ <<= 8;
+
+1316 
+\8fgs_út
+ +ð
+exif_d©a
+[
+off£t
++1];
+
+1318 
+\8fgs_út
+ = 
+exif_d©a
+[
+off£t
++1];
+
+1319 
+\8fgs_út
+ <<= 8;
+
+1320 
+\8fgs_út
+ +ð
+exif_d©a
+[
+off£t
+];
+
+1322 ià(
+\8fgs_út
+ == 0) {
+
+1323 
+       `gl_dbgE
+("tags_cnt == 0 - 2");
+
+1324 \10
+GL_EXIF_FAILED
+;
+
+1326 
+off£t
+ += 2;
+
+1329 ià(
+off£t
+ > 
+Ëngth
+ - 12) {
+
+1330 
+       `gl_dbgE
+("offset >\86ength - 12");
+
+1331 \10
+GL_EXIF_FAILED
+;
+
+1337 ià(
+is_mÙÜÞa
+) {
+
+1338 
+\8fg_num
+ = 
+exif_d©a
+[
+off£t
+];
+
+1339 
+\8fg_num
+ <<= 8;
+
+1340 
+\8fg_num
+ +ð
+exif_d©a
+[
+off£t
++1];
+
+1342 
+\8fg_num
+ = 
+exif_d©a
+[
+off£t
++1];
+
+1343 
+\8fg_num
+ <<= 8;
+
+1344 
+\8fg_num
+ +ð
+exif_d©a
+[
+off£t
+];
+
+1347 ià(
+\8fg_num
+ == 0x0112) {
+
+1348 
+       `gl_dbgW
+("Found orientation\81ag!");
+
+1351 ià(--
+\8fgs_út
+ == 0) {
+
+1352 
+       `gl_dbgW
+("tags_cnt == 0,\82o found orientation\81ag!");
+
+1353 ià(
+b_wr\99e
+) {
+
+1354 
+       `gl_dbgW
+("to\87dd\87n orientation\81ag!");
+
+1355 
+       `fþo£
+(
+fd
+);
+
+1356 
+fd
+ = 
+NULL
+;
+
+1357 \15 
+       `__gl_exif_add_Ü\9bÁ©iÚ_\8fg
+(
+f\9ee_·th
+, 
\9bÁ
+);
+
+1361 *
\9bÁ
+ = 1;
+
+1362 
+»t
+ = 0;
+
+1364 \10
+GL_EXIF_FAILED
+;
+
+1368 
+off£t
+ += 12;
+
+1371 ià(
+b_wr\99e
+) {
+
+1372 
+       `gl_dbg
+("Wr\99e: %d", *
\9bÁ
+);
+
+1374 ià(
+is_mÙÜÞa
+)
+
+1375 
+exif_d©a
+[
+off£t
++9] = (\1d\ 5)(*
\9bÁ
+);
+
+1377 
+exif_d©a
+[
+off£t
++8] = (\1d\ 5)(*
\9bÁ
+);
+
+1379 ià(
+       `f£ek
+(
+fd
+, 
+jfif_off£t
+ + (4 + 2 + 6 + 2è+ 
+off£t
+, 
+SEEK_SET
+) < 0) {
+
+1380 
+       `gl_dbgE
+("fseek failed!");
+
+1381 \10
+GL_EXIF_FAILED
+;
+
+1383 
+       `fwr\99e
+(
+exif_d©a
+ + 2 + 
+off£t
+, 1, 10, 
+fd
+);
+
+1386 ià(
+is_mÙÜÞa
+) {
+
+1387 ià(
+exif_d©a
+[
+off£t
++8] != 0) {
+
+1388 
+       `gl_dbgE
+("exif_data[offset+8] != 0");
+
+1389 \10
+GL_EXIF_FAILED
+;
+
+1391 *
\9bÁ
+ = (\1d\12)
+exif_d©a
+[
+off£t
++9];
+
+1393 ià(
+exif_d©a
+[
+off£t
++9] != 0) {
+
+1394 
+       `gl_dbgE
+("exif_data[offset+9] != 0");
+
+1395 \10
+GL_EXIF_FAILED
+;
+
+1397 *
\9bÁ
+ = (\1d\12)
+exif_d©a
+[
+off£t
++8];
+
+1399 ià(*
\9bÁ
+ > 8) {
+
+1400 
+       `gl_dbgE
+("*orient > 8");
+
+1401 \10
+GL_EXIF_FAILED
+;
+
+1403 
+       `gl_dbg
+("R\97d: %d", *
\9bÁ
+);
+
+1406 
+»t
+ = 0;
+
+1408 
+GL_EXIF_FAILED
+:
+
+1410 
+       `fþo£
+(
+fd
+);
+
+1411 
+       `gl_dbg
+("All done");
+
+1412 \15 
+»t
+;
+
+1413 
+       }
+}
+
+1415 \12
+       $_gl_exif_g\91\9bÁ©iÚ
+(\ 5*
+f\9ee_·th
+, \1d\12*
\9bÁ©iÚ
+)
+
+1417 
+       `GL_CHECK_VAL
+(
\9bÁ©iÚ
+, -1);
+
+1418 
+       `GL_CHECK_VAL
+(
+f\9ee_·th
+, -1);
+
+1419 
+       `gl_sdbg
+("f\9ee_·th: %s", 
+f\9ee_·th
+);
+
+1421 \15 
+       `__gl_exif_rw_Ü\9bÁ
+(
+f\9ee_·th
+, 
\9bÁ©iÚ
+, 
+çl£
+);
+
+1422 
+       }
+}
+
+1424 \12
+       $_gl_exif_£t_Ü\9bÁ©iÚ
+(\ 5*
+f\9ee_·th
+, \1d\12
\9bÁ©iÚ
+)
+
+1426 
+       `GL_CHECK_VAL
+(
+f\9ee_·th
+, -1);
+
+1427 
+       `gl_sdbg
+("f\9ee_·th: %s", 
+f\9ee_·th
+);
+
+1429 \15 
+       `__gl_exif_rw_Ü\9bÁ
+(
+f\9ee_·th
+, &
\9bÁ©iÚ
+, 
+\8cue
+);
+
+1430 
+       }
+}
+
+1432 \12
+       $_gl_exif_g\91_rÙ©ed_Ü\9bÁ©iÚ
+(\1d\12
\9bÁ©iÚ
+, 
+boÞ
+b_Ëá
+)
+
+1434 \12
+rÙ©ed_Ü\9bÁ©aiÚ
+;
+
+1435 
+       `gl_dbg
+("b_Ëá: %d", 
+b_Ëá
+);
+
+1437 \1a
\9bÁ©iÚ
+) {
+
+1438 \ 4
+GL_ORIENTATION_ROT_0
+:
+
+1440 ià(
+b_Ëá
+)
+
+1441 
+rÙ©ed_Ü\9bÁ©aiÚ
+ = 
+GL_ORIENTATION_ROT_270
+;
+
+1443 
+rÙ©ed_Ü\9bÁ©aiÚ
+ = 
+GL_ORIENTATION_ROT_90
+;
+
+1445 \ 4
+GL_ORIENTATION_ROT_90
+:
+
+1447 ià(
+b_Ëá
+)
+
+1448 
+rÙ©ed_Ü\9bÁ©aiÚ
+ = 
+GL_ORIENTATION_ROT_0
+;
+
+1450 
+rÙ©ed_Ü\9bÁ©aiÚ
+ = 
+GL_ORIENTATION_ROT_180
+;
+
+1452 \ 4
+GL_ORIENTATION_ROT_180
+:
+
+1454 ià(
+b_Ëá
+)
+
+1455 
+rÙ©ed_Ü\9bÁ©aiÚ
+ = 
+GL_ORIENTATION_ROT_90
+;
+
+1457 
+rÙ©ed_Ü\9bÁ©aiÚ
+ = 
+GL_ORIENTATION_ROT_270
+;
+
+1459 \ 4
+GL_ORIENTATION_ROT_270
+:
+
+1461 ià(
+b_Ëá
+)
+
+1462 
+rÙ©ed_Ü\9bÁ©aiÚ
+ = 
+GL_ORIENTATION_ROT_180
+;
+
+1464 
+rÙ©ed_Ü\9bÁ©aiÚ
+ = 
+GL_ORIENTATION_ROT_0
+;
+
+1467 
+       `gl_dbgE
+("WrÚg or\9bù©iÚ: %d!", 
\9bÁ©iÚ
+);
+
+1469 ià(
+b_Ëá
+)
+
+1470 
+rÙ©ed_Ü\9bÁ©aiÚ
+ = 
+GL_ORIENTATION_ROT_270
+;
+
+1472 
+rÙ©ed_Ü\9bÁ©aiÚ
+ = 
+GL_ORIENTATION_ROT_90
+;
+
+1476 
+       `gl_dbg
+("New or\9bÁ©iÚ: %d", 
+rÙ©ed_Ü\9bÁ©aiÚ
+);
+
+1477 \15 
+rÙ©ed_Ü\9bÁ©aiÚ
+;
+
+1478 
+       }
+}
+
+       @src/util/gl-ext-exec.c
+
+18 \ 2
+       ~<EËm\92\8fry.h
+>
+
+19 \ 2
+       ~"gl-ext-exec.h
+"
+
+20 \ 2
+       ~"gl-debug.h
+"
+
+21 \ 2
+       ~"g®Ëry.h
+"
+
+22 \ 2
+       ~"gl-d©a.h
+"
+
+23 \ 2
+       ~"gl-ut\9e.h
+"
+
+24 \ 2
+       ~"gl-pÝup.h
+"
+
+25 \ 2
+       ~"gl-cÚ\8cÞb¬.h
+"
+
+26 \ 2
+       ~"gl-®bums.h
+"
+
+27 \ 2
+       ~"gl-thumbs.h
+"
+
+28 \ 2
+       ~"gl-¡r\9ags.h
+"
+
+29 \ 2
+       ~"gl-nÙify.h
+"
+
+31 \ 1
+       #GL_APP_PKG_VIDEOPLAYER
+ "Üg.tiz\92.videos-l\99e"
+
+       )
+
+32 \ 1
+       #GL_APP_PKG_CAMERA_EFL
+ "Üg.tiz\92.ÿm\94a-­p-l\99e"
+
+       )
+
+33 \ 1
+       #GL_APP_PKG_IE
+ "com.§msung.image-ed\99Ü"
+
+       )
+
+34 \ 1
+       #GL_SEPERATOR_IE
+ '|'
+
+       )
+
+35 \ 1
+       #GL_ARGV_VIDEO_LIST_TYPE
+ "video_li¡_ty³"
+
+       )
+
+36 \ 1
+       #GL_ARGV_VIDEO_ALL_FOLDER_VIDEO
+ "®l_fÞd\94_video"
+
+       )
+
+37 \ 1
+       #GL_ARGV_VIDEO_FOLDER
+ "fÞd\94"
+
+       )
+
+39 \ 1
+       #GL_ARGV_VIDEO_ORDER_TYPE
+ "Üd\94_ty³"
+
+       )
+
+40 \ 1
+       #GL_ARGV_VIDEO_ORDER_DATE_DESC
+ "d©e_desc"
+
+       )
+
+41 \ 1
+       #GL_ARGV_VIDEO_START_POS
+ "¡¬t_pos_time"
+
+       )
+
+43 \ 1
+       #GL_ARGV_VIDEO_LAUNCH_APP
+ "Ïunch\9ag_­¶iÿtiÚ"
+
+       )
+
+44 \ 1
+       #GL_ARGV_VIDEO_LAUNCH_GALLERY
+ "g®Ëry"
+
+       )
+
+46 \ 1
+       #GL_ARGV_PATH
+ "·th"
+
+       )
+
+48 \ 1
+       #GL_SHARE_FILE_PREFIX
+ "f\9ee://"
+
+       )
+
+49 \ 1
+       #GL_SHARE_OPERATION_SINGLE
+ "h\89p://tiz\92.Üg/­pcÚ\8cÞ/Ý\94©iÚ/sh¬e"
+
+       )
+
+50 \ 1
+       #GL_SHARE_OPERATION_MULTIPLE
+ "h\89p://tiz\92.Üg/­pcÚ\8cÞ/Ý\94©iÚ/muÉi_sh¬e"
+
+       )
+
+51 \ 1
+       #GL_SHARE_SVC_FILE_PATH
+ "h\89p://tiz\92.Üg/­pcÚ\8cÞ/d©a/·th"
+
+       )
+
+54 \18\12
+       $__gl_ext_Ïunch_video_¶ay\94
+(\1e*
+d©a
+, 
+­p_cÚ\8cÞ_h
+£rviû
+)
+
+56 
+       `GL_CHECK_VAL
+(
+£rviû
+, -1);
+
+57 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+58 
+gl_\99em
+ *
+g\99em
+ = (gl_\99em *)
+d©a
+;
+
+59 
+       `GL_CHECK_VAL
+(
+g\99em
+->
+ad
+, -1);
+
+60 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+g\99em
+->ad;
+
+61 
+       `GL_CHECK_VAL
+(
+g\99em
+->
+\99em
+, -1);
+
+62 
+       `GL_CHECK_VAL
+(
+g\99em
+->
+\99em
+->
+uuid
+, -1);
+
+63 
+       `GL_CHECK_VAL
+(
+g\99em
+->
+\99em
+->
+f\9ee_u¾
+, -1);
+
+65 \12
+ϡ_pos
+ = 0;
+
+66 \ 5
+Ï¡_pos_¡r
+[
+GL_INTERGER_LEN_MAX
+] = { 0, };
+
+68 
+       `GL_CHECK_VAL
+(
+g\99em
+->
+\99em
+->
+video_\9afo
+, -1);
+
+69 
+ϡ_pos
+ = 
+g\99em
+->
+\99em
+->
+video_\9afo
+->
+Ï¡_¶ayed_pos
+;
+
+70 
+       `e\9aa_cÚv\94t_\99ß
+(
+ϡ_pos
+, 
+Ï¡_pos_¡r
+);
+
+71 
+       `gl_dbg
+("Ï¡_po : %d", 
+ϡ_pos
+);
+
+73 cڡ \ 5*
+video_·th
+ = 
+g\99em
+->
+\99em
+->
+f\9ee_u¾
+;
+
+75 
+gl_þu¡\94
+ *
+cur_þu¡\94
+ = 
+       `_gl_®bums_g\91_cu¼\92t
+(
+ad
+);
+
+76 ià(
+cur_þu¡\94
+ && cur_þu¡\94->
+þu¡\94
+) {
+
+77 
+       `gl_sdbg
+("Album: %s", 
+cur_þu¡\94
+->
+þu¡\94
+->
+di¥Ïy_Çme
+);
+
+78 ià(
+cur_þu¡\94
+->
+þu¡\94
+->
+ty³
+ =ð
+GL_STORE_T_ALL
+) {
+
+79 
+       `gl_dbg
+("All\87lbum");
+
+80 
+       `­p_cÚ\8cÞ_add_ex\8ca_d©a
+(
+£rviû
+,
+
+81 
+GL_ARGV_VIDEO_LIST_TYPE
+,
+
+82 
+GL_ARGV_VIDEO_ALL_FOLDER_VIDEO
+);
+
+83 
+       `­p_cÚ\8cÞ_add_ex\8ca_d©a
+(
+£rviû
+,
+
+84 
+GL_ARGV_VIDEO_ORDER_TYPE
+,
+
+85 
+GL_ARGV_VIDEO_ORDER_DATE_DESC
+);
+
+86 
+       `­p_cÚ\8cÞ_add_ex\8ca_d©a
+(
+£rviû
+,
+
+87 
+GL_ARGV_VIDEO_LAUNCH_APP
+,
+
+88 
+GL_ARGV_VIDEO_LAUNCH_GALLERY
+);
+
+89 
+       `­p_cÚ\8cÞ_add_ex\8ca_d©a
+(
+£rviû
+,
+
+90 
+GL_ARGV_VIDEO_START_POS
+,
+
+91 
+Ï¡_pos_¡r
+);
+
+92 } \vià(
+cur_þu¡\94
+->
+þu¡\94
+->
+ty³
+ =ð
+GL_STORE_T_PHONE
+ ||
+
+93 
+cur_þu¡\94
+->
+þu¡\94
+->
+ty³
+ =ð
+GL_STORE_T_MMC
+) {
+
+94 
+       `gl_dbg
+("Real\87lbum");
+
+95 
+       `­p_cÚ\8cÞ_add_ex\8ca_d©a
+(
+£rviû
+,
+
+96 
+GL_ARGV_VIDEO_LIST_TYPE
+,
+
+97 
+GL_ARGV_VIDEO_FOLDER
+);
+
+98 
+       `­p_cÚ\8cÞ_add_ex\8ca_d©a
+(
+£rviû
+,
+
+99 
+GL_ARGV_VIDEO_ORDER_TYPE
+,
+
+100 
+GL_ARGV_VIDEO_ORDER_DATE_DESC
+);
+
+101 
+       `­p_cÚ\8cÞ_add_ex\8ca_d©a
+(
+£rviû
+,
+
+102 
+GL_ARGV_VIDEO_LAUNCH_APP
+,
+
+103 
+GL_ARGV_VIDEO_LAUNCH_GALLERY
+);
+
+104 
+       `­p_cÚ\8cÞ_add_ex\8ca_d©a
+(
+£rviû
+,
+
+105 
+GL_ARGV_VIDEO_START_POS
+,
+
+106 
+Ï¡_pos_¡r
+);
+
+108 
+       `gl_dbg
+("Web\87lbum? Under construction...");
+
+112 
+       `gl_dbgE
+("Invalid current\87lbum,\84eturn?");
+
+115 \12
+»t
+ = 0;
+
+118 
+       `­p_cÚ\8cÞ_add_ex\8ca_d©a
+(
+£rviû
+, 
+GL_ARGV_PATH
+, 
+video_·th
+);
+
+119 
+       `­p_cÚ\8cÞ_£t_Ý\94©iÚ
+(
+£rviû
+, 
+APP_CONTROL_OPERATION_DEFAULT
+);
+
+120 ià(
+APP_CONTROL_ERROR_NONE
+ !ð
+       `­p_cÚ\8cÞ_£t_­p_id
+(
+£rviû
+, 
+GL_APP_PKG_VIDEOPLAYER
+)) {
+
+121 
+       `gl_dbgE
+("app_control_set_app_id failed");
+
+123 
+»t
+ = 
+       `­p_cÚ\8cÞ_£nd_Ïunch_»que¡
+(
+£rviû
+, 
+NULL
+, NULL);
+
+125 ià(
+»t
+ =ð
+APP_CONTROL_ERROR_NONE
+)
+
+129 
+       }
+}
+
+131 \18\12
+       $__gl_ext_compo£_exec_cmd
+(\1e*
+d©a
+, 
+gl_ext_­p_ty³
+ty³
+,
+
+132 \ 5*
+·th
+, \ 5**
+pkg_Çme
+,
+
+133 
+­p_cÚ\8cÞ_h
+£rviû
+)
+
+135 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+136 
+       `gl_sdbg
+("ty³:%d,\85©h:%s", 
+ty³
+, 
+·th
+);
+
+138 \1a
+ty³
+) {
+
+139 \ 4
+GL_APP_VIDEOPLAYER
+:
+
+140 
+       `GL_CHECK_VAL
+(
+·th
+, -1);
+
+141 *
+pkg_Çme
+ = 
+GL_APP_PKG_VIDEOPLAYER
+;
+
+144 *
+pkg_Çme
+ = 
+NULL
+;
+
+148 
+       }
+}
+
+150 #ifdeà
+GL_EXTENDED_FEATURES
+
+
+151 \18\1e
+       $__gl_ext_­p_cÚ\8cÞ_»¶y_cb
+(
+­p_cÚ\8cÞ_h
+»que¡
+,\87µ_cÚ\8cÞ_h 
+»¶y
+,
+
+152 
+­p_cÚ\8cÞ_»suÉ_e
+»suÉ
+, \1e*
+u£r_d©a
+)
+
+154 
+       `gl_dbg
+("");
+
+155 \1a
+»suÉ
+) {
+
+156 \ 4
+APP_CONTROL_RESULT_SUCCEEDED
+:
+
+157 
+       `gl_dbg
+("APP_CONTROL_RESULT_SUCCEEDED");
+
+159 \ 4
+APP_CONTROL_RESULT_FAILED
+:
+
+160 
+       `gl_dbg
+("APP_CONTROL_RESULT_FAILED");
+
+162 \ 4
+APP_CONTROL_RESULT_CANCELED
+:
+
+163 
+       `gl_dbg
+("APP_CONTROL_RESULT_CANCELED");
+
+166 
+       `gl_dbgE
+("UnhªdËd v®ue: %d!", 
+»suÉ
+);
+
+169 
+       }
+}
+
+172 \12
+       $gl_ext_exec
+(\1e*
+d©a
+, 
+gl_ext_­p_ty³
+ty³
+)
+
+174 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+175 
+gl_\99em
+ *
+g\99em
+ = (gl_\99em *)
+d©a
+;
+
+176 
+       `GL_CHECK_VAL
+(
+g\99em
+->
+ad
+, -1);
+
+177 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+g\99em
+->ad;
+
+178 
+       `GL_CHECK_VAL
+(
+g\99em
+->
+\99em
+, -1);
+
+179 
+       `GL_CHECK_VAL
+(
+g\99em
+->
+\99em
+->
+f\9ee_u¾
+, -1);
+
+180 \ 5*
+·th
+ = 
+g\99em
+->
+\99em
+->
+f\9ee_u¾
+;
+
+181 
+­p_cÚ\8cÞ_h
+£rviû
+ = 
+NULL
+;
+
+182 \ 5*
+pkg_Çme
+ = 
+NULL
+;
+
+184 ià(
+ad
+->
+ug\9afo
+.
+b_­p_ÿÎed
+) {
+
+185 
+       `gl_dbgE
+("APP\86aunched,\84eturn!");
+
+186 \15 
+GL_LAUNCH_FAIL
+;
+
+189 
+       `­p_cÚ\8cÞ_ü\97\8b
+(&
+£rviû
+);
+
+190 
+       `GL_CHECK_VAL
+(
+£rviû
+, 
+GL_LAUNCH_FAIL
+);
+
+192 
+       `__gl_ext_compo£_exec_cmd
+(
+ad
+, 
+ty³
+, 
+·th
+, &
+pkg_Çme
+, 
+£rviû
+);
+
+193 ià(
+pkg_Çme
+ =ð
+NULL
+) {
+
+194 
+       `­p_cÚ\8cÞ_de¡roy
+(
+£rviû
+);
+
+195 \15 
+GL_LAUNCH_FAIL
+;
+
+198 \12
+»t
+ = 0;
+
+199 ià(
+ty³
+ =ð
+GL_APP_VIDEOPLAYER
+) {
+
+200 ià(
+·th
+ =ð
+NULL
+) {
+
+201 
+       `­p_cÚ\8cÞ_de¡roy
+(
+£rviû
+);
+
+202 \15 
+GL_LAUNCH_FAIL
+;
+
+204 ià(
+       `__gl_ext_Ïunch_video_¶ay\94
+(
+d©a
+, 
+£rviû
+) != 0) {
+
+205 
+       `­p_cÚ\8cÞ_de¡roy
+(
+£rviû
+);
+
+206 \15 
+GL_LAUNCH_FAIL
+;
+
+209 
+       `­p_cÚ\8cÞ_£t_Ý\94©iÚ
+(
+£rviû
+, 
+APP_CONTROL_OPERATION_DEFAULT
+);
+
+210 
+       `­p_cÚ\8cÞ_£t_­p_id
+(
+£rviû
+, 
+pkg_Çme
+);
+
+211 
+»t
+ = 
+       `­p_cÚ\8cÞ_£nd_Ïunch_»que¡
+(
+£rviû
+, 
+NULL
+, NULL);
+
+212 ià(
+»t
+ !ð
+APP_CONTROL_ERROR_NONE
+) {
+
+213 
+       `­p_cÚ\8cÞ_de¡roy
+(
+£rviû
+);
+
+214 
+       `gl_dbgE
+("­p_cÚ\8cÞ_£nd_Ïunch_»que¡ fa\9eed[%d]!", 
+»t
+);
+
+215 \15 
+GL_LAUNCH_FAIL
+;
+
+219 
+»t
+ = 
+       `­p_cÚ\8cÞ_de¡roy
+(
+£rviû
+);
+
+220 ià(
+»t
+ !ð
+APP_CONTROL_ERROR_NONE
+) {
+
+221 
+ad
+->
+ug\9afo
+.
+b_­p_ÿÎed
+ = 
+\8cue
+;
+
+222 \15 
+GL_LAUNCH_SUCCESS
+;
+
+224 \15 
+GL_LAUNCH_FAIL
+;
+
+226 
+       }
+}
+
+228 #ifdeà
+GL_EXTENDED_FEATURES
+
+
+229 \18\1e
+       $__gl_ext_pÝup_»¥_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+231 
+       `GL_CHECK
+(
+obj
+);
+
+232 
+       `GL_CHECK
+(
+d©a
+);
+
+233 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+234 
+       `GL_IF_DEL_OBJ
+(
+ad
+->
+pÝup\9afo
+.
+pÝup
+);
+
+235 
+       }
+}
+
+237 \18
+E\9aa_BoÞ
+       $__gl_ext_avoid_muÉi_þick_tim\94_cb
+(\1e*
+d©a
+)
+
+239 
+       `GL_CHECK_FALSE
+(
+d©a
+);
+
+240 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+241 
+       `gl_dbg
+("");
+
+242 
+       `GL_IF_DEL_TIMER
+(
+ad
+->
+ù¾\9afo
+.
+avoid_muÉi_\8fp
+);
+
+243 \15 
+ECORE_CALLBACK_CANCEL
+;
+
+244 
+       }
+}
+
+249 \12
+       $_gl_ext_lßd_ÿm\94a
+(\1e*
+d©a
+)
+
+251 
+       `gl_dbg
+("");
+
+252 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+253 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+254 ià(
+ad
+->
+ù¾\9afo
+.
+avoid_muÉi_\8fp
+)
+
+256 
+EcÜe_Tim\94
+ *
+tim\94
+ = 
+NULL
+;
+
+257 
+tim\94
+ = 
+       `ecÜe_tim\94_add
+(2.0, 
+__gl_ext_avoid_muÉi_þick_tim\94_cb
+, 
+d©a
+);
+
+258 
+ad
+->
+ù¾\9afo
+.
+avoid_muÉi_\8fp
+ = 
+tim\94
+;
+
+260 \12
+»t
+ = -1;
+
+261 \12
+de¡roy_»t
+ = -1;
+
+262 
+­p_cÚ\8cÞ_h
+hªdË
+;
+
+264 
+»t
+ = 
+       `­p_cÚ\8cÞ_ü\97\8b
+(&
+hªdË
+);
+
+265 ià(
+»t
+ !ð
+APP_CONTROL_ERROR_NONE
+) {
+
+266 
+       `gl_dbgE
+("­p_cÚ\8cÞ_ü\97\8b fa\9eed[%d]!", 
+»t
+);
+
+267 \15 
+GL_LAUNCH_FAIL
+;
+
+270 
+»t
+ = 
+       `­p_cÚ\8cÞ_£t_Ý\94©iÚ
+(
+hªdË
+, 
+APP_CONTROL_OPERATION_DEFAULT
+);
+
+271 ià(
+»t
+ !ð
+APP_CONTROL_ERROR_NONE
+) {
+
+272 
+       `gl_dbgE
+("­p_cÚ\8cÞ_£t_Ý\94©iÚ [%s] fa\9eed[%d]!", 
+APP_CONTROL_OPERATION_DEFAULT
+, 
+»t
+);
+
+273 \10
+GL_EXT_LOAD_CAMERA_FINISHED
+;
+
+276 
+»t
+ = 
+       `­p_cÚ\8cÞ_£t_­p_id
+(
+hªdË
+, 
+GL_APP_PKG_CAMERA_EFL
+);
+
+277 ià(
+»t
+ !ð
+APP_CONTROL_ERROR_NONE
+) {
+
+278 
+       `gl_dbgE
+("­p_cÚ\8cÞ_£t_­p_id [%s] fa\9eed[%d]!", 
+GL_APP_PKG_CAMERA_EFL
+, 
+»t
+);
+
+279 \10
+GL_EXT_LOAD_CAMERA_FINISHED
+;
+
+282 
+»t
+ = 
+       `­p_cÚ\8cÞ_add_ex\8ca_d©a
+(
+hªdË
+, "CALLER", "gallery");
+
+283 ià(
+»t
+ !ð
+APP_CONTROL_ERROR_NONE
+) {
+
+284 
+       `gl_dbgE
+("­p_cÚ\8cÞ_add_ex\8ca_d©¨ç\9eed[%d]!", 
+»t
+);
+
+285 \10
+GL_EXT_LOAD_CAMERA_FINISHED
+;
+
+288 
+»t
+ = 
+       `­p_cÚ\8cÞ_£nd_Ïunch_»que¡
+(
+hªdË
+, 
+__gl_ext_­p_cÚ\8cÞ_»¶y_cb
+, 
+NULL
+);
+
+289 ià(
+»t
+ !ð
+APP_CONTROL_ERROR_NONE
+) {
+
+290 
+       `gl_dbgE
+("­p_cÚ\8cÞ_£nd_Ïunch_»que¡ fa\9eed[%d]!", 
+»t
+);
+
+291 \10
+GL_EXT_LOAD_CAMERA_FINISHED
+;
+
+294 
+GL_EXT_LOAD_CAMERA_FINISHED
+:
+
+295 
+de¡roy_»t
+ = 
+       `­p_cÚ\8cÞ_de¡roy
+(
+hªdË
+);
+
+296 ià(
+de¡roy_»t
+ !ð
+APP_CONTROL_ERROR_NONE
+) {
+
+297 
+       `gl_dbgE
+("­p_cÚ\8cÞ_de¡roy fa\9eed[%d]!", 
+de¡roy_»t
+);
+
+298 \15 
+GL_LAUNCH_FAIL
+;
+
+301 \15 (
+»t
+ =ð
+APP_CONTROL_ERROR_NONE
+ ? 
+GL_LAUNCH_SUCCESS
+ : 
+GL_LAUNCH_FAIL
+);
+
+303 
+       }
+}
+
+308 \12
+       $_gl_ext_lßd_\9b
+(\1e*
+d©a
+, \1e*
+g\91_·th_cb
+)
+
+310 
+       `GL_CHECK_VAL
+(
+g\91_·th_cb
+, -1);
+
+311 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+312 \ 5*
+f\9e\95©h_¬g
+ = 
+NULL
+;
+
+314 \12(*
+_g\91_·th_cb
+è(\1e*
+d©a
+, 
+gch¬
+£p_c
+, \ 5**
+·th_¡r
+, \12*
+£l_út
+);
+
+315 
+_g\91_·th_cb
+ = 
+g\91_·th_cb
+;
+
+317 
+       `_g\91_·th_cb
+(
+d©a
+, 
+GL_SEPERATOR_IE
+, &
+f\9e\95©h_¬g
+, 
+NULL
+);
+
+318 ià(
+f\9e\95©h_¬g
+ =ð
+NULL
+) {
+
+319 
+       `gl_dbgE
+("Failed\81o get\85ath string!");
+
+320 \15 
+GL_LAUNCH_FAIL
+;
+
+323 
+       `gl_dbg
+("Launch Image-editor");
+
+324 \12
+»t
+ = 
+GL_LAUNCH_FAIL
+;
+
+325 
+»t
+ = 
+       `_gl_ext_lßd
+(
+f\9e\95©h_¬g
+, 
+APP_CONTROL_OPERATION_EDIT
+, 
+GL_APP_PKG_IE
+,
+
+326 
+NULL
+, NULL);
+
+327 ià(
+f\9e\95©h_¬g
+) {
+
+328 
+       `g_ä\93
+(
+f\9e\95©h_¬g
+);
+
+329 
+f\9e\95©h_¬g
+ = 
+NULL
+;
+
+332 \15 
+»t
+;
+
+333 
+       }
+}
+
+335 \12
+       $_gl_ext_lßd
+(cڡ \ 5*
+uri
+, cڡ \ 5*
\94©iÚ
+, cڡ \ 5*
+pkg
+,
+
+336 cڡ \ 5*
+pkg_id
+, cڡ \ 5*
+mime
+)
+
+338 
+       `gl_dbg
+("Ý\94©iÚ: %s,\85kg: %s, uri: %s", 
\94©iÚ
+, 
+pkg
+, 
+uri
+);
+
+339 \12
+»t
+ = -1;
+
+340 \12
+de¡roy_»t
+ = -1;
+
+341 
+­p_cÚ\8cÞ_h
+hªdË
+;
+
+343 
+»t
+ = 
+       `­p_cÚ\8cÞ_ü\97\8b
+(&
+hªdË
+);
+
+344 ià(
+»t
+ !ð
+APP_CONTROL_ERROR_NONE
+) {
+
+345 
+       `gl_dbgE
+("­p_cÚ\8cÞ_ü\97\8b fa\9eed[%d]!", 
+»t
+);
+
+346 \15 
+GL_LAUNCH_FAIL
+;
+
+349 
+»t
+ = 
+       `­p_cÚ\8cÞ_£t_Ý\94©iÚ
+(
+hªdË
+, 
\94©iÚ
+);
+
+350 ià(
+»t
+ !ð
+APP_CONTROL_ERROR_NONE
+) {
+
+351 
+       `gl_dbgE
+("­p_cÚ\8cÞ_£t_Ý\94©iÚ [%s] fa\9eed[%d]!", 
\94©iÚ
+,
+
+352 
+»t
+);
+
+353 \10
+GL_EXT_FAILED
+;
+
+356 ià(
+mime
+) {
+
+357 
+»t
+ = 
+       `­p_cÚ\8cÞ_£t_mime
+(
+hªdË
+, 
+mime
+);
+
+358 ià(
+»t
+ !ð
+APP_CONTROL_ERROR_NONE
+) {
+
+359 
+       `gl_dbgE
+("­p_cÚ\8cÞ_£t_mim\90[%s] fa\9eed[%d]!", 
+mime
+, 
+»t
+);
+
+360 \10
+GL_EXT_FAILED
+;
+
+364 ià(
+uri
+) {
+
+365 
+»t
+ = 
+       `­p_cÚ\8cÞ_£t_uri
+(
+hªdË
+, 
+uri
+);
+
+366 ià(
+»t
+ !ð
+APP_CONTROL_ERROR_NONE
+) {
+
+367 
+       `gl_dbgE
+("­p_cÚ\8cÞ_£t_ur\98[%s] fa\9eed[%d]!", 
+uri
+, 
+»t
+);
+
+368 \10
+GL_EXT_FAILED
+;
+
+372 ià(
+pkg
+) {
+
+373 
+»t
+ = 
+       `­p_cÚ\8cÞ_£t_­p_id
+(
+hªdË
+, 
+pkg
+);
+
+374 ià(
+»t
+ !ð
+APP_CONTROL_ERROR_NONE
+) {
+
+375 
+       `gl_dbgE
+("­p_cÚ\8cÞ_£t_­p_id [%s] fa\9eed[%d]!", 
+pkg
+,
+
+376 
+»t
+);
+
+377 \10
+GL_EXT_FAILED
+;
+
+381 ià(
+pkg_id
+) {
+
+382 
+»t
+ = 
+       `­p_cÚ\8cÞ_£t_­p_id
+(
+hªdË
+, 
+pkg_id
+);
+
+383 ià(
+»t
+ !ð
+APP_CONTROL_ERROR_NONE
+) {
+
+384 
+       `gl_dbgE
+("­p_cÚ\8cÞ_£t_­p_id [%s] fa\9eed[%d]!", 
+pkg_id
+,
+
+385 
+»t
+);
+
+386 \10
+GL_EXT_FAILED
+;
+
+390 
+»t
+ = 
+       `­p_cÚ\8cÞ_£nd_Ïunch_»que¡
+(
+hªdË
+, 
+__gl_ext_­p_cÚ\8cÞ_»¶y_cb
+,
+
+391 
+NULL
+);
+
+392 ià(
+»t
+ !ð
+APP_CONTROL_ERROR_NONE
+) {
+
+393 
+       `gl_dbgE
+("­p_cÚ\8cÞ_£nd_Ïunch_»que¡ fa\9eed[%d]!", 
+»t
+);
+
+394 \10
+GL_EXT_FAILED
+;
+
+397 
+GL_EXT_FAILED
+:
+
+398 
+de¡roy_»t
+ = 
+       `­p_cÚ\8cÞ_de¡roy
+(
+hªdË
+);
+
+399 ià(
+de¡roy_»t
+ !ð
+APP_CONTROL_ERROR_NONE
+) {
+
+400 
+       `gl_dbgE
+("­p_cÚ\8cÞ_de¡roy fa\9eed[%d]!", 
+de¡roy_»t
+);
+
+401 \15 
+GL_LAUNCH_FAIL
+;
+
+404 \15 (
+»t
+ =ð
+APP_CONTROL_ERROR_NONE
+ ? 
+GL_LAUNCH_SUCCESS
+ : 
+GL_LAUNCH_FAIL
+);
+
+405 
+       }
+}
+
+407 \12
+       $_gl_ext_Ïunch_sh¬e
+(\1e*
+d©a
+, \12
+tÙ®_út
+, \1e*
+g\91_·th_cb
+)
+
+409 \ 1
+       #GL_SHARE_CNT_MAX
+ 500
+
+       )
+
+411 
+       `GL_CHECK_VAL
+(
+g\91_·th_cb
+, -1);
+
+412 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+413 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+415 ià(
+tÙ®_út
+ == 0) {
+
+416 
+       `gl_dbgE
+("nothing selected!");
+
+418 } \vià(
+tÙ®_út
+ > 
+GL_SHARE_CNT_MAX
+) {
+
+419 \ 5*
+sh¬e_lim\99_nÙi
+ = 
+       `g_¡rdup_´\9atf
+(
+GL_STR_ID_SHARE_LIMIT
+, 
+GL_SHARE_CNT_MAX
+);
+
+420 
+       `_gl_nÙify_ü\97\8b_nÙi\9afo
+(
+sh¬e_lim\99_nÙi
+);
+
+421 
+       `GL_FREEIF
+(
+sh¬e_lim\99_nÙi
+);
+
+425 \ 5**
+f\9ees
+ = 
+NULL
+;
+
+426 \ 5*
\94©iÚ
+ = 
+NULL
+;
+
+427 \12
+»t
+ = -1;
+
+428 
+f\9ees
+ = (\ 5**)
+       `ÿÎoc
+(1, \17(\ 5*è* 
+tÙ®_út
+);
+
+429 
+       `GL_CHECK_VAL
+(
+f\9ees
+, -1);
+
+431 \12(*
+_g\91_·th_cb
+è(\1e*
+d©a
+, \ 5**
+f\9ees
+);
+
+432 
+_g\91_·th_cb
+ = 
+g\91_·th_cb
+;
+
+433 \12
+»®_út
+ = 
+       `_g\91_·th_cb
+(
+d©a
+, 
+f\9ees
+);
+
+434 
+­p_cÚ\8cÞ_h
+£rviû
+ = 
+NULL
+;
+
+435 ià(
+»®_út
+ == 0) {
+
+436 
+       `gl_dbgE
+("nothing selected!");
+
+437 \10
+SHARE_PANEL_END
+;
+
+440 
+»t
+ = 
+       `­p_cÚ\8cÞ_ü\97\8b
+(&
+£rviû
+);
+
+441 ià(
+»t
+ !ð
+APP_CONTROL_ERROR_NONE
+) {
+
+442 
+       `gl_dbgE
+("Fa\9eed\81Øü\97\8b s\94viû[%d]", 
+»t
+);
+
+443 \10
+SHARE_PANEL_END
+;
+
+445 \ 5
+´efix_f\9ee
+[
+GL_ARRAY_LEN_MAX
+] = {0,};
+
+446 
+       `¢´\9atf
+(
+´efix_f\9ee
+, 
+GL_ARRAY_LEN_MAX
+, "%s%s", 
+GL_SHARE_FILE_PREFIX
+,
+
+447 
+f\9ees
+[0]);
+
+448 
+»t
+ = 
+       `­p_cÚ\8cÞ_£t_uri
+(
+£rviû
+, 
+´efix_f\9ee
+);
+
+449 ià(
+»t
+ !ð
+APP_CONTROL_ERROR_NONE
+) {
+
+450 
+       `gl_dbgE
+("­p_cÚ\8cÞ_£t_ur\98ç\9eed[%d]", 
+»t
+);
+
+451 \10
+SHARE_PANEL_END
+;
+
+453 ià(
+»®_út
+ == 1)
+
+454 
\94©iÚ
+ = 
+GL_SHARE_OPERATION_SINGLE
+;
+
+456 
\94©iÚ
+ = 
+GL_SHARE_OPERATION_MULTIPLE
+;
+
+457 
+»t
+ = 
+       `­p_cÚ\8cÞ_£t_Ý\94©iÚ
+(
+£rviû
+, 
\94©iÚ
+);
+
+458 ià(
+»t
+ !ð
+APP_CONTROL_ERROR_NONE
+) {
+
+459 
+       `gl_dbgE
+("­p_cÚ\8cÞ_£t_Ý\94©iÚ fa\9eed[%d]", 
+»t
+);
+
+460 \10
+SHARE_PANEL_END
+;
+
+462 ià(
+»®_út
+ > 1) {
+
+463 
+»t
+ = 
+       `­p_cÚ\8cÞ_add_ex\8ca_d©a_¬¿y
+(
+£rviû
+, 
+GL_SHARE_SVC_FILE_PATH
+,
+
+464 (cڡ \ 5**)
+f\9ees
+,
+
+465 
+»®_út
+);
+
+466 ià(
+»t
+ !ð
+APP_CONTROL_ERROR_NONE
+) {
+
+467 
+       `gl_dbgE
+("­p_cÚ\8cÞ_add_ex\8ca_d©a_¬¿y fa\9eed[%d]", 
+»t
+);
+
+468 \10
+SHARE_PANEL_END
+;
+
+472 
+»t
+ = 
+       `­p_cÚ\8cÞ_£t_w\9adow
+(
+£rviû
+, 
+       `\96m_w\9a_xw\9adow_g\91
+(
+ad
+->
+ma\9a\9afo
+.
+w\9a
+));
+
+473 ià(
+»t
+ !ð
+APP_CONTROL_ERROR_NONE
+) {
+
+474 
+       `gl_dbgE
+("­p_cÚ\8cÞ_£t_w\9adow fa\9eed[%d]", 
+»t
+);
+
+475 \10
+SHARE_PANEL_END
+;
+
+477 
+»t
+ = 
+       `­p_cÚ\8cÞ_£nd_Ïunch_»que¡
+(
+£rviû
+, 
+NULL
+, NULL);
+
+478 ià(
+»t
+ !ð
+APP_CONTROL_ERROR_NONE
+)
+
+479 
+       `gl_dbgE
+("­p_cÚ\8cÞ_£nd_Ïunch_»que¡ fa\9eed[%d]!", 
+»t
+);
+
+481 
+SHARE_PANEL_END
+:
+
+483 ià(
+£rviû
+)
+
+484 
+       `­p_cÚ\8cÞ_de¡roy
+(
+£rviû
+);
+
+485 ià(
+f\9ees
+) {
+
+486 \ f
+»®_út
+ > 0; --real_cnt)
+
+487 
+       `GL_FREEIF
+(
+f\9ees
+[
+»®_út
+ - 1]);
+
+488 
+       `GL_FREE
+(
+f\9ees
+);
+
+490 ià(
+»t
+ !ð
+APP_CONTROL_ERROR_NONE
+) {
+
+491 
+       `_gl_pÝup_ü\97\8b
+(
+d©a
+, 
+NULL
+, 
+GL_STR_ID_OPERATION_FAILED
+,
+
+492 
+GL_STR_ID_CLOSE
+, 
+__gl_ext_pÝup_»¥_cb
+, 
+d©a
+,
+
+493 
+NULL
+, NULL, NULL, NULL, NULL, NULL);
+
+497 
+       }
+}
+
+499 \12
+       $_gl_ext_is_Ïrg\94_thª_sh¬e_max
+(\12
+tÙ®_út
+)
+
+501 \ 1
+       #GL_SHARE_CNT_MAX
+ 500
+
+       )
+
+503 ià(
+tÙ®_út
+ > 
+GL_SHARE_CNT_MAX
+) {
+
+504 \ 5
+lim\99_¡r
+[256] = {0};
+
+505 
+       `¢´\9atf
+(
+lim\99_¡r
+, \17Öim\99_¡r), 
+GL_STR_ID_SHARE_LIMIT
+,
+
+506 
+GL_SHARE_CNT_MAX
+);
+
+507 
+       `_gl_nÙify_ü\97\8b_nÙi\9afo
+(
+lim\99_¡r
+);
+
+508 \15 
+\8cue
+;
+
+510 \15 
+çl£
+;
+
+511 
+       }
+}
+
+513 \12
+       $_gl_ext_Ïunch_sh¬e_w\99h_f\9ees
+(\1e*
+d©a
+, \12
+tÙ®_út
+, \ 5**
+f\9ees
+)
+
+515 
+       `GL_CHECK_VAL
+(
+f\9ees
+, -1);
+
+516 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+517 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+518 \ 5*
\94©iÚ
+ = 
+NULL
+;
+
+519 \12
+»t
+ = -1;
+
+520 
+­p_cÚ\8cÞ_h
+£rviû
+ = 
+NULL
+;
+
+522 ià(
+tÙ®_út
+ == 0) {
+
+523 
+       `gl_dbgE
+("nothing selected!");
+
+524 \10
+SHARE_PANEL_END
+;
+
+527 
+»t
+ = 
+       `­p_cÚ\8cÞ_ü\97\8b
+(&
+£rviû
+);
+
+528 ià(
+»t
+ !ð
+APP_CONTROL_ERROR_NONE
+) {
+
+529 
+       `gl_dbgE
+("Fa\9eed\81Øü\97\8b s\94viû[%d]", 
+»t
+);
+
+530 \10
+SHARE_PANEL_END
+;
+
+532 \ 5
+´efix_f\9ee
+[
+GL_ARRAY_LEN_MAX
+] = {0,};
+
+533 
+       `¢´\9atf
+(
+´efix_f\9ee
+, 
+GL_ARRAY_LEN_MAX
+, "%s%s", 
+GL_SHARE_FILE_PREFIX
+,
+
+534 
+f\9ees
+[0]);
+
+535 
+»t
+ = 
+       `­p_cÚ\8cÞ_£t_uri
+(
+£rviû
+, 
+´efix_f\9ee
+);
+
+536 ià(
+»t
+ !ð
+APP_CONTROL_ERROR_NONE
+) {
+
+537 
+       `gl_dbgE
+("­p_cÚ\8cÞ_£t_ur\98ç\9eed[%d]", 
+»t
+);
+
+538 \10
+SHARE_PANEL_END
+;
+
+540 ià(
+tÙ®_út
+ == 1)
+
+541 
\94©iÚ
+ = 
+GL_SHARE_OPERATION_SINGLE
+;
+
+543 
\94©iÚ
+ = 
+GL_SHARE_OPERATION_MULTIPLE
+;
+
+544 
+»t
+ = 
+       `­p_cÚ\8cÞ_£t_Ý\94©iÚ
+(
+£rviû
+, 
\94©iÚ
+);
+
+545 ià(
+»t
+ !ð
+APP_CONTROL_ERROR_NONE
+) {
+
+546 
+       `gl_dbgE
+("­p_cÚ\8cÞ_£t_Ý\94©iÚ fa\9eed[%d]", 
+»t
+);
+
+547 \10
+SHARE_PANEL_END
+;
+
+549 ià(
+tÙ®_út
+ > 1) {
+
+550 
+»t
+ = 
+       `­p_cÚ\8cÞ_add_ex\8ca_d©a_¬¿y
+(
+£rviû
+, 
+GL_SHARE_SVC_FILE_PATH
+,
+
+551 (cڡ \ 5**)
+f\9ees
+,
+
+552 
+tÙ®_út
+);
+
+553 ià(
+»t
+ !ð
+APP_CONTROL_ERROR_NONE
+) {
+
+554 
+       `gl_dbgE
+("­p_cÚ\8cÞ_add_ex\8ca_d©a_¬¿y fa\9eed[%d]", 
+»t
+);
+
+555 \10
+SHARE_PANEL_END
+;
+
+559 
+»t
+ = 
+       `­p_cÚ\8cÞ_£t_w\9adow
+(
+£rviû
+, 
+       `\96m_w\9a_xw\9adow_g\91
+(
+ad
+->
+ma\9a\9afo
+.
+w\9a
+));
+
+560 ià(
+»t
+ !ð
+APP_CONTROL_ERROR_NONE
+) {
+
+561 
+       `gl_dbgE
+("­p_cÚ\8cÞ_£t_w\9adow fa\9eed[%d]", 
+»t
+);
+
+562 \10
+SHARE_PANEL_END
+;
+
+564 
+»t
+ = 
+       `­p_cÚ\8cÞ_£nd_Ïunch_»que¡
+(
+£rviû
+, 
+NULL
+, NULL);
+
+565 ià(
+»t
+ !ð
+APP_CONTROL_ERROR_NONE
+)
+
+566 
+       `gl_dbgE
+("­p_cÚ\8cÞ_£nd_Ïunch_»que¡ fa\9eed[%d]!", 
+»t
+);
+
+568 
+SHARE_PANEL_END
+:
+
+570 ià(
+£rviû
+)
+
+571 
+       `­p_cÚ\8cÞ_de¡roy
+(
+£rviû
+);
+
+572 ià(
+»t
+ !ð
+APP_CONTROL_ERROR_NONE
+) {
+
+573 
+       `_gl_pÝup_ü\97\8b
+(
+d©a
+, 
+NULL
+, 
+GL_STR_ID_OPERATION_FAILED
+,
+
+574 
+GL_STR_ID_CLOSE
+, 
+__gl_ext_pÝup_»¥_cb
+, 
+d©a
+,
+
+575 
+NULL
+, NULL, NULL, NULL, NULL, NULL);
+
+579 
+       }
+}
+
+581 \12
+       $_gl_ext_Ïunch_image_ed\99Ü
+(cڡ \ 5*
+·th_¡r\9ag
+)
+
+583 
+       `GL_CHECK_VAL
+(
+·th_¡r\9ag
+, -1);
+
+585 
+       `gl_dbg
+("Launch Image-editor");
+
+586 \12
+»t
+ = 
+GL_LAUNCH_FAIL
+;
+
+587 
+»t
+ = 
+       `_gl_ext_lßd
+(
+·th_¡r\9ag
+, 
+APP_CONTROL_OPERATION_EDIT
+, 
+GL_APP_PKG_IE
+,
+
+588 
+NULL
+, NULL);
+
+589 \15 
+»t
+;
+
+590 
+       }
+}
+
+592 #iâdeà
+_USE_APP_SLIDESHOW
+
+
+593 \12
+       $_gl_ext_Ïunch_g®Ëry_ug
+(\1e*
+d©a
+)
+
+595 \ 1
+       #GL_GALLERY_UG
+ "g®Ëry-eæ-l\99e"
+
+       )
+
+596 \ 1
+       #GL_FILE_TYPE
+ "f\9ee-ty³"
+
+       )
+
+597 \ 1
+       #GL_VIEW_BY
+ "v\9bw-by"
+
+       )
+
+598 \ 1
+       #GL_EXT_STR_BUNDLE_LEN
+ 48
+
+       )
+
+599 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+600 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+601 \12
+»t
+ = -1;
+
+602 
+­p_cÚ\8cÞ_h
+£rviû
+ = 
+NULL
+;
+
+604 
+»t
+ = 
+       `­p_cÚ\8cÞ_ü\97\8b
+(&
+£rviû
+);
+
+605 ià(
+»t
+ !ð
+APP_CONTROL_ERROR_NONE
+) {
+
+606 
+       `gl_dbgE
+("­p_cÚ\8cÞ_ü\97\8b fa\9eed: 0x%x", 
+»t
+);
+
+607 \15 
+çl£
+;
+
+610 
+»t
+ = 
+       `­p_cÚ\8cÞ_£t_w\9adow
+(
+£rviû
+, 
+       `\96m_w\9a_xw\9adow_g\91
+(
+ad
+->
+ma\9a\9afo
+.
+w\9a
+));
+
+611 ià(
+»t
+ !ð
+APP_CONTROL_ERROR_NONE
+) {
+
+612 
+       `gl_dbgE
+("£t_w\9adow fa\9eed[%d]", 
+»t
+);
+
+613 \10
+GL_EXT_FAILED
+;
+
+615 
+»t
+ = 
+       `­p_cÚ\8cÞ_£t_­p_id
+(
+£rviû
+, 
+GL_GALLERY_UG
+);
+
+616 ià(
+»t
+ !ð
+APP_CONTROL_ERROR_NONE
+) {
+
+617 
+       `gl_dbgE
+("£t_­p_id Fa\9eed: 0x%x", 
+»t
+);
+
+618 \10
+GL_EXT_FAILED
+;
+
+620 
+»t
+ = 
+       `­p_cÚ\8cÞ_add_ex\8ca_d©a
+(
+£rviû
+, "launch-type",
+
+622 ià(
+»t
+ !ð
+APP_CONTROL_ERROR_NONE
+) {
+
+623 
+       `gl_dbgE
+("Add\86aunched\81y³ fa\9eed: 0x%x", 
+»t
+);
+
+624 \10
+GL_EXT_FAILED
+;
+
+626 
+»t
+ = 
+       `­p_cÚ\8cÞ_add_ex\8ca_d©a
+(
+£rviû
+, "indicator-state", "hide");
+
+627 ià(
+»t
+ !ð
+APP_CONTROL_ERROR_NONE
+) {
+
+628 
+       `gl_dbgE
+("Add indiÿtÜ s\8f\8b fa\9eed: 0x%x", 
+»t
+);
+
+629 \10
+GL_EXT_FAILED
+;
+
+632 \12
+v\9bw_mode
+ = 
+       `gl_g\91_v\9bw_mode
+(
+ad
+);
+
+633 
+       `gl_dbg
+("v\9bw_mode: %d", 
+v\9bw_mode
+);
+
+634 
+»t
+ = 
+       `­p_cÚ\8cÞ_add_ex\8ca_d©a
+(
+£rviû
+, 
+GL_FILE_TYPE
+, "all");
+
+635 
+       `gl_dbg
+("Media\81ype: All");
+
+636 ià(
+»t
+ !ð
+APP_CONTROL_ERROR_NONE
+) {
+
+637 
+       `gl_dbgE
+("Add med\9f\81y³ fa\9eed: 0x%x", 
+»t
+);
+
+638 \10
+GL_EXT_FAILED
+;
+
+641 \12
+\8fb_mode
+ = 
+       `_gl_ù¾_g\91_\8fb_mode
+(
+ad
+);
+
+642 
+       `gl_dbg
+("\8fb_mode: %d", 
+\8fb_mode
+);
+
+643 \1a
+\8fb_mode
+) {
+
+644 \ 4
+GL_CTRL_TAB_ALBUMS
+:
+
+646 \ 5*
+®bum_id
+ = 
+NULL
+;
+
+647 
+gl_þu¡\94
+ *
+cur_®bum
+ = 
+       `_gl_®bums_g\91_cu¼\92t
+(
+d©a
+);
+
+648 ià(
+cur_®bum
+ && cur_®bum->
+þu¡\94
+ &&
+
+649 
+cur_®bum
+->
+þu¡\94
+->
+uuid
+) {
+
+650 
+®bum_id
+ = 
+       `g_¡rdup
+(
+cur_®bum
+->
+þu¡\94
+->
+uuid
+);
+
+652 ià(
+®bum_id
+) {
+
+653 
+»t
+ = 
+       `­p_cÚ\8cÞ_add_ex\8ca_d©a
+(
+£rviû
+, 
+GL_VIEW_BY
+,
+
+655 ià(
+»t
+ !ð
+APP_CONTROL_ERROR_NONE
+) {
+
+656 
+       `gl_dbgE
+("Add v\9bw by fa\9eed: 0x%x", 
+»t
+);
+
+657 \10
+GL_EXT_FAILED
+;
+
+659 
+»t
+ = 
+       `­p_cÚ\8cÞ_add_ex\8ca_d©a
+(
+£rviû
+, "album-id",
+
+660 
+®bum_id
+);
+
+661 ià(
+»t
+ !ð
+APP_CONTROL_ERROR_NONE
+) {
+
+662 
+       `gl_dbgE
+("Add\87lbum id fa\9eed: 0x%x", 
+»t
+);
+
+663 \10
+GL_EXT_FAILED
+;
+
+665 
+       `GL_GFREE
+(
+®bum_id
+);
+
+667 
+       `gl_dbg
+("Albums2");
+
+668 
+»t
+ = 
+       `­p_cÚ\8cÞ_add_ex\8ca_d©a
+(
+£rviû
+, 
+GL_VIEW_BY
+,
+
+670 ià(
+»t
+ !ð
+APP_CONTROL_ERROR_NONE
+) {
+
+671 
+       `gl_dbgE
+("Add v\9bw by fa\9eed: 0x%x", 
+»t
+);
+
+672 \10
+GL_EXT_FAILED
+;
+
+677 \ 4
+GL_CTRL_TAB_TIMELINE
+:
+
+678 
+»t
+ = 
+       `­p_cÚ\8cÞ_add_ex\8ca_d©a
+(
+£rviû
+, 
+GL_VIEW_BY
+, "all");
+
+679 ià(
+»t
+ !ð
+APP_CONTROL_ERROR_NONE
+) {
+
+680 
+       `gl_dbgE
+("Add v\9bw by fa\9eed: 0x%x", 
+»t
+);
+
+681 \10
+GL_EXT_FAILED
+;
+
+685 
+       `gl_dbgE
+("Wrong\81ab mode!");
+
+686 \10
+GL_EXT_FAILED
+;
+
+689 
+»t
+ = 
+       `­p_cÚ\8cÞ_£nd_Ïunch_»que¡
+(
+£rviû
+, 
+__gl_ext_­p_cÚ\8cÞ_»¶y_cb
+,
+
+690 
+NULL
+);
+
+691 ià(
+»t
+ !ð
+APP_CONTROL_ERROR_NONE
+) {
+
+692 
+       `gl_dbgE
+("­p_cÚ\8cÞ_£nd_Ïunch_»que¡ Fa\9eed: 0x%x", 
+»t
+);
+
+693 \10
+GL_EXT_FAILED
+;
+
+696 
+       `­p_cÚ\8cÞ_de¡roy
+(
+£rviû
+);
+
+699 
+GL_EXT_FAILED
+:
+
+701 
+       `­p_cÚ\8cÞ_de¡roy
+(
+£rviû
+);
+
+703 
+       }
+}
+
+       @src/util/gl-ext-ug-load.c
+
+18 \ 2
+       ~<EËm\92\8fry.h
+>
+
+19 \ 2
+       ~"gl-ext-ug-lßd.h
+"
+
+20 \ 2
+       ~"gl-ext-exec.h
+"
+
+21 \ 2
+       ~"gl-debug.h
+"
+
+22 \ 2
+       ~"gl-ui-ut\9e.h
+"
+
+23 \ 2
+       ~"gl-ut\9e.h
+"
+
+24 \ 2
+       ~"gl-®bums.h
+"
+
+25 \ 2
+       ~"gl-thumbs.h
+"
+
+26 \ 2
+       ~"gl-thumbs-ed\99.h
+"
+
+27 \ 2
+       ~"g®Ëry.h
+"
+
+28 \ 2
+       ~"gl-pÝup.h
+"
+
+29 \ 2
+       ~"gl-¡r\9ags.h
+"
+
+30 \ 2
+       ~"gl-cÚ\8cÞb¬.h
+"
+
+31 \ 2
+       ~"gl-db-upd©e.h
+"
+
+32 \ 2
+       ~"gl-nÙify.h
+"
+
+33 \ 2
+       ~"gl-tim\96\9ae.h
+"
+
+35 \ 1
+       #GL_EXT_STR_BUNDLE_LEN
+ 48
+
+       )
+
+37 \ 1
+       #GL_UG_PKG_IV
+ "image-v\9bw\94-eæ"
+
+       )
+
+38 \ 1
+       #GL_UG_PKG_GALLERY_SETTING
+ "£\89\9ag-g®Ëry-eæ"
+
+       )
+
+40 \ 1
+       #GL_ARGV_IV_VIEW_MODE
+ "V\9bw Mode"
+
+       )
+
+41 \ 1
+       #GL_ARGV_IV_VIEW_GALLERY
+ "GALLERY"
+
+       )
+
+42 \ 1
+       #GL_ARGV_IV_VIEW_SLIDESHOW
+ "SLIDESHOW"
+
+       )
+
+43 \ 1
+       #GL_ARGV_IV_PATH
+ "P©h"
+
+       )
+
+44 \ 1
+       #GL_ARGV_IV_INDEX
+ "Index"
+
+       )
+
+45 \ 1
+       #GL_ARGV_IV_VIEW_BY
+ "V\9bw By"
+
+       )
+
+46 \ 1
+       #GL_ARGV_IV_VIEW_BY_FOLER
+ "By FÞd\94"
+
+       )
+
+47 \ 1
+       #GL_ARGV_IV_VIEW_BY_ALL
+ "AÎ"
+
+       )
+
+48 \ 1
+       #GL_ARGV_IV_MEDIA_TYPE
+ "Med\9f\81y³"
+
+       )
+
+49 \ 1
+       #GL_ARGV_IV_MEDIA_ALL
+ "AÎ"
+
+       )
+
+50 \ 1
+       #GL_ARGV_IV_MEDIA_IMAGE
+ "Image"
+
+       )
+
+51 \ 1
+       #GL_ARGV_IV_MEDIA_VIDEO
+ "Video"
+
+       )
+
+52 \ 1
+       #GL_ARGV_IV_ALBUM_INDEX
+ "Album index"
+
+       )
+
+53 \ 1
+       #GL_ARGV_IV_SORT_BY
+ "S܈By"
+
+       )
+
+54 \ 1
+       #GL_ARGV_IV_SORT_NAME
+ "Name"
+
+       )
+
+55 \ 1
+       #GL_ARGV_IV_SORT_NAMEDESC
+ "NameDesc"
+
+       )
+
+56 \ 1
+       #GL_ARGV_IV_SORT_DATE
+ "D©e"
+
+       )
+
+57 \ 1
+       #GL_ARGV_IV_SORT_DATEDESC
+ "D©eDesc"
+
+       )
+
+58 \ 1
+       #GL_ARGV_IV_FOOTSTEPS
+ "FoÙ¡\95s"
+
+       )
+
+59 \ 1
+       #GL_ARGV_IV_TRUE
+ "TRUE"
+
+       )
+
+60 \ 1
+       #GL_ARGV_IV_VIEW_BY_FAVORITES
+ "Favܙes"
+
+       )
+
+62 \ 1
+       #GL_ARGC_SELECTED_FILES
+ "S\96eùed index"
+
+       )
+
+63 \ 1
+       #GL_ARGV_IV_INDEX_VALUE
+ "1"
+
+       )
+
+65 \18\1e
+       $__gl_­pcÚ\8cÞ_£Ëù_»suÉ_cb
+(
+­p_cÚ\8cÞ_h
+»que¡
+,\87µ_cÚ\8cÞ_h 
+»¶y
+, 
+­p_cÚ\8cÞ_»suÉ_e
+»suÉ
+, \1e*
+u£r_d©a
+)
+
+67 
+       `GL_CHECK
+(
+u£r_d©a
+);
+
+68 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+u£r_d©a
+;
+
+69 \12
+i
+;
+
+70 
+boÞ
+\9a_li¡
+ = 
+çl£
+;
+
+71 \ 5**
+£Ëù_»suÉ
+ = 
+NULL
+;
+
+72 \12
+couÁ
+ = 0;
+
+73 
+E\9aa_Li¡
+ *
+l
+ = 
+NULL
+;
+
+74 
+gl_\99em
+ *
+d©a
+ = 
+NULL
+;
+
+75 \12
+£l_couÁ
+ = 0;
+
+76 \12
+v\9bw_mode
+ = 
+       `gl_g\91_v\9bw_mode
+(
+ad
+);
+
+77 
+gl_\99em
+ *
+g\99em
+ = 
+NULL
+;
+
+79 
+g\99em
+ = 
+       `e\9aa_li¡_Áh
+ (
+ad
+->
+grid\9afo
+.
+med\9fs_\96
+,0);
+
+80 if(
+g\99em
+ && 
+       `¡rcmp
+(g\99em->
+®bum
+->
+þu¡\94
+->
+uuid
+,
+GL_ALBUM_FAVOURITE_ID
+) == 0) {
+
+81 
+       `­p_cÚ\8cÞ_g\91_ex\8ca_d©a_¬¿y
+(
+»¶y
+, "S\96eùed index fav", &
+£Ëù_»suÉ
+, &
+couÁ
+);
+
+83 
+       `­p_cÚ\8cÞ_g\91_ex\8ca_d©a_¬¿y
+(
+»¶y
+, "S\96eùed index", &
+£Ëù_»suÉ
+, &
+couÁ
+);
+
+86 \12
+\8fb_mode
+ = 
+       `_gl_ù¾_g\91_\8fb_mode
+(
+ad
+);
+
+87 ià(
+\8fb_mode
+ =ð
+GL_CTRL_TAB_TIMELINE
+) {
+
+88 
+       `_gl_upd©e_timev\9bw_iv_£Ëù_mode_»¶y
+(
+ad
+, 
+£Ëù_»suÉ
+, 
+couÁ
+);
+
+92 ià(
+£Ëù_»suÉ
+) {
+
+93 if(
+g\99em
+ && 
+       `¡rcmp
+(g\99em->
+®bum
+->
+þu¡\94
+->
+uuid
+,
+GL_ALBUM_FAVOURITE_ID
+) == 0) {
+
+94 
+       `EINA_LIST_FOREACH
+(
+ad
+->
+grid\9afo
+.
+med\9fs_\96
+, 
+l
+, 
+d©a
+) {
+
+95 ià(!
+d©a
+ || !d©a->
+\99em
+) {
+
+98 
+\9a_li¡
+ = 
+çl£
+;
+
+99 \ f
+i
+ = 0; i < 
+couÁ
+; i++) {
+
+100 ià(!
+       `¡rcmp
+(
+£Ëù_»suÉ
+[
+i
+], 
+d©a
+->
+\99em
+->
+f\9ee_u¾
+)) {
+
+101 ià(!
+d©a
+->
+checked
+) {
+
+102 
+E\9aa_Li¡
+ *
+£l_li¡1
+ = 
+ad
+->
+£l\9afo
+.
+çv_\96
+;
+
+103 
+£l_li¡1
+ = 
+       `e\9aa_li¡_­³nd
+(£l_li¡1, 
+d©a
+);
+
+104 
+ad
+->
+£l\9afo
+.
+çv_\96
+ = 
+£l_li¡1
+;
+
+105 
+d©a
+->
+®bum
+->
+\96
+ = 
+       `e\9aa_li¡_­³nd
+(data->album->elist, data);
+
+106 
+d©a
+->
+checked
+ = 
+\8cue
+;
+
+108 
+\9a_li¡
+ = 
+\8cue
+;
+
+109 
+£l_couÁ
+++;
+
+113 ià(!
+\9a_li¡
+) {
+
+114 ià(
+d©a
+->
+checked
+) {
+
+115 
+       `_gl_d©a_£Ëùed_çv_li¡_»move
+(
+ad
+, 
+d©a
+);
+
+116 
+d©a
+->
+®bum
+->
+\96
+ = 
+       `e\9aa_li¡_»move
+(data->album->elist, data);
+
+117 
+d©a
+->
+checked
+ = 
+çl£
+;
+
+122 
+       `EINA_LIST_FOREACH
+(
+ad
+->
+grid\9afo
+.
+med\9fs_\96
+, 
+l
+, 
+d©a
+) {
+
+123 ià(!
+d©a
+ || !d©a->
+\99em
+) {
+
+126 
+\9a_li¡
+ = 
+çl£
+;
+
+127 \ f
+i
+ = 0; i < 
+couÁ
+; i++) {
+
+128 ià(!
+       `¡rcmp
+(
+£Ëù_»suÉ
+[
+i
+], 
+d©a
+->
+\99em
+->
+f\9ee_u¾
+)) {
+
+129 ià(!
+d©a
+->
+checked
+) {
+
+130 
+       `_gl_d©a_£Ëùed_li¡_­³nd
+(
+ad
+, 
+d©a
+);
+
+131 
+d©a
+->
+®bum
+->
+\96
+ = 
+       `e\9aa_li¡_­³nd
+(data->album->elist, data);
+
+132 
+d©a
+->
+checked
+ = 
+\8cue
+;
+
+134 
+\9a_li¡
+ = 
+\8cue
+;
+
+135 
+£l_couÁ
+++;
+
+139 ià(!
+\9a_li¡
+) {
+
+140 ià(
+d©a
+->
+checked
+) {
+
+141 
+       `_gl_d©a_£Ëùed_li¡_»move
+(
+ad
+, 
+d©a
+);
+
+142 
+d©a
+->
+®bum
+->
+\96
+ = 
+       `e\9aa_li¡_»move
+(data->album->elist, data);
+
+143 
+d©a
+->
+checked
+ = 
+çl£
+;
+
+149 if(
+g\99em
+ && 
+       `¡rcmp
+(g\99em->
+®bum
+->
+þu¡\94
+->
+uuid
+,
+GL_ALBUM_FAVOURITE_ID
+) == 0) {
+
+150 
+       `EINA_LIST_FOREACH
+(
+ad
+->
+grid\9afo
+.
+med\9fs_\96
+, 
+l
+, 
+d©a
+) {
+
+151 ià(!
+d©a
+ || !d©a->
+\99em
+) {
+
+154 ià(
+d©a
+->
+checked
+) {
+
+155 
+       `_gl_d©a_£Ëùed_çv_li¡_»move
+(
+ad
+, 
+d©a
+);
+
+156 
+d©a
+->
+®bum
+->
+\96
+ = 
+       `e\9aa_li¡_»move
+(data->album->elist, data);
+
+157 
+d©a
+->
+checked
+ = 
+çl£
+;
+
+161 
+       `EINA_LIST_FOREACH
+(
+ad
+->
+grid\9afo
+.
+med\9fs_\96
+, 
+l
+, 
+d©a
+) {
+
+162 ià(!
+d©a
+ || !d©a->
+\99em
+) {
+
+165 ià(
+d©a
+->
+checked
+) {
+
+166 
+       `_gl_d©a_£Ëùed_li¡_»move
+(
+ad
+, 
+d©a
+);
+
+167 
+d©a
+->
+®bum
+->
+\96
+ = 
+       `e\9aa_li¡_»move
+(data->album->elist, data);
+
+168 
+d©a
+->
+checked
+ = 
+çl£
+;
+
+174 
+d©a
+ = 
+       `e\9aa_li¡_Áh
+(
+ad
+->
+grid\9afo
+.
+med\9fs_\96
+, 0);
+
+175 ià(
+d©a
+ && d©a->
+®bum
+ && d©a->®bum->
+\99em
+) {
+
+176 \ 5
+buf
+[
+GL_ALBUM_NAME_LEN_MAX
+] = { 0, };
+
+177 ià(
+£l_couÁ
+ > 0) {
+
+178 
+       `\96m_objeù_\99em_sigÇl_em\99
+(
+d©a
+->
+®bum
+->
+\99em
+,
+
+182 
+       `\96m_objeù_\99em_sigÇl_em\99
+(
+d©a
+->
+®bum
+->
+\99em
+,
+
+186 
+       `\96m_g\92grid_\99em_f\9blds_upd©e
+(
+d©a
+->
+®bum
+->
+\99em
+, "\96m.\8bxt.badge", 
+ELM_GENGRID_ITEM_FIELD_TEXT
+);
+
+188 \12
+tÙ®_£Ëùed_couÁ
+ = 
+       `e\9aa_li¡_couÁ
+(
+ad
+->
+£l\9afo
+.
+\96
+)+e\9aa_li¡_couÁ×d->£l\9afo.
+çv_\96
+);
+
+189 \12
+\99em_út
+ = 
+       `e\9aa_li¡_couÁ
+(
+ad
+->
+grid\9afo
+.
+med\9fs_\96
+);
+
+190 ià(
+v\9bw_mode
+ =ð
+GL_VIEW_THUMBS_EDIT
+) {
+
+191 
+       `_gl_nÙify_check_£ÏÎ
+(
+ad
+,\87d->
+grid\9afo
+.
+nf_\99
+, 
+\99em_út
+, 
+£l_couÁ
+);
+
+193 
+       `_gl_thumbs_upd©e_Ïb\96_\8bxt
+(
+ad
+->
+grid\9afo
+.
+nf_\99
+, 
+tÙ®_£Ëùed_couÁ
+, 
+çl£
+);
+
+194 
+       `\96m_g\92grid_»®ized_\99ems_upd©e
+(
+ad
+->
+grid\9afo
+.
+v\9bw
+);
+
+195 } \vià(
+v\9bw_mode
+ =ð
+GL_VIEW_THUMBS_SELECT
+) {
+
+196 
+       `_gl_nÙify_check_£ÏÎ
+(
+ad
+,\87d->
+®bum\9afo
+.
+nf_\99_£Ëù
+, 
+\99em_út
+,
+
+197 
+£l_couÁ
+);
+
+199 
+       `_gl_ui_upd©e_Çvi_t\99Ë_\8bxt
+(
+ad
+->
+®bum\9afo
+.
+nf_\99_£Ëù
+, 
+tÙ®_£Ëùed_couÁ
+, 
+çl£
+);
+
+200 
+       `\96m_g\92grid_»®ized_\99ems_upd©e
+(
+ad
+->
+grid\9afo
+.
+£Ëù_v\9bw
+);
+
+203 \ f
+i
+ = 0; i < 
+couÁ
+; i++) {
+
+204 ià(
+£Ëù_»suÉ
+[
+i
+]) {
+
+205 
+       `ä\93
+ (
+£Ëù_»suÉ
+[
+i
+]);
+
+208 ià(
+£Ëù_»suÉ
+) {
+
+209 
+       `ä\93
+(
+£Ëù_»suÉ
+);
+
+211 
+       }
+}
+
+214 \18\1e
+       $__gl_­pcÚ\8cÞ_»suÉ_cb
+(
+­p_cÚ\8cÞ_h
+»que¡
+,\87µ_cÚ\8cÞ_h 
+»¶y
+, 
+­p_cÚ\8cÞ_»suÉ_e
+»suÉ
+, \1e*
+u£r_d©a
+)
+
+216 
+       `GL_CHECK
+(
+u£r_d©a
+);
+
+217 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+u£r_d©a
+;
+
+218 \ 5*
+d\96\91e_»suÉ
+ = 
+NULL
+;
+
+219 
+       `­p_cÚ\8cÞ_g\91_ex\8ca_d©a
+(
+»¶y
+, "d\96\91\90f\9ee", &
+d\96\91e_»suÉ
+);
+
+220 ià(
+d\96\91e_»suÉ
+) {
+
+221 
+       `_gl_db_upd©e_lock_Úû
+(
+ad
+, 
+\8cue
+);
+
+222 
+       `gl_upd©e_v\9bw
+(
+ad
+, 
+GL_UPDATE_VIEW_INOTIFY
+);
+
+223 
+       `_gl_db_upd©e_lock_Úû
+(
+ad
+, 
+çl£
+);
+
+224 
+       `GL_FREE
+(
+d\96\91e_»suÉ
+);
+
+227 ià(
+ad
+->
+ug\9afo
+.
+ug_ty³
+ =ð
+GL_UG_GALLERY_SETTING_SLIDESHOW
+) {
+
+228 \ 5*
+¡¬t
+ = 
+NULL
+;
+
+229 
+       `­p_cÚ\8cÞ_g\91_ex\8ca_d©a
+(
+»¶y
+, "ResuÉ", &
+¡¬t
+);
+
+230 ià(
+¡¬t
+) {
+
+231 
+       `gl_dbg
+("¡¬\88¡r\9ag:%s", 
+¡¬t
+);
+
+232 ià(!
+       `g_¡rcmp0
+(
+¡¬t
+, "StartSlideShow")) {
+
+233 
+ad
+->
+ug\9afo
+.
+b_¡¬t_¦ideshow
+ = 
+\8cue
+;
+
+235 
+ad
+->
+ug\9afo
+.
+b_¡¬t_¦ideshow
+ = 
+çl£
+;
+
+237 
+       `GL_FREE
+(
+¡¬t
+);
+
+240 \1e*
+cb
+ = 
+       `evas_objeù_d©a_g\91
+(
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+,
+
+241 
+GL_NAVIFRAME_UG_RESULT_KEY
+);
+
+242 
+       `gl_sdbg
+("»suÉ_cb [%p]", 
+cb
+);
+
+243 ià(
+cb
+) {
+
+244 \12(*
+»suÉ_cb
+è(\1e*
+d©a
+, 
+­p_cÚ\8cÞ_h
+»t_h
+);
+
+245 
+»suÉ_cb
+ = 
+cb
+;
+
+246 
+       `»suÉ_cb
+(
+ad
+, 
+»¶y
+);
+
+249 
+       `GL_CHECK
+(
+ad
+->
+ug\9afo
+.
+ug
+);
+
+250 
+       `­p_cÚ\8cÞ_de¡roy
+(
+ad
+->
+ug\9afo
+.
+ug
+);
+
+251 
+ad
+->
+ug\9afo
+.
+ug
+ = 
+NULL
+;
+
+253 
+ad
+->
+ug\9afo
+.
+ug_ty³
+ = -1;
+
+254 
+ad
+->
+ug\9afo
+.
+iv_ty³
+ = -1;
+
+256 
+cb
+ = 
+       `evas_objeù_d©a_g\91
+(
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+,
+
+257 
+GL_NAVIFRAME_UG_UPDATE_KEY
+);
+
+258 
+       `gl_sdbg
+("upd©e_cb [%p]", 
+cb
+);
+
+259 ià(
+cb
+) {
+
+260 \12(*
+upd©e_cb
+è(\1e*
+d©a
+);
+
+261 
+upd©e_cb
+ = 
+cb
+;
+
+262 
+       `upd©e_cb
+(
+ad
+);
+
+265 
+       `\96m_objeù_\8c\93_focus_®low_£t
+(
+ad
+->
+ma\9a\9afo
+.
+Ïyout
+, 
+EINA_TRUE
+);
+
+266 
+       `\96m_objeù_focus_£t
+(
+ad
+->
+ma\9a\9afo
+.
+Ïyout
+, 
+EINA_TRUE
+);
+
+268 
+       `\96m_w\9a_\9adiÿtÜ_mode_£t
+(
+ad
+->
+ma\9a\9afo
+.
+w\9a
+, 
+ELM_WIN_INDICATOR_SHOW
+);
+
+269 
+       `\96m_w\9a_\9adiÿtÜ_Ýac\99y_£t
+(
+ad
+->
+ma\9a\9afo
+.
+w\9a
+, 
+ELM_WIN_INDICATOR_TRANSPARENT
+);
+
+270 
+       `_gl_ui_£t_cÚfÜm_ov\94Ïp
+(
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+);
+
+272 ià(
+ad
+->
+ug\9afo
+.
+b_¡¬t_¦ideshow
+) {
+
+273 
+ad
+->
+ug\9afo
+.
+b_¡¬t_¦ideshow
+ = 
+çl£
+;
+
+274 
+ad
+->
+ug\9afo
+.
+ug
+ = 
+NULL
+;
+
+276 
+ad
+->
+ug\9afo
+.
+ug_ty³
+ = -1;
+
+277 
+ad
+->
+ug\9afo
+.
+iv_ty³
+ = -1;
+
+278 \1e*
+cb
+ = 
+       `evas_objeù_d©a_g\91
+(
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+,
+
+279 
+GL_NAVIFRAME_SLIDESHOW_DATA_KEY
+);
+
+280 
+       `gl_sdbg
+("S\8f¹SlideShow[%p]", 
+cb
+);
+
+281 ià(
+cb
+) {
+
+282 
+       `evas_objeù_d©a_£t
+(
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+,
+
+283 
+GL_NAVIFRAME_SLIDESHOW_DATA_KEY
+,
+
+284 
+NULL
+);
+
+285 \12(*
+¡¬t_¦ideshow
+è(\1e*
+d©a
+);
+
+286 
+¡¬t_¦ideshow
+ = 
+cb
+;
+
+287 
+       `¡¬t_¦ideshow
+(
+u£r_d©a
+);
+
+290 #ifdeà
+_USE_APP_SLIDESHOW
+
+
+291 \vià(
+ad
+->
+ug\9afo
+.
+b_£Ëùed_¦ideshow
+) {
+
+292 
+ad
+->
+ug\9afo
+.
+b_£Ëùed_¦ideshow
+ = 
+çl£
+;
+
+293 
+cb
+ = 
+       `evas_objeù_d©a_g\91
+(
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+,
+
+294 
+GL_NAVIFRAME_SELECTED_SLIDESHOW_KEY
+);
+
+295 
+       `gl_sdbg
+("£Ëùed_¦ideshow [%p]", 
+cb
+);
+
+296 ià(
+cb
+) {
+
+297 
+       `evas_objeù_d©a_£t
+(
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+,
+
+298 
+GL_NAVIFRAME_SELECTED_SLIDESHOW_KEY
+,
+
+299 
+NULL
+);
+
+300 \12(*
+£Ëùed_¦ideshow_upd©e
+è(\1e*
+d©a
+);
+
+301 
+£Ëùed_¦ideshow_upd©e
+ = 
+cb
+;
+
+302 
+       `£Ëùed_¦ideshow_upd©e
+(
+u£r_d©a
+);
+
+306 
+       `evas_objeù_d©a_£t
+(
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+,
+
+307 
+GL_NAVIFRAME_UG_RESULT_KEY
+, 
+NULL
+);
+
+308 
+       `evas_objeù_d©a_£t
+(
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+,
+
+309 
+GL_NAVIFRAME_UG_UPDATE_KEY
+, 
+NULL
+);
+
+310 
+       }
+}
+
+312 #ifdeà
+_USE_APP_SLIDESHOW
+
+
+313 \18\ 5**
+       $__gl_ext_g\91_£Ëù_\9adex
+(\1e*
+d©a
+, \12*
+size
+)
+
+315 
+       `GL_CHECK_NULL
+(
+d©a
+);
+
+316 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+317 
+       `GL_CHECK_NULL
+(
+ad
+->
+£l\9afo
+.
+\96
+);
+
+318 
+gl_\99em
+ *
+cu¼\92t
+ = 
+NULL
+;
+
+319 \ 5*
+\9adex
+ = 
+NULL
+;
+
+320 \12
+i
+ = 0;
+
+321 \ 5**
+med\9f_\9adex
+ = 
+NULL
+;
+
+322 \12
+pos
+ = 0;
+
+323 \12
+£l_út
+ = 
+       `_gl_d©a_£Ëùed_li¡_couÁ
+(
+ad
+);
+
+325 
+med\9f_\9adex
+ = (\ 5**)
+       `ÿÎoc
+(
+£l_út
+, \17(\ 5*));
+
+326 
+       `GL_CHECK_NULL
+(
+med\9f_\9adex
+);
+
+327 
+       `gl_dbg
+("£Ëù med\9f couÁ: %d", 
+£l_út
+);
+
+329 \ f
+i
+ = 0; i < 
+£l_út
+; ++i) {
+
+330 
+cu¼\92t
+ = 
+       `e\9aa_li¡_Áh
+(
+ad
+->
+£l\9afo
+.
+\96
+, 
+i
+);
+
+331 
+\9adex
+ = (\ 5*)
+       `ÿÎoc
+(1, 
+GL_INTERGER_LEN_MAX
+);
+
+332 ià(
+cu¼\92t
+ =ð
+NULL
+ || cu¼\92t->
+\99em
+ =ðNULL || 
+\9adex
+ == NULL) {
+
+333 \ f
+pos
+ = 0;\85o < 
+i
+; ++pos) {
+
+334 
+       `GL_FREEIF
+(
+med\9f_\9adex
+[
+pos
+]);
+
+337 
+       `GL_FREEIF
+(
+\9adex
+);
+
+338 
+       `GL_FREE
+(
+med\9f_\9adex
+);
+
+339 \15 
+NULL
+;
+
+341 
+       `gl_dbg
+("Sequ\92û: %d", 
+cu¼\92t
+->
+£qu\92û
+);
+
+342 
+       `¢´\9atf
+(
+\9adex
+, 
+GL_INTERGER_LEN_MAX
+, "%d",
+
+343 
+cu¼\92t
+->
+£qu\92û
+ - 1);
+
+344 
+med\9f_\9adex
+[
+i
+] = 
+\9adex
+;
+
+345 
+\9adex
+ = 
+NULL
+;
+
+348 ià(
+size
+)
+
+349 *
+size
+ = 
+£l_út
+;
+
+352 
+       `_gl_d©a_£Ëùed_li¡_f\9a®ize
+(
+ad
+);
+
+353 \15 
+med\9f_\9adex
+;
+
+354 
+       }
+}
+
+357 \18\12
+       $__gl_ext_¦ideshow_£Ëùed
+(\1e*
+d©a
+, 
+­p_cÚ\8cÞ_h
+£rviû
+)
+
+359 
+       `GL_CHECK_VAL
+(
+£rviû
+, 
+GL_UG_FAIL
+);
+
+360 
+       `GL_CHECK_VAL
+(
+d©a
+, 
+GL_UG_FAIL
+);
+
+361 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+362 \ 5**
+med\9f_\9adex
+ = 
+NULL
+;
+
+363 \12
+med\9f_size
+ = 0;
+
+365 
+med\9f_\9adex
+ = 
+       `__gl_ext_g\91_£Ëù_\9adex
+(
+ad
+, &
+med\9f_size
+);
+
+366 ià(
+med\9f_\9adex
+ =ð
+NULL
+) {
+
+367 
+       `gl_dbgE
+("Invalid select index!");
+
+368 \15 
+GL_UG_FAIL
+;
+
+370 
+       `gl_dbg
+("S\91 s\96eùed med\9fs, med\9f_\9adex[%p], size[%d]", 
+med\9f_\9adex
+,
+
+371 
+med\9f_size
+);
+
+372 
+       `­p_cÚ\8cÞ_add_ex\8ca_d©a_¬¿y
+(
+£rviû
+, 
+GL_ARGC_SELECTED_FILES
+,
+
+373 (cڡ \ 5**)
+med\9f_\9adex
+, 
+med\9f_size
+);
+
+375 \12
+i
+ = 0;
+
+376 \ f
+i
+ = 0; i < 
+med\9f_size
+; ++i) {
+
+377 
+       `GL_FREEIF
+(
+med\9f_\9adex
+[
+i
+]);
+
+379 
+       `GL_FREE
+(
+med\9f_\9adex
+);
+
+380 
+med\9f_\9adex
+ = 
+NULL
+;
+
+382 
+       `­p_cÚ\8cÞ_add_ex\8ca_d©a
+(
+£rviû
+, 
+GL_ARGV_IV_INDEX
+,
+
+383 
+GL_ARGV_IV_INDEX_VALUE
+);
+
+384 \15 
+GL_UG_SUCCESS
+;
+
+385 
+       }
+}
+
+388 \18\12
+       $__gl_ext_add_sÜtby
+(
+­p_cÚ\8cÞ_h
+£rviû
+, \12
+sÜt
+)
+
+390 
+       `GL_CHECK_VAL
+(
+£rviû
+, 
+GL_UG_FAIL
+);
+
+392 \1a
+sÜt
+) {
+
+393 \ 4
+GL_SORT_BY_NAME_DESC
+:
+
+395 
+       `­p_cÚ\8cÞ_add_ex\8ca_d©a
+(
+£rviû
+, 
+GL_ARGV_IV_SORT_BY
+,
+
+396 
+GL_ARGV_IV_SORT_NAMEDESC
+);
+
+397 
+       `gl_dbg
+("Name descending");
+
+399 \ 4
+GL_SORT_BY_NAME_ASC
+:
+
+401 
+       `­p_cÚ\8cÞ_add_ex\8ca_d©a
+(
+£rviû
+, 
+GL_ARGV_IV_SORT_BY
+,
+
+402 
+GL_ARGV_IV_SORT_NAME
+);
+
+403 
+       `gl_dbg
+("Name\87scending");
+
+405 \ 4
+GL_SORT_BY_DATE_DESC
+:
+
+407 
+       `­p_cÚ\8cÞ_add_ex\8ca_d©a
+(
+£rviû
+, 
+GL_ARGV_IV_SORT_BY
+,
+
+408 
+GL_ARGV_IV_SORT_DATEDESC
+);
+
+409 
+       `gl_dbg
+("Date descending");
+
+411 \ 4
+GL_SORT_BY_DATE_ASC
+:
+
+413 
+       `­p_cÚ\8cÞ_add_ex\8ca_d©a
+(
+£rviû
+, 
+GL_ARGV_IV_SORT_BY
+,
+
+414 
+GL_ARGV_IV_SORT_DATE
+);
+
+415 
+       `gl_dbg
+("Date\87scending");
+
+419 
+       `­p_cÚ\8cÞ_add_ex\8ca_d©a
+(
+£rviû
+, 
+GL_ARGV_IV_SORT_BY
+,
+
+420 
+GL_ARGV_IV_SORT_NAME
+);
+
+421 
+       `gl_dbg
+("no sort, use default Name\87scending");
+
+425 
+       }
+}
+
+427 \18\1e
+       $__gl_ext_pÝup_»¥_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+429 
+       `GL_CHECK
+(
+obj
+);
+
+430 
+       `GL_CHECK
+(
+d©a
+);
+
+431 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+432 
+       `GL_IF_DEL_OBJ
+(
+ad
+->
+pÝup\9afo
+.
+pÝup
+);
+
+433 
+       }
+}
+
+435 \18\12
+       $__gl_ext_£t_thumbs_mode
+(\1e*
+d©a
+, 
+­p_cÚ\8cÞ_h
+£rviû
+, \12
+ty³
+)
+
+437 
+       `GL_CHECK_VAL
+(
+£rviû
+, 
+GL_UG_FAIL
+);
+
+438 
+       `GL_CHECK_VAL
+(
+d©a
+, 
+GL_UG_FAIL
+);
+
+441 ià(
+GL_UG_IV_SLIDESHOW
+ =ð
+ty³
+ ||
+
+442 #ifdeà
+_USE_APP_SLIDESHOW
+
+
+443 
+GL_UG_IV_SLIDESHOW_SELECTED
+ =ð
+ty³
+ ||
+
+445 
+GL_UG_IV_SLIDESHOW_ALL
+ =ð
+ty³
+)
+
+446 
+       `­p_cÚ\8cÞ_add_ex\8ca_d©a
+(
+£rviû
+, 
+GL_ARGV_IV_VIEW_MODE
+,
+
+447 
+GL_ARGV_IV_VIEW_SLIDESHOW
+);
+
+449 
+       `­p_cÚ\8cÞ_add_ex\8ca_d©a
+(
+£rviû
+, 
+GL_ARGV_IV_VIEW_MODE
+,
+
+450 
+GL_ARGV_IV_VIEW_GALLERY
+);
+
+452 
+       `­p_cÚ\8cÞ_add_ex\8ca_d©a
+(
+£rviû
+, 
+GL_ARGV_IV_MEDIA_TYPE
+,
+
+453 
+GL_ARGV_IV_MEDIA_ALL
+);
+
+454 
+       `gl_dbg
+("Media\81ype: All");
+
+455 \15 
+GL_UG_SUCCESS
+;
+
+456 
+       }
+}
+
+457 \18\12
+       $__gl_ext_®bums_£t_iv
+(\1e*
+d©a
+, 
+­p_cÚ\8cÞ_h
+£rviû
+, \12
+ty³
+, 
+gl_\99em
+ *
+\99em
+)
+
+459 
+       `GL_CHECK_VAL
+(
+£rviû
+, 
+GL_UG_FAIL
+);
+
+460 
+       `GL_CHECK_VAL
+(
+d©a
+, 
+GL_UG_FAIL
+);
+
+461 
+gl_þu¡\94
+ *
+cur_®bum
+ = 
+       `_gl_®bums_g\91_cu¼\92t
+(
+d©a
+);
+
+462 
+       `gl_dbg
+("ty³: %d", 
+ty³
+);
+
+465 ià(
+       `__gl_ext_£t_thumbs_mode
+(
+d©a
+, 
+£rviû
+, 
+ty³
+è=ð
+GL_UG_FAIL
+)
+
+466 \15 
+GL_UG_FAIL
+;
+
+468 ià(
+ty³
+ =ð
+GL_UG_IV_SLIDESHOW_ALL
+) {
+
+469 
+       `­p_cÚ\8cÞ_add_ex\8ca_d©a
+(
+£rviû
+, 
+GL_ARGV_IV_ALBUM_INDEX
+,
+
+470 
+GL_ALBUM_ALL_ID
+);
+
+471 } \vià(
+cur_®bum
+ && cur_®bum->
+þu¡\94
+ &&
+
+472 
+cur_®bum
+->
+þu¡\94
+->
+uuid
+) {
+
+473 
+       `gl_sdbg
+("®bum id: %s", 
+cur_®bum
+->
+þu¡\94
+->
+uuid
+);
+
+475 ià(!
+       `¡rcmp
+(
+GL_ALBUM_FAVOURITE_ID
+, 
+cur_®bum
+->
+þu¡\94
+->
+uuid
+)) {
+
+476 
+       `­p_cÚ\8cÞ_add_ex\8ca_d©a
+(
+£rviû
+, 
+GL_ARGV_IV_VIEW_BY
+, 
+GL_ARGV_IV_VIEW_BY_FAVORITES
+);
+
+478 
+       `­p_cÚ\8cÞ_add_ex\8ca_d©a
+(
+£rviû
+, 
+GL_ARGV_IV_VIEW_BY
+, 
+GL_ARGV_IV_VIEW_BY_FOLER
+);
+
+481 
+       `­p_cÚ\8cÞ_add_ex\8ca_d©a
+(
+£rviû
+, 
+GL_ARGV_IV_ALBUM_INDEX
+,
+
+482 
+cur_®bum
+->
+þu¡\94
+->
+uuid
+);
+
+484 \15 
+GL_UG_SUCCESS
+;
+
+485 
+       }
+}
+
+487 \18\12
+       $__gl_ext_®bums_£t_iv_£Ëù_mode
+(\1e*
+d©a
+, 
+­p_cÚ\8cÞ_h
+£rviû
+, \12
+ty³
+)
+
+489 
+       `GL_CHECK_VAL
+(
+£rviû
+, 
+GL_UG_FAIL
+);
+
+490 
+       `GL_CHECK_VAL
+(
+d©a
+, 
+GL_UG_FAIL
+);
+
+491 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+492 
+gl_þu¡\94
+ *
+cur_®bum
+ = 
+       `_gl_®bums_g\91_cu¼\92t
+(
+d©a
+);
+
+493 
+       `gl_dbg
+("ty³: %d", 
+ty³
+);
+
+496 
+       `­p_cÚ\8cÞ_add_ex\8ca_d©a
+(
+£rviû
+, 
+GL_ARGV_IV_VIEW_MODE
+,
+
+499 
+       `­p_cÚ\8cÞ_add_ex\8ca_d©a
+(
+£rviû
+, 
+GL_ARGV_IV_MEDIA_TYPE
+,
+
+500 
+GL_ARGV_IV_MEDIA_ALL
+);
+
+502 \12
+\8fb_mode
+ = 
+       `_gl_ù¾_g\91_\8fb_mode
+(
+ad
+);
+
+503 \1a
+\8fb_mode
+) {
+
+504 \ 4
+GL_CTRL_TAB_ALBUMS
+:
+
+505 ià(
+cur_®bum
+ && cur_®bum->
+þu¡\94
+ &&
+
+506 
+cur_®bum
+->
+þu¡\94
+->
+uuid
+) {
+
+507 ià(!
+       `¡rcmp
+(
+GL_ALBUM_ALL_ID
+, 
+cur_®bum
+->
+þu¡\94
+->
+uuid
+)) {
+
+508 
+       `­p_cÚ\8cÞ_add_ex\8ca_d©a
+(
+£rviû
+, 
+GL_ARGV_IV_VIEW_BY
+, 
+GL_ARGV_IV_VIEW_BY_ALL
+);
+
+509 } \vià(!
+       `¡rcmp
+(
+GL_ALBUM_FAVOURITE_ID
+, 
+cur_®bum
+->
+þu¡\94
+->
+uuid
+)) {
+
+510 
+       `­p_cÚ\8cÞ_add_ex\8ca_d©a
+(
+£rviû
+, 
+GL_ARGV_IV_VIEW_BY
+, 
+GL_ARGV_IV_VIEW_BY_FAVORITES
+);
+
+512 
+       `­p_cÚ\8cÞ_add_ex\8ca_d©a
+(
+£rviû
+, 
+GL_ARGV_IV_VIEW_BY
+, 
+GL_ARGV_IV_VIEW_BY_FOLER
+);
+
+515 
+       `­p_cÚ\8cÞ_add_ex\8ca_d©a
+(
+£rviû
+, 
+GL_ARGV_IV_ALBUM_INDEX
+,
+
+516 
+cur_®bum
+->
+þu¡\94
+->
+uuid
+);
+
+517 ià(
+ad
+->
+grid\9afo
+.
+med\9f_di¥Ïy_Üd\94
+ =ð
+ORDER_ASC
+) {
+
+518 
+ad
+->
+ug\9afo
+.
+sÜt_ty³
+ = 
+GL_SORT_BY_DATE_ASC
+;
+
+519 } \vià(
+ad
+->
+grid\9afo
+.
+med\9f_di¥Ïy_Üd\94
+ =ð
+ORDER_DESC
+) {
+
+520 
+ad
+->
+ug\9afo
+.
+sÜt_ty³
+ = 
+GL_SORT_BY_DATE_DESC
+;
+
+524 \ 4
+GL_CTRL_TAB_TIMELINE
+:
+
+525 
+       `­p_cÚ\8cÞ_add_ex\8ca_d©a
+(
+£rviû
+, 
+GL_ARGV_IV_VIEW_BY
+, 
+GL_ARGV_IV_VIEW_BY_ALL
+);
+
+526 
+       `­p_cÚ\8cÞ_add_ex\8ca_d©a
+(
+£rviû
+, 
+GL_ARGV_IV_ALBUM_INDEX
+, 
+GL_ALBUM_ALL_ID
+);
+
+529 
+       `gl_dbgE
+("Wrong\81ab mode!");
+
+531 \15 
+GL_UG_SUCCESS
+;
+
+532 
+       }
+}
+
+534 \18\12
+       $_gl_ext_lßd_iv_£Ëùed_li¡
+(
+­p_cÚ\8cÞ_h
+£rviû
+, \1e*
+d©a
+)
+
+536 
+       `GL_CHECK_VAL
+(
+d©a
+, 
+GL_UG_FAIL
+);
+
+537 
+       `GL_CHECK_VAL
+(
+£rviû
+, 
+GL_UG_FAIL
+);
+
+538 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+539 \12
+i
+;
+
+540 
+gl_\99em
+ *
+g\99em
+ = 
+NULL
+;
+
+541 \12
+couÁ
+ = 
+       `e\9aa_li¡_couÁ
+(
+ad
+->
+£l\9afo
+.
+\96
+);
+
+542 \12
+couÁ_çv
+       `e\9aa_li¡_couÁ
+(
+ad
+->
+£l\9afo
+.
+çv_\96
+);
+
+544 \ 5**
+v®ue
+ = 
+NULL
+;
+
+545 \ 5**
+v®ue_çv
+ = 
+NULL
+;
+
+546 ià(
+couÁ
+ > 0) {
+
+547 (
+v®ue
+èð(\ 5**)
+       `m®loc
+couÁ
+ * \17 (\ 5*));
+
+548 ià(!
+v®ue
+) {
+
+549 \15 
+GL_UG_FAIL
+;
+
+552 ià(
+couÁ_çv
+ > 0) {
+
+553 (
+v®ue_çv
+èð(\ 5**)
+       `m®loc
+couÁ_çv
+ * \17 (\ 5*));
+
+554 ià(!
+v®ue_çv
+) {
+
+555 \15 
+GL_UG_FAIL
+;
+
+559 \ f
+i
+ = 0; i < 
+couÁ
+; i++) {
+
+560 
+g\99em
+ = 
+       `e\9aa_li¡_Áh
+(
+ad
+->
+£l\9afo
+.
+\96
+, 
+i
+);
+
+561 ià(
+g\99em
+) {
+
+562 ià(
+g\99em
+->
+\99em
+) {
+
+563 (
+v®ue
+)[
+i
+] = 
+       `¡rdup
+(
+g\99em
+->
+\99em
+->
+f\9ee_u¾
+);
+
+567 \ f
+i
+ = 0; i < 
+couÁ_çv
+; i++) {
+
+568 
+g\99em
+ = 
+       `e\9aa_li¡_Áh
+(
+ad
+->
+£l\9afo
+.
+çv_\96
+, 
+i
+);
+
+569 ià(
+g\99em
+) {
+
+570 ià(
+g\99em
+->
+\99em
+) {
+
+571 (
+v®ue_çv
+)[
+i
+] = 
+       `¡rdup
+(
+g\99em
+->
+\99em
+->
+f\9ee_u¾
+);
+
+575 ià(
+couÁ
+ > 0) {
+
+576 
+       `­p_cÚ\8cÞ_add_ex\8ca_d©a_¬¿y
+(
+£rviû
+, "Selected index",
+
+577 
+v®ue
+, 
+couÁ
+);
+
+579 ià(
+couÁ_çv
+ > 0) {
+
+580 
+       `­p_cÚ\8cÞ_add_ex\8ca_d©a_¬¿y
+(
+£rviû
+, "Selected index fav",
+
+581 
+v®ue_çv
+, 
+couÁ_çv
+);
+
+585 ià(
+v®ue
+) {
+
+586 \ f
+i
+ = 0; i < 
+couÁ
+; i++) {
+
+587 
+       `ä\93
+(
+v®ue
+[
+i
+]);
+
+589 
+       `ä\93
+(
+v®ue
+);
+
+592 ià(
+v®ue_çv
+) {
+
+593 \ f
+i
+ = 0; i < 
+couÁ_çv
+; i++) {
+
+594 
+       `ä\93
+(
+v®ue_çv
+[
+i
+]);
+
+596 
+       `ä\93
+(
+v®ue_çv
+);
+
+599 \15 
+GL_UG_SUCCESS
+;
+
+600 
+       }
+}
+
+602 \12
+       $gl_ext_lßd_iv_time_ug_£Ëù_mode
+(\1e*
+d©a
+, 
+gl_med\9f_s
+ *
+\99em
+, 
+gl_ext_iv_ty³
+ty³
+, \12
+sÜt_ty³
+)
+
+604 
+       `GL_CHECK_VAL
+(
+d©a
+, 
+GL_UG_FAIL
+);
+
+605 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+607 \12
+»t
+;
+
+608 ià(
+sÜt_ty³
+ =ð
+ORDER_ASC
+) {
+
+609 
+ad
+->
+ug\9afo
+.
+sÜt_ty³
+ = 
+GL_SORT_BY_DATE_ASC
+;
+
+610 } \vià(
+sÜt_ty³
+ =ð
+ORDER_DESC
+) {
+
+611 
+ad
+->
+ug\9afo
+.
+sÜt_ty³
+ = 
+GL_SORT_BY_DATE_DESC
+;
+
+613 
+»t
+ = 
+       `gl_ext_lßd_iv_ug_£Ëù_mode
+ (
+d©a
+, 
+\99em
+, 
+ty³
+);
+
+615 \15 
+»t
+;
+
+616 
+       }
+}
+
+618 \12
+       $gl_ext_lßd_iv_ug_£Ëù_mode
+(\1e*
+d©a
+, 
+gl_med\9f_s
+ *
+\99em
+, 
+gl_ext_iv_ty³
+ty³
+)
+
+620 
+       `GL_CHECK_VAL
+(
+\99em
+, 
+GL_UG_FAIL
+);
+
+621 
+       `GL_CHECK_VAL
+(
+d©a
+, 
+GL_UG_FAIL
+);
+
+622 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+623 
+­p_cÚ\8cÞ_h
+£rviû
+ = 
+NULL
+;
+
+625 ià(
+ad
+->
+ug\9afo
+.
+ug
+) {
+
+626 
+       `gl_dbgE
+("AÌ\97dy\83x\99 som\90UG c®Ëd by me,\81y³(%d)!", 
+ty³
+);
+
+627 \15 
+GL_UG_FAIL
+;
+
+630 
+       `­p_cÚ\8cÞ_ü\97\8b
+(&
+£rviû
+);
+
+631 
+       `GL_CHECK_VAL
+(
+£rviû
+, 
+GL_UG_FAIL
+);
+
+633 
+ad
+->
+ug\9afo
+.
+ug_ty³
+ = 
+GL_UG_IMAGEVIEWER
+;
+
+634 
+ad
+->
+ug\9afo
+.
+iv_ty³
+ = 
+ty³
+;
+
+636 \12
+»t
+ = 
+GL_UG_FAIL
+;
+
+637 
+»t
+ = 
+       `__gl_ext_®bums_£t_iv_£Ëù_mode
+(
+d©a
+, 
+£rviû
+, 
+ty³
+);
+
+639 ià(
+»t
+ =ð
+GL_UG_FAIL
+) {
+
+640 
+       `gl_dbgW
+("Service data setting failed!");
+
+641 
+       `­p_cÚ\8cÞ_de¡roy
+(
+£rviû
+);
+
+642 \15 
+GL_UG_FAIL
+;
+
+645 
+       `­p_cÚ\8cÞ_add_ex\8ca_d©a
+(
+£rviû
+, 
+GL_ARGV_IV_PATH
+, 
+\99em
+->
+f\9ee_u¾
+);
+
+646 
+       `__gl_ext_add_sÜtby
+(
+£rviû
+, 
+ad
+->
+ug\9afo
+.
+sÜt_ty³
+);
+
+648 \12
+\8fb_mode
+ = 
+       `_gl_ù¾_g\91_\8fb_mode
+(
+ad
+);
+
+649 \1a
+\8fb_mode
+) {
+
+650 \ 4
+GL_CTRL_TAB_ALBUMS
+:
+
+651 
+       `_gl_ext_lßd_iv_£Ëùed_li¡
+(
+£rviû
+, 
+ad
+);
+
+653 \ 4
+GL_CTRL_TAB_TIMELINE
+:
+
+654 
+       `_gl_ext_lßd_time_iv_£Ëùed_li¡
+(
+£rviû
+, 
+ad
+);
+
+657 
+       `gl_dbgE
+("Wrong\81ab mode!");
+
+660 
+»t
+ = 
+       `­p_cÚ\8cÞ_£t_Ïunch_mode
+(
+£rviû
+, 
+APP_CONTROL_LAUNCH_MODE_GROUP
+);
+
+661 ià(
+»t
+ !ð
+APP_CONTROL_ERROR_NONE
+) {
+
+662 
+       `gl_dbgE
+("set\86aunch mode failed");
+
+664 
+»t
+ = 
+       `­p_cÚ\8cÞ_£t_­p_id
+(
+£rviû
+, 
+GL_UG_PKG_IV
+);
+
+665 ià(
+»t
+ !ð
+APP_CONTROL_ERROR_NONE
+) {
+
+666 
+       `gl_dbgE
+("set\87ppid failed");
+
+668 
+»t
+ = 
+       `­p_cÚ\8cÞ_£nd_Ïunch_»que¡
+(
+£rviû
+, 
+__gl_­pcÚ\8cÞ_£Ëù_»suÉ_cb
+, (\1e*)
+ad
+);
+
+671 
+       `­p_cÚ\8cÞ_de¡roy
+(
+£rviû
+);
+
+673 ià(
+»t
+ !ð
+APP_CONTROL_ERROR_NONE
+) {
+
+674 
+       `gl_dbgE
+("ug_create failed!");
+
+675 
+       `_gl_pÝup_ü\97\8b
+(
+d©a
+, 
+NULL
+, 
+GL_STR_ID_OPERATION_FAILED
+,
+
+676 
+GL_STR_ID_CLOSE
+, 
+__gl_ext_pÝup_»¥_cb
+, 
+d©a
+,
+
+677 
+NULL
+, NULL, NULL, NULL, NULL, NULL);
+
+678 \15 
+GL_UG_FAIL
+;
+
+680 
+       `\96m_objeù_\8c\93_focus_®low_£t
+(
+ad
+->
+ma\9a\9afo
+.
+Ïyout
+, 
+EINA_FALSE
+);
+
+681 
+ad
+->
+ug\9afo
+.
+b_ug_Ïunched
+ = 
+\8cue
+;
+
+682 \15 
+GL_UG_SUCCESS
+;
+
+684 
+       }
+}
+
+687 \12
+       $gl_ext_lßd_iv_ug
+(\1e*
+d©a
+, 
+gl_\99em
+ *
+\99em
+, 
+gl_ext_iv_ty³
+ty³
+)
+
+689 
+       `GL_CHECK_VAL
+(
+\99em
+, 
+GL_UG_FAIL
+);
+
+690 
+       `GL_CHECK_VAL
+(
+\99em
+->\99em, 
+GL_UG_FAIL
+);
+
+691 
+       `GL_CHECK_VAL
+(
+d©a
+, 
+GL_UG_FAIL
+);
+
+692 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+695 
+­p_cÚ\8cÞ_h
+£rviû
+ = 
+NULL
+;
+
+696 
+       `gl_dbg
+("ty³: %d", 
+ty³
+);
+
+698 ià(
+ad
+->
+ug\9afo
+.
+ug
+) {
+
+699 
+       `gl_dbgE
+("AÌ\97dy\83x\99 som\90UG c®Ëd by me,\81y³(%d)!", 
+ty³
+);
+
+700 \15 
+GL_UG_FAIL
+;
+
+703 
+       `­p_cÚ\8cÞ_ü\97\8b
+(&
+£rviû
+);
+
+704 
+       `GL_CHECK_VAL
+(
+£rviû
+, 
+GL_UG_FAIL
+);
+
+707 
+ad
+->
+ug\9afo
+.
+ug_ty³
+ = 
+GL_UG_IMAGEVIEWER
+;
+
+708 
+ad
+->
+ug\9afo
+.
+iv_ty³
+ = 
+ty³
+;
+
+710 \12
+»t
+ = 
+GL_UG_FAIL
+;
+
+711 \12
+\8fb_mode
+ = 
+       `_gl_ù¾_g\91_\8fb_mode
+(
+ad
+);
+
+712 \1a
+\8fb_mode
+) {
+
+713 \ 4
+GL_CTRL_TAB_ALBUMS
+:
+
+714 
+»t
+ = 
+       `__gl_ext_®bums_£t_iv
+(
+d©a
+, 
+£rviû
+, 
+ty³
+, 
+\99em
+);
+
+716 \ 4
+GL_CTRL_TAB_TIMELINE
+:
+
+717 
+»t
+ = 
+       `__gl_ext_®bums_£t_iv
+(
+d©a
+, 
+£rviû
+, 
+ty³
+, 
+\99em
+);
+
+720 
+       `gl_dbgE
+("Wrong\81ab mode!");
+
+723 ià(
+»t
+ =ð
+GL_UG_FAIL
+) {
+
+724 
+       `gl_dbgW
+("Service data setting failed!");
+
+725 
+       `­p_cÚ\8cÞ_de¡roy
+(
+£rviû
+);
+
+726 \15 
+GL_UG_FAIL
+;
+
+729 
+       `­p_cÚ\8cÞ_add_ex\8ca_d©a
+(
+£rviû
+, 
+GL_ARGV_IV_PATH
+, 
+\99em
+->\99em->
+f\9ee_u¾
+);
+
+732 ià(
+ad
+->
+grid\9afo
+.
+med\9f_di¥Ïy_Üd\94
+ =ð
+ORDER_ASC
+) {
+
+733 
+ad
+->
+ug\9afo
+.
+sÜt_ty³
+ = 
+GL_SORT_BY_DATE_ASC
+;
+
+734 } \vià(
+ad
+->
+grid\9afo
+.
+med\9f_di¥Ïy_Üd\94
+ =ð
+ORDER_DESC
+) {
+
+735 
+ad
+->
+ug\9afo
+.
+sÜt_ty³
+ = 
+GL_SORT_BY_DATE_DESC
+;
+
+737 
+       `__gl_ext_add_sÜtby
+(
+£rviû
+, 
+ad
+->
+ug\9afo
+.
+sÜt_ty³
+);
+
+739 #ifdeà
+_USE_APP_SLIDESHOW
+
+
+740 ià(
+ty³
+ =ð
+GL_UG_IV_SLIDESHOW_SELECTED
+) {
+
+741 ià(
+       `__gl_ext_¦ideshow_£Ëùed
+(
+ad
+, 
+£rviû
+è=ð
+GL_UG_FAIL
+) {
+
+742 
+       `gl_dbgE
+("Failed\81o slideshow selected files!");
+
+743 
+       `­p_cÚ\8cÞ_de¡roy
+(
+£rviû
+);
+
+744 \15 
+GL_UG_FAIL
+;
+
+746 
+ad
+->
+ug\9afo
+.
+b_£Ëùed_¦ideshow
+ = 
+\8cue
+;
+
+749 ià(
+ty³
+ =ð
+GL_UG_IV_SLIDESHOW_ALL
+ ||
+
+750 
+GL_VIEW_ALBUMS
+ =ð
+       `gl_g\91_v\9bw_mode
+(
+d©a
+)) {
+
+751 
+       `­p_cÚ\8cÞ_add_ex\8ca_d©a
+(
+£rviû
+, 
+GL_ARGV_IV_INDEX
+,
+
+752 
+GL_ARGV_IV_INDEX_VALUE
+);
+
+753 } \vià(
+ty³
+ =ð
+GL_UG_IV
+ ||\81y³ =ð
+GL_UG_IV_SLIDESHOW
+) {
+
+754 \ 5
+£qu\92û_¡r
+[
+GL_INTERGER_LEN_MAX
+] = { 0, };
+
+755 
+       `e\9aa_cÚv\94t_\99ß
+(
+\99em
+->
+£qu\92û
+, 
+£qu\92û_¡r
+);
+
+756 
+       `gl_dbg
+("£qu\92û : %s", 
+£qu\92û_¡r
+);
+
+757 
+       `­p_cÚ\8cÞ_add_ex\8ca_d©a
+(
+£rviû
+, 
+GL_ARGV_IV_INDEX
+, 
+£qu\92û_¡r
+);
+
+759 
+»t
+ = 
+       `­p_cÚ\8cÞ_£t_Ïunch_mode
+(
+£rviû
+, 
+APP_CONTROL_LAUNCH_MODE_GROUP
+);
+
+760 ià(
+»t
+ !ð
+APP_CONTROL_ERROR_NONE
+) {
+
+761 
+       `gl_dbgE
+("set\86aunch mode failed");
+
+763 
+»t
+ = 
+       `­p_cÚ\8cÞ_£t_­p_id
+(
+£rviû
+, 
+GL_UG_PKG_IV
+);
+
+764 ià(
+»t
+ !ð
+APP_CONTROL_ERROR_NONE
+) {
+
+765 
+       `gl_dbgE
+("set\87ppid failed");
+
+767 
+»t
+ = 
+       `­p_cÚ\8cÞ_£nd_Ïunch_»que¡
+(
+£rviû
+, 
+__gl_­pcÚ\8cÞ_»suÉ_cb
+, (\1e*)
+ad
+);
+
+770 
+       `­p_cÚ\8cÞ_de¡roy
+(
+£rviû
+);
+
+772 ià(
+»t
+ !ð
+APP_CONTROL_ERROR_NONE
+) {
+
+773 
+       `gl_dbgE
+("ug_create failed!");
+
+774 
+       `_gl_pÝup_ü\97\8b
+(
+d©a
+, 
+NULL
+, 
+GL_STR_ID_OPERATION_FAILED
+,
+
+775 
+GL_STR_ID_CLOSE
+, 
+__gl_ext_pÝup_»¥_cb
+, 
+d©a
+,
+
+776 
+NULL
+, NULL, NULL, NULL, NULL, NULL);
+
+777 \15 
+GL_UG_FAIL
+;
+
+779 
+       `\96m_objeù_\8c\93_focus_®low_£t
+(
+ad
+->
+ma\9a\9afo
+.
+Ïyout
+, 
+EINA_FALSE
+);
+
+780 
+ad
+->
+ug\9afo
+.
+b_ug_Ïunched
+ = 
+\8cue
+;
+
+781 \15 
+GL_UG_SUCCESS
+;
+
+783 
+       }
+}
+
+786 \12
+       $_gl_ext_lßd_iv_tim\96\9ae
+(\1e*
+d©a
+, cڡ \ 5*
+·th
+, \12
+£qu\92û
+, \12
+sÜt_ty³
+)
+
+788 
+       `GL_CHECK_VAL
+(
+d©a
+, 
+GL_UG_FAIL
+);
+
+789 \12
+»t
+ = 
+GL_UG_FAIL
+;
+
+790 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+793 
+­p_cÚ\8cÞ_h
+£rviû
+ = 
+NULL
+;
+
+795 ià(
+ad
+->
+ug\9afo
+.
+ug
+) {
+
+796 
+       `gl_dbgE
+("Already\83xits some UG called by me!");
+
+797 \15 
+GL_UG_FAIL
+;
+
+800 
+       `­p_cÚ\8cÞ_ü\97\8b
+(&
+£rviû
+);
+
+801 
+       `GL_CHECK_VAL
+(
+£rviû
+, 
+GL_UG_FAIL
+);
+
+804 
+ad
+->
+ug\9afo
+.
+ug_ty³
+ = 
+GL_UG_IMAGEVIEWER
+;
+
+805 
+ad
+->
+ug\9afo
+.
+iv_ty³
+ = 
+GL_UG_IV
+;
+
+808 
+       `­p_cÚ\8cÞ_add_ex\8ca_d©a
+(
+£rviû
+, 
+GL_ARGV_IV_MEDIA_TYPE
+,
+
+809 
+GL_ARGV_IV_MEDIA_ALL
+);
+
+810 
+       `gl_dbg
+("Media\81ype: All");
+
+812 
+       `­p_cÚ\8cÞ_add_ex\8ca_d©a
+(
+£rviû
+, 
+GL_ARGV_IV_VIEW_BY
+,
+
+813 
+GL_ARGV_IV_VIEW_BY_ALL
+);
+
+814 
+       `gl_dbg
+("View By: All");
+
+816 
+       `­p_cÚ\8cÞ_add_ex\8ca_d©a
+(
+£rviû
+, 
+GL_ARGV_IV_PATH
+, 
+·th
+);
+
+819 ià(
+sÜt_ty³
+ =ð
+ORDER_ASC
+) {
+
+820 
+ad
+->
+ug\9afo
+.
+sÜt_ty³
+ = 
+GL_SORT_BY_DATE_ASC
+;
+
+821 } \vià(
+sÜt_ty³
+ =ð
+ORDER_DESC
+) {
+
+822 
+ad
+->
+ug\9afo
+.
+sÜt_ty³
+ = 
+GL_SORT_BY_DATE_DESC
+;
+
+824 
+       `__gl_ext_add_sÜtby
+(
+£rviû
+, 
+ad
+->
+ug\9afo
+.
+sÜt_ty³
+);
+
+825 \ 5
+£qu\92û_¡r
+[
+GL_INTERGER_LEN_MAX
+] = { 0, };
+
+826 
+       `e\9aa_cÚv\94t_\99ß
+(
+£qu\92û
+, 
+£qu\92û_¡r
+);
+
+827 
+       `gl_dbg
+("£qu\92û: %s", 
+£qu\92û_¡r
+);
+
+828 
+       `­p_cÚ\8cÞ_add_ex\8ca_d©a
+(
+£rviû
+, 
+GL_ARGV_IV_INDEX
+, 
+£qu\92û_¡r
+);
+
+829 
+»t
+ = 
+       `­p_cÚ\8cÞ_£t_Ïunch_mode
+(
+£rviû
+, 
+APP_CONTROL_LAUNCH_MODE_GROUP
+);
+
+830 ià(
+»t
+ !ð
+APP_CONTROL_ERROR_NONE
+) {
+
+831 
+       `gl_dbgE
+("set\86aunch mode failed");
+
+834 
+»t
+ = 
+       `­p_cÚ\8cÞ_£t_­p_id
+(
+£rviû
+, 
+GL_UG_PKG_IV
+);
+
+835 ià(
+»t
+ !ð
+APP_CONTROL_ERROR_NONE
+) {
+
+836 
+       `gl_dbgE
+("set\87ppid failed");
+
+838 
+»t
+ = 
+       `­p_cÚ\8cÞ_£nd_Ïunch_»que¡
+(
+£rviû
+, 
+__gl_­pcÚ\8cÞ_»suÉ_cb
+, (\1e*)
+ad
+);
+
+841 
+       `­p_cÚ\8cÞ_de¡roy
+(
+£rviû
+);
+
+843 ià(
+»t
+ !ð
+APP_CONTROL_ERROR_NONE
+) {
+
+844 
+       `gl_dbgE
+("ug_create failed!");
+
+845 
+       `_gl_pÝup_ü\97\8b
+(
+d©a
+, 
+NULL
+, 
+GL_STR_ID_OPERATION_FAILED
+,
+
+846 
+GL_STR_ID_CLOSE
+, 
+__gl_ext_pÝup_»¥_cb
+, 
+d©a
+,
+
+847 
+NULL
+, NULL, NULL, NULL, NULL, NULL);
+
+848 \15 
+GL_UG_FAIL
+;
+
+853 
+       `\96m_objeù_\8c\93_focus_®low_£t
+(
+ad
+->
+ma\9a\9afo
+.
+Ïyout
+, 
+EINA_FALSE
+);
+
+854 
+ad
+->
+ug\9afo
+.
+b_ug_Ïunched
+ = 
+\8cue
+;
+
+855 \15 
+GL_UG_SUCCESS
+;
+
+858 
+       }
+}
+
+860 \12
+       $gl_ext_lßd_ug
+(\1e*
+d©a
+, 
+gl_ext_ug_ty³
+ty³
+)
+
+862 
+       `GL_CHECK_VAL
+(
+d©a
+, 
+GL_UG_FAIL
+);
+
+863 \12
+»t
+ = 
+GL_UG_FAIL
+;
+
+864 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+865 
+       `GL_CHECK_VAL
+(
+ad
+->
+ma\9a\9afo
+.
+w\9a
+, 
+GL_UG_FAIL
+);
+
+866 
+­p_cÚ\8cÞ_h
+£rviû
+ = 
+NULL
+;
+
+868 ià(
+ad
+->
+ug\9afo
+.
+ug
+) {
+
+869 
+       `gl_dbg
+("AÌ\97dy\83x\99 som\90UG, Reque¡\81y³(%d)", 
+ty³
+);
+
+870 \15 
+GL_UG_FAIL
+;
+
+873 
+ad
+->
+ug\9afo
+.
+ug_ty³
+ = 
+ty³
+;
+
+874 
+ad
+->
+ug\9afo
+.
+d©a
+ = 
+NULL
+;
+
+876 
+       `­p_cÚ\8cÞ_ü\97\8b
+(&
+£rviû
+);
+
+877 
+       `GL_CHECK_VAL
+(
+£rviû
+, 
+GL_UG_FAIL
+);
+
+879 \1a
+ty³
+) {
+
+880 \ 4
+GL_UG_GALLERY_SETTING_SLIDESHOW
+:
+
+881 
+ad
+->
+ug\9afo
+.
+b_¡¬t_¦ideshow
+ = 
+çl£
+;
+
+882 
+       `­p_cÚ\8cÞ_add_ex\8ca_d©a
+(
+£rviû
+, "ShowStartBtn", "TRUE");
+
+883 
+»t
+ = 
+       `­p_cÚ\8cÞ_£t_­p_id
+(
+£rviû
+, 
+GL_UG_PKG_GALLERY_SETTING
+);
+
+884 ià(
+»t
+ !ð
+APP_CONTROL_ERROR_NONE
+) {
+
+885 
+       `gl_dbgE
+("service create failed");
+
+887 
+»t
+ = 
+       `­p_cÚ\8cÞ_£nd_Ïunch_»que¡
+(
+£rviû
+, 
+__gl_­pcÚ\8cÞ_»suÉ_cb
+, (\1e*)
+ad
+);
+
+889 \ 4
+GL_UG_GALLERY_SETTING
+:
+
+890 
+»t
+ = 
+       `­p_cÚ\8cÞ_£t_­p_id
+(
+£rviû
+, 
+GL_UG_PKG_GALLERY_SETTING
+);
+
+891 ià(
+»t
+ !ð
+APP_CONTROL_ERROR_NONE
+) {
+
+892 
+       `gl_dbgE
+("service create failed");
+
+894 
+»t
+ = 
+       `­p_cÚ\8cÞ_£nd_Ïunch_»que¡
+(
+£rviû
+, 
+__gl_­pcÚ\8cÞ_»suÉ_cb
+, (\1e*)
+ad
+);
+
+897 
+       `gl_dbgE
+("Wrong UG\81ype!");
+
+898 \10
+EXT_UG_FAILED
+;
+
+900 
+ad
+->
+ug\9afo
+.
+ug
+ = 
+£rviû
+;
+
+902 ià(
+»t
+ !ð
+APP_CONTROL_ERROR_NONE
+) {
+
+903 
+       `gl_dbgE
+("ug_create failed!");
+
+904 
+       `_gl_pÝup_ü\97\8b
+(
+d©a
+, 
+NULL
+, 
+GL_STR_ID_OPERATION_FAILED
+,
+
+905 
+GL_STR_ID_CLOSE
+, 
+__gl_ext_pÝup_»¥_cb
+, 
+d©a
+,
+
+906 
+NULL
+, NULL, NULL, NULL, NULL, NULL);
+
+907 \15 
+GL_UG_FAIL
+;
+
+909 
+       `gl_dbgW
+("ug_create success!");
+
+912 
+       `\96m_objeù_\8c\93_focus_®low_£t
+(
+ad
+->
+ma\9a\9afo
+.
+Ïyout
+, 
+EINA_FALSE
+);
+
+913 \15 
+GL_UG_SUCCESS
+;
+
+916 
+EXT_UG_FAILED
+:
+
+918 
+       `gl_dbgE
+("EXT_UG_FAILED!");
+
+919 
+       `­p_cÚ\8cÞ_de¡roy
+(
+£rviû
+);
+
+920 
+       `_gl_pÝup_ü\97\8b
+(
+d©a
+, 
+NULL
+, 
+GL_STR_ID_OPERATION_FAILED
+,
+
+921 
+GL_STR_ID_CLOSE
+, 
+__gl_ext_pÝup_»¥_cb
+, 
+d©a
+,
+
+922 
+NULL
+, NULL, NULL, NULL, NULL, NULL);
+
+923 \15 
+GL_UG_FAIL
+;
+
+924 
+       }
+}
+
+       @src/util/gl-file-util.c
+
+18 \ 2
+       ~"gl-f\9ee-ut\9e.h
+"
+
+19 \ 2
+       ~"gl-debug.h
+"
+
+20 \ 2
+       ~<libg\92.h
+>
+
+21 \ 2
+       ~<uni¡d.h
+>
+
+23 \18
+mode_t
+       gdeçuÉ_mode
+ = 
+S_IRUSR
+ | 
+S_IWUSR
+ | 
+S_IXUSR
+ | 
+S_IRGRP
+ | 
+S_IXGRP
+ | 
+S_IROTH
+ | 
+S_IXOTH
+;
+
+25 \ 5*
+       $gl_f\9ee_d\9c_g\91
+(cڡ \ 5
+·th
+[])
+
+27 \ 5*
+p
+ = 
+NULL
+;
+
+28 \ 5
+buf
+[256] = {0,};
+
+29 \19
+¡©
+\9afo
+ = {0,};
+
+31 ià(
+       `¡©
+(
+·th
+, &
+\9afo
+) == 0) {
+
+32 
+       `¡ºýy
+(
+buf
+, 
+·th
+, 256);
+
+33 
+buf
+[256 - 1] = 0;
+
+34 
+p
+ = 
+       `d\9cÇme
+(
+buf
+);
+
+35 \15 
+       `¡rdup
+(
+p
+);
+
+39 
+       }
+}
+
+41 \12
+       $gl_f\9ee_exi¡s
+(cڡ \ 5*
+·th
+)
+
+43 \19
+¡©
+\9afo
+ = {0,};
+
+45 ià(
+       `¡©
+(
+·th
+, &
+\9afo
+) == 0)
+
+49 
+       }
+}
+
+51 \12
+       $gl_f\9ee_is_d\9c
+(cڡ \ 5*
+·th
+)
+
+53 \19
+¡©
+\9afo
+ = {0,};
+
+55 ià(
+       `¡©
+(
+·th
+, &
+\9afo
+) == 0) {
+
+56 ià(
+       `S_ISDIR
+(
+\9afo
+.
+¡_mode
+)) {
+
+62 
+       }
+}
+
+64 \12
+       $gl_f\9ee_d\9c_is_em±y
+(cڡ \ 5*
+·th
+)
+
+66 \19
+d\9c\92t
+ *
+dp
+ = 
+NULL
+;
+
+67 
+DIR
+ *
+d\9cp
+ = 
+NULL
+;
+
+68 \19
+d\9c\92t
+\92t_¡ruù
+;
+
+70 
+d\9cp
+ = 
+       `Ý\92d\9c
+(
+·th
+);
+
+71 ià(!
+d\9cp
+)
+
+74 \1f(
+       `»add\9c_r
+(
+d\9cp
+, &
+\92t_¡ruù
+, &
+dp
+) == 0) && dp) {
+
+75 ià((
+       `¡rcmp
+(
+dp
+->
+d_Çme
+, ".")) && (strcmp(dp->d_name, ".."))) {
+
+76 
+       `þo£d\9c
+(
+d\9cp
+);
+
+80 
+       `þo£d\9c
+(
+d\9cp
+);
+
+82 
+       }
+}
+
+84 \12
+       $gl_mkd\9c
+(cڡ \ 5*
+d\9c
+)
+
+86 ià(
+       `mkd\9c
+(
+d\9c
+, 
+deçuÉ_mode
+) < 0)
+
+90 
+       }
+}
+
+93 
+       $gl_mk·th_if_nÙ_exi¡s
+(cڡ \ 5*
+·th
+)
+
+95 \19
+¡©
+ = {0,};
+
+96 ià(
+       `¡©
+(
+·th
+, &
+) < 0)
+
+97 \15 
+       `gl_mkd\9c
+(
+·th
+);
+
+98 \vià(!
+       `S_ISDIR
+(
+.
+¡_mode
+))
+
+102 
+       }
+}
+
+104 \12
+       $gl_f\9ee_mk·th
+(cڡ \ 5*
+·th
+)
+
+106 \ 5
+ss
+[500] = {0,};
+
+107 \1d\12
+i
+ = 0;
+
+109 ià(
+       `gl_f\9ee_is_d\9c
+(
+·th
+))
+
+112 \ f
+i
+ = 0; 
+·th
+[i] !ð'\0'; 
+ss
+[i] =\85ath[i], i++) {
+
+113 ià(
+i
+ =ð\17(
+ss
+) - 1)
+
+116 ià((
+·th
+[
+i
+] == '/') && (i > 0)) {
+
+117 
+ss
+[
+i
+] = '\0';
+
+118 ià(!
+       `gl_mk·th_if_nÙ_exi¡s
+(
+ss
+))
+
+122 
+ss
+[
+i
+] = '\0';
+
+124 \15 
+       `gl_mk·th_if_nÙ_exi¡s
+(
+ss
+);
+
+125 
+       }
+}
+
+127 \12
+       $gl_f\9ee_uÆ\9ak
+ (cڡ \ 5*
+f\9e\92ame
+)
+
+129 \12
+¡©us
+ = 
+       `uƚk
+(
+f\9e\92ame
+);
+
+130 ià(
+¡©us
+ < 0)
+
+134 
+       }
+}
+
+136 \12
+       $gl_f\9ee_size
+(cڡ \ 5*
+f\9e\92ame
+)
+
+138 \19
+¡©
+\9afo
+ = {0,};
+
+139 ià(
+       `¡©
+(
+f\9e\92ame
+, &
+\9afo
+) == 0) {
+
+140 ià(!
+       `S_ISDIR
+(
+\9afo
+.
+¡_mode
+))
+
+141 \15 
+\9afo
+.
+¡_size
+;
+
+145 
+       }
+}
+
+147 \12
+       $gl_f\9ee_rmd\9c
+(cڡ \ 5*
+f\9e\92ame
+)
+
+149 \12
+¡©us
+ = 
+       `rmd\9c
+(
+f\9e\92ame
+);
+
+150 ià(
+¡©us
+ < 0)
+
+154 
+       }
+}
+
+156 
+E\9aa_Li¡
+ *
+       $gl_f\9ee_ls
+(cڡ \ 5*
+d\9c
+)
+
+158 \ 5*
+f
+;
+
+159 
+DIR
+ *
+d\9cp
+ = 
+NULL
+;
+
+160 \19
+d\9c\92t
+ *
+dp
+ = 
+NULL
+;
+
+161 
+E\9aa_Li¡
+ *
+li¡
+ = 
+NULL
+;
+
+162 \19
+d\9c\92t
+\92t_¡ruù
+;
+
+164 
+d\9cp
+ = 
+       `Ý\92d\9c
+(
+d\9c
+);
+
+165 ià(!
+d\9cp
+)
+
+166 \15 
+NULL
+;
+
+168 \1f(
+       `»add\9c_r
+(
+d\9cp
+, &
+\92t_¡ruù
+, &
+dp
+) == 0) && dp) {
+
+169 ià((
+       `¡rcmp
+(
+dp
+->
+d_Çme
+ , ".")) && (strcmp(dp->d_name , ".."))) {
+
+170 
+f
+ = 
+       `¡rdup
+(
+dp
+->
+d_Çme
+);
+
+171 
+li¡
+ = 
+       `e\9aa_li¡_­³nd
+Öi¡ , 
+f
+);
+
+174 
+       `þo£d\9c
+(
+d\9cp
+);
+
+176 
+li¡
+ = 
+       `e\9aa_li¡_sÜt
+Öi¡, 
+       `e\9aa_li¡_couÁ
+Öi¡), 
+       `EINA_COMPARE_CB
+(
+¡rcÞl
+));
+
+178 \15 
+li¡
+;
+
+179 
+       }
+}
+
+181 \12
+       $gl_f\9ee_»cursive_rm
+(cڡ \ 5*
+d\9c
+)
+
+183 \ 5
+buf
+[
+PATH_MAX
+] = {0,};
+
+184 \19
+d\9c\92t
+ *
+dp
+ = 
+NULL
+;
+
+185 
+DIR
+ *
+d\9cp
+ = 
+NULL
+;
+
+186 \19
+d\9c\92t
+\92t_¡ruù
+;
+
+188 ià(
+       `»adl\9ak
+(
+d\9c
+, 
+buf
+, \17(buf)) > 0) {
+
+189 \15 
+       `gl_f\9ee_uÆ\9ak
+(
+d\9c
+);
+
+192 \12
+»t
+ = 
+       `gl_f\9ee_is_d\9c
+(
+d\9c
+);
+
+193 ià(
+»t
+) {
+
+194 
+»t
+ = 1;
+
+195 
+d\9cp
+ = 
+       `Ý\92d\9c
+(
+d\9c
+);
+
+196 ià(
+d\9cp
+) {
+
+197 \1f(
+       `»add\9c_r
+(
+d\9cp
+, &
+\92t_¡ruù
+, &
+dp
+) == 0)
+
+198 && 
+dp
+) {
+
+199 ià((
+       `¡rcmp
+(
+dp
+->
+d_Çme
+ , ".")) && (strcmp(dp->d_name, ".."))) {
+
+200 ià(!
+       `gl_f\9ee_»cursive_rm
+(
+dp
+->
+d_Çme
+))
+
+201 
+»t
+ = 0;
+
+204 
+       `þo£d\9c
+(
+d\9cp
+);
+
+207 ià(!
+       `gl_f\9ee_rmd\9c
+(
+d\9c
+))
+
+208 
+»t
+ = 0;
+
+210 \15 
+»t
+;
+
+212 \15 
+       `gl_f\9ee_uÆ\9ak
+(
+d\9c
+);
+
+214 
+       }
+}
+
+216 \12
+       $gl_f\9ee_ý
+(cڡ \ 5*
+¤c
+,cڡ \ 5*
+d¡
+)
+
+218 
+FILE
+ *
+f1
+ = 
+NULL
+;
+
+219 
+FILE
+ *
+f2
+ = 
+NULL
+;
+
+220 \ 5
+buf
+[16384] = {0,};
+
+221 \ 5
+»®·th1
+[256] = {0,};
+
+222 \ 5
+»®·th2
+[256] = {0,};
+
+223 
+size_t
+num
+;
+
+224 \12
+»t
+ = 1;
+
+226 ià(!
+       `»®·th
+(
+¤c
+, 
+»®·th1
+))
+
+229 ià(
+       `»®·th
+(
+d¡
+, 
+»®·th2
+è&& !
+       `¡rcmp
+(
+»®·th1
+,\84ealpath2))
+
+232 
+f1
+ = 
+       `fݒ
+(
+¤c
+, "rb");
+
+233 ià(!
+f1
+)
+
+236 
+f2
+ = 
+       `fݒ
+(
+d¡
+, "wb");
+
+237 ià(!
+f2
+) {
+
+238 
+       `fþo£
+(
+f1
+);
+
+242 \1f(
+num
+ = 
+       `ä\97d
+(
+buf
+, 1, \17(buf), 
+f1
+)) > 0) {
+
+243 ià(
+       `fwr\99e
+(
+buf
+, 1, 
+num
+, 
+f2
+) !=\82um)
+
+244 
+»t
+ = 0;
+
+247 
+       `fþo£
+(
+f1
+);
+
+248 
+       `fþo£
+(
+f2
+);
+
+250 \15 
+»t
+;
+
+251 
+       }
+}
+
+253 \12
+       $gl_f\9ee_mv
+(cڡ \ 5*
+¤c
+, cڡ \ 5*
+d¡
+)
+
+255 \19
+¡©
+\9afo
+ = {0,};
+
+256 ià(
+       `¡©
+(
+d¡
+, &
+\9afo
+) == 0)
+
+259 ià(
+       `»Çme
+(
+¤c
+, 
+d¡
+)) {
+
+260 
+       `mem£t
+(&
+\9afo
+, 0x00, \17(\19
+¡©
+));
+
+261 ià(
+       `¡©
+(
+¤c
+, &
+\9afo
+) == 0) {
+
+262 ià(
+       `S_ISREG
+(
+\9afo
+.
+¡_mode
+)) {
+
+263 
+       `gl_f\9ee_ý
+(
+¤c
+, 
+d¡
+);
+
+264 
+       `chmod
+(
+d¡
+, 
+\9afo
+.
+¡_mode
+);
+
+265 
+       `uƚk
+(
+¤c
+);
+
+272 
+       }
+}
+
+       @src/util/gl-fs.c
+
+18 \ 2
+       ~<sys/¡©.h
+>
+
+19 \ 2
+       ~<sys/¡©vfs.h
+>
+
+20 \ 2
+       ~<sys/time.h
+>
+
+21 \ 2
+       ~<\94ºo.h
+>
+
+22 \ 2
+       ~<glib/g´\9atf.h
+>
+
+23 \ 2
+       ~<EËm\92\8fry.h
+>
+
+24 \ 2
+       ~"gl-fs.h
+"
+
+25 \ 2
+       ~"g®Ëry.h
+"
+
+26 \ 2
+       ~"gl-debug.h
+"
+
+27 \ 2
+       ~"gl-th»ad-ut\9e.h
+"
+
+28 \ 2
+       ~"gl-f\9ee-ut\9e.h
+"
+
+30 \18\12
+       $__gl_fs_ä\93_node
+(
+gl_node_\9afo_s
+ *
+²ode
+)
+
+32 
+       `GL_CHECK_VAL
+(
+²ode
+, -1);
+
+33 ià(
+²ode
+->
+·th
+) {
+
+34 
+       `g_ä\93
+(
+²ode
+->
+·th
+);
+
+35 
+²ode
+->
+·th
+ = 
+NULL
+;
+
+37 ià(
+²ode
+->
+Çme
+) {
+
+38 
+       `g_ä\93
+(
+²ode
+->
+Çme
+);
+
+39 
+²ode
+->
+Çme
+ = 
+NULL
+;
+
+41 
+       `g_ä\93
+(
+²ode
+);
+
+43 
+       }
+}
+
+45 \18\12
+       $__gl_fs_þ\97r_li¡
+(
+E\9aa_Li¡
+ **
+\96
+)
+
+47 
+       `GL_CHECK_VAL
+(
+\96
+, -1);
+
+48 
+gl_node_\9afo_s
+ *
+²ode
+ = 
+NULL
+;
+
+49 ià(*
+\96
+) {
+
+50 
+       `EINA_LIST_FREE
+(*
+\96
+, 
+²ode
+) {
+
+51 
+       `__gl_fs_ä\93_node
+(
+²ode
+);
+
+52 
+²ode
+ = 
+NULL
+;
+
+54 *
+\96
+ = 
+NULL
+;
+
+57 
+       }
+}
+
+60 \18\12
+       $__gl_fs_com·»
+(cڡ \1e*
+d©a1
+, cڡ \1e*
+d©a2
+)
+
+62 
+gl_node_\9afo_s
+ *
+²ode1
+ = (gl_node_\9afo_ *)
+d©a1
+;
+
+63 
+gl_node_\9afo_s
+ *
+²ode2
+ = (gl_node_\9afo_ *)
+d©a2
+;
+
+65 \12
+»suÉ
+ = -(
+²ode1
+->
+mtime
+ - 
+²ode2
+->mtime);
+
+66 
+       `gl_dbg
+("mtime1[%d], mtime2[%d],\84esuÉ[%d]", 
+²ode1
+->
+mtime
+,
+
+67 
+²ode2
+->
+mtime
+, 
+»suÉ
+);
+
+68 \15 
+»suÉ
+;
+
+69 
+       }
+}
+
+71 \18\12
+       $__gl_fs_»ad_d\9c
+(\ 5*
+·th
+, 
+E\9aa_Li¡
+ **
+d\9c_li¡
+,
+
+72 
+E\9aa_Li¡
+ **
+f\9ee_li¡
+)
+
+74 
+       `GL_CHECK_VAL
+(
+f\9ee_li¡
+, -1);
+
+75 
+       `GL_CHECK_VAL
+(
+d\9c_li¡
+, -1);
+
+76 
+       `GL_CHECK_VAL
+(
+·th
+, -1);
+
+78 
+DIR
+ *
+pd\9c
+ = 
+NULL
+;
+
+79 \19
+d\9c\92t
+ *
+\92t
+ = 
+NULL
+;
+
+80 \19
+d\9c\92t
+\92t_¡ruù
+;
+
+81 \12
+couÁ
+ = 0;
+
+82 \ 5*
+ch\9ed·th
+ = 
+NULL
+;
+
+83 \12
+ý_Ën
+ = 0;
+
+84 
+gl_node_\9afo_s
+ *
+²ode
+ = 
+NULL
+;
+
+85 \12
+cݛdnum
+ = 0;
+
+87 
+pd\9c
+ = 
+       `Ý\92d\9c
+(
+·th
+);
+
+88 
+       `GL_CHECK_VAL
+(
+pd\9c
+, -1);
+
+90 \1f(
+       `»add\9c_r
+(
+pd\9c
+, &
+\92t_¡ruù
+, &
+\92t
+) == 0) &&\83nt) {
+
+91 ià(
+       `g_¡rcmp0
+(
+\92t
+->
+d_Çme
+, ".") == 0 ||
+
+92 
+       `g_¡rcmp0
+(
+\92t
+->
+d_Çme
+, "..") == 0) {
+
+96 ià((
+\92t
+->
+d_ty³
+ & 
+DT_DIR
+è=ð0 && (\92t->d_ty³ & 
+DT_REG
+) == 0)
+
+100 
+ý_Ën
+ = 
+       `¡¾\92
+(
+·th
+è+ 1 + s\8cËn(
+\92t
+->
+d_Çme
+) + 1;
+
+101 
+ch\9ed·th
+ = 
+       `g_Ãw0
+(\ 5
+ý_Ën
+);
+
+102 ià(
+ch\9ed·th
+ =ð
+NULL
+)
+
+105 
+cݛdnum
+ = 
+       `g_¢´\9atf
+(
+ch\9ed·th
+, 
+ý_Ën
+, "%s/%s", 
+·th
+,
+
+106 
+\92t
+->
+d_Çme
+);
+
+107 ià(
+cݛdnum
+ < 0) {
+
+108 
+       `g_ä\93
+(
+ch\9ed·th
+);
+
+109 
+ch\9ed·th
+ = 
+NULL
+;
+
+113 
+²ode
+ = 
+       `g_Ãw0
+(
+gl_node_\9afo_s
+, 1);
+
+114 ià(
+²ode
+ =ð
+NULL
+) {
+
+115 
+       `g_ä\93
+(
+ch\9ed·th
+);
+
+116 
+ch\9ed·th
+ = 
+NULL
+;
+
+120 
+²ode
+->
+·th
+ = 
+       `g_¡rdup
+(path);
+
+122 
+²ode
+->
+Çme
+ = 
+       `g_¡rdup
+(
+\92t
+->
+d_Çme
+);
+
+124 ià(
+       `_gl_fs_g\91_f\9ee_¡©
+(
+ch\9ed·th
+, &
+²ode
+) < 0) {
+
+125 
+       `g_ä\93
+(
+²ode
+);
+
+126 
+²ode
+ = 
+NULL
+;
+
+127 
+       `g_ä\93
+(
+ch\9ed·th
+);
+
+128 
+ch\9ed·th
+ = 
+NULL
+;
+
+131 
+       `g_ä\93
+(
+ch\9ed·th
+);
+
+132 
+ch\9ed·th
+ = 
+NULL
+;
+
+134 ià(
+\92t
+->
+d_ty³
+ & 
+DT_DIR
+)
+
+135 *
+d\9c_li¡
+ = 
+       `e\9aa_li¡_­³nd
+(*d\9c_li¡, 
+²ode
+);
+
+137 *
+f\9ee_li¡
+ = 
+       `e\9aa_li¡_­³nd
+(*f\9ee_li¡, 
+²ode
+);
+
+138 
+couÁ
+++;
+
+140 
+       `þo£d\9c
+(
+pd\9c
+);
+
+143 
+       }
+}
+
+145 \18\12
+       $__gl_fs_g\91_f\9ee_li¡
+(
+GS\8c\9ag
+ *
+fÞd\94_Çme
+, 
+E\9aa_Li¡
+ **
+d\9c_li¡
+,
+
+146 
+E\9aa_Li¡
+ **
+f\9ee_li¡
+)
+
+148 
+       `GL_CHECK_VAL
+(
+fÞd\94_Çme
+, -1);
+
+149 
+       `GL_CHECK_VAL
+(
+fÞd\94_Çme
+->
+¡r
+, -1);
+
+150 
+       `GL_CHECK_VAL
+(
+fÞd\94_Çme
+->
+Ën
+, -1);
+
+151 \15 
+       `__gl_fs_»ad_d\9c
+(
+fÞd\94_Çme
+->
+¡r
+, 
+d\9c_li¡
+, 
+f\9ee_li¡
+);
+
+152 
+       }
+}
+
+155 \18\1d\13\13
+       $__gl_fs_sÜt_fÞd\94s_by_mtime
+(\ 5*
+·th
+,
+
+156 
+E\9aa_Li¡
+ **
+sÜ\8bd_li¡
+)
+
+158 ià(!
+       `gl_f\9ee_is_d\9c
+(
+·th
+)) {
+
+159 
+       `gl_dbgE
+("Not\87 directory!");
+
+163 \1d\13\13
+size
+ = 0;
+
+164 \1d\13\13
+sub_size
+ = 0;
+
+165 
+GS\8c\9ag
+ *
+fuηth
+ = 
+       `g_¡r\9ag_Ãw
+(
+·th
+);
+
+166 
+E\9aa_Li¡
+ *
+d\9c_li¡
+ = 
+NULL
+;
+
+167 
+E\9aa_Li¡
+ *
+f\9ee_li¡
+ = 
+NULL
+;
+
+168 \12
+\94rÜ_code
+ = 0;
+
+169 
+\94rÜ_code
+ = 
+       `__gl_fs_g\91_f\9ee_li¡
+(
+fuηth
+, &
+d\9c_li¡
+, &
+f\9ee_li¡
+);
+
+171 ià(
+\94rÜ_code
+ == 0) {
+
+172 \12
+i
+ = 0;
+
+173 \12
+d\9c_út
+ = 
+       `e\9aa_li¡_couÁ
+(
+d\9c_li¡
+);
+
+174 \12
+f\9ee_út
+ = 
+       `e\9aa_li¡_couÁ
+(
+f\9ee_li¡
+);
+
+175 
+gl_node_\9afo_s
+ *
+²ode
+ = 
+NULL
+;
+
+176 \ f
+i
+ = 0; i < 
+f\9ee_út
+; i++) {
+
+177 
+²ode
+ = (
+gl_node_\9afo_s
+ *)
+       `e\9aa_li¡_Áh
+(
+f\9ee_li¡
+, 
+i
+);
+
+178 ià(
+²ode
+ =ð
+NULL
+) {
+
+179 
+       `gl_dbgE
+("Invalid\82ode!");
+
+182 
+size
+ +ð
+²ode
+->size;
+
+183 
+²ode
+ = 
+NULL
+;
+
+185 
+       `gl_dbg
+("f\9ee_út[%d], size[%Îu]", 
+f\9ee_út
+, 
+size
+);
+
+187 
+i
+ = 0;
+
+188 
+²ode
+ = 
+NULL
+;
+
+189 \ 5*
+sub_fÞd\94
+ = 
+NULL
+;
+
+190 
+       `gl_dbg
+("d\9c_út[%d]", 
+d\9c_út
+);
+
+191 \ f
+i
+ = 0; i < 
+d\9c_út
+; i++) {
+
+192 
+²ode
+ = (
+gl_node_\9afo_s
+ *)
+       `e\9aa_li¡_Áh
+(
+d\9c_li¡
+, 
+i
+);
+
+193 ià(
+²ode
+ =ð
+NULL
+) {
+
+194 
+       `gl_dbgE
+("Invalid\82ode!");
+
+197 
+sub_fÞd\94
+ = 
+       `g_¡rcÚÿt
+(
+²ode
+->
+·th
+, "/",\85node->
+Çme
+,
+
+198 
+NULL
+);
+
+199 ià(
+sub_fÞd\94
+) {
+
+200 
+       `gl_sdbg
+("sub_fÞd\94[%s]", 
+²ode
+->
+Çme
+);
+
+201 
+sub_size
+ = 
+       `__gl_fs_sÜt_fÞd\94s_by_mtime
+(
+sub_fÞd\94
+,
+
+202 
+sÜ\8bd_li¡
+);
+
+203 
+²ode
+->
+size
+ = 
+sub_size
+;
+
+204 
+size
+ +ð
+sub_size
+;
+
+205 
+       `gl_dbg
+("mtime[%d]", 
+²ode
+->
+mtime
+);
+
+206 *
+sÜ\8bd_li¡
+ = 
+       `e\9aa_li¡_sÜ\8bd_\9a£¹
+(*sorted_list,
+
+207 
+__gl_fs_com·»
+,
+
+208 
+²ode
+);
+
+209 
+       `g_ä\93
+(
+sub_fÞd\94
+);
+
+210 
+sub_fÞd\94
+ = 
+NULL
+;
+
+212 
+       `gl_dbgE
+("Invalid sub folder!");
+
+214 
+²ode
+ = 
+NULL
+;
+
+218 ià(
+fuηth
+) {
+
+219 
+       `g_¡r\9ag_ä\93
+(
+fuηth
+, 
+\8cue
+);
+
+220 
+fuηth
+ = 
+NULL
+;
+
+223 ià(
+f\9ee_li¡
+)
+
+224 
+       `__gl_fs_þ\97r_li¡
+(&
+f\9ee_li¡
+);
+
+226 ià(
+d\9c_li¡
+) {
+
+227 
+       `e\9aa_li¡_ä\93
+(
+d\9c_li¡
+);
+
+228 
+d\9c_li¡
+ = 
+NULL
+;
+
+231 \15 
+size
+;
+
+232 
+       }
+}
+
+234 \1d\13\13
+       $gl_fs_g\91\93_¥aû
+(\12
+¡©e
+)
+
+236 \19
+¡©vfs
+\9afo
+;
+
+237 \ 5*
+·th
+ = 
+NULL
+;
+
+239 ià(
+¡©e
+ =ð
+GL_STORE_T_PHONE
+)
+
+240 
+·th
+ = 
+GL_ROOT_PATH_PHONE
+;
+
+241 \vià(
+¡©e
+ =ð
+GL_STORE_T_MMC
+)
+
+242 
+·th
+ = 
+GL_ROOT_PATH_MMC
+;
+
+246 ià(-1 =ð
+       `¡©vfs
+(
+·th
+, &
+\9afo
+))
+
+249 \15 ((\1d\13\13)(
+\9afo
+.
+f_bsize
+)è* ((\1d\13\13)(\9afo.
+f_bava\9e
+));
+
+250 
+       }
+}
+
+253 
+E\9aa_BoÞ
+       $__gl_fs_ý_f\9ee
+(\1e*
+d©a
+, cڡ \ 5*
+¤c
+, cڡ \ 5*
+d¡
+)
+
+255 \ 1
+       #PATH_MAX
+ 4096
+
+       )
+
+256 \ 1
+       #BUF_MAX
+ 16384
+
+       )
+
+257 
+FILE
+ *
+f1
+ = 
+NULL
+;
+
+258 
+FILE
+ *
+f2
+ = 
+NULL
+;
+
+259 \ 5
+buf
+[
+BUF_MAX
+] = { 0, };
+
+260 \ 5
+»®·th1
+[
+PATH_MAX
+] = { 0, };
+
+261 \ 5
+»®·th2
+[
+PATH_MAX
+] = { 0, };
+
+262 
+size_t
+num
+ = 0;
+
+263 
+E\9aa_BoÞ
+»t
+ = 
+EINA_TRUE
+;
+
+265 ià(!
+       `»®·th
+(
+¤c
+, 
+»®·th1
+))
+
+266 \15 
+EINA_FALSE
+;
+
+267 ià(
+       `»®·th
+(
+d¡
+, 
+»®·th2
+è&& !
+       `g_¡rcmp0
+(
+»®·th1
+,\84ealpath2))
+
+268 \15 
+EINA_FALSE
+;
+
+270 
+f1
+ = 
+       `fݒ
+(
+¤c
+, "rb");
+
+271 ià(!
+f1
+)
+
+272 \15 
+EINA_FALSE
+;
+
+273 
+f2
+ = 
+       `fݒ
+(
+d¡
+, "wb");
+
+274 ià(!
+f2
+) {
+
+275 
+       `fþo£
+(
+f1
+);
+
+276 \15 
+EINA_FALSE
+;
+
+278 \1f(
+num
+ = 
+       `ä\97d
+(
+buf
+, 1, \17(buf), 
+f1
+)) > 0) {
+
+279 \12
+pb¬_ÿnûl
+ = 
+çl£
+;
+
+280 
+       `gl_th»ad_g\91_ÿnûl_¡©e
+(
+d©a
+, &
+pb¬_ÿnûl
+);
+
+281 ià(
+pb¬_ÿnûl
+ > 
+GL_PB_CANCEL_NORMAL
+) {
+
+282 
+       `gl_dbgW
+("CªûÎed[%d]!", 
+pb¬_ÿnûl
+);
+
+283 
+       `fþo£
+(
+f1
+);
+
+284 
+       `fþo£
+(
+f2
+);
+
+285 
+       `gl_f\9ee_uÆ\9ak
+(
+d¡
+);
+
+286 \15 
+EINA_FALSE
+;
+
+288 ià(
+       `fwr\99e
+(
+buf
+, 1, 
+num
+, 
+f2
+) !=\82um)
+
+289 
+»t
+ = 
+EINA_FALSE
+;
+
+291 
+       `fþo£
+(
+f1
+);
+
+292 
+       `fþo£
+(
+f2
+);
+
+293 \15 
+»t
+;
+
+294 
+       }
+}
+
+297 \12
+       $_gl_fs_upd©e_f\9ee_mtime
+(cڡ \ 5*
+·th
+)
+
+299 
+       `GL_CHECK_VAL
+(
+·th
+, -1);
+
+300 \19
+timev®
+tv
+;
+
+301 
+       `g\91timeofday
+(&
+tv
+, 
+NULL
+);
+
+302 \19
+timev®
+times
+[2] = { {0, 0}, {0, 0} };
+
+303 
+times
+[0].
+tv_£c
+ = 
+tv
+.tv_sec;
+
+304 
+times
+[0].
+tv_u£c
+ = 
+tv
+.tv_usec;
+
+305 
+times
+[1].
+tv_£c
+ = 
+tv
+.tv_sec;
+
+306 
+times
+[1].
+tv_u£c
+ = 
+tv
+.tv_usec;
+
+307 ià(
+       `utimes
+(
+·th
+, 
+times
+) < 0) {
+
+308 
+       `gl_dbgE
+("utimes failed!");
+
+312 
+       }
+}
+
+315 \12
+       $_gl_fs_g\91_f\9ee_¡©
+(cڡ \ 5*
+f\9e\92ame
+, 
+gl_node_\9afo_s
+ **
+node
+)
+
+317 \19
+¡©
+¡©buf
+;
+
+318 
+       `GL_CHECK_VAL
+(
+node
+, -1);
+
+319 
+       `GL_CHECK_VAL
+(*
+node
+, -1);
+
+320 
+       `GL_CHECK_VAL
+(
+f\9e\92ame
+, -1);
+
+322 ià(
+       `¡©
+(
+f\9e\92ame
+, &
+¡©buf
+) == -1)
+
+326 (*
+node
+)->
+size
+ = 
+¡©buf
+.
+¡_size
+;
+
+327 (*
+node
+)->
+mtime
+ = 
+¡©buf
+.
+¡_mtime
+;
+
+329 
+       }
+}
+
+331 \1d\13\13
+       $_gl_fs_g\91_fÞd\94_size
+(\ 5*
+·th
+)
+
+333 ià(!
+       `gl_f\9ee_is_d\9c
+(
+·th
+)) {
+
+334 
+       `gl_dbgE
+("Not\87 directory!");
+
+338 \1d\13\13
+size
+ = 0;
+
+339 \1d\13\13
+sub_size
+ = 0;
+
+340 
+GS\8c\9ag
+ *
+fuηth
+ = 
+       `g_¡r\9ag_Ãw
+(
+·th
+);
+
+341 
+E\9aa_Li¡
+ *
+f\9ee_li¡
+ = 
+NULL
+;
+
+342 
+E\9aa_Li¡
+ *
+d\9c_li¡
+ = 
+NULL
+;
+
+343 \12
+\94rÜ_code
+ = 0;
+
+344 
+\94rÜ_code
+ = 
+       `__gl_fs_g\91_f\9ee_li¡
+(
+fuηth
+, &
+d\9c_li¡
+, &
+f\9ee_li¡
+);
+
+346 ià(
+\94rÜ_code
+ == 0) {
+
+347 \12
+i
+ = 0;
+
+348 \12
+d\9c_út
+ = 
+       `e\9aa_li¡_couÁ
+(
+d\9c_li¡
+);
+
+349 \12
+f\9ee_út
+ = 
+       `e\9aa_li¡_couÁ
+(
+f\9ee_li¡
+);
+
+350 
+gl_node_\9afo_s
+ *
+²ode
+ = 
+NULL
+;
+
+351 \ f
+i
+ = 0; i < 
+f\9ee_út
+; i++) {
+
+352 
+²ode
+ = (
+gl_node_\9afo_s
+ *)
+       `e\9aa_li¡_Áh
+(
+f\9ee_li¡
+, 
+i
+);
+
+353 ià(
+²ode
+ =ð
+NULL
+) {
+
+354 
+       `gl_dbgE
+("Invalid\82ode!");
+
+357 
+size
+ +ð
+²ode
+->size;
+
+358 
+²ode
+ = 
+NULL
+;
+
+360 
+       `gl_dbg
+("f\9ee_út[%d], size[%Îu]", 
+f\9ee_út
+, 
+size
+);
+
+362 
+       `gl_dbg
+("d\9c_út[%d]", 
+d\9c_út
+);
+
+363 
+i
+ = 0;
+
+364 
+²ode
+ = 
+NULL
+;
+
+365 \ 5*
+sub_fÞd\94
+ = 
+NULL
+;
+
+366 \ f
+i
+ = 0; i < 
+d\9c_út
+; i++) {
+
+367 
+²ode
+ = (
+gl_node_\9afo_s
+ *)
+       `e\9aa_li¡_Áh
+(
+d\9c_li¡
+, 
+i
+);
+
+368 ià(
+²ode
+ =ð
+NULL
+) {
+
+369 
+       `gl_dbgE
+("Invalid\82ode!");
+
+372 
+sub_fÞd\94
+ = 
+       `g_¡rcÚÿt
+(
+²ode
+->
+·th
+, "/",\85node->
+Çme
+,
+
+373 
+NULL
+);
+
+374 ià(
+sub_fÞd\94
+) {
+
+375 
+       `gl_sdbg
+("sub_fÞd\94[%s]", 
+²ode
+->
+Çme
+);
+
+376 
+sub_size
+ = 
+       `_gl_fs_g\91_fÞd\94_size
+(
+sub_fÞd\94
+);
+
+377 
+²ode
+->
+size
+ = 
+sub_size
+;
+
+378 
+size
+ +ð
+sub_size
+;
+
+379 
+       `gl_dbg
+("mtime[%d]", 
+²ode
+->
+mtime
+);
+
+380 
+       `g_ä\93
+(
+sub_fÞd\94
+);
+
+381 
+sub_fÞd\94
+ = 
+NULL
+;
+
+383 
+       `gl_dbgE
+("Invalid sub folder!");
+
+385 
+²ode
+ = 
+NULL
+;
+
+389 ià(
+fuηth
+) {
+
+390 
+       `g_¡r\9ag_ä\93
+(
+fuηth
+, 
+\8cue
+);
+
+391 
+fuηth
+ = 
+NULL
+;
+
+394 ià(
+f\9ee_li¡
+)
+
+395 
+       `__gl_fs_þ\97r_li¡
+(&
+f\9ee_li¡
+);
+
+397 ià(
+d\9c_li¡
+)
+
+398 
+       `__gl_fs_þ\97r_li¡
+(&
+d\9c_li¡
+);
+
+399 \15 
+size
+;
+
+400 
+       }
+}
+
+402 \12
+       $_gl_fs_rm_fÞd\94
+(\ 5*
+·th
+, \13\13
+cut_size
+, \13\13
+max_size
+,
+
+403 \1d\12
+exp\9ced_time
+)
+
+405 
+       `GL_CHECK_VAL
+(
+·th
+, -1);
+
+406 
+gl_node_\9afo_s
+ *
+²ode
+ = 
+NULL
+;
+
+407 
+E\9aa_Li¡
+ *
+d\9c_li¡
+ = 
+NULL
+;
+
+408 
+E\9aa_Li¡
+ *
+l
+ = 
+NULL
+;
+
+409 \1d\13\13
+size
+ = 0;
+
+410 
+       `gl_dbg
+("Siz\90cut/max[%Îd/%Îd]", 
+cut_size
+, 
+max_size
+);
+
+412 
+size
+ = 
+       `__gl_fs_sÜt_fÞd\94s_by_mtime
+(
+·th
+, &
+d\9c_li¡
+);
+
+413 
+       `GL_CHECK_VAL
+(
+d\9c_li¡
+, -1);
+
+415 \ 5*
+fÞd\94
+ = 
+NULL
+;
+
+416 \1d\13\13
+_cut_size
+ = 0;
+
+417 ià(
+size
+ > 
+max_size
+)
+
+418 
+_cut_size
+ = 
+size
+ - 
+max_size
+ + 
+cut_size
+;
+
+419 \vià(
+size
+ + 
+cut_size
+ > 
+max_size
+)
+
+420 
+_cut_size
+ = 
+cut_size
+;
+
+421 
+       `gl_dbg
+("Siz\90cut/tÙ®[%Îu/%Îu]", 
+_cut_size
+, 
+size
+);
+
+423 \1d\12
+cu¼\92t_t
+ = 0;
+
+424 \19
+timev®
+tv
+;
+
+425 
+       `g\91timeofday
+(&
+tv
+, 
+NULL
+);
+
+426 
+cu¼\92t_t
+ = 
+tv
+.
+tv_£c
+ +\81v.
+tv_u£c
+ / 
+GL_TIME_USEC_PER_SEC
+;
+
+427 
+       `gl_dbg
+("cu¼\92\88time[%d],\83xp\9ced\81ime[%d]", 
+cu¼\92t_t
+, 
+exp\9ced_time
+);
+
+428 \1d\13\13
+rm_size
+ = 0;
+
+430 
+       `EINA_LIST_FOREACH
+(
+d\9c_li¡
+, 
+l
+, 
+²ode
+) {
+
+431 ià(
+²ode
+ =ð
+NULL
+ ||\85node->
+·th
+ =ðNULL ||\85node->
+Çme
+ == NULL)
+
+435 
+fÞd\94
+ = 
+       `g_¡rcÚÿt
+(
+²ode
+->
+·th
+, "/",\85node->
+Çme
+, 
+NULL
+);
+
+436 ià(
+fÞd\94
+ =ð
+NULL
+)
+
+439 
+       `gl_sdbg
+("mtime[%d],\85©h[%s]", 
+²ode
+->
+mtime
+, 
+fÞd\94
+);
+
+440 ià(
+²ode
+->
+mtime
+ + 
+exp\9ced_time
+ < 
+cu¼\92t_t
+) {
+
+442 
+       `gl_dbgW
+("Remove!");
+
+443 
+       `gl_f\9ee_»cursive_rm
+(
+fÞd\94
+);
+
+444 
+       `g_ä\93
+(
+fÞd\94
+);
+
+445 
+fÞd\94
+ = 
+NULL
+;
+
+446 
+rm_size
+ +ð
+²ode
+->
+size
+;
+
+448 } \vià(
+_cut_size
+ =ð0 || 
+rm_size
+ >= _cut_size) {
+
+449 
+       `gl_dbgW
+("Done!");
+
+454 
+       `gl_f\9ee_»cursive_rm
+(
+fÞd\94
+);
+
+455 
+       `g_ä\93
+(
+fÞd\94
+);
+
+456 
+fÞd\94
+ = 
+NULL
+;
+
+458 
+       `gl_dbg
+("size[cut/d\9c]=%Îu/%Îu", 
+_cut_size
+, 
+²ode
+->
+size
+);
+
+459 ià(
+²ode
+->
+size
+ >ð
+_cut_size
+) {
+
+460 
+       `gl_dbgW
+("Done!");
+
+464 
+²ode
+ = 
+NULL
+;
+
+466 
+       `__gl_fs_þ\97r_li¡
+(&
+d\9c_li¡
+);
+
+468 
+       }
+}
+
+470 #ifdeà
+_RENAME_ALBUM_SENSITIVE
+
+
+471 
+boÞ
+       $_gl_fs_check_Çme_ÿ£
+(\ 5*
+d\9c
+, \ 5*
+exi¡_Çme
+)
+
+473 
+       `GL_CHECK_FALSE
+(
+d\9c
+);
+
+474 
+       `GL_CHECK_FALSE
+(
+exi¡_Çme
+);
+
+475 
+       `gl_dbg
+("");
+
+477 \ 5
+de¡_d\9c
+[
+GL_DIR_PATH_LEN_MAX
+] = {0};
+
+478 \ 5
+de¡_f\9e\92ame
+[
+GL_FILE_NAME_LEN_MAX
+] = {0};
+
+479 \ 5*
+tmp
+ = 
+NULL
+;
+
+480 
+tmp
+ = 
+       `¡¼chr
+(
+d\9c
+, '/');
+
+481 ià(
+tmp
+) {
+
+482 
+       `g_¡¾ýy
+(
+de¡_f\9e\92ame
+, 
+tmp
+ + 1, 
+GL_FILE_NAME_LEN_MAX
+);
+
+483 
+tmp
+[0] = '\0';
+
+484 
+       `g_¡¾ýy
+(
+de¡_d\9c
+, 
+d\9c
+, 
+GL_DIR_PATH_LEN_MAX
+);
+
+485 
+tmp
+[0] = '/';
+
+487 \15 
+çl£
+;
+
+490 
+boÞ
+»t
+ = 
+çl£
+;
+
+491 
+E\9aa_Li¡
+ *
+Çme_li¡
+ = 
+NULL
+;
+
+492 ià((
+Çme_li¡
+ = 
+       `gl_f\9ee_ls
+(
+de¡_d\9c
+)è=ð
+NULL
+) {
+
+493 
+       `gl_dbgE
+("open dir failed!");
+
+494 \15 
+çl£
+;
+
+496 \ 5*
+d\9c_Çme
+ = 
+NULL
+;
+
+497 
+       `EINA_LIST_FREE
+(
+Çme_li¡
+, 
+d\9c_Çme
+) {
+
+498 ià(
+d\9c_Çme
+ &&
+
+499 
+       `¡rÿ£cmp
+(
+d\9c_Çme
+, 
+de¡_f\9e\92ame
+) == 0) {
+
+500 
+       `gl_dbg
+("Have same\82ame directory");
+
+501 
+»t
+ = 
+\8cue
+;
+
+502 
+       `mem£t
+(
+exi¡_Çme
+, 0x00, 
+GL_ALBUM_NAME_LEN_MAX
+);
+
+503 
+       `g_¡¾ýy
+(
+exi¡_Çme
+, 
+d\9c_Çme
+,
+
+504 
+GL_ALBUM_NAME_LEN_MAX
+);
+
+507 
+       `GL_FREEIF
+(
+d\9c_Çme
+);
+
+510 \15 
+»t
+;
+
+511 
+       }
+}
+
+514 
+boÞ
+       $_gl_fs_is_low_memÜy
+(\1d\13\13
+tٮ_size
+)
+
+516 \1d\13\13
\93_size
+ = 
+       `gl_fs_g\91\93_¥aû
+(
+GL_STORE_T_PHONE
+);
+
+517 ià(
+tٮ_size
+ && 
\93_size
+ <\81otal_size) {
+
+518 
+       `gl_dbgE
+("Low memory: Free(%llu Byte) <\84equired(%llu Byte)!",
+
+519 
\93_size
+, 
+tٮ_size
+);
+
+520 \15 
+\8cue
+;
+
+523 \15 
+çl£
+;
+
+524 
+       }
+}
+
+526 \12
+       $_gl_fs_g\91_f\9ee_ext
+(cڡ \ 5*
+f\9ee_·th
+, \ 5*
+f\9ee_ext
+, \12
+max_Ën
+)
+
+528 \12
+i
+ = 0;
+
+530 \ f
+i
+ = 
+       `¡¾\92
+(
+f\9ee_·th
+); i >= 0; i--) {
+
+531 ià((
+f\9ee_·th
+[
+i
+] =ð'.'è&& (\98
+       `¡¾\92
+(file_path))) {
+
+532 
+       `¡ºýy
+(
+f\9ee_ext
+, &
+f\9ee_·th
+[
+i
+ + 1], 
+max_Ën
+);
+
+537 ià(
+f\9ee_·th
+[
+i
+] == '/') {
+
+543 
+       }
+}
+
+548 
+boÞ
+       $_gl_fs_g\91_·th_w\99hout_ext
+(cڡ \ 5*
+f\9ee_·th
+, \ 5*
+f\9ee_ext
+,
+
+549 \ 5*
+Ãw_·th
+)
+
+551 \12
+i
+ = 0;
+
+552 \ f
+i
+ = 
+       `¡¾\92
+(
+f\9ee_·th
+); i >= 0; i--) {
+
+553 ià((
+f\9ee_·th
+[
+i
+] =ð'.'è&& (\98
+GL_FILE_PATH_LEN_MAX
+)) {
+
+554 
+       `g_¡¾ýy
+(
+f\9ee_ext
+, &
+f\9ee_·th
+[
+i
+ + 1], 
+GL_FILE_EXT_LEN_MAX
+);
+
+555 
+       `g_¡¾ýy
+(
+Ãw_·th
+, 
+f\9ee_·th
+, 
+i
+ + 1);
+
+556 
+Ãw_·th
+[
+i
+] = '\0';
+
+557 
+       `gl_sdbg
+("·th w\99hou\88ex\8bnsiÚ :%s", 
+Ãw_·th
+);
+
+558 \15 
+\8cue
+;
+
+562 ià(
+f\9ee_·th
+[
+i
+] == '/')
+
+563 \15 
+\8cue
+;
+
+565 \15 
+\8cue
+;
+
+566 
+       }
+}
+
+568 
+E\9aa_BoÞ
+       $_gl_fs_cÝy
+(\1e*
+d©a
+, cڡ \ 5*
+¤c
+, cڡ \ 5*
+d¡
+)
+
+570 
+       `GL_CHECK_FALSE
+(
+¤c
+);
+
+571 
+       `GL_CHECK_FALSE
+(
+d¡
+);
+
+572 
+       `GL_CHECK_FALSE
+(
+d©a
+);
+
+574 
+       `gl_sdbg
+("\tSrc: %s", 
+¤c
+);
+
+575 
+       `gl_sdbg
+("\tDe¡: %s", 
+d¡
+);
+
+576 \19
+¡©
+;
+
+582 ià(
+       `¡©
+(
+¤c
+, &
+) < 0) {
+
+583 
+       `gl_dbgE
+("¡© fa\9e[%d]!", 
+\94ºo
+);
+
+584 \15 
+EINA_FALSE
+;
+
+586 ià(
+       `S_ISREG
+(
+.
+¡_mode
+)) {
+
+590 ià(!
+       `__gl_fs_ý_f\9ee
+(
+d©a
+, 
+¤c
+, 
+d¡
+)) {
+
+591 
+       `gl_dbgE
+("CÝy f\9e\90ç\9eed[%d]!", 
+\94ºo
+);
+
+592 \15 
+EINA_FALSE
+;
+
+594 
+       `sync
+();
+
+595 \15 
+EINA_TRUE
+;
+
+597 
+       `gl_dbgE
+("S_ISREG fa\9e[%d]!", 
+\94ºo
+);
+
+598 \15 
+EINA_FALSE
+;
+
+599 
+       }
+}
+
+614 
+E\9aa_BoÞ
+       $_gl_fs_move
+(\1e*
+d©a
+, cڡ \ 5*
+¤c
+, cڡ \ 5*
+d¡
+)
+
+616 
+       `GL_CHECK_FALSE
+(
+¤c
+);
+
+617 
+       `GL_CHECK_FALSE
+(
+d¡
+);
+
+618 
+       `GL_CHECK_FALSE
+(
+d©a
+);
+
+620 
+       `gl_sdbg
+("\tSrc: %s", 
+¤c
+);
+
+621 
+       `gl_sdbg
+("\tDe¡: %s", 
+d¡
+);
+
+625 ià(
+       `»Çme
+(
+¤c
+, 
+d¡
+)) {
+
+630 ià(
+\94ºo
+ =ð
+EXDEV
+) {
+
+634 
+       `gl_dbgW
+("\94ºØðEXDEV(%d): Cross-deviû\86\9ak", 
+\94ºo
+);
+
+635 \19
+¡©
+;
+
+641 ià(
+       `¡©
+(
+¤c
+, &
+) < 0) {
+
+642 
+       `gl_dbgE
+("¡© fa\9e[%d]!", 
+\94ºo
+);
+
+643 \15 
+EINA_FALSE
+;
+
+645 ià(
+       `S_ISREG
+(
+.
+¡_mode
+)) {
+
+649 ià(!
+       `__gl_fs_ý_f\9ee
+(
+d©a
+, 
+¤c
+, 
+d¡
+)) {
+
+650 
+       `gl_dbgE
+("CÝy f\9e\90ç\9eed[%d]!", 
+\94ºo
+);
+
+651 \15 
+EINA_FALSE
+;
+
+658 ià(!
+       `gl_f\9ee_uÆ\9ak
+(
+¤c
+))
+
+659 
+       `gl_dbgE
+("D\96\91\90f\9e\90ç\9eed[%d]!", 
+\94ºo
+);
+
+662 
+       `sync
+();
+
+663 \15 
+EINA_TRUE
+;
+
+665 
+       `gl_dbgE
+("S_ISREG fa\9e[%d]!", 
+\94ºo
+);
+
+666 \15 
+EINA_FALSE
+;
+
+669 
+       `gl_dbgE
+("Fa\9e[%d]!", 
+\94ºo
+);
+
+670 \15 
+EINA_FALSE
+;
+
+673 
+       `sync
+();
+
+674 \15 
+EINA_TRUE
+;
+
+675 
+       }
+}
+
+677 \ 5*
+       $_gl_fs_g\91_unique_fuÎ_·th
+(\ 5*
+f\9ee_·th
+, \ 5*
+ext
+)
+
+679 \ 5*
+f\9ee_Çme
+ = 
+f\9ee_·th
+;
+
+680 \ 5*
+ex\8bnsiÚ
+ = 
+ext
+;
+
+681 \ 5*
+f\9a®_·th
+ = 
+NULL
+;
+
+682 \12
+f\9a®_·th_Ën
+ = 0;
+
+683 \12
+ex\8bnsiÚ_Ën
+ = 0;
+
+684 \12
+suffix_couÁ
+ = 0;
+
+686 cڡ \12
+max_suffix_couÁ
+ = 99999;
+
+688 \12
+suffix_Ën
+ = (\12)
+       `log10
+(
+max_suffix_couÁ
+ + 1) + 1;
+
+690 ià(!
+f\9ee_·th
+)
+
+691 \15 
+NULL
+;
+
+693 
+       `gl_sdbg
+("f\9ee_·th=[%s],\83xt=[%s]", 
+f\9ee_·th
+, 
+ext
+);
+
+695 ià(
+ex\8bnsiÚ
+)
+
+696 
+ex\8bnsiÚ_Ën
+ = 
+       `¡¾\92
+(
+ex\8bnsiÚ
+);
+
+699 
+f\9a®_·th_Ën
+ = 
+       `¡¾\92
+(
+f\9ee_Çme
+è+ 1 + 
+suffix_Ën
+ + 
+ex\8bnsiÚ_Ën
+ + 1;
+
+701 
+f\9a®_·th
+ = (\ 5*)
+       `ÿÎoc
+(1, 
+f\9a®_·th_Ën
+);
+
+702 ià(!
+f\9a®_·th
+) {
+
+703 
+       `gl_dbgE
+("calloc failed!");
+
+704 \15 
+NULL
+;
+
+710 ià(0 =ð
+ex\8bnsiÚ_Ën
+) {
+
+711 ià(
+suffix_couÁ
+ == 0) {
+
+712 
+       `¢´\9atf
+(
+f\9a®_·th
+, 
+f\9a®_·th_Ën
+, "%s",
+
+713 
+f\9ee_Çme
+);
+
+715 
+       `¢´\9atf
+(
+f\9a®_·th
+, 
+f\9a®_·th_Ën
+, "%s_%d",
+
+716 
+f\9ee_Çme
+, 
+suffix_couÁ
+);
+
+719 ià(
+suffix_couÁ
+ == 0) {
+
+720 
+       `¢´\9atf
+(
+f\9a®_·th
+, 
+f\9a®_·th_Ën
+, "%s.%s",
+
+721 
+f\9ee_Çme
+, 
+ex\8bnsiÚ
+);
+
+723 
+       `¢´\9atf
+(
+f\9a®_·th
+, 
+f\9a®_·th_Ën
+, "%s_%d.%s",
+
+724 
+f\9ee_Çme
+, 
+suffix_couÁ
+, 
+ex\8bnsiÚ
+);
+
+728 ià(
+       `gl_f\9ee_exi¡s
+(
+f\9a®_·th
+)) {
+
+729 
+suffix_couÁ
+++;
+
+730 ià(
+suffix_couÁ
+ > 
+max_suffix_couÁ
+) {
+
+731 
+       `gl_dbgE
+("Max suffix count!");
+
+732 
+       `GL_FREE
+(
+f\9a®_·th
+);
+
+735 
+       `mem£t
+(
+f\9a®_·th
+, 0x00, 
+f\9a®_·th_Ën
+);
+
+743 
+       `gl_sdbg
+("Decided\85©h = [%s]", 
+f\9a®_·th
+);
+
+744 \15 
+f\9a®_·th
+;
+
+745 
+       }
+}
+
+747 \ 5*
+       $_gl_fs_g\91_unique_Ãw_®bum_Çme
+(\ 5*
+·»Á_·th
+, \ 5*
+deçuÉ_Çme
+,
+
+748 \ 5**
+Ãw_Çme
+)
+
+750 \ 5*
+f\9a®_·th
+ = 
+NULL
+;
+
+751 \ 5*
+f\9a®_Çme
+ = 
+NULL
+;
+
+752 \12
+f\9a®_·th_Ën
+ = 0;
+
+753 \12
+f\9a®_Çme_Ën
+ = 0;
+
+754 \12
+suffix_couÁ
+ = 0;
+
+756 cڡ \12
+max_suffix_couÁ
+ = 99999;
+
+758 \12
+suffix_Ën
+ = (\12)
+       `log10
+(
+max_suffix_couÁ
+ + 1) + 1;
+
+760 ià(!
+·»Á_·th
+ || !
+deçuÉ_Çme
+ || !
+Ãw_Çme
+)
+
+761 \15 
+NULL
+;
+
+763 
+       `gl_sdbg
+("·»Á_·th=[%s], deçuÉ_Çme=[%s]", 
+·»Á_·th
+, 
+deçuÉ_Çme
+);
+
+766 
+f\9a®_Çme_Ën
+ = 
+       `¡¾\92
+(
+deçuÉ_Çme
+è+ 
+suffix_Ën
+ + 1;
+
+768 
+f\9a®_·th_Ën
+ = 
+       `¡¾\92
+(
+·»Á_·th
+è+ 1 + 
+f\9a®_Çme_Ën
+;
+
+770 
+f\9a®_·th
+ = (\ 5*)
+       `ÿÎoc
+(1, 
+f\9a®_·th_Ën
+);
+
+771 ià(!
+f\9a®_·th
+) {
+
+772 
+       `gl_dbgE
+("calloc failed!");
+
+773 \15 
+NULL
+;
+
+775 
+f\9a®_Çme
+ = (\ 5*)
+       `ÿÎoc
+(1, 
+f\9a®_Çme_Ën
+);
+
+776 ià(!
+f\9a®_Çme
+) {
+
+777 
+       `gl_dbgE
+("calloc failed!");
+
+778 
+       `GL_FREE
+(
+f\9a®_·th
+);
+
+779 \15 
+NULL
+;
+
+783 ià(
+suffix_couÁ
+ == 0) {
+
+784 
+       `¢´\9atf
+(
+f\9a®_Çme
+, 
+f\9a®_Çme_Ën
+, "%s", 
+deçuÉ_Çme
+);
+
+786 
+       `¢´\9atf
+(
+f\9a®_Çme
+, 
+f\9a®_Çme_Ën
+, "%s %d",
+
+787 
+deçuÉ_Çme
+, 
+suffix_couÁ
+);
+
+789 
+       `¢´\9atf
+(
+f\9a®_·th
+, 
+f\9a®_·th_Ën
+, "%s/%s", 
+·»Á_·th
+,
+
+790 
+f\9a®_Çme
+);
+
+797 ià(
+       `gl_f\9ee_d\9c_is_em±y
+(
+f\9a®_·th
+) == 0) {
+
+798 
+suffix_couÁ
+++;
+
+799 ià(
+suffix_couÁ
+ > 
+max_suffix_couÁ
+) {
+
+800 
+       `gl_dbgE
+("Max suffix count!");
+
+801 
+       `GL_FREE
+(
+f\9a®_·th
+);
+
+802 
+       `GL_FREE
+(
+f\9a®_Çme
+);
+
+805 
+       `mem£t
+(
+f\9a®_·th
+, 0x00, 
+f\9a®_·th_Ën
+);
+
+806 
+       `mem£t
+(
+f\9a®_Çme
+, 0x00, 
+f\9a®_Çme_Ën
+);
+
+814 *
+Ãw_Çme
+ = 
+f\9a®_Çme
+;
+
+815 
+       `gl_sdbg
+("Decided\85©h = [%s][%s]", 
+f\9a®_·th
+, 
+f\9a®_Çme
+);
+
+816 \15 
+f\9a®_·th
+;
+
+817 
+       }
+}
+
+819 
+boÞ
+       $_gl_fs_v®id©e_Çme
+(cڡ \ 5*
+Ãw_Çme
+)
+
+821 
+       `GL_CHECK_FALSE
+(
+Ãw_Çme
+);
+
+822 \ 5
+\9av®id_ch¬s
+[] = { '/', '\\', ':', '*', '?', '"', '<', '>', '|', '\0' };
+
+823 \ 5*
+±r
+ = 
+\9av®id_ch¬s
+;
+
+825 ià(
+       `¡ºcmp
+(
+Ãw_Çme
+, ".", 
+       `¡¾\92
+(".")) == 0) {
+
+826 \15 
+çl£
+;
+
+829 
+       `gl_sdbg
+("Ãw\87lbum\82am\90i %s\n", 
+Ãw_Çme
+);
+
+830 \1f*
+±r
+ != '\0') {
+
+831 ià(
+       `¡rchr
+(
+Ãw_Çme
+, (*
+±r
+)è!ð
+NULL
+) {
+
+832 
+       `gl_dbg
+("\9av®id ch¬aù\94 i %c", *
+±r
+);
+
+833 \15 
+çl£
+;
+
+835 ++
+±r
+;
+
+838 \15 
+\8cue
+;
+
+839 
+       }
+}
+
+841 
+boÞ
+       $_gl_fs_v®id©e_ch¬aù\94
+(cڡ \ 5
+Çme_ch¬
+)
+
+843 \ 5
+\9av®id_ch¬s
+[] = { '/', '\\', ':', '*', '?', '"', '<', '>', '|', '\0' };
+
+844 \ 5*
+±r
+ = 
+\9av®id_ch¬s
+;
+
+846 
+       `gl_dbg
+("ch¬aù\94 i %c", 
+Çme_ch¬
+);
+
+847 \1f*
+±r
+ != '\0') {
+
+848 ià(
+Çme_ch¬
+ =ð*
+±r
+) {
+
+849 
+       `gl_dbg
+("\9av®id ch¬aù\94 i %c", *
+±r
+);
+
+850 \15 
+çl£
+;
+
+852 ++
+±r
+;
+
+855 \15 
+\8cue
+;
+
+856 
+       }
+}
+
+858 \12
+       $_gl_fs_g\91_deçuÉ_fÞd\94
+(\ 5*
+·th
+)
+
+860 \12
+Ën
+ = 0;
+
+861 
+       `GL_CHECK_VAL
+(
+·th
+, -1);
+
+863 
+Ën
+ = 
+       `¢´\9atf
+(
+·th
+, 
+GL_DIR_PATH_LEN_MAX
+, "%s",
+
+864 
+GL_ROOT_PATH_PHONE
+);
+
+865 ià(
+Ën
+ < 0) {
+
+866 
+       `gl_dbgE
+("snprintf\84eturns failure!");
+
+869 
+·th
+[
+Ën
+] = '\0';
+
+870 
+Ën
+ = -1;
+
+873 
+Ën
+ = 
+       `g_¡¾ÿt
+(
+·th
+, 
+GL_DEFAULT_PATH_IMAGES
+,
+
+874 
+GL_DIR_PATH_LEN_MAX
+);
+
+875 ià(
+Ën
+ >ð
+GL_DIR_PATH_LEN_MAX
+) {
+
+876 
+       `gl_dbgE
+("¡¾ÿ\88»tuº ç\9eu»(%d)!", 
+Ën
+);
+
+879 
+       `gl_sdbg
+("DeçuÉ image ·th: %s.", 
+·th
+);
+
+882 
+       }
+}
+
+884 
+boÞ
+       $_gl_fs_mkd\9c
+(cڡ \ 5*
+·th
+)
+
+886 
+       `GL_CHECK_FALSE
+(
+·th
+);
+
+887 \19
+¡©
+;
+
+888 ià(
+       `¡©
+(
+·th
+, &
+) < 0) {
+
+889 ià(!
+       `gl_f\9ee_mk·th
+(
+·th
+)) {
+
+890 
+       `gl_sdbgE
+("Fa\9eed\81Ømkd\9c[%s]!", 
+·th
+);
+
+891 \15 
+çl£
+;
+
+894 \15 
+\8cue
+;
+
+895 
+       }
+}
+
+       @src/util/gl-lang.c
+
+18 \ 2
+       ~<sy¡em_£\89\9ags.h
+>
+
+19 \ 2
+       ~"g®Ëry.h
+"
+
+20 \ 2
+       ~"gl-Ïng.h
+"
+
+21 \ 2
+       ~"gl-¡r\9ags.h
+"
+
+22 \ 2
+       ~"gl-ùxpÝup.h
+"
+
+23 \ 2
+       ~"gl-debug.h
+"
+
+24 \ 2
+       ~"gl-ui-ut\9e.h
+"
+
+25 \ 2
+       ~"gl-ut\9e.h
+"
+
+26 \ 2
+       ~"gl-´og»ssb¬.h
+"
+
+27 \ 2
+       ~"gl-cÚ\8cÞb¬.h
+"
+
+28 \ 2
+       ~"gl-nÙify.h
+"
+
+29 \ 2
+       ~"gl-®bums-£l.h
+"
+
+30 \ 2
+       ~"gl-tim\96\9ae.h
+"
+
+31 \ 2
+       ~"gl-®bums-ed\99.h
+"
+
+32 \ 2
+       ~"gl-®bums-»Çme.h
+"
+
+33 \ 2
+       ~"gl-thumbs.h
+"
+
+34 \ 2
+       ~"gl-thumbs-£l.h
+"
+
+35 \ 2
+       ~"gl-thumbs-ed\99.h
+"
+
+36 \ 2
+       ~"gl-nocÚ\8bÁs.h
+"
+
+38 \18\12
+       $__gl_Ïng_upd©e_®bums
+(\1e*
+d©a
+)
+
+40 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+41 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+42 
+       `GL_CHECK_VAL
+(
+ad
+->
+ù¾\9afo
+.
+nf_\99
+, -1);
+
+43 
+       `_gl_ui_chªge_Çvi_t\99Ë
+(
+ad
+->
+ù¾\9afo
+.
+nf_\99
+, 
+GL_STR_ID_ALBUM
+, 
+\8cue
+);
+
+45 
+       }
+}
+
+47 \12
+       $_gl_Ïng_upd©e
+(\1e*
+d©a
+)
+
+49 \ 5*
+loÿË
+ = 
+NULL
+;
+
+50 \12
+»tcode
+ = 
+       `sy¡em_£\89\9ags_g\91_v®ue_¡r\9ag
+(
+SYSTEM_SETTINGS_KEY_LOCALE_LANGUAGE
+, &
+loÿË
+);
+
+52 ià(
+»tcode
+ !ð
+SYSTEM_SETTINGS_ERROR_NONE
+) {
+
+53 
+       `gl_dbgW
+("ç\9eed\81Øg\91\86ªguage[%d]", 
+»tcode
+);
+
+56 ià(
+loÿË
+) {
+
+57 
+       `\96m_Ïnguage_£t
+(
+loÿË
+);
+
+58 
+       `GL_FREE
+(
+loÿË
+);
+
+61 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+62 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+63 \12
+v\9bw_mode
+ = 
+       `gl_g\91_v\9bw_mode
+(
+ad
+);
+
+66 
+       `_gl_ùxpÝup_d\96
+(
+d©a
+);
+
+68 \1a
+v\9bw_mode
+) {
+
+69 \ 4
+GL_VIEW_ALBUMS
+:
+
+70 
+       `__gl_Ïng_upd©e_®bums
+(
+d©a
+);
+
+72 \ 4
+GL_VIEW_ALBUMS_EDIT
+:
+
+73 
+       `_gl_®bums_ed\99_upd©e_Ïng
+(
+d©a
+);
+
+75 \ 4
+GL_VIEW_ALBUMS_RENAME
+:
+
+76 
+       `__gl_Ïng_upd©e_®bums
+(
+d©a
+);
+
+77 
+       `_gl_®bums_ed\99_upd©e_Ïng
+(
+d©a
+);
+
+79 \ 4
+GL_VIEW_ALBUMS_SELECT
+:
+
+80 
+       `__gl_Ïng_upd©e_®bums
+(
+d©a
+);
+
+82 \ 4
+GL_VIEW_TIMELINE
+:
+
+83 
+       `_gl_tim\96\9ae_upd©e_Ïng
+(
+d©a
+);
+
+85 \ 4
+GL_VIEW_THUMBS
+:
+
+86 ià(
+       `_gl_ù¾_g\91_\8fb_mode
+(
+ad
+è=ð
+GL_CTRL_TAB_ALBUMS
+)
+
+87 
+       `__gl_Ïng_upd©e_®bums
+(
+d©a
+);
+
+88 
+       `_gl_thumbs_upd©e_Ïng
+(
+d©a
+);
+
+90 \ 4
+GL_VIEW_THUMBS_EDIT
+:
+
+91 ià(
+       `_gl_ù¾_g\91_\8fb_mode
+(
+ad
+è=ð
+GL_CTRL_TAB_ALBUMS
+)
+
+92 
+       `__gl_Ïng_upd©e_®bums
+(
+d©a
+);
+
+93 
+       `_gl_thumbs_ed\99_upd©e_Ïng
+(
+d©a
+);
+
+95 \ 4
+GL_VIEW_THUMBS_SELECT
+:
+
+96 ià(
+       `_gl_ù¾_g\91_\8fb_mode
+(
+ad
+è=ð
+GL_CTRL_TAB_ALBUMS
+)
+
+97 
+       `__gl_Ïng_upd©e_®bums
+(
+d©a
+);
+
+98 
+       `_gl_thumbs_upd©e_Ïng
+(
+d©a
+);
+
+99 
+       `_gl_thumbs_£l_upd©e_Ïng
+(
+d©a
+);
+
+102 
+       `gl_dbgW
+("Oth\94 v\9bw_mode[%d]", 
+v\9bw_mode
+);
+
+106 
+       }
+}
+
+       @src/util/gl-ta.c
+
+17 #ifdeà
+_ENABLE_TA
+
+
+18 \ 2
+       ~<¡dio.h
+>
+
+19 \ 2
+       ~<m®loc.h
+>
+
+20 \ 2
+       ~<¡r\9ag.h
+>
+
+21 \ 2
+       ~<as£¹.h
+>
+
+22 \ 2
+       ~<time.h
+>
+
+23 \ 2
+       ~<sys/time.h
+>
+
+24 \ 2
+       ~<sys/ut¢ame.h
+>
+
+25 \ 2
+       ~<sys/»sourû.h
+>
+
+26 \ 2
+       ~<uni¡d.h
+>
+
+27 \ 2
+       ~<¡d¬g.h
+>
+
+28 \ 2
+       ~"gl-\8f.h
+"
+
+29 \ 2
+       ~<glib.h
+>
+
+30 \ 2
+       ~"g®Ëry.h
+"
+
+31 \ 2
+       ~"gl-debug.h
+"
+
+33 \ 1
+       #GL_TA_BUF_LEN_MAX
+ 512
+
+       )
+
+34 \ 1
+       #GL_TA_NAME_LEN_EXT
+ 100
+
+       )
+
+35 \ 1
+       #GL_TA_HOST_NAME_LEN_MAX
+ 256
+
+       )
+
+36 \ 1
+       #GL_TA_FORMAT_LEN_MAX
+ 256
+
+       )
+
+40 
+__ä\93_ýs
+(\1e);
+
+42 
+__g\91_ý_\9adex
+(\ 5*
+Çme
+);
+
+44 
+__ä\93_accums
+(\1e);
+
+46 
+__g\91_accum_\9adex
+(\ 5*
+Çme
+);
+
+49 
+gl_\8f_checkpo\9at
+ **
+       ggl_g_ýs
+ = 
+NULL
+;
+
+50 \18\12
+       ggl_g_ý_\9adex
+ = 0;
+
+52 
+gl_\8f_accum_\99em
+ **
+       ggl_g_accums
+ = 
+NULL
+;
+
+53 \18\12
+       ggl_g_accum_\9adex
+ = 0;
+
+54 \18\12
+       ggl_g_accum_lÚge¡_Çme
+ = 0;
+
+55 \18\1d\13
+       ggl_g_accum_f\9c¡_time
+ = 0xFFFFFFFF;
+
+56 \18\12
+       ggl_g_\92abË
+ = 1;
+
+59 
+       $gl_\8f_\9a\99
+(\1e)
+
+61 ià(
+gl_g_accums
+)
+
+64 
+gl_g_ýs
+ = (
+gl_\8f_checkpo\9at
+ **è
+       `m®loc
+(
+GL_TA_MAX_CHECKPOINT
+ * \17(gl_ta_checkpoint *));
+
+65 ià(!
+gl_g_ýs
+)
+
+67 
+       `mem£t
+(
+gl_g_ýs
+, 0x00, 
+GL_TA_MAX_CHECKPOINT
+ * \17(
+gl_\8f_checkpo\9at
+ *));
+
+68 
+gl_g_accums
+ = (
+gl_\8f_accum_\99em
+ **è
+       `m®loc
+(
+GL_TA_MAX_CHECKPOINT
+ * \17(gl_ta_accum_item *));
+
+69 ià(!
+gl_g_accums
+)
+
+71 
+       `mem£t
+(
+gl_g_accums
+, 0x00, 
+GL_TA_MAX_CHECKPOINT
+ * \17(
+gl_\8f_accum_\99em
+ *));
+
+73 
+gl_g_accum_f\9c¡_time
+ = 0xFFFFFFFF;
+
+76 
+       }
+}
+
+79 
+       $gl_\8f_»Ëa£
+(\1e)
+
+81 ià(!
+gl_g_accums
+)
+
+84 
+       `__ä\93_ýs
+();
+
+85 
+       `__ä\93_accums
+();
+
+87 
+gl_g_accum_f\9c¡_time
+ = 0xFFFFFFFF;
+
+90 
+       }
+}
+
+93 
+       $gl_\8f_£t_\92abË
+(\12
+\92abË
+)
+
+95 
+       `gl_dbg
+("GL_TA : s\91t\9ag\83ÇbË\81Ø%d\n", 
+\92abË
+);
+
+96 
+gl_g_\92abË
+ = 
+\92abË
+;
+
+97 
+       }
+}
+
+100 
+       $gl_\8f_g\91_numof_checkpo\9ats
+()
+
+102 \15 
+gl_g_ý_\9adex
+;
+
+103 
+       }
+}
+
+106 
+       $gl_\8f_fmt
+(cڡ \ 5*
+fmt
+, ...)
+
+108 \18\ 5
+\8f_buf
+[
+GL_TA_BUF_LEN_MAX
+] = { 0, };
+
+109 
+va_li¡
+¬gs
+;
+
+111 
+       `va_¡¬t
+(
+¬gs
+, 
+fmt
+);
+
+112 
+       `v¢´\9atf
+(
+\8f_buf
+, 
+GL_TA_BUF_LEN_MAX
+, 
+fmt
+, 
+¬gs
+);
+
+113 
+       `va_\92d
+(
+¬gs
+);
+
+115 \15 
+\8f_buf
+;
+
+116 
+       }
+}
+
+120 
+       $gl_\8f_add_checkpo\9at
+(\ 5*
+Çme
+, \12
+show
+, \ 5*
+f\9e\92ame
+, \12
+l\9ae
+)
+
+122 
+gl_\8f_checkpo\9at
+ *
+ = 
+NULL
+;
+
+123 \19
+timev®
+t
+;
+
+125 ià(!
+gl_g_\92abË
+)
+
+128 ià(!
+gl_g_accums
+)
+
+131 ià(
+gl_g_ý_\9adex
+ =ð
+GL_TA_MAX_CHECKPOINT
+)
+
+134 ià(!
+Çme
+)
+
+137 ià(
+       `¡¾\92
+(
+Çme
+) == 0)
+
+140 
+ = (
+gl_\8f_checkpo\9at
+ *è
+       `m®loc
+(\17(gl_ta_checkpoint));
+
+141 ià(!
+)
+
+143 
+       `mem£t
+(
+, 0x00, \17(
+gl_\8f_checkpo\9at
+));
+
+144 
+->
+Çme
+ = (\ 5*)
+       `m®loc
+(
+       `¡¾\92
+(name) + 1);
+
+145 ià(!
+->
+Çme
+)
+
+147 
+       `ä\93
+(
+);
+
+150 
+       `mem£t
+(
+->
+Çme
+, 0x00, (
+       `¡¾\92
+(name) + 1));
+
+151 
+       `g_¡¾ýy
+(
+->
+Çme
+,\82ame, 
+       `¡¾\92
+(cp->name));
+
+152 ià(
+show
+)
+
+153 
+       `gl_sdbg
+("[CHECK-POINT] %s...(%s:%d)\n", 
+Çme
+, 
+f\9e\92ame
+, 
+l\9ae
+);
+
+155 
+       `mem£t
+(&
+t
+,0x00,\17(\19
+timev®
+));
+
+156 
+       `g\91timeofday
+(&
+t
+, 
+NULL
+);
+
+157 
+->
+time¡amp
+ = 
+t
+.
+tv_£c
+ * 
+GL_TIME_USEC_PER_SEC
+ +\81.
+tv_u£c
+;
+
+158 #ifdeà
+GL_TA_UNIT_MSEC
+
+
+159 
+->
+time¡amp
+ = (ý->time¡am°>ð
+GL_TIME_MSEC_PER_SEC
+) ? cp->timestamp / GL_TIME_MSEC_PER_SEC : 0;
+
+162 
+gl_g_ýs
+[
+gl_g_ý_\9adex
+] = 
+;
+
+164 
+gl_g_ý_\9adex
+++;
+
+167 
+       }
+}
+
+170 
+       $gl_\8f_show_checkpo\9ats
+(\1e)
+
+172 \12
+i
+ = 0;
+
+174 ià(!
+gl_g_accums
+)
+
+177 
+       `gl_dbg
+("BEGIN RESULT ============================\n");
+
+178 \ f
+i
+ = 0; i < 
+gl_g_ý_\9adex
+; i++)
+
+180 
+       `gl_sdbg
+("[%d] % : %ld us.\n", 
+i
+, 
+gl_g_ýs
+[i]->
+Çme
+, gl_g_ýs[i]->
+time¡amp
+);
+
+182 
+       `gl_dbg
+("END RESULT ============================\n");
+
+183 
+       }
+}
+
+186 
+       $gl_\8f_show_diff
+(\ 5*
+Çme1
+, \ 5*
+Çme2
+)
+
+188 ià(!
+gl_g_accums
+)
+
+192 
+       `gl_sdbg
+("Tim\90\8fke äom [%s]\81Ø[%s] : %ld us.\n", 
+Çme1
+, 
+Çme2
+, 
+       `gl_\8f_g\91_diff
+(name1,\82ame2));
+
+193 
+       }
+}
+
+196 
+       $gl_\8f_g\91_diff
+(\ 5*
+Çme1
+, \ 5*
+Çme2
+)
+
+198 \12
+ý1
+, 
+ý2
+;
+
+200 ià(!
+gl_g_accums
+)
+
+205 ià(!
+Çme1
+ || !
+Çme2
+)
+
+209 ià(
+       `¡rcmp
+(
+Çme1
+, 
+Çme2
+) == 0)
+
+213 ià((
+ý1
+ = 
+       `__g\91_ý_\9adex
+(
+Çme1
+)) == -1)
+
+216 ià((
+ý2
+ = 
+       `__g\91_ý_\9adex
+(
+Çme2
+)) == -1)
+
+222 \15 
+gl_g_ýs
+[
+ý2
+]->
+time¡amp
+ - gl_g_ýs[
+ý1
+]->timestamp;
+
+224 
+       }
+}
+
+227 
+       $__g\91_ý_\9adex
+(\ 5*
+Çme
+)
+
+229 \12
+i
+;
+
+232 ià(!
+Çme
+)
+
+236 \ f
+i
+ = 0; i < 
+gl_g_ý_\9adex
+; i++)
+
+238 ià(
+       `¡rcmp
+(
+Çme
+, 
+gl_g_ýs
+[
+i
+]->name) == 0)
+
+239 \15 
+i
+;
+
+243 
+       }
+}
+
+246 
+       $__g\91_accum_\9adex
+(\ 5*
+Çme
+)
+
+248 \12
+i
+;
+
+251 ià(!
+Çme
+)
+
+256 \ f
+i
+ = 0; i < 
+gl_g_accum_\9adex
+; i++)
+
+258 ià(
+       `¡rcmp
+(
+Çme
+, 
+gl_g_accums
+[
+i
+]->name) == 0)
+
+259 \15 
+i
+;
+
+263 
+       }
+}
+
+266 
+       $__ä\93_ýs
+(\1e)
+
+268 \12
+i
+ = 0;
+
+270 ià(!
+gl_g_ýs
+)
+
+273 \ f
+i
+ = 0; i < 
+gl_g_ý_\9adex
+; i++)
+
+275 ià(
+gl_g_ýs
+[
+i
+])
+
+277 ià(
+gl_g_ýs
+[
+i
+]->
+Çme
+)
+
+278 
+       `ä\93
+(
+gl_g_ýs
+[
+i
+]->
+Çme
+);
+
+280 
+       `ä\93
+(
+gl_g_ýs
+[
+i
+]);
+
+282 
+gl_g_ýs
+[
+i
+] = 
+NULL
+;
+
+286 
+       `ä\93
+(
+gl_g_ýs
+);
+
+287 
+gl_g_ýs
+ = 
+NULL
+;
+
+289 
+gl_g_ý_\9adex
+ = 0;
+
+290 
+       }
+}
+
+293 
+       $__ä\93_accums
+(\1e)
+
+295 \12
+i
+ = 0;
+
+297 ià(!
+gl_g_accums
+)
+
+300 \ f
+i
+ = 0; i < 
+gl_g_accum_\9adex
+; i++)
+
+302 ià(
+gl_g_accums
+[
+i
+])
+
+304 ià(
+gl_g_accums
+[
+i
+]->
+Çme
+)
+
+305 
+       `ä\93
+(
+gl_g_accums
+[
+i
+]->
+Çme
+);
+
+307 
+       `ä\93
+(
+gl_g_accums
+[
+i
+]);
+
+309 
+gl_g_accums
+[
+i
+] = 
+NULL
+;
+
+313 
+gl_g_accum_\9adex
+ = 0;
+
+314 
+gl_g_accum_lÚge¡_Çme
+ = 0;
+
+316 
+       `ä\93
+(
+gl_g_accums
+);
+
+317 
+gl_g_accums
+ = 
+NULL
+;
+
+318 
+       }
+}
+
+322 
+       $gl_\8f_accum_\99em_beg\9a
+(\ 5*
+Çme
+, \12
+show
+, \ 5*
+f\9e\92ame
+, \12
+l\9ae
+)
+
+324 
+gl_\8f_accum_\99em
+ *
+accum
+ = 
+NULL
+;
+
+325 \12
+\9adex
+ = 0;
+
+326 \12
+Çme_Ën
+ = 0;
+
+327 \19
+timev®
+t
+;
+
+329 ià(!
+gl_g_\92abË
+)
+
+332 ià(!
+gl_g_accums
+)
+
+337 ià(
+gl_g_accum_\9adex
+ =ð
+GL_TA_MAX_ACCUM
+)
+
+340 ià(!
+Çme
+)
+
+343 
+Çme_Ën
+ = 
+       `¡¾\92
+(
+Çme
+);
+
+344 ià(
+Çme_Ën
+ == 0)
+
+348 ià((
+\9adex
+ = 
+       `__g\91_accum_\9adex
+(
+Çme
+)) == -1)
+
+350 
+accum
+ = (
+gl_\8f_accum_\99em
+ *è
+       `m®loc
+(\17(gl_ta_accum_item));
+
+351 ià(!
+accum
+)
+
+355 
+       `mem£t
+(
+accum
+, 0x00, \17(
+gl_\8f_accum_\99em
+));
+
+356 
+accum
+->
+\96­£d_m\9a
+ = 0xFFFFFFFF;
+
+358 
+accum
+->
+Çme
+ = (\ 5*)
+       `m®loc
+(
+Çme_Ën
+ + 
+GL_TA_NAME_LEN_EXT
+);
+
+359 ià(!
+accum
+->
+Çme
+)
+
+361 
+       `ä\93
+(
+accum
+);
+
+364 
+       `mem£t
+(
+accum
+->
+Çme
+, 0x00, 
+Çme_Ën
+ + 
+GL_TA_NAME_LEN_EXT
+);
+
+365 
+       `g_¡¾ýy
+(
+accum
+->
+Çme
+,\82ame, 
+Çme_Ën
+);
+
+367 
+gl_g_accums
+[
+gl_g_accum_\9adex
+] = 
+accum
+;
+
+368 
+gl_g_accum_\9adex
+++;
+
+370 ià(
+gl_g_accum_lÚge¡_Çme
+ < 
+Çme_Ën
+)
+
+371 
+gl_g_accum_lÚge¡_Çme
+ = 
+Çme_Ën
+;
+
+376 
+accum
+ = 
+gl_g_accums
+[
+\9adex
+];
+
+380 ià(
+accum
+->
+Ú_e¡im©e
+)
+
+382 
+       `gl_sdbg
+("[%s] i nÙ '\92d'ed!\n", 
+accum
+->
+Çme
+);
+
+383 
+accum
+->
+num_uÅa\9c
+++;
+
+387 
+       `mem£t
+(&
+t
+,0x00,\17(\19
+timev®
+));
+
+389 
+       `g\91timeofday
+(&
+t
+, 
+NULL
+);
+
+390 
+accum
+->
+time¡amp
+ = 
+t
+.
+tv_£c
+ * 
+GL_TIME_USEC_PER_SEC
+ +\81.
+tv_u£c
+;
+
+391 #ifdeà
+GL_TA_UNIT_MSEC
+
+
+392 
+accum
+->
+time¡amp
+ = (accum->time¡am°>ð
+GL_TIME_MSEC_PER_SEC
+) ?\87ccum->timestamp / GL_TIME_MSEC_PER_SEC : 0;
+
+394 
+accum
+->
+Ú_e¡im©e
+ = 1;
+
+396 ià(
+accum
+->
+f\9c¡_¡¬t
+ == 0)
+
+398 
+accum
+->
+f\9c¡_¡¬t
+ =\87ccum->
+time¡amp
+;
+
+400 ià(
+gl_g_accum_f\9c¡_time
+ > 
+accum
+->
+f\9c¡_¡¬t
+)
+
+401 
+gl_g_accum_f\9c¡_time
+ = 
+accum
+->
+f\9c¡_¡¬t
+;
+
+404 ià(
+show
+)
+
+405 
+       `gl_sdbg
+("[ACCUM BEGIN] % : %ld ---(%s:%d)\n", 
+Çme
+, 
+accum
+->
+time¡amp
+, 
+f\9e\92ame
+, 
+l\9ae
+);
+
+407 
+accum
+->
+num_ÿÎs
+++;
+
+410 
+       }
+}
+
+413 
+       $gl_\8f_accum_\99em_\92d
+(\ 5*
+Çme
+, \12
+show
+, \ 5*
+f\9e\92ame
+, \12
+l\9ae
+)
+
+415 
+gl_\8f_accum_\99em
+ *
+accum
+ = 
+NULL
+;
+
+416 \13\12
+tv®
+ = 0;
+
+417 \12
+\9adex
+ = 0;
+
+418 \19
+timev®
+t
+;
+
+420 ià(!
+gl_g_\92abË
+)
+
+423 ià(!
+gl_g_accums
+)
+
+426 
+       `mem£t
+(&
+t
+,0x00,\17(\19
+timev®
+));
+
+428 
+       `g\91timeofday
+(&
+t
+, 
+NULL
+);
+
+430 ià(
+gl_g_accum_\9adex
+ =ð
+GL_TA_MAX_ACCUM
+)
+
+433 ià(!
+Çme
+)
+
+436 ià(
+       `¡¾\92
+(
+Çme
+) == 0)
+
+440 ià((
+\9adex
+ = 
+       `__g\91_accum_\9adex
+(
+Çme
+)) == -1)
+
+446 
+accum
+ = 
+gl_g_accums
+[
+\9adex
+];
+
+449 ià(!
+accum
+->
+Ú_e¡im©e
+)
+
+451 
+       `gl_sdbg
+("[%s] i nÙ 'beg\9a' y\91!\n", 
+accum
+->
+Çme
+);
+
+452 
+accum
+->
+num_uÅa\9c
+++;
+
+457 
+tv®
+ = 
+t
+.
+tv_£c
+ * 
+GL_TIME_USEC_PER_SEC
+ +\81.
+tv_u£c
+;
+
+458 #ifdeà
+GL_TA_UNIT_MSEC
+
+
+459 
+tv®
+ = (tv® >ð
+GL_TIME_MSEC_PER_SEC
+) ?\81val / GL_TIME_MSEC_PER_SEC : 0;
+
+463 
+accum
+->
+ϡ_\92d
+ = 
+tv®
+;
+
+466 
+tv®
+ =\81v® - 
+accum
+->
+time¡amp
+;
+
+469 
+accum
+->
+\96­£d_max
+ = 
+tv®
+ >\87ccum->elapsed_max ?\81val :\87ccum->elapsed_max;
+
+470 
+accum
+->
+\96­£d_m\9a
+ = 
+tv®
+ <\87ccum->elapsed_min ?\81val :\87ccum->elapsed_min;
+
+472 ià(
+show
+)
+
+473 
+       `gl_sdbg
+("[ACCUM END] % : %ld + %ld ---(%s:%d)\n", 
+Çme
+, 
+accum
+->
+\96­£d_accum
+, 
+tv®
+, 
+f\9e\92ame
+, 
+l\9ae
+);
+
+476 
+accum
+->
+\96­£d_accum
+ +ð
+tv®
+;
+
+477 
+accum
+->
+Ú_e¡im©e
+ = 0;
+
+480 
+       }
+}
+
+483 
+       $__´\9at_some_\9afo
+(
+FILE
+ * 
+)
+
+485 ià(!
+)
+
+490 
+       `gl_dbg
+("\nb~ b~ b~\n\n");
+
+495 
+time_t
+t_v®
+;
+
+496 \ 5
+ho¡Çme
+[
+GL_TA_HOST_NAME_LEN_MAX
+] = { 0, };
+
+497 \ 5
+time_buf
+[
+GL_TA_TIME_BUF_LEN
+] = { 0,};
+
+498 \19
+ut¢ame
+uts
+;
+
+499 \19
+ru§ge
+r_u§ge
+;
+
+501 
+       `gl_dbg
+("\n[[ General info ]]\n");
+
+504 
+       `time
+(&
+t_v®
+);
+
+505 
+       `gl_dbg
+("D©\90: %s",
+       `ùime_r
+(&
+t_v®
+, 
+time_buf
+));
+
+507 
+       `mem£t
+(&
+uts
+,0x00,\17(\19
+ut¢ame
+));
+
+509 ià(
+       `g\91ho¡Çme
+(
+ho¡Çme
+, 
+GL_TA_HOST_NAME_LEN_MAX
+ - 1è=ð0 && 
+       `uÇme
+(&
+uts
+) >= 0)
+
+511 
+       `gl_dbg
+("Ho¡Çm\90: %s\n", 
+ho¡Çme
+);
+
+512 
+       `gl_dbg
+("Sy¡em : %s\n", 
+uts
+.
+sy¢ame
+);
+
+513 
+       `gl_dbg
+("Mach\9a\90: %s\n", 
+uts
+.
+mach\9ae
+);
+
+514 
+       `gl_dbg
+("Nod\92am\90: %s\n", 
+uts
+.
+nod\92ame
+);
+
+515 
+       `gl_dbg
+("R\96\97£ : % \n", 
+uts
+.
+»Ëa£
+);
+
+516 
+       `gl_dbg
+("V\94siÚ : % \n", 
+uts
+.
+v\94siÚ
+);
+
+519 
+       `mem£t
+(&
+r_u§ge
+,0x00,\17(\19
+ru§ge
+));
+
+521 
+       `gl_dbg
+("Proûs ´iÜ\99y : %d\n", 
+       `g\91´iÜ\99y
+(
+PRIO_PROCESS
+, 
+       `g\91pid
+()));
+
+522 
+       `g\91ru§ge
+(
+RUSAGE_SELF
+, &
+r_u§ge
+);
+
+523 
+       `gl_dbg
+("CPU usage : User = %ld.%06ld, System = %ld.%06ld\n",
+
+524 
+r_u§ge
+.
+ru_utime
+.
+tv_£c
+,\84_u§ge.ru_utime.
+tv_u£c
+,
+
+525 
+r_u§ge
+.
+ru_¡ime
+.
+tv_£c
+,\84_u§ge.ru_¡ime.
+tv_u£c
+);
+
+532 \r\ 5**
+\92v\9cÚ
+;
+
+533 \ 5**
+\92v
+ = 
+\92v\9cÚ
+;
+
+535 
+       `gl_dbg
+("\n[[ Host\83nvironment variables ]]\n");
+
+536 \1f*
+\92v
+)
+
+538 
+       `gl_dbg
+("%s\n", *
+\92v
+);
+
+539 
+\92v
+++;
+
+548 
+       }
+}
+
+551 
+       $gl_\8f_accum_show_»suÉ
+(\12
+d\9ceùiÚ
+)
+
+553 \12
+i
+ = 0;
+
+554 \ 5
+fÜm©
+[
+GL_TA_FORMAT_LEN_MAX
+] = { 0, };
+
+555 
+FILE
+ *
+ = 
+¡d\94r
+;
+
+557 ià(!
+gl_g_accums
+)
+
+560 \1a
+d\9ceùiÚ
+)
+
+562 \ 4
+GL_TA_SHOW_STDOUT
+:
+
+563 
+ = 
+¡dout
+;
+
+565 \ 4
+GL_TA_SHOW_STDERR
+:
+
+566 
+ = 
+¡d\94r
+;
+
+568 \ 4
+GL_TA_SHOW_FILE
+:
+
+570 
+ = 
+       `fݒ
+(
+GL_TA_RESULT_FILE
+, "wt");
+
+571 ià(!
+)
+
+575 
+       `__´\9at_some_\9afo
+(
+);
+
+577 #ifdeà
+GL_TA_UNIT_MSEC
+
+
+578 
+       `¢´\9atf
+(
+fÜm©
+, \17(format),
+
+580 
+gl_g_accum_lÚge¡_Çme
+);
+
+581 
+       `gl_dbg
+("BEGIN RESULT ACCUM===========================ð: NumOfI\8bm : %d, un\99(m£c)\n", 
+gl_g_accum_\9adex
+);
+
+583 
+       `¢´\9atf
+(
+fÜm©
+, \17(format),
+
+585 
+gl_g_accum_lÚge¡_Çme
+);
+
+586 
+       `gl_dbg
+("BEGIN RESULT ACCUM===========================ð: NumOfI\8bm : %d, un\99(u£c)\n", 
+gl_g_accum_\9adex
+);
+
+589 \ f
+i
+ = 0; i < 
+gl_g_accum_\9adex
+; i++)
+
+592 ià(
+gl_g_accums
+[
+i
+]->
+num_ÿÎs
+ == 0)
+
+593 
+gl_g_accums
+[
+i
+]->
+num_ÿÎs
+ = 1;
+
+608 
+       `gl_dbg
+("END RESULT ACCUM ============================\n");
+
+610 ià(
+d\9ceùiÚ
+ =ð
+GL_TA_SHOW_FILE
+)
+
+611 
+       `fþo£
+(
+);
+
+612 
+       }
+}
+
+       @src/util/gl-thread-util.c
+
+18 \ 2
+       ~<¡r\9ag.h
+>
+
+19 \ 2
+       ~<glib.h
+>
+
+20 \ 2
+       ~<l\9aux/uni¡d.h
+>
+
+21 \ 2
+       ~<±h»ad.h
+>
+
+22 \ 2
+       ~"gl-th»ad-ut\9e.h
+"
+
+23 \ 2
+       ~"gl-ui-ut\9e.h
+"
+
+24 \ 2
+       ~"gl-ut\9e.h
+"
+
+25 \ 2
+       ~"gl-debug.h
+"
+
+26 \ 2
+       ~"gl-d©a.h
+"
+
+27 \ 2
+       ~"gl-pÝup.h
+"
+
+28 \ 2
+       ~"gl-´og»ssb¬.h
+"
+
+29 \ 2
+       ~"gl-¡r\9ags.h
+"
+
+30 \ 2
+       ~"gl-nÙify.h
+"
+
+31 \ 2
+       ~"gl-®bums.h
+"
+
+32 \ 2
+       ~"gl-thumbs.h
+"
+
+34 \ 1
+       #GALLERY_MAGIC_MAIN_CONTEXT
+ (0x1983cdaf)
+
+       )
+
+35 \ 1
+       #GALLERY_MAGIC_DETAIL_LIST_ITEM
+ (0x1977abcd)
+
+       )
+
+36 \ 1
+       #GALLERY_MAGIC_PIPE_DATA
+ (0x0716ffcc)
+
+       )
+
+38 \ 1
+       #GALLERY_MAGIC
\1d\12
+__magic
+
+
+       )
+
+39 \ 1
+       #GALLERY_MAGIC_SET
+(
+d
+, 
+m
+è(d)->
+__magic
+ = (m)
+
+       )
+
+40 \ 1
+       #GALLERY_MAGIC_CHECK
+(
+d
+, 
+m
+è((dè&& ((d)->
+__magic
+ =ð(m)))
+
+       )
+
+42 \ 1
+       #GL_THREAD_PBAR_TIMER_INC
+ 0.5
+
+       )
+
+46 
+       mGALLERY_MAGIC
+;
+
+47 \12
+       mf\9aished_út
+;
+
+48 \12
+       m¡©e
+;
+
+49 \12
+       mpÝup_Ý
+;
+
+50 } 
+       tgl_th»ad_p\9de_d©a
+;
+
+52 \ 1
+       #GL_TID
+       `sysÿÎ
+(
+__NR_g\91tid
+)
+
+       )
+
+54 \18\12
+       $_gl_th»ad_Ý\94©e_med\9fs
+(\1e*
+d©a
+)
+
+56 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+57 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+58 \12
+»t
+ = -1;
+
+60 \12(*
+Ý_cb
+è(\1e*
+d©a
+);
+
+61 
+Ý_cb
+ = 
+ad
+->
+pb¬\9afo
+.op_cb;
+
+62 
+ad
+->
+pb¬\9afo
+.
+Ý_cb
+ = 
+NULL
+;
+
+63 
+       `gl_dbg
+("O³¿tiÚ: %p", 
+Ý_cb
+);
+
+64 ià(
+Ý_cb
+)
+
+65 
+»t
+ = 
+       `Ý_cb
+(
+d©a
+);
+
+66 ià(
+»t
+ < 0) {
+
+67 
+       `gl_th»ad_£t_ÿnûl_¡©e
+(
+ad
+, 
+GL_PB_CANCEL_ERROR
+);
+
+68 
+       `gl_dbgE
+("Operation failed!");
+
+73 
+       }
+}
+
+75 \18\12
+       $_gl_th»ad_upd©e_v\9bw
+(\1e*
+d©a
+)
+
+77 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+78 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+80 \12(*
+upd©e_cb
+è(\1e*
+d©a
+);
+
+81 
+upd©e_cb
+ = 
+ad
+->
+pb¬\9afo
+.update_cb;
+
+82 
+ad
+->
+pb¬\9afo
+.
+upd©e_cb
+ = 
+NULL
+;
+
+83 
+ad
+->
+pb¬\9afo
+.
+d\96_\99em_cb
+ = 
+NULL
+;
+
+84 
+ad
+->
+pb¬\9afo
+.
+tÙ®_út
+ = 0;
+
+85 
+       `gl_dbg
+("Upd©e: %p", 
+upd©e_cb
+);
+
+86 ià(
+upd©e_cb
+)
+
+87 
+       `upd©e_cb
+(
+d©a
+);
+
+89 
+       }
+}
+
+91 \18\1e*
+       $_gl_th»ad_d©a_th»ad
+(\1e*
+d©a
+)
+
+93 
+       `GL_CHECK_NULL
+(
+d©a
+);
+
+94 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+95 \12
+ÿnûl_æag
+ = 0;
+
+97 
+       `gl_dbg
+("@@@@@@@@@@ :::: Ch\9ed\81h»ad ID = %d :::: @@@@@@@@@@", 
+GL_TID
+);
+
+99 
+       `gl_dbgW
+("Waiting for start signal ===");
+
+103 
+       `gl_dbgW
+("Received start signal +++");
+
+106 
+       `_gl_th»ad_Ý\94©e_med\9fs
+(
+d©a
+);
+
+108 
+gl_th»ad_p\9de_d©a
+p\9de_d©a
+;
+
+109 
+       `mem£t
+(&
+p\9de_d©a
+, 0x00, \17(
+gl_th»ad_p\9de_d©a
+));
+
+110 
+       `GALLERY_MAGIC_SET
+(&
+p\9de_d©a
+, 
+GALLERY_MAGIC_PIPE_DATA
+);
+
+112 
+p\9de_d©a
+.
+¡©e
+ = 0;
+
+113 
+       `gl_th»ad_g\91_ÿnûl_¡©e
+(
+ad
+, &
+ÿnûl_æag
+);
+
+115 
+       `ecÜe_p\9de_wr\99e
+(
+ad
+->
+pb¬\9afo
+.
+sync_p\9de
+, &
+p\9de_d©a
+, \17(
+gl_th»ad_p\9de_d©a
+));
+
+117 
+       `gl_dbg
+("@@@@@@@@@@ :::: Child\81hread done :::: @@@@@@@@@@");
+
+120 
+       }
+}
+
+122 \18
+E\9aa_BoÞ
+       $_gl_th»ad_d\96_pb¬_idËr_cb
+(\1e*
+d©a
+)
+
+124 
+       `gl_dbg
+("Delete\85rogressbar...");
+
+125 
+       `GL_CHECK_CANCEL
+(
+d©a
+);
+
+126 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+128 
+       `gl_th»ad_£t_ÿnûl_¡©e
+(
+ad
+, 
+GL_PB_CANCEL_NONE
+);
+
+130 
+       `gl_th»ad_de¡roy_lock
+(
+ad
+);
+
+132 
+       `gl_pb_d\96_pb¬
+(
+ad
+);
+
+134 
+       `GL_IF_DEL_TIMER
+(
+ad
+->
+pb¬\9afo
+.
+d\96_pb¬_tim\94
+);
+
+135 \15 
+ECORE_CALLBACK_CANCEL
+;
+
+136 
+       }
+}
+
+138 \18\1e
+       $_gl_th»ad_p\9de_cb
+(\1e*
+d©a
+, \1e*
+bufãr
+, \1d\12
+nby\8b
+)
+
+140 
+       `gl_dbg
+(":::::::::: Ma\9a\81h»ad ID = %d ::::::::::", 
+GL_TID
+);
+
+141 
+       `GL_CHECK
+(
+d©a
+);
+
+142 
+       `GL_CHECK
+(
+bufãr
+);
+
+143 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+144 
+gl_th»ad_p\9de_d©a
+ *
+p_p\9de_d©a
+ = (gl_th»ad_p\9de_d©¨*è
+bufãr
+;
+
+145 
+       `gl_dbg
+("P\9d\90¡©\90i %d", 
+p_p\9de_d©a
+->
+¡©e
+);
+
+147 ià(!
+       `GALLERY_MAGIC_CHECK
+(
+p_p\9de_d©a
+, 
+GALLERY_MAGIC_PIPE_DATA
+)) {
+
+148 
+       `gl_dbgE
+("##### :: Check\85_pipe_data Magic failed :: #####");
+
+152 \12
+ÿnûl_æag
+ = 
+çl£
+;
+
+153 
+       `gl_th»ad_g\91_ÿnûl_¡©e
+(
+ad
+, &
+ÿnûl_æag
+);
+
+155 ià(
+p_p\9de_d©a
+->
+pÝup_Ý
+)
+
+157 ià(
+p_p\9de_d©a
+->
+¡©e
+)
+
+160 ià(
+ÿnûl_æag
+ !ð
+GL_PB_CANCEL_NORMAL
+) {
+
+161 
+       `gl_dbgE
+("Failed\81o kill\81hread,\81ry\87gain!");
+
+162 
+       `gl_th»ad_em\99_Ãxt_sigÇl
+(
+ad
+);
+
+169 ià(
+p_p\9de_d©a
+->
+¡©e
+) {
+
+177 ià(
+ÿnûl_æag
+ !ð
+GL_PB_CANCEL_NORMAL
+) {
+
+178 
+       `gl_dbgE
+("Failed\81o kill\81hread,\81ry\87gain!");
+
+179 
+       `gl_th»ad_em\99_Ãxt_sigÇl
+(
+ad
+);
+
+184 
+       `gl_pb_»äesh_th»ad_pb¬
+(
+ad
+, 
+p_p\9de_d©a
+->
+f\9aished_út
+,
+
+185 
+ad
+->
+pb¬\9afo
+.
+tÙ®_út
+);
+
+186 
+       `gl_dbg
+("@@@ finished/all = %d/%d, updating\85rogressbar @@@",
+
+187 
+p_p\9de_d©a
+->
+f\9aished_út
+, 
+ad
+->
+pb¬\9afo
+.
+tÙ®_út
+);
+
+189 
+       `gl_dbg
+("Emit\82ext signal...");
+
+190 
+       `gl_th»ad_em\99_Ãxt_sigÇl
+(
+ad
+);
+
+193 
+       `gl_dbg
+("@@@ finished: %d, updating\85rogressbar @@@",
+
+194 
+ad
+->
+pb¬\9afo
+.
+f\9aished_út
+);
+
+195 
+       `gl_pb_»äesh_th»ad_pb¬
+(
+ad
+,\87d->
+pb¬\9afo
+.
+f\9aished_út
+,
+
+196 
+ad
+->
+pb¬\9afo
+.
+f\9aished_út
+);
+
+197 
+ad
+->
+pb¬\9afo
+.
+f\9aished_út
+ = 0;
+
+198 
+       `gl_dbg
+("@@@@@@@ :::: Pipe close && Update view :::: @@@@@@@");
+
+200 
+       `GL_IF_DEL_TIMER
+(
+ad
+->
+pb¬\9afo
+.
+¡¬t_th»ad_tim\94
+);
+
+202 \12
+ÿnûl_æag
+ = 
+çl£
+;
+
+203 
+       `gl_th»ad_g\91_ÿnûl_¡©e
+(
+ad
+, &
+ÿnûl_æag
+);
+
+204 ià(
+ÿnûl_æag
+ =ð
+GL_PB_CANCEL_RESET
+) {
+
+206 
+ad
+->
+ma\9a\9afo
+.
+med\9fs_Ý_ty³
+ = 
+GL_MEDIA_OP_NONE
+;
+
+207 
+       `gl_dbgW
+("Cancel\83rror case, set\84eset state!");
+
+208 } \vià(
+ÿnûl_æag
+ =ð
+GL_PB_CANCEL_ERROR
+) {
+
+209 
+       `gl_dbgW
+("Operation\83rror!");
+
+210 
+       `_gl_nÙify_ü\97\8b_nÙi\9afo
+(
+GL_STR_OPERATION_FAILED
+);
+
+213 ià(
+ÿnûl_æag
+ !ð
+GL_PB_CANCEL_BUTTON
+) {
+
+215 
+       `GL_IF_DEL_TIMER
+(
+ad
+->
+pb¬\9afo
+.
+d\96_pb¬_tim\94
+);
+
+216 
+EcÜe_Tim\94
+ *
+tim\94
+ = 
+NULL
+;
+
+217 
+tim\94
+ = 
+       `ecÜe_tim\94_add
+(0.5f, 
+_gl_th»ad_d\96_pb¬_idËr_cb
+,
+
+218 
+ad
+);
+
+219 
+ad
+->
+pb¬\9afo
+.
+d\96_pb¬_tim\94
+ = 
+tim\94
+;
+
+222 
+       `gl_dbg
+("MMC s\8f\8b: %d, OP\81y³: %d.", 
+ad
+->
+ma\9a\9afo
+.
+mmc_¡©e
+,
+
+223 
+ad
+->
+ma\9a\9afo
+.
+med\9fs_Ý_ty³
+);
+
+225 ià(
+ad
+->
+ma\9a\9afo
+.
+mmc_¡©e
+ =ð
+GL_MMC_STATE_REMOVED_MOVING
+) {
+
+226 
+ad
+->
+ma\9a\9afo
+.
+mmc_¡©e
+ = 
+GL_MMC_STATE_REMOVED
+;
+
+236 
+gl_þu¡\94
+ *
+cur_®bum
+ = 
+       `_gl_®bums_g\91_cu¼\92t
+(
+d©a
+);
+
+237 ià(
+cur_®bum
+ && cur_®bum->
+þu¡\94
+ &&
+
+238 
+cur_®bum
+->
+þu¡\94
+->
+ty³
+ =ð
+GL_STORE_T_MMC
+) {
+
+239 
+       `gl_dbgW
+("MMC\84emoved, change\81o\87lbums view!");
+
+240 
+       `gl_pÝ_to_ù¾b¬_ly
+(
+ad
+);
+
+242 
+       `_gl_th»ad_upd©e_v\9bw
+(
+ad
+);
+
+246 ià(
+ad
+->
+ma\9a\9afo
+.
+mmc_¡©e
+ =ð
+GL_MMC_STATE_ADDED_MOVING
+) {
+
+247 
+ad
+->
+ma\9a\9afo
+.
+mmc_¡©e
+ = 
+GL_MMC_STATE_ADDED
+;
+
+248 } \vià(
+ad
+->
+ma\9a\9afo
+.
+mmc_¡©e
+ =ð
+GL_MMC_STATE_ADDING_MOVING
+) {
+
+249 
+ad
+->
+ma\9a\9afo
+.
+mmc_¡©e
+ = 
+GL_MMC_STATE_ADDED
+;
+
+252 
+       `_gl_th»ad_upd©e_v\9bw
+(
+ad
+);
+
+256 
+       `GL_IF_DEL_PIPE
+(
+ad
+->
+pb¬\9afo
+.
+sync_p\9de
+);
+
+258 
+ad
+->
+ma\9a\9afo
+.
+med\9fs_Ý_ty³
+ = 
+GL_MEDIA_OP_NONE
+;
+
+260 
+       }
+}
+
+277 \12
+       $gl_th»ad_em\99_Ãxt_sigÇl
+(\1e*
+d©a
+)
+
+279 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+280 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+282 
+       `±h»ad_mu\8bx_lock
+(&(
+ad
+->
+pb¬\9afo
+.
+Ȋesh_lock
+));
+
+283 
+       `gl_dbg
+("»äesh_æag: %d.", 
+ad
+->
+pb¬\9afo
+.
+»äesh_æag
+);
+
+284 ià(
+ad
+->
+pb¬\9afo
+.
+»äesh_æag
+ == 0)
+
+286 
+ad
+->
+pb¬\9afo
+.
+»äesh_æag
+ = 1;
+
+287 
+       `±h»ad_cÚd_sigÇl
+(&(
+ad
+->
+pb¬\9afo
+.
+»äesh_cÚd
+));
+
+289 
+       `±h»ad_mu\8bx_uÆock
+(&(
+ad
+->
+pb¬\9afo
+.
+Ȋesh_lock
+));
+
+292 
+       }
+}
+
+309 \12
+       $gl_th»ad_wa\99_Ãxt_sigÇl
+(\1e*
+d©a
+)
+
+311 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+312 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+314 
+       `±h»ad_mu\8bx_lock
+(&(
+ad
+->
+pb¬\9afo
+.
+Ȋesh_lock
+));
+
+315 
+       `gl_dbg
+("»äesh_æag: %d.", 
+ad
+->
+pb¬\9afo
+.
+»äesh_æag
+);
+
+316 \1f
+ad
+->
+pb¬\9afo
+.
+»äesh_æag
+ == 0)
+
+318 
+       `gl_dbg
+("Thread waiting...");
+
+319 
+       `±h»ad_cÚd_wa\99
+(&(
+ad
+->
+pb¬\9afo
+.
+»äesh_cÚd
+), &×d->pb¬\9afo.
+Ȋesh_lock
+));
+
+321 
+ad
+->
+pb¬\9afo
+.
+»äesh_æag
+ = 0;
+
+322 
+       `±h»ad_mu\8bx_uÆock
+(&(
+ad
+->
+pb¬\9afo
+.
+Ȋesh_lock
+));
+
+325 
+       }
+}
+
+344 
+       $gl_th»ad_£t_ÿnûl_¡©e
+(\1e*
+d©a
+, \12
+v®
+)
+
+346 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+347 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+349 
+       `±h»ad_mu\8bx_lock
+(&(
+ad
+->
+pb¬\9afo
+.
+pb¬_lock
+));
+
+350 
+ad
+->
+pb¬\9afo
+.
+pb¬_ÿnûl
+ = 
+v®
+;
+
+351 
+       `±h»ad_mu\8bx_uÆock
+(&(
+ad
+->
+pb¬\9afo
+.
+pb¬_lock
+));
+
+354 
+       }
+}
+
+372 
+       $gl_th»ad_g\91_ÿnûl_¡©e
+(\1e*
+d©a
+, \12*
+v®
+)
+
+374 
+       `GL_CHECK_VAL
+(
+v®
+, -1);
+
+375 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+377 
+       `±h»ad_mu\8bx_lock
+(&(
+ad
+->
+pb¬\9afo
+.
+pb¬_lock
+));
+
+378 *
+v®
+ = 
+ad
+->
+pb¬\9afo
+.
+pb¬_ÿnûl
+;
+
+379 
+       `±h»ad_mu\8bx_uÆock
+(&(
+ad
+->
+pb¬\9afo
+.
+pb¬_lock
+));
+
+382 
+       }
+}
+
+402 \1e
+       $gl_th»ad_wr\99e_p\9de
+(\1e*
+d©a
+, \12
+f\9aished_út
+, \12
+pÝup_Ý
+)
+
+404 
+       `GL_CHECK
+(
+d©a
+);
+
+405 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+406 \12
+ÿnûl_æag
+ = 
+çl£
+;
+
+407 
+       `gl_dbg
+("Wait\82ext signal...");
+
+408 
+       `gl_th»ad_wa\99_Ãxt_sigÇl
+(
+ad
+);
+
+409 
+       `gl_dbg
+("Receive\82ext signal...");
+
+410 
+gl_th»ad_p\9de_d©a
+p\9de_d©a
+;
+
+411 
+       `mem£t
+(&
+p\9de_d©a
+, 0x00, \17(
+gl_th»ad_p\9de_d©a
+));
+
+412 
+       `GALLERY_MAGIC_SET
+(&
+p\9de_d©a
+, 
+GALLERY_MAGIC_PIPE_DATA
+);
+
+414 
+p\9de_d©a
+.
+¡©e
+ = 1;
+
+415 
+p\9de_d©a
+.
+f\9aished_út
+ = finished_cnt;
+
+416 
+p\9de_d©a
+.
+pÝup_Ý
+ =\85opup_op;
+
+418 
+       `gl_th»ad_g\91_ÿnûl_¡©e
+(
+ad
+, &
+ÿnûl_æag
+);
+
+420 ià(
+ÿnûl_æag
+ =ð
+GL_PB_CANCEL_BUTTON
+ ||
+
+421 
+ÿnûl_æag
+ =ð
+GL_PB_CANCEL_MMC
+ ||
+
+422 
+ÿnûl_æag
+ =ð
+GL_PB_CANCEL_ERROR
+ ||
+
+423 
+ÿnûl_æag
+ =ð
+GL_PB_CANCEL_RESET
+)
+
+426 
+p\9de_d©a
+.
+f\9aished_út
+ = -1;
+
+428 
+p\9de_d©a
+.
+¡©e
+ = 0;
+
+429 
+       `ecÜe_p\9de_wr\99e
+(
+ad
+->
+pb¬\9afo
+.
+sync_p\9de
+, &
+p\9de_d©a
+, \17(
+gl_th»ad_p\9de_d©a
+));
+
+431 ià(
+ÿnûl_æag
+ =ð
+GL_PB_CANCEL_BUTTON
+)
+
+433 
+       `gl_dbg
+("Cancel button\81apped, child\81hread\83xit!");
+
+435 \vià(
+ÿnûl_æag
+ =ð
+GL_PB_CANCEL_MMC
+)
+
+437 
+       `gl_dbg
+("MMC\84emoved, child\81hread\83xit!");
+
+439 \vià(
+ÿnûl_æag
+ =ð
+GL_PB_CANCEL_ERROR
+)
+
+441 
+       `gl_dbg
+("Error happened, child\81hread\83xit!");
+
+443 \vià(
+ÿnûl_æag
+ =ð
+GL_PB_CANCEL_RESET
+) {
+
+444 
+       `gl_dbg
+("Reset gallery, child\81hread\83xit!");
+
+447 
+       `±h»ad_ex\99
+((\1e*)1);
+
+451 
+       `gl_dbg
+("Writing\85ipe...");
+
+452 
+       `ecÜe_p\9de_wr\99e
+(
+ad
+->
+pb¬\9afo
+.
+sync_p\9de
+, &
+p\9de_d©a
+, \17(
+gl_th»ad_p\9de_d©a
+));
+
+454 
+       }
+}
+
+472 
+       $gl_th»ad_g\92_d©a_th»ad
+(\1e*
+d©a
+)
+
+474 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+475 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+476 
+±h»ad_t
+tid
+;
+
+477 
+±h»ad_©\8c_t
\8c
+;
+
+478 \12
+»t
+ = -1;
+
+480 
+       `gl_dbg
+("Creating child\81hread.");
+
+482 
+ad
+->
+pb¬\9afo
+.
+sync_p\9de
+ = 
+       `ecÜe_p\9de_add
+(
+_gl_th»ad_p\9de_cb
+,\87d);
+
+484 
+»t
+ = 
+       `±h»ad_©\8c_\9a\99
+(&
\8c
+);
+
+485 ià(
+»t
+ == 0)
+
+487 
+»t
+ = 
+       `±h»ad_©\8c_£td\91ach¡©e
+(&
\8c
+, 
+PTHREAD_CREATE_DETACHED
+);
+
+488 ià(
+»t
+ == 0)
+
+491 
+»t
+ = 
+       `±h»ad_ü\97\8b
+(&
+tid
+, &
\8c
+, 
+_gl_th»ad_d©a_th»ad
+, 
+ad
+);
+
+492 ià(
+»t
+ != 0)
+
+494 
+       `gl_dbgE
+("[Error] ##### ::\85thread_create failed :: #####");
+
+495 
+       `±h»ad_©\8c_de¡roy
+(&
\8c
+);
+
+501 
+       `gl_dbg
+("\n\n[Done] @@@@@@@@@@ ::::\85thread_create successfull :::: @@@@@@@@@@\n");
+
+502 
+       `±h»ad_©\8c_de¡roy
+(&
\8c
+);
+
+505 
+       }
+}
+
+523 
+       $gl_th»ad_de¡roy_lock
+(\1e*
+d©a
+)
+
+525 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+526 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+527 
+       `gl_dbg
+("@@@@@@@@@@ :::: Destroy MUTEX :::: @@@@@@@@@@");
+
+534 
+       `±h»ad_mu\8bx_lock
+(&(
+ad
+->
+pb¬\9afo
+.
+Ȋesh_lock
+));
+
+535 
+ad
+->
+pb¬\9afo
+.
+»äesh_æag
+ = 0;
+
+536 
+       `±h»ad_mu\8bx_uÆock
+(&(
+ad
+->
+pb¬\9afo
+.
+Ȋesh_lock
+));
+
+538 
+       `±h»ad_cÚd_de¡roy
+(&(
+ad
+->
+pb¬\9afo
+.
+»äesh_cÚd
+));
+
+539 
+       `±h»ad_mu\8bx_de¡roy
+(&(
+ad
+->
+pb¬\9afo
+.
+pb¬_lock
+));
+
+540 
+       `±h»ad_mu\8bx_de¡roy
+(&(
+ad
+->
+pb¬\9afo
+.
+Ȋesh_lock
+));
+
+543 
+       }
+}
+
+560 \12
+       $gl_th»ad_\9a\99_lock
+(\1e*
+d©a
+)
+
+562 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+563 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+564 
+       `gl_dbg
+("@@@@@@@@@@ :::: Initialize MUTEX :::: @@@@@@@@@@");
+
+566 
+       `±h»ad_mu\8bx_\9a\99
+(&(
+ad
+->
+pb¬\9afo
+.
+pb¬_lock
+), 
+NULL
+);
+
+567 
+       `±h»ad_mu\8bx_\9a\99
+(&(
+ad
+->
+pb¬\9afo
+.
+Ȋesh_lock
+), 
+NULL
+);
+
+568 
+       `±h»ad_cÚd_\9a\99
+(&(
+ad
+->
+pb¬\9afo
+.
+»äesh_cÚd
+), 
+NULL
+);
+
+575 
+       `±h»ad_mu\8bx_lock
+(&(
+ad
+->
+pb¬\9afo
+.
+Ȋesh_lock
+));
+
+576 
+ad
+->
+pb¬\9afo
+.
+»äesh_æag
+ = 0;
+
+577 
+       `±h»ad_mu\8bx_uÆock
+(&(
+ad
+->
+pb¬\9afo
+.
+Ȋesh_lock
+));
+
+580 
+       }
+}
+
+582 \12
+       $_gl_th»ad_£t_Ý_cb
+(\1e*
+d©a
+, \1e*
+Ý_cb
+)
+
+584 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+585 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+586 
+ad
+->
+pb¬\9afo
+.
+Ý_cb
+ = op_cb;
+
+588 
+       }
+}
+
+590 \12
+       $_gl_th»ad_£t_upd©e_cb
+(\1e*
+d©a
+, \1e*
+upd©e_cb
+)
+
+592 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+593 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+594 
+ad
+->
+pb¬\9afo
+.
+upd©e_cb
+ = update_cb;
+
+596 
+       }
+}
+
+598 \12
+       $_gl_th»ad_£t_d\96_\99em_cb
+(\1e*
+d©a
+, \1e*
+d\96_\99em_cb
+)
+
+600 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+601 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+602 
+ad
+->
+pb¬\9afo
+.
+d\96_\99em_cb
+ = del_item_cb;
+
+604 
+       }
+}
+
+606 \12
+       $_gl_th»ad_£t_tÙ®_út
+(\1e*
+d©a
+, \12
+tÙ®_út
+)
+
+608 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+609 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+610 
+ad
+->
+pb¬\9afo
+.
+tÙ®_út
+ =\81otal_cnt;
+
+612 
+       }
+}
+
+       @src/util/gl-ui-util.c
+
+17 \ 2
+       ~<¡r\9ag.h
+>
+
+18 \ 2
+       ~<glib.h
+>
+
+19 \ 2
+       ~"gl-fs.h
+"
+
+20 \ 2
+       ~"gl-ui-ut\9e.h
+"
+
+21 \ 2
+       ~"gl-ut\9e.h
+"
+
+22 \ 2
+       ~"gl-ext-ug-lßd.h
+"
+
+23 \ 2
+       ~"gl-ext-exec.h
+"
+
+24 \ 2
+       ~"gl-bu\89Ú.h
+"
+
+25 \ 2
+       ~"gl-thumbs.h
+"
+
+26 \ 2
+       ~"gl-cÚ\8cÞb¬.h
+"
+
+27 \ 2
+       ~"gl-®bums.h
+"
+
+28 \ 2
+       ~"gl-debug.h
+"
+
+29 \ 2
+       ~"gl-d©a.h
+"
+
+30 \ 2
+       ~"gl-th»ad-ut\9e.h
+"
+
+31 \ 2
+       ~"gl-p\9achzoom.h
+"
+
+32 \ 2
+       ~"gl-pÝup.h
+"
+
+33 \ 2
+       ~"gl-ùxpÝup.h
+"
+
+34 \ 2
+       ~"gl-´og»ssb¬.h
+"
+
+35 \ 2
+       ~"gl-®bums-£l.h
+"
+
+36 \ 2
+       ~"gl-thumbs-ed\99.h
+"
+
+37 \ 2
+       ~"gl-thumbs-£l.h
+"
+
+38 \ 2
+       ~"gl-¡r\9ags.h
+"
+
+39 \ 2
+       ~"gl-icÚs.h
+"
+
+40 \ 2
+       ~"gl-nÙify.h
+"
+
+41 \ 2
+       ~"gl-f\9ee-ut\9e.h
+"
+
+42 \ 2
+       ~"gl-tim\96\9ae.h
+"
+
+44 \ 1
+       #GL_NAVIBAR_STYLE_DEFAULT
+GL_CHECKBOX_STYLE_DEFAULT
+
+
+       )
+
+45 \ 1
+       #GL_SELALL_TIMER_INT
+ 0.3
+
+       )
+
+47 \12
+       $_gl_ui_hide_back_bu\89Ú
+(
+Elm_Objeù_I\8bm
+ *
+nf_\99
+)
+
+49 
+       `GL_CHECK_VAL
+(
+nf_\99
+, -1);
+
+50 
+       `\96m_objeù_\99em_·¹_cÚ\8bÁ_£t
+(
+nf_\99
+, 
+GL_NAVIFRAME_PREV_BTN
+, 
+NULL
+);
+
+52 
+       }
+}
+
+54 \18\1e
+       $__gl_ui_show_t\99Ë_toÞb¬
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+56 
+       `GL_CHECK
+(
+d©a
+);
+
+57 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+58 
+ad
+->
+\92\8cy\9afo
+.
+b_hide_s\9d
+ = 
+\8cue
+;
+
+59 
+Evas_Objeù
+ *
+nf
+ = 
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+;
+
+60 
+Elm_Objeù_I\8bm
+ *
+Çvi_\99
+ = 
+       `\96m_Çviäame_tÝ_\99em_g\91
+(
+nf
+);
+
+61 
+       `GL_CHECK
+(
+Çvi_\99
+);
+
+62 \1a
+ad
+->
+ma\9a\9afo
+.
+r٩e_mode
+) {
+
+63 \ 4
+APP_DEVICE_ORIENTATION_90
+:
+
+64 \ 4
+APP_DEVICE_ORIENTATION_270
+:
+
+65 
+       `\96m_Çviäame_\99em_t\99Ë_\92abËd_£t
+(
+Çvi_\99
+, 
+EINA_FALSE
+, EINA_FALSE);
+
+70 
+       }
+}
+
+72 \18\1e
+       $__gl_ui_hide_t\99Ë_toÞb¬
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+74 
+       `GL_CHECK
+(
+d©a
+);
+
+75 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+76 
+ad
+->
+\92\8cy\9afo
+.
+b_hide_s\9d
+ = 
+çl£
+;
+
+77 
+Evas_Objeù
+ *
+nf
+ = 
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+;
+
+78 
+Elm_Objeù_I\8bm
+ *
+Çvi_\99
+ = 
+       `\96m_Çviäame_tÝ_\99em_g\91
+(
+nf
+);
+
+79 
+       `GL_CHECK
+(
+Çvi_\99
+);
+
+80 
+       `\96m_Çviäame_\99em_t\99Ë_\92abËd_£t
+(
+Çvi_\99
+, 
+EINA_TRUE
+, 
+EINA_FALSE
+);
+
+81 
+       }
+}
+
+83 \12
+       $_gl_ui_þ\97r_b\8as
+(\1e*
+d©a
+)
+
+85 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+86 
+Evas_Objeù
+ *
+b\8a
+ = 
+NULL
+;
+
+87 
+       `gl_dbg
+("");
+
+90 
+b\8a
+ = 
+       `_gl_ui_g\91_b\8a
+(
+d©a
+, 
+NULL
+, 
+GL_NAVIFRAME_MORE
+);
+
+91 
+       `GL_IF_DEL_OBJ
+(
+b\8a
+);
+
+93 
+b\8a
+ = 
+       `_gl_ui_g\91_b\8a
+(
+d©a
+, 
+NULL
+, 
+GL_NAVIFRAME_TOOLBAR
+);
+
+94 
+       `GL_IF_DEL_OBJ
+(
+b\8a
+);
+
+95 
+b\8a
+ = 
+       `_gl_ui_g\91_b\8a
+(
+d©a
+, 
+NULL
+, 
+GL_NAVIFRAME_TITLE_RIGHT_BTN
+);
+
+96 
+       `GL_IF_DEL_OBJ
+(
+b\8a
+);
+
+97 
+b\8a
+ = 
+       `_gl_ui_g\91_b\8a
+(
+d©a
+, 
+NULL
+, 
+GL_NAVIFRAME_TITLE_LEFT_BTN
+);
+
+98 
+       `GL_IF_DEL_OBJ
+(
+b\8a
+);
+
+100 
+       }
+}
+
+102 
+Evas_Objeù
+ *
+       $gl_ui_lßd_edj
+(
+Evas_Objeù
+ *
+·»Á
+, cڡ \ 5*
+f\9ee
+, cڡ \ 5*
+group
+)
+
+104 
+Evas_Objeù
+ *
+eo
+ = 
+NULL
+;
+
+105 
+eo
+ = 
+       `\96m_Ïyout_add
+(
+·»Á
+);
+
+106 
+       `GL_CHECK_NULL
+(
+eo
+);
+
+108 \12
+r
+ = 0;
+
+109 
+r
+ = 
+       `\96m_Ïyout_f\9ee_£t
+(
+eo
+, 
+f\9ee
+, 
+group
+);
+
+110 ià(!
+r
+) {
+
+111 
+       `evas_objeù_d\96
+(
+eo
+);
+
+112 \15 
+NULL
+;
+
+115 
+       `evas_objeù_size_h\9at_weight_£t
+(
+eo
+, 
+EVAS_HINT_EXPAND
+, EVAS_HINT_EXPAND);
+
+116 
+       `evas_objeù_size_h\9at_®ign_£t
+(
+eo
+, 
+EVAS_HINT_FILL
+, EVAS_HINT_FILL);
+
+117 \15 
+eo
+;
+
+118 
+       }
+}
+
+120 \12
+       $_gl_ui_rm_£ÏÎ_b\8a
+(
+Elm_Objeù_I\8bm
+ *
+nf_\99
+)
+
+122 
+       `GL_CHECK_VAL
+(
+nf_\99
+, -1);
+
+123 
+Evas_Objeù
+ *
+b\8a
+ = 
+NULL
+;
+
+124 
+b\8a
+ = 
+       `\96m_objeù_\99em_·¹_cÚ\8bÁ_g\91
+(
+nf_\99
+,
+
+125 
+GL_NAVIFRAME_TITLE_RIGHT_BTN
+);
+
+126 
+       `GL_IF_DEL_OBJ
+(
+b\8a
+);
+
+128 
+       }
+}
+
+130 \12
+       $_gl_ui_add_£ÏÎ_b\8a
+(
+Evas_Objeù
+ *
+Çviäame
+, 
+Elm_Objeù_I\8bm
+ *
+nf_\99
+,
+
+131 
+Evas_Sm¬t_Cb
+cb_func
+, \1e*
+d©a
+)
+
+133 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+134 
+       `GL_CHECK_VAL
+(
+Çviäame
+, -1);
+
+135 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+136 
+Elm_Objeù_I\8bm
+ *
+_nf_\99
+ = 
+nf_\99
+;
+
+138 ià(
+_nf_\99
+ =ð
+NULL
+) {
+
+139 
+_nf_\99
+ = 
+       `\96m_Çviäame_tÝ_\99em_g\91
+(
+Çviäame
+);
+
+140 
+       `GL_CHECK_VAL
+(
+_nf_\99
+, -1);
+
+142 
+Evas_Objeù
+ *
+£l_®l_b\8a
+ = 
+NULL
+;
+
+143 
+£l_®l_b\8a
+ = 
+       `_gl_but_ü\97\8b_image_but
+(
+Çviäame
+,
+
+144 
+GL_ICON_TITLE_SELECT_ALL
+, 
+NULL
+,
+
+145 
+GL_BUTTON_STYLE_NAVI_TITLE_ICON
+,
+
+146 
+cb_func
+, 
+d©a
+, 
+EINA_FALSE
+);
+
+147 
+       `GL_CHECK_VAL
+(
+£l_®l_b\8a
+, -1);
+
+148 
+       `\96m_objeù_\99em_·¹_cÚ\8bÁ_£t
+(
+_nf_\99
+, 
+GL_NAVIFRAME_TITLE_RIGHT_BTN
+,
+
+149 
+£l_®l_b\8a
+);
+
+150 
+ad
+->
+£l\9afo
+.
+ck_¡©e
+ = 
+çl£
+;
+
+152 
+       }
+}
+
+155 \12
+       $_gl_ui_add_x±_b\8as
+(
+Elm_Objeù_I\8bm
+ *
+nf_\99
+, 
+gl_ui_x±_b\8a_e
+x±_b\8a
+,
+
+156 
+Evas_Sm¬t_Cb
+r_cb
+, Evas_Sm¬t_Cb 
+l_cb
+, \1e*
+d©a
+)
+
+159 
+Evas_Objeù
+ *
+t\99Ë
+ = 
+NULL
+;
+
+160 
+t\99Ë
+ = 
+       `\96m_objeù_\99em_·¹_cÚ\8bÁ_g\91
+(
+nf_\99
+, "title");
+
+161 
+       `GL_CHECK_VAL
+(
+t\99Ë
+, -1);
+
+163 ià(
+x±_b\8a
+ & 
+GL_UI_XPT_CAMERA
+) {
+
+165 ià(
+x±_b\8a
+ & 
+GL_UI_XPT_SHARE
+)
+
+166 
+       `_gl_ex²_t\99Ë_add_Ëá_b\8a
+(
+t\99Ë
+, 
+GL_ICON_SHARE
+,
+
+167 
+       `_gl_¡r
+(
+GL_STR_ID_NEW_ALBUM
+),
+
+168 
+l_cb
+, 
+d©a
+);
+
+169 
+       `_gl_ex²_t\99Ë_add_right_b\8a
+(
+t\99Ë
+, 
+GL_ICON_CAMERA
+,
+
+170 
+       `_gl_¡r
+(
+GL_STR_ID_CAMERA
+), 
+r_cb
+,
+
+171 
+d©a
+);
+
+173 } \vià(
+x±_b\8a
+ & 
+GL_UI_XPT_SEL_ALL
+) {
+
+174 ià(
+x±_b\8a
+ & 
+GL_UI_XPT_DONE
+)
+
+175 
+       `_gl_ex²_t\99Ë_add_Ëá_b\8a
+(
+t\99Ë
+, 
+GL_ICON_DONE
+,
+
+176 
+       `_gl_¡r
+(
+GL_STR_ID_DONE
+),
+
+177 
+l_cb
+, 
+d©a
+);
+
+178 
+       `_gl_ex²_t\99Ë_add_right_b\8a
+(
+t\99Ë
+, 
+GL_ICON_TITLE_SELECT_ALL
+,
+
+179 
+GL_STR_SELECT_ALL
+, 
+r_cb
+, 
+d©a
+);
+
+181 
+       `gl_dbgE
+("Wrong mode!");
+
+183 
+       `_gl_ex²_t\99Ë_£t_\89s
+(
+t\99Ë
+);
+
+185 
+       }
+}
+
+187 
+Evas_Objeù
+ *
+       $_gl_ui_g\91_x±_b\8a
+(
+Elm_Objeù_I\8bm
+ *
+nf_\99
+, 
+gl_ui_x±_b\8a_e
+ui_b\8a
+)
+
+190 
+Evas_Objeù
+ *
+t\99Ë
+ = 
+NULL
+;
+
+191 
+t\99Ë
+ = 
+       `\96m_objeù_\99em_·¹_cÚ\8bÁ_g\91
+(
+nf_\99
+, "title");
+
+192 
+       `GL_CHECK_NULL
+(
+t\99Ë
+);
+
+193 
+gl_x\8d_b\8a_e
+x±_b\8a
+ = 
+GL_XPT_BTN_RIGHT
+;
+
+194 ià(
+ui_b\8a
+ & 
+GL_UI_XPT_SHARE
+)
+
+195 
+x±_b\8a
+ = 
+GL_XPT_BTN_LEFT
+;
+
+196 \15 
+       `_gl_ex²_t\99Ë_g\91_b\8a
+(
+t\99Ë
+, 
+x±_b\8a
+);
+
+197 
+       }
+}
+
+199 \12
+       $_gl_ui_di§bË_x±_b\8a
+(
+Elm_Objeù_I\8bm
+ *
+nf_\99
+, 
+gl_ui_x±_b\8a_e
+ui_b\8a
+, 
+boÞ
+b_di§bËd
+)
+
+201 
+Evas_Objeù
+ *
+b\8a
+ = 
+NULL
+;
+
+202 
+b\8a
+ = 
+       `_gl_ui_g\91_x±_b\8a
+(
+nf_\99
+, 
+ui_b\8a
+);
+
+203 ià(
+b\8a
+)
+
+204 
+       `\96m_objeù_di§bËd_£t
+(
+b\8a
+, 
+b_di§bËd
+);
+
+206 
+       `gl_dbgE
+("Failed\81o get xpt button!");
+
+208 
+       }
+}
+
+210 \12
+       $_gl_ui_þ\97r_x±_b\8as
+(
+Elm_Objeù_I\8bm
+ *
+nf_\99
+)
+
+213 
+Evas_Objeù
+ *
+t\99Ë
+ = 
+NULL
+;
+
+214 
+t\99Ë
+ = 
+       `\96m_objeù_\99em_·¹_cÚ\8bÁ_g\91
+(
+nf_\99
+, "title");
+
+215 
+       `GL_CHECK_VAL
+(
+t\99Ë
+, -1);
+
+216 
+       `_gl_ex²_t\99Ë_þ\97r_b\8as
+(
+t\99Ë
+);
+
+218 
+       }
+}
+
+221 
+Evas_Objeù
+ *
+       $_gl_ui_ü\97\8b_gridv\9bw_ly
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+·»Á
+)
+
+223 
+       `GL_CHECK_NULL
+(
+·»Á
+);
+
+224 
+       `GL_CHECK_NULL
+(
+d©a
+);
+
+225 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+226 
+       `gl_dbg
+("");
+
+228 
+Evas_Objeù
+ *
+Ïyout
+ = 
+NULL
+;
+
+229 
+Ïyout
+ = 
+       `gl_ui_lßd_edj
+(
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+, 
+GL_EDJ_FILE
+,
+
+230 
+GL_GRP_GRIDVIEW
+);
+
+231 
+       `evas_objeù_show
+(
+Ïyout
+);
+
+233 \15 
+Ïyout
+;
+
+234 
+       }
+}
+
+236 
+gl_icÚ_ty³_e
+       $_gl_ui_\96m_bg_f\9ee_£t
+(
+Evas_Objeù
+ *
+bg
+, 
+gl_\99em
+ *
+g\99
+)
+
+238 ià(
+g\99
+ =ð
+NULL
+ || g\99->
+\99em
+ == NULL) {
+
+239 
+       `gl_dbgE
+("Inv®id i\8bm :%p", 
+g\99
+);
+
+240 
+       `\96m_bg_f\9ee_£t
+(
+bg
+, 
+GL_ICON_CONTENTS_BROKEN
+, 
+NULL
+);
+
+241 \15 
+GL_ICON_CORRUPTED_FILE
+;
+
+244 
+       `\96m_bg_f\9ee_£t
+(
+bg
+, 
+       `_GET_ICON
+(
+g\99
+->
+\99em
+->
+thumb_u¾
+), 
+NULL
+);
+
+245 \15 
+GL_ICON_NORMAL
+;
+
+246 
+       }
+}
+
+248 \12
+       $_gl_ui_£t_cÚ\8bÁ
+(
+Evas_Objeù
+ *
+Ïyout
+, cڡ \ 5*
+·¹
+,
+
+249 
+Evas_Objeù
+ *
+Ãw_cÚ\8bÁ
+)
+
+251 
+       `GL_CHECK_VAL
+(
+Ïyout
+, -1);
+
+252 
+       `GL_CHECK_VAL
+(
+Ãw_cÚ\8bÁ
+, -1);
+
+253 
+Evas_Objeù
+ *
+Þd_cÚ\8bÁ
+ = 
+NULL
+;
+
+255 
+Þd_cÚ\8bÁ
+ = 
+       `\96m_objeù_·¹_cÚ\8bÁ_g\91
+(
+Ïyout
+, 
+·¹
+);
+
+256 ià(
+Þd_cÚ\8bÁ
+ && old_cÚ\8bÁ =ð
+Ãw_cÚ\8bÁ
+) {
+
+257 
+       `gl_dbg
+("Already set");
+
+261 
+       `gl_dbg
+("Set content");
+
+262 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+Ïyout
+, 
+·¹
+, 
+Ãw_cÚ\8bÁ
+);
+
+265 
+       }
+}
+
+267 \12
+       $_gl_ui_£t_toÞb¬_¡©e
+(\1e*
+d©a
+, 
+boÞ
+b_hide
+)
+
+269 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+270 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+271 
+       `GL_CHECK_VAL
+(
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+, -1);
+
+272 
+Elm_Objeù_I\8bm
+ *
+Çvi_\99
+ = 
+       `\96m_Çviäame_tÝ_\99em_g\91
+(
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+);
+
+273 
+       `GL_CHECK_VAL
+(
+Çvi_\99
+, -1);
+
+274 ià(
+b_hide
+)
+
+275 
+       `\96m_objeù_\99em_sigÇl_em\99
+(
+Çvi_\99
+, "elm,state,toolbar,instant_close",
+
+278 
+       `\96m_objeù_\99em_sigÇl_em\99
+(
+Çvi_\99
+, "elm,state,toolbar,instant_open",
+
+282 
+       }
+}
+
+284 
+boÞ
+       $_gl_ui_hide_key·d
+(\1e*
+d©a
+)
+
+286 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+287 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+288 ià(
+ad
+->
+\92\8cy\9afo
+.
+b_hide_s\9d
+) {
+
+289 ià(
+ad
+->
+\92\8cy\9afo
+.
+cڋxt
+) {
+
+290 
+ad
+->
+\92\8cy\9afo
+.
+b_hide_s\9d
+ = 
+çl£
+;
+
+291 \15 
+\8cue
+;
+
+294 \15 
+çl£
+;
+
+296 
+       }
+}
+
+298 \12
+       $_gl_ui_add_cÚfÜm_cbs
+(\1e*
+d©a
+)
+
+300 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+302 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+303 
+Evas_Objeù
+ *
+Çviäame
+ = 
+ad
+->
+ma\9a\9afo
+.naviframe;
+
+304 
+Evas_Objeù
+ *
+cÚfÜm
+ = 
+NULL
+;
+
+307 
+cÚfÜm
+ = (
+Evas_Objeù
+ *)
+       `evas_objeù_d©a_g\91
+(
+Çviäame
+,
+
+308 
+GL_NAVIFRAME_OBJ_DATA_KEY
+);
+
+309 
+       `GL_CHECK_VAL
+(
+cÚfÜm
+, -1);
+
+311 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+cÚfÜm
+, 
+GL_IMF_ON
+,
+
+312 
+__gl_ui_show_t\99Ë_toÞb¬
+, 
+d©a
+);
+
+313 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+cÚfÜm
+, 
+GL_IMF_OFF
+,
+
+314 
+__gl_ui_hide_t\99Ë_toÞb¬
+, 
+d©a
+);
+
+315 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+cÚfÜm
+, 
+GL_STA_ON
+,
+
+316 
+__gl_ui_show_t\99Ë_toÞb¬
+, 
+d©a
+);
+
+317 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+cÚfÜm
+, 
+GL_STA_OFF
+,
+
+318 
+__gl_ui_hide_t\99Ë_toÞb¬
+, 
+d©a
+);
+
+320 
+       }
+}
+
+322 \12
+       $_gl_ui_d\96_cÚfÜm_cbs
+(
+Evas_Objeù
+ *
+Çviäame
+)
+
+324 
+       `GL_CHECK_VAL
+(
+Çviäame
+, -1);
+
+325 
+Evas_Objeù
+ *
+cÚfÜm
+ = 
+NULL
+;
+
+328 
+cÚfÜm
+ = (
+Evas_Objeù
+ *)
+       `evas_objeù_d©a_g\91
+(
+Çviäame
+,
+
+329 
+GL_NAVIFRAME_OBJ_DATA_KEY
+);
+
+330 
+       `GL_CHECK_VAL
+(
+cÚfÜm
+, -1);
+
+332 
+       `evas_objeù_sm¬t_ÿÎback_d\96
+(
+cÚfÜm
+, 
+GL_IMF_ON
+,
+
+333 
+__gl_ui_show_t\99Ë_toÞb¬
+);
+
+334 
+       `evas_objeù_sm¬t_ÿÎback_d\96
+(
+cÚfÜm
+, 
+GL_IMF_OFF
+,
+
+335 
+__gl_ui_hide_t\99Ë_toÞb¬
+);
+
+336 
+       `evas_objeù_sm¬t_ÿÎback_d\96
+(
+cÚfÜm
+, 
+GL_STA_ON
+,
+
+337 
+__gl_ui_show_t\99Ë_toÞb¬
+);
+
+338 
+       `evas_objeù_sm¬t_ÿÎback_d\96
+(
+cÚfÜm
+, 
+GL_STA_OFF
+,
+
+339 
+__gl_ui_hide_t\99Ë_toÞb¬
+);
+
+341 
+       }
+}
+
+344 \12
+       $_gl_ui_£t_cÚfÜm_ov\94Ïp
+(
+Evas_Objeù
+ *
+Çviäame
+)
+
+346 
+       `GL_CHECK_VAL
+(
+Çviäame
+, -1);
+
+347 
+Evas_Objeù
+ *
+cÚfÜm
+ = 
+NULL
+;
+
+350 
+cÚfÜm
+ = (
+Evas_Objeù
+ *)
+       `evas_objeù_d©a_g\91
+(
+Çviäame
+,
+
+351 
+GL_NAVIFRAME_OBJ_DATA_KEY
+);
+
+352 
+       `GL_CHECK_VAL
+(
+cÚfÜm
+, -1);
+
+354 
+       `\96m_objeù_sigÇl_em\99
+(
+cÚfÜm
+, "elm,state,indicator,overlap", "");
+
+355 
+       `evas_objeù_d©a_£t
+(
+cÚfÜm
+, "ov\94Ïp", (\1e*)
+EINA_TRUE
+);
+
+357 
+       }
+}
+
+359 \12
+       $_gl_ui_di§bË_b\8a
+(
+Evas_Objeù
+ *
+b\8a
+)
+
+361 ià(
+b\8a
+)
+
+362 
+       `\96m_objeù_di§bËd_£t
+(
+b\8a
+, 
+EINA_TRUE
+);
+
+364 
+       }
+}
+
+366 \12
+       $_gl_ui_\92abË_b\8a
+(
+Evas_Objeù
+ *
+b\8a
+)
+
+368 ià(
+b\8a
+)
+
+369 
+       `\96m_objeù_di§bËd_£t
+(
+b\8a
+, 
+EINA_FALSE
+);
+
+371 
+       }
+}
+
+374 \12
+       $_gl_ui_di§bË_m\92u
+(
+Elm_Objeù_I\8bm
+ *
+nf_\99
+, 
+boÞ
+b_di§bËd
+)
+
+376 
+       `GL_CHECK_VAL
+(
+nf_\99
+, -1);
+
+377 
+Evas_Objeù
+ *
+b\8a
+ = 
+NULL
+;
+
+378 
+       `gl_dbg
+("mÜe: %d", 
+b_di§bËd
+);
+
+379 
+b\8a
+ = 
+       `\96m_objeù_\99em_·¹_cÚ\8bÁ_g\91
+(
+nf_\99
+, 
+GL_NAVIFRAME_MORE
+);
+
+380 ià(
+b\8a
+)
+
+381 
+       `\96m_objeù_di§bËd_£t
+(
+b\8a
+, 
+b_di§bËd
+);
+
+383 
+       }
+}
+
+386 
+Evas_Objeù
+ *
+       $_gl_ui_g\91_b\8a
+(\1e*
+d©a
+, 
+Elm_Objeù_I\8bm
+ *
+nf_\99
+,
+
+387 cڡ \ 5*
+·¹
+)
+
+389 
+Elm_Objeù_I\8bm
+ *
+_nf_\99
+ = 
+nf_\99
+;
+
+391 ià(
+_nf_\99
+ =ð
+NULL
+) {
+
+392 
+       `GL_CHECK_NULL
+(
+d©a
+);
+
+393 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+394 
+_nf_\99
+ = 
+       `\96m_Çviäame_tÝ_\99em_g\91
+(
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+);
+
+395 
+       `GL_CHECK_NULL
+(
+_nf_\99
+);
+
+398 \15 
+       `\96m_objeù_\99em_·¹_cÚ\8bÁ_g\91
+(
+_nf_\99
+, 
+·¹
+);
+
+399 
+       }
+}
+
+402 \12
+       $_gl_ui_upd©e_»®ized_li¡_ck
+(
+Evas_Objeù
+ *
+v\9bw
+, cڡ \ 5*
+·¹
+,
+
+403 
+E\9aa_BoÞ
+¡©e
+)
+
+405 
+       `GL_CHECK_VAL
+(
+·¹
+, -1);
+
+406 
+       `GL_CHECK_VAL
+(
+v\9bw
+, -1);
+
+407 
+E\9aa_Li¡
+ *
+li¡
+ = 
+NULL
+;
+
+408 
+E\9aa_Li¡
+ *
+l
+ = 
+NULL
+;
+
+409 
+Elm_Objeù_I\8bm
+ *
+\99
+ = 
+NULL
+;
+
+411 
+li¡
+ = 
+       `\96m_g\92li¡_»®ized_\99ems_g\91
+(
+v\9bw
+);
+
+412 
+       `GL_CHECK_VAL
+(
+li¡
+, -1);
+
+414 
+       `EINA_LIST_FOREACH
+(
+li¡
+, 
+l
+, 
+\99
+) {
+
+415 ià(
+\99
+ =ð
+NULL
+) {
+
+416 
+       `gl_dbgE
+("Invalid item!");
+
+419 
+       `_gl_ui_£t_checkbox_¡©e
+(
+\99
+, 
+·¹
+, 
+¡©e
+);
+
+422 
+       }
+}
+
+424 \12
+       $_gl_ui_upd©e_»®ized_grid_ck
+(
+Evas_Objeù
+ *
+v\9bw
+, cڡ \ 5*
+·¹1
+,
+
+425 cڡ \ 5*
+·¹2
+, 
+E\9aa_BoÞ
+¡©e
+)
+
+427 
+       `GL_CHECK_VAL
+(
+v\9bw
+, -1);
+
+428 
+E\9aa_Li¡
+ *
+grid
+ = 
+NULL
+;
+
+429 
+E\9aa_Li¡
+ *
+l
+ = 
+NULL
+;
+
+430 
+Elm_Objeù_I\8bm
+ *
+\99
+ = 
+NULL
+;
+
+432 
+grid
+ = 
+       `\96m_g\92grid_»®ized_\99ems_g\91
+(
+v\9bw
+);
+
+433 
+       `GL_CHECK_VAL
+(
+grid
+, -1);
+
+435 
+       `EINA_LIST_FOREACH
+(
+grid
+, 
+l
+, 
+\99
+) {
+
+436 ià(
+\99
+ =ð
+NULL
+) {
+
+437 
+       `gl_dbgE
+("Invalid item!");
+
+440 ià(
+·¹1
+)
+
+441 
+       `_gl_ui_£t_checkbox_¡©e
+(
+\99
+, 
+·¹1
+, 
+¡©e
+);
+
+442 ià(
+·¹2
+)
+
+443 
+       `_gl_ui_£t_checkbox_¡©e
+(
+\99
+, 
+·¹2
+, 
+¡©e
+);
+
+446 
+       }
+}
+
+448 \12
+       $_gl_ui_£t_checkbox_¡©e
+(
+Elm_Objeù_I\8bm
+ *
+\99
+, cڡ \ 5*
+·¹
+,
+
+449 
+E\9aa_BoÞ
+¡©e
+)
+
+451 
+       `GL_CHECK_VAL
+(
+·¹
+, -1);
+
+452 
+       `GL_CHECK_VAL
+(
+\99
+, -1);
+
+453 
+Evas_Objeù
+ *
+ck
+ = 
+NULL
+;
+
+455 
+ck
+ = 
+       `\96m_objeù_\99em_·¹_cÚ\8bÁ_g\91
+(
+\99
+, 
+·¹
+);
+
+456 ià(
+ck
+ =ð
+NULL
+) {
+
+457 
+       `gl_dbgE
+("Invalid checkbox!");
+
+461 ià(
+       `\96m_check_¡©e_g\91
+(
+ck
+è!ð
+¡©e
+)
+
+462 
+       `\96m_check_¡©e_£t
+(
+ck
+, 
+¡©e
+);
+
+464 
+       }
+}
+
+467 \12
+       $_gl_ui_upd©e_»®ized_li¡_f\9bld
+(
+Evas_Objeù
+ *
+v\9bw
+, cڡ \ 5*
+·¹
+)
+
+469 
+       `GL_CHECK_VAL
+(
+·¹
+, -1);
+
+470 
+       `GL_CHECK_VAL
+(
+v\9bw
+, -1);
+
+471 
+E\9aa_Li¡
+ *
+li¡
+ = 
+NULL
+;
+
+472 
+E\9aa_Li¡
+ *
+l
+ = 
+NULL
+;
+
+473 
+Elm_Objeù_I\8bm
+ *
+\99
+ = 
+NULL
+;
+
+475 
+li¡
+ = 
+       `\96m_g\92li¡_»®ized_\99ems_g\91
+(
+v\9bw
+);
+
+476 
+       `GL_CHECK_VAL
+(
+li¡
+, -1);
+
+478 
+       `EINA_LIST_FOREACH
+(
+li¡
+, 
+l
+, 
+\99
+) {
+
+479 ià(
+       `_gl_ui_upd©e_li¡_f\9bld
+(
+\99
+, 
+·¹
+) < 0)
+
+483 
+       }
+}
+
+485 \12
+       $_gl_ui_upd©e_li¡_f\9bld
+(
+Elm_Objeù_I\8bm
+ *
+\99
+, cڡ \ 5*
+·¹
+)
+
+487 
+       `GL_CHECK_VAL
+(
+·¹
+, -1);
+
+488 
+       `GL_CHECK_VAL
+(
+\99
+, -1);
+
+489 
+       `\96m_g\92li¡_\99em_f\9blds_upd©e
+(
+\99
+, 
+·¹
+,
+
+490 
+ELM_GENLIST_ITEM_FIELD_CONTENT
+);
+
+492 
+       }
+}
+
+494 \12
+       $_gl_ui_»£t_süÞËr_pos
+(
+Evas_Objeù
+ *
+obj
+)
+
+496 
+       `GL_CHECK_VAL
+(
+obj
+, -1);
+
+497 
+       `evas_objeù_d©a_£t
+(
+obj
+, "prev_scroller_x", (\1e*)0);
+
+498 
+       `evas_objeù_d©a_£t
+(
+obj
+, "prev_scroller_y", (\1e*)0);
+
+499 
+       `evas_objeù_d©a_£t
+(
+obj
+, "prev_scroller_w", (\1e*)0);
+
+500 
+       `evas_objeù_d©a_£t
+(
+obj
+, "prev_scroller_h", (\1e*)0);
+
+502 
+       }
+}
+
+504 \12
+       $_gl_ui_d\96_süÞËr_pos
+(
+Evas_Objeù
+ *
+obj
+)
+
+506 
+       `GL_CHECK_VAL
+(
+obj
+, -1);
+
+507 
+       `evas_objeù_d©a_d\96
+(
+obj
+, "prev_scroller_x");
+
+508 
+       `evas_objeù_d©a_d\96
+(
+obj
+, "prev_scroller_y");
+
+509 
+       `evas_objeù_d©a_d\96
+(
+obj
+, "prev_scroller_w");
+
+510 
+       `evas_objeù_d©a_d\96
+(
+obj
+, "prev_scroller_h");
+
+512 
+       }
+}
+
+514 \12
+       $_gl_ui_§ve_süÞËr_pos
+(
+Evas_Objeù
+ *
+obj
+)
+
+516 
+       `GL_CHECK_VAL
+(
+obj
+, -1);
+
+517 
+Evas_CoÜd
+x
+ = 0;
+
+518 
+Evas_CoÜd
+y
+ = 0;
+
+519 
+Evas_CoÜd
+w
+ = 0;
+
+520 
+Evas_CoÜd
+h
+ = 0;
+
+522 
+       `\96m_süÞËr_»giÚ_g\91
+(
+obj
+, &
+x
+, &
+y
+, &
+w
+, &
+h
+);
+
+523 
+       `gl_dbg
+("(%dx%d), (%dx%d)", 
+x
+, 
+y
+, 
+w
+, 
+h
+);
+
+524 
+       `evas_objeù_d©a_£t
+(
+obj
+, "´ev_süÞËr_x", (\1e*)
+x
+);
+
+525 
+       `evas_objeù_d©a_£t
+(
+obj
+, "´ev_süÞËr_y", (\1e*)
+y
+);
+
+526 
+       `evas_objeù_d©a_£t
+(
+obj
+, "´ev_süÞËr_w", (\1e*)
+w
+);
+
+527 
+       `evas_objeù_d©a_£t
+(
+obj
+, "´ev_süÞËr_h", (\1e*)
+h
+);
+
+529 
+       }
+}
+
+531 \12
+       $_gl_ui_»¡Üe_süÞËr_pos
+(
+Evas_Objeù
+ *
+obj
+)
+
+533 
+       `GL_CHECK_VAL
+(
+obj
+, -1);
+
+534 
+Evas_CoÜd
+x
+ = 0;
+
+535 
+Evas_CoÜd
+y
+ = 0;
+
+536 
+Evas_CoÜd
+w
+ = 0;
+
+537 
+Evas_CoÜd
+h
+ = 0;
+
+539 
+x
+ = (
+Evas_CoÜd
+)
+       `evas_objeù_d©a_g\91
+(
+obj
+, "prev_scroller_x");
+
+540 
+y
+ = (
+Evas_CoÜd
+)
+       `evas_objeù_d©a_g\91
+(
+obj
+, "prev_scroller_y");
+
+541 
+w
+ = (
+Evas_CoÜd
+)
+       `evas_objeù_d©a_g\91
+(
+obj
+, "prev_scroller_w");
+
+542 
+h
+ = (
+Evas_CoÜd
+)
+       `evas_objeù_d©a_g\91
+(
+obj
+, "prev_scroller_h");
+
+543 
+       `gl_dbg
+("(%dx%d), (%dx%d)", 
+x
+, 
+y
+, 
+w
+, 
+h
+);
+
+544 ià(
+w
+ > 0 && 
+h
+ > 0)
+
+545 
+       `\96m_süÞËr_»giÚ_show
+(
+obj
+, 
+x
+, 
+y
+, 
+w
+, 
+h
+);
+
+547 
+       }
+}
+
+549 \12
+       $_gl_ui_rÙ©e_v\9bw
+(\1e*
+d©a
+, \12
+v\9bw_mode
+)
+
+551 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+552 
+       `gl_dbg
+("v\9bw_mode: %d", 
+v\9bw_mode
+);
+
+554 \1a
+v\9bw_mode
+) {
+
+555 \ 4
+GL_VIEW_ALBUMS
+:
+
+556 \ 4
+GL_VIEW_ALBUMS_EDIT
+:
+
+557 \ 4
+GL_VIEW_ALBUM_REORDER
+:
+
+558 
+       `_gl_®bums_rÙ©e_v\9bw
+(
+d©a
+);
+
+560 \ 4
+GL_VIEW_ALBUMS_SELECT
+:
+
+561 
+       `_gl_®bums_£l_rÙ©e_v\9bw
+(
+d©a
+);
+
+563 \ 4
+GL_VIEW_THUMBS
+:
+
+564 \ 4
+GL_VIEW_THUMBS_EDIT
+:
+
+565 \ 4
+GL_VIEW_THUMBS_SELECT
+:
+
+566 
+       `_gl_thumbs_rÙ©e_v\9bw
+(
+d©a
+);
+
+568 \ 4
+GL_VIEW_TIMELINE
+:
+
+569 
+       `_gl_tim\96\9ae_v\9bw_rÙ©e
+(
+d©a
+);
+
+575 
+       }
+}
+
+578 \12
+       $_gl_ui_d\96_nf_\99ems
+(
+Evas_Objeù
+ *
+nf
+, 
+Elm_Objeù_I\8bm
+ *
+to_\99
+)
+
+580 
+       `GL_CHECK_VAL
+(
+nf
+, -1);
+
+581 
+E\9aa_Li¡
+ *
+nf_\99ems
+ = 
+NULL
+;
+
+582 
+E\9aa_Li¡
+ *
+l
+ = 
+NULL
+;
+
+583 
+Elm_Objeù_I\8bm
+ *
+\99
+ = 
+NULL
+;
+
+585 
+nf_\99ems
+ = 
+       `\96m_Çviäame_\99ems_g\91
+(
+nf
+);
+
+586 
+       `EINA_LIST_REVERSE_FOREACH
+(
+nf_\99ems
+, 
+l
+, 
+\99
+) {
+
+587 ià(
+\99
+ !ð
+to_\99
+) {
+
+588 
+       `gl_dbg
+("Delete one item!");
+
+589 
+       `\96m_objeù_\99em_d\96
+(
+\99
+);
+
+590 
+\99
+ = 
+NULL
+;
+
+595 
+       `e\9aa_li¡_ä\93
+(
+nf_\99ems
+);
+
+597 
+       }
+}
+
+599 \12
+       $_gl_ui_£t_\8cª¦©e_¡r
+(
+Evas_Objeù
+ *
+obj
+, cڡ \ 5*
+¡r
+)
+
+601 
+       `GL_CHECK_VAL
+(
+¡r
+, -1);
+
+602 
+       `GL_CHECK_VAL
+(
+obj
+, -1);
+
+603 \ 5*
+doma\9a
+ = 
+GL_STR_DOMAIN_LOCAL
+;
+
+604 ià(
+       `¡r¡r
+(
+¡r
+, "IDS_COM"))
+
+605 
+doma\9a
+ = 
+GL_STR_DOMAIN_SYS
+;
+
+606 
+       `\96m_objeù_doma\9a_\8cª¦©abË_\8bxt_£t
+(
+obj
+, 
+doma\9a
+, 
+¡r
+);
+
+608 
+       }
+}
+
+610 \12
+       $_gl_ui_£t_\8cª¦©abË_\99em
+(
+Elm_Objeù_I\8bm
+ *
+nf_\99
+, cڡ \ 5*
+¡r
+)
+
+612 
+       `GL_CHECK_VAL
+(
+¡r
+, -1);
+
+613 
+       `GL_CHECK_VAL
+(
+nf_\99
+, -1);
+
+614 \ 5*
+doma\9a
+ = 
+GL_STR_DOMAIN_LOCAL
+;
+
+615 ià(
+       `¡r¡r
+(
+¡r
+, "IDS_COM"))
+
+616 
+doma\9a
+ = 
+GL_STR_DOMAIN_SYS
+;
+
+617 
+       `\96m_objeù_\99em_doma\9a_\8bxt_\8cª¦©abË_£t
+(
+nf_\99
+, 
+doma\9a
+, 
+EINA_TRUE
+);
+
+619 
+       }
+}
+
+621 \12
+       $_gl_ui_£t_\8cª¦©abË_\99em_·¹
+(
+Elm_Objeù_I\8bm
+ *
+nf_\99
+, cڡ \ 5*
+·¹
+,
+
+622 cڡ \ 5*
+¡r
+)
+
+624 
+       `GL_CHECK_VAL
+(
+¡r
+, -1);
+
+625 
+       `GL_CHECK_VAL
+(
+nf_\99
+, -1);
+
+626 \ 5*
+doma\9a
+ = 
+GL_STR_DOMAIN_LOCAL
+;
+
+627 ià(
+       `¡r¡r
+(
+¡r
+, "IDS_COM"))
+
+628 
+doma\9a
+ = 
+GL_STR_DOMAIN_SYS
+;
+
+629 
+       `\96m_objeù_\99em_doma\9a_·¹_\8bxt_\8cª¦©abË_£t
+(
+nf_\99
+, 
+·¹
+, 
+doma\9a
+,
+
+630 
+EINA_TRUE
+);
+
+632 
+       }
+}
+
+634 \12
+       $_gl_ui_£t_\8cª¦©e_·¹_¡r
+(
+Evas_Objeù
+ *
+obj
+, cڡ \ 5*
+·¹
+,
+
+635 cڡ \ 5*
+¡r
+)
+
+637 
+       `GL_CHECK_VAL
+(
+¡r
+, -1);
+
+638 
+       `GL_CHECK_VAL
+(
+·¹
+, -1);
+
+639 
+       `GL_CHECK_VAL
+(
+obj
+, -1);
+
+641 \ 5*
+doma\9a
+ = 
+GL_STR_DOMAIN_LOCAL
+;
+
+642 ià(
+       `¡r¡r
+(
+¡r
+, "IDS_COM"))
+
+643 
+doma\9a
+ = 
+GL_STR_DOMAIN_SYS
+;
+
+644 
+       `\96m_objeù_doma\9a_\8cª¦©abË_·¹_\8bxt_£t
+(
+obj
+, 
+·¹
+, 
+doma\9a
+, 
+¡r
+);
+
+646 
+       }
+}
+
+649 \12
+       $_gl_ui_chªge_t\99Ë
+(
+Elm_Objeù_I\8bm
+ *
+nf_\99
+, cڡ \ 5*
+\8bxt
+)
+
+651 
+       `GL_CHECK_VAL
+(
+\8bxt
+, -1);
+
+652 
+       `GL_CHECK_VAL
+(
+nf_\99
+, -1);
+
+653 
+       `\96m_objeù_\99em_\8bxt_£t
+(
+nf_\99
+, 
+\8bxt
+);
+
+654 
+       `_gl_ui_£t_\8cª¦©abË_\99em
+(
+nf_\99
+, 
+\8bxt
+);
+
+656 
+       }
+}
+
+659 \12
+       $_gl_ui_upd©e_Ïb\96_\8bxt
+(
+Elm_Objeù_I\8bm
+ *
+nf_\99
+, \12
+£l_út
+, 
+boÞ
+b_Ïng
+)
+
+661 
+       `GL_CHECK_VAL
+(
+nf_\99
+, -1);
+
+662 
+       `gl_dbg
+("CouÁ: %d,\86ªg: %d", 
+£l_út
+, 
+b_Ïng
+);
+
+663 \ 5*
+pd_£Ëùed
+ = 
+GL_STR_PD_SELECTED
+;
+
+666 ià(
+£l_út
+ > 0) {
+
+667 \ 5*
+\8bxt
+ = 
+NULL
+;
+
+668 
+\8bxt
+ = 
+       `g_¡rdup_´\9atf
+(
+       `_gl_¡r
+(
+pd_£Ëùed
+), 
+£l_út
+);
+
+669 
+       `\96m_objeù_\99em_\8bxt_£t
+(
+nf_\99
+, 
+\8bxt
+);
+
+670 
+       `GL_GFREEIF
+(
+\8bxt
+);
+
+671 } \vià(!
+b_Ïng
+) {
+
+673 
+       `\96m_objeù_\99em_\8bxt_£t
+(
+nf_\99
+, 
+GL_STR_ID_SELECT_ITEM
+);
+
+674 
+       `_gl_ui_£t_\8cª¦©abË_\99em
+(
+nf_\99
+, 
+GL_STR_ID_SELECT_ITEM
+);
+
+677 
+       }
+}
+
+680 \12
+       $_gl_ui_chªge_Çvi_t\99Ë
+(
+Elm_Objeù_I\8bm
+ *
+nf_\99
+, \ 5*
+\8bxt
+, 
+boÞ
+b_drÝdown
+)
+
+682 
+       `GL_CHECK_VAL
+(
+\8bxt
+, -1);
+
+683 
+       `GL_CHECK_VAL
+(
+nf_\99
+, -1);
+
+685 
+       `\96m_objeù_\99em_·¹_\8bxt_£t
+(
+nf_\99
+, "\96m.\8bxt.t\99Ë", 
+       `_gl_¡r
+(
+\8bxt
+));
+
+687 
+       }
+}
+
+690 \12
+       $_gl_ui_upd©e_Çvi_t\99Ë_\8bxt
+(
+Elm_Objeù_I\8bm
+ *
+nf_\99
+, \12
+£l_út
+, 
+boÞ
+b_Ïng
+)
+
+692 
+       `GL_CHECK_VAL
+(
+nf_\99
+, -1);
+
+693 
+       `gl_dbg
+("CouÁ: %d,\86ªg: %d", 
+£l_út
+, 
+b_Ïng
+);
+
+694 \ 5*
+pd_£Ëùed
+ = 
+GL_STR_PD_SELECTED
+;
+
+696 
+Evas_Objeù
+ *
+b\8a
+ = 
+       `\96m_objeù_\99em_·¹_cÚ\8bÁ_g\91
+(
+nf_\99
+, 
+GL_NAVIFRAME_TITLE_RIGHT_BTN
+);
+
+698 ià(
+b\8a
+) {
+
+699 ià(
+£l_út
+ > 0) {
+
+700 
+       `\96m_objeù_di§bËd_£t
+(
+b\8a
+, 
+EINA_FALSE
+);
+
+702 
+       `\96m_objeù_di§bËd_£t
+(
+b\8a
+, 
+EINA_TRUE
+);
+
+707 ià(
+£l_út
+ > 0) {
+
+708 \ 5*
+\8bxt
+ = 
+NULL
+;
+
+709 
+\8bxt
+ = 
+       `g_¡rdup_´\9atf
+(
+       `_gl_¡r
+(
+pd_£Ëùed
+), 
+£l_út
+);
+
+710 
+       `\96m_objeù_\99em_·¹_\8bxt_£t
+(
+nf_\99
+, "\96m.\8bxt.t\99Ë", 
+       `_gl_¡r
+(
+\8bxt
+));
+
+711 
+       `gl_dbg
+("Tex\88i : %s", 
+\8bxt
+);
+
+712 
+       `GL_GFREEIF
+(
+\8bxt
+);
+
+713 } \vià(!
+b_Ïng
+) {
+
+715 
+       `gl_dbg
+("Tex\88i : %s", 
+GL_STR_ID_SELECT_ITEM
+);
+
+716 
+       `\96m_objeù_\99em_·¹_\8bxt_£t
+(
+nf_\99
+, "\96m.\8bxt.t\99Ë", 
+       `_gl_¡r
+(
+GL_STR_ID_SELECT_ITEM
+));
+
+719 
+       }
+}
+
+721 \12
+       $_gl_ui_add_£ÏÎ_ck
+(
+Evas_Objeù
+ *
+·»Á
+, \ 5*
+·¹
+, \ 5*
+·¹_b\8a
+,
+
+722 
+Evas_Sm¬t_Cb
+cb_func
+, \1e*
+d©a
+)
+
+724 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+725 
+       `GL_CHECK_VAL
+(
+·»Á
+, -1);
+
+726 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+727 
+Evas_Objeù
+ *
+£l_®l_b\8a
+ = 
+NULL
+;
+
+728 
+Evas_Objeù
+ *
+£l_®l_ck
+ = 
+NULL
+;
+
+730 
+       `_gl_ui_£t_\8cª¦©e_·¹_¡r
+(
+·»Á
+, "£Ëù.®l.¬\97.Ïb\96", 
+GL_STR_ID_SELECT_ALL
+);
+
+731 ià(
+·¹
+) {
+
+732 
+£l_®l_ck
+ = 
+       `\96m_check_add
+(
+·»Á
+);
+
+733 
+       `GL_CHECK_VAL
+(
+£l_®l_ck
+, -1);
+
+734 
+       `\96m_check_¡©e_£t
+(
+£l_®l_ck
+, 
+EINA_FALSE
+);
+
+735 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+·»Á
+, "£Ëù.®l.¬\97.check", 
+£l_®l_ck
+);
+
+736 
+ad
+->
+£l\9afo
+.
+£Ëù®l_ck
+ = 
+£l_®l_ck
+;
+
+737 ià(
+·¹_b\8a
+) {
+
+738 
+£l_®l_b\8a
+ = 
+       `\96m_bu\89Ú_add
+(
+·»Á
+);
+
+739 
+       `GL_CHECK_VAL
+(
+£l_®l_b\8a
+, -1);
+
+740 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+·»Á
+, "£Ëù.®l.¬\97.check.fg", 
+£l_®l_b\8a
+);
+
+741 
+       `\96m_objeù_¡yË_£t
+(
+£l_®l_b\8a
+, "transparent");
+
+742 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+£l_®l_b\8a
+, "þicked", 
+cb_func
+, 
+d©a
+);
+
+746 
+       }
+}
+
+748 #ifdeà
+_USE_GRID_CHECK
+
+
+749 \12
+       $_gl_show_grid_checks
+(
+Evas_Objeù
+ *
+v\9bw
+, cڡ \ 5*
+ck_·¹
+)
+
+751 
+       `GL_CHECK_VAL
+(
+ck_·¹
+, -1);
+
+752 
+       `GL_CHECK_VAL
+(
+v\9bw
+, -1);
+
+754 
+Elm_Objeù_I\8bm
+ *
+f\9c¡_\99
+ = 
+NULL
+;
+
+755 
+Elm_Objeù_I\8bm
+ *
+Ãxt_\99
+ = 
+NULL
+;
+
+756 
+Elm_Objeù_I\8bm
+ *
+ϡ_\99
+ = 
+NULL
+;
+
+757 
+f\9c¡_\99
+ = 
+       `\96m_g\92grid_f\9c¡_\99em_g\91
+(
+v\9bw
+);
+
+758 
+ϡ_\99
+ = 
+       `\96m_g\92grid_Ï¡_\99em_g\91
+(
+v\9bw
+);
+
+759 ià(
+f\9c¡_\99
+)
+
+760 
+       `\96m_g\92grid_\99em_upd©e
+(
+f\9c¡_\99
+);
+
+761 \1f
+f\9c¡_\99
+) {
+
+762 
+Ãxt_\99
+ = 
+       `\96m_g\92grid_\99em_Ãxt_g\91
+(
+f\9c¡_\99
+);
+
+763 ià(
+Ãxt_\99
+ =ð
+NULL
+) {
+
+764 
+       `gl_dbgE
+("Invalid item! Break!");
+
+767 
+       `\96m_g\92grid_\99em_upd©e
+(
+Ãxt_\99
+);
+
+768 
+f\9c¡_\99
+ = 
+Ãxt_\99
+;
+
+769 ià(
+ϡ_\99
+ =ð
+f\9c¡_\99
+) {
+
+770 
+       `gl_dbg
+("done!");
+
+775 
+       }
+}
+
+777 \12
+       $_gl_show_grid_checks_du®
+(
+Evas_Objeù
+ *
+v\9bw
+, cڡ \ 5*
+ck_·¹
+, cڡ \ 5*
+ck_·¹2
+)
+
+779 
+       `GL_CHECK_VAL
+(
+ck_·¹
+, -1);
+
+780 
+       `GL_CHECK_VAL
+(
+v\9bw
+, -1);
+
+782 
+Elm_Objeù_I\8bm
+ *
+f\9c¡_\99
+ = 
+NULL
+;
+
+783 
+Elm_Objeù_I\8bm
+ *
+Ãxt_\99
+ = 
+NULL
+;
+
+784 
+Elm_Objeù_I\8bm
+ *
+ϡ_\99
+ = 
+NULL
+;
+
+785 
+f\9c¡_\99
+ = 
+       `\96m_g\92grid_f\9c¡_\99em_g\91
+(
+v\9bw
+);
+
+786 
+ϡ_\99
+ = 
+       `\96m_g\92grid_Ï¡_\99em_g\91
+(
+v\9bw
+);
+
+787 ià(
+f\9c¡_\99
+)
+
+788 
+       `\96m_g\92grid_\99em_upd©e
+(
+f\9c¡_\99
+);
+
+789 \1f
+f\9c¡_\99
+) {
+
+790 
+Ãxt_\99
+ = 
+       `\96m_g\92grid_\99em_Ãxt_g\91
+(
+f\9c¡_\99
+);
+
+791 ià(
+Ãxt_\99
+ =ð
+NULL
+) {
+
+792 
+       `gl_dbgE
+("Invalid item! Break!");
+
+795 
+       `\96m_g\92grid_\99em_upd©e
+(
+Ãxt_\99
+);
+
+796 
+f\9c¡_\99
+ = 
+Ãxt_\99
+;
+
+797 ià(
+ϡ_\99
+ =ð
+f\9c¡_\99
+) {
+
+798 
+       `gl_dbg
+("done!");
+
+803 
+       }
+}
+
+       @src/util/gl-util.c
+
+18 \ 2
+       ~<dlfú.h
+>
+
+19 #ifdeà
+_USE_SVI
+
+
+20 \ 2
+       ~<svi.h
+>
+
+22 \ 2
+       ~<med\9f_cÚ\8bÁ.h
+>
+
+23 \ 2
+       ~<sy¡em_£\89\9ags.h
+>
+
+24 \ 2
+       ~<¡Üage.h
+>
+
+25 \ 2
+       ~"gl-debug.h
+"
+
+26 \ 2
+       ~"g®Ëry.h
+"
+
+27 \ 2
+       ~"gl-®bums.h
+"
+
+28 \ 2
+       ~"gl-thumbs.h
+"
+
+29 \ 2
+       ~"gl-ut\9e.h
+"
+
+30 \ 2
+       ~"gl-ui-ut\9e.h
+"
+
+31 \ 2
+       ~"gl-cÚ\8cÞb¬.h
+"
+
+32 \ 2
+       ~"gl-th»ad-ut\9e.h
+"
+
+33 \ 2
+       ~"gl-pÝup.h
+"
+
+34 \ 2
+       ~"gl-ùxpÝup.h
+"
+
+35 \ 2
+       ~"gl-´og»ssb¬.h
+"
+
+36 \ 2
+       ~"gl-ext-ug-lßd.h
+"
+
+37 \ 2
+       ~"gl-ext-exec.h
+"
+
+38 \ 2
+       ~"gl-p\9achzoom.h
+"
+
+39 \ 2
+       ~"gl-®bums-£l.h
+"
+
+40 \ 2
+       ~"gl-thumbs-£l.h
+"
+
+41 \ 2
+       ~"gl-thumbs-ed\99.h
+"
+
+42 \ 2
+       ~"gl-nÙify.h
+"
+
+43 \ 2
+       ~"gl-ed\99f\9bld.h
+"
+
+44 \ 2
+       ~"gl-¡r\9ags.h
+"
+
+45 \ 2
+       ~"gl-icÚs.h
+"
+
+46 \ 2
+       ~"gl-d©a-ty³.h
+"
+
+47 \ 2
+       ~"gl-fs.h
+"
+
+48 \ 2
+       ~"gl-db-upd©e.h
+"
+
+49 #ifdeà
+_USE_ROTATE_BG
+
+
+50 \ 2
+       ~"gl-exif.h
+"
+
+52 \ 2
+       ~"gl-tim\96\9ae.h
+"
+
+53 \ 2
+       ~"gl-f\9ee-ut\9e.h
+"
+
+55 \ 1
+       #GL_FILE_COPY_BUF_MAX
+ 16384
+
+       )
+
+57 \ 1
+       #GL_TIMER_INTERVAL_PBAR_SHOWED
+ 0.5
+
+       )
+
+58 \ 1
+       #GL_TIMER_INTERVAL_VIBRATION
+ 0.5
+
+       )
+
+59 #ifdeà
+_USE_ROTATE_BG
+
+
+60 \ 1
+       #GL_ROTATE_DELAY
+ 0.25
+
+       )
+
+62 \ 1
+       #GL_SO_PATH_IMAGEVIEWER
+ "/u¤/ug/lib/libug-image-v\9bw\94-eæ.so"
+
+       )
+
+63 \ 1
+       #GL_FS_MIN_SIZE
+ (500 * 1024)
+
+       )
+
+66 \18
+E\9aa_BoÞ
+       $_gl_¡¬t_th»ad_Ý_tim\94_cb
+(\1e*
+d©a
+)
+
+68 
+       `gl_dbg
+("Emit START signal...");
+
+69 
+       `GL_CHECK_CANCEL
+(
+d©a
+);
+
+70 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+72 
+       `gl_th»ad_em\99_Ãxt_sigÇl
+(
+ad
+);
+
+73 
+       `GL_IF_DEL_TIMER
+(
+ad
+->
+pb¬\9afo
+.
+¡¬t_th»ad_tim\94
+);
+
+74 \15 
+ECORE_CALLBACK_CANCEL
+;
+
+75 
+       }
+}
+
+81 \12
+       $_gl_u£_th»ad_Ý\94©e_med\9fs
+(\1e*
+d©a
+, \ 5*
+pb¬_t\99Ë
+, \12
+®l_út
+,
+
+82 \12
+Ý_ty³
+)
+
+84 
+       `gl_dbg
+("®l_út: %d, op_ty³: %d.", 
+®l_út
+, 
+Ý_ty³
+);
+
+85 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+86 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+89 
+       `gl_th»ad_\9a\99_lock
+(
+ad
+);
+
+91 
+       `gl_pb_make_th»ad_pb¬_wh\93l
+(
+ad
+,\87d->
+ma\9a\9afo
+.
+w\9a
+, 
+pb¬_t\99Ë
+);
+
+93 
+       `gl_th»ad_£t_ÿnûl_¡©e
+(
+ad
+, 
+GL_PB_CANCEL_NORMAL
+);
+
+95 
+       `gl_pb_»äesh_th»ad_pb¬
+(
+ad
+, 0, 
+®l_út
+);
+
+97 
+       `GL_IF_DEL_TIMER
+(
+ad
+->
+pb¬\9afo
+.
+¡¬t_th»ad_tim\94
+);
+
+98 
+EcÜe_Tim\94
+ *
+tim\94
+ = 
+NULL
+;
+
+99 
+tim\94
+ = 
+       `ecÜe_tim\94_add
+(
+GL_TIMER_INTERVAL_PBAR_SHOWED
+,
+
+100 
+_gl_¡¬t_th»ad_Ý_tim\94_cb
+, 
+ad
+);
+
+101 
+ad
+->
+pb¬\9afo
+.
+¡¬t_th»ad_tim\94
+ = 
+tim\94
+;
+
+103 
+ad
+->
+ma\9a\9afo
+.
+med\9fs_Ý_ty³
+ = 
+Ý_ty³
+;
+
+105 
+       `gl_th»ad_g\92_d©a_th»ad
+(
+ad
+);
+
+107 
+       }
+}
+
+109 
+boÞ
+       $__gl_ut\9e_g\91_suµÜ\8bd_¡Üages_ÿÎback
+(\12
+¡ÜageId
+, 
+¡Üage_ty³_e
+ty³
+, 
+¡Üage_¡©e_e
+¡©e
+, cڡ \ 5*
+·th
+, \1e*
+d©a
+)
+
+111 
+       `GL_CHECK_FALSE
+(
+d©a
+);
+
+113 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+114 ià(
+ty³
+ =ð
+STORAGE_TYPE_EXTERNAL
+) {
+
+115 
+ad
+->
+ma\9a\9afo
+.
+ex\8bº®StÜageId
+ = 
+¡ÜageId
+;
+
+116 \15 
+çl£
+;
+
+118 \15 
+\8cue
+;
+
+119 
+       }
+}
+
+121 \18
+E\9aa_BoÞ
+       $__gl_db_upd©e_nÙi_idËr_cb
+(\1e*
+d©a
+)
+
+123 
+       `GL_CHECK_FALSE
+(
+d©a
+);
+
+124 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+125 
+       `gl_dbgW
+("Storage state changed!");
+
+126 \12
+\94rÜ_code
+ = -1;
+
+128 
+\94rÜ_code
+ = 
+       `¡Üage_fÜ\97ch_deviû_suµÜ\8bd
+(
+__gl_ut\9e_g\91_suµÜ\8bd_¡Üages_ÿÎback
+, 
+ad
+);
+
+129 ià(
+\94rÜ_code
+ =ð
+STORAGE_ERROR_NONE
+) {
+
+130 
+¡Üage_¡©e_e
+¡©e
+;
+
+131 
+\94rÜ_code
+ = 
+       `¡Üage_g\91_¡©e
+(
+ad
+->
+ma\9a\9afo
+.
+ex\8bº®StÜageId
+, &
+¡©e
+);
+
+132 ià(
+\94rÜ_code
+ =ð
+STORAGE_ERROR_NONE
+) {
+
+133 ià(
+¡©e
+ =ð
+STORAGE_STATE_MOUNTED
+) {
+
+134 
+       `gl_dbg
+("¡©e[%d] : STORAGE_STATE_MOUNTED", 
+¡©e
+);
+
+135 ià(
+ad
+->
+ma\9a\9afo
+.
+mmc_¡©e
+ =ð
+GL_MMC_STATE_REMOVED
+)
+
+136 
+ad
+->
+ma\9a\9afo
+.
+mmc_¡©e
+ = 
+GL_MMC_STATE_ADDING_MOVING
+;
+
+138 
+ad
+->
+ma\9a\9afo
+.
+mmc_¡©e
+ = 
+GL_MMC_STATE_ADDED
+;
+
+140 
+       `gl_upd©e_v\9bw
+(
+ad
+, 
+GL_UPDATE_VIEW_MMC_ADDED
+);
+
+144 
+       `_gl_ùxpÝup_d\96
+(
+ad
+);
+
+145 } \vià(
+¡©e
+ =ð
+STORAGE_STATE_REMOVED
+ ||
+
+146 
+¡©e
+ =ð
+STORAGE_STATE_UNMOUNTABLE
+) {
+
+147 
+       `gl_dbg
+("¡©e[%d] : STORAGE_STATE_REMOVED", 
+¡©e
+);
+
+148 ià(
+ad
+->
+ma\9a\9afo
+.
+mmc_¡©e
+ =ð
+GL_MMC_STATE_ADDED_MOVING
+) {
+
+153 
+       `gl_th»ad_£t_ÿnûl_¡©e
+(
+ad
+, 
+GL_PB_CANCEL_MMC
+);
+
+155 
+ad
+->
+ma\9a\9afo
+.
+mmc_¡©e
+ = 
+GL_MMC_STATE_REMOVED_MOVING
+;
+
+156 } \vià(
+ad
+->
+ma\9a\9afo
+.
+mmc_¡©e
+ =ð
+GL_MMC_STATE_REMOVED_MOVING
+) {
+
+157 
+       `gl_dbgW
+("View updated on GL_MMC_STATE_ADDED_MOVING");
+
+158 
+       `GL_IF_DEL_IDLER
+(
+ad
+->
+ma\9a\9afo
+.
+mmc_idËr
+);
+
+159 \15 
+ECORE_CALLBACK_CANCEL
+;
+
+162 
+ad
+->
+ma\9a\9afo
+.
+mmc_¡©e
+ = 
+GL_MMC_STATE_REMOVED
+;
+
+164 
+       `gl_upd©e_v\9bw
+(
+ad
+, 
+GL_UPDATE_VIEW_MMC_REMOVED
+);
+
+168 
+       `_gl_ùxpÝup_d\96
+(
+ad
+);
+
+172 
+       `gl_dbgE
+("Error when check MMC Status");
+
+173 
+       `GL_IF_DEL_IDLER
+(
+ad
+->
+ma\9a\9afo
+.
+mmc_idËr
+);
+
+174 \15 
+ECORE_CALLBACK_CANCEL
+;
+
+175 
+       }
+}
+
+177 \1e
+       $_gl_db_upd©e_sdÿrd_\9afo
+(\12
+¡Üage_id
+, 
+¡Üage_¡©e_e
+¡©e
+, \1e*
+u£r_d©a
+) {
+
+179 
+       `GL_CHECK
+(
+u£r_d©a
+);
+
+180 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+u£r_d©a
+;
+
+181 
+       `GL_IF_DEL_IDLER
+(
+ad
+->
+ma\9a\9afo
+.
+mmc_idËr
+);
+
+182 
+       `gl_dbg
+("mmc_idËr: %p", 
+ad
+->
+ma\9a\9afo
+.
+mmc_idËr
+);
+
+183 
+ad
+->
+ma\9a\9afo
+.
+mmc_idËr
+ = 
+       `ecÜe_idËr_add
+(
+__gl_db_upd©e_nÙi_idËr_cb
+,
+
+184 
+u£r_d©a
+);
+
+185 
+       }
+}
+
+187 \18
+\9al\9ae
\12
+       $__gl_£t_sound_¡©us
+(\1e*
+d©a
+, \12
+¡©us
+)
+
+189 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+190 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+191 
+ad
+->
+ma\9a\9afo
+.
+sound_¡©us
+ = 
+¡©us
+;
+
+193 
+       }
+}
+
+195 \18\12
+       $__gl_g\91_sound_¡©us
+(\1e*
+d©a
+)
+
+197 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+199 
+boÞ
+check
+ = 
+çl£
+;
+
+200 \12
+»tcode
+ = 
+       `sy¡em_£\89\9ags_g\91_v®ue_boÞ
+(
+SYSTEM_SETTINGS_KEY_SOUND_SILENT_MODE
+, &
+check
+);
+
+201 ià(
+»tcode
+ !ð
+SYSTEM_SETTINGS_ERROR_NONE
+) {
+
+202 
+       `gl_dbgE
+("Failed\81o get sound status!");
+
+206 
+       `gl_dbg
+("sound: %d", 
+check
+);
+
+207 
+       `__gl_£t_sound_¡©us
+(
+d©a
+, (
+check
+ =ð
+\8cue
+) ? 0 : 1);
+
+209 
+       }
+}
+
+211 \18\1e
+       $__gl_chªge_sound_¡©us_cb
+(
+sy¡em_£\89\9ags_key_e
+key
+, \1e*
+d©a
+)
+
+213 
+       `__gl_g\91_sound_¡©us
+(
+d©a
+);
+
+214 
+       }
+}
+
+216 \18\12
+       $__gl_»g_svi_nÙi
+(\1e*
+d©a
+)
+
+218 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+219 \12
+»tcode
+ = 
+       `sy¡em_£\89\9ags_£t_chªged_cb
+(
+SYSTEM_SETTINGS_KEY_SOUND_SILENT_MODE
+,
+
+220 
+__gl_chªge_sound_¡©us_cb
+, 
+d©a
+);
+
+221 ià(
+»tcode
+ !ð
+SYSTEM_SETTINGS_ERROR_NONE
+) {
+
+222 
+       `gl_dbgE
+("Failed\81o\84egister\81he sound status callback");
+
+226 
+       }
+}
+
+228 \18\12
+       $__gl_d\94eg_svi_nÙi
+(\1e)
+
+230 \12
+»tcode
+ = 
+       `sy¡em_£\89\9ags_un£t_chªged_cb
+ (
+SYSTEM_SETTINGS_KEY_SOUND_SILENT_MODE
+);
+
+231 ià(
+»tcode
+ !ð
+SYSTEM_SETTINGS_ERROR_NONE
+) {
+
+232 
+       `gl_dbgE
+("Failed\81o un-register\81he sound status callback");
+
+236 
+       }
+}
+
+239 \18
+boÞ
+       $_gl_check_mmc_f\9ee_£Ëùed
+(\1e*
+d©a
+)
+
+241 
+       `gl_dbg
+("");
+
+242 
+       `GL_CHECK_FALSE
+(
+d©a
+);
+
+243 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+244 
+gl_\99em
+ *
+g\99em
+ = 
+NULL
+;
+
+245 \12
+i
+ = 0;
+
+246 \12
+Ú_mmc
+ = -1;
+
+247 \12
+út
+ = 
+       `_gl_d©a_£Ëùed_li¡_couÁ
+(
+ad
+);
+
+248 \ f
+i
+ = 0; i < 
+út
+; i++) {
+
+249 
+g\99em
+ = 
+NULL
+;
+
+250 
+Ú_mmc
+ = -1;
+
+252 
+g\99em
+ = 
+       `_gl_d©a_£Ëùed_li¡_g\91_Áh
+(
+ad
+, 
+i
+);
+
+254 ià(
+g\99em
+ && g\99em->
+\99em
+ && g\99em->\99em->
+f\9ee_u¾
+) {
+
+255 
+Ú_mmc
+ = 
+       `¡ºcmp
+(
+GL_ROOT_PATH_MMC
+,
+
+256 
+g\99em
+->
+\99em
+->
+f\9ee_u¾
+,
+
+257 
+       `¡¾\92
+(
+GL_ROOT_PATH_MMC
+));
+
+258 ià(
+Ú_mmc
+ == 0)
+
+259 \15 
+\8cue
+;
+
+262 \15 
+çl£
+;
+
+263 
+       }
+}
+
+266 \18
+E\9aa_BoÞ
+       $__gl_f\9ee_ý
+(\1e*
+d©a
+, cڡ \ 5*
+¤c
+, cڡ \ 5*
+d¡
+)
+
+268 
+       `GL_CHECK_FALSE
+(
+¤c
+);
+
+269 
+       `GL_CHECK_FALSE
+(
+d¡
+);
+
+271 ià(
+       `_gl_fs_cÝy
+(
+d©a
+, 
+¤c
+, 
+d¡
+)) {
+
+272 ià(
+       `_gl_loÿl_d©a_add_med\9f
+(
+d¡
+, 
+NULL
+) < 0) {
+
+273 
+       `gl_dbgE
+("Copy media\81humbnail failed!");
+
+274 \15 
+EINA_FALSE
+;
+
+277 
+       `gl_dbgE
+("Copy file failed!");
+
+278 \15 
+EINA_FALSE
+;
+
+280 \15 
+EINA_TRUE
+;
+
+281 
+       }
+}
+
+284 \18
+E\9aa_BoÞ
+       $__gl_f\9ee_mv
+(\1e*
+d©a
+, 
+gl_\99em
+ *
+g\99em
+, cڡ \ 5*
+¤c
+, cڡ \ 5*
+d¡
+, \12
+mc_mode
+)
+
+286 
+       `GL_CHECK_FALSE
+(
+¤c
+);
+
+287 
+       `GL_CHECK_FALSE
+(
+d¡
+);
+
+288 
+       `GL_CHECK_FALSE
+(
+g\99em
+);
+
+289 
+       `GL_CHECK_FALSE
+(
+d©a
+);
+
+291 ià(
+       `_gl_fs_move
+(
+d©a
+, 
+¤c
+, 
+d¡
+)) {
+
+292 ià(
+       `_gl_loÿl_d©a_move_med\9f
+(
+g\99em
+->
+\99em
+, 
+d¡
+) < 0) {
+
+293 
+       `gl_dbgE
+("Move media\81humbnail failed!");
+
+294 \15 
+EINA_FALSE
+;
+
+297 
+       `gl_dbgE
+("Move file failed!");
+
+298 \15 
+EINA_FALSE
+;
+
+301 \15 
+EINA_TRUE
+;
+
+302 
+       }
+}
+
+304 \12
+       $gl_g\91_\92\8cy_\8bxt
+(
+Evas_Objeù
+ * 
+\92\8cy
+, \ 5*
+\92\8cy_\8bxt
+, \12
+Ën_max
+)
+
+306 
+       `gl_dbg
+("");
+
+307 
+       `GL_CHECK_VAL
+(
+\92\8cy_\8bxt
+, -1);
+
+308 
+       `GL_CHECK_VAL
+(
+\92\8cy
+, -1);
+
+310 
+       `mem£t
+(
+\92\8cy_\8bxt
+, 0x00, 
+Ën_max
+);
+
+312 \ 5*
+\92\8cy_¡r
+ = (\ 5*)
+       `\96m_\92\8cy_\92\8cy_g\91
+(
+\92\8cy
+);
+
+313 ià(
+\92\8cy_¡r
+)
+
+315 ià(
+       `¡¾\92
+(
+\92\8cy_¡r
+) == 0)
+
+317 
+       `gl_dbg
+("Entry string is\83mpty!");
+
+321 \ 5*
+\92\8cy_utf8
+ = 
+       `\96m_\92\8cy_m¬kup_to_utf8
+(
+\92\8cy_¡r
+);
+
+322 ià(
+\92\8cy_utf8
+ =ð
+NULL
+)
+
+324 
+       `gl_dbgE
+("Make\83ntry string\81o UTF8 failed!");
+
+327 \vià(
+       `¡¾\92
+(
+\92\8cy_utf8
+) == 0)
+
+329 
+       `gl_dbg
+("Entry\81ext is\83mpty!");
+
+333 
+       `g_¡¾ýy
+(
+\92\8cy_\8bxt
+, 
+\92\8cy_utf8
+, 
+Ën_max
+);
+
+334 
+\92\8cy_\8bxt
+[
+Ën_max
+ - 1] = '\0';
+
+337 
+       `GL_FREE
+(
+\92\8cy_utf8
+);
+
+342 
+       `gl_dbgE
+("Get\83ntry string failed!");
+
+347 
+       }
+}
+
+354 \12
+       $gl_£t_\92\8cy_\8bxt
+(
+Evas_Objeù
+ *
+\92\8cy
+, \ 5*
+\92\8cy_\8bxt
+)
+
+356 
+       `GL_CHECK_VAL
+(
+\92\8cy
+, -1);
+
+357 \ 5*
+\92\8cy_makeup
+ = 
+NULL
+;
+
+358 
+       `gl_dbg
+("EÁry UTF8\81ext: %s.", 
+\92\8cy_\8bxt
+);
+
+360 ià(
+\92\8cy_\8bxt
+) {
+
+361 
+\92\8cy_makeup
+ = 
+       `\96m_\92\8cy_utf8_to_m¬kup
+(
+\92\8cy_\8bxt
+);
+
+362 ià(
+\92\8cy_makeup
+ =ð
+NULL
+) {
+
+363 
+       `gl_dbgE
+("Make utf8 string\81o makeup failed!");
+
+366 
+       `gl_dbg
+("EÁry makeu°\8bxt: %s.", 
+\92\8cy_makeup
+);
+
+369 
+       `\96m_\92\8cy_\92\8cy_£t
+(
+\92\8cy
+, 
+\92\8cy_makeup
+);
+
+371 
+       `GL_FREEIF
+(
+\92\8cy_makeup
+);
+
+373 
+       }
+}
+
+387 \12
+       $_gl_g\91_v®id_®bum_Çme
+(\1e*
+d©a
+, \ 5*
+®bum_Çme
+, 
+boÞ
+b_Ãw
+,
+
+388 
+boÞ
+b_\92\8br
+)
+
+390 
+       `GL_CHECK_VAL
+(
+®bum_Çme
+, -1);
+
+391 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+392 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+393 \12
+mode
+ = 0;
+
+394 
+       `gl_sdbg
+("IÅu\88®bum\82ame: %s", 
+®bum_Çme
+);
+
+395 \ 5*
+pÝup_desc
+;
+
+396 
+pÝup_desc
+ = (\ 5*)
+       `ÿÎoc
+(
+GL_POPUP_STRING_MAX
+, \17(\ 5));
+
+397 ià(
+pÝup_desc
+ =ð
+NULL
+) {
+
+398 
+       `gl_dbg
+("memory\87llocation fail");
+
+402 ià(
+       `¡¾\92
+(
+®bum_Çme
+) == 0) {
+
+403 
+       `gl_dbgW
+("Inserted\81ext is\83mpty!");
+
+404 ià(
+b_\92\8br
+) {
+
+405 
+       `gl_dbg
+("Enter key\85ressed.");
+
+406 \10
+INVALID_ALBUM_NAME
+;
+
+409 ià(
+b_Ãw
+)
+
+410 
+mode
+ = 
+GL_POPUP_ALBUM_NEW_EMPTY
+;
+
+412 
+mode
+ = 
+GL_POPUP_ALBUM_RENAME_EMPTY
+;
+
+413 
+       `¢´\9atf
+(
+pÝup_desc
+, 
+GL_POPUP_STRING_MAX
+, "%s<br>%s",
+
+414 
+GL_STR_ENTRY_IS_EMPTY
+, 
+GL_STR_RETRY_Q
+);
+
+415 
+       `gl_pÝup_ü\97\8b_pÝup
+(
+ad
+, 
+mode
+, 
+pÝup_desc
+);
+
+416 \10
+INVALID_ALBUM_NAME
+;
+
+418 
+       `gl_sdbg
+("In£¹ed\87lbum\82ame: %s,\86\92gth: %d", 
+®bum_Çme
+, 
+       `¡¾\92
+(album_name));
+
+421 
+       `g_¡r¡r\9d
+((
+gch¬
+ *)
+®bum_Çme
+);
+
+422 ià(
+       `¡¾\92
+(
+®bum_Çme
+) == 0) {
+
+423 
+       `gl_dbgW
+("Album\82ame includes only space!");
+
+424 ià(
+b_\92\8br
+) {
+
+425 
+       `gl_dbg
+("Enter key\85ressed.");
+
+426 \10
+INVALID_ALBUM_NAME
+;
+
+429 ià(
+b_Ãw
+)
+
+430 
+mode
+ = 
+GL_POPUP_ALBUM_NEW_EMPTY
+;
+
+432 
+mode
+ = 
+GL_POPUP_ALBUM_RENAME_EMPTY
+;
+
+433 
+       `¢´\9atf
+(
+pÝup_desc
+, 
+GL_POPUP_STRING_MAX
+, "%s<br>%s",
+
+434 
+GL_STR_INVALID_INPUT_PARAMETER
+, 
+GL_STR_RETRY_Q
+);
+
+435 
+       `gl_pÝup_ü\97\8b_pÝup
+(
+ad
+, 
+mode
+, 
+pÝup_desc
+);
+
+436 \10
+INVALID_ALBUM_NAME
+;
+
+440 ià(
+       `_gl_fs_v®id©e_Çme
+(
+®bum_Çme
+è=ð
+çl£
+) {
+
+441 
+       `gl_dbgW
+("Album\82ame includes invalid character!");
+
+442 ià(
+b_Ãw
+)
+
+443 
+mode
+ = 
+GL_POPUP_ALBUM_NEW_INVALID
+;
+
+445 
+mode
+ = 
+GL_POPUP_ALBUM_RENAME_INVALID
+;
+
+446 
+       `¢´\9atf
+(
+pÝup_desc
+, 
+GL_POPUP_STRING_MAX
+, "%s<br>%s",
+
+447 
+GL_STR_INVALID_INPUT_PARAMETER
+, 
+GL_STR_RETRY_Q
+);
+
+448 
+       `gl_pÝup_ü\97\8b_pÝup
+(
+ad
+, 
+mode
+, 
+pÝup_desc
+);
+
+449 \10
+INVALID_ALBUM_NAME
+;
+
+452 
+       `GL_FREE
+(
+pÝup_desc
+);
+
+456 
+INVALID_ALBUM_NAME
+:
+
+457 
+       `GL_FREE
+(
+pÝup_desc
+);
+
+459 
+       }
+}
+
+461 \12
+       $_gl_v®id©e_®bum_Çme
+(\1e*
+d©a
+, \ 5*
+®bum_Çme
+)
+
+463 
+       `GL_CHECK_VAL
+(
+®bum_Çme
+, -1);
+
+464 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+465 
+       `gl_sdbg
+("IÅu\88®bum\82ame: %s", 
+®bum_Çme
+);
+
+468 ià(
+       `¡¾\92
+(
+®bum_Çme
+) == 0) {
+
+469 
+       `gl_dbgW
+("Inserted\81ext is\83mpty!");
+
+470 
+       `_gl_pÝup_ü\97\8b_loÿl
+(
+d©a
+, 
+GL_POPUP_NOBUT
+, 
+GL_STR_ID_ENTRY_IS_EMPTY
+);
+
+471 \10
+INVALID_ALBUM_NAME
+;
+
+475 
+       `g_¡r¡r\9d
+((
+gch¬
+ *)
+®bum_Çme
+);
+
+476 
+       `gl_sdbg
+("In£¹ed\87lbum\82ame: %s,\86\92gth: %d", 
+®bum_Çme
+, 
+       `¡¾\92
+(album_name));
+
+478 ià(
+       `¡¾\92
+(
+®bum_Çme
+) == 0) {
+
+479 
+       `gl_dbgW
+("Album\82ame includes only space!");
+
+480 
+       `_gl_pÝup_ü\97\8b_loÿl
+(
+d©a
+, 
+GL_POPUP_NOBUT
+, 
+GL_STR_ID_INVALID_INPUT_PARAMETER
+);
+
+481 \10
+INVALID_ALBUM_NAME
+;
+
+485 ià(
+       `_gl_fs_v®id©e_Çme
+(
+®bum_Çme
+è=ð
+çl£
+) {
+
+486 
+       `gl_dbgW
+("Album\82ame includes invalid character!");
+
+487 
+       `_gl_pÝup_ü\97\8b_loÿl
+(
+d©a
+, 
+GL_POPUP_NOBUT
+, 
+GL_STR_ID_INVALID_INPUT_PARAMETER
+);
+
+488 \10
+INVALID_ALBUM_NAME
+;
+
+493 
+INVALID_ALBUM_NAME
+:
+
+496 
+       }
+}
+
+498 \12
+       $_gl_v®id©e_\9aput_ch¬aù\94
+(\1e*
+d©a
+, \ 5*
+®bum_Çme
+)
+
+500 
+       `GL_CHECK_VAL
+(
+®bum_Çme
+, -1);
+
+501 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+502 
+       `gl_sdbg
+("IÅu\88®bum\82ame: %s", 
+®bum_Çme
+);
+
+505 ià(
+       `_gl_fs_v®id©e_ch¬aù\94
+(
+®bum_Çme
+[
+       `¡¾\92
+×lbum_Çmeè- 1]è=ð
+çl£
+) {
+
+506 
+       `gl_dbgW
+("Album\82ame includes invalid character!");
+
+507 
+       `_gl_pÝup_ü\97\8b_loÿl
+(
+d©a
+, 
+GL_POPUP_NOBUT
+, 
+GL_STR_ID_INVALID_INPUT_PARAMETER
+);
+
+508 \10
+INVALID_ALBUM_NAME
+;
+
+513 
+INVALID_ALBUM_NAME
+:
+
+516 
+       }
+}
+
+527 \ 5*
+       $_gl_g\91_i18n_®bum_Çme
+(
+gl_®bum_s
+ *
+þu¡\94
+)
+
+529 
+       `GL_CHECK_NULL
+(
+þu¡\94
+);
+
+530 \ 5*
+i18n_Çme
+ = 
+NULL
+;
+
+532 ià(
+       `_gl_d©a_is_ÿm\94a_®bum
+(
+þu¡\94
+)) {
+
+534 
+i18n_Çme
+ = 
+GL_STR_ID_CAMERA
+;
+
+535 } \vià(
+       `_gl_d©a_is_deçuÉ_®bum
+(
+GL_STR_ALBUM_DOWNLOADS
+, 
+þu¡\94
+)) {
+
+537 
+i18n_Çme
+ = 
+GL_STR_ID_DOWNLOADS
+;
+
+538 } \vià(
+       `_gl_d©a_is_sü\93nshÙ_®bum
+(
+GL_STR_ALBUM_SCREENSHOTS
+, 
+þu¡\94
+)) {
+
+540 
+i18n_Çme
+ = 
+GL_STR_ID_SCREENSHOTS
+;
+
+541 } \vià(
+þu¡\94
+->
+ty³
+ =ð
+GL_STORE_T_ALL
+) {
+
+542 
+       `GL_FREEIF
+(
+þu¡\94
+->
+di¥Ïy_Çme
+);
+
+543 
+þu¡\94
+->
+di¥Ïy_Çme
+ = 
+       `¡rdup
+(
+GL_STR_ID_ALL_ALBUMS
+);
+
+544 
+i18n_Çme
+ = 
+þu¡\94
+->
+di¥Ïy_Çme
+;
+
+545 } \vià(
+þu¡\94
+->
+ty³
+ =ð
+GL_STORE_T_PHONE
+ ||
+
+546 
+þu¡\94
+->
+ty³
+ =ð
+GL_STORE_T_MMC
+) {
+
+547 ià(
+       `_gl_d©a_is_roÙ_·th
+(
+þu¡\94
+->
+·th
+)) {
+
+549 
+i18n_Çme
+ = 
+GL_STR_ID_NO_NAME
+;
+
+552 
+i18n_Çme
+ = 
+þu¡\94
+->
+di¥Ïy_Çme
+;
+
+556 
+i18n_Çme
+ = 
+þu¡\94
+->
+di¥Ïy_Çme
+;
+
+559 ià(
+i18n_Çme
+ =ð
+NULL
+ || 
+       `¡¾\92
+(i18n_name) <= 0)
+
+560 
+i18n_Çme
+ = 
+GL_STR_ID_NO_NAME
+;
+
+562 \15 
+i18n_Çme
+;
+
+563 
+       }
+}
+
+565 \12
+       $gl_g\91_£Ëùed_f\9ees_·th_¡r
+(\1e*
+d©a
+, 
+gch¬
+£p_c
+, \ 5**
+·th_¡r
+,
+
+566 \12*
+£l_út
+)
+
+568 
+       `GL_CHECK_VAL
+(
+·th_¡r
+, -1);
+
+569 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+570 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+571 
+       `GL_CHECK_VAL
+(
+ad
+->
+£l\9afo
+.
+\96
+, -1);
+
+572 
+GS\8c\9ag
+ *
+£Ëùed_·th_li¡
+ = 
+       `g_¡r\9ag_Ãw
+(
+NULL
+);
+
+573 
+gl_\99em
+ *
+cu¼\92t
+ = 
+NULL
+;
+
+574 \12
+£Ëùed_\99em_út
+ = 0;
+
+575 
+E\9aa_Li¡
+ *
+l
+ = 
+NULL
+;
+
+577 
+       `EINA_LIST_FOREACH
+(
+ad
+->
+£l\9afo
+.
+\96
+, 
+l
+, 
+cu¼\92t
+) {
+
+578 ià(
+cu¼\92t
+ =ð
+NULL
+ || cu¼\92t->
+\99em
+ == NULL) {
+
+579 ià(
+£Ëùed_·th_li¡
+) {
+
+580 
+       `g_¡r\9ag_ä\93
+(
+£Ëùed_·th_li¡
+, 
+\8cue
+);
+
+581 
+£Ëùed_·th_li¡
+ = 
+NULL
+;
+
+586 ià(
+       `¡r¡r
+(
+£Ëùed_·th_li¡
+->
+¡r
+, 
+cu¼\92t
+->
+\99em
+->
+f\9ee_u¾
+)) {
+
+587 
+       `gl_dbgW
+("Already\87ppended!");
+
+589 
+£Ëùed_\99em_út
+++;
+
+590 
+       `g_¡r\9ag_­³nd
+(
+£Ëùed_·th_li¡
+,
+
+591 
+cu¼\92t
+->
+\99em
+->
+f\9ee_u¾
+);
+
+592 
+       `g_¡r\9ag_­³nd_c
+(
+£Ëùed_·th_li¡
+, 
+£p_c
+);
+
+596 
+       `gl_dbg
+("S\96eùed i\8bm couÁ: %d.", 
+£Ëùed_\99em_út
+);
+
+597 ià(
+£l_út
+)
+
+598 *
+£l_út
+ = 
+£Ëùed_\99em_út
+;
+
+599 \12
+Ën
+ = 
+       `¡¾\92
+(
+£Ëùed_·th_li¡
+->
+¡r
+);
+
+600 
+       `g_¡r\9ag_\8cunÿ\8b
+(
+£Ëùed_·th_li¡
+, 
+Ën
+ - 1);
+
+607 *
+·th_¡r
+ = 
+       `g_¡r\9ag_ä\93
+(
+£Ëùed_·th_li¡
+, 
+çl£
+);
+
+608 
+       `GL_CHECK_VAL
+(*
+·th_¡r
+, -1);
+
+609 
+       `gl_dbg
+("TÙ® s\8c\9ag:\n\n\t>>@@:> % <:@@<<\n", *
+·th_¡r
+);
+
+611 
+       }
+}
+
+613 
+boÞ
+       $gl_make_Ãw_®bum
+(cڡ \ 5*
+Çme
+)
+
+615 
+       `gl_dbg
+("");
+
+616 \ 5
+·th
+[
+GL_DIR_PATH_LEN_MAX
+] = { 0, };
+
+618 
+       `¢´\9atf
+(
+·th
+, 
+GL_DIR_PATH_LEN_MAX
+, "%s/%s", 
+GL_DEFAULT_PATH_IMAGES
+, 
+Çme
+);
+
+619 
+·th
+[
+       `¡¾\92
+(path)] = '\0';
+
+620 
+       `gl_sdbg
+("Mak\9ag % d\9ceùÜy", 
+·th
+);
+
+622 
+       `_gl_fs_mkd\9c
+(
+GL_DEFAULT_PATH_IMAGES
+);
+
+623 
+boÞ
+isSucûssful
+ = 
+       `_gl_fs_mkd\9c
+(
+·th
+);
+
+624 \15 
+isSucûssful
+;
+
+625 
+       }
+}
+
+628 \12
+       $_gl_move_med\9f_thumb
+(\1e*
+d©a
+, 
+gl_\99em
+ *
+g\99em
+, \ 5*
+Ãw_d\9c_Çme
+,
+
+629 
+boÞ
+is_fuÎ_·th
+, \12*
+pÝup_Ý
+, \12
+mc_mode
+)
+
+631 
+       `gl_dbg
+("Move/CÝy[%d] med\9f i\8bm START>>>", 
+mc_mode
+);
+
+632 \ 5
+Ãw_·th
+[
+GL_FILE_PATH_LEN_MAX
+] = { 0, };
+
+633 \ 5
+ext
+[
+GL_FILE_EXT_LEN_MAX
+] = { 0, };
+
+634 \ 5
+Ãw_·th_nÛxt
+[
+GL_FILE_PATH_LEN_MAX
+] = { 0, };
+
+636 ià(
+g\99em
+ =ð
+NULL
+ || g\99em->
+\99em
+ =ðNULL || 
+pÝup_Ý
+ == NULL) {
+
+637 
+       `gl_dbgE
+("Invalid\85arameters!");
+
+641 *
+pÝup_Ý
+ = 
+GL_POPUP_OP_NONE
+;
+
+643 ià(
+is_fuÎ_·th
+) {
+
+644 ià(!
+g\99em
+->
+\99em
+->
+f\9ee_u¾
+ || !
+       `¡¾\92
+(gitem->item->file_url) ||
+
+645 !
+g\99em
+->
+\99em
+->
+di¥Ïy_Çme
+) {
+
+646 
+       `gl_dbgE
+("Invalid file!");
+
+649 
+       `¢´\9atf
+(
+Ãw_·th
+, \17Òew_·th), "%s/%s", 
+Ãw_d\9c_Çme
+,
+
+650 (\ 5*)(
+g\99em
+->
+\99em
+->
+di¥Ïy_Çme
+));
+
+651 
+       `gl_sdbg
+("New\85©h : %s", 
+Ãw_·th
+);
+
+653 ià(
+mc_mode
+ =ð
+GL_MC_MOVE
+ && !
+       `g_¡rcmp0
+(
+Ãw_·th
+, 
+g\99em
+->
+\99em
+->
+f\9ee_u¾
+)) {
+
+654 *
+pÝup_Ý
+ = 
+GL_POPUP_OP_SAME_ALBUM
+;
+
+655 
+       `gl_dbg
+("File\87lready in destination");
+
+657 } \vià(
+       `gl_f\9ee_exi¡s
+(
+Ãw_·th
+)) {
+
+658 
+       `_gl_fs_g\91_·th_w\99hout_ext
+(
+Ãw_·th
+, 
+ext
+, 
+Ãw_·th_nÛxt
+);
+
+659 \ 5*
+f\9a®_·th
+ = 
+NULL
+;
+
+660 
+f\9a®_·th
+ = 
+       `_gl_fs_g\91_unique_fuÎ_·th
+(
+Ãw_·th_nÛxt
+, 
+ext
+);
+
+661 ià(
+f\9a®_·th
+ =ð
+NULL
+)
+
+663 
+       `gl_dbg
+("C»©ed uniqu\90·th: %s", 
+f\9a®_·th
+);
+
+664 
+       `mem£t
+(
+Ãw_·th
+, 0x00, 
+GL_FILE_PATH_LEN_MAX
+);
+
+665 
+       `g_¡¾ýy
+(
+Ãw_·th
+, 
+f\9a®_·th
+, 
+GL_FILE_PATH_LEN_MAX
+);
+
+666 
+       `GL_FREE
+(
+f\9a®_·th
+);
+
+667 *
+pÝup_Ý
+ = 
+GL_POPUP_OP_DUPLICATED_NAME
+;
+
+670 
+       `¢´\9atf
+(
+Ãw_·th
+, 
+GL_FILE_PATH_LEN_MAX
+, "%s/%s/%s",
+
+671 
+GL_DEFAULT_PATH_IMAGES
+, 
+Ãw_d\9c_Çme
+,
+
+672 (\ 5*)(
+g\99em
+->
+\99em
+->
+di¥Ïy_Çme
+));
+
+675 
+Ãw_·th
+[
+       `¡¾\92
+(new_path)] = '\0';
+
+677 
+E\9aa_BoÞ
+»t
+ = 
+EINA_FALSE
+;
+
+678 \1a
+mc_mode
+) {
+
+679 \ 4
+GL_MC_MOVE
+:
+
+681 
+»t
+ = 
+       `__gl_f\9ee_mv
+(
+d©a
+, 
+g\99em
+, g\99em->
+\99em
+->
+f\9ee_u¾
+, 
+Ãw_·th
+, 
+mc_mode
+);
+
+683 \ 4
+GL_MC_COPY
+:
+
+684 
+»t
+ = 
+       `__gl_f\9ee_ý
+(
+g\99em
+->
+ad
+, g\99em->
+\99em
+->
+f\9ee_u¾
+, 
+Ãw_·th
+);
+
+687 
+       `gl_dbgE
+("Wrong mode!");
+
+690 
+       `gl_dbg
+("Move/Copy media item OVER<<<");
+
+691 ià(!
+»t
+)
+
+695 
+       }
+}
+
+698 \12
+       $_gl_move_med\9f_thumb_by_id
+(\1e*
+d©a
+, cڡ \ 5*
+uuid
+, \ 5*
+Ãw_d\9c_Çme
+,
+
+699 \12*
+pÝup_Ý
+, \12
+mc_mode
+)
+
+701 
+       `gl_dbg
+("Move/CÝy[%d] med\9f i\8bm START>>>", 
+mc_mode
+);
+
+702 \ 5
+Ãw_·th
+[
+GL_FILE_PATH_LEN_MAX
+] = { 0, };
+
+703 \ 5
+ext
+[
+GL_FILE_EXT_LEN_MAX
+] = { 0, };
+
+704 \ 5
+Ãw_·th_nÛxt
+[
+GL_FILE_PATH_LEN_MAX
+] = { 0, };
+
+706 ià(
+uuid
+ =ð
+NULL
+ || 
+pÝup_Ý
+ == NULL) {
+
+707 
+       `gl_dbgE
+("Invalid\85arameters!");
+
+711 *
+pÝup_Ý
+ = 
+GL_POPUP_OP_NONE
+;
+
+712 
+med\9f_\9afo_h
+med\9f_h
+ = 
+NULL
+;
+
+713 \12
+»t
+ = -1;
+
+714 \ 5*
+·th
+ = 
+NULL
+;
+
+715 \ 5*
+Çme
+ = 
+NULL
+;
+
+717 
+»t
+ = 
+       `med\9f_\9afo_g\91_med\9f_äom_db
+(
+uuid
+, &
+med\9f_h
+);
+
+718 ià(
+»t
+ !ð
+MEDIA_CONTENT_ERROR_NONE
+) {
+
+719 
+       `gl_dbgE
+("G\91 med\9f fa\9eed[%d]!", 
+»t
+);
+
+720 \10
+GL_DONE
+;
+
+722 
+»t
+ = 
+       `med\9f_\9afo_g\91_di¥Ïy_Çme
+(
+med\9f_h
+, &
+Çme
+);
+
+723 ià(
+»t
+ !ð
+MEDIA_CONTENT_ERROR_NONE
+) {
+
+724 
+       `gl_dbgE
+("Get storage\81ype failed!");
+
+725 \10
+GL_DONE
+;
+
+727 
+»t
+ = 
+       `med\9f_\9afo_g\91_f\9ee_·th
+(
+med\9f_h
+, &
+·th
+);
+
+728 ià(
+»t
+ !ð
+MEDIA_CONTENT_ERROR_NONE
+) {
+
+729 
+       `gl_dbgE
+("Get media file\85ath failed!");
+
+730 \10
+GL_DONE
+;
+
+733 
+       `¢´\9atf
+(
+Ãw_·th
+, \17Òew_·th), "%s/%s", 
+Ãw_d\9c_Çme
+, 
+Çme
+);
+
+734 
+       `gl_sdbg
+("New\85©h : %s", 
+Ãw_·th
+);
+
+737 ià(!
+       `g_¡rcmp0
+(
+Ãw_·th
+, 
+·th
+)) {
+
+738 *
+pÝup_Ý
+ = 
+GL_POPUP_OP_SAME_ALBUM
+;
+
+739 
+       `gl_dbg
+("File\87lready in destination");
+
+740 
+»t
+ = 0;
+
+741 \10
+GL_DONE
+;
+
+742 } \vià(
+       `gl_f\9ee_exi¡s
+(
+Ãw_·th
+)) {
+
+743 
+       `_gl_fs_g\91_·th_w\99hout_ext
+(
+Ãw_·th
+, 
+ext
+, 
+Ãw_·th_nÛxt
+);
+
+744 \ 5*
+f\9a®_·th
+ = 
+NULL
+;
+
+745 
+f\9a®_·th
+ = 
+       `_gl_fs_g\91_unique_fuÎ_·th
+(
+Ãw_·th_nÛxt
+, 
+ext
+);
+
+746 ià(
+f\9a®_·th
+ =ð
+NULL
+)
+
+747 \10
+GL_DONE
+;
+
+748 
+       `gl_dbg
+("C»©ed uniqu\90·th: %s", 
+f\9a®_·th
+);
+
+749 
+       `mem£t
+(
+Ãw_·th
+, 0x00, 
+GL_FILE_PATH_LEN_MAX
+);
+
+750 
+       `g_¡¾ýy
+(
+Ãw_·th
+, 
+f\9a®_·th
+, 
+GL_FILE_PATH_LEN_MAX
+);
+
+751 
+       `GL_FREE
+(
+f\9a®_·th
+);
+
+752 *
+pÝup_Ý
+ = 
+GL_POPUP_OP_DUPLICATED_NAME
+;
+
+755 
+Ãw_·th
+[
+       `¡¾\92
+(new_path)] = '\0';
+
+757 \1a
+mc_mode
+) {
+
+758 \ 4
+GL_MC_MOVE
+:
+
+759 ià(!
+       `_gl_fs_move
+(
+d©a
+, 
+·th
+, 
+Ãw_·th
+)) {
+
+760 
+»t
+ = -1;
+
+761 \10
+GL_DONE
+;
+
+763 
+»t
+ = 
+       `med\9f_\9afo_move_to_db
+(
+med\9f_h
+, 
+Ãw_·th
+);
+
+765 \ 4
+GL_MC_COPY
+:
+
+766 ià(!
+       `__gl_f\9ee_ý
+(
+d©a
+, 
+·th
+, 
+Ãw_·th
+)) {
+
+767 
+»t
+ = -1;
+
+768 \10
+GL_DONE
+;
+
+772 
+       `gl_dbgE
+("Wrong mode!");
+
+775 
+GL_DONE
+:
+
+776 
+       `GL_FREEIF
+(
+Çme
+);
+
+777 
+       `GL_FREEIF
+(
+·th
+);
+
+778 ià(
+med\9f_h
+)
+
+779 
+       `med\9f_\9afo_de¡roy
+(
+med\9f_h
+);
+
+781 
+       `gl_dbg
+("Move/Copy media item OVER<<<");
+
+782 ià(
+»t
+ !ð
+MEDIA_CONTENT_ERROR_NONE
+)
+
+786 
+       }
+}
+
+789 \12
+       $_gl_move_med\9f
+(
+gl_\99em
+ *
+g\99em
+, \ 5*
+Ãw_d\9c_Çme
+, 
+boÞ
+is_fuÎ_·th
+)
+
+791 
+       `gl_dbg
+("Move media START>>>");
+
+792 \ 5
+Ãw_·th
+[
+GL_FILE_PATH_LEN_MAX
+] = { 0, };
+
+793 \ 5
+ext
+[
+GL_FILE_EXT_LEN_MAX
+] = { 0, };
+
+794 \ 5
+Ãw_·th_nÛxt
+[
+GL_FILE_PATH_LEN_MAX
+] = { 0, };
+
+795 ià(!
+g\99em
+ || !g\99em->
+\99em
+) {
+
+796 
+       `gl_dbgE
+("Invalid gitem!");
+
+800 ià(
+is_fuÎ_·th
+) {
+
+801 ià(!
+g\99em
+->
+\99em
+->
+f\9ee_u¾
+ || !
+       `¡¾\92
+(gitem->item->file_url) ||
+
+802 !
+g\99em
+->
+\99em
+->
+di¥Ïy_Çme
+) {
+
+803 
+       `gl_dbgE
+("file url or\82ame is invalid!");
+
+806 
+       `¢´\9atf
+(
+Ãw_·th
+, \17(new_path), "%s/%s",
+
+807 
+Ãw_d\9c_Çme
+, (\ 5*)(
+g\99em
+->
+\99em
+->
+di¥Ïy_Çme
+));
+
+808 
+       `gl_dbg
+("New\85©h : %s", 
+Ãw_·th
+);
+
+810 ià(!
+       `g_¡rcmp0
+(
+Ãw_·th
+, 
+g\99em
+->
+\99em
+->
+f\9ee_u¾
+)) {
+
+811 
+       `gl_dbgW
+("File\83xists!");
+
+813 } \vià(
+       `gl_f\9ee_exi¡s
+(
+Ãw_·th
+)) {
+
+814 
+       `_gl_fs_g\91_·th_w\99hout_ext
+(
+Ãw_·th
+, 
+ext
+, 
+Ãw_·th_nÛxt
+);
+
+815 \ 5*
+f\9a®_·th
+ = 
+NULL
+;
+
+816 
+f\9a®_·th
+ = 
+       `_gl_fs_g\91_unique_fuÎ_·th
+(
+Ãw_·th_nÛxt
+, 
+ext
+);
+
+817 ià(
+f\9a®_·th
+ =ð
+NULL
+)
+
+819 
+       `gl_dbg
+("C»©ed uniqu\90·th: %s", 
+f\9a®_·th
+);
+
+820 
+       `mem£t
+(
+Ãw_·th
+, 0x00, 
+GL_FILE_PATH_LEN_MAX
+);
+
+821 
+       `g_¡¾ýy
+(
+Ãw_·th
+, 
+f\9a®_·th
+, 
+GL_FILE_PATH_LEN_MAX
+);
+
+822 
+       `GL_FREE
+(
+f\9a®_·th
+);
+
+825 
+       `¢´\9atf
+(
+Ãw_·th
+, 
+GL_FILE_PATH_LEN_MAX
+, "%s/%s/%s",
+
+826 
+GL_DEFAULT_PATH_IMAGES
+, 
+Ãw_d\9c_Çme
+,
+
+827 (\ 5*)(
+g\99em
+->
+\99em
+->
+di¥Ïy_Çme
+));
+
+830 
+Ãw_·th
+[
+       `¡¾\92
+(new_path)] = '\0';
+
+832 ià(!
+       `_gl_fs_move
+(
+g\99em
+->
+ad
+, g\99em->
+\99em
+->
+f\9ee_u¾
+, 
+Ãw_·th
+)) {
+
+833 
+       `gl_dbg
+("Move media OVER<<<");
+
+836 ià(
+       `_gl_loÿl_d©a_add_med\9f
+(
+Ãw_·th
+, 
+NULL
+) < 0) {
+
+837 
+       `gl_dbgE
+("Move media\81humbnail failed!");
+
+838 \15 
+EINA_FALSE
+;
+
+840 
+       `gl_dbg
+("Move media OVER<<<");
+
+843 
+       }
+}
+
+850 
+boÞ
+       $gl_check_g®Ëry_em±y
+(\1e*
+d©a
+)
+
+852 
+       `GL_CHECK_FALSE
+(
+d©a
+);
+
+853 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+855 ià(
+ad
+->
+®bum\9afo
+.
+\96
+ =ð
+NULL
+) {
+
+856 
+       `gl_dbgE
+("ad->albuminfo.elist is\83mpty!");
+
+857 \15 
+\8cue
+;
+
+860 
+E\9aa_Li¡
+ *
+þi¡
+ = 
+ad
+->
+®bum\9afo
+.
+\96
+->clist;
+
+861 ià(
+þi¡
+ =ð
+NULL
+) {
+
+862 
+       `gl_dbgW
+("Albums\86ist is invalid!");
+
+863 \15 
+\8cue
+;
+
+866 \12
+Ën
+ = 
+       `e\9aa_li¡_couÁ
+(
+þi¡
+);
+
+867 ià(
+Ën
+ == 0) {
+
+868 
+       `gl_dbgW
+("Albums\86ist is\83mpty!");
+
+869 \15 
+\8cue
+;
+
+871 \15 
+çl£
+;
+
+872 
+       }
+}
+
+874 
+boÞ
+       $gl_is_image_v®id
+(\1e*
+d©a
+, \ 5*
+f\9e\95©h
+)
+
+876 
+       `GL_CHECK_FALSE
+(
+d©a
+);
+
+877 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+878 
+       `GL_CHECK_FALSE
+(
+f\9e\95©h
+);
+
+880 
+Evas_Objeù
+ *
+image
+ = 
+NULL
+;
+
+881 \12
+width
+ = 0;
+
+882 \12
+height
+ = 0;
+
+883 
+Evas
+ *
+evas
+ = 
+NULL
+;
+
+885 
+evas
+ = 
+       `evas_objeù_evas_g\91
+(
+ad
+->
+ma\9a\9afo
+.
+w\9a
+);
+
+886 
+       `GL_CHECK_FALSE
+(
+evas
+);
+
+888 
+image
+ = 
+       `evas_objeù_image_add
+(
+evas
+);
+
+889 
+       `GL_CHECK_FALSE
+(
+image
+);
+
+891 
+       `evas_objeù_image_f\9eËd_£t
+(
+image
+, 0);
+
+892 
+       `evas_objeù_image_lßd_sÿË_down_£t
+(
+image
+, 0);
+
+893 
+       `evas_objeù_image_f\9ee_£t
+(
+image
+, 
+f\9e\95©h
+, 
+NULL
+);
+
+894 
+       `evas_objeù_image_size_g\91
+(
+image
+, &
+width
+, &
+height
+);
+
+895 
+       `evas_objeù_d\96
+(
+image
+);
+
+896 
+image
+ = 
+NULL
+;
+
+898 ià(
+width
+ <ð0 || 
+height
+ <= 0) {
+
+899 
+       `gl_sdbg
+("CªnÙ\86ßd f\9e\90: %s", 
+f\9e\95©h
+);
+
+900 \15 
+çl£
+;
+
+903 \15 
+\8cue
+;
+
+904 
+       }
+}
+
+909 \12
+       $gl_check_mmc_¡©e
+(\1e*
+d©a
+, \ 5*
+de¡_fÞd\94
+)
+
+911 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+912 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+915 ià(
+ad
+->
+ma\9a\9afo
+.
+mmc_¡©e
+ =ð
+GL_MMC_STATE_REMOVED
+)
+
+918 \12
+Ú_mmc
+ = -1;
+
+925 ià(
+de¡_fÞd\94
+) {
+
+926 
+Ú_mmc
+ = 
+       `¡ºcmp
+(
+GL_ROOT_PATH_MMC
+, 
+de¡_fÞd\94
+,
+
+927 
+       `¡¾\92
+(
+GL_ROOT_PATH_MMC
+));
+
+928 ià(
+Ú_mmc
+ == 0)
+
+929 \10
+ON_MMC
+;
+
+932 
+gl_þu¡\94
+ *
+cur_®bum
+ = 
+       `_gl_®bums_g\91_cu¼\92t
+(
+d©a
+);
+
+933 \ 5
+¤c_fÞd\94_·th
+[
+GL_DIR_PATH_LEN_MAX
+] = { 0, };
+
+934 
+       `GL_CHECK_VAL
+(
+cur_®bum
+, -1);
+
+935 
+       `GL_CHECK_VAL
+(
+cur_®bum
+->
+þu¡\94
+, -1);
+
+937 
+       `GL_CHECK_VAL
+(
+cur_®bum
+->
+þu¡\94
+->
+uuid
+, -1);
+
+938 
+       `g_¡¾ýy
+(
+¤c_fÞd\94_·th
+, 
+cur_®bum
+->
+þu¡\94
+->
+·th
+,
+
+939 
+GL_DIR_PATH_LEN_MAX
+);
+
+940 
+Ú_mmc
+ = 
+       `¡ºcmp
+(
+GL_ROOT_PATH_MMC
+, 
+¤c_fÞd\94_·th
+,
+
+941 
+       `¡¾\92
+(
+GL_ROOT_PATH_MMC
+));
+
+943 ià(
+Ú_mmc
+ == 0) {
+
+944 \10
+ON_MMC
+;
+
+945 } \vià(
+cur_®bum
+->
+þu¡\94
+->
+ty³
+ =ð
+GL_STORE_T_ALL
+) {
+
+946 
+       `gl_dbg
+("In\87lbum [All\87lbums].");
+
+947 ià(
+       `_gl_check_mmc_f\9ee_£Ëùed
+(
+ad
+))
+
+948 \10
+ON_MMC
+;
+
+952 
+ON_MMC
+:
+
+953 
+       `gl_dbgW
+("Operate medias on MMC!");
+
+954 
+ad
+->
+ma\9a\9afo
+.
+mmc_¡©e
+ = 
+GL_MMC_STATE_ADDED_MOVING
+;
+
+956 
+       }
+}
+
+958 \18\12
+       $__gl_»g_db_nÙi
+(\1e*
+d©a
+)
+
+960 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+961 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+962 \12
+\94rÜ_code
+ = -1;
+
+964 
+\94rÜ_code
+ = 
+       `¡Üage_fÜ\97ch_deviû_suµÜ\8bd
+(
+__gl_ut\9e_g\91_suµÜ\8bd_¡Üages_ÿÎback
+, 
+ad
+);
+
+966 ià(
+\94rÜ_code
+ =ð
+STORAGE_ERROR_NONE
+) {
+
+967 
+¡Üage_¡©e_e
+¡©e
+;
+
+968 
+\94rÜ_code
+ = 
+       `¡Üage_g\91_¡©e
+(
+ad
+->
+ma\9a\9afo
+.
+ex\8bº®StÜageId
+, &
+¡©e
+);
+
+969 ià(
+\94rÜ_code
+ =ð
+STORAGE_ERROR_NONE
+) {
+
+970 ià(
+¡©e
+ =ð
+STORAGE_STATE_MOUNTED
+) {
+
+971 
+       `gl_dbg
+("###### :::::: MMC\86oaded! :::::: ######");
+
+972 
+ad
+->
+ma\9a\9afo
+.
+mmc_¡©e
+ = 
+GL_MMC_STATE_ADDED
+;
+
+973 } \vià(
+¡©e
+ =ð
+STORAGE_STATE_REMOVED
+ ||
+
+974 
+¡©e
+ =ð
+STORAGE_STATE_UNMOUNTABLE
+) {
+
+975 
+       `gl_dbg
+("###### :::::: MMC\84emoved! :::::: ######");
+
+976 
+ad
+->
+ma\9a\9afo
+.
+mmc_¡©e
+ = 
+GL_MMC_STATE_REMOVED
+;
+
+981 
+       `gl_dbg
+("Enable\81he\82oti handle for DB update status!");
+
+983 
+\94rÜ_code
+ = 
+       `¡Üage_£t_¡©e_chªged_cb
+(
+ad
+->
+ma\9a\9afo
+.
+ex\8bº®StÜageId
+, 
+_gl_db_upd©e_sdÿrd_\9afo
+,\87d);
+
+984 ià(
+\94rÜ_code
+ !ð
+STORAGE_ERROR_NONE
+) {
+
+985 
+       `gl_dbgE
+("storage_set_state_changed_cb failed!");
+
+988 
+       }
+}
+
+990 \18\12
+       $__gl_d\94eg_db_nÙi
+(\1e*
+d©a
+)
+
+992 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+993 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+994 \12
+\94rÜ_code
+ = -1;
+
+996 
+       `gl_dbg
+("Disable\81he\82oti handle for DB update status!");
+
+997 
+\94rÜ_code
+ = 
+       `¡Üage_un£t_¡©e_chªged_cb
+(
+ad
+->
+ma\9a\9afo
+.
+ex\8bº®StÜageId
+, 
+_gl_db_upd©e_sdÿrd_\9afo
+);
+
+998 ià(
+\94rÜ_code
+ !ð
+STORAGE_ERROR_NONE
+) {
+
+999 
+       `gl_dbgE
+("storage_unset_state_changed_cb failed!");
+
+1002 
+       }
+}
+
+1007 \12
+       $gl_g\91_v\9bw_mode
+(\1e*
+d©a
+)
+
+1009 
+       `GL_CHECK_VAL
+(
+d©a
+, 
+GL_VIEW_NONE
+);
+
+1010 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1011 \15 
+ad
+->
+ma\9a\9afo
+.
+v\9bw_mode
+;
+
+1012 
+       }
+}
+
+1017 \12
+       $gl_£t_v\9bw_mode
+(\1e*
+d©a
+, \12
+mode
+)
+
+1019 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1020 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1021 
+ad
+->
+ma\9a\9afo
+.
+v\9bw_mode
+ = 
+mode
+;
+
+1023 
+       }
+}
+
+1025 \12
+       $gl_d\96_\9av®id_widg\91s
+(\1e*
+d©a
+, \12
+\9av®id_m
+)
+
+1027 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1028 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1029 
+       `gl_dbg
+("");
+
+1030 ià(
+ad
+->
+pÝup\9afo
+.
+pÝup
+) {
+
+1032 
+       `evas_objeù_d\96
+(
+ad
+->
+pÝup\9afo
+.
+pÝup
+);
+
+1033 
+ad
+->
+pÝup\9afo
+.
+pÝup
+ = 
+NULL
+;
+
+1034 } \vià(
+ad
+->
+ug\9afo
+.
+ug
+) {
+
+1036 
+       `gl_dbg
+("Destroy UG!");
+
+1037 ià(
+ad
+->
+ug\9afo
+.
+ug
+) {
+
+1038 
+       `­p_cÚ\8cÞ_de¡roy
+(
+ad
+->
+ug\9afo
+.
+ug
+);
+
+1039 
+ad
+->
+ug\9afo
+.
+ug
+ = 
+NULL
+;
+
+1040 
+ad
+->
+ug\9afo
+.
+ug_ty³
+ = -1;
+
+1044 \1a
+\9av®id_m
+) {
+
+1045 \ 4
+GL_INVALID_NEW_ENTRY
+:
+
+1046 \ 4
+GL_INVALID_NEW_ENTRY_NOC
+:
+
+1047 ià(
+ad
+->
+\92\8cy\9afo
+.
+mode
+ =ð
+GL_ENTRY_NEW_ALBUM
+) {
+
+1048 
+       `gl_dbg
+("Destroy New\87lbum/tag view!");
+
+1049 ià(
+\9av®id_m
+ =ð
+GL_INVALID_NEW_ENTRY
+) {
+
+1050 
+       `gl_dbg
+("Pop\81o\82f_it_edit");
+
+1051 
+       `\96m_Çviäame_\99em_pÝ_to
+(
+ad
+->
+grid\9afo
+.
+nf_\99
+);
+
+1056 
+ad
+->
+\92\8cy\9afo
+.
+mode
+ = 
+GL_ENTRY_NONE
+;
+
+1060 
+       }
+}
+
+1063 \18\12
+       $__gl_d\96_med\9fs_Ý
+(\1e*
+d©a
+)
+
+1065 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1066 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1068 \12
+út
+ = 
+       `_gl_d©a_£Ëùed_li¡_couÁ
+(
+ad
+);
+
+1069 
+gl_\99em
+ *
+g\99em
+ = 
+NULL
+;
+
+1070 \12
+i
+ = 0;
+
+1071 \12
+pÝup_Ý
+ = 
+GL_POPUP_OP_NONE
+;
+
+1074 
+E\9aa_Li¡
+ *
+med\9f_\96
+ = 
+NULL
+;
+
+1075 \ f
+i
+ = 0; i < 
+út
+; i++) {
+
+1076 
+g\99em
+ = 
+       `e\9aa_li¡_Áh
+(
+ad
+->
+£l\9afo
+.
+\96
+, 
+i
+);
+
+1077 ià(
+g\99em
+ !ð
+NULL
+ && g\99em->
+\99em
+ != NULL) {
+
+1078 ià(
+       `_gl_d©a_d\96\91e_f\9ee
+(
+g\99em
+->
+\99em
+->
+f\9ee_u¾
+, g\99em->\99em->
+uuid
+, 
+çl£
+) < 0)
+
+1079 
+       `gl_dbgE
+("Failed\81o delete file!");
+
+1080 
+       `_gl_thumbs_g\91_li¡
+(
+d©a
+, &
+med\9f_\96
+);
+
+1081 
+med\9f_\96
+ = 
+       `e\9aa_li¡_»move
+(med\9f_\96i¡, 
+g\99em
+);
+
+1082 
+       `_gl_thumbs_£t_li¡
+(
+d©a
+, 
+med\9f_\96
+);
+
+1083 
+       `gl_dbgE
+("\96m_\99em: %p", 
+g\99em
+->
+\96m_\99em
+);
+
+1084 
+g\99em
+->
+b_d\96\91ed
+ = 
+\8cue
+;
+
+1086 
+       `gl_dbgE
+("Invalid item!");
+
+1089 
+       `gl_dbg
+("Write\85ipe, make\85rogressbar updated!");
+
+1090 
+       `gl_th»ad_wr\99e_p\9de
+(
+ad
+, 
+i
++1, 
+pÝup_Ý
+);
+
+1091 
+g\99em
+ = 
+NULL
+;
+
+1094 
+       }
+}
+
+1116 \12
+       $_gl_upd©e_Ý\94©iÚ_v\9bw
+(\1e*
+d©a
+, cڡ \ 5*
+nÙi_¡r
+)
+
+1118 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1119 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1120 \12
+ÿnûl_æag
+ = 
+çl£
+;
+
+1121 
+       `gl_th»ad_g\91_ÿnûl_¡©e
+(
+ad
+, &
+ÿnûl_æag
+);
+
+1122 
+       `gl_dbgW
+("======================");
+
+1124 ià(
+GL_VIEW_THUMBS
+ =ð
+       `gl_g\91_v\9bw_mode
+(
+d©a
+)) {
+
+1125 
+       `\96m_Çviäame_\99em_pÝ_to
+(
+ad
+->
+grid\9afo
+.
+nf_\99
+);
+
+1126 
+       `_gl_thumbs_upd©e_\99ems
+(
+d©a
+);
+
+1127 } \vià(!
+ad
+->
+®bum\9afo
+.
+b_Ãw_®bum
+ && !
+       `_gl_thumbs_check_z\94o
+(
+d©a
+)) {
+
+1129 
+       `_gl_thumbs_ed\99_pÝ_v\9bw
+(
+ad
+);
+
+1131 
+       `gl_dbgW
+("Empty\87lbum, change\81o Albums view!");
+
+1132 
+Elm_Objeù_I\8bm
+ *
+nf_\99
+ = 
+       `\96m_Çviäame_tÝ_\99em_g\91
+(
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+);
+
+1133 ià(
+nf_\99
+ =ð
+ad
+->
+grid\9afo
+.nf_it) {
+
+1135 
+       `gl_£t_v\9bw_mode
+(
+d©a
+, 
+GL_VIEW_THUMBS
+);
+
+1137 
+       `\96m_Çviäame_\99em_pÝ_to
+(
+ad
+->
+ù¾\9afo
+.
+nf_\99
+);
+
+1138 
+ad
+->
+®bum\9afo
+.
+b_Ãw_®bum
+ = 
+çl£
+;
+
+1140 ià(
+       `_gl_ù¾_g\91_\8fb_mode
+(
+ad
+è=ð
+GL_CTRL_TAB_TIMELINE
+) {
+
+1141 
+       `gl_£t_v\9bw_mode
+(
+d©a
+, 
+GL_VIEW_TIMELINE
+);
+
+1142 
+       `_gl_tim\96\9ae_upd©e_v\9bw
+(
+d©a
+);
+
+1143 } \vià(
+       `_gl_ù¾_g\91_\8fb_mode
+(
+ad
+è=ð
+GL_CTRL_TAB_ALBUMS
+) {
+
+1144 
+       `gl_£t_v\9bw_mode
+(
+d©a
+, 
+GL_VIEW_ALBUMS
+);
+
+1145 
+       `gl_®bums_upd©e_v\9bw
+(
+d©a
+);
+
+1149 
+       `_gl_nÙify_ü\97\8b_nÙi\9afo
+(
+nÙi_¡r
+);
+
+1152 ià(
+nÙi_¡r
+ && 
+ÿnûl_æag
+ !ð
+GL_PB_CANCEL_ERROR
+)
+
+1153 
+       `_gl_nÙify_ü\97\8b_nÙi\9afo
+(
+nÙi_¡r
+);
+
+1155 
+       }
+}
+
+1158 \18\12
+       $__gl_upd©e_d\96_med\9fs_v\9bw
+(\1e*
+d©a
+)
+
+1160 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1161 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1164 
+       `_gl_d©a_£Ëùed_li¡_f\9a®ize
+(
+d©a
+);
+
+1165 
+E\9aa_Li¡
+ *
+med\9f_\96
+ = 
+NULL
+;
+
+1166 
+       `_gl_d©a_upd©e_\99em_li¡
+(
+ad
+, 
+NULL
+, &
+med\9f_\96
+);
+
+1167 
+       `_gl_thumbs_þ\97r_ªd_£t_li¡
+(
+ad
+, 
+med\9f_\96
+);
+
+1169 ià(
+       `_gl_thumbs_check_z\94o
+(
+d©a
+)) {
+
+1170 
+       `gl_sdbg
+("is_zero");
+
+1171 
+       `_gl_upd©e_®bums_li¡
+(
+ad
+);
+
+1174 
+       `_gl_thumbs_upd©e_v\9bw
+(
+ad
+);
+
+1177 
+       `_gl_upd©e_Ý\94©iÚ_v\9bw
+(
+ad
+, 
+GL_STR_DELETED
+);
+
+1179 
+       `_gl_db_upd©e_lock_Úû
+(
+d©a
+, 
+çl£
+);
+
+1181 
+       }
+}
+
+1183 \ 5*
+       $_gl_d\96\91e_fÞd\94
+(\ 5*
+·th
+)
+
+1185 
+       `GL_CHECK_NULL
+(
+·th
+);
+
+1186 \ 5*
+d\96_·th
+ = 
+       `¡rdup
+(
+·th
+);
+
+1187 ià(
+NULL
+ =ð
+d\96_·th
+)
+
+1188 \15 
+NULL
+;
+
+1189 \ 5*
+sub_·th
+ = 
+d\96_·th
+;
+
+1190 \1f
+       `gl_f\9ee_d\9c_is_em±y
+(
+d\96_·th
+) == 1) {
+
+1191 
+       `gl_dbg
+("this dir is\83mpty,\84m it!");
+
+1192 ià(
+       `gl_f\9ee_rmd\9c
+(
+d\96_·th
+è=ð
+EINA_FALSE
+) {
+
+1193 
+       `gl_dbgE
+("file_rmdir failed!");
+
+1194 
+       `GL_FREE
+(
+d\96_·th
+);
+
+1195 \15 
+NULL
+;
+
+1197 
+sub_·th
+ = 
+       `¡¼chr
+(
+d\96_·th
+, '/');
+
+1198 ià(
+sub_·th
+) {
+
+1199 *
+sub_·th
+ = '\0';
+
+1202 
+       `GL_FREE
+(
+d\96_·th
+);
+
+1203 \15 
+·th
+;
+
+1204 
+       }
+}
+
+1206 \12
+       $gl_d\96_med\9fs
+(\1e*
+d©a
+)
+
+1208 
+       `gl_dbg
+("");
+
+1209 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1210 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1212 \12
+út
+ = 
+       `_gl_d©a_£Ëùed_li¡_couÁ
+(
+ad
+);
+
+1213 ià(
+út
+ != 0) {
+
+1214 
+       `_gl_db_upd©e_lock_®ways
+(
+d©a
+, 
+\8cue
+);
+
+1217 
+       `gl_check_mmc_¡©e
+(
+ad
+, 
+NULL
+);
+
+1218 
+       `gl_dbg
+("MMC s\8f\8b: %d.", 
+ad
+->
+ma\9a\9afo
+.
+mmc_¡©e
+);
+
+1219 
+       `_gl_£t_f\9ee_Ý_cbs
+(
+d©a
+, 
+__gl_d\96_med\9fs_Ý
+, 
+NULL
+,
+
+1220 
+__gl_upd©e_d\96_med\9fs_v\9bw
+, 
+út
+);
+
+1221 
+       `_gl_u£_th»ad_Ý\94©e_med\9fs
+(
+ad
+, 
+GL_STR_ID_DELETING
+, 
+út
+,
+
+1222 
+GL_MEDIA_OP_DELETE
+);
+
+1225 
+       }
+}
+
+1228 \12
+       $_gl_d\96_med\9f_by_id
+(\1e*
+d©a
+, cڡ \ 5*
+uuid
+)
+
+1230 
+       `GL_CHECK_VAL
+(
+uuid
+, -1);
+
+1231 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1232 
+med\9f_\9afo_h
+med\9f_h
+ = 
+NULL
+;
+
+1233 
+med\9f_cÚ\8bÁ_¡Üage_e
+¡Üage_ty³
+ = 0;
+
+1234 \12
+»t
+ = -1;
+
+1236 
+»t
+ = 
+       `med\9f_\9afo_g\91_med\9f_äom_db
+(
+uuid
+, &
+med\9f_h
+);
+
+1237 ià(
+»t
+ !ð
+MEDIA_CONTENT_ERROR_NONE
+ || 
+med\9f_h
+ =ð
+NULL
+) {
+
+1238 
+       `gl_dbgE
+("G\91 med\9f fa\9eed[%d]!", 
+»t
+);
+
+1239 \10
+DEL_MEDIA_BY_ID_FAILED
+;
+
+1241 
+»t
+ = 
+       `med\9f_\9afo_g\91_¡Üage_ty³
+(
+med\9f_h
+, &
+¡Üage_ty³
+);
+
+1242 ià(
+»t
+ !ð
+MEDIA_CONTENT_ERROR_NONE
+) {
+
+1243 
+       `gl_dbgE
+("Get storage\81ype failed!");
+
+1244 \10
+DEL_MEDIA_BY_ID_FAILED
+;
+
+1246 \ 5*
+·th
+ = 
+NULL
+;
+
+1247 
+»t
+ = 
+       `med\9f_\9afo_g\91_f\9ee_·th
+(
+med\9f_h
+, &
+·th
+);
+
+1248 ià(
+»t
+ !ð
+MEDIA_CONTENT_ERROR_NONE
+) {
+
+1249 
+       `gl_dbgE
+("Get media file\85ath failed!");
+
+1250 
+       `GL_FREEIF
+(
+·th
+);
+
+1251 \10
+DEL_MEDIA_BY_ID_FAILED
+;
+
+1253 ià(!
+       `gl_f\9ee_uÆ\9ak
+(
+·th
+)) {
+
+1254 \ 5*
+\94rÜ_msg
+ = 
+       `ÿÎoc
+(1, 
+GL_ARRAY_LEN_MAX
+);
+
+1255 ià(
+\94rÜ_msg
+ !ð
+NULL
+) {
+
+1256 
+       `¡»¼Ü_r
+(
+\94ºo
+, 
+\94rÜ_msg
+, 
+GL_ARRAY_LEN_MAX
+);
+
+1257 
+       `gl_dbgE
+("f\9ee_uÆ\9ak fa\9eed[%s]!", 
+\94rÜ_msg
+);
+
+1258 
+       `GL_FREE
+(
+\94rÜ_msg
+);
+
+1260 
+       `GL_FREEIF
+(
+·th
+);
+
+1261 \10
+DEL_MEDIA_BY_ID_FAILED
+;
+
+1265 
+»t
+ = 
+       `med\9f_\9afo_d\96\91e_äom_db
+(
+uuid
+);
+
+1266 ià(
+»t
+ !ð
+MEDIA_CONTENT_ERROR_NONE
+) {
+
+1267 
+       `gl_dbgE
+("med\9f_\9afo_d\96\91e_äom_db fa\9eed[%d]!", 
+»t
+);
+
+1268 \10
+DEL_MEDIA_BY_ID_FAILED
+;
+
+1271 
+       `GL_FREEIF
+(
+·th
+);
+
+1273 ià(
+med\9f_h
+) {
+
+1274 
+       `med\9f_\9afo_de¡roy
+(
+med\9f_h
+);
+
+1275 
+med\9f_h
+ = 
+NULL
+;
+
+1279 
+DEL_MEDIA_BY_ID_FAILED
+:
+
+1281 
+       `GL_FREEIF
+(
+·th
+);
+
+1283 ià(
+med\9f_h
+) {
+
+1284 
+       `med\9f_\9afo_de¡roy
+(
+med\9f_h
+);
+
+1285 
+med\9f_h
+ = 
+NULL
+;
+
+1288 
+       }
+}
+
+1290 \12
+       $gl_»move_®bum
+(\1e*
+d©a
+, 
+gl_þu¡\94
+ *
+®bum_\99em
+, 
+boÞ
+is_hide
+)
+
+1292 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1294 ià(
+®bum_\99em
+ =ð
+NULL
+ ||\87lbum_\99em->
+þu¡\94
+ == NULL ||
+
+1295 
+®bum_\99em
+->
+þu¡\94
+->
+uuid
+ =ð
+NULL
+) {
+
+1296 
+       `gl_dbgE
+("Invalid\87lbum!");
+
+1300 
+       `gl_sdbg
+("Remov\90®bum: %s, id=%s", 
+®bum_\99em
+->
+þu¡\94
+->
+di¥Ïy_Çme
+,
+
+1301 
+®bum_\99em
+->
+þu¡\94
+->
+uuid
+);
+
+1303 ià(
+       `_gl_loÿl_d©a_d\96\91e_®bum
+(
+®bum_\99em
+->
+þu¡\94
+,
+
+1304 
+NULL
+, 
+d©a
+, 
+is_hide
+) != 0) {
+
+1305 
+       `gl_dbgE
+("delete\87lbum failed!");
+
+1309 
+       `_gl_d\96\91e_fÞd\94
+(
+®bum_\99em
+->
+þu¡\94
+->
+·th
+);
+
+1311 
+       }
+}
+
+1313 \18\12
+       $__gl_upd©e_d\96_®bums_v\9bw
+(\1e*
+d©a
+)
+
+1315 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1316 
+       `_gl_upd©e_®bums_li¡
+(
+d©a
+);
+
+1318 
+       `_gl_®bums_chªge_mode
+(
+d©a
+, 
+çl£
+);
+
+1319 
+       `_gl_db_upd©e_lock_®ways
+(
+d©a
+, 
+çl£
+);
+
+1321 
+       }
+}
+
+1324 \18\12
+       $__gl_d\96_®bums_Ý
+(\1e*
+d©a
+)
+
+1326 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1327 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1328 
+       `GL_CHECK_VAL
+(
+ad
+->
+®bum\9afo
+.
+£l_\96
+, -1);
+
+1329 
+gl_þu¡\94
+ *
+®bum
+ = 
+NULL
+;
+
+1330 \12
+út
+ = 
+       `_gl_d©a_g\91_®bums_£Ëùed_út
+(
+ad
+);
+
+1331 \12
+i
+ = 0;
+
+1332 \12
+»t
+ = -1;
+
+1334 ià(
+út
+ == 0) {
+
+1335 
+       `gl_dbgE
+("Empty\86ist!");
+
+1338 
+       `gl_dbg
+("útð%d", 
+út
+);
+
+1339 \ f
+i
+ = 0; i < 
+út
+; i++) {
+
+1340 
+®bum
+ = 
+       `e\9aa_li¡_Áh
+(
+ad
+->
+®bum\9afo
+.
+£l_\96
+, 
+i
+);
+
+1342 ià(
+®bum
+ &&\87lbum->
+þu¡\94
+ &&\87lbum->þu¡\94->
+uuid
+) {
+
+1343 ià((
+»t
+ = 
+       `gl_»move_®bum
+(
+ad
+, 
+®bum
+, 
+çl£
+)) < 0)
+
+1344 
+       `gl_dbgE
+("»mov\90®bum fa\9eed[%d]!", 
+»t
+);
+
+1346 
+       `gl_th»ad_wr\99e_p\9de
+(
+ad
+, 
+i
++1, 
+GL_POPUP_OP_NONE
+);
+
+1349 
+       }
+}
+
+1351 \12
+       $_gl_d\96_®bums
+(\1e*
+d©a
+)
+
+1353 
+       `gl_dbg
+("");
+
+1354 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1355 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1357 \12
+út
+ = 
+       `_gl_d©a_g\91_®bums_£Ëùed_út
+(
+ad
+);
+
+1358 ià(
+út
+ !=0) {
+
+1359 
+       `_gl_db_upd©e_lock_®ways
+(
+d©a
+, 
+\8cue
+);
+
+1361 
+       `gl_check_mmc_¡©e
+(
+ad
+, 
+NULL
+);
+
+1362 
+       `gl_dbg
+("MMC s\8f\8b: %d.", 
+ad
+->
+ma\9a\9afo
+.
+mmc_¡©e
+);
+
+1363 
+       `_gl_£t_f\9ee_Ý_cbs
+(
+d©a
+, 
+__gl_d\96_®bums_Ý
+, 
+NULL
+,
+
+1364 
+__gl_upd©e_d\96_®bums_v\9bw
+, 
+út
+);
+
+1365 
+       `_gl_u£_th»ad_Ý\94©e_med\9fs
+(
+ad
+, 
+GL_STR_ID_DELETING
+, 
+út
+,
+
+1366 
+GL_MEDIA_OP_DELETE_ALBUM
+);
+
+1370 
+       }
+}
+
+1372 \12
+       $_gl_d©a_upd©e_£l_\99em_li¡
+(\1e*
+d©a
+, 
+E\9aa_Li¡
+ *
+p_\96
+)
+
+1374 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1375 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1376 
+gl_\99em
+ *
+g\99em
+ = 
+NULL
+;
+
+1377 \12
+couÁ
+ = 
+       `e\9aa_li¡_couÁ
+(
+p_\96
+);
+
+1378 \12
+i
+;
+
+1379 
+g\99em
+ = 
+       `e\9aa_li¡_Áh
+(
+p_\96
+, 0);
+
+1380 ià(
+g\99em
+) {
+
+1381 
+g\99em
+->
+®bum
+->
+\96
+ = 
+NULL
+;
+
+1383 \ f
+i
+ = 0; i < 
+couÁ
+ ; i++) {
+
+1384 
+g\99em
+ = 
+       `e\9aa_li¡_Áh
+(
+p_\96
+, 
+i
+);
+
+1385 
+       `_gl_d©a_»¡Üe_upd©e_£Ëùed
+(
+ad
+->
+£l\9afo
+.
+\96
+, 
+g\99em
+);
+
+1388 
+       }
+}
+
+1390 #ifdeà
+_USE_ROTATE_BG
+
+
+1394 \12
+       $_gl_»äesh_®bums_li¡
+(\1e*
+d©a
+, 
+boÞ
+b_·th
+, boÞ 
+b_£Ëù
+)
+
+1396 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1397 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1398 
+gl_þu¡\94
+ *
+cur_®bum
+ = 
+       `_gl_®bums_g\91_cu¼\92t
+(
+d©a
+);
+
+1399 \ 5*
+uuid
+ = 
+NULL
+;
+
+1400 
+boÞ
+b_g\91_cur_®bum
+ = 
+çl£
+;
+
+1402 ià(
+ad
+->
+®bum\9afo
+.
+v\9bw
+) {
+
+1403 
+       `\96m_g\92grid_þ\97r
+(
+ad
+->
+®bum\9afo
+.
+v\9bw
+);
+
+1405 ià(
+ad
+->
+®bum\9afo
+.
+£Ëù_v\9bw
+) {
+
+1406 
+       `\96m_g\92grid_þ\97r
+(
+ad
+->
+®bum\9afo
+.
+£Ëù_v\9bw
+);
+
+1409 ià(
+cur_®bum
+ && cur_®bum->
+þu¡\94
+ && cur_®bum->þu¡\94->
+uuid
+) {
+
+1410 
+uuid
+ = 
+       `¡rdup
+(
+cur_®bum
+->
+þu¡\94
+->uuid);
+
+1411 
+b_g\91_cur_®bum
+ = 
+\8cue
+;
+
+1412 ià(
+ad
+->
+grid\9afo
+.
+v\9bw
+ &&
+
+1413 
+ad
+->
+grid\9afo
+.
+v\9bw
+ !ðad->grid\9afo.
+nocÚ\8bÁs
+) {
+
+1414 
+       `\96m_g\92grid_þ\97r
+(
+ad
+->
+grid\9afo
+.
+v\9bw
+);
+
+1416 ià(
+ad
+->
+grid\9afo
+.
+£Ëù_v\9bw
+ &&
+
+1417 
+ad
+->
+grid\9afo
+.
+£Ëù_v\9bw
+ !ðad->grid\9afo.
+nocÚ\8bÁs
+) {
+
+1418 
+       `\96m_g\92grid_þ\97r
+(
+ad
+->
+grid\9afo
+.
+£Ëù_v\9bw
+);
+
+1421 ià(
+       `_gl_ù¾_g\91_\8fb_mode
+(
+ad
+è=ð
+GL_CTRL_TAB_ALBUMS
+) {
+
+1422 
+       `gl_dbgW
+("Current\87lbum is unavailable!");
+
+1423 } \vià(!
+       `_gl_thumbs_check_z\94o
+(
+d©a
+)) {
+
+1425 
+E\9aa_Li¡
+ *
+£l_id_li¡
+NULL
+;
+
+1426 
+E\9aa_Li¡
+ *
+med\9f_\96
+ = 
+NULL
+;
+
+1427 \12
+v\9bw_m
+ = 
+       `gl_g\91_v\9bw_mode
+(
+ad
+);
+
+1428 ià(
+v\9bw_m
+ =ð
+GL_VIEW_THUMBS_EDIT
+ ||
+
+1429 
+v\9bw_m
+ =ð
+GL_VIEW_THUMBS_SELECT
+) {
+
+1430 
+       `gl_dbg
+("Edit view.");
+
+1432 
+       `_gl_d©a_§ve_£Ëùed_¡r_ids
+(
+d©a
+, &
+£l_id_li¡
+);
+
+1434 
+       `_gl_d©a_þ\97r_£Ëùed_\9afo
+(
+ad
+);
+
+1435 
+       `_gl_d©a_upd©e_\99em_li¡
+(
+ad
+, &
+£l_id_li¡
+, &
+med\9f_\96
+);
+
+1436 
+       `_gl_thumbs_þ\97r_ªd_£t_li¡
+(
+ad
+, 
+med\9f_\96
+);
+
+1440 
+       `_gl_d©a_g\91_þu¡\94_li¡_ed\99_mode
+(
+ad
+);
+
+1442 
+       `_gl_®bums_£t_cu¼\92t
+(
+d©a
+, 
+NULL
+);
+
+1443 
+cur_®bum
+ = 
+NULL
+;
+
+1445 ià(
+b_g\91_cur_®bum
+) {
+
+1446 ià(
+b_·th
+) {
+
+1447 
+       `gl_dbg
+("P©h: %s", 
+ad
+->
+®bum\9afo
+.
+de¡_fÞd\94
+);
+
+1448 ià(
+       `¡¾\92
+(
+ad
+->
+®bum\9afo
+.
+de¡_fÞd\94
+) > 0 &&
+
+1449 
+       `GL_FILE_EXISTS
+(
+ad
+->
+®bum\9afo
+.
+de¡_fÞd\94
+)) {
+
+1450 
+       `gl_dbgW
+("Cluster\84ecord updated!");
+
+1451 
+       `_gl_d©a_g\91_þu¡\94_by_·th
+(
+ad
+,
+
+1452 
+ad
+->
+®bum\9afo
+.
+de¡_fÞd\94
+,
+
+1453 &
+cur_®bum
+);
+
+1455 
+       `gl_dbgE
+("Invalid folder\85ath!");
+
+1456 
+       `_gl_d©a_g\91_þu¡\94_by_id
+(
+ad
+, 
+uuid
+, &
+cur_®bum
+);
+
+1459 
+       `_gl_d©a_g\91_þu¡\94_by_id
+(
+ad
+, 
+uuid
+, &
+cur_®bum
+);
+
+1462 ià(
+cur_®bum
+ && cur_®bum->
+þu¡\94
+) {
+
+1463 
+       `_gl_®bums_£t_cu¼\92t
+(
+d©a
+, 
+cur_®bum
+);
+
+1464 
+       `gl_sdbg
+("Reset current\87lbum: %s",
+
+1465 
+cur_®bum
+->
+þu¡\94
+->
+di¥Ïy_Çme
+);
+
+1467 \12
+v\9bw_m
+ = 
+       `gl_g\91_v\9bw_mode
+(
+ad
+);
+
+1468 
+E\9aa_Li¡
+ *
+£l_id_li¡
+ = 
+NULL
+;
+
+1469 
+E\9aa_Li¡
+ *
+med\9f_\96
+ = 
+NULL
+;
+
+1470 ià(
+v\9bw_m
+ =ð
+GL_VIEW_THUMBS_EDIT
+ ||
+
+1471 
+v\9bw_m
+ =ð
+GL_VIEW_THUMBS_SELECT
+) {
+
+1472 
+       `_gl_d©a_cÝy_£Ëùed_\9afo_§ve_cu¼\92t_£Ëùed
+(
+ad
+, &
+£l_id_li¡
+);
+
+1474 
+       `_gl_d©a_upd©e_\99em_li¡
+(
+ad
+, &
+£l_id_li¡
+, &
+med\9f_\96
+);
+
+1475 
+       `_gl_d©a_upd©e_£l_\99em_li¡
+(
+ad
+, 
+med\9f_\96
+);
+
+1476 
+       `_gl_thumbs_þ\97r_ªd_£t_li¡
+(
+ad
+, 
+med\9f_\96
+);
+
+1479 
+       `_gl_d©a_þ\97r_£Ëùed_\9afo
+(
+ad
+);
+
+1481 
+       `_gl_thumbs_þ\97r_ªd_£t_li¡
+(
+ad
+, 
+NULL
+);
+
+1485 
+       `GL_FREEIF
+(
+uuid
+);
+
+1487 
+       }
+}
+
+1491 \12
+       $_gl_upd©e_®bums_d©a
+(\1e*
+d©a
+)
+
+1493 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1494 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1495 
+gl_þu¡\94
+ *
+cur_®bum
+ = 
+       `_gl_®bums_g\91_cu¼\92t
+(
+d©a
+);
+
+1496 \ 5*
+uuid
+ = 
+NULL
+;
+
+1498 ià(
+cur_®bum
+ && cur_®bum->
+þu¡\94
+ && cur_®bum->þu¡\94->
+uuid
+)
+
+1499 
+uuid
+ = 
+       `¡rdup
+(
+cur_®bum
+->
+þu¡\94
+->uuid);
+
+1501 
+       `_gl_d©a_g\91_þu¡\94_li¡
+(
+ad
+);
+
+1503 
+       `_gl_®bums_£t_cu¼\92t
+(
+d©a
+, 
+NULL
+);
+
+1504 
+cur_®bum
+ = 
+NULL
+;
+
+1506 ià(
+uuid
+) {
+
+1507 
+       `_gl_d©a_g\91_þu¡\94_by_id
+(
+ad
+, 
+uuid
+, &
+cur_®bum
+);
+
+1508 ià(
+cur_®bum
+)
+
+1509 
+       `_gl_®bums_£t_cu¼\92t
+(
+d©a
+, 
+cur_®bum
+);
+
+1510 
+       `GL_FREE
+(
+uuid
+);
+
+1514 
+       }
+}
+
+1516 \12
+       $_gl_upd©e_®bums_li¡
+(\1e*
+d©a
+)
+
+1518 #ifdeà
+_USE_ROTATE_BG
+
+
+1519 \15 
+       `_gl_»äesh_®bums_li¡
+(
+d©a
+, 
+çl£
+, false);
+
+1521 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1522 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1523 
+gl_þu¡\94
+ *
+cur_®bum
+ = 
+       `_gl_®bums_g\91_cu¼\92t
+(
+d©a
+);
+
+1524 \ 5
+þu¡\94_id
+[
+GL_MTYPE_ITEN_ID_LEN_MAX
+] = { 0, };
+
+1525 
+boÞ
+b_g\91_cur_®bum
+ = 
+çl£
+;
+
+1528 ià(
+cur_®bum
+ && cur_®bum->
+þu¡\94
+ && cur_®bum->þu¡\94->
+uuid
+) {
+
+1529 
+       `g_¡¾ýy
+(
+þu¡\94_id
+, 
+cur_®bum
+->
+þu¡\94
+->
+uuid
+,
+
+1530 
+GL_MTYPE_ITEN_ID_LEN_MAX
+);
+
+1531 
+b_g\91_cur_®bum
+ = 
+\8cue
+;
+
+1533 
+       `gl_dbg
+("None\87lbum selected, current\87lbum is unavailable.");
+
+1536 
+       `_gl_d©a_g\91_þu¡\94_li¡
+(
+ad
+);
+
+1538 
+       `_gl_®bums_£t_cu¼\92t
+(
+d©a
+, 
+NULL
+);
+
+1539 
+cur_®bum
+ = 
+NULL
+;
+
+1541 ià(
+b_g\91_cur_®bum
+) {
+
+1542 
+       `_gl_d©a_g\91_þu¡\94_by_id
+(
+ad
+, 
+þu¡\94_id
+, &
+cur_®bum
+);
+
+1543 ià(
+cur_®bum
+ && cur_®bum->
+þu¡\94
+) {
+
+1544 
+       `_gl_®bums_£t_cu¼\92t
+(
+d©a
+, 
+cur_®bum
+);
+
+1545 
+       `gl_sdbg
+("Reset current\87lbum: %s",
+
+1546 
+cur_®bum
+->
+þu¡\94
+->
+di¥Ïy_Çme
+);
+
+1547 
+E\9aa_Li¡
+ *
+£l_id_li¡
+NULL
+;
+
+1548 
+E\9aa_Li¡
+ *
+med\9f_\96
+ = 
+NULL
+;
+
+1549 \12
+v\9bw_m
+ = 
+       `gl_g\91_v\9bw_mode
+(
+ad
+);
+
+1550 ià(
+v\9bw_m
+ =ð
+GL_VIEW_THUMBS_EDIT
+ ||
+
+1551 
+v\9bw_m
+ =ð
+GL_VIEW_THUMBS_SELECT
+) {
+
+1552 
+       `gl_dbg
+("Edit view.");
+
+1554 
+       `_gl_d©a_§ve_£Ëùed_¡r_ids
+(
+d©a
+, &
+£l_id_li¡
+);
+
+1556 
+       `_gl_d©a_þ\97r_£Ëùed_\9afo
+(
+ad
+);
+
+1557 
+       `_gl_d©a_upd©e_\99em_li¡
+(
+ad
+, &
+£l_id_li¡
+, &
+med\9f_\96
+);
+
+1558 
+       `_gl_thumbs_þ\97r_ªd_£t_li¡
+(
+ad
+, 
+med\9f_\96
+);
+
+1562 ià(
+ad
+->
+£l\9afo
+.
+\96
+)
+
+1563 
+       `_gl_d©a_þ\97r_£Ëùed_\9afo
+(
+ad
+);
+
+1569 
+       }
+}
+
+1575 \12
+       $gl_move_roÙ_®bum
+(\1e*
+d©a
+, 
+gl_þu¡\94
+ *
+cur_®bum
+, \ 5*
+de¡_·th
+)
+
+1577 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1578 
+       `GL_CHECK_VAL
+(
+cur_®bum
+, -1);
+
+1579 
+       `GL_CHECK_VAL
+(
+cur_®bum
+->
+þu¡\94
+, -1);
+
+1580 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1581 
+E\9aa_Li¡
+ *
+med\9fs_\96
+ = 
+NULL
+;
+
+1584 
+       `_gl_d©a_g\91_\99ems_®bum
+(
+ad
+, 
+cur_®bum
+, 
+GL_GET_ALL_RECORDS
+,
+
+1585 
+GL_GET_ALL_RECORDS
+, &
+med\9fs_\96
+);
+
+1586 
+       `GL_CHECK_VAL
+(
+med\9fs_\96
+, -1);
+
+1588 
+E\9aa_Li¡
+ *
+l
+ = 
+NULL
+;
+
+1589 
+gl_\99em
+ *
+g\99em
+ = 
+NULL
+;
+
+1590 \12
+pÝup_Ý
+ = 
+GL_POPUP_OP_NONE
+;
+
+1593 
+       `EINA_LIST_FOREACH
+(
+med\9fs_\96
+, 
+l
+, 
+g\99em
+) {
+
+1594 ià(
+g\99em
+ && g\99em->
+\99em
+) {
+
+1595 
+       `gl_sdbg
+("Mov\90[%s]", 
+g\99em
+->
+\99em
+->
+f\9ee_u¾
+);
+
+1596 ià(
+       `_gl_move_med\9f_thumb
+(
+d©a
+, 
+g\99em
+, 
+de¡_·th
+, 
+\8cue
+, &
+pÝup_Ý
+, 
+GL_MC_MOVE
+) != 0)
+
+1597 
+       `gl_dbgW
+("Failed\81o move\81his item");
+
+1599 
+g\99em
+ = 
+NULL
+;
+
+1601 
+       `gl_dbgE
+("Invalid item!");
+
+1606 
+       `_gl_d©a_ut\9e\97r_\99em_li¡
+(&(
+med\9fs_\96
+));
+
+1608 
+       }
+}
+
+1611 \18\12
+       $__gl_move_cÝy_Ý
+(\1e*
+d©a
+)
+
+1613 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1614 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1615 \12
+i
+ = 0;
+
+1617 \12
+út
+ = 
+       `_gl_d©a_£Ëùed_li¡_couÁ
+(
+ad
+);
+
+1618 
+gl_\99em
+ *
+g\99em
+ = 
+NULL
+;
+
+1619 \12
+pÝup_Ý
+ = 
+GL_POPUP_OP_NONE
+;
+
+1621 \ f
+i
+ = 0; i < 
+út
+; i++) {
+
+1622 
+g\99em
+ = 
+       `e\9aa_li¡_Áh
+(
+ad
+->
+£l\9afo
+.
+\96
+, 
+i
+);
+
+1623 ià(
+g\99em
+ && g\99em->
+\99em
+) {
+
+1624 
+       `gl_sdbg
+("S\96eùed [%s]", 
+g\99em
+->
+\99em
+->
+f\9ee_u¾
+);
+
+1626 ià(
+ad
+->
+ma\9a\9afo
+.
+med\9fs_Ý_ty³
+ =ð
+GL_MEDIA_OP_COPY
+) {
+
+1627 ià(
+       `_gl_move_med\9f_thumb
+(
+d©a
+, 
+g\99em
+, 
+ad
+->
+®bum\9afo
+.
+de¡_fÞd\94
+, 
+\8cue
+, &
+pÝup_Ý
+, 
+GL_MC_COPY
+) != 0)
+
+1628 
+       `gl_dbg
+("Failed\81o copy\81his item");
+
+1629 
+       `gl_dbg
+("F\9e\90\9bd:::::::%d/%d-->\8cy\81Øupd©\90´og»ssb¬", 
+i
+, 
+út
+);
+
+1630 } \vià(
+ad
+->
+ma\9a\9afo
+.
+med\9fs_Ý_ty³
+ =ð
+GL_MEDIA_OP_MOVE
+) {
+
+1631 ià(
+       `_gl_move_med\9f_thumb
+(
+d©a
+, 
+g\99em
+, 
+ad
+->
+®bum\9afo
+.
+de¡_fÞd\94
+, 
+\8cue
+, &
+pÝup_Ý
+,\87d->®bum\9afo.
+f\9ee_mc_mode
+) != 0)
+
+1632 
+       `gl_dbg
+("Failed\81o move\81his item");
+
+1639 
+       `gl_dbg
+("F\9e\90Moved:::::::%d/%d-->\8cy\81Øupd©\90´og»ssb¬", 
+i
+, 
+út
+);
+
+1641 
+       `gl_dbg
+("Inv®id med\9fs_Ý_ty³: %d!", 
+ad
+->
+ma\9a\9afo
+.
+med\9fs_Ý_ty³
+);
+
+1644 
+       `gl_dbg
+("Invalid item!");
+
+1647 
+       `gl_dbg
+("Write\85ipe, make\85rogressbar updated!");
+
+1648 
+       `gl_th»ad_wr\99e_p\9de
+(
+ad
+, 
+i
++1, 
+pÝup_Ý
+);
+
+1650 
+pÝup_Ý
+ = 
+GL_POPUP_OP_NONE
+;
+
+1653 
+       }
+}
+
+1656 \18\12
+       $__gl_upd©e_move_cÝy_v\9bw
+(\1e*
+d©a
+)
+
+1658 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1659 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1660 \12
+v\9bw_mode
+ = 
+       `gl_g\91_v\9bw_mode
+(
+ad
+);
+
+1661 
+       `gl_dbg
+("v\9bw_mode: %d", 
+v\9bw_mode
+);
+
+1663 cڡ \ 5*
+nÙi_¡r
+ = 
+NULL
+;
+
+1664 ià(
+v\9bw_mode
+ =ð
+GL_VIEW_THUMBS_SELECT
+) {
+
+1665 
+nÙi_¡r
+ = 
+GL_STR_ADDED
+;
+
+1667 
+       `_gl_d©a_þ\97r_£Ëùed_\9afo
+(
+d©a
+);
+
+1668 
+       `_gl_®bums_£t_cu¼\92t
+(
+d©a
+, 
+NULL
+);
+
+1670 
+       `_gl_upd©e_®bums_d©a
+(
+ad
+);
+
+1671 } \vià(
+ad
+->
+ma\9a\9afo
+.
+med\9fs_Ý_ty³
+ =ð
+GL_MEDIA_OP_COPY
+) {
+
+1672 
+nÙi_¡r
+ = 
+GL_STR_COPIED
+;
+
+1674 
+       `_gl_d©a_£Ëùed_li¡_f\9a®ize
+(
+d©a
+);
+
+1676 
+       `_gl_upd©e_®bums_d©a
+(
+ad
+);
+
+1677 } \vià(
+ad
+->
+ma\9a\9afo
+.
+med\9fs_Ý_ty³
+ =ð
+GL_MEDIA_OP_MOVE
+) {
+
+1678 
+nÙi_¡r
+ = 
+GL_STR_MOVED
+;
+
+1680 
+       `_gl_d©a_£Ëùed_li¡_f\9a®ize
+(
+d©a
+);
+
+1682 ià(
+       `_gl_thumbs_check_z\94o
+(
+d©a
+)) {
+
+1683 
+       `gl_sdbg
+("is_zero");
+
+1684 
+       `_gl_upd©e_®bums_li¡
+(
+ad
+);
+
+1686 
+       `_gl_upd©e_®bums_li¡
+(
+ad
+);
+
+1688 
+       `_gl_thumbs_upd©e_v\9bw
+(
+ad
+);
+
+1692 
+       `gl_dbgE
+("Wrong mode!");
+
+1695 
+       `_gl_upd©e_Ý\94©iÚ_v\9bw
+(
+ad
+, 
+nÙi_¡r
+);
+
+1697 
+       `_gl_db_upd©e_lock_®ways
+(
+d©a
+, 
+çl£
+);
+
+1699 
+       }
+}
+
+1701 \12
+       $gl_move_cÝy_to_®bum
+(\1e*
+d©a
+)
+
+1703 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1704 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1705 \ 5
+fÞd\94_fuηth
+[
+GL_DIR_PATH_LEN_MAX
+] = { 0, };
+
+1706 
+gl_þu¡\94
+ *
+cur_®bum
+ = 
+       `_gl_®bums_g\91_cu¼\92t
+(
+d©a
+);
+
+1707 \12
+út
+ = 
+       `_gl_d©a_£Ëùed_li¡_couÁ
+(
+ad
+);
+
+1709 
+       `_gl_db_upd©e_lock_®ways
+(
+d©a
+, 
+\8cue
+);
+
+1711 ià(
+ad
+->
+®bum\9afo
+.
+f\9ee_mc_mode
+ =ð
+GL_MC_COPY
+) {
+
+1713 \1d\13\13
\93_size
+ = 
+       `gl_fs_g\91\93_¥aû
+(
+GL_STORE_T_PHONE
+);
+
+1714 
+       `gl_dbg
+("F»\90¥aû i %Îd", 
\93_size
+);
+
+1716 ià(
\93_size
+ <ð
+GL_FS_MIN_SIZE
+) {
+
+1717 
+       `gl_dbgW
+("Low memory.");
+
+1718 
+       `gl_pÝup_ü\97\8b_pÝup
+(
+ad
+, 
+GL_POPUP_ALBUM_MEMORY_FULL
+,
+
+1719 
+GL_DEVICE_MEMORY_FULL
+);
+
+1720 \10
+GL_FAILED
+;
+
+1728 ià(
+ad
+->
+®bum\9afo
+.
+·th
+ =ð
+NULL
+) {
+
+1729 
+       `gl_dbg
+("---Popup\86ist item: New\87lbum---");
+
+1730 ià(
+       `gl_make_Ãw_®bum
+(
+ad
+->
+®bum\9afo
+.
+Ãw_Çme
+è=ð
+çl£
+) {
+
+1731 
+       `gl_pÝup_ü\97\8b_pÝup
+(
+ad
+, 
+GL_POPUP_NOBUT
+,
+
+1732 
+GL_STR_SAME_NAME_ALREADY_IN_USE
+);
+
+1733 
+       `gl_dbgE
+("Failed\81o make\87\82ew directory!");
+
+1734 \10
+GL_FAILED
+;
+
+1736 
+       `¢´\9atf
+(
+fÞd\94_fuηth
+, 
+GL_DIR_PATH_LEN_MAX
+, "%s/%s",
+
+1737 
+GL_DEFAULT_PATH_IMAGES
+, 
+ad
+->
+®bum\9afo
+.
+Ãw_Çme
+);
+
+1739 
+       `g_¡¾ýy
+(
+fÞd\94_fuηth
+, 
+ad
+->
+®bum\9afo
+.
+·th
+,
+
+1740 
+GL_DIR_PATH_LEN_MAX
+);
+
+1741 
+       `GL_FREE
+(
+ad
+->
+®bum\9afo
+.
+·th
+);
+
+1744 ià(!
+ad
+->
+®bum\9afo
+.
+b_Ãw_®bum
+ &&
+
+1745 (
+cur_®bum
+ =ð
+NULL
+ || cur_®bum->
+þu¡\94
+ == NULL)) {
+
+1746 
+       `gl_dbgE
+("[Error] Current\87lbum is NULL!");
+
+1747 \10
+GL_FAILED
+;
+
+1750 
+       `mem£t
+(
+ad
+->
+®bum\9afo
+.
+de¡_fÞd\94
+, 0x00, 
+GL_DIR_PATH_LEN_MAX
+);
+
+1751 
+       `g_¡¾ýy
+(
+ad
+->
+®bum\9afo
+.
+de¡_fÞd\94
+, 
+fÞd\94_fuηth
+,
+
+1752 
+GL_DIR_PATH_LEN_MAX
+);
+
+1754 
+       `gl_check_mmc_¡©e
+(
+ad
+, 
+fÞd\94_fuηth
+);
+
+1755 
+       `gl_dbg
+("MMC s\8f\8b: %d.", 
+ad
+->
+ma\9a\9afo
+.
+mmc_¡©e
+);
+
+1756 ià(
+út
+ != 0) {
+
+1757 ià(
+ad
+->
+®bum\9afo
+.
+f\9ee_mc_mode
+ =ð
+GL_MC_MOVE
+) {
+
+1758 
+       `_gl_£t_f\9ee_Ý_cbs
+(
+d©a
+, 
+__gl_move_cÝy_Ý
+,
+
+1759 
+NULL
+, 
+__gl_upd©e_move_cÝy_v\9bw
+, 
+út
+);
+
+1760 
+       `_gl_u£_th»ad_Ý\94©e_med\9fs
+(
+ad
+, 
+GL_STR_ID_MOVING
+, 
+út
+,
+
+1761 
+GL_MEDIA_OP_MOVE
+);
+
+1762 } \vià(
+ad
+->
+®bum\9afo
+.
+f\9ee_mc_mode
+ =ð
+GL_MC_COPY
+) {
+
+1763 
+       `_gl_£t_f\9ee_Ý_cbs
+(
+d©a
+, 
+__gl_move_cÝy_Ý
+, 
+NULL
+,
+
+1764 
+__gl_upd©e_move_cÝy_v\9bw
+, 
+út
+);
+
+1765 
+       `_gl_u£_th»ad_Ý\94©e_med\9fs
+(
+ad
+, 
+GL_STR_ID_COPYING
+, 
+út
+,
+
+1766 
+GL_MEDIA_OP_COPY
+);
+
+1768 
+       `gl_dbgE
+("Wrong mode!");
+
+1773 
+GL_FAILED
+:
+
+1775 
+       `_gl_nÙify_check_£ÏÎ
+(
+ad
+,\87d->
+grid\9afo
+.
+nf_\99
+,\87d->grid\9afo.
+couÁ
+,
+
+1776 
+       `_gl_d©a_£Ëùed_li¡_couÁ
+(
+ad
+));
+
+1778 
+       `_gl_thumbs_upd©e_Ïb\96_\8bxt
+(
+ad
+->
+grid\9afo
+.
+nf_\99
+,
+
+1779 
+       `_gl_d©a_£Ëùed_li¡_couÁ
+(
+ad
+), 
+çl£
+);
+
+1780 
+       `_gl_db_upd©e_lock_®ways
+(
+d©a
+, 
+çl£
+);
+
+1782 
+       }
+}
+
+1784 #ifdeà
+_USE_ROTATE_BG
+
+
+1786 \12
+       $_gl_d\96ay
+(\b
+£c
+)
+
+1788 
+       `gl_dbg
+("Start");
+
+1789 \19
+timev®
+tv
+;
+
+1790 \1d\12
+¡¬t_t
+ = 0;
+
+1791 \1d\12
+\92d_t
+ = 0;
+
+1792 \1d\12
+d\96ay_t
+ = (\1d\12)(
+£c
+ * 
+GL_TIME_USEC_PER_SEC
+);
+
+1794 
+       `g\91timeofday
+(&
+tv
+, 
+NULL
+);
+
+1795 
+¡¬t_t
+ = 
+tv
+.
+tv_£c
+ * 
+GL_TIME_USEC_PER_SEC
+ +\81v.
+tv_u£c
+;
+
+1797 \ f
+\92d_t
+ = 
+¡¬t_t
+;\83nd_\88- s\8f¹_\88
+d\96ay_t
+;) {
+
+1798 
+       `g\91timeofday
+(&
+tv
+, 
+NULL
+);
+
+1799 
+\92d_t
+ = 
+tv
+.
+tv_£c
+ * 
+GL_TIME_USEC_PER_SEC
+ +\81v.
+tv_u£c
+;
+
+1802 
+       `gl_dbg
+("End");
+
+1804 
+       }
+}
+
+1806 \12
+       $_gl_rÙ©e_Ý
+(\1e*
+d©a
+)
+
+1808 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1809 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1811 \12
+út
+ = 
+       `_gl_d©a_£Ëùed_li¡_couÁ
+(
+ad
+);
+
+1812 
+gl_\99em
+ *
+g\99em
+ = 
+NULL
+;
+
+1813 \12
+i
+ = 0;
+
+1814 \12
+pÝup_Ý
+ = 
+GL_POPUP_OP_NONE
+;
+
+1815 \1d\12
\9bÁ
+ = 
+GL_ORIENTATION_ROT_ERR
+;
+
+1816 \1d\12
+Ãw_Ü\9bÁ
+ = 
+GL_ORIENTATION_ROT_ERR
+;
+
+1817 \12
+»t
+ = -1;
+
+1818 
+boÞ
+b_Ëá
+ = 
+çl£
+;
+
+1820 ià(
+ad
+->
+ma\9a\9afo
+.
+med\9fs_Ý_ty³
+ =ð
+GL_MEDIA_OP_ROTATING_LEFT
+)
+
+1821 
+b_Ëá
+ = 
+\8cue
+;
+
+1823 
+gl_þu¡\94
+ *
+cu¼\92t_®bum
+ = 
+       `_gl_®bums_g\91_cu¼\92t
+(
+d©a
+);
+
+1825 ià(
+cu¼\92t_®bum
+ && cu¼\92t_®bum->
+þu¡\94
+ &&
+
+1826 
+cu¼\92t_®bum
+->
+þu¡\94
+->
+·th
+ &&
+
+1827 
+       `¡¾\92
+(
+cu¼\92t_®bum
+->
+þu¡\94
+->
+·th
+))
+
+1828 
+       `g_¡¾ýy
+(
+ad
+->
+®bum\9afo
+.
+de¡_fÞd\94
+,
+
+1829 
+cu¼\92t_®bum
+->
+þu¡\94
+->
+·th
+, 
+GL_DIR_PATH_LEN_MAX
+);
+
+1831 
+       `gl_dbgE
+("Invalid folder\85ath!");
+
+1834 \ f
+i
+ = 0; i < 
+út
+; i++) {
+
+1835 
+g\99em
+ = 
+       `e\9aa_li¡_Áh
+(
+ad
+->
+£l\9afo
+.
+\96
+, 
+i
+);
+
+1836 ià(
+g\99em
+ !ð
+NULL
+ && g\99em->
+\99em
+ != NULL &&
+
+1837 
+g\99em
+->
+\99em
+->
+f\9ee_u¾
+ &&
+
+1838 
+g\99em
+->
+\99em
+->
+ty³
+ =ð
+MEDIA_CONTENT_TYPE_IMAGE
+ &&
+
+1839 
+       `GL_FILE_EXISTS
+(
+g\99em
+->
+\99em
+->
+f\9ee_u¾
+)) {
+
+1841 
+»t
+ = 
+       `_gl_exif_g\91\9bÁ©iÚ
+(
+g\99em
+->
+\99em
+->
+f\9ee_u¾
+,
+
+1842 &
\9bÁ
+);
+
+1843 ià(
+»t
+ == 0) {
+
+1844 
+Ãw_Ü\9bÁ
+ = 
+       `_gl_exif_g\91_rÙ©ed_Ü\9bÁ©iÚ
+(
\9bÁ
+,
+
+1845 
+b_Ëá
+);
+
+1846 
+       `_gl_exif_£t_Ü\9bÁ©iÚ
+(
+g\99em
+->
+\99em
+->
+f\9ee_u¾
+,
+
+1847 
+Ãw_Ü\9bÁ
+);
+
+1849 
+       `med\9f_\9afo_»äesh_m\91ad©a_to_db
+(
+g\99em
+->
+\99em
+->
+uuid
+);
+
+1852 
+       `gl_dbgE
+("Invalid item!");
+
+1856 ià(
+i
+ > 
+út
+ - 2)
+
+1857 
+       `_gl_d\96ay
+(
+GL_ROTATE_DELAY
+);
+
+1859 ià(
+i
+ =ð
+út
+) {
+
+1860 
+       `gl_dbgW
+("Last image\84otated!");
+
+1862 
+       `_gl_d\96ay
+(
+GL_ROTATE_DELAY
+);
+
+1864 
+       `gl_dbg
+("Write\85ipe, make\85rogressbar updated!");
+
+1865 
+       `gl_th»ad_wr\99e_p\9de
+(
+ad
+, 
+i
++1, 
+pÝup_Ý
+);
+
+1866 
+g\99em
+ = 
+NULL
+;
+
+1869 
+       }
+}
+
+1872 \12
+       $_gl_upd©e_rÙ©e_v\9bw
+(\1e*
+d©a
+)
+
+1874 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1875 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1877 
+gl_\99em
+ *
+g\99em
+ = 
+NULL
+;
+
+1878 
+E\9aa_Li¡
+ *
+tmp
+ = 
+NULL
+;
+
+1879 
+       `EINA_LIST_FOREACH
+(
+ad
+->
+£l\9afo
+.
+\96
+, 
+tmp
+, 
+g\99em
+) {
+
+1880 ià(
+g\99em
+ && g\99em->
+\96m_\99em
+) {
+
+1881 
+g\99em
+->
+checked
+ = 
+çl£
+;
+
+1882 
+       `\96m_g\92grid_\99em_upd©e
+(
+g\99em
+->
+\96m_\99em
+);
+
+1887 
+       `_gl_d©a_£Ëùed_li¡_f\9a®ize
+(
+d©a
+);
+
+1889 
+       `mem£t
+(
+ad
+->
+®bum\9afo
+.
+de¡_fÞd\94
+, 0x00, 
+GL_DIR_PATH_LEN_MAX
+);
+
+1891 
+       `_gl_upd©e_Ý\94©iÚ_v\9bw
+(
+ad
+, 
+NULL
+);
+
+1892 
+       `_gl_db_upd©e_lock_®ways
+(
+d©a
+, 
+çl£
+);
+
+1894 
+       }
+}
+
+1896 \12
+       $_gl_r٩e_images
+(\1e*
+d©a
+, 
+boÞ
+b_Ëá
+)
+
+1898 
+       `gl_dbg
+("");
+
+1899 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1900 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1902 \12
+út
+ = 
+       `_gl_d©a_£Ëùed_li¡_couÁ
+(
+ad
+);
+
+1904 
+       `gl_check_mmc_¡©e
+(
+ad
+, 
+NULL
+);
+
+1905 
+       `gl_dbg
+("MMC s\8f\8b: %d.", 
+ad
+->
+ma\9a\9afo
+.
+mmc_¡©e
+);
+
+1907 \12
+Ý_ty³
+ = 
+GL_MEDIA_OP_ROTATING_LEFT
+;
+
+1909 ià(!
+b_Ëá
+)
+
+1910 
+Ý_ty³
+ = 
+GL_MEDIA_OP_ROTATING_RIGHT
+;
+
+1911 
+       `_gl_db_upd©e_lock_®ways
+(
+d©a
+, 
+\8cue
+);
+
+1912 
+       `_gl_£t_f\9ee_Ý_cbs
+(
+d©a
+, 
+_gl_rÙ©e_Ý
+, 
+NULL
+, 
+_gl_upd©e_rÙ©e_v\9bw
+,
+
+1913 
+út
+);
+
+1914 
+       `_gl_u£_th»ad_Ý\94©e_med\9fs
+(
+ad
+, 
+GL_STR_ID_ROTATING
+, 
+út
+, 
+Ý_ty³
+);
+
+1917 
+       }
+}
+
+1919 \12
+       $_gl_r٩e_image_by_id
+(\1e*
+d©a
+, cڡ \ 5*
+uuid
+, 
+boÞ
+b_Ëá
+)
+
+1921 
+       `GL_CHECK_VAL
+(
+uuid
+, -1);
+
+1922 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1923 \1d\12
\9bÁ
+ = 
+GL_ORIENTATION_ROT_ERR
+;
+
+1924 \1d\12
+Ãw_Ü\9bÁ
+ = 
+GL_ORIENTATION_ROT_ERR
+;
+
+1925 \12
+»t
+ = -1;
+
+1926 
+med\9f_\9afo_h
+med\9f_h
+ = 
+NULL
+;
+
+1927 \ 5*
+·th
+ = 
+NULL
+;
+
+1928 
+med\9f_cÚ\8bÁ_ty³_e
+med\9f_ty³
+ = 0;
+
+1930 
+»t
+ = 
+       `med\9f_\9afo_g\91_med\9f_äom_db
+(
+uuid
+, &
+med\9f_h
+);
+
+1931 ià(
+»t
+ !ð
+MEDIA_CONTENT_ERROR_NONE
+ || 
+med\9f_h
+ =ð
+NULL
+) {
+
+1932 
+       `gl_dbgE
+("G\91 med\9f fa\9eed[%d]!", 
+»t
+);
+
+1933 ià(
+med\9f_h
+)
+
+1934 
+       `med\9f_\9afo_de¡roy
+(
+med\9f_h
+);
+
+1937 
+»t
+ = 
+       `med\9f_\9afo_g\91_med\9f_ty³
+(
+med\9f_h
+, &
+med\9f_ty³
+);
+
+1938 ià(
+»t
+ !ð
+MEDIA_CONTENT_ERROR_NONE
+) {
+
+1939 
+       `gl_dbgE
+("Get storage\81ype failed!");
+
+1940 
+       `med\9f_\9afo_de¡roy
+(
+med\9f_h
+);
+
+1943 
+»t
+ = 
+       `med\9f_\9afo_g\91_f\9ee_·th
+(
+med\9f_h
+, &
+·th
+);
+
+1944 ià(
+»t
+ !ð
+MEDIA_CONTENT_ERROR_NONE
+) {
+
+1945 
+       `gl_dbgE
+("Get media file\85ath failed!");
+
+1946 
+       `med\9f_\9afo_de¡roy
+(
+med\9f_h
+);
+
+1949 ià(
+med\9f_ty³
+ =ð
+MEDIA_CONTENT_TYPE_IMAGE
+ && 
+       `GL_FILE_EXISTS
+(
+·th
+)) {
+
+1951 
+»t
+ = 
+       `_gl_exif_g\91\9bÁ©iÚ
+(
+·th
+, &
\9bÁ
+);
+
+1952 ià(
+»t
+ == 0) {
+
+1953 
+Ãw_Ü\9bÁ
+ = 
+       `_gl_exif_g\91_rÙ©ed_Ü\9bÁ©iÚ
+(
\9bÁ
+,
+
+1954 
+b_Ëá
+);
+
+1955 
+       `_gl_exif_£t_Ü\9bÁ©iÚ
+(
+·th
+, 
+Ãw_Ü\9bÁ
+);
+
+1957 
+       `med\9f_\9afo_»äesh_m\91ad©a_to_db
+(
+uuid
+);
+
+1961 
+       `GL_FREE
+(
+·th
+);
+
+1962 
+       `med\9f_\9afo_de¡roy
+(
+med\9f_h
+);
+
+1963 
+med\9f_h
+ = 
+NULL
+;
+
+1965 
+       }
+}
+
+1968 
+E\9aa_BoÞ
+       $gl_upd©e_v\9bw
+(\1e*
+d©a
+, \12
+mode
+)
+
+1970 
+       `GL_CHECK_FALSE
+(
+d©a
+);
+
+1971 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1972 \12
+v\9bw_mode
+ = 
+       `gl_g\91_v\9bw_mode
+(
+ad
+);
+
+1973 
+       `gl_dbg
+("v\9bw_mode: %d", 
+v\9bw_mode
+);
+
+1974 ià(
+mode
+ =ð
+GL_UPDATE_VIEW_NONE
+) {
+
+1975 
+       `gl_dbg
+("Don't\82eed\81o update");
+
+1976 \15 
+EINA_FALSE
+;
+
+1980 ià(
+mode
+ >ð
+GL_UPDATE_VIEW_MMC_REMOVED
+ &&
+
+1981 
+v\9bw_mode
+ !ð
+GL_VIEW_THUMBS_SELECT
+) {
+
+1983 
+       `_gl_upd©e_®bums_li¡
+(
+d©a
+);
+
+1986 ià(
+v\9bw_mode
+ =ð
+GL_VIEW_ALBUMS
+ ||
+
+1987 
+v\9bw_mode
+ =ð
+GL_VIEW_ALBUMS_EDIT
+ ||
+
+1988 
+v\9bw_mode
+ =ð
+GL_VIEW_ALBUMS_RENAME
+) {
+
+1990 
+       `gl_®bums_upd©e_v\9bw
+(
+ad
+);
+
+1991 } \vià(
+v\9bw_mode
+ =ð
+GL_VIEW_THUMBS
+) {
+
+1992 
+gl_þu¡\94
+ *
+cur
+ = 
+       `_gl_®bums_g\91_cu¼\92t
+(
+d©a
+);
+
+1994 ià(
+mode
+ =ð
+GL_UPDATE_VIEW_MMC_REMOVED
+ &&
+
+1995 
+       `_gl_ù¾_g\91_\8fb_mode
+(
+ad
+è=ð
+GL_CTRL_TAB_ALBUMS
+ && 
+cur
+ &&
+
+1996 
+cur
+->
+þu¡\94
+ && cur->þu¡\94->
+ty³
+ =ð
+GL_STORE_T_MMC
+) {
+
+1997 
+       `gl_dbgW
+("MMC\84emoved, change\81o\87lbums view!");
+
+1998 
+       `gl_pÝ_to_ù¾b¬_ly
+(
+ad
+);
+
+1999 \15 
+EINA_TRUE
+;
+
+2002 
+       `_gl_thumbs_upd©e_v\9bw
+(
+d©a
+);
+
+2003 \15 
+EINA_TRUE
+;
+
+2004 } \vià(
+v\9bw_mode
+ =ð
+GL_VIEW_THUMBS_EDIT
+) {
+
+2006 ià(
+ad
+->
+pb¬\9afo
+.
+sync_p\9de
+) {
+
+2007 
+       `gl_dbgW
+("Thread operation is in\85rocess!");
+
+2008 \15 
+EINA_TRUE
+;
+
+2011 
+gl_þu¡\94
+ *
+cur
+ = 
+       `_gl_®bums_g\91_cu¼\92t
+(
+d©a
+);
+
+2012 ià(
+mode
+ =ð
+GL_UPDATE_VIEW_MMC_REMOVED
+ &&
+
+2013 
+       `_gl_ù¾_g\91_\8fb_mode
+(
+ad
+è=ð
+GL_CTRL_TAB_ALBUMS
+ && 
+cur
+ &&
+
+2014 
+cur
+->
+þu¡\94
+ && cur->þu¡\94->
+ty³
+ =ð
+GL_STORE_T_MMC
+) {
+
+2016 
+       `gl_dbgW
+("MMC\84emoved, change\81o\87lbums view!");
+
+2017 
+       `gl_pÝ_to_ù¾b¬_ly
+(
+ad
+);
+
+2018 \15 
+EINA_TRUE
+;
+
+2021 
+       `_gl_thumbs_upd©e_v\9bw
+(
+d©a
+);
+
+2022 \15 
+EINA_TRUE
+;
+
+2023 } \vià(
+v\9bw_mode
+ =ð
+GL_VIEW_ALBUMS_SELECT
+) {
+
+2024 
+       `_gl_®bums_£l_upd©e_v\9bw
+(
+ad
+);
+
+2025 } \vià(
+v\9bw_mode
+ =ð
+GL_VIEW_THUMBS_SELECT
+) {
+
+2026 
+Evas_Objeù
+ *
+Ïyout_\9aÃr
+ = 
+       `\96m_objeù_·¹_cÚ\8bÁ_g\91
+(
+ad
+->
+®bum\9afo
+.
+£Ëù_Ïyout
+, "split.view");
+
+2027 ià(!
+Ïyout_\9aÃr
+) {
+
+2028 
+       `gl_dbgE
+("Failed\81o\87dd split\87lbum view!");
+
+2030 
+       `_ü\97\8b_¥l\99_®bum_v\9bw
+(
+ad
+, 
+Ïyout_\9aÃr
+);
+
+2031 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+ad
+->
+®bum\9afo
+.
+£Ëù_Ïyout
+, "¥l\99.v\9bw", 
+Ïyout_\9aÃr
+);
+
+2033 
+       `_gl_thumbs_£l_upd©e_v\9bw
+(
+ad
+);
+
+2034 } \vià(
+v\9bw_mode
+ =ð
+GL_VIEW_TIMELINE
+) {
+
+2035 
+       `_gl_tim\96\9ae_upd©e_v\9bw
+(
+d©a
+);
+
+2037 \15 
+EINA_TRUE
+;
+
+2038 
+       }
+}
+
+2044 \12
+       $gl_g\91_sh¬e_mode
+(\1e*
+d©a
+)
+
+2046 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+2047 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+2048 \12
+sh¬e_mode
+ = 
+GL_SHARE_NONE
+;
+
+2049 \12
+image_út
+ = 0;
+
+2050 \12
+video_út
+ = 0;
+
+2051 \12
+£l_út
+ = 0;
+
+2052 \12
+v\9bw_m
+ = 
+       `gl_g\91_v\9bw_mode
+(
+ad
+);
+
+2053 ià(
+v\9bw_m
+ =ð
+GL_VIEW_ALBUMS_EDIT
+) {
+
+2054 
+£l_út
+ = 
+ad
+->
+£l\9afo
+.sel_cnt;
+
+2055 } \vià(
+v\9bw_m
+ =ð
+GL_VIEW_ALBUMS
+) {
+
+2056 
+£l_út
+ = 
+ad
+->
+£l\9afo
+.sel_cnt;
+
+2058 
+       `GL_CHECK_VAL
+(
+ad
+->
+£l\9afo
+.
+\96
+, -1);
+
+2059 
+£l_út
+ = 
+       `e\9aa_li¡_couÁ
+(
+ad
+->
+£l\9afo
+.
+\96
+);
+
+2061 
+image_út
+ = 
+ad
+->
+£l\9afo
+.
+images_út
+;
+
+2062 ià(
+image_út
+ > 
+£l_út
+) {
+
+2063 
+       `gl_dbgE
+("Images count is wrong!");
+
+2067 
+video_út
+ = 
+£l_út
+ - 
+image_út
+;
+
+2068 
+       `gl_dbg
+("Selected items count: %d, image count: %d, video count: %d.",
+
+2069 
+£l_út
+, 
+image_út
+, 
+video_út
+);
+
+2071 ià(
+image_út
+ && 
+video_út
+) {
+
+2072 
+sh¬e_mode
+ = 
+GL_SHARE_IMAGE_VIDEO
+;
+
+2073 } \vià(
+image_út
+) {
+
+2074 ià(
+ad
+->
+£l\9afo
+.
+j³g_út
+ =ð
+£l_út
+) {
+
+2075 ià(
+image_út
+ == 1)
+
+2076 
+sh¬e_mode
+ = 
+GL_SHARE_IMAGE_ONE_JPEG
+;
+
+2078 
+sh¬e_mode
+ = 
+GL_SHARE_IMAGE_MULTI_JPEG
+;
+
+2080 ià(
+image_út
+ == 1)
+
+2081 
+sh¬e_mode
+ = 
+GL_SHARE_IMAGE_ONE
+;
+
+2083 
+sh¬e_mode
+ = 
+GL_SHARE_IMAGE_MULTI
+;
+
+2085 } \vià(
+video_út
+) {
+
+2086 ià(
+video_út
+ == 1) {
+
+2087 
+sh¬e_mode
+ = 
+GL_SHARE_VIDEO_ONE
+;
+
+2089 
+sh¬e_mode
+ = 
+GL_SHARE_VIDEO_MULTI
+;
+
+2092 
+       `gl_dbgE
+("Error:\82o video\87nd image!");
+
+2095 
+       `gl_dbg
+("sh¬e_mod\90i %d.", 
+sh¬e_mode
+);
+
+2097 \15 
+sh¬e_mode
+;
+
+2098 
+       }
+}
+
+2106 \12
+       $gl_pÝ_to_ù¾b¬_ly
+(\1e*
+d©a
+)
+
+2108 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+2109 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+2110 
+       `gl_dbg
+("");
+
+2113 
+       `_gl_thumbs_de¡roy_v\9bw
+(
+d©a
+, 
+\8cue
+);
+
+2115 ià(
+       `gl_check_g®Ëry_em±y
+(
+ad
+)) {
+
+2117 
+       `gl_dbgW
+("Empty Gallery, change\81o Albums view.");
+
+2118 ià(
+       `_gl_ù¾_g\91_\8fb_mode
+(
+ad
+è!ð
+GL_CTRL_TAB_ALBUMS
+) {
+
+2120 
+       `gl_dbg
+("Not in Albums\81ab.");
+
+2121 
+       `_gl_ù¾_£l_\8fb
+(
+d©a
+, 
+GL_CTRL_TAB_ALBUMS
+);
+
+2125 
+       `_gl_®bums_check_b\8as
+(
+d©a
+);
+
+2128 
+       `gl_dbg
+("Change\81o Albums view.");
+
+2130 
+       `_gl_®bums_check_b\8as
+(
+d©a
+);
+
+2133 
+       }
+}
+
+2135 
+time_t
+       $gl_ut\9e_g\91_cu¼\92t_sy¡emtime
+(\1e)
+
+2137 \19
+timev®
+now
+;
+
+2138 
+       `mem£t
+(&
+now
+, 0x00, \17(\19
+timev®
+));
+
+2139 \19
+tm
+loÿl_time
+;
+
+2140 
+       `mem£t
+(&
+loÿl_time
+, 0x00, \17(\19
+tm
+));
+
+2143 
+       `g\91timeofday
+(&
+now
+, 
+NULL
+);
+
+2144 
+       `loÿÉime_r
+((
+time_t
+ *)(&(
+now
+.
+tv_£c
+)), &
+loÿl_time
+);
+
+2146 \15 
+       `mktime
+(&
+loÿl_time
+);
+
+2147 
+       }
+}
+
+2150 \ 5*
+       $_gl_g\91_du¿tiÚ_¡r\9ag
+(\1d\12
+v_dur
+)
+
+2152 \ 5*
+dur_¡r
+ = 
+       `ÿÎoc
+(1, 
+GL_FILE_PATH_LEN_MAX
+);
+
+2153 
+       `GL_CHECK_NULL
+(
+dur_¡r
+);
+
+2154 ià(
+v_dur
+ > 0) {
+
+2155 \12
+du¿tiÚ
+ = 
+       `æoÜ
+(
+v_dur
+ / 
+GL_TIME_MSEC_PER_SEC
+);
+
+2156 \12
+dur_hr
+ = 0;
+
+2157 \12
+dur_m\9a
+ = 0;
+
+2158 \12
+dur_£c
+ = 0;
+
+2159 \12
+tmp
+ = 0;
+
+2161 ià(
+du¿tiÚ
+ >ð
+GL_TIME_SEC_PER_HOUR
+) {
+
+2162 
+dur_£c
+ = 
+du¿tiÚ
+ % 
+GL_TIME_SEC_PER_MIN
+;
+
+2163 
+tmp
+ = 
+       `æoÜ
+(
+du¿tiÚ
+ / 
+GL_TIME_SEC_PER_MIN
+);
+
+2164 
+dur_m\9a
+ = 
+tmp
+ % 
+GL_TIME_MIN_PER_HOUR
+;
+
+2165 
+dur_hr
+ = 
+       `æoÜ
+(
+tmp
+ / 
+GL_TIME_MIN_PER_HOUR
+);
+
+2166 } \vià(
+du¿tiÚ
+ >ð
+GL_TIME_SEC_PER_MIN
+) {
+
+2167 
+dur_hr
+ = 0;
+
+2168 
+dur_m\9a
+ = 
+       `æoÜ
+(
+du¿tiÚ
+ / 
+GL_TIME_SEC_PER_MIN
+);
+
+2169 
+dur_£c
+ = 
+du¿tiÚ
+ % 
+GL_TIME_SEC_PER_MIN
+;
+
+2171 
+dur_hr
+ = 0;
+
+2172 
+dur_m\9a
+ = 0;
+
+2173 
+dur_£c
+ = 
+du¿tiÚ
+ % 
+GL_TIME_SEC_PER_MIN
+;
+
+2176 
+       `¢´\9atf
+(
+dur_¡r
+, 
+GL_FILE_PATH_LEN_MAX
+, "%02d:%02d:%02d",
+
+2177 
+dur_hr
+, 
+dur_m\9a
+, 
+dur_£c
+);
+
+2179 
+       `¢´\9atf
+(
+dur_¡r
+, 
+GL_FILE_PATH_LEN_MAX
+, "00:00:00");
+
+2181 
+dur_¡r
+[
+       `¡¾\92
+(dur_str)] = '\0';
+
+2182 \15 
+dur_¡r
+;
+
+2183 
+       }
+}
+
+2185 
+gl_icÚ_ty³_e
+       $_gl_g\91_icÚ_ty³
+(
+gl_\99em
+ *
+g\99
+)
+
+2187 ià(
+g\99
+ =ð
+NULL
+ || g\99->
+\99em
+ =ðNULL || g\99->\99em->
+f\9ee_u¾
+ == NULL) {
+
+2188 
+       `gl_dbgE
+("Inv®id i\8bm :%p", 
+g\99
+);
+
+2189 \15 
+GL_ICON_CORRUPTED_FILE
+;
+
+2192 \15 
+GL_ICON_NORMAL
+;
+
+2193 
+       }
+}
+
+2195 \ 5*
+       $_gl_¡r
+(\ 5*
+¡r_id
+)
+
+2197 
+       `GL_CHECK_NULL
+(
+¡r_id
+);
+
+2198 ià(
+       `¡r¡r
+(
+¡r_id
+, "IDS_COM"))
+
+2199 \15 
+       `dg\91\8bxt
+(
+GL_STR_DOMAIN_SYS
+, 
+¡r_id
+);
+
+2200 \vià(
+       `¡r¡r
+(
+¡r_id
+, "IDS_"))
+
+2201 \15 
+       `dg\91\8bxt
+(
+GL_STR_DOMAIN_LOCAL
+, 
+¡r_id
+);
+
+2203 \15 
+¡r_id
+;
+
+2204 
+       }
+}
+
+2206 
+boÞ
+       $_gl_is_¡r_id
+(cڡ \ 5*
+¡r_id
+)
+
+2208 
+       `GL_CHECK_NULL
+(
+¡r_id
+);
+
+2209 ià(
+       `¡r¡r
+(
+¡r_id
+, "IDS_"))
+
+2210 \15 
+\8cue
+;
+
+2212 \15 
+çl£
+;
+
+2213 
+       }
+}
+
+2215 \b
+       $_gl_g\91_w\9a_çùÜ
+(
+Evas_Objeù
+ *
+w\9a
+, \12*
+width
+, \12*
+height
+)
+
+2217 ià(
+w\9a
+ =ð
+NULL
+) {
+
+2218 
+       `gl_dbgE
+("Invalid window!");
+
+2222 \b
+çùÜ
+ = 1.0f;
+
+2223 \12
+w\9a_x
+ = 0;
+
+2224 \12
+w\9a_y
+ = 0;
+
+2225 \12
+w\9a_w
+ = 0;
+
+2226 \12
+w\9a_h
+ = 0;
+
+2228 
+       `\96m_w\9a_sü\93n_size_g\91
+(
+w\9a
+, &
+w\9a_x
+, &
+w\9a_y
+, &
+w\9a_w
+, &
+w\9a_h
+);
+
+2229 
+       `gl_dbg
+("W\9adow size: %dx%d, %dx%d", 
+w\9a_x
+, 
+w\9a_y
+, 
+w\9a_w
+, 
+w\9a_h
+);
+
+2230 \12
+w\9a_p_h
+ = 
+w\9a_w
+ > 
+w\9a_h
+ ? win_w : win_h;
+
+2231 \b
+sÿË
+ = 
+       `\96m_cÚfig_sÿË_g\91
+();
+
+2232 
+       `gl_dbg
+("sÿË: %f", 
+sÿË
+);
+
+2234 ià(
+w\9a_p_h
+ < 
+GL_WIN_HEIGHT
+) {
+
+2235 
+çùÜ
+ = (\b)(
+w\9a_p_h
+ - (\12)(
+GL_FIXED_HEIGHT
+ * 
+sÿË
+)è/ (\b)(
+GL_WIN_HEIGHT
+ - GL_FIXED_HEIGHT);
+
+2236 } \vià(
+sÿË
+ > 
+çùÜ
+) {
+
+2237 
+çùÜ
+ = (
+GL_WIN_HEIGHT
+ - 
+GL_FIXED_HEIGHT
+ * 
+sÿË
+) / (GL_WIN_HEIGHT - GL_FIXED_HEIGHT);
+
+2238 } \vià(
+sÿË
+ < 
+çùÜ
+) {
+
+2239 
+çùÜ
+ = (
+GL_WIN_HEIGHT
+ - 
+GL_FIXED_HEIGHT
+è/ (GL_WIN_HEIGHT - GL_FIXED_HEIGHT * 
+sÿË
+);
+
+2241 
+çùÜ
+ = 
+sÿË
+;
+
+2243 
+       `gl_dbg
+("çùÜ: %f", 
+çùÜ
+);
+
+2244 ià(
+width
+)
+
+2245 *
+width
+ = 
+w\9a_w
+;
+
+2246 ià(
+height
+)
+
+2247 *
+height
+ = 
+w\9a_h
+;
+
+2248 \15 
+çùÜ
+;
+
+2249 
+       }
+}
+
+2260 \12
+       $_gl_g\91_fÚt_size
+(\1e)
+
+2262 \12
+mode
+ = -1;
+
+2263 \12
+»tcode
+ = 
+       `sy¡em_£\89\9ags_g\91_v®ue_\9at
+(
+SYSTEM_SETTINGS_KEY_FONT_SIZE
+, &
+mode
+);
+
+2264 
+       `gl_dbg
+("mode: %d", 
+mode
+);
+
+2265 ià(
+»tcode
+ !ð
+SYSTEM_SETTINGS_ERROR_NONE
+) {
+
+2266 
+       `gl_dbgE
+("Failed\81o get font size!");
+
+2269 \15 
+mode
+;
+
+2270 
+       }
+}
+
+2272 #ifdeà
+_USE_SVI
+
+
+2273 \12
+       $_gl_\9a\99_svi
+(\1e*
+d©a
+)
+
+2275 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+2276 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+2278 ià(
+       `svi_\9a\99
+(&(
+ad
+->
+ma\9a\9afo
+.
+svi_hªdË
+)) != 0) {
+
+2279 
+       `gl_dbgE
+("svi_init failed!");
+
+2283 \15 
+       `__gl_g\91_sound_¡©us
+(
+d©a
+);
+
+2284 
+       }
+}
+
+2286 \12
+       $_gl_f\9ai_svi
+(\1e*
+d©a
+)
+
+2288 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+2289 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+2290 ià(
+ad
+->
+ma\9a\9afo
+.
+svi_hªdË
+) {
+
+2291 
+       `svi_f\9ai
+(
+ad
+->
+ma\9a\9afo
+.
+svi_hªdË
+);
+
+2292 
+ad
+->
+ma\9a\9afo
+.
+svi_hªdË
+ = 0;
+
+2295 
+       }
+}
+
+2297 \12
+       $_gl_¶ay_sound
+(\1e*
+d©a
+)
+
+2299 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+2300 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+2301 ià(
+ad
+->
+ma\9a\9afo
+.
+sound_¡©us
+)
+
+2302 
+       `svi_¶ay
+(
+ad
+->
+ma\9a\9afo
+.
+svi_hªdË
+, 
+SVI_VIB_NONE
+,
+
+2303 
+SVI_SND_TOUCH_TOUCH1
+);
+
+2305 
+       }
+}
+
+2307 \12
+       $_gl_¶ay_vib¿tiÚ
+(\1e*
+d©a
+)
+
+2309 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+2310 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+2311 
+       `svi_¶ay
+(
+ad
+->
+ma\9a\9afo
+.
+svi_hªdË
+, 
+SVI_VIB_TOUCH_TOUCH
+, 
+SVI_SND_NONE
+);
+
+2313 
+       }
+}
+
+2316 \12
+       $_gl_»g_¡Üage_¡©e_chªge_nÙify
+(\1e*
+d©a
+)
+
+2318 
+       `__gl_»g_db_nÙi
+(
+d©a
+);
+
+2319 
+       `__gl_»g_svi_nÙi
+(
+d©a
+);
+
+2321 
+       }
+}
+
+2323 \12
+       $_gl_d\94eg_¡Üage_¡©e_chªge_nÙify
+(\1e*
+d©a
+)
+
+2325 
+       `__gl_d\94eg_db_nÙi
+(
+d©a
+);
+
+2326 
+       `__gl_d\94eg_svi_nÙi
+();
+
+2328 
+       }
+}
+
+2330 \12
+       $_gl_£t_f\9ee_Ý_cbs
+(\1e*
+d©a
+, \1e*
+Ý_cb
+, \1e*
+d\96_\99em_cb
+,
+
+2331 \1e*
+upd©e_cb
+, \12
+tÙ®_út
+)
+
+2333 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+2334 
+       `_gl_th»ad_£t_Ý_cb
+(
+d©a
+, 
+Ý_cb
+);
+
+2335 
+       `_gl_th»ad_£t_upd©e_cb
+(
+d©a
+, 
+upd©e_cb
+);
+
+2336 
+       `_gl_th»ad_£t_d\96_\99em_cb
+(
+d©a
+, 
+d\96_\99em_cb
+);
+
+2337 
+       `_gl_th»ad_£t_tÙ®_út
+(
+d©a
+, 
+tÙ®_út
+);
+
+2339 
+       }
+}
+
+2341 \12
+       $_gl_­³nd_®bum_images_·th
+(\1e*
+d©a
+, 
+gl_med\9f_s
+ *
+\99em
+)
+
+2343 
+       `GL_CHECK_VAL
+(
+\99em
+, -1);
+
+2344 
+       `GL_CHECK_VAL
+(
+\99em
+->
+f\9ee_u¾
+, -1);
+
+2345 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+2347 
+gl_g\91_®bum_images_·th_s
+ *
+g\91_d
+ = (gl_g\91_®bum_images_·th_ *)
+d©a
+;
+
+2348 
+       `GL_CHECK_VAL
+(
+g\91_d
+->
+f\9ees
+, -1);
+
+2350 \ 5**
+f\9ees
+ = 
+g\91_d
+->files;
+
+2351 
+f\9ees
+[
+g\91_d
+->
+\9adex
+++] = 
+       `g_¡rdup
+(
+\99em
+->
+f\9ee_u¾
+);
+
+2352 
+       `gl_sdbg
+("f\9ee_u¾: %s!", 
+f\9ees
+[
+g\91_d
+->
+\9adex
+ - 1]);
+
+2354 
+       }
+}
+
+2356 \12
+       $_gl_g\91_®bum_images_·th
+(\1e*
+d©a
+, \ 5**
+f\9ees
+, 
+boÞ
+b_hide
+)
+
+2358 
+       `GL_CHECK_VAL
+(
+d©a
+, 0);
+
+2359 
+       `GL_CHECK_VAL
+(
+f\9ees
+, 0);
+
+2360 
+gl_g\91_®bum_images_·th_s
+ *
+g\91_d
+ = 
+       `g_Ãw0
+(gl_get_album_images_path_s, 1);
+
+2361 
+       `GL_CHECK_VAL
+(
+g\91_d
+, 0);
+
+2362 
+g\91_d
+->
+f\9ees
+ = files;
+
+2363 \12
+couÁ
+ = 
+       `_gl_d©a_g\91_®bums_£Ëùed_f\9ees
+(
+d©a
+,
+
+2364 
+_gl_­³nd_®bum_images_·th
+,
+
+2365 (\1e*)
+g\91_d
+);
+
+2366 
+       `GL_GFREE
+(
+g\91_d
+);
+
+2367 \15 
+couÁ
+;
+
+2368 
+       }
+}
+
+2370 \12
+       $_gl_ä\93_£Ëùed_li¡
+(\1e*
+d©a
+)
+
+2372 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+2373 \12
+v\9bw_mode
+ = 
+       `gl_g\91_v\9bw_mode
+(
+d©a
+);
+
+2374 ià(
+GL_VIEW_ALBUMS
+ =ð
+v\9bw_mode
+)
+
+2375 
+       `_gl_d©a_f\9a®ize_®bums_£Ëùed_li¡
+(
+d©a
+);
+
+2376 ià(
+GL_VIEW_THUMBS
+ =ð
+v\9bw_mode
+)
+
+2377 
+       `_gl_d©a_£Ëùed_li¡_f\9a®ize
+(
+d©a
+);
+
+2379 
+       }
+}
+
+2381 \12
+       $_gl_dlÝ\92_imagev\9bw\94
+(\1e*
+d©a
+)
+
+2383 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+2384 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+2386 ià(
+ad
+->
+ma\9a\9afo
+.
+dlÝ\92_iv_hªdË
+) {
+
+2387 
+       `gl_dbgE
+("Already opened imageviewer so\86ib!");
+
+2391 
+ad
+->
+ma\9a\9afo
+.
+dlÝ\92_iv_hªdË
+ = 
+       `dlݒ
+(
+GL_SO_PATH_IMAGEVIEWER
+, 
+RTLD_NOW
+);
+
+2392 ià(
+ad
+->
+ma\9a\9afo
+.
+dlÝ\92_iv_hªdË
+ =ð
+NULL
+) {
+
+2393 
+       `gl_sdbgE
+("Lib % i nÙ o³Ãd, %s!", 
+GL_SO_PATH_IMAGEVIEWER
+,
+
+2394 
+       `d˼Ü
+());
+
+2397 
+       `gl_sdbg
+("dlÝ\92 % dÚe", 
+GL_SO_PATH_IMAGEVIEWER
+);
+
+2399 
+       }
+}
+
+2401 \12
+       $_gl_dlþo£_imagev\9bw\94
+(\1e*
+d©a
+)
+
+2403 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+2404 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+2406 ià(
+ad
+->
+ma\9a\9afo
+.
+dlÝ\92_iv_hªdË
+) {
+
+2407 
+       `dlþo£
+(
+ad
+->
+ma\9a\9afo
+.
+dlÝ\92_iv_hªdË
+);
+
+2408 
+ad
+->
+ma\9a\9afo
+.
+dlÝ\92_iv_hªdË
+ = 
+NULL
+;
+
+2409 
+       `gl_sdbg
+("dlþo£ % dÚe", 
+GL_SO_PATH_IMAGEVIEWER
+);
+
+2413 
+       }
+}
+
+       @src/widget/gl-button.c
+
+18 \ 2
+       ~"gl-debug.h
+"
+
+19 \ 2
+       ~"gl-ui-ut\9e.h
+"
+
+20 \ 2
+       ~"gl-bu\89Ú.h
+"
+
+21 \ 2
+       ~"gl-¡r\9ags.h
+"
+
+22 \ 2
+       ~"gl-ut\9e.h
+"
+
+24 \ 1
+       #GL_BTN_POPUP
+ "pÝup"
+
+       )
+
+46 
+Evas_Objeù
+ *
+       $_gl_but_ü\97\8b_but
+(
+Evas_Objeù
+ *
+·»Á
+, cڡ \ 5*
+icÚ
+,
+
+47 cڡ \ 5*
+\8bxt
+, cڡ \ 5*
+¡yË
+,
+
+48 
+Evas_Sm¬t_Cb
+cb_func
+, cڡ \1e*
+d©a
+)
+
+50 
+Evas_Objeù
+ *
+b\8a
+ = 
+NULL
+;
+
+51 
+       `GL_CHECK_NULL
+(
+·»Á
+);
+
+53 
+b\8a
+ = 
+       `\96m_bu\89Ú_add
+(
+·»Á
+);
+
+54 
+       `GL_CHECK_NULL
+(
+b\8a
+);
+
+55 ià(
+¡yË
+)
+
+56 
+       `\96m_objeù_¡yË_£t
+(
+b\8a
+, 
+¡yË
+);
+
+57 
+       `evas_objeù_size_h\9at_®ign_£t
+(
+b\8a
+, 
+EVAS_HINT_FILL
+, EVAS_HINT_FILL);
+
+59 ià(
+icÚ
+) {
+
+60 
+       `gl_sdbg
+("Bu\89Ú icÚ: %s", 
+icÚ
+);
+
+61 
+Evas_Objeù
+ *
+ic
+ = 
+NULL
+;
+
+62 
+ic
+ = 
+       `\96m_icÚ_add
+(
+b\8a
+);
+
+63 
+       `GL_CHECK_NULL
+(
+ic
+);
+
+64 
+       `GL_ICON_SET_FILE
+(
+ic
+, 
+icÚ
+);
+
+65 
+       `\96m_image_a¥eù_fixed_£t
+(
+ic
+, 
+EINA_TRUE
+);
+
+66 
+       `\96m_image_f\9el_outside_£t
+(
+ic
+, 
+EINA_TRUE
+);
+
+67 
+       `evas_objeù_size_h\9at_a¥eù_£t
+(
+ic
+,
+
+68 
+EVAS_ASPECT_CONTROL_VERTICAL
+,
+
+70 
+       `evas_objeù_size_h\9at_®ign_£t
+(
+ic
+, 
+EVAS_HINT_FILL
+,
+
+71 
+EVAS_HINT_FILL
+);
+
+72 
+       `evas_objeù_size_h\9at_weight_£t
+(
+ic
+, 
+EVAS_HINT_EXPAND
+,
+
+73 
+EVAS_HINT_EXPAND
+);
+
+74 
+       `\96m_image_»sizabË_£t
+(
+ic
+, 
+EINA_TRUE
+, EINA_TRUE);
+
+75 
+       `\96m_objeù_cÚ\8bÁ_£t
+(
+b\8a
+, 
+ic
+);
+
+78 ià(
+\8bxt
+) {
+
+79 
+       `gl_sdbg
+("Bu\89Ú\81ext: %s", 
+\8bxt
+);
+
+80 
+       `_gl_ui_£t_\8cª¦©e_¡r
+(
+b\8a
+, 
+\8bxt
+);
+
+83 ià(
+cb_func
+)
+
+84 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+b\8a
+, "þicked", 
+cb_func
+, 
+d©a
+);
+
+86 \15 
+b\8a
+;
+
+87 
+       }
+}
+
+89 
+Evas_Objeù
+ *
+       $_gl_but_ü\97\8b_image_but
+(
+Evas_Objeù
+ *
+·»Á
+, cڡ \ 5*
+icÚ
+,
+
+90 cڡ \ 5*
+\8bxt
+, cڡ \ 5*
+¡yË
+,
+
+91 
+Evas_Sm¬t_Cb
+cb_func
+, \1e*
+d©a
+,
+
+92 
+E\9aa_BoÞ
+æag_´Ýag©e
+)
+
+94 
+       `GL_CHECK_NULL
+(
+·»Á
+);
+
+95 
+Evas_Objeù
+ *
+b\8a
+;
+
+96 
+b\8a
+ = 
+       `\96m_bu\89Ú_add
+(
+·»Á
+);
+
+97 
+       `GL_CHECK_NULL
+(
+b\8a
+);
+
+99 ià(
+¡yË
+) {
+
+100 
+       `\96m_objeù_¡yË_£t
+(
+b\8a
+, 
+¡yË
+);
+
+102 ià(
+\8bxt
+) {
+
+103 
+       `gl_sdbg
+("Bu\89Ú\81ext: %s", 
+\8bxt
+);
+
+104 
+       `_gl_ui_£t_\8cª¦©e_¡r
+(
+b\8a
+, 
+\8bxt
+);
+
+107 ià(
+icÚ
+) {
+
+108 
+Evas_Objeù
+ *
+ic
+ = 
+       `\96m_image_add
+(
+·»Á
+);
+
+109 
+       `GL_CHECK_NULL
+(
+ic
+);
+
+110 
+       `GL_ICON_SET_FILE
+(
+ic
+, 
+icÚ
+);
+
+111 
+       `\96m_image_»sizabË_£t
+(
+ic
+, 
+EINA_TRUE
+, EINA_TRUE);
+
+112 
+       `evas_objeù_show
+(
+ic
+);
+
+113 
+       `\96m_objeù_cÚ\8bÁ_£t
+(
+b\8a
+, 
+ic
+);
+
+116 
+       `evas_objeù_´Ýag©e_ev\92ts_£t
+(
+b\8a
+, 
+æag_´Ýag©e
+);
+
+117 ià(
+cb_func
+)
+
+118 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+b\8a
+, "þicked", 
+cb_func
+, 
+d©a
+);
+
+119 \15 
+b\8a
+;
+
+120 
+       }
+}
+
+122 
+Evas_Objeù
+ *
+       $_gl_but_ü\97\8b_but_pÝup
+(
+Evas_Objeù
+ *
+·»Á
+, cڡ \ 5*
+\8bxt
+,
+
+123 
+Evas_Sm¬t_Cb
+cb_func
+, cڡ \1e*
+d©a
+)
+
+125 \15 
+       `_gl_but_ü\97\8b_but
+(
+·»Á
+, 
+NULL
+, 
+\8bxt
+, 
+GL_BTN_POPUP
+, 
+cb_func
+, 
+d©a
+);
+
+126 
+       }
+}
+
+       @src/widget/gl-controlbar.c
+
+18 \ 2
+       ~"gl-debug.h
+"
+
+19 \ 2
+       ~"gl-ui-ut\9e.h
+"
+
+20 \ 2
+       ~"gl-ut\9e.h
+"
+
+21 \ 2
+       ~"gl-cÚ\8cÞb¬.h
+"
+
+22 \ 2
+       ~"gl-®bums.h
+"
+
+23 \ 2
+       ~"gl-thumbs.h
+"
+
+24 \ 2
+       ~"gl-d©a.h
+"
+
+25 \ 2
+       ~"gl-¡r\9ags.h
+"
+
+26 \ 2
+       ~"gl-icÚs.h
+"
+
+27 \ 2
+       ~"gl-´og»ssb¬.h
+"
+
+28 \ 2
+       ~"gl-ùxpÝup.h
+"
+
+29 \ 2
+       ~"gl-thumbs-ed\99.h
+"
+
+30 \ 2
+       ~"gl-tim\96\9ae.h
+"
+
+31 \ 2
+       ~"gl-®bums-ed\99.h
+"
+
+33 \18\12
+       $__gl_ù¾_»£t_´evious_\8fb
+(\1e*
+d©a
+)
+
+35 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+36 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+37 \12
+\8fb_mode
+ = 
+       `_gl_ù¾_g\91_\8fb_mode
+(
+ad
+);
+
+39 \1a
+\8fb_mode
+) {
+
+40 \ 4
+GL_CTRL_TAB_ALBUMS
+:
+
+41 
+       `_gl_®bums_hide_v\9bw_\8fb
+(
+d©a
+);
+
+43 \ 4
+GL_CTRL_TAB_TIMELINE
+:
+
+44 
+       `_gl_tim\96\9ae_hide_v\9bw
+(
+d©a
+);
+
+47 
+       `gl_dbgW
+("Wrong\81abbar mode!");
+
+51 
+Evas_Objeù
+ *
+´e_v\9bw
+ = 
+NULL
+;
+
+52 
+´e_v\9bw
+ = 
+       `\96m_objeù_·¹_cÚ\8bÁ_un£t
+(
+ad
+->
+ù¾\9afo
+.
+ù¾b¬_v\9bw_ly
+,
+
+54 
+       `evas_objeù_hide
+(
+´e_v\9bw
+);
+
+56 
+       }
+}
+
+58 \12
+       $_gl_ù¾_show_v\9bw
+(\1e*
+d©a
+, cڡ \ 5*
+Ïb\96
+)
+
+60 
+GL_PROFILE_IN
+;
+
+61 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+62 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+63 \12
+\8fb_mode
+ = 
+       `_gl_ù¾_g\91_\8fb_mode
+(
+ad
+);
+
+64 
+       `gl_dbg
+("\8fb_mode: %d,\86ab\96: %s", 
+\8fb_mode
+, 
+Ïb\96
+);
+
+66 ià(!
+       `g_¡rcmp0
+(
+Ïb\96
+, 
+GL_STR_ALBUMS
+)) {
+
+67 
+       `gl_dbg
+("Albums");
+
+68 ià(
+\8fb_mode
+ =ð
+GL_CTRL_TAB_ALBUMS
+) {
+
+69 
+       `gl_dbg
+("Already in Albums Tab.");
+
+72 
+       `__gl_ù¾_»£t_´evious_\8fb
+(
+ad
+);
+
+73 
+       `_gl_ù¾_£t_\8fb_mode
+(
+ad
+, 
+GL_CTRL_TAB_ALBUMS
+);
+
+74 
+       `_gl_®bums_show_v\9bw_\8fb
+(
+d©a
+, 
+ad
+->
+ù¾\9afo
+.
+ù¾b¬_v\9bw_ly
+);
+
+75 } \vià(!
+       `g_¡rcmp0
+(
+Ïb\96
+, "Timeline" )) {
+
+77 
+       `gl_dbg
+(" Timeline");
+
+78 ià(
+\8fb_mode
+ =ð
+GL_CTRL_TAB_TIMELINE
+) {
+
+79 
+       `gl_dbg
+("Already in Timeline Tab.");
+
+83 
+       `__gl_ù¾_»£t_´evious_\8fb
+(
+ad
+);
+
+84 
+       `_gl_ù¾_£t_\8fb_mode
+(
+ad
+, 
+GL_CTRL_TAB_TIMELINE
+);
+
+85 
+       `_gl_tim\96\9ae_ü\97\8b_v\9bw
+(
+d©a
+, 
+ad
+->
+ù¾\9afo
+.
+ù¾b¬_v\9bw_ly
+);
+
+87 
+GL_PROFILE_OUT
+;
+
+89 
+       }
+}
+
+92 \18\12
+       $__gl_ù¾_\92abË_b\8as
+(
+gl_­pd©a
+ *
+ad
+, 
+Elm_Objeù_I\8bm
+ *
+nf_\99
+)
+
+94 
+       `gl_dbg
+("");
+
+95 
+       `GL_CHECK_VAL
+(
+ad
+, -1);
+
+96 
+       `GL_CHECK_VAL
+(
+nf_\99
+, -1);
+
+97 \12
+v\9bw_mode
+ = 
+       `gl_g\91_v\9bw_mode
+(
+ad
+);
+
+99 ià(
+v\9bw_mode
+ =ð
+GL_VIEW_THUMBS_EDIT
+) {
+
+100 
+       `_gl_thumbs_ed\99_di§bË_b\8as
+(
+ad
+, 
+çl£
+);
+
+101 } \vià(
+v\9bw_mode
+ =ð
+GL_VIEW_ALBUMS_EDIT
+) {
+
+102 
+       `_gl_®bums_ed\99_di§bË_b\8as
+(
+ad
+, 
+çl£
+);
+
+104 
+       `_gl_ui_di§bË_m\92u
+(
+nf_\99
+, 
+çl£
+);
+
+105 
+       `_gl_ù¾_di§bË_\99ems
+(
+nf_\99
+, 
+çl£
+);
+
+108 
+       }
+}
+
+110 
+Evas_Objeù
+ *
+       $_gl_ù¾_add_Ïyout
+(
+Evas_Objeù
+ *
+·»Á
+)
+
+112 
+       `GL_CHECK_NULL
+(
+·»Á
+);
+
+113 
+Evas_Objeù
+ *
+Ïyout
+ = 
+NULL
+;
+
+114 
+Ïyout
+ = 
+       `gl_ui_lßd_edj
+(
+·»Á
+, 
+GL_EDJ_FILE
+, 
+GL_GRP_CONTROLBAR
+);
+
+115 
+       `GL_CHECK_NULL
+(
+Ïyout
+);
+
+116 
+       `evas_objeù_show
+(
+Ïyout
+);
+
+117 \15 
+Ïyout
+;
+
+118 
+       }
+}
+
+120 
+Evas_Objeù
+ *
+       $_gl_ù¾_add_ma\9a_Ïyout
+(
+Evas_Objeù
+ *
+·»Á
+)
+
+122 
+GL_PROFILE_IN
+;
+
+123 
+       `GL_CHECK_NULL
+(
+·»Á
+);
+
+125 
+Evas_Objeù
+ *
+Ïyout
+ = 
+       `\96m_Ïyout_add
+(
+·»Á
+);
+
+126 
+       `GL_CHECK_NULL
+(
+Ïyout
+);
+
+127 
+       `evas_objeù_size_h\9at_weight_£t
+(
+Ïyout
+, 
+EVAS_HINT_EXPAND
+,
+
+128 
+EVAS_HINT_EXPAND
+);
+
+129 
+       `evas_objeù_size_h\9at_®ign_£t
+(
+Ïyout
+, 
+EVAS_HINT_FILL
+, EVAS_HINT_FILL);
+
+130 
+       `\96m_Ïyout_theme_£t
+(
+Ïyout
+, "layout", "application", "default");
+
+131 
+       `evas_objeù_show
+(
+Ïyout
+);
+
+133 
+GL_PROFILE_OUT
+;
+
+134 \15 
+Ïyout
+;
+
+135 
+       }
+}
+
+137 \12
+       $_gl_ù¾_show_t\99Ë
+(\1e*
+d©a
+, \12
+\8fb_mode
+)
+
+139 
+GL_PROFILE_IN
+;
+
+140 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+141 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+142 
+       `GL_CHECK_VAL
+(
+ad
+->
+ù¾\9afo
+.
+ù¾b¬_ly
+, -1);
+
+143 \ 5*
+\8bxt
+ = 
+NULL
+;
+
+144 
+       `gl_dbg
+("\8fb_mode: %d", 
+\8fb_mode
+);
+
+146 \1a
+\8fb_mode
+) {
+
+147 \ 4
+GL_CTRL_TAB_ALBUMS
+:
+
+148 
+\8bxt
+ = 
+GL_STR_ID_ALBUMS
+;
+
+150 \ 4
+GL_CTRL_TAB_TIMELINE
+:
+
+152 
+\8bxt
+ = 
+GL_STR_TIME_VIEW
+;
+
+155 
+       `gl_dbgE
+("Wrong mode!");
+
+159 ià(
+\8bxt
+) {
+
+160 
+       `gl_sdbg
+("\8bxt: %s", 
+\8bxt
+);
+
+161 
+       `_gl_ui_chªge_Çvi_t\99Ë
+(
+ad
+->
+ù¾\9afo
+.
+nf_\99
+, 
+\8bxt
+, 
+\8cue
+);
+
+163 
+       `gl_dbgE
+("Invalid\81ext!");
+
+166 
+GL_PROFILE_OUT
+;
+
+168 
+       }
+}
+
+170 \12
+       $_gl_ù¾_£l_\8fb
+(\1e*
+d©a
+, \12
+\8fb_mode
+)
+
+172 
+       `gl_dbg
+("_gl_ctrl_sel_tab");
+
+173 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+174 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+175 
+       `GL_CHECK_VAL
+(
+ad
+->
+ù¾\9afo
+.
+ù¾b¬_ly
+, -1);
+
+176 cڡ \ 5*
+\8bxt
+ = 
+NULL
+;
+
+178 \1a
+\8fb_mode
+) {
+
+179 \ 4
+GL_CTRL_TAB_ALBUMS
+:
+
+180 
+\8bxt
+ = 
+GL_STR_ALBUMS
+;
+
+182 \ 4
+GL_CTRL_TAB_TIMELINE
+:
+
+183 
+       `gl_dbg
+("GL_CTRL_TAB_TIMELINE");
+
+185 
+\8bxt
+ = "Timeline";
+
+188 
+       `gl_dbgE
+("Wrong mode!");
+
+192 
+       `gl_dbg
+("\8bxt: %s[%d]", 
+\8bxt
+, 
+\8fb_mode
+);
+
+193 
+       `_gl_ù¾_show_v\9bw
+(
+d©a
+, 
+\8bxt
+);
+
+195 
+       }
+}
+
+197 \12
+       $_gl_ù¾_£t_\8fb_mode
+(\1e*
+d©a
+, \12
+mode
+)
+
+199 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+200 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+201 
+       `gl_dbg
+("mode: %d", 
+mode
+);
+
+202 
+ad
+->
+ù¾\9afo
+.
+\8fb_mode
+ = 
+mode
+;
+
+204 
+       }
+}
+
+206 \12
+       $_gl_ù¾_g\91_\8fb_mode
+(\1e*
+d©a
+)
+
+208 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+209 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+210 \15 
+ad
+->
+ù¾\9afo
+.
+\8fb_mode
+;
+
+211 
+       }
+}
+
+213 \12
+       $_gl_ù¾_chªge_\97symode
+(\1e*
+d©a
+)
+
+215 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+218 
+       `_gl_ùxpÝup_d\96
+(
+d©a
+);
+
+220 
+       `gl_pÝ_to_ù¾b¬_ly
+(
+d©a
+);
+
+222 
+       `__gl_ù¾_»£t_´evious_\8fb
+(
+d©a
+);
+
+224 
+       `_gl_ù¾_£t_\8fb_mode
+(
+d©a
+, 
+GL_CTRL_TAB_INIT
+);
+
+225 
+       `_gl_ù¾_show_v\9bw
+(
+d©a
+, 
+GL_STR_ALBUMS
+);
+
+227 
+       }
+}
+
+229 \12
+       $_gl_ù¾_\92abË_b\8as
+(\1e*
+d©a
+, 
+Elm_Objeù_I\8bm
+ *
+nf_\99
+)
+
+231 \15 
+       `__gl_ù¾_\92abË_b\8as
+(
+d©a
+, 
+nf_\99
+);
+
+232 
+       }
+}
+
+234 
+Evas_Objeù
+ *
+       $_gl_ù¾_add_toÞb¬
+(
+Evas_Objeù
+ *
+·»Á
+)
+
+236 
+Evas_Objeù
+ *
+toÞb¬
+ = 
+       `\96m_toÞb¬_add
+(
+·»Á
+);
+
+237 
+       `GL_CHECK_NULL
+(
+toÞb¬
+);
+
+238 
+       `\96m_objeù_¡yË_£t
+(
+toÞb¬
+, "default");
+
+239 
+       `\96m_toÞb¬_shr\9ak_mode_£t
+(
+toÞb¬
+, 
+ELM_TOOLBAR_SHRINK_EXPAND
+);
+
+240 
+       `\96m_toÞb¬_\8cªsv\94£_ex·nded_£t
+(
+toÞb¬
+, 
+EINA_TRUE
+);
+
+241 
+       `\96m_toÞb¬_£Ëù_mode_£t
+(
+toÞb¬
+, 
+ELM_OBJECT_SELECT_MODE_NONE
+);
+
+242 \15 
+toÞb¬
+;
+
+243 
+       }
+}
+
+245 
+Elm_Objeù_I\8bm
+ *
+       $_gl_ù¾_­³nd_\99em
+(
+Evas_Objeù
+ *
+obj
+, cڡ \ 5*
+icÚ
+,
+
+246 cڡ \ 5*
+Ïb\96
+, 
+Evas_Sm¬t_Cb
+func
+,
+
+247 cڡ \1e*
+d©a
+)
+
+249 
+Elm_Objeù_I\8bm
+ *
+\99
+ = 
+NULL
+;
+
+250 
+\99
+ = 
+       `\96m_toÞb¬_\99em_­³nd
+(
+obj
+, 
+icÚ
+, 
+Ïb\96
+, 
+func
+, 
+d©a
+);
+
+251 ià(
+Ïb\96
+)
+
+252 
+       `_gl_ui_£t_\8cª¦©abË_\99em
+(
+\99
+, 
+Ïb\96
+);
+
+253 \15 
+\99
+;
+
+254 
+       }
+}
+
+256 \12
+       $_gl_ù¾_di§bË_\99ems
+(
+Elm_Objeù_I\8bm
+ *
+nf_\99
+, 
+boÞ
+b_di§bËd
+)
+
+258 
+       `GL_CHECK_VAL
+(
+nf_\99
+, -1);
+
+259 
+Evas_Objeù
+ *
+toÞb¬
+ = 
+NULL
+;
+
+261 
+toÞb¬
+ = 
+       `\96m_objeù_\99em_·¹_cÚ\8bÁ_g\91
+(
+nf_\99
+, "toolbar");
+
+262 
+       `GL_CHECK_VAL
+(
+toÞb¬
+, -1);
+
+264 
+Elm_Objeù_I\8bm
+ *
+\99
+ = 
+NULL
+;
+
+265 
+Elm_Objeù_I\8bm
+ *
+Ãxt_\99
+ = 
+NULL
+;
+
+266 \ 5*
+\8bxt
+ = 
+NULL
+;
+
+267 
+\99
+ = 
+       `\96m_toÞb¬_f\9c¡_\99em_g\91
+(
+toÞb¬
+);
+
+268 \1f
+\99
+) {
+
+269 
+Ãxt_\99
+ = 
+       `\96m_toÞb¬_\99em_Ãxt_g\91
+(
+\99
+);
+
+270 
+\8bxt
+ = (\ 5*)
+       `\96m_objeù_\99em_\8bxt_g\91
+(
+\99
+);
+
+271 ià(
+\8bxt
+ && !
+       `g_¡rcmp0
+Ñext, 
+       `_gl_¡r
+(
+GL_STR_ID_CANCEL
+))) {
+
+272 
+\99
+ = 
+Ãxt_\99
+;
+
+275 
+       `_gl_ù¾_di§bË_\99em
+(
+\99
+, 
+b_di§bËd
+);
+
+276 
+\99
+ = 
+Ãxt_\99
+;
+
+279 
+       }
+}
+
+281 \12
+       $_gl_ù¾_di§bË_\99ems_w\99h_check
+(
+Elm_Objeù_I\8bm
+ *
+nf_\99
+, 
+boÞ
+b_di§bËd
+,
+
+282 \ 5*
+check_¡r
+, 
+boÞ
+b_check_di§bËd
+)
+
+284 
+       `GL_CHECK_VAL
+(
+nf_\99
+, -1);
+
+285 
+Evas_Objeù
+ *
+toÞb¬
+ = 
+NULL
+;
+
+286 
+toÞb¬
+ = 
+       `\96m_objeù_\99em_·¹_cÚ\8bÁ_g\91
+(
+nf_\99
+, "toolbar");
+
+287 
+       `GL_CHECK_VAL
+(
+toÞb¬
+, -1);
+
+289 
+Elm_Objeù_I\8bm
+ *
+\99
+ = 
+NULL
+;
+
+290 
+Elm_Objeù_I\8bm
+ *
+Ãxt_\99
+ = 
+NULL
+;
+
+291 \ 5*
+\8bxt
+ = 
+NULL
+;
+
+292 
+\99
+ = 
+       `\96m_toÞb¬_f\9c¡_\99em_g\91
+(
+toÞb¬
+);
+
+293 \1f
+\99
+) {
+
+294 
+Ãxt_\99
+ = 
+       `\96m_toÞb¬_\99em_Ãxt_g\91
+(
+\99
+);
+
+295 
+\8bxt
+ = (\ 5*)
+       `\96m_objeù_\99em_\8bxt_g\91
+(
+\99
+);
+
+296 ià(
+\8bxt
+ && !
+       `g_¡rcmp0
+Ñext, 
+       `_gl_¡r
+(
+GL_STR_ID_CANCEL
+))) {
+
+297 
+\99
+ = 
+Ãxt_\99
+;
+
+300 ià(
+check_¡r
+) {
+
+301 ià(
+\8bxt
+ && !
+       `g_¡rcmp0
+Ñext, 
+       `_gl_¡r
+(
+check_¡r
+)))
+
+302 
+       `_gl_ù¾_di§bË_\99em
+(
+\99
+, 
+b_check_di§bËd
+);
+
+304 
+       `_gl_ù¾_di§bË_\99em
+(
+\99
+, 
+b_di§bËd
+);
+
+306 
+       `_gl_ù¾_di§bË_\99em
+(
+\99
+, 
+b_di§bËd
+);
+
+308 
+\99
+ = 
+Ãxt_\99
+;
+
+311 
+       }
+}
+
+313 \12
+       $_gl_ù¾_di§bË_\99em_w\99h_check
+(
+Elm_Objeù_I\8bm
+ *
+nf_\99
+, \ 5*
+check_¡r
+,
+
+314 
+boÞ
+b_di§bËd
+)
+
+316 
+       `GL_CHECK_VAL
+(
+check_¡r
+, -1);
+
+317 
+       `GL_CHECK_VAL
+(
+nf_\99
+, -1);
+
+318 
+Evas_Objeù
+ *
+toÞb¬
+ = 
+NULL
+;
+
+319 
+toÞb¬
+ = 
+       `\96m_objeù_\99em_·¹_cÚ\8bÁ_g\91
+(
+nf_\99
+, "toolbar");
+
+320 
+       `GL_CHECK_VAL
+(
+toÞb¬
+, -1);
+
+322 
+Elm_Objeù_I\8bm
+ *
+\99
+ = 
+NULL
+;
+
+323 
+Elm_Objeù_I\8bm
+ *
+Ãxt_\99
+ = 
+NULL
+;
+
+324 \ 5*
+\8bxt
+ = 
+NULL
+;
+
+325 
+\99
+ = 
+       `\96m_toÞb¬_f\9c¡_\99em_g\91
+(
+toÞb¬
+);
+
+326 \1f
+\99
+) {
+
+327 
+Ãxt_\99
+ = 
+       `\96m_toÞb¬_\99em_Ãxt_g\91
+(
+\99
+);
+
+328 
+\8bxt
+ = (\ 5*)
+       `\96m_objeù_\99em_\8bxt_g\91
+(
+\99
+);
+
+329 ià(
+\8bxt
+ && !
+       `g_¡rcmp0
+Ñext, 
+       `_gl_¡r
+(
+check_¡r
+))) {
+
+330 
+       `_gl_ù¾_di§bË_\99em
+(
+\99
+, 
+b_di§bËd
+);
+
+333 
+\99
+ = 
+Ãxt_\99
+;
+
+336 
+       }
+}
+
+338 \12
+       $_gl_ù¾_di§bË_\99em
+(
+Elm_Objeù_I\8bm
+ *
+\99
+, 
+E\9aa_BoÞ
+b_di§bËd
+)
+
+340 
+       `GL_CHECK_VAL
+(
+\99
+, -1);
+
+342 
+       `\96m_objeù_\99em_di§bËd_£t
+(
+\99
+, 
+b_di§bËd
+);
+
+344 
+       }
+}
+
+       @src/widget/gl-ctxpopup.c
+
+17 \ 2
+       ~"g®Ëry.h
+"
+
+18 \ 2
+       ~"gl-ùxpÝup.h
+"
+
+19 \ 2
+       ~"gl-ui-ut\9e.h
+"
+
+20 \ 2
+       ~"gl-ut\9e.h
+"
+
+21 \ 2
+       ~"gl-debug.h
+"
+
+22 \ 2
+       ~"gl-¡r\9ags.h
+"
+
+23 \ 2
+       ~"gl-bu\89Ú.h
+"
+
+24 \ 2
+       ~"gl-cÚ\8cÞb¬.h
+"
+
+25 \ 2
+       ~"gl-thumbs.h
+"
+
+26 \ 2
+       ~"gl-®bums.h
+"
+
+28 \ 1
+       #GL_CTXPOPUP_OBJ_DATA_KEY
+ "gl_ùxpÝup_d©a_key"
+
+       )
+
+29 \ 1
+       #GL_CTXPOPUP_OBJ_MORE_BTN_KEY
+ "gl_ùxpÝup_mÜe_b\8a_key"
+
+       )
+
+30 \ 1
+       #GL_CTXPOPUP_OBJ_ROTATE_KEY
+ "gl_ùxpÝup_rÙ©e_key"
+
+       )
+
+31 \ 1
+       #GL_CTXPOPUP_STYLE_MORE
+ "mÜe/deçuÉ"
+
+       )
+
+33 \e\19
+_gl_ùx_d©a_t
+       tgl_ùx_d©a_s
+;
+
+34 \19
+       s_gl_ùx_d©a_t
+ {
+
+35 \12
+       m\99ems_couÁ
+;
+
+38 \18\1e
+       $__gl_ùxpÝup_move_fÜ_hwkey
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+ùxpÝup
+)
+
+40 
+       `GL_CHECK
+(
+ùxpÝup
+);
+
+41 
+       `GL_CHECK
+(
+d©a
+);
+
+42 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+43 \12
+w\9a_w
+ = 0;
+
+44 \12
+w\9a_h
+ = 0;
+
+45 \12
+move_x
+ = 0;
+
+46 \12
+move_y
+ = 0;
+
+48 
+       `\96m_w\9a_sü\93n_size_g\91
+(
+ad
+->
+ma\9a\9afo
+.
+w\9a
+, 
+NULL
+, NULL, &
+w\9a_w
+, &
+w\9a_h
+);
+
+49 \12
+chªged_ªg
+ = 
+       `\96m_w\9a_rÙ©iÚ_g\91
+(
+ad
+->
+ma\9a\9afo
+.
+w\9a
+);
+
+50 
+       `gl_dbg
+("New\87ngË: %d", 
+chªged_ªg
+);
+
+52 \1a
+chªged_ªg
+) {
+
+53 \ 4
+APP_DEVICE_ORIENTATION_0
+:
+
+54 \ 4
+APP_DEVICE_ORIENTATION_180
+:
+
+55 
+move_x
+ = 
+w\9a_w
+/2;
+
+56 
+move_y
+ = 
+w\9a_h
+;
+
+58 \ 4
+APP_DEVICE_ORIENTATION_90
+:
+
+59 
+move_x
+ = 
+w\9a_h
+/2;
+
+60 
+move_y
+ = 
+w\9a_w
+;
+
+62 \ 4
+APP_DEVICE_ORIENTATION_270
+:
+
+63 
+move_x
+ = 
+w\9a_h
+/2;
+
+64 
+move_y
+ = 
+w\9a_w
+;
+
+68 
+       `gl_dbg
+("move_x: %d, move_y: %d", 
+move_x
+, 
+move_y
+);
+
+69 
+       `evas_objeù_move
+(
+ùxpÝup
+, 
+move_x
+, 
+move_y
+);
+
+70 
+       }
+}
+
+72 \18
+boÞ
+       $__gl_ùxpÝup_check_b\8a_pos
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+b\8a
+, \12
+x
+,
+
+73 \12
+y
+, \12
+w
+, \12
+h
+)
+
+75 
+       `GL_CHECK_FALSE
+(
+d©a
+);
+
+76 
+       `GL_CHECK_FALSE
+(
+b\8a
+);
+
+77 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+78 \12
+w\9a_w
+ = 0, 
+w\9a_h
+ = 0;
+
+80 
+       `\96m_w\9a_sü\93n_size_g\91
+(
+ad
+->
+ma\9a\9afo
+.
+w\9a
+, 
+NULL
+, NULL, &
+w\9a_w
+, &
+w\9a_h
+);
+
+82 ià(((
+x
+ > 0è&& (x < 
+w\9a_w
+)è&& ((
+y
+ > 0è&& (y < 
+w\9a_h
+)) &&
+
+83 ((
+w
+ > 0è&& (
+h
+ > 0))) {
+
+85 \15 
+\8cue
+;
+
+88 \15 
+çl£
+;
+
+89 
+       }
+}
+
+91 \18\ 5*
+       $__gl_ùxpÝup_g\91_icÚ
+(\ 5*
+Ïb\96_id
+)
+
+93 
+       `GL_CHECK_NULL
+(
+Ïb\96_id
+);
+
+94 \ 5*
+·th
+ = 
+NULL
+;
+
+96 ià(!
+       `g_¡rcmp0
+(
+GL_STR_ID_EDIT_IMAGE
+, 
+Ïb\96_id
+)) {
+
+97 
+·th
+ = 
+GL_ICON_EDIT_IMAGE
+;
+
+98 } \vià(!
+       `g_¡rcmp0
+(
+GL_STR_ID_DELETE
+, 
+Ïb\96_id
+)) {
+
+99 
+·th
+ = 
+GL_ICON_DELETE
+;
+
+100 } \vià(!
+       `g_¡rcmp0
+(
+GL_STR_ID_MOVE
+, 
+Ïb\96_id
+)) {
+
+101 
+·th
+ = 
+GL_ICON_MOVE
+;
+
+102 } \vià(!
+       `g_¡rcmp0
+(
+GL_STR_ID_COPY
+, 
+Ïb\96_id
+)) {
+
+103 
+·th
+ = 
+GL_ICON_COPY
+;
+
+104 } \vià(!
+       `g_¡rcmp0
+(
+GL_STR_ID_ROTATE_LEFT
+, 
+Ïb\96_id
+)) {
+
+105 
+·th
+ = 
+GL_ICON_ROTATE_LEFT
+;
+
+106 } \vià(!
+       `g_¡rcmp0
+(
+GL_STR_ID_ROTATE_RIGHT
+, 
+Ïb\96_id
+)) {
+
+107 
+·th
+ = 
+GL_ICON_ROTATE_RIGHT
+;
+
+109 #ifdeà
+SUPPORT_SLIDESHOW
+
+
+110 \vià(!
+       `g_¡rcmp0
+(
+GL_STR_ID_SLIDESHOW
+, 
+Ïb\96_id
+)) {
+
+111 
+·th
+ = 
+GL_ICON_SLIDESHOW
+;
+
+114 \vià(!
+       `g_¡rcmp0
+(
+GL_STR_ID_NEW_ALBUM
+, 
+Ïb\96_id
+)) {
+
+115 
+·th
+ = 
+GL_ICON_NEW_ALBUM
+;
+
+116 } \vià(!
+       `g_¡rcmp0
+(
+GL_STR_ID_SHARE
+, 
+Ïb\96_id
+)) {
+
+117 
+·th
+ = 
+GL_ICON_SHARE
+;
+
+118 } \vià(!
+       `g_¡rcmp0
+(
+GL_STR_ID_EDIT
+, 
+Ïb\96_id
+)) {
+
+119 
+·th
+ = 
+GL_ICON_EDIT
+;
+
+120 } \vià(!
+       `g_¡rcmp0
+(
+GL_STR_ID_RENAME
+, 
+Ïb\96_id
+)) {
+
+121 
+·th
+ = 
+GL_ICON_RENAME
+;
+
+122 } \vià(!
+       `g_¡rcmp0
+(
+GL_STR_ID_SETTINGS
+, 
+Ïb\96_id
+)) {
+
+123 
+·th
+ = 
+GL_ICON_SETTINGS
+;
+
+125 \15 
+·th
+;
+
+126 
+       }
+}
+
+128 \18\1e
+       $__gl_ùxpÝup_hide_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+130 
+       `GL_CHECK
+(
+obj
+);
+
+131 
+       `GL_CHECK
+(
+d©a
+);
+
+132 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+134 
+boÞ
+ù_rÙ©e
+ = (boÞ)
+       `evas_objeù_d©a_g\91
+(
+obj
+,
+
+135 
+GL_CTXPOPUP_OBJ_ROTATE_KEY
+);
+
+137 ià(!
+ù_rÙ©e
+) {
+
+138 
+       `gl_dbg
+("ctxpopup is dismissed");
+
+139 
+       `evas_objeù_d\96
+(
+obj
+);
+
+140 
+ad
+->
+ma\9a\9afo
+.
+ùxpÝup
+ = 
+NULL
+;
+
+142 
+       `gl_dbg
+("ctxpopup is\82ot dismissed");
+
+145 
+       `evas_objeù_d©a_£t
+(
+obj
+, 
+GL_CTXPOPUP_OBJ_ROTATE_KEY
+,
+
+146 (\1e*)
+çl£
+);
+
+149 
+       `evas_objeù_show
+(
+ad
+->
+ma\9a\9afo
+.
+ùxpÝup
+);
+
+151 
+       }
+}
+
+154 \18\12
+       $__gl_ùxpÝup_show
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+b\8a
+, Evas_Objeù *
+ùxpÝup
+)
+
+156 
+       `GL_CHECK_VAL
+(
+ùxpÝup
+, -1);
+
+157 
+       `GL_CHECK_VAL
+(
+b\8a
+, -1);
+
+158 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+159 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+160 \12
+x_pos\99
+ = 0;
+
+161 \12
+y_pos\99
+ = 0;
+
+162 \12
+w
+ = 0;
+
+163 \12
+h
+ = 0;
+
+165 
+       `\96m_ùxpÝup_d\9ceùiÚ_´iÜ\99y_£t
+(
+ùxpÝup
+, 
+ELM_CTXPOPUP_DIRECTION_UP
+,
+
+166 
+ELM_CTXPOPUP_DIRECTION_LEFT
+,
+
+167 
+ELM_CTXPOPUP_DIRECTION_RIGHT
+,
+
+168 
+ELM_CTXPOPUP_DIRECTION_DOWN
+);
+
+170 
+       `evas_objeù_geom\91ry_g\91
+(
+b\8a
+, &
+x_pos\99
+, &
+y_pos\99
+, &
+w
+, &
+h
+);
+
+171 ià(
+       `__gl_ùxpÝup_check_b\8a_pos
+(
+d©a
+, 
+b\8a
+, 
+x_pos\99
+, 
+y_pos\99
+, 
+w
+, 
+h
+è=ð
+\8cue
+) {
+
+173 
+       `evas_objeù_move
+(
+ùxpÝup
+, 
+x_pos\99
++
+w
+/2, 
+y_pos\99
+ + 
+h
+/2);
+
+174 
+       `gl_dbg
+("(%d, %dè- (%d, %d)", 
+x_pos\99
+, 
+y_pos\99
+, 
+w
+, 
+h
+);
+
+178 
+       `__gl_ùxpÝup_move_fÜ_hwkey
+(
+d©a
+, 
+ùxpÝup
+);
+
+181 
+       `evas_objeù_show
+(
+ùxpÝup
+);
+
+182 
+ad
+->
+ma\9a\9afo
+.
+ùxpÝup
+ = ctxpopup;
+
+184 
+       }
+}
+
+186 \18\1e
+       $__gl_ùxpÝup_·»Á_»size_cb
+(\1e*
+d©a
+, 
+Evas
+ *
+e
+,
+
+187 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+189 
+       `gl_dbg
+("");
+
+190 
+       `GL_CHECK
+(
+d©a
+);
+
+191 
+       `evas_objeù_d©a_£t
+((
+Evas_Objeù
+ *)
+d©a
+, 
+GL_CTXPOPUP_OBJ_ROTATE_KEY
+,
+
+192 (\1e*)
+\8cue
+);
+
+193 
+       }
+}
+
+195 \18\1e
+       $__gl_ùxpÝup_\99ems_upd©e_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+197 
+       `gl_dbg
+("");
+
+198 
+       `GL_CHECK
+(
+d©a
+);
+
+199 \12(*
+upd©e_cb
+)(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+·»Á
+);
+
+200 
+upd©e_cb
+ = 
+       `evas_objeù_d©a_g\91
+((
+Evas_Objeù
+ *)
+d©a
+,
+
+202 
+       `gl_sdbg
+("ÿÎback: %p", 
+upd©e_cb
+);
+
+203 ià(
+upd©e_cb
+)
+
+204 
+       `upd©e_cb
+(
+ei
+, (
+Evas_Objeù
+ *)
+d©a
+);
+
+205 
+       }
+}
+
+208 \18\1e
+       $__gl_ùxpÝup_rÙ©e_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+210 
+       `gl_dbg
+("");
+
+211 
+       `GL_CHECK
+(
+d©a
+);
+
+212 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+214 
+Evas_Objeù
+ *
+mÜe_b\8a
+ = 
+NULL
+;
+
+215 
+mÜe_b\8a
+ = (
+Evas_Objeù
+ *)
+       `evas_objeù_d©a_g\91
+(
+ad
+->
+ma\9a\9afo
+.
+ùxpÝup
+,
+
+216 
+GL_CTXPOPUP_OBJ_MORE_BTN_KEY
+);
+
+217 
+       `GL_CHECK
+(
+mÜe_b\8a
+);
+
+218 
+       `__gl_ùxpÝup_show
+(
+d©a
+, 
+mÜe_b\8a
+, 
+ad
+->
+ma\9a\9afo
+.
+ùxpÝup
+);
+
+219 
+       }
+}
+
+221 \18\1e
+       $__gl_ùxpÝup_d\96_cb
+(\1e*
+d©a
+, 
+Evas
+ *
+e
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+223 
+       `GL_CHECK
+(
+d©a
+);
+
+224 
+       `GL_CHECK
+(
+obj
+);
+
+225 
+Evas_Objeù
+ *
+ùxpÝup
+ = 
+obj
+;
+
+226 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+227 
+       `GL_CHECK
+(
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+);
+
+229 
+       `evas_objeù_d©a_d\96
+(
+ùxpÝup
+, 
+GL_CTXPOPUP_OBJ_MORE_BTN_KEY
+);
+
+230 
+       `evas_objeù_d©a_d\96
+(
+ùxpÝup
+, 
+GL_CTXPOPUP_OBJ_ROTATE_KEY
+);
+
+231 
+       `evas_objeù_sm¬t_ÿÎback_d\96
+(
+ùxpÝup
+, "dismissed",
+
+232 
+__gl_ùxpÝup_hide_cb
+);
+
+233 
+       `evas_objeù_ev\92t_ÿÎback_d\96
+(
+ùxpÝup
+, 
+EVAS_CALLBACK_DEL
+,
+
+234 
+__gl_ùxpÝup_d\96_cb
+);
+
+235 
+       `evas_objeù_ev\92t_ÿÎback_d\96
+(
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+,
+
+236 
+EVAS_CALLBACK_RESIZE
+,
+
+237 
+__gl_ùxpÝup_·»Á_»size_cb
+);
+
+238 
+       `evas_objeù_sm¬t_ÿÎback_d\96
+(
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+,
+
+240 
+__gl_ùxpÝup_\99ems_upd©e_cb
+);
+
+241 
+       `evas_objeù_sm¬t_ÿÎback_d\96
+(
+       `\96m_objeù_tÝ_widg\91_g\91
+(
+ùxpÝup
+),
+
+243 
+__gl_ùxpÝup_rÙ©e_cb
+);
+
+244 \1e*
+ùx_d©a
+ = 
+       `evas_objeù_d©a_g\91
+(
+ùxpÝup
+, 
+GL_CTXPOPUP_OBJ_DATA_KEY
+);
+
+245 
+       `GL_FREEIF
+(
+ùx_d©a
+);
+
+246 
+       `gl_dbg
+("done");
+
+247 
+       }
+}
+
+249 \18\12
+       $__gl_ùxpÝup_add_ÿÎbacks
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+ùxpÝup
+)
+
+251 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+252 
+       `GL_CHECK_VAL
+(
+ùxpÝup
+, -1);
+
+253 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+254 
+       `GL_CHECK_VAL
+(
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+, -1);
+
+256 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+ùxpÝup
+, "dismissed",
+
+257 
+__gl_ùxpÝup_hide_cb
+, 
+d©a
+);
+
+258 
+       `evas_objeù_ev\92t_ÿÎback_add
+(
+ùxpÝup
+, 
+EVAS_CALLBACK_DEL
+,
+
+259 
+__gl_ùxpÝup_d\96_cb
+, 
+d©a
+);
+
+260 
+       `evas_objeù_ev\92t_ÿÎback_add
+(
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+,
+
+261 
+EVAS_CALLBACK_RESIZE
+,
+
+262 
+__gl_ùxpÝup_·»Á_»size_cb
+,
+
+263 
+ùxpÝup
+);
+
+264 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+,
+
+266 
+__gl_ùxpÝup_\99ems_upd©e_cb
+, 
+ùxpÝup
+);
+
+267 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+       `\96m_objeù_tÝ_widg\91_g\91
+(
+ùxpÝup
+),
+
+269 
+__gl_ùxpÝup_rÙ©e_cb
+, 
+d©a
+);
+
+271 
+       `gl_dbg
+("done");
+
+273 
+       }
+}
+
+275 
+Elm_Objeù_I\8bm
+ *
+       $_gl_ùxpÝup_­³nd
+(
+Evas_Objeù
+ *
+obj
+, \ 5*
+Ïb\96_id
+,
+
+276 
+Evas_Sm¬t_Cb
+func
+, cڡ \1e*
+d©a
+)
+
+278 
+Evas_Objeù
+ *
+ic
+ = 
+NULL
+;
+
+279 \ 5*
+·th
+ = 
+       `__gl_ùxpÝup_g\91_icÚ
+(
+Ïb\96_id
+);
+
+281 ià(
+·th
+) {
+
+282 
+ic
+ = 
+       `\96m_image_add
+(
+obj
+);
+
+283 
+       `GL_CHECK_NULL
+(
+ic
+);
+
+284 
+       `GL_ICON_SET_FILE
+(
+ic
+, 
+·th
+);
+
+287 
+gl_ùx_d©a_s
+ *
+ùx_d©a
+ = 
+NULL
+;
+
+288 
+ùx_d©a
+ = (
+gl_ùx_d©a_s
+ *)
+       `evas_objeù_d©a_g\91
+(
+obj
+,
+
+289 
+GL_CTXPOPUP_OBJ_DATA_KEY
+);
+
+290 ià(
+ùx_d©a
+) {
+
+291 
+ùx_d©a
+->
+\99ems_couÁ
+++;
+
+293 \15 
+       `\96m_ùxpÝup_\99em_­³nd
+(
+obj
+, 
+       `_gl_¡r
+(
+Ïb\96_id
+), 
+NULL
+, 
+func
+, 
+d©a
+);
+
+294 
+       }
+}
+
+296 
+Elm_Objeù_I\8bm
+ *
+       $_gl_ùxpÝup_­³nd_w\99h_icÚ
+(
+Evas_Objeù
+ *
+obj
+, \ 5*
+Ïb\96
+,
+
+297 \ 5*
+icÚ_·th
+, 
+Evas_Sm¬t_Cb
+func
+, cڡ \1e*
+d©a
+)
+
+299 
+Evas_Objeù
+ *
+ic
+ = 
+NULL
+;
+
+301 ià(
+icÚ_·th
+) {
+
+302 
+ic
+ = 
+       `\96m_image_add
+(
+obj
+);
+
+303 
+       `GL_CHECK_NULL
+(
+ic
+);
+
+304 
+       `GL_ICON_SET_FILE
+(
+ic
+, 
+icÚ_·th
+);
+
+307 
+gl_ùx_d©a_s
+ *
+ùx_d©a
+ = 
+NULL
+;
+
+308 
+ùx_d©a
+ = (
+gl_ùx_d©a_s
+ *)
+       `evas_objeù_d©a_g\91
+(
+obj
+,
+
+309 
+GL_CTXPOPUP_OBJ_DATA_KEY
+);
+
+310 ià(
+ùx_d©a
+) {
+
+311 
+ùx_d©a
+->
+\99ems_couÁ
+++;
+
+313 \15 
+       `\96m_ùxpÝup_\99em_­³nd
+(
+obj
+, 
+Ïb\96
+, 
+ic
+, 
+func
+, 
+d©a
+);
+
+314 
+       }
+}
+
+316 \12
+       $_gl_ùxpÝup_ü\97\8b
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+but
+, 
+ùx_­³nd_cb
+­³nd_cb
+)
+
+318 
+       `gl_dbg
+("");
+
+319 
+       `GL_CHECK_VAL
+(
+­³nd_cb
+, -1);
+
+320 
+       `GL_CHECK_VAL
+(
+but
+, -1);
+
+321 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+322 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+323 
+       `GL_CHECK_VAL
+(
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+, -1);
+
+325 
+       `_gl_ùxpÝup_d\96
+(
+d©a
+);
+
+327 
+gl_ùx_d©a_s
+ *
+ùx_d©a
+ = (gl_ùx_d©a_ *)
+       `ÿÎoc
+(1, \17(gl_ctx_data_s));
+
+328 
+       `GL_CHECK_VAL
+(
+ùx_d©a
+, -1);
+
+330 
+Evas_Objeù
+ *
+ùxpÝup
+ = 
+       `\96m_ùxpÝup_add
+(
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+);
+
+331 
+       `\93xt_objeù_ev\92t_ÿÎback_add
+(
+ùxpÝup
+, 
+EEXT_CALLBACK_BACK
+, 
+\93xt_ùxpÝup_back_cb
+, 
+NULL
+);
+
+332 
+       `\93xt_objeù_ev\92t_ÿÎback_add
+(
+ùxpÝup
+, 
+EEXT_CALLBACK_MORE
+, 
+\93xt_ùxpÝup_back_cb
+, 
+NULL
+);
+
+333 
+       `\96m_objeù_¡yË_£t
+(
+ùxpÝup
+, 
+GL_CTXPOPUP_STYLE_MORE
+);
+
+335 
+       `evas_objeù_d©a_£t
+(
+ùxpÝup
+, 
+GL_CTXPOPUP_OBJ_MORE_BTN_KEY
+, 
+but
+);
+
+336 
+       `evas_objeù_d©a_£t
+(
+ùxpÝup
+, 
+GL_CTXPOPUP_OBJ_ROTATE_KEY
+,
+
+337 (\1e*)
+çl£
+);
+
+338 
+       `evas_objeù_d©a_£t
+(
+ùxpÝup
+, 
+GL_CTXPOPUP_OBJ_DATA_KEY
+,
+
+339 (\1e*)
+ùx_d©a
+);
+
+342 
+       `__gl_ùxpÝup_add_ÿÎbacks
+(
+d©a
+, 
+ùxpÝup
+);
+
+345 
+       `­³nd_cb
+(
+d©a
+, 
+ùxpÝup
+);
+
+348 ià(
+ùx_d©a
+->
+\99ems_couÁ
+ == 0) {
+
+349 
+       `gl_dbgW
+("Remove\83mpty ctxpopup");
+
+350 
+       `evas_objeù_d\96
+(
+ùxpÝup
+);
+
+354 \15 
+       `__gl_ùxpÝup_show
+(
+d©a
+, 
+but
+, 
+ùxpÝup
+);
+
+355 
+       }
+}
+
+357 \12
+       $_gl_ùxpÝup_d\96
+(\1e*
+d©a
+)
+
+359 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+360 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+361 ià(
+ad
+->
+ma\9a\9afo
+.
+ùxpÝup
+) {
+
+362 
+       `evas_objeù_d\96
+(
+ad
+->
+ma\9a\9afo
+.
+ùxpÝup
+);
+
+363 
+ad
+->
+ma\9a\9afo
+.
+ùxpÝup
+ = 
+NULL
+;
+
+364 
+       `gl_dbg
+("Ctxpopup\84emoved");
+
+367 
+       }
+}
+
+       @src/widget/gl-editfield.c
+
+18 \ 2
+       ~"gl-ed\99f\9bld.h
+"
+
+19 \ 2
+       ~"gl-ui-ut\9e.h
+"
+
+20 \ 2
+       ~"gl-ut\9e.h
+"
+
+21 \ 2
+       ~"gl-pÝup.h
+"
+
+22 \ 2
+       ~"gl-d©a.h
+"
+
+23 \ 2
+       ~"gl-¡r\9ags.h
+"
+
+24 \ 2
+       ~"gl-debug.h
+"
+
+25 \ 2
+       ~"gl-nÙify.h
+"
+
+28 \ 1
+       #GL_ENTRY_STR_CHAR_MAX
+ 50
+
+       )
+
+31 \18\1e
+       $__gl_ed\99f\9bld_maxËn_»ached_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+,
+
+32 \1e*
+ei
+)
+
+34 
+       `gl_dbg
+("Entry maximum\86ength\84eached, show\82otification.");
+
+35 
+       `GL_CHECK
+(
+d©a
+);
+
+37 
+       `_gl_nÙify_ü\97\8b_nÙi\9afo
+(
+       `_gl_¡r
+(
+GL_STR_ID_MAX_NO_CHARS_REACHED
+));
+
+38 
+       }
+}
+
+45 \18\1e
+       $__gl_ed\99f\9bld_¥aû_check_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+47 
+       `GL_CHECK
+(
+obj
+);
+
+48 
+       `GL_CHECK
+(
+d©a
+);
+
+49 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+51 
+       `GL_CHECK
+(
+ad
+->
+\92\8cy\9afo
+.
+dÚe_b\8a
+);
+
+52 cڡ \ 5*
+\92\8cy_¡r
+ = 
+NULL
+;
+
+55 
+\92\8cy_¡r
+ = 
+       `\96m_\92\8cy_\92\8cy_g\91
+(
+obj
+);
+
+56 
+       `GL_CHECK
+(
+\92\8cy_¡r
+);
+
+61 \ 5*
+\92\8cy_utf8
+ = 
+       `\96m_\92\8cy_m¬kup_to_utf8
+(
+\92\8cy_¡r
+);
+
+62 
+       `GL_CHECK
+(
+\92\8cy_utf8
+);
+
+69 
+       `g_¡r¡r\9d
+((
+gch¬
+ *)
+\92\8cy_utf8
+);
+
+70 
+       `GL_CHECK
+(
+\92\8cy_utf8
+);
+
+71 
+       `gl_sdbg
+("New\83Áry s\8c\9ag w\99hou\88¥aû: [%s]", 
+\92\8cy_utf8
+);
+
+73 
+boÞ
+b_di§bËd
+ = 
+çl£
+;
+
+78 ià(!
+       `¡¾\92
+(
+\92\8cy_utf8
+)) {
+
+79 
+       `gl_dbg
+("Entry string is\83mpty!");
+
+80 
+b_di§bËd
+ = 
+\8cue
+;
+
+82 \12(*
+v®\9f\8b_cb
+)(\1e*
+d©a
+, \ 5*
+\8bxt
+);
+
+83 
+v®\9f\8b_cb
+ = 
+       `evas_objeù_d©a_g\91
+(
+obj
+, "gl_entry_validate_cb_key");
+
+84 
+       `gl_dbgW
+("v®\9f\8b_cb[%p]", 
+v®\9f\8b_cb
+);
+
+85 ià(
+v®\9f\8b_cb
+ && 
+       `v®\9f\8b_cb
+(
+d©a
+, 
+\92\8cy_utf8
+) < 0) {
+
+86 
+\92\8cy_utf8
+[
+       `¡¾\92
+(entry_utf8)-1] = '\0';
+
+87 
+       `\96m_\92\8cy_\92\8cy_£t
+(
+obj
+, 
+\92\8cy_utf8
+);
+
+88 
+       `\96m_\92\8cy_cursÜ_\92d_£t
+(
+obj
+);
+
+89 ià(!
+       `¡¾\92
+(
+\92\8cy_utf8
+))
+
+90 
+b_di§bËd
+ = 
+\8cue
+;
+
+94 
+       `gl_dbg
+("En/Di§bË DÚ\90bu\89Ú[%d]", 
+b_di§bËd
+);
+
+95 
+       `\96m_objeù_di§bËd_£t
+(
+ad
+->
+\92\8cy\9afo
+.
+dÚe_b\8a
+, 
+b_di§bËd
+);
+
+98 
+       `GL_FREEIF
+(
+\92\8cy_utf8
+);
+
+99 
+       }
+}
+
+104 \18\1e
+       $__gl_ed\99f\9bld_\92\8br_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+106 
+       `gl_dbg
+("");
+
+107 
+       `GL_CHECK
+(
+obj
+);
+
+108 
+       `GL_CHECK
+(
+d©a
+);
+
+110 
+       `_gl_ed\99f\9bld_hide_imf
+(
+d©a
+);
+
+111 \12(*
+´oûss_cb
+)(\1e*
+d©a
+, 
+boÞ
+b_\92\8br
+);
+
+112 
+´oûss_cb
+ = 
+       `evas_objeù_d©a_g\91
+(
+obj
+, "gl_entry_process_cb_key");
+
+113 
+       `gl_dbgW
+("´oûss_cb[%p]", 
+´oûss_cb
+);
+
+114 ià(
+´oûss_cb
+)
+
+115 
+       `´oûss_cb
+(
+d©a
+, 
+\8cue
+);
+
+117 
+       `gl_dbgW
+("Invalid\85rocess_cb");
+
+118 
+       }
+}
+
+120 \12
+       $__gl_ed\99f\9bld_£t_\92\8cy
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+Ïyout
+,
+
+121 
+Evas_Objeù
+ *
+\92\8cy
+, \ 5*
+deçuÉ_Ïb\96
+)
+
+123 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+124 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+125 
+       `gl_dbg
+("");
+
+127 
+       `GL_FREEIF
+(
+ad
+->
+\92\8cy\9afo
+.
+lim\99_f\9e\8br
+);
+
+128 
+Elm_EÁry_F\9e\8br_Lim\99_Size
+ *
+lim\99_f\9e\8br
+ = (Elm_EÁry_F\9e\8br_Lim\99_Siz\90*)
+       `ÿÎoc
+(1, \17(Elm_Entry_Filter_Limit_Size));
+
+129 
+       `GL_CHECK_VAL
+(
+lim\99_f\9e\8br
+, -1);
+
+130 
+ad
+->
+\92\8cy\9afo
+.
+lim\99_f\9e\8br
+ =\86imit_filter;
+
+132 
+lim\99_f\9e\8br
+->
+max_ch¬_couÁ
+ = 
+GL_ENTRY_STR_CHAR_MAX
+;
+
+133 
+lim\99_f\9e\8br
+->
+max_by\8b_couÁ
+ = 0;
+
+135 
+       `\96m_\92\8cy_m¬kup_f\9e\8br_­³nd
+(
+\92\8cy
+, 
+\96m_\92\8cy_f\9e\8br_lim\99_size
+,
+
+136 
+lim\99_f\9e\8br
+);
+
+137 
+       `\96m_\92\8cy_\9aput_·Ãl_»tuº_key_ty³_£t
+(
+\92\8cy
+,
+
+138 
+ELM_INPUT_PANEL_RETURN_KEY_TYPE_DONE
+);
+
+139 
+       `\96m_\92\8cy_autoÿp\99®_ty³_£t
+(
+\92\8cy
+, 
+ELM_AUTOCAPITAL_TYPE_SENTENCE
+);
+
+141 ià(
+       `gl_£t_\92\8cy_\8bxt
+(
+\92\8cy
+, 
+deçuÉ_Ïb\96
+) != 0) {
+
+142 
+       `gl_dbgE
+("gl_set_entry_text failed!");
+
+145 
+       `\96m_\92\8cy_cursÜ_\92d_£t
+(
+\92\8cy
+);
+
+146 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+\92\8cy
+, "maxlength,reached",
+
+147 
+__gl_ed\99f\9bld_maxËn_»ached_cb
+, 
+ad
+);
+
+148 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+\92\8cy
+, "activated",
+
+149 
+__gl_ed\99f\9bld_\92\8br_cb
+, 
+ad
+);
+
+151 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+\92\8cy
+, "changed",
+
+152 
+__gl_ed\99f\9bld_¥aû_check_cb
+, 
+ad
+);
+
+153 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+\92\8cy
+, "preedit,changed",
+
+154 
+__gl_ed\99f\9bld_¥aû_check_cb
+, 
+ad
+);
+
+156 
+       }
+}
+
+158 
+Evas_Objeù
+ *
+       $_gl_ed\99f\9bld_ü\97\8b
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+·»Á
+,
+
+159 \ 5*
+deçuÉ_Ïb\96
+)
+
+161 
+       `GL_CHECK_NULL
+(
+d©a
+);
+
+162 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+163 
+       `GL_CHECK_NULL
+(
+·»Á
+);
+
+164 
+Evas_Objeù
+ *
+Ïyout
+ = 
+NULL
+;
+
+165 
+Evas_Objeù
+ *
+\92\8cy_Ïyout
+ = 
+NULL
+;
+
+166 
+Evas_Objeù
+ *
+\92\8cy
+ = 
+NULL
+;
+
+168 
+Ïyout
+ = 
+       `\96m_Ïyout_add
+(
+·»Á
+);
+
+169 
+       `GL_CHECK_NULL
+(
+Ïyout
+);
+
+170 
+       `\96m_Ïyout_theme_£t
+(
+Ïyout
+, "layout", "application", "searchbar_base");
+
+171 
+       `\96m_objeù_sigÇl_em\99
+(
+Ïyout
+, "elm,state,show,searchbar", "elm");
+
+173 
+\92\8cy_Ïyout
+ = 
+       `\96m_Ïyout_add
+(
+Ïyout
+);
+
+174 ià(
+\92\8cy_Ïyout
+ =ð
+NULL
+) {
+
+175 
+       `evas_objeù_d\96
+(
+Ïyout
+);
+
+176 \15 
+NULL
+;
+
+179 
+       `\96m_Ïyout_theme_£t
+(
+\92\8cy_Ïyout
+, "layout", "searchbar", "default");
+
+180 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+Ïyout
+, "£¬chb¬", 
+\92\8cy_Ïyout
+);
+
+182 
+\92\8cy
+ = 
+       `\96m_\92\8cy_add
+(
+\92\8cy_Ïyout
+);
+
+183 ià(
+\92\8cy
+ =ð
+NULL
+) {
+
+184 
+       `evas_objeù_d\96
+(
+\92\8cy_Ïyout
+);
+
+185 \15 
+NULL
+;
+
+188 
+       `\96m_\92\8cy_s\9agË_l\9ae_£t
+(
+\92\8cy
+, 
+EINA_TRUE
+);
+
+189 
+       `\96m_\92\8cy_süÞÏbË_£t
+(
+\92\8cy
+, 
+EINA_TRUE
+);
+
+190 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+\92\8cy_Ïyout
+, "\96m.sw®low.cÚ\8bÁ", 
+\92\8cy
+);
+
+191 
+       `\96m_\92\8cy_úp_mode_£t
+(
+\92\8cy
+, 
+ELM_CNP_MODE_PLAINTEXT
+);
+
+192 
+       `\96m_\92\8cy_\9aput_·Ãl_Ïyout_£t
+(
+\92\8cy
+, 
+ELM_INPUT_PANEL_LAYOUT_NORMAL
+);
+
+194 
+ad
+->
+\92\8cy\9afo
+.
+\92\8cy
+ =\83ntry;
+
+195 
+ad
+->
+\92\8cy\9afo
+.
+cڋxt
+ = 
+       `\96m_\92\8cy_imf_cÚ\8bxt_g\91
+×d->\92\8cy\9afo.
+\92\8cy
+);
+
+196 
+ad
+->
+\92\8cy\9afo
+.
+ed\99f\9bld
+ = 
+\92\8cy_Ïyout
+;
+
+198 
+       `__gl_ed\99f\9bld_£t_\92\8cy
+(
+ad
+, 
+\92\8cy_Ïyout
+, 
+\92\8cy
+, 
+deçuÉ_Ïb\96
+);
+
+199 
+       `evas_objeù_show
+(
+\92\8cy_Ïyout
+);
+
+201 \15 
+Ïyout
+;
+
+202 
+       }
+}
+
+205 
+Evas_Objeù
+ *
+       $_gl_ed\99f\9bld_ü\97\8b_g\92li¡
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+·»Á
+,
+
+206 
+Elm_Objeù_I\8bm
+ *
+\99
+, \ 5*
+Ïb\96
+)
+
+208 
+       `GL_CHECK_NULL
+(
+Ïb\96
+);
+
+209 
+       `GL_CHECK_NULL
+(
+·»Á
+);
+
+210 
+       `GL_CHECK_NULL
+(
+d©a
+);
+
+211 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+212 
+       `gl_dbg
+("");
+
+213 
+Evas_Objeù
+ *
+\92\8cy
+ = 
+NULL
+;
+
+215 
+       `_gl_ed\99f\9bld_de¡roy_imf
+(
+ad
+);
+
+216 
+\92\8cy
+ = 
+       `\96m_\92\8cy_add
+(
+·»Á
+);
+
+217 ià(
+\92\8cy
+ =ð
+NULL
+) {
+
+218 
+       `gl_dbgE
+("elm_entry_add failed!");
+
+219 \15 
+NULL
+;
+
+222 
+       `\96m_\92\8cy_s\9agË_l\9ae_£t
+(
+\92\8cy
+, 
+EINA_TRUE
+);
+
+223 
+       `\96m_\92\8cy_süÞÏbË_£t
+(
+\92\8cy
+, 
+EINA_TRUE
+);
+
+224 
+       `GL_FREEIF
+(
+ad
+->
+\92\8cy\9afo
+.
+lim\99_f\9e\8br
+);
+
+225 
+Elm_EÁry_F\9e\8br_Lim\99_Size
+ *
+lim\99_f\9e\8br
+ = (Elm_EÁry_F\9e\8br_Lim\99_Siz\90*)
+       `ÿÎoc
+(1, \17(Elm_Entry_Filter_Limit_Size));
+
+226 
+       `GL_CHECK_NULL
+(
+lim\99_f\9e\8br
+);
+
+227 
+ad
+->
+\92\8cy\9afo
+.
+lim\99_f\9e\8br
+ =\86imit_filter;
+
+229 
+lim\99_f\9e\8br
+->
+max_ch¬_couÁ
+ = 
+GL_ENTRY_STR_CHAR_MAX
+;
+
+230 
+lim\99_f\9e\8br
+->
+max_by\8b_couÁ
+ = 0;
+
+231 
+       `\96m_\92\8cy_úp_mode_£t
+(
+\92\8cy
+, 
+ELM_CNP_MODE_PLAINTEXT
+);
+
+232 
+       `\96m_\92\8cy_\9aput_·Ãl_»tuº_key_ty³_£t
+(
+\92\8cy
+,
+
+233 
+ELM_INPUT_PANEL_RETURN_KEY_TYPE_DONE
+);
+
+234 
+       `\96m_\92\8cy_autoÿp\99®_ty³_£t
+(
+\92\8cy
+, 
+ELM_AUTOCAPITAL_TYPE_SENTENCE
+);
+
+235 
+       `\96m_\92\8cy_m¬kup_f\9e\8br_­³nd
+(
+\92\8cy
+, 
+\96m_\92\8cy_f\9e\8br_lim\99_size
+,
+
+236 
+lim\99_f\9e\8br
+);
+
+237 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+\92\8cy
+, "maxlength,reached",
+
+238 
+__gl_ed\99f\9bld_maxËn_»ached_cb
+, 
+ad
+);
+
+239 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+\92\8cy
+, "activated",
+
+240 
+__gl_ed\99f\9bld_\92\8br_cb
+, 
+ad
+);
+
+245 
+ad
+->
+\92\8cy\9afo
+.
+\92\8cy
+ =\83ntry;
+
+246 
+ad
+->
+\92\8cy\9afo
+.
+cڋxt
+ = 
+       `\96m_\92\8cy_imf_cÚ\8bxt_g\91
+(
+\92\8cy
+);
+
+248 
+       `_gl_ed\99f\9bld_show_imf
+(
+d©a
+);
+
+249 
+       `gl_£t_\92\8cy_\8bxt
+(
+\92\8cy
+, 
+Ïb\96
+);
+
+250 
+       `\96m_\92\8cy_cursÜ_\92d_£t
+(
+\92\8cy
+);
+
+252 ià(!
+ad
+->
+\92\8cy\9afo
+.
+b_hide_toÞb¬
+) {
+
+253 
+ad
+->
+\92\8cy\9afo
+.
+b_hide_toÞb¬
+ = 
+\8cue
+;
+
+254 
+       `_gl_ui_£t_toÞb¬_¡©e
+(
+d©a
+, 
+ad
+->
+\92\8cy\9afo
+.
+b_hide_toÞb¬
+);
+
+256 \15 
+\92\8cy
+;
+
+257 
+       }
+}
+
+259 
+Evas_Objeù
+ *
+       $_gl_ed\99f\9bld_ü\97\8b_\92\8cy
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+Ïyout
+, \ 5*
+\8bxt
+)
+
+261 
+       `GL_CHECK_NULL
+(
+d©a
+);
+
+262 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+263 \18
+Elm_EÁry_F\9e\8br_Lim\99_Size
+lim\99_f\9e\8br_d©a
+;
+
+265 
+Evas_Objeù
+ *
+\92\8cy
+ = 
+       `\96m_\92\8cy_add
+(
+Ïyout
+);
+
+266 
+       `GL_CHECK_NULL
+(
+\92\8cy
+);
+
+268 
+       `\96m_\92\8cy_s\9agË_l\9ae_£t
+(
+\92\8cy
+, 
+EINA_TRUE
+);
+
+269 
+       `\96m_\92\8cy_süÞÏbË_£t
+(
+\92\8cy
+, 
+EINA_TRUE
+);
+
+271 
+lim\99_f\9e\8br_d©a
+.
+max_ch¬_couÁ
+ = 
+GL_ENTRY_STR_CHAR_MAX
+;
+
+272 ià(
+\8bxt
+)
+
+273 
+       `\96m_\92\8cy_\92\8cy_£t
+(
+\92\8cy
+, 
+\8bxt
+);
+
+274 
+       `\96m_\92\8cy_cursÜ_\92d_£t
+(
+\92\8cy
+);
+
+276 
+       `\96m_\92\8cy_m¬kup_f\9e\8br_­³nd
+(
+\92\8cy
+, 
+\96m_\92\8cy_f\9e\8br_lim\99_size
+,
+
+277 &
+lim\99_f\9e\8br_d©a
+);
+
+279 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+\92\8cy
+, "maxlength,reached",
+
+280 
+__gl_ed\99f\9bld_maxËn_»ached_cb
+, 
+d©a
+);
+
+281 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+\92\8cy
+, "changed",
+
+282 
+__gl_ed\99f\9bld_¥aû_check_cb
+, 
+d©a
+);
+
+283 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+\92\8cy
+, "preedit,changed",
+
+284 
+__gl_ed\99f\9bld_¥aû_check_cb
+, 
+d©a
+);
+
+285 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+\92\8cy
+, "activated",
+
+286 
+__gl_ed\99f\9bld_\92\8br_cb
+, 
+d©a
+);
+
+287 
+       `\96m_\92\8cy_úp_mode_£t
+(
+\92\8cy
+, 
+ELM_CNP_MODE_PLAINTEXT
+);
+
+288 
+       `\96m_\92\8cy_\9aput_·Ãl_»tuº_key_ty³_£t
+(
+\92\8cy
+,
+
+289 
+ELM_INPUT_PANEL_RETURN_KEY_TYPE_DONE
+);
+
+290 
+       `\96m_\92\8cy_autoÿp\99®_ty³_£t
+(
+\92\8cy
+, 
+ELM_AUTOCAPITAL_TYPE_SENTENCE
+);
+
+291 
+ad
+->
+\92\8cy\9afo
+.
+\92\8cy
+ =\83ntry;
+
+292 
+ad
+->
+\92\8cy\9afo
+.
+cڋxt
+ = 
+       `\96m_\92\8cy_imf_cÚ\8bxt_g\91
+(
+\92\8cy
+);
+
+294 \15 
+\92\8cy
+;
+
+295 
+       }
+}
+
+298 \12
+       $_gl_ed\99f\9bld_hide_imf
+(\1e*
+d©a
+)
+
+300 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+301 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+302 
+       `gl_dbg
+("");
+
+305 ià(
+ad
+->
+\92\8cy\9afo
+.
+\92\8cy
+)
+
+306 
+       `\96m_objeù_focus_£t
+(
+ad
+->
+\92\8cy\9afo
+.
+\92\8cy
+, 
+EINA_FALSE
+);
+
+309 
+       }
+}
+
+312 \12
+       $_gl_ed\99f\9bld_show_imf
+(\1e*
+d©a
+)
+
+314 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+315 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+316 
+       `gl_dbg
+("");
+
+318 ià(
+ad
+->
+\92\8cy\9afo
+.
+\92\8cy
+) {
+
+319 
+       `evas_objeù_show
+(
+ad
+->
+\92\8cy\9afo
+.
+\92\8cy
+);
+
+320 
+       `\96m_objeù_focus_£t
+(
+ad
+->
+\92\8cy\9afo
+.
+\92\8cy
+, 
+EINA_TRUE
+);
+
+324 
+       }
+}
+
+326 \12
+       $_gl_ed\99f\9bld_de¡roy_imf
+(\1e*
+d©a
+)
+
+328 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+329 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+331 ià(
+ad
+->
+\92\8cy\9afo
+.
+\92\8cy
+ =ð
+NULL
+)
+
+334 
+       `_gl_ui_d\96_cÚfÜm_cbs
+(
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+);
+
+336 
+       `evas_objeù_sm¬t_ÿÎback_d\96
+(
+ad
+->
+\92\8cy\9afo
+.
+\92\8cy
+,
+
+338 
+__gl_ed\99f\9bld_maxËn_»ached_cb
+);
+
+339 
+       `evas_objeù_sm¬t_ÿÎback_d\96
+(
+ad
+->
+\92\8cy\9afo
+.
+\92\8cy
+,
+
+340 "aùiv©ed", 
+__gl_ed\99f\9bld_\92\8br_cb
+);
+
+342 
+       `evas_objeù_sm¬t_ÿÎback_d\96
+(
+ad
+->
+\92\8cy\9afo
+.
+\92\8cy
+,
+
+344 
+__gl_ed\99f\9bld_¥aû_check_cb
+);
+
+345 
+       `evas_objeù_sm¬t_ÿÎback_d\96
+(
+ad
+->
+\92\8cy\9afo
+.
+\92\8cy
+,
+
+347 
+__gl_ed\99f\9bld_¥aû_check_cb
+);
+
+348 
+ad
+->
+\92\8cy\9afo
+.
+mode
+ = 
+GL_ENTRY_NONE
+;
+
+350 
+       `GL_IF_DEL_OBJ
+(
+ad
+->
+\92\8cy\9afo
+.
+pÝup
+);
+
+351 
+       `GL_IF_DEL_OBJ
+(
+ad
+->
+\92\8cy\9afo
+.
+ed\99f\9bld
+);
+
+352 
+       `GL_FREEIF
+(
+ad
+->
+\92\8cy\9afo
+.
+lim\99_f\9e\8br
+);
+
+353 
+ad
+->
+\92\8cy\9afo
+.
+\92\8cy
+ = 
+NULL
+;
+
+354 
+ad
+->
+\92\8cy\9afo
+.
+cڋxt
+ = 
+NULL
+;
+
+355 
+ad
+->
+\92\8cy\9afo
+.
+dÚe_b\8a
+ = 
+NULL
+;
+
+356 
+ad
+->
+\92\8cy\9afo
+.
+nf_\99
+ = 
+NULL
+;
+
+357 
+ad
+->
+\92\8cy\9afo
+.
+Ý_cb
+ = 
+NULL
+;
+
+358 
+       `GL_FREEIF
+(
+ad
+->
+®bum\9afo
+.
+\8bmp_®bum_Çme
+);
+
+360 
+       }
+}
+
+362 \12
+       $_gl_ed\99f\9bld_chªge_Çvi_t\99Ë
+(\1e*
+d©a
+, \12
+r
+)
+
+364 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+365 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+366 ià(
+ad
+->
+\92\8cy\9afo
+.
+nf_\99
+) {
+
+367 
+       `gl_dbg
+("entryinfo.nf_it created");
+
+368 ià(!
+ad
+->
+\92\8cy\9afo
+.
+b_hide_s\9d
+) {
+
+369 
+       `gl_dbg
+("SIP is hided,\82o\82eed hide\81he\81itle");
+
+373 
+       `gl_dbg
+("entryinfo.nf_it\82ot created");
+
+376 
+       `GL_CHECK_VAL
+(
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+, -1);
+
+377 
+Elm_Objeù_I\8bm
+ *
+Çvi_\99
+ = 
+       `\96m_Çviäame_tÝ_\99em_g\91
+(
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+);
+
+378 
+       `GL_CHECK_VAL
+(
+Çvi_\99
+, -1);
+
+379 \1a
+r
+) {
+
+380 \ 4
+APP_DEVICE_ORIENTATION_0
+:
+
+381 \ 4
+APP_DEVICE_ORIENTATION_180
+:
+
+382 
+       `\96m_Çviäame_\99em_t\99Ë_\92abËd_£t
+(
+Çvi_\99
+, 
+EINA_TRUE
+, 
+EINA_FALSE
+);
+
+384 \ 4
+APP_DEVICE_ORIENTATION_90
+:
+
+385 \ 4
+APP_DEVICE_ORIENTATION_270
+:
+
+386 
+       `\96m_Çviäame_\99em_t\99Ë_\92abËd_£t
+(
+Çvi_\99
+, 
+EINA_FALSE
+, EINA_FALSE);
+
+392 
+       }
+}
+
+394 
+Evas_Objeù
+ *
+       $_gl_ed\99f\9bld_g\91_\92\8cy
+(\1e*
+d©a
+)
+
+396 
+       `GL_CHECK_NULL
+(
+d©a
+);
+
+397 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+398 \15 
+ad
+->
+\92\8cy\9afo
+.
+\92\8cy
+;
+
+399 
+       }
+}
+
+       @src/widget/gl-gesture.c
+
+18 \ 2
+       ~"gl-ge¡u».h
+"
+
+19 \ 2
+       ~"gl-ut\9e.h
+"
+
+20 \ 2
+       ~"gl-debug.h
+"
+
+21 \ 2
+       ~"gl-thumbs.h
+"
+
+22 \ 2
+       ~"gl-tim\96\9ae.h
+"
+
+24 \ 1
+       #GL_PINCH_TOUCH_HOLD_RANGE
+ 80
+
+       )
+
+25 \ 1
+       #GL_PINCH_TOUCH_FACTOR
+ 4
+
+       )
+
+26 \ 1
+       #GL_PINCH_HOLD_TIME_DELAY
+ 0.35f
+
+       )
+
+27 \ 1
+       #GL_GESTURE_KEY_DATA
+ "ge¡u»_d©a"
+
+       )
+
+29 \e\19
+_gl_ge¡u»_t
+       tgl_ge¡u»_s
+;
+
+30 \e\19
+_gl_p\9ach_ev\92t_t
+       tgl_p\9ach_ev\92t_s
+;
+
+31 \e\f
+_gl_p\9ach_¶ª_t
+       tgl_p\9ach_¶ª_e
+;
+
+33 \19
+       s_gl_ge¡u»_t
+ {
+
+34 
+gl_­pd©a
+ *
+       mad
+;
+
+35 
+Evas_Objeù
+ *
+       m·»Á
+;
+
+36 
+Evas_Objeù
+ *
+       mge¡u»
+;
+
+37 
+gl_ge¡u»_cb
+       mzoom_\9a_cb
+;
+
+38 
+gl_ge¡u»_cb
+       mzoom_out_cb
+;
+
+39 \1e*
+       mzoom_\9a_d©a
+;
+
+40 \1e*
+       mzoom_out_d©a
+;
+
+42 \12
+       mdis_Þd
+;
+
+43 \12
+       mp\9ach_dis_Þd
+;
+
+44 
+E\9aa_Li¡
+ *
+       ms_ev\92t_\96
+;
+
+45 
+EcÜe_Job
+ *
+       mp\9ach_job
+;
+
+46 \12
+       mÃxt_¶ª
+;
+
+49 \19
+       s_gl_p\9ach_ev\92t_t
+ {
+
+50 \12
+       mdeviû
+;
+
+52 \19
+       sgl_´ev
+ {
+
+53 
+Evas_CoÜd
+       mx
+;
+
+54 
+Evas_CoÜd
+       my
+;
+
+55 } 
+       m´ev
+;
+
+57 
+Evas_CoÜd
+       mx
+;
+
+58 
+Evas_CoÜd
+       my
+;
+
+59 
+Evas_CoÜd
+       mw
+;
+
+60 
+Evas_CoÜd
+       mh
+;
+
+61 
+Evas_Objeù
+ *
+       mobjeù
+;
+
+62 
+EcÜe_Tim\94
+ *
+       mhÞd_tim\94
+;
+
+63 \12
+       mts
+;
+
+64 \12
+       mv
+;
+
+65 \12
+       mp\9ach_dis
+;
+
+66 
+Evas_Objeù
+ *
+       mp\9ach_obj
+;
+
+67 
+Evas_Objeù
+ *
+       m\8b¡
+;
+
+70 \f
+       e_gl_p\9ach_¶ª_t
+ {
+
+71 
+       mGL_PINCH_PLAN_NONE
+,
+
+72 
+       mGL_PINCH_PLAN_OUT
+,
+
+73 
+       mGL_PINCH_PLAN_IN
+,
+
+74 
+       mGL_PINCH_PLAN_MAX
+
+
+77 \18
+gl_p\9ach_ev\92t_s
+ *
+       $__gl_ge¡u»_ü\97\8b_ev\92t_obj
+(\1e*
+d©a
+,
+
+78 
+Evas_Objeù
+ *
+objeù
+,
+
+79 \12
+deviû
+)
+
+81 
+       `GL_CHECK_NULL
+(
+d©a
+);
+
+82 
+gl_ge¡u»_s
+ *
+ge¡u»_d
+ = (gl_ge¡u»_ *)
+d©a
+;
+
+83 
+gl_p\9ach_ev\92t_s
+ *
+ev
+ = 
+NULL
+;
+
+86 
+ev
+ = 
+       `ÿÎoc
+(1, \17(
+gl_p\9ach_ev\92t_s
+));
+
+87 ià(
+ev
+ =ð
+NULL
+) {
+
+88 
+       `gl_dbg
+("Cannot\87llocate\83vent_t");
+
+89 \15 
+NULL
+;
+
+92 
+ev
+->
+objeù
+ = object;
+
+93 
+ev
+->
+deviû
+ = device;
+
+94 
+       `evas_objeù_geom\91ry_g\91
+(
+objeù
+, &
+ev
+->
+x
+, &ev->
+y
+, &ev->
+w
+, &ev->
+h
+);
+
+96 
+ge¡u»_d
+->
+s_ev\92t_\96
+ = 
+       `e\9aa_li¡_­³nd
+(gesture_d->s_event_elist,
+
+97 
+ev
+);
+
+98 \15 
+ev
+;
+
+99 
+       }
+}
+
+101 \18\12
+       $__gl_ge¡u»_de¡roy_ev\92t_obj
+(\1e*
+d©a
+, 
+gl_p\9ach_ev\92t_s
+ *
+ev
+)
+
+103 
+       `GL_CHECK_VAL
+(
+ev
+, -1);
+
+104 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+105 
+gl_ge¡u»_s
+ *
+ge¡u»_d
+ = (gl_ge¡u»_ *)
+d©a
+;
+
+108 
+ev
+->
+p\9ach_obj
+ = 
+NULL
+;
+
+109 
+ev
+->
+p\9ach_dis
+ = 0;
+
+110 
+ge¡u»_d
+->
+s_ev\92t_\96
+ = 
+       `e\9aa_li¡_»move
+(gesture_d->s_event_elist,
+
+111 
+ev
+);
+
+112 
+       `GL_IF_DEL_TIMER
+(
+ev
+->
+hÞd_tim\94
+);
+
+115 
+       `GL_FREE
+(
+ev
+);
+
+117 
+       }
+}
+
+119 \18
+gl_p\9ach_ev\92t_s
+ *
+       $__gl_ge¡u»_g\91_ev\92t_obj
+(\1e*
+d©a
+, \12
+deviû
+)
+
+121 
+       `GL_CHECK_NULL
+(
+d©a
+);
+
+122 
+gl_ge¡u»_s
+ *
+ge¡u»_d
+ = (gl_ge¡u»_ *)
+d©a
+;
+
+123 
+E\9aa_Li¡
+ *
+l
+ = 
+NULL
+;
+
+124 
+gl_p\9ach_ev\92t_s
+ *
+ev
+ = 
+NULL
+;
+
+126 
+       `EINA_LIST_FOREACH
+(
+ge¡u»_d
+->
+s_ev\92t_\96
+, 
+l
+, 
+ev
+) {
+
+127 ià(
+ev
+ &&\83v->
+deviû
+ == device)
+
+129 
+ev
+ = 
+NULL
+;
+
+132 \15 
+ev
+;
+
+133 
+       }
+}
+
+135 \18\12
+       $__gl_ge¡u»_g\91_di¡ªû
+(
+Evas_CoÜd
+x1
+, Evas_CoÜd 
+y1
+, Evas_CoÜd 
+x2
+,
+
+136 
+Evas_CoÜd
+y2
+)
+
+138 \12
+dis
+, 
+dx
+, 
+dy
+;
+
+140 
+dx
+ = 
+x1
+ - 
+x2
+;
+
+141 
+dy
+ = 
+y1
+ - 
+y2
+;
+
+143 
+dis
+ = (\12)
+       `sq¹
+(
+dx
+ * dx + 
+dy
+ * dy);
+
+144 \15 
+dis
+;
+
+145 
+       }
+}
+
+147 \18
+E\9aa_BoÞ
+       $__gl_ge¡u»_hÞd_tim\94_cb
+(\1e*
+d©a
+)
+
+149 
+gl_p\9ach_ev\92t_s
+ *
+ev0
+ = (gl_p\9ach_ev\92t_ *)
+d©a
+;
+
+150 
+       `GL_IF_DEL_TIMER
+(
+ev0
+->
+hÞd_tim\94
+);
+
+151 \15 
+ECORE_CALLBACK_CANCEL
+;
+
+152 
+       }
+}
+
+154 \18\12
+       $__gl_ge¡u»_g\91_muÉi_deviû
+(\1e*
+d©a
+)
+
+156 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+157 
+gl_ge¡u»_s
+ *
+ge¡u»_d
+ = (gl_ge¡u»_ *)
+d©a
+;
+
+158 
+E\9aa_Li¡
+ *
+l
+ = 
+NULL
+;
+
+159 
+gl_p\9ach_ev\92t_s
+ *
+ev
+ = 
+NULL
+;
+
+161 
+       `EINA_LIST_FOREACH
+(
+ge¡u»_d
+->
+s_ev\92t_\96
+, 
+l
+, 
+ev
+) {
+
+162 ià(
+ev
+ &&\83v->
+deviû
+ != 0)
+
+163 \15 
+ev
+->
+deviû
+;
+
+166 
+       }
+}
+
+168 \18\1e
+       $__gl_ge¡u»_mou£_down_ev\92t
+(\1e*
+d©a
+, 
+Evas
+ *
+e
+,
+
+169 
+Evas_Objeù
+ *
+evas_obj
+, \1e*
+ei
+)
+
+171 
+       `GL_CHECK
+(
+ei
+);
+
+172 
+       `GL_CHECK
+(
+d©a
+);
+
+173 
+Evas_Ev\92t_Mou£_Down
+ *
+ev
+ = (Evas_Ev\92t_Mou£_DowÀ*)
+ei
+;
+
+176 
+gl_p\9ach_ev\92t_s
+ *
+ev0
+;
+
+177 
+ev0
+ = 
+       `__gl_ge¡u»_g\91_ev\92t_obj
+(
+d©a
+, 0);
+
+178 ià(
+ev0
+)
+
+181 
+ev0
+ = 
+       `__gl_ge¡u»_ü\97\8b_ev\92t_obj
+(
+d©a
+, 
+evas_obj
+, 0);
+
+182 ià(!
+ev0
+)
+
+185 
+ev0
+->
+hÞd_tim\94
+ = 
+NULL
+;
+
+186 
+ev0
+->
+´ev
+.
+x
+ = 
+ev
+->
+ou\8dut
+.x;
+
+187 
+ev0
+->
+´ev
+.
+y
+ = 
+ev
+->
+ou\8dut
+.y;
+
+188 
+       }
+}
+
+190 \18\1e
+       $__gl_ge¡u»_muÉi_down_ev\92t
+(\1e*
+d©a
+, 
+Evas
+ *
+evas
+,
+
+191 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+193 
+       `GL_CHECK
+(
+ei
+);
+
+194 
+       `GL_CHECK
+(
+d©a
+);
+
+195 
+gl_p\9ach_ev\92t_s
+ *
+ev
+;
+
+196 
+Evas_Ev\92t_MuÉi_Down
+ *
+down
+ = (Evas_Ev\92t_MuÉi_DowÀ*)
+ei
+;
+
+199 
+ev
+ = 
+       `__gl_ge¡u»_g\91_ev\92t_obj
+(
+d©a
+, 
+down
+->
+deviû
+);
+
+200 ià(
+ev
+)
+
+203 
+ev
+ = 
+       `__gl_ge¡u»_ü\97\8b_ev\92t_obj
+(
+d©a
+, 
+obj
+, 
+down
+->
+deviû
+);
+
+204 ià(!
+ev
+)
+
+207 
+ev
+->
+hÞd_tim\94
+ = 
+NULL
+;
+
+208 
+ev
+->
+´ev
+.
+x
+ = 
+down
+->
+ou\8dut
+.x;
+
+209 
+ev
+->
+´ev
+.
+y
+ = 
+down
+->
+ou\8dut
+.y;
+
+210 
+       }
+}
+
+212 \18\1e
+       $__gl_ge¡u»_mou£_up_ev\92t
+(\1e*
+d©a
+, 
+Evas
+ *
+e
+,
+
+213 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+215 
+       `GL_CHECK
+(
+d©a
+);
+
+216 
+gl_ge¡u»_s
+ *
+ge¡u»_d
+ = (gl_ge¡u»_ *)
+d©a
+;
+
+217 \12
+mdeviû
+;
+
+218 
+gl_p\9ach_ev\92t_s
+ *
+ev0
+;
+
+219 
+gl_p\9ach_ev\92t_s
+ *
+ev
+ = 
+NULL
+;
+
+221 
+Evas_Ev\92t_Mou£_Up
+ *
+p_ev
+ = (Evas_Ev\92t_Mou£_U°*)
+ei
+;
+
+223 
+ev0
+ = 
+       `__gl_ge¡u»_g\91_ev\92t_obj
+(
+d©a
+, 0);
+
+224 ià(
+ev0
+ =ð
+NULL
+) {
+
+225 
+       `gl_dbg
+("Cannot get\83vent0");
+
+229 
+mdeviû
+ = 
+       `__gl_ge¡u»_g\91_muÉi_deviû
+(
+d©a
+);
+
+231 ià(
+mdeviû
+ == 0) {
+
+235 
+ev
+ = 
+       `__gl_ge¡u»_g\91_ev\92t_obj
+(
+d©a
+, 
+mdeviû
+);
+
+236 ià(
+ev
+ =ð
+NULL
+) {
+
+237 
+       `gl_dbg
+("Cannot get\83vent multi");
+
+241 
+       `GL_IF_DEL_TIMER
+(
+ev
+->
+hÞd_tim\94
+);
+
+242 
+ev
+->
+hÞd_tim\94
+ = 
+       `ecÜe_tim\94_add
+(
+GL_PINCH_HOLD_TIME_DELAY
+,
+
+243 
+__gl_ge¡u»_hÞd_tim\94_cb
+, 
+ev
+);
+
+246 ià(!
+ge¡u»_d
+->
+ad
+->
+grid\9afo
+.
+muÉi_touch
+) {
+
+247 
+       `_gl_thumbs_chªge_v\9bw
+(
+ge¡u»_d
+->
+ad
+, 
+ev0
+->
+´ev
+.
+x
+, 
+p_ev
+->
+ou\8dut
+.x);
+
+249 
+ge¡u»_d
+->
+ad
+->
+grid\9afo
+.
+muÉi_touch
+ = 
+çl£
+;
+
+251 
+       `__gl_ge¡u»_de¡roy_ev\92t_obj
+(
+d©a
+, 
+ev0
+);
+
+252 
+       }
+}
+
+254 \18\1e
+       $__gl_ge¡u»_muÉi_up_ev\92t
+(\1e*
+d©a
+, 
+Evas
+ *
+evas
+,
+
+255 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+257 
+       `GL_CHECK
+(
+ei
+);
+
+258 
+       `GL_CHECK
+(
+d©a
+);
+
+259 
+gl_ge¡u»_s
+ *
+ge¡u»_d
+ = (gl_ge¡u»_ *)
+d©a
+;
+
+260 
+Evas_Ev\92t_MuÉi_Up
+ *
+up
+ = (Evas_Ev\92t_MuÉi_U°*)
+ei
+;
+
+261 
+gl_p\9ach_ev\92t_s
+ *
+ev0
+ = 
+NULL
+;
+
+262 
+gl_p\9ach_ev\92t_s
+ *
+ev
+ = 
+NULL
+;
+
+265 
+ev
+ = 
+       `__gl_ge¡u»_g\91_ev\92t_obj
+(
+d©a
+, 
+up
+->
+deviû
+);
+
+266 ià(
+ev
+ =ð
+NULL
+) {
+
+267 
+       `gl_dbg
+("Cannot get device multi");
+
+271 
+ge¡u»_d
+->
+dis_Þd
+ = 0;
+
+272 
+ge¡u»_d
+->
+p\9ach_dis_Þd
+ = 0;
+
+276 
+ev0
+ = 
+       `__gl_ge¡u»_g\91_ev\92t_obj
+(
+d©a
+, 0);
+
+277 ià(
+ev0
+) {
+
+280 
+       `GL_IF_DEL_TIMER
+(
+ev0
+->
+hÞd_tim\94
+);
+
+281 
+ev0
+->
+hÞd_tim\94
+ = 
+       `ecÜe_tim\94_add
+(
+GL_PINCH_HOLD_TIME_DELAY
+,
+
+282 
+__gl_ge¡u»_hÞd_tim\94_cb
+,
+
+283 
+ev0
+);
+
+287 
+       `__gl_ge¡u»_de¡roy_ev\92t_obj
+(
+d©a
+, 
+ev
+);
+
+288 
+       }
+}
+
+290 \18\1e
+       $__gl_ge¡u»_mou£_move_ev\92t
+(\1e*
+d©a
+, 
+Evas
+ *
+e
+,
+
+291 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+293 
+       `GL_CHECK
+(
+ei
+);
+
+294 
+       `GL_CHECK
+(
+d©a
+);
+
+296 
+gl_p\9ach_ev\92t_s
+ *
+ev0
+;
+
+299 
+ev0
+ = 
+       `__gl_ge¡u»_g\91_ev\92t_obj
+(
+d©a
+, 0);
+
+300 ià(
+ev0
+ =ð
+NULL
+) {
+
+305 
+       `__gl_ge¡u»_g\91_muÉi_deviû
+(
+d©a
+);
+
+306 
+       }
+}
+
+308 \18\1e
+       $__gl_ge¡u»_zoom_out_job_cb
+(\1e*
+d©a
+)
+
+310 
+       `GL_CHECK
+(
+d©a
+);
+
+311 
+gl_ge¡u»_s
+ *
+ge¡u»_d
+ = (gl_ge¡u»_ *)
+d©a
+;
+
+312 ià(
+ge¡u»_d
+->
+Ãxt_¶ª
+ !ð
+GL_PINCH_PLAN_OUT
+) {
+
+313 
+       `gl_dbgW
+("S\8f\8b i wrÚg[¶ª:%d]!", 
+ge¡u»_d
+->
+Ãxt_¶ª
+);
+
+314 
+       `GL_IF_DEL_JOB
+(
+ge¡u»_d
+->
+p\9ach_job
+);
+
+317 
+       `gl_dbg
+("Pinch zoom out");
+
+319 ià(
+ge¡u»_d
+->
+zoom_out_cb
+)
+
+320 
+ge¡u»_d
+->
+       `zoom_out_cb
+(ge¡u»_d->
+ge¡u»
+,
+
+321 
+ge¡u»_d
+->
+zoom_out_d©a
+);
+
+323 
+       `GL_IF_DEL_JOB
+(
+ge¡u»_d
+->
+p\9ach_job
+);
+
+324 
+       }
+}
+
+326 \18\1e
+       $__gl_ge¡u»_zoom_\9a_job_cb
+(\1e*
+d©a
+)
+
+328 
+       `GL_CHECK
+(
+d©a
+);
+
+329 
+gl_ge¡u»_s
+ *
+ge¡u»_d
+ = (gl_ge¡u»_ *)
+d©a
+;
+
+330 ià(
+ge¡u»_d
+->
+Ãxt_¶ª
+ !ð
+GL_PINCH_PLAN_IN
+) {
+
+331 
+       `gl_dbgW
+("S\8f\8b i wrÚg[¶ª:%d]!", 
+ge¡u»_d
+->
+Ãxt_¶ª
+);
+
+332 
+       `GL_IF_DEL_JOB
+(
+ge¡u»_d
+->
+p\9ach_job
+);
+
+335 
+       `gl_dbg
+("Pinch zoom in");
+
+337 ià(
+ge¡u»_d
+->
+zoom_\9a_cb
+)
+
+338 
+ge¡u»_d
+->
+       `zoom_\9a_cb
+(ge¡u»_d->
+ge¡u»
+,
+
+339 
+ge¡u»_d
+->
+zoom_\9a_d©a
+);
+
+341 
+       `GL_IF_DEL_JOB
+(
+ge¡u»_d
+->
+p\9ach_job
+);
+
+342 
+       }
+}
+
+344 \18\1e
+       $__gl_ge¡u»_muÉi_move_ev\92t
+(\1e*
+d©a
+, 
+Evas
+ *
+evas
+,
+
+345 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+347 
+       `GL_CHECK
+(
+d©a
+);
+
+348 
+gl_ge¡u»_s
+ *
+ge¡u»_d
+ = (gl_ge¡u»_ *)
+d©a
+;
+
+349 
+Evas_Ev\92t_MuÉi_Move
+ *
+move
+ = (Evas_Ev\92t_MuÉi_Mov\90*)
+ei
+;
+
+350 \12
+dis_Ãw
+;
+
+351 
+gl_p\9ach_ev\92t_s
+ *
+ev0
+;
+
+352 
+gl_p\9ach_ev\92t_s
+ *
+ev
+;
+
+355 
+ev
+ = 
+       `__gl_ge¡u»_g\91_ev\92t_obj
+(
+d©a
+, 
+move
+->
+deviû
+);
+
+356 ià(
+ev
+ =ð
+NULL
+) {
+
+357 
+       `gl_dbg
+("Cannot get multi device");
+
+360 
+ge¡u»_d
+->
+ad
+->
+grid\9afo
+.
+muÉi_touch
+ = 
+\8cue
+;
+
+362 ià(
+       `_gl_is_tim\96\9ae_ed\99_mode
+(
+ge¡u»_d
+->
+ad
+)) {
+
+363 
+       `gl_dbg
+("Prevent multi move in\81imeline\83dit mode");
+
+367 ià(
+       `gl_g\91_v\9bw_mode
+(
+ge¡u»_d
+->
+ad
+è=ð
+GL_VIEW_THUMBS
+
+
+368 || 
+       `gl_g\91_v\9bw_mode
+(
+ge¡u»_d
+->
+ad
+è=ð
+GL_VIEW_THUMBS_EDIT
+
+
+369 || 
+       `gl_g\91_v\9bw_mode
+(
+ge¡u»_d
+->
+ad
+è=ð
+GL_VIEW_THUMBS_SELECT
+) {
+
+370 ià(
+       `gl_g\91_v\9bw_mode
+(
+ge¡u»_d
+->
+ad
+è=ð
+GL_VIEW_THUMBS_EDIT
+) {
+
+371 
+       `gl_dbg
+("Prevent multi move in\81humbs\83dit view");
+
+374 ià(
+ge¡u»_d
+->
+ad
+->
+grid\9afo
+.
+¥l\99_v\9bw_mode
+ =ð
+SPLIT_VIEW
+) {
+
+375 
+       `gl_dbg
+("Prevent multi move in split view");
+
+378 ià(
+       `gl_g\91_v\9bw_mode
+(
+ge¡u»_d
+->
+ad
+è=ð
+GL_VIEW_THUMBS_SELECT
+) {
+
+379 
+       `gl_dbg
+("Prevent multi move in\81humbs select view");
+
+383 
+ev
+->
+´ev
+.
+x
+ = 
+move
+->
+cur
+.
+ou\8dut
+.x;
+
+384 
+ev
+->
+´ev
+.
+y
+ = 
+move
+->
+cur
+.
+ou\8dut
+.y;
+
+386 
+ev0
+ = 
+       `__gl_ge¡u»_g\91_ev\92t_obj
+(
+d©a
+, 0);
+
+387 ià(
+ev0
+ =ð
+NULL
+) {
+
+388 
+       `gl_dbg
+("Cannot get device0");
+
+392 
+dis_Ãw
+ = 
+       `__gl_ge¡u»_g\91_di¡ªû
+(
+ev0
+->
+´ev
+.
+x
+,\83v0->´ev.
+y
+,
+
+393 
+ev
+->
+´ev
+.
+x
+,\83v->´ev.
+y
+);
+
+395 \12
+dis_Þd
+ = 
+ge¡u»_d
+->dis_old;
+
+396 ià(
+dis_Þd
+ != 0) {
+
+397 ià(
+dis_Þd
+ - 
+dis_Ãw
+ > 0 &&
+
+398 
+ev
+->
+p\9ach_dis
+ > 
+GL_PINCH_TOUCH_HOLD_RANGE
+) {
+
+399 ià(
+ge¡u»_d
+->
+p\9ach_dis_Þd
+ &&
+
+400 
+ev
+->
+p\9ach_dis
+ < (
+ge¡u»_d
+->
+p\9ach_dis_Þd
+ * 
+GL_PINCH_TOUCH_FACTOR
+)) {
+
+401 
+ev
+->
+p\9ach_dis
+ +ð(
+dis_Þd
+ - 
+dis_Ãw
+);
+
+402 
+ge¡u»_d
+->
+dis_Þd
+ = 
+dis_Ãw
+;
+
+406 
+ge¡u»_d
+->
+Ãxt_¶ª
+ = 
+GL_PINCH_PLAN_OUT
+;
+
+407 ià(!
+ge¡u»_d
+->
+p\9ach_job
+) {
+
+408 
+       `gl_dbgW
+("Add job\85inch zoom out");
+
+409 
+ge¡u»_d
+->
+p\9ach_job
+ = 
+       `ecÜe_job_add
+(
+__gl_ge¡u»_zoom_out_job_cb
+,
+
+410 
+d©a
+);
+
+412 
+       `gl_dbgW
+("Added job\85inch zoom out");
+
+415 
+ge¡u»_d
+->
+p\9ach_dis_Þd
+ = 
+ev
+->
+p\9ach_dis
+;
+
+416 
+ev
+->
+p\9ach_dis
+ = 0;
+
+417 } \vià(
+dis_Þd
+ - 
+dis_Ãw
+ < 0 &&
+
+418 
+ev
+->
+p\9ach_dis
+ < -
+GL_PINCH_TOUCH_HOLD_RANGE
+) {
+
+419 ià(
+ge¡u»_d
+->
+p\9ach_dis_Þd
+ &&
+
+420 
+ev
+->
+p\9ach_dis
+ > (
+ge¡u»_d
+->
+p\9ach_dis_Þd
+ * 
+GL_PINCH_TOUCH_FACTOR
+)) {
+
+421 
+ev
+->
+p\9ach_dis
+ +ð(
+dis_Þd
+ - 
+dis_Ãw
+);
+
+422 
+ge¡u»_d
+->
+dis_Þd
+ = 
+dis_Ãw
+;
+
+426 
+ge¡u»_d
+->
+Ãxt_¶ª
+ = 
+GL_PINCH_PLAN_IN
+;
+
+427 ià(!
+ge¡u»_d
+->
+p\9ach_job
+) {
+
+428 
+       `gl_dbgW
+("Add job\85inch zoom in");
+
+429 
+ge¡u»_d
+->
+p\9ach_job
+ = 
+       `ecÜe_job_add
+(
+__gl_ge¡u»_zoom_\9a_job_cb
+,
+
+430 
+d©a
+);
+
+432 
+       `gl_dbgW
+("Added job\85inch zoom in");
+
+435 
+ge¡u»_d
+->
+p\9ach_dis_Þd
+ = 
+ev
+->
+p\9ach_dis
+;
+
+436 
+ev
+->
+p\9ach_dis
+ = 0;
+
+438 
+ev
+->
+p\9ach_dis
+ +ð(
+dis_Þd
+ - 
+dis_Ãw
+);
+
+440 
+       `gl_dbg
+("dis_Ãw: %d, dis_Þd: %d,\85\9ach_di %d", 
+dis_Ãw
+, 
+dis_Þd
+,
+
+441 
+ev
+->
+p\9ach_dis
+);
+
+444 
+ge¡u»_d
+->
+dis_Þd
+ = 
+dis_Ãw
+;
+
+445 
+       }
+}
+
+447 \18\1e
+       $__gl_ge¡u»_d\96_cb
+(\1e*
+d©a
+, 
+Evas
+ *
+e
+, 
+Evas_Objeù
+ *
+obj
+,
+
+448 \1e*
+ei
+)
+
+450 
+       `gl_dbg
+("Delete gesture ---");
+
+451 ià(
+d©a
+) {
+
+452 
+gl_ge¡u»_s
+ *
+ge¡u»_d
+ = (gl_ge¡u»_ *)
+d©a
+;
+
+453 
+       `GL_IF_DEL_JOB
+(
+ge¡u»_d
+->
+p\9ach_job
+);
+
+454 
+       `evas_objeù_d©a_d\96
+(
+ge¡u»_d
+->
+ge¡u»
+, 
+GL_GESTURE_KEY_DATA
+);
+
+455 
+       `GL_FREE
+(
+ge¡u»_d
+);
+
+457 
+       `gl_dbg
+("Delete gesture +++");
+
+458 
+       }
+}
+
+460 
+Evas_Objeù
+ *
+       $_gl_ge¡u»_add
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+·»Á
+)
+
+462 
+       `GL_CHECK_NULL
+(
+·»Á
+);
+
+463 
+       `GL_CHECK_NULL
+(
+d©a
+);
+
+464 
+Evas_Objeù
+ *
+ge¡u»
+ = 
+NULL
+;
+
+466 
+ge¡u»
+ = 
+       `evas_objeù_»ùªgË_add
+(
+       `evas_objeù_evas_g\91
+(
+·»Á
+));
+
+467 
+       `GL_CHECK_NULL
+(
+ge¡u»
+);
+
+468 
+       `evas_objeù_cÞÜ_£t
+(
+ge¡u»
+, 0, 0, 0, 0);
+
+470 
+gl_ge¡u»_s
+ *
+ge¡u»_d
+ = (gl_ge¡u»_ *)
+       `ÿÎoc
+(1, \17(gl_gesture_s));
+
+471 ià(
+ge¡u»_d
+ =ð
+NULL
+) {
+
+472 
+       `evas_objeù_d\96
+(
+ge¡u»
+);
+
+473 \15 
+NULL
+;
+
+476 
+ge¡u»_d
+->
+ad
+ = 
+d©a
+;
+
+477 
+ge¡u»_d
+->
+·»Á
+ =\85arent;
+
+478 
+ge¡u»_d
+->
+ge¡u»
+ = gesture;
+
+480 
+       `evas_objeù_ev\92t_ÿÎback_add
+(
+ge¡u»
+, 
+EVAS_CALLBACK_MOUSE_DOWN
+,
+
+481 
+__gl_ge¡u»_mou£_down_ev\92t
+,
+
+482 
+ge¡u»_d
+);
+
+483 
+       `evas_objeù_ev\92t_ÿÎback_add
+(
+ge¡u»
+, 
+EVAS_CALLBACK_MOUSE_UP
+,
+
+484 
+__gl_ge¡u»_mou£_up_ev\92t
+, 
+ge¡u»_d
+);
+
+485 
+       `evas_objeù_ev\92t_ÿÎback_add
+(
+ge¡u»
+, 
+EVAS_CALLBACK_MOUSE_MOVE
+,
+
+486 
+__gl_ge¡u»_mou£_move_ev\92t
+,
+
+487 
+ge¡u»_d
+);
+
+489 
+       `evas_objeù_ev\92t_ÿÎback_add
+(
+ge¡u»
+, 
+EVAS_CALLBACK_MULTI_DOWN
+,
+
+490 
+__gl_ge¡u»_muÉi_down_ev\92t
+,
+
+491 
+ge¡u»_d
+);
+
+492 
+       `evas_objeù_ev\92t_ÿÎback_add
+(
+ge¡u»
+, 
+EVAS_CALLBACK_MULTI_UP
+,
+
+493 
+__gl_ge¡u»_muÉi_up_ev\92t
+, 
+ge¡u»_d
+);
+
+494 
+       `evas_objeù_ev\92t_ÿÎback_add
+(
+ge¡u»
+, 
+EVAS_CALLBACK_MULTI_MOVE
+,
+
+495 
+__gl_ge¡u»_muÉi_move_ev\92t
+,
+
+496 
+ge¡u»_d
+);
+
+498 
+       `evas_objeù_d©a_£t
+(
+ge¡u»
+, 
+GL_GESTURE_KEY_DATA
+, (\1e*)
+ge¡u»_d
+);
+
+499 
+       `evas_objeù_ev\92t_ÿÎback_add
+(
+ge¡u»
+, 
+EVAS_CALLBACK_DEL
+,
+
+500 
+__gl_ge¡u»_d\96_cb
+, 
+ge¡u»_d
+);
+
+501 \15 
+ge¡u»
+;
+
+502 
+       }
+}
+
+504 \12
+       $_gl_ge¡u»_£t_zoom_\9a_cb
+(
+Evas_Objeù
+ *
+ge¡u»
+, 
+gl_ge¡u»_cb
+cb
+,
+
+505 \1e*
+d©a
+)
+
+507 
+       `GL_CHECK_VAL
+(
+cb
+, -1);
+
+508 
+       `GL_CHECK_VAL
+(
+ge¡u»
+, -1);
+
+509 
+gl_ge¡u»_s
+ *
+ge¡u»_d
+ = 
+NULL
+;
+
+511 
+ge¡u»_d
+ = (
+gl_ge¡u»_s
+ *)
+       `evas_objeù_d©a_g\91
+(
+ge¡u»
+,
+
+512 
+GL_GESTURE_KEY_DATA
+);
+
+513 
+       `GL_CHECK_VAL
+(
+ge¡u»_d
+, -1);
+
+514 
+ge¡u»_d
+->
+zoom_\9a_cb
+ = 
+cb
+;
+
+515 
+ge¡u»_d
+->
+zoom_\9a_d©a
+ = 
+d©a
+;
+
+517 
+       }
+}
+
+519 \12
+       $_gl_ge¡u»_£t_zoom_out_cb
+(
+Evas_Objeù
+ *
+ge¡u»
+, 
+gl_ge¡u»_cb
+cb
+,
+
+520 \1e*
+d©a
+)
+
+522 
+       `GL_CHECK_VAL
+(
+cb
+, -1);
+
+523 
+       `GL_CHECK_VAL
+(
+ge¡u»
+, -1);
+
+524 
+gl_ge¡u»_s
+ *
+ge¡u»_d
+ = 
+NULL
+;
+
+526 
+ge¡u»_d
+ = (
+gl_ge¡u»_s
+ *)
+       `evas_objeù_d©a_g\91
+(
+ge¡u»
+,
+
+527 
+GL_GESTURE_KEY_DATA
+);
+
+528 
+       `GL_CHECK_VAL
+(
+ge¡u»_d
+, -1);
+
+529 
+ge¡u»_d
+->
+zoom_out_cb
+ = 
+cb
+;
+
+530 
+ge¡u»_d
+->
+zoom_out_d©a
+ = 
+d©a
+;
+
+532 
+       }
+}
+
+534 \12
+       $_gl_ge¡u»_»£t_æags
+(
+Evas_Objeù
+ *
+ge¡u»
+)
+
+536 
+       `GL_CHECK_VAL
+(
+ge¡u»
+, -1);
+
+537 
+gl_ge¡u»_s
+ *
+ge¡u»_d
+ = 
+NULL
+;
+
+539 
+ge¡u»_d
+ = (
+gl_ge¡u»_s
+ *)
+       `evas_objeù_d©a_g\91
+(
+ge¡u»
+,
+
+540 
+GL_GESTURE_KEY_DATA
+);
+
+541 
+       `GL_CHECK_VAL
+(
+ge¡u»_d
+, -1);
+
+542 
+       `GL_IF_DEL_JOB
+(
+ge¡u»_d
+->
+p\9ach_job
+);
+
+543 
+ge¡u»_d
+->
+Ãxt_¶ª
+ = 
+GL_PINCH_PLAN_NONE
+;
+
+545 
+       }
+}
+
+547 
+Evas_Objeù
+ *
+       $_gl_ge¡u»_g\91_·»Á
+(
+Evas_Objeù
+ *
+ge¡u»
+)
+
+549 
+       `GL_CHECK_NULL
+(
+ge¡u»
+);
+
+550 
+gl_ge¡u»_s
+ *
+ge¡u»_d
+ = 
+NULL
+;
+
+552 
+ge¡u»_d
+ = (
+gl_ge¡u»_s
+ *)
+       `evas_objeù_d©a_g\91
+(
+ge¡u»
+,
+
+553 
+GL_GESTURE_KEY_DATA
+);
+
+554 
+       `GL_CHECK_NULL
+(
+ge¡u»_d
+);
+
+555 \15 
+ge¡u»_d
+->
+·»Á
+;
+
+556 
+       }
+}
+
+       @src/widget/gl-nocontents.c
+
+18 \ 2
+       ~"gl-nocÚ\8bÁs.h
+"
+
+19 \ 2
+       ~"gl-ui-ut\9e.h
+"
+
+20 \ 2
+       ~"gl-ut\9e.h
+"
+
+21 \ 2
+       ~"gl-icÚs.h
+"
+
+22 \ 2
+       ~"gl-¡r\9ags.h
+"
+
+23 \ 2
+       ~"gl-debug.h
+"
+
+28 
+Evas_Objeù
+ *
+       $_gl_nocÚ\8bÁs_ü\97\8b
+(
+Evas_Objeù
+ *
+·»Á
+)
+
+30 
+       `GL_CHECK_NULL
+(
+·»Á
+);
+
+31 
+Evas_Objeù
+ *
+noc_Ïy
+ = 
+NULL
+;
+
+33 
+noc_Ïy
+ = 
+       `\96m_Ïyout_add
+(
+·»Á
+);
+
+34 
+       `GL_CHECK_NULL
+(
+noc_Ïy
+);
+
+35 
+       `\96m_Ïyout_theme_£t
+(
+noc_Ïy
+, "layout", "nocontents", "text");
+
+36 
+Evas_Objeù
+ *
+icÚ
+ = 
+       `\96m_image_add
+(
+noc_Ïy
+);
+
+37 
+       `GL_ICON_SET_FILE
+(
+icÚ
+, 
+GL_ICON_NOCONGENTS_VIDEOS
+);
+
+38 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+noc_Ïy
+, "nocÚ\8bÁs.image", 
+icÚ
+);
+
+40 
+       `_gl_ui_£t_\8cª¦©e_·¹_¡r
+(
+noc_Ïy
+, "\96m.\8bxt", 
+       `_gl_¡r
+(
+GL_STR_ID_NO_ITEMS
+));
+
+41 
+       `_gl_ui_£t_\8cª¦©e_·¹_¡r
+(
+noc_Ïy
+, "\96m.h\96p.\8bxt", 
+       `_gl_¡r
+(
+GL_STR_ID_NO_ITEMS_SECOND
+));
+
+42 
+       `\96m_Ïyout_sigÇl_em\99
+(
+noc_Ïy
+, "text,disabled", "");
+
+43 
+       `\96m_Ïyout_sigÇl_em\99
+(
+noc_Ïy
+, "align.center", "elm");
+
+44 \15 
+noc_Ïy
+;
+
+45 
+       }
+}
+
+50 
+boÞ
+       $_gl_nocÚ\8bÁs_upd©e_Ïb\96
+(
+Evas_Objeù
+ *
+noc
+, cڡ \ 5*
+Ãw_Ïb\96
+)
+
+52 
+       `GL_CHECK_VAL
+(
+Ãw_Ïb\96
+, -1);
+
+53 
+       `GL_CHECK_VAL
+(
+noc
+, -1);
+
+54 cڡ \ 5*
+Ïb\96
+ = 
+NULL
+;
+
+56 
+Ïb\96
+ = 
+       `\96m_objeù_·¹_\8bxt_g\91
+(
+noc
+, 
+GL_NOCONTENTS_TEXT
+);
+
+57 
+       `GL_CHECK_VAL
+(
+Ïb\96
+, -1);
+
+58 
+       `gl_dbg
+("NocÚ\8bÁ Ïb\96: %s", 
+Ïb\96
+);
+
+60 ià(
+       `g_¡rcmp0
+(
+Ïb\96
+, 
+GL_STR_NO_ALBUMS
+)) {
+
+61 
+       `gl_dbgW
+("Update\82ocontents\86abel!");
+
+62 
+       `\96m_objeù_·¹_\8bxt_£t
+(
+noc
+, 
+GL_NOCONTENTS_TEXT
+, 
+Ãw_Ïb\96
+);
+
+63 \15 
+\8cue
+;
+
+65 \15 
+çl£
+;
+
+66 
+       }
+}
+
+       @src/widget/gl-notify.c
+
+17 \ 2
+       ~<time.h
+>
+
+18 \ 2
+       ~<sys/time.h
+>
+
+19 \ 2
+       ~<nÙifiÿtiÚ.h
+>
+
+20 \ 2
+       ~<bundË.h
+>
+
+21 \ 2
+       ~"gl-nÙify.h
+"
+
+22 \ 2
+       ~"gl-thumbs.h
+"
+
+23 \ 2
+       ~"gl-thumbs-£l.h
+"
+
+24 \ 2
+       ~"gl-p\9achzoom.h
+"
+
+25 \ 2
+       ~"gl-cÚ\8cÞb¬.h
+"
+
+26 \ 2
+       ~"gl-th»ad-ut\9e.h
+"
+
+27 \ 2
+       ~"gl-ui-ut\9e.h
+"
+
+28 \ 2
+       ~"gl-ut\9e.h
+"
+
+29 \ 2
+       ~"gl-¡r\9ags.h
+"
+
+30 \ 2
+       ~"gl-debug.h
+"
+
+31 \ 2
+       ~"gl-ext-exec.h
+"
+
+33 \e\19
+_gl_nÙi_t
+       tgl_nÙi_s
+;
+
+34 \19
+       s_gl_nÙi_t
+ {
+
+35 
+nÙifiÿtiÚ_h
+       mhªdË
+;
+
+36 \12
+       m´iv_id
+;
+
+39 \12
+       $_gl_nÙify_ü\97\8b_nÙi\9afo
+(cڡ \ 5*
+\8bxt
+)
+
+41 
+       `GL_CHECK_VAL
+(
+\8bxt
+, -1);
+
+42 \12
+»t
+ = 
+       `nÙifiÿtiÚ_¡©us_mes§ge_po¡
+(
+\8bxt
+);
+
+43 ià(
+»t
+ != 0)
+
+44 
+       `gl_sdbgE
+("¡©us_mes§ge_po¡()... [0x%x]!", 
+»t
+);
+
+45 \15 
+»t
+;
+
+46 
+       }
+}
+
+51 \12
+       $_gl_nÙify_check_£ÏÎ
+(\1e*
+d©a
+, 
+Elm_Objeù_I\8bm
+ *
+nf_\99
+, \12
+®l_út
+,
+
+52 \12
+£Ëùed_út
+)
+
+54 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+55 
+       `GL_CHECK_VAL
+(
+nf_\99
+, -1);
+
+56 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+57 \12
+v\9bw_mode
+ = 
+       `gl_g\91_v\9bw_mode
+(
+ad
+);
+
+59 
+       `gl_dbg
+("£Ëùed_út/®l_ú\88ð%d/%d", 
+£Ëùed_út
+, 
+®l_út
+);
+
+60 ià(
+£Ëùed_út
+ > 
+®l_út
+) {
+
+61 
+       `gl_dbgE
+("selected_cnt >\87ll_cnt!");
+
+63 } \vià(
+£Ëùed_út
+ =ð
+®l_út
+) {
+
+64 
+ad
+->
+£l\9afo
+.
+ck_¡©e
+ = 
+EINA_TRUE
+;
+
+66 
+ad
+->
+£l\9afo
+.
+ck_¡©e
+ = 
+EINA_FALSE
+;
+
+69 ià(
+ad
+->
+£l\9afo
+.
+£Ëù®l_ck
+) {
+
+70 
+       `\96m_check_¡©e_£t
+(
+ad
+->
+£l\9afo
+.
+£Ëù®l_ck
+,\87d->£l\9afo.
+ck_¡©e
+);
+
+72 ià(
+£Ëùed_út
+ > 0) {
+
+74 
+       `_gl_ù¾_\92abË_b\8as
+(
+ad
+, 
+nf_\99
+);
+
+75 
+       `_gl_thumbs_di§bË_¦ideshow
+(
+ad
+, 
+çl£
+);
+
+76 } \vià(
+v\9bw_mode
+ =ð
+GL_VIEW_THUMBS_SELECT
+) {
+
+78 
+       `_gl_thumbs_£l_di§bË_b\8as
+(
+d©a
+, 
+\8cue
+);
+
+81 
+       `_gl_ui_di§bË_m\92u
+(
+nf_\99
+, 
+\8cue
+);
+
+82 
+       `_gl_ù¾_di§bË_\99ems
+(
+nf_\99
+, 
+\8cue
+);
+
+83 
+       `_gl_thumbs_di§bË_¦ideshow
+(
+ad
+, 
+\8cue
+);
+
+87 
+       }
+}
+
+89 \12
+       $_gl_nÙify_de¡roy
+(\1e*
+nÙi
+)
+
+91 
+       `GL_CHECK_VAL
+(
+nÙi
+, -1);
+
+92 
+gl_nÙi_s
+ *
+nÙi_d
+ = 
+nÙi
+;
+
+94 ià(
+nÙi_d
+->
+hªdË
+) {
+
+95 \12
+\94r
+ = 0;
+
+96 
+\94r
+ = 
+       `nÙifiÿtiÚ_d\96\91e
+(
+nÙi_d
+->
+hªdË
+);
+
+97 ià(
+\94r
+ !ð
+NOTIFICATION_ERROR_NONE
+) {
+
+98 
+       `gl_dbgE
+("nÙifiÿtiÚ_d\96\91e().. [0x%x]", 
+\94r
+);
+
+101 
+\94r
+ = 
+       `nÙifiÿtiÚ_ä\93
+(
+nÙi_d
+->
+hªdË
+);
+
+102 ià(
+\94r
+ !ð
+NOTIFICATION_ERROR_NONE
+) {
+
+103 
+       `gl_dbgE
+("nÙifiÿtiÚ_ä\93().. [0x%x]", 
+\94r
+);
+
+106 
+nÙi_d
+->
+hªdË
+ = 
+NULL
+;
+
+107 
+       `GL_GFREE
+(
+nÙi_d
+);
+
+109 
+       }
+}
+
+111 \12
+       $_gl_nÙify_upd©e_size
+(\1e*
+nÙi
+, \1d\13\13
+tٮ
+)
+
+113 
+       `GL_CHECK_VAL
+(
+nÙi
+, -1);
+
+114 
+gl_nÙi_s
+ *
+nÙi_d
+ = 
+nÙi
+;
+
+115 
+       `GL_CHECK_VAL
+(
+nÙi_d
+->
+hªdË
+, -1);
+
+116 
+       `gl_dbg
+("%Îd", 
+tٮ
+);
+
+118 \12
+\94r
+ = 0;
+
+119 
+\94r
+ = 
+       `nÙifiÿtiÚ_£t_size
+(
+nÙi_d
+->
+hªdË
+, (\b)
+tٮ
+);
+
+120 ià(
+\94r
+ !ð
+NOTIFICATION_ERROR_NONE
+) {
+
+121 
+       `gl_dbgE
+("nÙifiÿtiÚ_upd©e_size().. [0x%x]", 
+\94r
+);
+
+125 
+       }
+}
+
+127 \12
+       $_gl_nÙify_upd©e_´og»ss
+(\1e*
+nÙi
+, \1d\13\13
+tٮ
+,
+
+128 \1d\13\13
+by\8b
+)
+
+130 
+       `GL_CHECK_VAL
+(
+nÙi
+, -1);
+
+131 
+gl_nÙi_s
+ *
+nÙi_d
+ = 
+nÙi
+;
+
+132 
+       `GL_CHECK_VAL
+(
+nÙi_d
+->
+hªdË
+, -1);
+
+133 
+       `gl_dbg
+("%Îd/%Îd", 
+by\8b
+, 
+tٮ
+);
+
+135 \12
+\94r
+ = 0;
+
+136 \b
+´og»ss
+ = (\b)
+by\8b
+ / 
+tٮ
+;
+
+137 
+\94r
+ = 
+       `nÙifiÿtiÚ_£t_´og»ss
+(
+nÙi_d
+->
+hªdË
+, 
+´og»ss
+);
+
+138 ià(
+\94r
+ !ð
+NOTIFICATION_ERROR_NONE
+) {
+
+139 
+       `gl_dbgE
+("nÙifiÿtiÚ_upd©e_´og»ss().. [0x%x]", 
+\94r
+);
+
+143 
+       }
+}
+
+       @src/widget/gl-popup.c
+
+17 \ 2
+       ~"g®Ëry.h
+"
+
+18 \ 2
+       ~"gl-pÝup.h
+"
+
+19 \ 2
+       ~"gl-ui-ut\9e.h
+"
+
+20 \ 2
+       ~"gl-ut\9e.h
+"
+
+21 \ 2
+       ~"gl-debug.h
+"
+
+22 \ 2
+       ~"gl-®bums.h
+"
+
+23 \ 2
+       ~"gl-®bums-Ãw.h
+"
+
+24 \ 2
+       ~"gl-´og»ssb¬.h
+"
+
+25 \ 2
+       ~"gl-¡r\9ags.h
+"
+
+26 \ 2
+       ~"gl-bu\89Ú.h
+"
+
+27 \ 2
+       ~"gl-cÚ\8cÞb¬.h
+"
+
+28 \ 2
+       ~"gl-ed\99f\9bld.h
+"
+
+29 \ 2
+       ~"gl-ùxpÝup.h
+"
+
+30 \ 2
+       ~"gl-thumbs.h
+"
+
+31 \ 2
+       ~"gl-tim\96\9ae.h
+"
+
+33 \f
+       egl_pÝup_obj_d\96_cb_ty³
+{
+
+34 
+       mGL_POPUP_OBJ_DEL_CB_TYPE_ITEM
+,
+
+35 
+       mGL_POPUP_OBJ_DEL_CB_TYPE_ALBUM
+
+
+38 \ 1
+       #GL_POPUP_GENLIST_ITEM_W
+ 618
+
+       )
+
+40 \ 1
+       #GL_POPUP_TIMEOUT_1S
+ 1.0
+
+       )
+
+41 \ 1
+       #GL_POPUP_TIMEOUT_2S
+ 2.0
+
+       )
+
+42 \ 1
+       #GL_POPUP_TIMEOUT_3S
+ 3.0
+
+       )
+
+43 \ 1
+       #GL_POPUP_OBJ_DATA_KEY
+ "gl_pÝup_d©a_key"
+
+       )
+
+44 \ 1
+       #GL_POPUP_OBJ_DEL_CB_KEY
+ "gl_pÝup_cb_key"
+
+       )
+
+45 \ 1
+       #GL_POPUP_OBJ_DEL_CB_DATA_KEY
+ "gl_pÝup_cb_d©a_key"
+
+       )
+
+46 \ 1
+       #GL_POPUP_OBJ_DEL_CB_TYPE_KEY
+ "gl_pÝup_cb_ty³_key"
+
+       )
+
+47 \ 1
+       #GL_POPUP_GENLIST_DATA_KEY
+ "gl_pÝup_g\92li¡_d©a_key"
+
+       )
+
+48 \ 1
+       #SETTINGS_STORAGE_UG_NAME
+ "£\89\9ag-¡Üage-eæ"
+
+       )
+
+49 \ 1
+       #GL_POPUP_GENLIST_HEIGHT_HD
+ 260
+
+       )
+
+50 \ 1
+       #GL_POPUP_GENLIST_WIDTH_HD
+ 630
+
+       )
+
+51 \ 1
+       #GL_POPUP_GENLIST_HEIGHT_QHD
+ 185
+
+       )
+
+52 \ 1
+       #GL_POPUP_GENLIST_WIDTH_QHD
+ 450
+
+       )
+
+53 \ 1
+       #GL_POPUP_GENLIST_HEIGHT_WVGA
+ 202
+
+       )
+
+54 \ 1
+       #GL_POPUP_GENLIST_WIDTH_WVGA
+ 480
+
+       )
+
+56 \e\19
+_gl_pÝup_t
+       tgl_pÝup_s
+;
+
+57 \e\19
+_gl_pÝup_m\92u_t
+       tgl_pÝup_m\92u_s
+;
+
+58 \e\19
+_gl_pÝup_»size_t
+       tgl_pÝup_»size_s
+;
+
+60 \19
+       s_gl_pÝup_t
+ {
+
+61 
+gl_­pd©a
+ *
+       mad
+;
+
+62 
+Evas_Objeù
+ *
+       mpÝup
+;
+
+63 
+Evas_Sm¬t_Cb
+       mcb1
+;
+
+64 
+Evas_Sm¬t_Cb
+       mcb2
+;
+
+65 
+Evas_Sm¬t_Cb
+       mcb3
+;
+
+66 cڡ \1e*
+       md©a1
+;
+
+67 cڡ \1e*
+       md©a2
+;
+
+68 cڡ \1e*
+       md©a3
+;
+
+71 \19
+       s_gl_pÝup_m\92u_t
+ {
+
+72 
+gl_­pd©a
+ *
+       mad
+;
+
+73 
+Evas_Objeù
+ *
+       mpÝup
+;
+
+74 \1e*
+       mÝ_func
+;
+
+77 \19
+       s_gl_pÝup_»size_t
+ {
+
+78 
+gl_­pd©a
+ *
+       mad
+;
+
+79 
+Evas_Objeù
+ *
+       mg\92li¡
+;
+
+80 
+Evas_Objeù
+ *
+       mbox
+;
+
+81 
+EcÜe_Job
+ *
+       mjob
+;
+
+82 \12
+       m\99em_height
+;
+
+85 \18\1e
+__gl_pÝup_»¥
+(\1e*
+d©a
+, cڡ \ 5*
+\8bxt
+);
+
+87 \18\1e
+       $__gl_pÝup_g\92li¡_Ïng_chªged
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+89 
+       `GL_CHECK
+(
+obj
+);
+
+90 
+       `\96m_g\92li¡_»®ized_\99ems_upd©e
+(
+obj
+);
+
+91 
+       }
+}
+
+94 \18\12
+       $__gl_pÝup_þ\97r_cÚ\8bÁ
+(
+Evas_Objeù
+ *
+pÝup
+)
+
+96 
+       `GL_CHECK_VAL
+(
+pÝup
+, -1);
+
+97 
+       `gl_dbg
+("");
+
+99 
+Evas_Objeù
+ *
+cÚ\8bÁ
+ = 
+       `\96m_objeù_cÚ\8bÁ_g\91
+(
+pÝup
+);
+
+100 
+       `GL_CHECK_VAL
+(
+cÚ\8bÁ
+, -1);
+
+101 
+E\9aa_Li¡
+ *
+chid»n
+ = 
+       `\96m_box_ch\9ed»n_g\91
+(
+cÚ\8bÁ
+);
+
+102 
+       `GL_CHECK_VAL
+(
+chid»n
+, -1);
+
+103 
+Evas_Objeù
+ *
+g\92li¡
+ = 
+       `e\9aa_li¡_Áh
+(
+chid»n
+, 0);
+
+104 
+       `GL_CHECK_VAL
+(
+g\92li¡
+, -1);
+
+105 
+       `\96m_g\92li¡_þ\97r
+(
+g\92li¡
+);
+
+106 
+       `\96m_box_þ\97r
+(
+cÚ\8bÁ
+);
+
+108 
+       }
+}
+
+110 \18
+E\9aa_BoÞ
+       $__gl_pÝup_timeout_cb
+(\1e*
+d©a
+)
+
+112 
+       `GL_CHECK_FALSE
+(
+d©a
+);
+
+113 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+114 
+       `GL_IF_DEL_TIMER
+(
+ad
+->
+pÝup\9afo
+.
+d\96_tim\94
+);
+
+115 
+       `GL_IF_DEL_OBJ
+(
+ad
+->
+pÝup\9afo
+.
+pÝup
+);
+
+116 \15 
+ECORE_CALLBACK_CANCEL
+;
+
+117 
+       }
+}
+
+119 \18\12
+       $__gl_pÝup_add_tim\94
+(\1e*
+d©a
+, \b
+to_\9ac
+)
+
+121 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+122 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+123 
+       `GL_IF_DEL_TIMER
+(
+ad
+->
+pÝup\9afo
+.
+d\96_tim\94
+);
+
+124 
+ad
+->
+pÝup\9afo
+.
+d\96_tim\94
+ = 
+       `ecÜe_tim\94_add
+(
+to_\9ac
+, 
+__gl_pÝup_timeout_cb
+,
+
+125 
+d©a
+);
+
+127 
+       }
+}
+
+129 \18\1e
+       $__gl_pÝup_d\96_»¥_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+,
+
+130 \1e*
+ev\92t_\9afo
+)
+
+132 
+       `GL_CHECK
+(
+obj
+);
+
+133 
+       `GL_CHECK
+(
+d©a
+);
+
+134 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+135 cڡ \ 5*
+\8bxt
+ = 
+NULL
+;
+
+137 
+\8bxt
+ = 
+       `\96m_objeù_\8bxt_g\91
+(
+obj
+);
+
+138 
+       `GL_CHECK
+(
+\8bxt
+);
+
+139 
+       `gl_dbg
+("Bu\89Ú: %s", 
+\8bxt
+);
+
+141 ià(!
+       `g_¡rcmp0
+(
+\8bxt
+, 
+GL_STR_DELETE
+)) {
+
+142 \1e*
+d\96_cb
+ = 
+       `evas_objeù_d©a_g\91
+(
+ad
+->
+pÝup\9afo
+.
+pÝup
+,
+
+143 
+GL_POPUP_OBJ_DEL_CB_KEY
+);
+
+144 \1e*
+cb_d©a
+ = 
+       `evas_objeù_d©a_g\91
+(
+ad
+->
+pÝup\9afo
+.
+pÝup
+,
+
+145 
+GL_POPUP_OBJ_DEL_CB_DATA_KEY
+);
+
+146 
+       `GL_IF_DEL_OBJ
+(
+ad
+->
+pÝup\9afo
+.
+pÝup
+);
+
+147 ià(
+d\96_cb
+ && 
+cb_d©a
+) {
+
+148 \12(*
+_d\96_cb
+è(\1e*
+cb_d©a
+);
+
+149 
+_d\96_cb
+ = 
+d\96_cb
+;
+
+150 
+       `_d\96_cb
+(
+cb_d©a
+);
+
+152 
+       `gl_dbgE
+("Invalid callback!");
+
+155 
+       `__gl_pÝup_»¥
+(
+d©a
+, 
+\8bxt
+);
+
+157 
+       }
+}
+
+159 \18\1e
+       $__gl_pÝup_»¥
+(\1e*
+d©a
+, cڡ \ 5*
+\8bxt
+)
+
+161 
+       `GL_CHECK
+(
+d©a
+);
+
+162 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+163 \12
+mode
+ = 
+ad
+->
+pÝup\9afo
+.mode;
+
+164 
+       `GL_CHECK
+(
+\8bxt
+);
+
+165 
+       `gl_dbg
+("Bu\89Ú: %s, mode: %d", 
+\8bxt
+, 
+mode
+);
+
+167 \1a
+mode
+) {
+
+168 \ 4
+GL_POPUP_ALBUM_NEW_EMPTY
+:
+
+169 \ 4
+GL_POPUP_ALBUM_NEW_DUPLICATE
+:
+
+170 \ 4
+GL_POPUP_ALBUM_NEW_INVALID
+:
+
+171 \ 4
+GL_POPUP_ALBUM_RENAME_EMPTY
+:
+
+172 \ 4
+GL_POPUP_ALBUM_RENAME_DUPLICATE
+:
+
+173 \ 4
+GL_POPUP_ALBUM_RENAME_INVALID
+:
+
+174 ià(!
+       `g_¡rcmp0
+(
+\8bxt
+, 
+       `_gl_¡r
+(
+GL_STR_ID_YES
+)) ||
+
+175 !
+       `g_¡rcmp0
+(
+\8bxt
+, 
+       `_gl_¡r
+(
+GL_STR_ID_OK
+)))
+
+176 
+       `_gl_ed\99f\9bld_show_imf
+(
+d©a
+);
+
+177 \vià(!
+       `g_¡rcmp0
+(
+\8bxt
+, 
+       `_gl_¡r
+(
+GL_STR_ID_NO
+)) ||
+
+178 !
+       `g_¡rcmp0
+(
+\8bxt
+, 
+       `_gl_¡r
+(
+GL_STR_ID_CANCEL
+)))
+
+179 
+       `\96m_Çviäame_\99em_pÝ
+(
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+);
+
+181 \ 4
+GL_POPUP_NOBUT_APPEXIT
+:
+
+182 ià(
+ad
+->
+pÝup\9afo
+.
+pÝup
+) {
+
+183 
+       `__gl_pÝup_þ\97r_cÚ\8bÁ
+(
+ad
+->
+pÝup\9afo
+.
+pÝup
+);
+
+184 
+       `evas_objeù_d\96
+(
+ad
+->
+pÝup\9afo
+.
+pÝup
+);
+
+185 
+ad
+->
+pÝup\9afo
+.
+pÝup
+ = 
+NULL
+;
+
+187 
+       `\96m_ex\99
+();
+
+189 \ 4
+GL_POPUP_SLIDESHOW
+:
+
+190 \ 4
+GL_POPUP_LONGPRESSED
+:
+
+191 \ 4
+GL_POPUP_MEDIA_DELETE
+: {
+
+192 
+       `_gl_ä\93_£Ëùed_li¡
+(
+d©a
+);
+
+195 \ 4
+GL_POPUP_ALBUM_MEMORY_FULL
+:
+
+196 
+       `GL_IF_DEL_OBJ
+(
+ad
+->
+pÝup\9afo
+.
+memÜy_fuÎ_pÝup
+);
+
+197 
+       `\96m_Çviäame_\99em_pÝ
+(
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+);
+
+199 ià(!
+       `g_¡rcmp0
+(
+\8bxt
+, 
+       `_gl_¡r
+(
+GL_STR_SETTINGS
+))) {
+
+200 
+­p_cÚ\8cÞ_h
+­p_cÚ\8cÞ
+;
+
+201 \12
+»t
+ = 0;
+
+203 
+»t
+ = 
+       `­p_cÚ\8cÞ_ü\97\8b
+(&
+­p_cÚ\8cÞ
+);
+
+205 ià(
+»t
+ !ð
+APP_CONTROL_ERROR_NONE
+) {
+
+206 
+       `gl_dbgE
+("app_control create failed");
+
+210 
+»t
+ = 
+       `­p_cÚ\8cÞ_£t_Ý\94©iÚ
+(
+­p_cÚ\8cÞ
+, 
+APP_CONTROL_OPERATION_VIEW
+);
+
+211 ià(
+»t
+ !ð
+APP_CONTROL_ERROR_NONE
+) {
+
+212 
+       `gl_dbgE
+("­p_cÚ\8cÞ_£t_Ý\94©iÚ()... [0x%x]", 
+»t
+);
+
+213 \10
+END
+;
+
+216 
+»t
+ = 
+       `­p_cÚ\8cÞ_£t_­p_id
+(
+­p_cÚ\8cÞ
+, 
+SETTINGS_STORAGE_UG_NAME
+);
+
+217 ià(
+»t
+ !ð
+APP_CONTROL_ERROR_NONE
+) {
+
+218 
+       `gl_dbgE
+("­p_cÚ\8cÞ_£t_uri()... [0x%x]", 
+»t
+);
+
+219 \10
+END
+;
+
+222 
+»t
+ = 
+       `­p_cÚ\8cÞ_£nd_Ïunch_»que¡
+(
+­p_cÚ\8cÞ
+, 
+NULL
+, NULL);
+
+223 ià(
+»t
+ !ð
+APP_CONTROL_ERROR_NONE
+) {
+
+224 
+       `gl_dbgE
+("­p_cÚ\8cÞ\86aunch Fa\9eed... [0x%x]", 
+»t
+);
+
+225 \10
+END
+;
+
+227 
+END
+:
+
+228 ià(
+­p_cÚ\8cÞ
+) {
+
+229 
+       `­p_cÚ\8cÞ_de¡roy
+(
+­p_cÚ\8cÞ
+);
+
+237 
+       `GL_IF_DEL_OBJ
+(
+ad
+->
+pÝup\9afo
+.
+pÝup
+);
+
+238 
+       }
+}
+
+240 \18\1e
+       $__gl_pÝup_»¥_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+242 
+       `GL_CHECK
+(
+d©a
+);
+
+243 
+       `GL_CHECK
+(
+obj
+);
+
+245 cڡ \ 5*
+\8bxt
+ = 
+NULL
+;
+
+247 
+\8bxt
+ = 
+       `\96m_objeù_\8bxt_g\91
+(
+obj
+);
+
+248 
+       `GL_CHECK
+(
+\8bxt
+);
+
+249 
+       `gl_dbg
+("Bu\89Ú: %s", 
+\8bxt
+);
+
+250 
+       `__gl_pÝup_»¥
+(
+d©a
+, 
+\8bxt
+);
+
+251 
+       }
+}
+
+253 \18\1e
+       $__gl_pÝup_block_þicked_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+255 
+       `GL_CHECK
+(
+d©a
+);
+
+256 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+257 
+       `_gl_ä\93_£Ëùed_li¡
+(
+d©a
+);
+
+258 
+       `GL_IF_DEL_OBJ
+(
+ad
+->
+pÝup\9afo
+.
+pÝup
+);
+
+259 
+       }
+}
+
+261 \18\1e
+       $__gl_pÝup_g\92li¡_d\96\91e_cb
+(\1e*
+d©a
+, 
+Evas
+ *
+e
+, 
+Evas_Objeù
+ *
+obj
+,
+
+262 \1e*
+ei
+)
+
+264 
+       `gl_dbg
+("Delete genlist ---");
+
+265 ià(
+obj
+) {
+
+266 
+       `evas_objeù_d©a_d\96
+(
+obj
+, 
+GL_POPUP_OBJ_DATA_KEY
+);
+
+267 
+gl_pÝup_»size_s
+ *
+»size_d
+ = 
+       `evas_objeù_d©a_g\91
+(
+obj
+,
+
+268 
+GL_POPUP_GENLIST_DATA_KEY
+);
+
+269 ià(
+»size_d
+) {
+
+270 
+       `GL_IF_DEL_JOB
+(
+»size_d
+->
+job
+);
+
+271 
+       `GL_FREE
+(
+»size_d
+);
+
+274 ià(
+d©a
+)
+
+275 
+       `\96m_g\92li¡_\99em_þass_ä\93
+((
+Elm_G\92li¡_I\8bm_CÏss
+ *)
+d©a
+);
+
+277 
+       `gl_dbg
+("Delete genlist +++");
+
+278 
+       }
+}
+
+281 \18\12
+       $__gl_pÝup_£t_m\9a_size
+(
+Evas_Objeù
+ *
+box
+, \12
+út
+)
+
+283 
+       `GL_CHECK_VAL
+(
+box
+, -1);
+
+287 \ 1
+       #GL_POPUP_GENLIST_ITEM_H
+ 114
+
+       )
+
+288 \ 1
+       #GL_POPUP_GENLIST_ITEM_H2
+ 136
+
+       )
+
+290 \12
+\99em_height
+ = 
+GL_POPUP_GENLIST_ITEM_H
+;
+
+291 \12
+fÚt_size
+ = 
+       `_gl_g\91_fÚt_size
+();
+
+292 
+       `gl_dbg
+("fڈsize: %d", 
+fÚt_size
+);
+
+293 ià(
+fÚt_size
+ == 4)
+
+294 
+\99em_height
+ = 
+GL_POPUP_GENLIST_ITEM_H2
+;
+
+295 \12
+m\9a_h
+ = 0;
+
+296 ià(
+út
+ > 3)
+
+297 
+m\9a_h
+ = 
+\99em_height
+ * 4;
+
+299 
+m\9a_h
+ = 
+\99em_height
+ * 
+út
+;
+
+301 
+       `evas_objeù_size_h\9at_m\9a_£t
+(
+box
+,
+
+302 
+GL_POPUP_GENLIST_ITEM_W
+ * 
+       `\96m_cÚfig_sÿË_g\91
+(),
+
+303 
+m\9a_h
+ * 
+       `\96m_cÚfig_sÿË_g\91
+());
+
+304 \15 
+\99em_height
+;
+
+305 
+       }
+}
+
+307 \18\1e
+       $__gl_pÝup_mou£up_cb
+(\1e*
+d©a
+, 
+Evas
+ *
+e
+, 
+Evas_Objeù
+ *
+obj
+,
+
+308 \1e*
+ev\92t_\9afo
+)
+
+310 
+       `gl_dbg
+("");
+
+311 
+       `GL_CHECK
+(
+d©a
+);
+
+312 
+       `GL_CHECK
+(
+ev\92t_\9afo
+);
+
+313 
+Evas_Ev\92t_Mou£_Up
+ *
+ev
+ = 
+ev\92t_\9afo
+;
+
+314 ià(
+ev
+->
+bu\89Ú
+ == 3) {
+
+315 
+       `gl_dbg
+("Delete\85opup!");
+
+316 
+       `__gl_pÝup_»¥
+(
+d©a
+, 
+GL_STR_ID_CANCEL
+);
+
+318 
+       }
+}
+
+335 \18
+\9al\9ae
\1e
+       $__gl_pÝup_\97_back_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+337 
+       `gl_dbg
+("Use customized callback");
+
+338 
+       `__gl_pÝup_»¥
+(
+d©a
+, 
+       `_gl_¡r
+(
+GL_STR_ID_CANCEL
+));
+
+339 
+       }
+}
+
+341 \18\1e
+       $__gl_pÝup_loÿl_»¥_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+343 
+       `evas_objeù_d\96
+((
+Evas_Objeù
+ *)
+d©a
+);
+
+344 
+       }
+}
+
+346 \18\1e
+       $__gl_pÝup_loÿl_mou£up_cb
+(\1e*
+d©a
+, 
+Evas
+ *
+e
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+348 
+       `gl_dbg
+("");
+
+349 
+       `GL_CHECK
+(
+d©a
+);
+
+350 
+       `GL_CHECK
+(
+ei
+);
+
+351 
+Evas_Ev\92t_Mou£_Up
+ *
+ev
+ = 
+ei
+;
+
+352 ià(
+ev
+->
+bu\89Ú
+ == 3) {
+
+353 
+       `gl_dbg
+("Delete\85opup!");
+
+354 
+       `GL_IF_DEL_OBJ
+(
+obj
+);
+
+356 
+       }
+}
+
+370 \18\1e
+       $__gl_pÝup_loÿl_d\96\91e_cb
+(\1e*
+d©a
+, 
+Evas
+ *
+e
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+372 
+       `gl_dbg
+("Delete\85opup ---");
+
+373 
+       `GL_CHECK
+(
+d©a
+);
+
+374 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+375 
+       `GL_IF_DEL_TIMER
+(
+ad
+->
+pÝup\9afo
+.
+d\96_tim\94
+);
+
+376 
+       `evas_objeù_ev\92t_ÿÎback_d\96
+(
+obj
+, 
+EVAS_CALLBACK_MOUSE_UP
+,
+
+377 
+__gl_pÝup_loÿl_mou£up_cb
+);
+
+381 
+       `_gl_ed\99f\9bld_show_imf
+(
+d©a
+);
+
+382 
+       `gl_dbg
+("Delete\85opup +++");
+
+383 
+       }
+}
+
+385 \18\1e
+       $__gl_pÝup_loÿl_block_þicked_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+387 
+       `GL_IF_DEL_OBJ
+(
+obj
+);
+
+388 
+       }
+}
+
+390 \18
+E\9aa_BoÞ
+       $__gl_pÝup_loÿl_timeout_cb
+(\1e*
+d©a
+)
+
+392 
+       `GL_CHECK_CANCEL
+(
+d©a
+);
+
+393 
+Evas_Objeù
+ *
+pÝup
+ = (Evas_Objeù *)
+d©a
+;
+
+394 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+       `evas_objeù_d©a_g\91
+(
+pÝup
+,
+
+395 
+GL_POPUP_OBJ_DATA_KEY
+);
+
+396 
+       `GL_IF_DEL_OBJ
+(
+pÝup
+);
+
+398 
+       `GL_CHECK_CANCEL
+(
+ad
+);
+
+399 
+       `GL_IF_DEL_TIMER
+(
+ad
+->
+pÝup\9afo
+.
+d\96_tim\94
+);
+
+400 \15 
+ECORE_CALLBACK_CANCEL
+;
+
+401 
+       }
+}
+
+403 \18
+Evas_Objeù
+ *
+       $__gl_pÝup_add
+(
+Evas_Objeù
+ *
+·»Á
+, cڡ \ 5*
+¡yË
+,
+
+404 cڡ \ 5*
+t\99Ë
+, cڡ \ 5*
+\8bxt
+,
+
+405 \1e*
+d©a
+)
+
+407 
+       `GL_CHECK_NULL
+(
+·»Á
+);
+
+408 
+Evas_Objeù
+ *
+pÝup
+ = 
+       `\96m_pÝup_add
+(
+·»Á
+);
+
+409 
+       `GL_CHECK_NULL
+(
+pÝup
+);
+
+410 ià(
+¡yË
+)
+
+411 
+       `\96m_objeù_¡yË_£t
+(
+pÝup
+, 
+¡yË
+);
+
+412 ià(
+t\99Ë
+)
+
+413 
+       `_gl_ui_£t_\8cª¦©e_·¹_¡r
+(
+pÝup
+, "t\99Ë,\8bxt", 
+t\99Ë
+);
+
+414 ià(
+\8bxt
+)
+
+415 
+       `_gl_ui_£t_\8cª¦©e_¡r
+(
+pÝup
+, 
+\8bxt
+);
+
+416 
+       `evas_objeù_size_h\9at_weight_£t
+(
+pÝup
+, 
+EVAS_HINT_EXPAND
+,
+
+417 
+EVAS_HINT_EXPAND
+);
+
+420 
+       `evas_objeù_ev\92t_ÿÎback_add
+(
+pÝup
+, 
+EVAS_CALLBACK_MOUSE_UP
+,
+
+421 
+__gl_pÝup_mou£up_cb
+, 
+d©a
+);
+
+426 
+       `\93xt_objeù_ev\92t_ÿÎback_add
+(
+pÝup
+, 
+EEXT_CALLBACK_BACK
+,
+
+427 
+__gl_pÝup_\97_back_cb
+, 
+d©a
+);
+
+428 \15 
+pÝup
+;
+
+429 
+       }
+}
+
+431 \18
+Evas_Objeù
+ *
+       $__gl_pÝup_add_loÿl
+(
+Evas_Objeù
+ *
+·»Á
+, cڡ \ 5*
+¡yË
+,
+
+432 cڡ \ 5*
+t\99Ë
+, cڡ \ 5*
+\8bxt
+,
+
+433 \1e*
+d©a
+)
+
+435 
+       `GL_CHECK_NULL
+(
+·»Á
+);
+
+436 
+Evas_Objeù
+ *
+pÝup
+ = 
+       `\96m_pÝup_add
+(
+·»Á
+);
+
+437 
+       `GL_CHECK_NULL
+(
+pÝup
+);
+
+438 ià(
+¡yË
+)
+
+439 
+       `\96m_objeù_¡yË_£t
+(
+pÝup
+, 
+¡yË
+);
+
+440 ià(
+t\99Ë
+)
+
+441 
+       `_gl_ui_£t_\8cª¦©e_·¹_¡r
+(
+pÝup
+, "t\99Ë,\8bxt", 
+t\99Ë
+);
+
+442 ià(
+\8bxt
+)
+
+443 
+       `_gl_ui_£t_\8cª¦©e_¡r
+(
+pÝup
+, 
+\8bxt
+);
+
+444 
+       `evas_objeù_size_h\9at_weight_£t
+(
+pÝup
+, 
+EVAS_HINT_EXPAND
+,
+
+445 
+EVAS_HINT_EXPAND
+);
+
+448 
+       `evas_objeù_ev\92t_ÿÎback_add
+(
+pÝup
+, 
+EVAS_CALLBACK_MOUSE_UP
+,
+
+449 
+__gl_pÝup_loÿl_mou£up_cb
+, 
+d©a
+);
+
+454 
+       `\93xt_objeù_ev\92t_ÿÎback_add
+(
+pÝup
+, 
+EEXT_CALLBACK_BACK
+,
+
+455 
+\93xt_pÝup_back_cb
+, 
+NULL
+);
+
+456 \15 
+pÝup
+;
+
+457 
+       }
+}
+
+459 \18\1e
+       $__gl_pÝup_g\92li¡_»®ized
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+461 ià(
+       `\96m_g\92li¡_f\9c¡_\99em_g\91
+(
+obj
+è=ð
+ei
+) {
+
+462 
+       `gl_dbg
+("Emit signal");
+
+463 
+       `evas_objeù_sm¬t_ÿÎback_ÿÎ
+(
+obj
+, "popup,genlist,realized",
+
+464 
+d©a
+);
+
+466 
+       }
+}
+
+468 \18
+Evas_Objeù
+ *
+       $__gl_pÝup_add_g\92li¡
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+·»Á
+,
+
+469 cڡ \ 5*
+¡yË
+,
+
+470 
+Elm_G\92_I\8bm_Text_G\91_Cb
+\8bxt_g\91
+,
+
+471 
+Elm_G\92_I\8bm_CÚ\8bÁ_G\91_Cb
+cÚ\8bÁ_g\91
+,
+
+472 \1e*
+­³nd_func
+)
+
+474 
+       `GL_CHECK_NULL
+(
+·»Á
+);
+
+477 
+Elm_G\92li¡_I\8bm_CÏss
+ *
+gic
+ = 
+NULL
+;
+
+478 
+gic
+ = 
+       `\96m_g\92li¡_\99em_þass_Ãw
+();
+
+479 
+       `GL_CHECK_NULL
+(
+gic
+);
+
+480 
+gic
+->
+\99em_¡yË
+ = 
+¡yË
+;
+
+481 
+gic
+->
+func
+.
+\8bxt_g\91
+ =\81ext_get;
+
+482 
+gic
+->
+func
+.
+cÚ\8bÁ_g\91
+ = content_get;
+
+483 
+gic
+->
+func
+.
+¡©e_g\91
+ = 
+NULL
+;
+
+484 
+gic
+->
+func
+.
+d\96
+ = 
+NULL
+;
+
+487 
+Evas_Objeù
+ *
+g\92li¡
+ = 
+       `\96m_g\92li¡_add
+(
+·»Á
+);
+
+488 ià(
+g\92li¡
+ =ð
+NULL
+) {
+
+489 
+       `\96m_g\92li¡_\99em_þass_ä\93
+(
+gic
+);
+
+490 \15 
+NULL
+;
+
+492 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+g\92li¡
+, "realized",
+
+493 
+__gl_pÝup_g\92li¡_»®ized
+, 
+d©a
+);
+
+495 
+       `evas_objeù_ev\92t_ÿÎback_add
+(
+g\92li¡
+, 
+EVAS_CALLBACK_DEL
+,
+
+496 
+__gl_pÝup_g\92li¡_d\96\91e_cb
+,
+
+497 (\1e*)
+gic
+);
+
+498 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+g\92li¡
+, "language,changed",
+
+499 
+__gl_pÝup_g\92li¡_Ïng_chªged
+, 
+NULL
+);
+
+500 
+       `evas_objeù_size_h\9at_weight_£t
+(
+g\92li¡
+, 
+EVAS_HINT_EXPAND
+,
+
+501 
+EVAS_HINT_EXPAND
+);
+
+502 
+       `evas_objeù_size_h\9at_®ign_£t
+(
+g\92li¡
+, 
+EVAS_HINT_FILL
+,
+
+503 
+EVAS_HINT_FILL
+);
+
+504 ià(
+­³nd_func
+) {
+
+505 \1e(*
+­³nd_cb
+è(\1e*
+pÝup_d©a
+, 
+Evas_Objeù
+ *
+gl
+, 
+Elm_G\92li¡_I\8bm_CÏss
+ *
+gic
+);
+
+506 
+­³nd_cb
+ = 
+­³nd_func
+;
+
+507 
+       `­³nd_cb
+(
+d©a
+, 
+g\92li¡
+, 
+gic
+);
+
+510 ià(
+       `\96m_g\92li¡_\99ems_couÁ
+(
+g\92li¡
+) <= 3)
+
+511 
+       `\96m_süÞËr_pÞicy_£t
+(
+g\92li¡
+, 
+ELM_SCROLLER_POLICY_OFF
+,
+
+512 
+ELM_SCROLLER_POLICY_OFF
+);
+
+513 \15 
+g\92li¡
+;
+
+514 
+       }
+}
+
+516 \18\1e
+       $__gl_pÝup_d\96\91e_cb
+(\1e*
+d©a
+, 
+Evas
+ *
+e
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+518 
+       `gl_dbg
+("Delete\85opup ---");
+
+519 
+       `evas_objeù_ev\92t_ÿÎback_d\96
+(
+obj
+, 
+EVAS_CALLBACK_MOUSE_UP
+,
+
+520 
+__gl_pÝup_mou£up_cb
+);
+
+524 
+       `GL_FREEIF
+(
+d©a
+);
+
+525 
+       `gl_dbg
+("Delete\85opup +++");
+
+526 
+       }
+}
+
+528 \18\1e
+       $__gl_pÝup_m\92u_d\96\91e_cb
+(\1e*
+d©a
+, 
+Evas
+ *
+e
+, 
+Evas_Objeù
+ *
+obj
+,
+
+529 \1e*
+ei
+)
+
+531 
+       `gl_dbg
+("Delete\85opup ---");
+
+533 
+       `evas_objeù_ev\92t_ÿÎback_d\96
+(
+obj
+, 
+EVAS_CALLBACK_MOUSE_UP
+,
+
+534 
+__gl_pÝup_mou£up_cb
+);
+
+539 
+       `evas_objeù_d©a_d\96
+(
+obj
+, 
+GL_POPUP_OBJ_DATA_KEY
+);
+
+541 
+       `GL_FREEIF
+(
+d©a
+);
+
+542 
+       `gl_dbg
+("Delete\85opup +++");
+
+543 
+       }
+}
+
+545 \18\1e
+       $__gl_pÝup_m\92u_£l_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+547 
+       `GL_CHECK
+(
+ei
+);
+
+548 
+       `GL_CHECK
+(
+d©a
+);
+
+549 
+gl_pÝup_m\92u_s
+ *
+sh¬e_d
+ = (gl_pÝup_m\92u_ *)
+d©a
+;
+
+550 
+       `GL_CHECK
+(
+sh¬e_d
+->
+ad
+);
+
+551 
+gl_­pd©a
+ *
+ad
+ = 
+sh¬e_d
+->ad;
+
+552 \ 5*
+id
+ = 
+NULL
+;
+
+554 
+id
+ = (\ 5*)
+       `\96m_objeù_\99em_d©a_g\91
+(
+ei
+);
+
+555 
+       `GL_CHECK
+(
+id
+);
+
+556 
+       `gl_sdbg
+("Ïb\96 id: %s", 
+id
+);
+
+558 \12(*
+Ý_cb
+è(\1e*
+d©a
+, cڡ \ 5*
+Ïb\96
+èð
+NULL
+;
+
+559 ià(
+sh¬e_d
+->
+Ý_func
+) {
+
+560 
+Ý_cb
+ = 
+sh¬e_d
+->
+Ý_func
+;
+
+562 
+       `GL_IF_DEL_OBJ
+(
+ad
+->
+pÝup\9afo
+.
+pÝup
+);
+
+563 
+ad
+->
+pÝup\9afo
+.
+mode
+ = 
+GL_POPUP_NOBUT
+;
+
+564 ià(
+Ý_cb
+)
+
+565 
+       `Ý_cb
+(
+ad
+, 
+       `_gl_¡r
+(
+id
+));
+
+566 
+       }
+}
+
+568 \18\ 5*
+       $__gl_pÝup_m\92u_g\91_\8bxt
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+,
+
+569 cڡ \ 5*
+·¹
+)
+
+571 ià(!
+       `¡rcmp
+(
+·¹
+, "elm.text")) {
+
+572 \ 5*
+¡r
+ = 
+NULL
+;
+
+573 
+       `GL_CHECK_NULL
+(
+d©a
+);
+
+574 
+¡r
+ = 
+       `_gl_¡r
+((\ 5*)
+d©a
+);
+
+575 ià(
+¡r
+)
+
+576 \15 
+       `¡rdup
+(
+¡r
+);
+
+578 \15 
+NULL
+;
+
+579 
+       }
+}
+
+581 #ifdeà
+SUPPORT_SLIDESHOW
+
+
+582 \18\1e
+       $__gl_pÝup_¦ideshow_­³nd
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+gl
+,
+
+583 
+Elm_G\92li¡_I\8bm_CÏss
+ *
+gic
+)
+
+585 
+       `GL_CHECK
+(
+gic
+);
+
+586 
+       `GL_CHECK
+(
+gl
+);
+
+587 
+       `GL_CHECK
+(
+d©a
+);
+
+588 
+       `gl_dbg
+("append items");
+
+590 
+       `\96m_g\92li¡_\99em_­³nd
+(
+gl
+, 
+gic
+, (\1e*)
+GL_STR_ID_ALL_ITEMS
+,
+
+591 
+NULL
+, 
+ELM_GENLIST_ITEM_NONE
+,
+
+592 
+__gl_pÝup_m\92u_£l_cb
+, 
+d©a
+);
+
+593 
+       `\96m_g\92li¡_\99em_­³nd
+(
+gl
+, 
+gic
+, (\1e*)
+GL_STR_ID_SELECT_ITEMS
+,
+
+594 
+NULL
+, 
+ELM_GENLIST_ITEM_NONE
+,
+
+595 
+__gl_pÝup_m\92u_£l_cb
+, 
+d©a
+);
+
+596 
+       `\96m_g\92li¡_\99em_­³nd
+(
+gl
+, 
+gic
+, (\1e*)
+GL_STR_ID_SETTINGS
+,
+
+597 
+NULL
+, 
+ELM_GENLIST_ITEM_NONE
+,
+
+598 
+__gl_pÝup_m\92u_£l_cb
+, 
+d©a
+);
+
+599 
+       }
+}
+
+603 \18\1e
+       $__gl_pÝup_®bum_lÚg´es£d_­³nd
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+gl
+,
+
+604 
+Elm_G\92li¡_I\8bm_CÏss
+ *
+gic
+)
+
+606 
+       `GL_CHECK
+(
+gic
+);
+
+607 
+       `GL_CHECK
+(
+gl
+);
+
+608 
+       `GL_CHECK
+(
+d©a
+);
+
+609 
+       `gl_dbg
+("append items");
+
+610 
+gl_pÝup_m\92u_s
+ *
+sh¬e_d
+ = (gl_pÝup_m\92u_ *)
+d©a
+;
+
+611 
+       `GL_CHECK
+(
+sh¬e_d
+->
+ad
+);
+
+612 
+gl_­pd©a
+ *
+ad
+ = 
+sh¬e_d
+->ad;
+
+613 
+gl_þu¡\94
+ *
+®bum
+ = 
+       `_gl_®bums_g\91_cu¼\92t
+(
+ad
+);
+
+614 
+       `GL_CHECK
+(
+®bum
+);
+
+616 
+       `\96m_g\92li¡_\99em_­³nd
+(
+gl
+, 
+gic
+, (\1e*)
+GL_STR_ID_SHARE
+,
+
+617 
+NULL
+, 
+ELM_GENLIST_ITEM_NONE
+,
+
+618 
+__gl_pÝup_m\92u_£l_cb
+, 
+d©a
+);
+
+619 #ifdeà
+SUPPORT_SLIDESHOW
+
+
+620 
+       `\96m_g\92li¡_\99em_­³nd
+(
+gl
+, 
+gic
+, (\1e*)
+GL_STR_ID_SLIDESHOW
+,
+
+621 
+NULL
+, 
+ELM_GENLIST_ITEM_NONE
+,
+
+622 
+__gl_pÝup_m\92u_£l_cb
+, 
+d©a
+);
+
+625 ià(
+GL_STORE_T_ALL
+ !ð
+®bum
+->
+þu¡\94
+->
+ty³
+)
+
+626 
+       `\96m_g\92li¡_\99em_­³nd
+(
+gl
+, 
+gic
+, (\1e*)
+GL_STR_ID_DELETE
+,
+
+627 
+NULL
+, 
+ELM_GENLIST_ITEM_NONE
+,
+
+628 
+__gl_pÝup_m\92u_£l_cb
+, 
+d©a
+);
+
+629 ià((
+GL_STORE_T_PHONE
+ =ð
+®bum
+->
+þu¡\94
+->
+ty³
+ ||
+
+630 
+GL_STORE_T_MMC
+ =ð
+®bum
+->
+þu¡\94
+->
+ty³
+) &&
+
+631 !
+       `_gl_d©a_is_ÿm\94a_®bum
+(
+®bum
+->
+þu¡\94
+))
+
+632 
+       `\96m_g\92li¡_\99em_­³nd
+(
+gl
+, 
+gic
+, (\1e*)
+GL_STR_ID_RENAME
+,
+
+633 
+NULL
+, 
+ELM_GENLIST_ITEM_NONE
+,
+
+634 
+__gl_pÝup_m\92u_£l_cb
+, 
+d©a
+);
+
+635 
+       }
+}
+
+638 \18\1e
+       $__gl_pÝup_thumb_lÚg´es£d_­³nd
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+gl
+,
+
+639 
+Elm_G\92li¡_I\8bm_CÏss
+ *
+gic
+)
+
+641 
+       `GL_CHECK
+(
+gic
+);
+
+642 
+       `GL_CHECK
+(
+gl
+);
+
+643 
+       `GL_CHECK
+(
+d©a
+);
+
+644 
+       `gl_dbg
+("append items");
+
+645 
+gl_pÝup_m\92u_s
+ *
+sh¬e_d
+ = (gl_pÝup_m\92u_ *)
+d©a
+;
+
+646 
+       `GL_CHECK
+(
+sh¬e_d
+->
+ad
+);
+
+647 
+gl_­pd©a
+ *
+ad
+ = 
+sh¬e_d
+->ad;
+
+648 
+       `GL_CHECK
+(
+ad
+->
+£l\9afo
+.
+\96
+);
+
+649 
+gl_\99em
+ *
+g\99em
+ = (gl_\99em *)
+       `e\9aa_li¡_Áh
+(
+ad
+->
+£l\9afo
+.
+\96
+, 0);
+
+650 
+       `GL_CHECK
+(
+g\99em
+);
+
+651 
+       `GL_CHECK
+(
+g\99em
+->
+\99em
+);
+
+652 
+       `gl_dbg
+("\99em stÜag\90ty³: %d", 
+g\99em
+->
+\99em
+->
+¡Üage_ty³
+);
+
+653 
+       `\96m_g\92li¡_\99em_­³nd
+(
+gl
+, 
+gic
+, (\1e*)
+GL_STR_ID_SHARE
+,
+
+654 
+NULL
+, 
+ELM_GENLIST_ITEM_NONE
+,
+
+655 
+__gl_pÝup_m\92u_£l_cb
+, 
+d©a
+);
+
+656 ià((
+GL_STORE_T_PHONE
+ =ð
+g\99em
+->
+\99em
+->
+¡Üage_ty³
+ ||
+
+657 
+GL_STORE_T_MMC
+ =ð
+g\99em
+->
+\99em
+->
+¡Üage_ty³
+) &&
+
+658 
+MEDIA_CONTENT_TYPE_IMAGE
+ =ð
+g\99em
+->
+\99em
+->
+ty³
+)
+
+659 
+       `\96m_g\92li¡_\99em_­³nd
+(
+gl
+, 
+gic
+, (\1e*)
+GL_STR_ID_EDIT
+,
+
+660 
+NULL
+, 
+ELM_GENLIST_ITEM_NONE
+,
+
+661 
+__gl_pÝup_m\92u_£l_cb
+, 
+d©a
+);
+
+662 ià(
+GL_STORE_T_PHONE
+ =ð
+g\99em
+->
+\99em
+->
+¡Üage_ty³
+ ||
+
+663 
+GL_STORE_T_MMC
+ =ð
+g\99em
+->
+\99em
+->
+¡Üage_ty³
+) {
+
+664 
+       `\96m_g\92li¡_\99em_­³nd
+(
+gl
+, 
+gic
+, (\1e*)
+GL_STR_ID_DELETE
+,
+
+665 
+NULL
+, 
+ELM_GENLIST_ITEM_NONE
+,
+
+666 
+__gl_pÝup_m\92u_£l_cb
+, 
+d©a
+);
+
+669 ià((
+GL_STORE_T_PHONE
+ =ð
+g\99em
+->
+\99em
+->
+¡Üage_ty³
+ ||
+
+670 
+GL_STORE_T_MMC
+ =ð
+g\99em
+->
+\99em
+->
+¡Üage_ty³
+)) {
+
+671 
+       `\96m_g\92li¡_\99em_­³nd
+(
+gl
+, 
+gic
+, (\1e*)
+GL_STR_ID_MOVE
+,
+
+672 
+NULL
+, 
+ELM_GENLIST_ITEM_NONE
+,
+
+673 
+__gl_pÝup_m\92u_£l_cb
+, 
+d©a
+);
+
+674 
+       `\96m_g\92li¡_\99em_­³nd
+(
+gl
+, 
+gic
+, (\1e*)
+GL_STR_ID_COPY
+,
+
+675 
+NULL
+, 
+ELM_GENLIST_ITEM_NONE
+,
+
+676 
+__gl_pÝup_m\92u_£l_cb
+, 
+d©a
+);
+
+683 
+       }
+}
+
+685 \18\1e
+       $__gl_pÝup_b\8a_Ãw_®bum_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+687 
+       `gl_dbg
+("");
+
+688 
+       `GL_CHECK
+(
+d©a
+);
+
+689 
+gl_pÝup_m\92u_s
+ *
+m\92u_d
+ = 
+NULL
+;
+
+690 
+m\92u_d
+ = (
+gl_pÝup_m\92u_s
+ *)
+d©a
+;
+
+691 
+       `GL_CHECK
+(
+m\92u_d
+->
+ad
+);
+
+692 
+gl_­pd©a
+ *
+ad
+ = 
+m\92u_d
+->ad;
+
+694 
+       `_gl_®bums_Ãw_ü\97\8b_v\9bw
+(
+ad
+, 
+m\92u_d
+->
+Ý_func
+);
+
+695 
+ad
+->
+pÝup\9afo
+.
+mode
+ = 
+GL_POPUP_NOBUT
+;
+
+696 
+       }
+}
+
+698 \18\1e
+       $__gl_pÝup_move_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+700 
+       `gl_dbg
+("");
+
+702 
+       `GL_CHECK
+(
+obj
+);
+
+703 
+gl_pÝup_m\92u_s
+ *
+m\92u_d
+ = 
+NULL
+;
+
+704 
+m\92u_d
+ = (
+gl_pÝup_m\92u_s
+ *)
+       `evas_objeù_d©a_g\91
+(
+obj
+, 
+GL_POPUP_OBJ_DATA_KEY
+);
+
+705 
+       `GL_CHECK
+(
+m\92u_d
+);
+
+706 
+       `GL_CHECK
+(
+m\92u_d
+->
+ad
+);
+
+707 
+gl_­pd©a
+ *
+ad
+ = 
+m\92u_d
+->ad;
+
+708 
+       `GL_FREEIF
+(
+ad
+->
+®bum\9afo
+.
+·th
+);
+
+710 ià(
+d©a
+) {
+
+711 
+       `GL_CHECK
+(
+m\92u_d
+->
+Ý_func
+);
+
+712 
+ad
+->
+®bum\9afo
+.
+·th
+ = 
+       `¡rdup
+((\ 5*)
+d©a
+);
+
+713 
+       `gl_sdbg
+("De¡\87lbum\85©h: %s", 
+ad
+->
+®bum\9afo
+.
+·th
+);
+
+714 \12(*
+mc_cb
+)(\1e*
+d©a
+);
+
+715 
+mc_cb
+ = 
+m\92u_d
+->
+Ý_func
+;
+
+716 
+       `mc_cb
+(
+ad
+);
+
+719 
+       `GL_IF_DEL_OBJ
+(
+ad
+->
+pÝup\9afo
+.
+pÝup
+);
+
+720 
+ad
+->
+pÝup\9afo
+.
+mode
+ = 
+GL_POPUP_NOBUT
+;
+
+721 
+       }
+}
+
+723 \18\1e
+       $__gl_pÝup_move_­³nd
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+gl
+,
+
+724 
+Elm_G\92li¡_I\8bm_CÏss
+ *
+gic
+)
+
+726 
+       `GL_CHECK
+(
+gic
+);
+
+727 
+       `GL_CHECK
+(
+gl
+);
+
+728 
+       `GL_CHECK
+(
+d©a
+);
+
+729 
+gl_pÝup_m\92u_s
+ *
+m\92u_d
+ = (gl_pÝup_m\92u_ *)
+d©a
+;
+
+730 
+       `GL_CHECK
+(
+m\92u_d
+->
+ad
+);
+
+731 
+gl_­pd©a
+ *
+ad
+ = 
+m\92u_d
+->ad;
+
+732 
+       `GL_CHECK
+(
+m\92u_d
+->
+Ý_func
+);
+
+733 
+       `GL_CHECK
+(
+ad
+->
+ma\9a\9afo
+.
+Çviäame
+);
+
+734 \12
+i
+ = 0;
+
+735 
+E\9aa_Li¡
+ *
+®bum_li¡
+ = 
+NULL
+;
+
+736 \12
+®l_couÁ
+ = 0;
+
+737 \ 5*
+Ïb\96
+ = 
+NULL
+;
+
+738 
+gl_þu¡\94
+ *
+®bum
+ = 
+NULL
+;
+
+739 
+gl_þu¡\94
+ *
+cur_®bum
+ = 
+       `_gl_®bums_g\91_cu¼\92t
+(
+ad
+);
+
+740 
+       `evas_objeù_d©a_£t
+(
+gl
+, 
+GL_POPUP_OBJ_DATA_KEY
+, 
+m\92u_d
+);
+
+745 ià(
+ad
+->
+®bum\9afo
+.
+\96
+ &&\87d->®bum\9afo.\96i¡->
+þi¡
+) {
+
+746 
+®bum_li¡
+ = 
+ad
+->
+®bum\9afo
+.
+\96
+->
+þi¡
+;
+
+747 
+®l_couÁ
+ = 
+       `e\9aa_li¡_couÁ
+(
+®bum_li¡
+);
+
+749 
+       `gl_dbgE
+("cluster\86ist is NULL");
+
+753 
+       `gl_dbg
+("þu¡\94\86\86\92gth: %d", 
+®l_couÁ
+);
+
+754 \ f
+i
+ = 0; i < 
+®l_couÁ
+; i++) {
+
+755 
+®bum
+ = 
+       `e\9aa_li¡_Áh
+(
+®bum_li¡
+, 
+i
+);
+
+756 
+       `GL_CHECK
+(
+®bum
+);
+
+757 
+       `GL_CHECK
+(
+®bum
+->
+þu¡\94
+);
+
+758 
+       `GL_CHECK
+(
+®bum
+->
+þu¡\94
+->
+di¥Ïy_Çme
+);
+
+759 
+       `GL_CHECK
+(
+®bum
+->
+þu¡\94
+->
+uuid
+);
+
+761 ià(
+cur_®bum
+ && cur_®bum->
+þu¡\94
+ &&
+
+762 
+cur_®bum
+->
+þu¡\94
+->
+uuid
+ &&
+
+763 !
+       `g_¡rcmp0
+(
+®bum
+->
+þu¡\94
+->
+uuid
+, 
+cur_®bum
+->cluster->uuid))
+
+765 ià(
+®bum
+->
+þu¡\94
+->
+ty³
+ =ð
+GL_STORE_T_MMC
+ ||
+
+766 
+®bum
+->
+þu¡\94
+->
+ty³
+ =ð
+GL_STORE_T_PHONE
+) {
+
+767 
+Ïb\96
+ = 
+       `_gl_g\91_i18n_®bum_Çme
+(
+®bum
+->
+þu¡\94
+);
+
+768 
+       `\96m_g\92li¡_\99em_­³nd
+(
+gl
+, 
+gic
+, (\1e*)
+Ïb\96
+,
+
+769 
+NULL
+, 
+ELM_GENLIST_ITEM_NONE
+,
+
+770 
+__gl_pÝup_move_cb
+,
+
+771 
+®bum
+->
+þu¡\94
+->
+·th
+);
+
+774 
+       }
+}
+
+776 \18\1e
+       $__gl_pÝup_g\92li¡_»size_job_cb
+(\1e*
+d©a
+)
+
+778 
+       `GL_CHECK
+(
+d©a
+);
+
+779 
+gl_pÝup_»size_s
+ *
+»size_d
+ = (gl_pÝup_»size_ *)
+d©a
+;
+
+780 
+Evas_Objeù
+ *
+\8cack
+ = 
+NULL
+;
+
+781 
+Elm_Objeù_I\8bm
+ *
+\99em
+ = 
+       `\96m_g\92li¡_f\9c¡_\99em_g\91
+(
+»size_d
+->
+g\92li¡
+);
+
+782 
+\8cack
+ = 
+       `\96m_objeù_\99em_\8cack
+(
+\99em
+);
+
+783 ià(
+\8cack
+) {
+
+784 
+Evas_CoÜd
+h
+ = 0;
+
+785 
+       `evas_objeù_geom\91ry_g\91
+(
+\8cack
+, 
+NULL
+, NULL, NULL, &
+h
+);
+
+786 
+       `gl_dbg
+("siz\90diff: %d-%d", 
+h
+, 
+»size_d
+->
+\99em_height
+);
+
+787 ià(
+»size_d
+->
+\99em_height
+ !ð
+h
+) {
+
+788 \12
+út
+ = 
+       `\96m_g\92li¡_\99ems_couÁ
+(
+»size_d
+->
+g\92li¡
+);
+
+789 \12
+m\9a_h
+ = 0;
+
+790 ià(
+út
+ > 3)
+
+791 
+m\9a_h
+ = 
+h
+ * 4;
+
+793 
+m\9a_h
+ = 
+h
+ * 
+út
+;
+
+795 
+       `evas_objeù_size_h\9at_m\9a_£t
+(
+»size_d
+->
+box
+,
+
+796 
+GL_POPUP_GENLIST_ITEM_W
+ * 
+       `\96m_cÚfig_sÿË_g\91
+(),
+
+797 
+m\9a_h
+);
+
+800 
+       `\96m_objeù_\99em_uÁ¿ck
+(
+\99em
+);
+
+801 
+       `GL_IF_DEL_JOB
+(
+»size_d
+->
+job
+);
+
+802 
+       }
+}
+
+804 \18\1e
+       $__gl_pÝup_g\92li¡_»®ized_»size
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+806 
+       `GL_CHECK
+(
+d©a
+);
+
+807 
+gl_pÝup_»size_s
+ *
+»size_d
+ = (gl_pÝup_»size_ *)
+d©a
+;
+
+808 
+       `GL_IF_DEL_JOB
+(
+»size_d
+->
+job
+);
+
+809 
+»size_d
+->
+job
+ = 
+       `ecÜe_job_add
+(
+__gl_pÝup_g\92li¡_»size_job_cb
+, 
+d©a
+);
+
+810 
+       }
+}
+
+812 \18\12
+       $__gl_pÝup_add_»size_Ý
+(
+gl_­pd©a
+ *
+ad
+, 
+Evas_Objeù
+ *
+box
+, Evas_Objeù *
+g\92li¡
+)
+
+814 
+gl_pÝup_»size_s
+ *
+»size_d
+ = 
+NULL
+;
+
+815 
+»size_d
+ = (
+gl_pÝup_»size_s
+ *)
+       `ÿÎoc
+(1, \17(gl_popup_resize_s));
+
+816 
+       `GL_CHECK_VAL
+(
+»size_d
+, -1);
+
+818 
+»size_d
+->
+box
+ = box;
+
+819 
+»size_d
+->
+g\92li¡
+ = genlist;
+
+820 
+»size_d
+->
+ad
+ =\87d;
+
+821 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+g\92li¡
+, "popup,genlist,realized",
+
+822 
+__gl_pÝup_g\92li¡_»®ized_»size
+,
+
+823 (\1e*)
+»size_d
+);
+
+824 
+       `evas_objeù_d©a_£t
+(
+g\92li¡
+, 
+GL_POPUP_GENLIST_DATA_KEY
+,
+
+825 (\1e*)
+»size_d
+);
+
+827 
+»size_d
+->
+\99em_height
+ = 
+       `__gl_pÝup_£t_m\9a_size
+(
+box
+,
+
+828 
+       `\96m_g\92li¡_\99ems_couÁ
+(
+g\92li¡
+));
+
+830 
+       }
+}
+
+833 \18\12
+       $__gl_pÝup_ü\97\8b_m\92u
+(\1e*
+d©a
+, cڡ \ 5*
+t\99Ë
+,
+
+834 \1e*
+­³nd_func
+, \1e*
+Ý_func
+, \12
+mode
+)
+
+836 
+       `gl_dbg
+("");
+
+837 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+838 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+840 ià(
+ad
+->
+pÝup\9afo
+.
+pÝup
+) {
+
+841 
+       `gl_dbg
+("The\83xisted\85opup is deleted");
+
+842 
+       `evas_objeù_d\96
+(
+ad
+->
+pÝup\9afo
+.
+pÝup
+);
+
+843 
+ad
+->
+pÝup\9afo
+.
+pÝup
+ = 
+NULL
+;
+
+846 
+gl_pÝup_m\92u_s
+ *
+m\92u_d
+ = 
+NULL
+;
+
+847 
+m\92u_d
+ = (
+gl_pÝup_m\92u_s
+ *)
+       `ÿÎoc
+(1, \17(gl_popup_menu_s));
+
+848 
+       `GL_CHECK_VAL
+(
+m\92u_d
+, -1);
+
+850 
+Evas_Objeù
+ *
+box
+ = 
+NULL
+;
+
+851 
+Evas_Objeù
+ *
+g\92li¡
+ = 
+NULL
+;
+
+852 
+Evas_Objeù
+ *
+pÝup
+ = 
+       `__gl_pÝup_add
+(
+ad
+->
+ma\9a\9afo
+.
+w\9a
+,
+
+854 
+t\99Ë
+, 
+NULL
+, 
+d©a
+);
+
+855 ià(
+pÝup
+ =ð
+NULL
+) {
+
+856 
+       `GL_FREE
+(
+m\92u_d
+);
+
+860 
+       `evas_objeù_ev\92t_ÿÎback_add
+(
+pÝup
+, 
+EVAS_CALLBACK_DEL
+,
+
+861 
+__gl_pÝup_m\92u_d\96\91e_cb
+, 
+m\92u_d
+);
+
+862 
+m\92u_d
+->
+ad
+ =\87d;
+
+863 
+m\92u_d
+->
+pÝup
+ =\85opup;
+
+864 
+m\92u_d
+->
+Ý_func
+ = op_func;
+
+865 
+       `evas_objeù_d©a_£t
+(
+pÝup
+, 
+GL_POPUP_OBJ_DATA_KEY
+, 
+m\92u_d
+);
+
+867 
+box
+ = 
+       `\96m_box_add
+(
+pÝup
+);
+
+868 
+       `evas_objeù_size_h\9at_weight_£t
+(
+box
+, 
+EVAS_HINT_EXPAND
+,
+
+869 
+EVAS_HINT_EXPAND
+);
+
+871 
+g\92li¡
+ = 
+       `__gl_pÝup_add_g\92li¡
+(
+m\92u_d
+, 
+box
+, "1text/popup",
+
+872 
+__gl_pÝup_m\92u_g\91_\8bxt
+, 
+NULL
+,
+
+873 
+­³nd_func
+);
+
+874 
+       `__gl_pÝup_add_»size_Ý
+(
+ad
+, 
+box
+, 
+g\92li¡
+);
+
+876 
+       `\96m_box_·ck_\92d
+(
+box
+, 
+g\92li¡
+);
+
+877 
+       `evas_objeù_show
+(
+g\92li¡
+);
+
+878 
+       `evas_objeù_show
+(
+box
+);
+
+879 
+       `\96m_objeù_cÚ\8bÁ_£t
+(
+pÝup
+, 
+box
+);
+
+880 
+       `evas_objeù_show
+(
+pÝup
+);
+
+881 
+ad
+->
+pÝup\9afo
+.
+pÝup
+ =\85opup;
+
+882 
+ad
+->
+pÝup\9afo
+.
+mode
+ = mode;
+
+884 
+       }
+}
+
+887 \18\12
+       $__gl_pÝup_ü\97\8b_®bum_m\92u
+(\1e*
+d©a
+, cڡ \ 5*
+t\99Ë
+,
+
+888 \1e*
+­³nd_func
+, \1e*
+Ý_func
+, \12
+mode
+)
+
+890 
+       `gl_dbg
+("");
+
+891 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+892 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+894 ià(
+ad
+->
+pÝup\9afo
+.
+pÝup
+) {
+
+895 
+       `gl_dbg
+("The\83xisted\85opup is deleted");
+
+896 
+       `evas_objeù_d\96
+(
+ad
+->
+pÝup\9afo
+.
+pÝup
+);
+
+897 
+ad
+->
+pÝup\9afo
+.
+pÝup
+ = 
+NULL
+;
+
+900 
+gl_pÝup_m\92u_s
+ *
+m\92u_d
+ = 
+NULL
+;
+
+901 
+m\92u_d
+ = (
+gl_pÝup_m\92u_s
+ *)
+       `ÿÎoc
+(1, \17(gl_popup_menu_s));
+
+902 
+       `GL_CHECK_VAL
+(
+m\92u_d
+, -1);
+
+904 
+Evas_Objeù
+ *
+box
+ = 
+NULL
+;
+
+905 
+Evas_Objeù
+ *
+g\92li¡
+ = 
+NULL
+;
+
+906 
+Evas_Objeù
+ *
+pÝup
+ = 
+       `__gl_pÝup_add
+(
+ad
+->
+ma\9a\9afo
+.
+w\9a
+, 
+NULL
+,
+
+907 
+t\99Ë
+, 
+NULL
+, 
+d©a
+);
+
+908 ià(
+pÝup
+ =ð
+NULL
+) {
+
+909 
+       `GL_FREE
+(
+m\92u_d
+);
+
+913 
+       `evas_objeù_ev\92t_ÿÎback_add
+(
+pÝup
+, 
+EVAS_CALLBACK_DEL
+,
+
+914 
+__gl_pÝup_m\92u_d\96\91e_cb
+, 
+m\92u_d
+);
+
+915 
+m\92u_d
+->
+ad
+ =\87d;
+
+916 
+m\92u_d
+->
+pÝup
+ =\85opup;
+
+917 
+m\92u_d
+->
+Ý_func
+ = op_func;
+
+918 
+       `evas_objeù_d©a_£t
+(
+pÝup
+, 
+GL_POPUP_OBJ_DATA_KEY
+, 
+m\92u_d
+);
+
+920 
+box
+ = 
+       `\96m_box_add
+(
+pÝup
+);
+
+921 
+       `evas_objeù_size_h\9at_weight_£t
+(
+box
+, 
+EVAS_HINT_EXPAND
+,
+
+922 
+EVAS_HINT_EXPAND
+);
+
+924 
+g\92li¡
+ = 
+       `__gl_pÝup_add_g\92li¡
+(
+m\92u_d
+, 
+box
+, "1text/popup",
+
+925 
+__gl_pÝup_m\92u_g\91_\8bxt
+, 
+NULL
+,
+
+926 
+­³nd_func
+);
+
+928 ià(
+       `\96m_g\92li¡_\99ems_couÁ
+(
+g\92li¡
+) > 0) {
+
+930 
+       `\96m_box_·ck_\92d
+(
+box
+, 
+g\92li¡
+);
+
+931 
+       `evas_objeù_show
+(
+g\92li¡
+);
+
+932 
+       `evas_objeù_show
+(
+box
+);
+
+934 
+       `\96m_objeù_¡yË_£t
+(
+pÝup
+, "content_no_vhpad");
+
+935 
+       `\96m_objeù_cÚ\8bÁ_£t
+(
+pÝup
+, 
+box
+);
+
+937 
+       `GL_IF_DEL_OBJ
+(
+g\92li¡
+);
+
+938 
+       `GL_IF_DEL_OBJ
+(
+box
+);
+
+940 
+       `_gl_ui_£t_\8cª¦©e_¡r
+(
+pÝup
+, 
+GL_STR_ID_THERE_IS_ONLY_ONE_ALBUM
+);
+
+943 
+       `evas_objeù_show
+(
+pÝup
+);
+
+944 
+ad
+->
+pÝup\9afo
+.
+pÝup
+ =\85opup;
+
+945 
+ad
+->
+pÝup\9afo
+.
+mode
+ = mode;
+
+947 
+       }
+}
+
+949 \12
+       $_gl_pÝup_ü\97\8b
+(\1e*
+d©a
+, cڡ \ 5*
+t\99Ë
+, cڡ \ 5*
+\8bxt
+,
+
+950 cڡ \ 5*
+¡r1
+, 
+Evas_Sm¬t_Cb
+cb1
+, cڡ \1e*
+d©a1
+,
+
+951 cڡ \ 5*
+¡r2
+, 
+Evas_Sm¬t_Cb
+cb2
+, cڡ \1e*
+d©a2
+,
+
+952 cڡ \ 5*
+¡r3
+, 
+Evas_Sm¬t_Cb
+cb3
+, cڡ \1e*
+d©a3
+)
+
+954 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+955 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+957 ià(
+ad
+->
+pÝup\9afo
+.
+pÝup
+) {
+
+958 
+       `gl_dbg
+("Delte\81he\83xisted\85opup first");
+
+959 
+       `evas_objeù_d\96
+(
+ad
+->
+pÝup\9afo
+.
+pÝup
+);
+
+960 
+ad
+->
+pÝup\9afo
+.
+pÝup
+ = 
+NULL
+;
+
+963 
+Evas_Objeù
+ *
+pÝup
+ = 
+NULL
+;
+
+964 
+pÝup
+ = 
+       `__gl_pÝup_add
+(
+ad
+->
+ma\9a\9afo
+.
+w\9a
+, 
+NULL
+, 
+t\99Ë
+, 
+\8bxt
+, 
+d©a
+);
+
+965 
+       `GL_CHECK_VAL
+(
+pÝup
+, -1);
+
+966 
+gl_pÝup_s
+ *
+pÝup_d
+ = (gl_pÝup_ *)
+       `ÿÎoc
+(1, \17(gl_popup_s));
+
+967 ià(
+pÝup_d
+ =ð
+NULL
+) {
+
+968 
+       `gl_dbgE
+("Calloc failed!");
+
+969 
+       `evas_objeù_d\96
+(
+pÝup
+);
+
+972 
+       `evas_objeù_d©a_£t
+(
+pÝup
+, 
+GL_POPUP_OBJ_DATA_KEY
+, 
+pÝup_d
+);
+
+974 
+       `evas_objeù_ev\92t_ÿÎback_add
+(
+pÝup
+, 
+EVAS_CALLBACK_DEL
+,
+
+975 
+__gl_pÝup_d\96\91e_cb
+, 
+pÝup_d
+);
+
+976 
+pÝup_d
+->
+ad
+ =\87d;
+
+977 
+pÝup_d
+->
+pÝup
+ =\85opup;
+
+979 ià(
+¡r1
+ && 
+cb1
+) {
+
+980 
+Evas_Objeù
+ *
+b\8a1
+ = 
+NULL
+;
+
+981 
+b\8a1
+ = 
+       `_gl_but_ü\97\8b_but_pÝup
+(
+pÝup
+, 
+¡r1
+, 
+cb1
+,
+
+982 
+d©a1
+);
+
+983 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+pÝup
+, "bu\89Ú1", 
+b\8a1
+);
+
+984 
+pÝup_d
+->
+cb1
+ = cb1;
+
+985 
+pÝup_d
+->
+d©a1
+ = data1;
+
+987 ià(
+¡r2
+ && 
+cb2
+) {
+
+988 
+Evas_Objeù
+ *
+b\8a2
+ = 
+NULL
+;
+
+989 
+b\8a2
+ = 
+       `_gl_but_ü\97\8b_but_pÝup
+(
+pÝup
+, 
+¡r2
+, 
+cb2
+,
+
+990 
+d©a2
+);
+
+991 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+pÝup
+, "bu\89Ú2", 
+b\8a2
+);
+
+992 
+pÝup_d
+->
+cb2
+ = cb2;
+
+993 
+pÝup_d
+->
+d©a2
+ = data2;
+
+995 ià(
+¡r3
+ && 
+cb3
+) {
+
+996 
+Evas_Objeù
+ *
+b\8a3
+ = 
+NULL
+;
+
+997 
+b\8a3
+ = 
+       `_gl_but_ü\97\8b_but_pÝup
+(
+pÝup
+, 
+¡r3
+, 
+cb3
+,
+
+998 
+d©a3
+);
+
+999 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+pÝup
+, "bu\89Ú3", 
+b\8a3
+);
+
+1000 
+pÝup_d
+->
+cb3
+ = cb3;
+
+1001 
+pÝup_d
+->
+d©a3
+ = data3;
+
+1004 
+       `evas_objeù_show
+(
+pÝup
+);
+
+1005 
+ad
+->
+pÝup\9afo
+.
+pÝup
+ =\85opup;
+
+1007 
+       }
+}
+
+1009 \18\1e
+       $__gl_pÝup_d\96_Ïng_chªged
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+1011 
+       `GL_CHECK
+(
+obj
+);
+
+1012 \12
+£l_út
+ = (\12)
+d©a
+;
+
+1013 ià(
+£l_út
+ < 1) {
+
+1014 
+       `gl_dbg
+("Do\82ot\82eed\81o update\81he\86aungue manual");
+
+1017 \12
+d\96_ty³
+ = (\12)
+       `evas_objeù_d©a_g\91
+(
+obj
+,
+
+1018 
+GL_POPUP_OBJ_DEL_CB_TYPE_KEY
+);
+
+1019 \ 5*
+pÝup_¡r
+ = 
+NULL
+;
+
+1020 ià(
+d\96_ty³
+ =ð
+GL_POPUP_OBJ_DEL_CB_TYPE_ITEM
+) {
+
+1021 
+pÝup_¡r
+ = 
+       `g_¡rdup_´\9atf
+(
+GL_STR_DELETE_PD_FILES
+, 
+£l_út
+);
+
+1023 
+pÝup_¡r
+ = 
+       `g_¡rdup_´\9atf
+(
+GL_STR_DELETE_PD_ALBUMS
+, 
+£l_út
+);
+
+1025 
+       `\96m_objeù_\8bxt_£t
+(
+obj
+, 
+pÝup_¡r
+);
+
+1026 
+       }
+}
+
+1028 \12
+       $_gl_pÝup_ü\97\8b_d\96
+(\1e*
+d©a
+, \12
+mode
+, \1e*
+£l_cb
+, \1e*
+d\96_cb
+,
+
+1029 \1e*
+cb_d©a
+)
+
+1031 
+       `GL_CHECK_VAL
+(
+cb_d©a
+, -1);
+
+1032 
+       `GL_CHECK_VAL
+(
+d\96_cb
+, -1);
+
+1033 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1034 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1035 \12
+£l_út
+ = 0;
+
+1036 \ 5*
+fmt_¡r
+ = 
+NULL
+;
+
+1037 \ 5*
+pÝup_¡r
+ = 
+NULL
+;
+
+1038 \ 5*
+Úe_£Ëùed
+ = 
+NULL
+;
+
+1039 \ 5*
+mul_£Ëùed
+ = 
+NULL
+;
+
+1041 ià(
+ad
+->
+pÝup\9afo
+.
+pÝup
+ !ð
+NULL
+) {
+
+1042 
+       `gl_dbg
+("The\83xisted\85opup is deleted");
+
+1043 
+       `evas_objeù_d\96
+(
+ad
+->
+pÝup\9afo
+.
+pÝup
+);
+
+1046 ià(
+£l_cb
+) {
+
+1047 \12(*
+_£l_cb
+è(\1e*
+d©a
+);
+
+1048 
+_£l_cb
+ = 
+£l_cb
+;
+
+1049 
+£l_út
+ = 
+       `_£l_cb
+(
+cb_d©a
+);
+
+1050 
+       `gl_dbg
+("mode: %d", 
+mode
+);
+
+1051 \1a
+mode
+) {
+
+1052 \ 4
+GL_POPUP_DEL_FILE
+ :
+
+1053 
+Úe_£Ëùed
+ = 
+GL_STR_ID_DELETE_1_FILE
+;
+
+1054 
+mul_£Ëùed
+ = 
+GL_STR_DELETE_PD_FILES
+;
+
+1056 \ 4
+GL_POPUP_DEL_ALBUM
+:
+
+1057 
+Úe_£Ëùed
+ = 
+GL_STR_ID_DELETE_1_ALBUM
+;
+
+1058 
+mul_£Ëùed
+ = 
+GL_STR_DELETE_PD_ALBUMS
+;
+
+1061 
+       `gl_dbgE
+("Wrong delete mode!");
+
+1065 ià(
+£l_út
+ == 1) {
+
+1066 
+pÝup_¡r
+ = 
+       `g_¡rdup
+(
+Úe_£Ëùed
+);
+
+1068 
+fmt_¡r
+ = 
+mul_£Ëùed
+;
+
+1069 
+pÝup_¡r
+ = 
+       `g_¡rdup_´\9atf
+(
+fmt_¡r
+, 
+£l_út
+);
+
+1072 
+pÝup_¡r
+ = 
+       `g_¡rdup
+(
+GL_STR_ID_DELETE_COMFIRMATION
+);
+
+1074 
+       `gl_dbg
+("pÝu°¡r\9ag: %s", 
+pÝup_¡r
+);
+
+1076 
+Evas_Objeù
+ *
+pÝup
+ = 
+       `__gl_pÝup_add
+(
+ad
+->
+ma\9a\9afo
+.
+w\9a
+, 
+NULL
+,
+
+1077 
+GL_STR_ID_DELETE
+,
+
+1078 
+pÝup_¡r
+, 
+d©a
+);
+
+1079 
+       `GL_CHECK_VAL
+(
+pÝup
+, -1);
+
+1080 
+       `evas_objeù_ev\92t_ÿÎback_add
+(
+pÝup
+, 
+EVAS_CALLBACK_DEL
+,
+
+1081 
+__gl_pÝup_d\96\91e_cb
+, 
+NULL
+);
+
+1085 ià(
+£l_út
+ > 1) {
+
+1086 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+pÝup
+, "language,changed",
+
+1087 
+__gl_pÝup_d\96_Ïng_chªged
+,
+
+1088 (\1e*)
+£l_út
+);
+
+1089 ià(
+mode
+ =ð
+GL_POPUP_DEL_FILE
+)
+
+1090 
+       `evas_objeù_d©a_£t
+(
+pÝup
+,
+
+1091 
+GL_POPUP_OBJ_DEL_CB_TYPE_KEY
+,
+
+1092 (\1e*)
+GL_POPUP_OBJ_DEL_CB_TYPE_ITEM
+);
+
+1094 
+       `evas_objeù_d©a_£t
+(
+pÝup
+,
+
+1095 
+GL_POPUP_OBJ_DEL_CB_TYPE_KEY
+,
+
+1096 (\1e*)
+GL_POPUP_OBJ_DEL_CB_TYPE_ALBUM
+);
+
+1098 
+       `evas_objeù_d©a_£t
+(
+pÝup
+, 
+GL_POPUP_OBJ_DEL_CB_KEY
+, 
+d\96_cb
+);
+
+1099 
+       `evas_objeù_d©a_£t
+(
+pÝup
+, 
+GL_POPUP_OBJ_DEL_CB_DATA_KEY
+, 
+cb_d©a
+);
+
+1101 
+Evas_Objeù
+ *
+b\8a1
+ = 
+NULL
+;
+
+1102 
+Evas_Objeù
+ *
+b\8a2
+ = 
+NULL
+;
+
+1103 
+b\8a1
+ = 
+       `_gl_but_ü\97\8b_but_pÝup
+(
+pÝup
+, 
+GL_STR_ID_CANCEL
+,
+
+1104 
+__gl_pÝup_d\96_»¥_cb
+, 
+d©a
+);
+
+1105 
+b\8a2
+ = 
+       `_gl_but_ü\97\8b_but_pÝup
+(
+pÝup
+, 
+GL_STR_ID_DELETE
+,
+
+1106 
+__gl_pÝup_d\96_»¥_cb
+, 
+d©a
+);
+
+1107 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+pÝup
+, "bu\89Ú1", 
+b\8a1
+);
+
+1108 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+pÝup
+, "bu\89Ú2", 
+b\8a2
+);
+
+1110 
+       `evas_objeù_show
+(
+pÝup
+);
+
+1111 
+ad
+->
+pÝup\9afo
+.
+pÝup
+ =\85opup;
+
+1112 
+ad
+->
+pÝup\9afo
+.
+mode
+ = 
+GL_POPUP_MEDIA_DELETE
+;
+
+1114 
+       `GL_FREE
+(
+pÝup_¡r
+);
+
+1116 
+       }
+}
+
+1118 \12
+       $gl_pÝup_ü\97\8b_pÝup
+(\1e*
+d©a
+, 
+gl_pÝup_mode
+mode
+, \ 5*
+desc
+)
+
+1120 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1121 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1122 
+       `gl_dbg
+("");
+
+1124 ià(
+ad
+->
+pÝup\9afo
+.
+pÝup
+) {
+
+1125 
+       `gl_dbg
+("The\83xisted\85opup is deleted");
+
+1126 
+       `evas_objeù_d\96
+(
+ad
+->
+pÝup\9afo
+.
+pÝup
+);
+
+1127 
+ad
+->
+pÝup\9afo
+.
+pÝup
+ = 
+NULL
+;
+
+1130 
+       `gl_pb_d\96_pb¬
+(
+ad
+);
+
+1131 
+Evas_Objeù
+ *
+pÝup
+ = 
+NULL
+;
+
+1133 ià(
+mode
+ =ð
+GL_POPUP_ALBUM_MEMORY_FULL
+) {
+
+1134 
+pÝup
+ = 
+       `__gl_pÝup_add
+(
+ad
+->
+ma\9a\9afo
+.
+w\9a
+, 
+NULL
+, 
+GL_DATA_SAVE_FAILED
+, 
+desc
+,
+
+1135 
+d©a
+);
+
+1137 
+pÝup
+ = 
+       `__gl_pÝup_add
+(
+ad
+->
+ma\9a\9afo
+.
+w\9a
+, 
+NULL
+, NULL, 
+desc
+,
+
+1138 
+d©a
+);
+
+1141 
+       `GL_CHECK_VAL
+(
+pÝup
+, -1);
+
+1142 
+       `evas_objeù_ev\92t_ÿÎback_add
+(
+pÝup
+, 
+EVAS_CALLBACK_DEL
+,
+
+1143 
+__gl_pÝup_d\96\91e_cb
+, 
+NULL
+);
+
+1145 
+Evas_Objeù
+ *
+b\8a1
+ = 
+NULL
+;
+
+1146 
+Evas_Objeù
+ *
+b\8a2
+ = 
+NULL
+;
+
+1148 \1a
+mode
+) {
+
+1149 \ 4
+GL_POPUP_NOBUT
+:
+
+1150 \ 4
+GL_POPUP_NOBUT_APPEXIT
+:
+
+1151 
+       `__gl_pÝup_add_tim\94
+(
+ad
+, 
+GL_POPUP_TIMEOUT_3S
+);
+
+1153 \ 4
+GL_POPUP_ONEBUT
+:
+
+1154 
+b\8a1
+ = 
+       `_gl_but_ü\97\8b_but_pÝup
+(
+pÝup
+, 
+GL_STR_ID_CLOSE
+,
+
+1155 
+__gl_pÝup_»¥_cb
+, 
+d©a
+);
+
+1156 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+pÝup
+, "bu\89Ú1", 
+b\8a1
+);
+
+1158 \ 4
+GL_POPUP_ALBUM_NEW_EMPTY
+:
+
+1159 \ 4
+GL_POPUP_ALBUM_NEW_DUPLICATE
+:
+
+1160 \ 4
+GL_POPUP_ALBUM_NEW_INVALID
+:
+
+1161 \ 4
+GL_POPUP_ALBUM_RENAME_EMPTY
+:
+
+1162 \ 4
+GL_POPUP_ALBUM_RENAME_DUPLICATE
+:
+
+1163 \ 4
+GL_POPUP_ALBUM_RENAME_INVALID
+:
+
+1164 
+b\8a1
+ = 
+       `_gl_but_ü\97\8b_but_pÝup
+(
+pÝup
+, 
+GL_STR_ID_NO
+,
+
+1165 
+__gl_pÝup_»¥_cb
+, 
+d©a
+);
+
+1166 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+pÝup
+, "bu\89Ú1", 
+b\8a1
+);
+
+1167 
+b\8a2
+ = 
+       `_gl_but_ü\97\8b_but_pÝup
+(
+pÝup
+, 
+GL_STR_ID_YES
+,
+
+1168 
+__gl_pÝup_»¥_cb
+, 
+d©a
+);
+
+1169 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+pÝup
+, "bu\89Ú2", 
+b\8a2
+);
+
+1170 
+       `gl_dbg
+("Hide Entry cursor\87nd IMF");
+
+1171 
+       `_gl_ed\99f\9bld_hide_imf
+(
+ad
+);
+
+1173 \ 4
+GL_POPUP_ALBUM_MEMORY_FULL
+:
+
+1174 
+b\8a1
+ = 
+       `_gl_but_ü\97\8b_but_pÝup
+(
+pÝup
+, 
+GL_STR_ID_CANCEL_ABB
+,
+
+1175 
+__gl_pÝup_»¥_cb
+, 
+d©a
+);
+
+1176 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+pÝup
+, "bu\89Ú1", 
+b\8a1
+);
+
+1177 
+b\8a2
+ = 
+       `_gl_but_ü\97\8b_but_pÝup
+(
+pÝup
+, 
+GL_STR_SETTINGS
+,
+
+1178 
+__gl_pÝup_»¥_cb
+, 
+d©a
+);
+
+1179 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+pÝup
+, "bu\89Ú2", 
+b\8a2
+);
+
+1183 
+       `gl_dbgE
+("Other\85opup mode...");
+
+1187 
+       `evas_objeù_show
+(
+pÝup
+);
+
+1190 
+       `\96m_objeù_focus_£t
+(
+pÝup
+, 
+EINA_TRUE
+);
+
+1192 ià(
+mode
+ =ð
+GL_POPUP_ALBUM_MEMORY_FULL
+) {
+
+1193 
+ad
+->
+pÝup\9afo
+.
+memÜy_fuÎ_pÝup
+ = 
+pÝup
+;
+
+1195 
+ad
+->
+pÝup\9afo
+.
+pÝup
+ =\85opup;
+
+1197 
+ad
+->
+pÝup\9afo
+.
+mode
+ = mode;
+
+1200 
+       }
+}
+
+1202 
+Evas_Objeù
+ *
+       $_gl_pÝup_ü\97\8b_loÿl
+(\1e*
+d©a
+, 
+gl_pÝup_mode
+mode
+, \ 5*
+desc
+)
+
+1204 
+       `GL_CHECK_NULL
+(
+d©a
+);
+
+1205 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1206 
+       `gl_dbg
+("");
+
+1208 
+Evas_Objeù
+ *
+w\9a
+ = 
+ad
+->
+ma\9a\9afo
+.win;
+
+1209 ià(
+ad
+->
+ma\9a\9afo
+.
+\92\8cy_w\9a
+)
+
+1210 
+w\9a
+ = 
+ad
+->
+ma\9a\9afo
+.
+\92\8cy_w\9a
+;
+
+1212 
+Evas_Objeù
+ *
+pÝup
+ = 
+       `__gl_pÝup_add_loÿl
+(
+w\9a
+, 
+NULL
+, NULL, 
+desc
+, 
+d©a
+);
+
+1213 
+       `GL_CHECK_NULL
+(
+pÝup
+);
+
+1214 
+       `evas_objeù_d©a_£t
+(
+pÝup
+, 
+GL_POPUP_OBJ_DATA_KEY
+, 
+d©a
+);
+
+1215 
+       `evas_objeù_ev\92t_ÿÎback_add
+(
+pÝup
+, 
+EVAS_CALLBACK_DEL
+,
+
+1216 
+__gl_pÝup_loÿl_d\96\91e_cb
+, 
+d©a
+);
+
+1217 
+Evas_Objeù
+ *
+b\8a1
+ = 
+NULL
+;
+
+1219 \1a
+mode
+) {
+
+1220 \ 4
+GL_POPUP_NOBUT
+:
+
+1221 
+       `GL_IF_DEL_TIMER
+(
+ad
+->
+pÝup\9afo
+.
+d\96_tim\94
+);
+
+1222 
+ad
+->
+pÝup\9afo
+.
+d\96_tim\94
+ = 
+       `ecÜe_tim\94_add
+(
+GL_POPUP_TIMEOUT_3S
+,
+
+1223 
+__gl_pÝup_loÿl_timeout_cb
+,
+
+1224 
+pÝup
+);
+
+1225 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+pÝup
+, "block,clicked",
+
+1226 
+__gl_pÝup_loÿl_block_þicked_cb
+,
+
+1227 
+pÝup
+);
+
+1229 \ 4
+GL_POPUP_ONEBUT
+:
+
+1230 
+b\8a1
+ = 
+       `_gl_but_ü\97\8b_but_pÝup
+(
+pÝup
+, 
+GL_STR_ID_OK
+,
+
+1231 
+__gl_pÝup_loÿl_»¥_cb
+, 
+pÝup
+);
+
+1232 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+pÝup
+, "bu\89Ú1", 
+b\8a1
+);
+
+1235 
+       `gl_dbgW
+("Oth\94\85Ýu°mode[%d]", 
+mode
+);
+
+1239 
+       `evas_objeù_show
+(
+pÝup
+);
+
+1240 
+       `\96m_objeù_focus_£t
+(
+pÝup
+, 
+EINA_FALSE
+);
+
+1241 \15 
+pÝup
+;
+
+1242 
+       }
+}
+
+1244 #ifdeà
+SUPPORT_SLIDESHOW
+
+
+1245 \12
+       $_gl_pÝup_ü\97\8b_¦ideshow
+(\1e*
+d©a
+, \1e*
+Ý_func
+)
+
+1247 
+       `gl_dbg
+("");
+
+1248 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1249 
+       `__gl_pÝup_ü\97\8b_m\92u
+(
+d©a
+, 
+GL_STR_ID_SLIDESHOW
+,
+
+1250 
+__gl_pÝup_¦ideshow_­³nd
+, 
+Ý_func
+,
+
+1251 
+GL_POPUP_SLIDESHOW
+);
+
+1252 
+       `_gl_pÝup_add_block_ÿÎback
+(
+d©a
+);
+
+1254 
+       }
+}
+
+1257 \12
+       $_gl_pÝup_ü\97\8b_move
+(\1e*
+d©a
+, \1e*
+Ý_func
+)
+
+1259 
+       `gl_dbg
+("");
+
+1260 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1261 
+       `__gl_pÝup_ü\97\8b_®bum_m\92u
+(
+d©a
+, 
+GL_STR_ID_MOVE
+,
+
+1262 
+__gl_pÝup_move_­³nd
+, 
+Ý_func
+,
+
+1263 
+GL_POPUP_MEDIA_MOVE
+);
+
+1264 
+       `_gl_pÝup_add_bu\89Ús
+(
+d©a
+, 
+GL_STR_ID_NEW_ALBUM
+,
+
+1265 
+__gl_pÝup_b\8a_Ãw_®bum_cb
+);
+
+1267 
+       }
+}
+
+1269 \12
+       $_gl_pÝup_ü\97\8b_cÝy
+(\1e*
+d©a
+, \1e*
+Ý_func
+)
+
+1271 
+       `gl_dbg
+("");
+
+1272 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1273 
+       `__gl_pÝup_ü\97\8b_®bum_m\92u
+(
+d©a
+, 
+GL_STR_ID_COPY
+,
+
+1274 
+__gl_pÝup_move_­³nd
+, 
+Ý_func
+,
+
+1275 
+GL_POPUP_MEDIA_MOVE
+);
+
+1276 
+       `_gl_pÝup_add_bu\89Ús
+(
+d©a
+, 
+GL_STR_ID_NEW_ALBUM
+,
+
+1277 
+__gl_pÝup_b\8a_Ãw_®bum_cb
+);
+
+1279 
+       }
+}
+
+1281 \12
+       $_gl_pÝup_ü\97\8b_move_w\99h_­³nd
+(\1e*
+d©a
+, \1e*
+Ý_func
+, \1e*
+­³nd_func
+, cڡ \ 5*
+t\99Ë
+)
+
+1283 
+       `gl_dbg
+("");
+
+1284 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1285 
+       `__gl_pÝup_ü\97\8b_®bum_m\92u
+(
+d©a
+, 
+t\99Ë
+, 
+­³nd_func
+, 
+Ý_func
+,
+
+1286 
+GL_POPUP_MEDIA_MOVE
+);
+
+1288 
+       }
+}
+
+1290 \12
+       $_gl_pÝup_ü\97\8b_lÚg´es£d_®bum_w\99h_­³nd
+(\1e*
+d©a
+, \1e*
+Ý_func
+, \1e*
+­³nd_func
+, cڡ \ 5*
+t\99Ë
+)
+
+1292 
+       `gl_dbg
+("");
+
+1293 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1294 
+       `__gl_pÝup_ü\97\8b_m\92u
+(
+d©a
+, 
+t\99Ë
+, 
+­³nd_func
+, 
+Ý_func
+,
+
+1295 
+GL_POPUP_LONGPRESSED
+);
+
+1296 
+       `_gl_pÝup_add_block_ÿÎback
+(
+d©a
+);
+
+1298 
+       }
+}
+
+1300 \12
+       $_gl_pÝup_ü\97\8b_lÚg´es£d_thumb_w\99h_­³nd
+(\1e*
+d©a
+, \1e*
+Ý_func
+, \1e*
+­³nd_func
+, cڡ \ 5*
+t\99Ë
+)
+
+1302 
+       `gl_dbg
+("");
+
+1303 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1304 
+       `__gl_pÝup_ü\97\8b_m\92u
+(
+d©a
+, 
+t\99Ë
+, 
+­³nd_func
+, 
+Ý_func
+,
+
+1305 
+GL_POPUP_LONGPRESSED
+);
+
+1306 
+       `_gl_pÝup_add_block_ÿÎback
+(
+d©a
+);
+
+1308 
+       }
+}
+
+1310 \12
+       $_gl_pÝup_ü\97\8b_lÚg´es£d_thumb
+(\1e*
+d©a
+, \1e*
+Ý_func
+, \ 5*
+f\9ee_Çme
+)
+
+1312 
+       `gl_dbg
+("");
+
+1313 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1314 
+       `__gl_pÝup_ü\97\8b_m\92u
+(
+d©a
+, 
+f\9ee_Çme
+,
+
+1315 
+__gl_pÝup_thumb_lÚg´es£d_­³nd
+, 
+Ý_func
+,
+
+1316 
+GL_POPUP_LONGPRESSED
+);
+
+1317 
+       `_gl_pÝup_add_block_ÿÎback
+(
+d©a
+);
+
+1319 
+       }
+}
+
+1321 \12
+       $_gl_pÝup_add_bu\89Ús
+(\1e*
+d©a
+, cڡ \ 5*
+\8bxt
+, 
+Evas_Sm¬t_Cb
+cb_func
+)
+
+1323 
+Evas_Objeù
+ *
+b\8a1
+ = 
+NULL
+;
+
+1324 
+Evas_Objeù
+ *
+b\8a2
+ = 
+NULL
+;
+
+1325 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1327 
+b\8a1
+ = 
+       `_gl_but_ü\97\8b_but_pÝup
+(
+ad
+->
+pÝup\9afo
+.
+pÝup
+, 
+GL_STR_ID_CANCEL
+,
+
+1328 
+__gl_pÝup_»¥_cb
+, 
+d©a
+);
+
+1329 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+ad
+->
+pÝup\9afo
+.
+pÝup
+, "bu\89Ú1", 
+b\8a1
+);
+
+1331 \1e*
+m\92u_d©a
+ = 
+       `evas_objeù_d©a_g\91
+(
+ad
+->
+pÝup\9afo
+.
+pÝup
+,
+
+1332 
+GL_POPUP_OBJ_DATA_KEY
+);
+
+1333 
+b\8a2
+ = 
+       `_gl_but_ü\97\8b_but_pÝup
+(
+ad
+->
+pÝup\9afo
+.
+pÝup
+, 
+\8bxt
+, 
+cb_func
+,
+
+1334 
+m\92u_d©a
+);
+
+1335 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+ad
+->
+pÝup\9afo
+.
+pÝup
+, "bu\89Ú2", 
+b\8a2
+);
+
+1337 
+       }
+}
+
+1339 \12
+       $_gl_pÝup_add_block_ÿÎback
+(\1e*
+d©a
+)
+
+1341 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1342 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+ad
+->
+pÝup\9afo
+.
+pÝup
+, "block,clicked",
+
+1343 
+__gl_pÝup_block_þicked_cb
+, 
+d©a
+);
+
+1345 
+       }
+}
+
+1347 \1e
+       $_gl_time_v\9bw_£Ëùed_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ev\92t_\9afo
+)
+
+1349 
+       `gl_dbg
+("ENTRY");
+
+1350 
+       `GL_CHECK
+(
+d©a
+);
+
+1351 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1352 ià(
+ad
+->
+pÝup\9afo
+.
+pÝup
+) {
+
+1353 
+       `evas_objeù_d\96
+(
+ad
+->
+pÝup\9afo
+.
+pÝup
+);
+
+1354 
+ad
+->
+pÝup\9afo
+.
+pÝup
+ = 
+NULL
+;
+
+1356 \12
+v\9bw_mode
+ = 
+       `gl_g\91_v\9bw_mode
+(
+ad
+);
+
+1357 ià(
+v\9bw_mode
+ =ð
+GL_VIEW_TIMELINE
+) {
+
+1358 
+       `gl_dbg
+("EXIT 1");
+
+1361 
+       `_gl_ù¾_show_v\9bw
+(
+d©a
+, "Timeline");
+
+1362 
+       `gl_dbg
+("EXIT");
+
+1363 
+       }
+}
+
+1365 \1e
+       $_gl_®bum_v\9bw_£Ëùed_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ev\92t_\9afo
+)
+
+1367 
+       `gl_dbg
+("ENTRY");
+
+1368 
+       `GL_CHECK
+(
+d©a
+);
+
+1369 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1370 ià(
+ad
+->
+pÝup\9afo
+.
+pÝup
+) {
+
+1371 
+       `evas_objeù_d\96
+(
+ad
+->
+pÝup\9afo
+.
+pÝup
+);
+
+1372 
+ad
+->
+pÝup\9afo
+.
+pÝup
+ = 
+NULL
+;
+
+1374 \12
+v\9bw_mode
+ = 
+       `gl_g\91_v\9bw_mode
+(
+ad
+);
+
+1375 ià(
+v\9bw_mode
+ =ð
+GL_VIEW_ALBUMS
+) {
+
+1376 
+       `gl_dbg
+("EXIT 1");
+
+1379 
+       `_gl_ù¾_show_v\9bw
+(
+d©a
+, 
+GL_STR_ALBUMS
+);
+
+1380 
+       `gl_dbg
+("EXIT");
+
+1381 
+       }
+}
+
+1383 \1e
+       $_gl_asc_sÜt_£Ëùed_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ev\92t_\9afo
+)
+
+1385 
+       `gl_dbg
+("ENTRY");
+
+1386 
+       `GL_CHECK
+(
+d©a
+);
+
+1387 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1388 ià(
+ad
+->
+pÝup\9afo
+.
+pÝup
+) {
+
+1389 
+       `evas_objeù_d\96
+(
+ad
+->
+pÝup\9afo
+.
+pÝup
+);
+
+1390 
+ad
+->
+pÝup\9afo
+.
+pÝup
+ = 
+NULL
+;
+
+1392 ià(
+ad
+->
+ma\9a\9afo
+.
+v\9bw_mode
+ =ð
+GL_VIEW_THUMBS
+) {
+
+1393 ià(
+ad
+->
+grid\9afo
+.
+med\9f_di¥Ïy_Üd\94
+ =ð
+ORDER_ASC
+) {
+
+1394 
+       `gl_dbg
+("EXIT 1");
+
+1397 
+ad
+->
+grid\9afo
+.
+med\9f_di¥Ïy_Üd\94
+ = 
+ORDER_ASC
+;
+
+1398 
+       `_gl_thumbs_upd©e_\99ems
+(
+ad
+);
+
+1399 } \vià(
+ad
+->
+ma\9a\9afo
+.
+v\9bw_mode
+ =ð
+GL_VIEW_TIMELINE
+) {
+
+1400 
+       `__gl_tim\96\9ae_asc_mode_£t
+(
+ad
+);
+
+1402 
+       `gl_dbg
+("EXIT");
+
+1403 
+       }
+}
+
+1405 \1e
+       $_gl_desc_sÜt_£Ëùed_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ev\92t_\9afo
+)
+
+1407 
+       `gl_dbg
+("ENTRY");
+
+1408 
+       `GL_CHECK
+(
+d©a
+);
+
+1409 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1410 ià(
+ad
+->
+pÝup\9afo
+.
+pÝup
+) {
+
+1411 
+       `evas_objeù_d\96
+(
+ad
+->
+pÝup\9afo
+.
+pÝup
+);
+
+1412 
+ad
+->
+pÝup\9afo
+.
+pÝup
+ = 
+NULL
+;
+
+1414 ià(
+ad
+->
+ma\9a\9afo
+.
+v\9bw_mode
+ =ð
+GL_VIEW_THUMBS
+) {
+
+1415 ià(
+ad
+->
+grid\9afo
+.
+med\9f_di¥Ïy_Üd\94
+ =ð
+ORDER_DESC
+) {
+
+1416 
+       `gl_dbg
+("EXIT 1");
+
+1419 
+ad
+->
+grid\9afo
+.
+med\9f_di¥Ïy_Üd\94
+ = 
+ORDER_DESC
+;
+
+1420 
+       `_gl_thumbs_upd©e_\99ems
+(
+ad
+);
+
+1421 } \vià(
+ad
+->
+ma\9a\9afo
+.
+v\9bw_mode
+ =ð
+GL_VIEW_TIMELINE
+) {
+
+1422 
+       `__gl_tim\96\9ae_desc_mode_£t
+(
+ad
+);
+
+1424 
+       `gl_dbg
+("EXIT");
+
+1425 
+       }
+}
+
+1427 \1e
+       $_gl_li¡_v\9bwas_pÝup_cb_add
+(
+Evas_Objeù
+ *
+b\8a
+, Evas_Objeù *
+b\8a1
+, \1e*
+ad
+)
+
+1429 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+b\8a
+, "þicked", 
+_gl_time_v\9bw_£Ëùed_cb
+, 
+ad
+);
+
+1430 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+b\8a1
+, "þicked", 
+_gl_®bum_v\9bw_£Ëùed_cb
+, 
+ad
+);
+
+1431 
+       }
+}
+
+1433 \1e
+       $_gl_li¡_sÜtby_pÝup_cb_add
+(
+Evas_Objeù
+ *
+b\8a
+, Evas_Objeù *
+b\8a1
+, \1e*
+ad
+)
+
+1435 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+b\8a
+, "þicked", 
+_gl_desc_sÜt_£Ëùed_cb
+, 
+ad
+);
+
+1436 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+b\8a1
+, "þicked", 
+_gl_asc_sÜt_£Ëùed_cb
+, 
+ad
+);
+
+1437 
+       }
+}
+
+1439 \1e
+       $_gl_li¡_pÝ_ü\97\8b
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+, \ 5*
+t\99Ë
+, \ 5*
+f\9c¡_\8bxt
+, \ 5*
+£cÚd_\8bxt
+, \12
+¡©e_\9adex
+)
+
+1441 
+       `gl_dbg
+("ENTRY");
+
+1442 
+       `GL_CHECK
+(
+d©a
+);
+
+1443 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1444 \12
+w
+,
+h
+;
+
+1445 
+       `_gl_ùxpÝup_d\96
+(
+d©a
+);
+
+1446 
+Evas_Objeù
+ * 
+pÝup
+ = 
+       `\96m_pÝup_add
+(
+ad
+->
+ma\9a\9afo
+.
+w\9a
+);
+
+1447 
+       `evas_objeù_size_h\9at_weight_£t
+(
+pÝup
+, 
+EVAS_HINT_EXPAND
+,
+
+1448 
+EVAS_HINT_EXPAND
+);
+
+1449 
+       `_gl_ui_£t_\8cª¦©e_·¹_¡r
+(
+pÝup
+, "t\99Ë,\8bxt", 
+t\99Ë
+);
+
+1451 
+Evas_Objeù
+ *
+ly
+ = 
+       `\96m_Ïyout_add
+(
+pÝup
+);
+
+1452 
+Evas_Objeù
+ *
+ly1
+ = 
+       `\96m_Ïyout_add
+(
+ly
+);
+
+1453 
+       `\96m_Ïyout_f\9ee_£t
+(
+ly
+, 
+GL_EDJ_FILE
+, "list_popup_swallow_ly");
+
+1454 
+       `\96m_Ïyout_f\9ee_£t
+(
+ly1
+, 
+GL_EDJ_FILE
+, "list_popup_content_ly");
+
+1455 
+       `_gl_ui_£t_\8cª¦©e_·¹_¡r
+(
+ly1
+, "\96m.\8bxt", 
+f\9c¡_\8bxt
+);
+
+1456 
+       `_gl_ui_£t_\8cª¦©e_·¹_¡r
+(
+ly1
+, "\96m.\8bxt.£cÚd", 
+£cÚd_\8bxt
+);
+
+1458 
+Evas_Objeù
+ *
+group_¿dio
+ = 
+       `\96m_¿dio_add
+(
+ly1
+);
+
+1459 
+       `\96m_¿dio_¡©e_v®ue_£t
+(
+group_¿dio
+, 0);
+
+1460 
+       `\96m_¿dio_v®ue_£t
+(
+group_¿dio
+, 0);
+
+1462 
+Evas_Objeù
+ *
+¿dio
+ = 
+       `\96m_¿dio_add
+(
+ly1
+);
+
+1463 
+Evas_Objeù
+ *
+¿dio1
+ = 
+       `\96m_¿dio_add
+(
+ly1
+);
+
+1464 
+       `\96m_¿dio_group_add
+(
+¿dio
+, 
+group_¿dio
+);
+
+1465 
+       `\96m_¿dio_¡©e_v®ue_£t
+(
+¿dio
+, 0);
+
+1466 
+       `evas_objeù_´Ýag©e_ev\92ts_£t
+(
+¿dio
+, 
+EINA_TRUE
+);
+
+1467 
+       `evas_objeù_show
+(
+¿dio
+);
+
+1468 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+ly1
+,"\96m.sw®low", 
+¿dio
+);
+
+1470 
+       `\96m_¿dio_group_add
+(
+¿dio1
+, 
+group_¿dio
+);
+
+1471 
+       `\96m_¿dio_¡©e_v®ue_£t
+(
+¿dio1
+, 1);
+
+1472 
+       `\96m_¿dio_v®ue_£t
+(
+group_¿dio
+, 
+¡©e_\9adex
+);
+
+1473 
+       `evas_objeù_´Ýag©e_ev\92ts_£t
+(
+¿dio1
+, 
+EINA_TRUE
+);
+
+1474 
+       `evas_objeù_show
+(
+¿dio1
+);
+
+1475 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+ly1
+, "\96m.sw®low.£cÚd", 
+¿dio1
+);
+
+1477 
+Evas_Objeù
+ *
+b\8a
+ = 
+       `\96m_bu\89Ú_add
+(
+ly1
+);
+
+1478 
+Evas_Objeù
+ *
+b\8a1
+ = 
+       `\96m_bu\89Ú_add
+(
+ly1
+);
+
+1479 
+       `\96m_objeù_¡yË_£t
+(
+b\8a
+, "transparent");
+
+1480 
+       `\96m_objeù_¡yË_£t
+(
+b\8a1
+, "transparent");
+
+1481 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+ly1
+, "bu\89Ú1", 
+b\8a
+);
+
+1482 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+ly1
+, "bu\89Ú2", 
+b\8a1
+);
+
+1484 ià(
+       `¡rcmp
+(
+t\99Ë
+, 
+GL_STR_SORT
+)) {
+
+1485 
+       `_gl_li¡_v\9bwas_pÝup_cb_add
+(
+b\8a
+, 
+b\8a1
+, 
+ad
+);
+
+1487 
+       `_gl_li¡_sÜtby_pÝup_cb_add
+(
+b\8a
+, 
+b\8a1
+, 
+ad
+);
+
+1489 
+ad
+->
+pÝup\9afo
+.
+pÝup
+ =\85opup;
+
+1490 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+ly
+,"li¡", 
+ly1
+);
+
+1491 
+       `\96m_objeù_cÚ\8bÁ_£t
+(
+pÝup
+, 
+ly
+);
+
+1492 
+       `evas_objeù_show
+(
+pÝup
+);
+
+1493 
+       `evas_objeù_geom\91ry_g\91
+(
+ad
+->
+ma\9a\9afo
+.
+w\9a
+, 
+NULL
+, NULL, &
+w
+, &
+h
+);
+
+1494 
+Edje_Mes§ge_IÁ
+ *
+msg
+ = (Edje_Mes§ge_IÁ *)
+       `m®loc
+(\17(Edje_Message_Int) + \17(\12));
+
+1495 
+       `GL_CHECK
+(
+msg
+);
+
+1496 ià((
+w
+ =ð
+GL_STR_SCREEN_WIDTH_WVGA
+ && 
+h
+ =ð
+GL_STR_SCREEN_HEIGHT_WVGA
+) || (w == GL_STR_SCREEN_HEIGHT_WVGA && h == GL_STR_SCREEN_WIDTH_WVGA)) {
+
+1497 
+msg
+->
+v®
+ = 
+GL_POPUP_GENLIST_HEIGHT_WVGA
+;
+
+1498 
+       `edje_objeù_mes§ge_£nd
+(
+       `\96m_Ïyout_edje_g\91
+(
+ly
+è,
+EDJE_MESSAGE_INT
+, 2, 
+msg
+);
+
+1499 } \vià((
+w
+ =ð
+GL_STR_SCREEN_WIDTH_QHD
+ && 
+h
+ =ð
+GL_STR_SCREEN_HEIGHT_QHD
+) || (w == GL_STR_SCREEN_HEIGHT_QHD && h == GL_STR_SCREEN_WIDTH_QHD)) {
+
+1500 
+msg
+->
+v®
+ = 
+GL_POPUP_GENLIST_HEIGHT_QHD
+;
+
+1501 
+       `edje_objeù_mes§ge_£nd
+(
+       `\96m_Ïyout_edje_g\91
+(
+ly
+), 
+EDJE_MESSAGE_INT
+, 2, 
+msg
+);
+
+1502 } \vià((
+w
+ =ð
+GL_STR_SCREEN_WIDTH_HD
+ && 
+h
+ =ð
+GL_STR_SCREEN_HEIGHT_HD
+) || (w == GL_STR_SCREEN_HEIGHT_HD && h == GL_STR_SCREEN_WIDTH_HD)) {
+
+1503 
+msg
+->
+v®
+ = 
+GL_POPUP_GENLIST_HEIGHT_HD
+;
+
+1504 
+       `edje_objeù_mes§ge_£nd
+(
+       `\96m_Ïyout_edje_g\91
+(
+ly
+), 
+EDJE_MESSAGE_INT
+, 2, 
+msg
+);
+
+1506 
+       `ä\93
+(
+msg
+);
+
+1507 
+       `\93xt_objeù_ev\92t_ÿÎback_add
+(
+pÝup
+, 
+EEXT_CALLBACK_BACK
+,
+
+1508 
+\93xt_pÝup_back_cb
+, 
+NULL
+);
+
+1509 
+       `evas_objeù_»³©_ev\92ts_£t
+(
+pÝup
+, 
+EINA_FALSE
+);
+
+1510 
+       `gl_dbg
+("EXIT");
+
+1511 
+       }
+}
+
+1513 \18\1e
+       $__gl_thumbs_ed\99_ÿnûl_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+1515 
+       `GL_CHECK
+(
+d©a
+);
+
+1516 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1517 
+       `gl_dbg
+("");
+
+1518 ià(
+ad
+->
+pÝup\9afo
+.
+pÝup
+) {
+
+1519 
+       `evas_objeù_d\96
+(
+ad
+->
+pÝup\9afo
+.
+pÝup
+);
+
+1521 
+ad
+->
+pÝup\9afo
+.
+pÝup
+ = 
+NULL
+;
+
+1522 
+       }
+}
+
+1524 \18\1e
+       $__gl_thumbs_ed\99_move_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+1526 
+       `GL_CHECK
+(
+d©a
+);
+
+1527 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1528 
+       `gl_dbg
+("");
+
+1530 ià(
+ad
+->
+pÝup\9afo
+.
+pÝup
+) {
+
+1531 
+       `evas_objeù_d\96
+(
+ad
+->
+pÝup\9afo
+.
+pÝup
+);
+
+1533 
+ad
+->
+pÝup\9afo
+.
+pÝup
+ = 
+NULL
+;
+
+1534 
+ad
+->
+®bum\9afo
+.
+f\9ee_mc_mode
+ = 
+GL_MC_MOVE
+;
+
+1535 ià(
+ad
+->
+grid\9afo
+.
+\99
+) {
+
+1536 
+gl_\99em
+ *
+g\99em
+ = 
+NULL
+;
+
+1537 \12
+út
+ = 
+       `_gl_d©a_£Ëùed_li¡_couÁ
+(
+ad
+);
+
+1538 \12
+i
+;
+
+1539 \ f
+i
+ = 0; i < 
+út
+; i++) {
+
+1540 
+g\99em
+ = 
+       `e\9aa_li¡_Áh
+(
+ad
+->
+£l\9afo
+.
+\96
+, 
+i
+);
+
+1541 
+       `GL_CHECK
+(
+g\99em
+);
+
+1542 
+       `GL_CHECK
+(
+g\99em
+->
+®bum
+);
+
+1543 
+       `GL_CHECK
+(
+g\99em
+->
+®bum
+->
+þu¡\94
+);
+
+1544 ià(!
+       `¡rcmp
+(
+ad
+->
+®bum\9afo
+.
+·th
+, 
+g\99em
+->
+®bum
+->
+þu¡\94
+->path)) {
+
+1545 
+       `_gl_pÝup_ü\97\8b_loÿl
+(
+d©a
+, 
+GL_POPUP_NOBUT
+,
+
+1546 
+GL_STR_ID_SAME_DESTINATION_ERROR_MSG
+);
+
+1550 
+       `gl_move_cÝy_to_®bum
+(
+ad
+);
+
+1552 
+       }
+}
+
+1554 \18\1e
+       $__gl_thumbs_ed\99\97\8b_®bum_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+1556 
+       `GL_CHECK
+(
+d©a
+);
+
+1557 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1558 
+       `gl_dbg
+("");
+
+1560 ià(
+ad
+->
+pÝup\9afo
+.
+pÝup
+) {
+
+1561 
+       `evas_objeù_d\96
+(
+ad
+->
+pÝup\9afo
+.
+pÝup
+);
+
+1563 
+ad
+->
+pÝup\9afo
+.
+pÝup
+ = 
+NULL
+;
+
+1564 
+ad
+->
+®bum\9afo
+.
+·th
+ = 
+NULL
+;
+
+1565 
+ad
+->
+®bum\9afo
+.
+f\9ee_mc_mode
+ = 
+GL_MC_COPY
+;
+
+1566 ià(
+       `_gl_thumbs_g\91_ed\99_mode
+(
+d©a
+è=ð
+GL_THUMBS_EDIT_COPY
+) {
+
+1567 
+ad
+->
+®bum\9afo
+.
+f\9ee_mc_mode
+ = 
+GL_MC_COPY
+;
+
+1568 } \vià(
+       `_gl_thumbs_g\91_ed\99_mode
+(
+d©a
+è=ð
+GL_THUMBS_EDIT_MOVE
+) {
+
+1569 
+ad
+->
+®bum\9afo
+.
+f\9ee_mc_mode
+ = 
+GL_MC_MOVE
+;
+
+1571 
+       `_gl_®bums_Ãw_ü\97\8b_v\9bw
+(
+ad
+, 
+gl_move_cÝy_to_®bum
+);
+
+1573 
+       }
+}
+
+1575 \18\1e
+       $__gl_thumbs_ed\99_cÝy_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+1577 
+       `GL_CHECK
+(
+d©a
+);
+
+1578 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1579 
+       `gl_dbg
+("");
+
+1581 ià(
+ad
+->
+pÝup\9afo
+.
+pÝup
+) {
+
+1582 
+       `evas_objeù_d\96
+(
+ad
+->
+pÝup\9afo
+.
+pÝup
+);
+
+1584 
+ad
+->
+pÝup\9afo
+.
+pÝup
+ = 
+NULL
+;
+
+1585 
+ad
+->
+®bum\9afo
+.
+f\9ee_mc_mode
+ = 
+GL_MC_COPY
+;
+
+1586 ià(
+ad
+->
+grid\9afo
+.
+\99
+) {
+
+1587 
+       `gl_move_cÝy_to_®bum
+(
+ad
+);
+
+1589 
+       }
+}
+
+1591 \18\1e
+       $__gl_pÝup_move_cÝy_£l_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+1593 
+       `gl_dbg
+("");
+
+1594 
+       `GL_CHECK
+(
+obj
+);
+
+1595 
+       `GL_CHECK
+(
+d©a
+);
+
+1596 
+gl_pÝup_m\92u_s
+ *
+m\92u_d
+ = 
+       `evas_objeù_d©a_g\91
+(
+obj
+, 
+GL_POPUP_OBJ_DATA_KEY
+);
+
+1597 
+       `GL_CHECK
+(
+m\92u_d
+);
+
+1598 
+       `GL_CHECK
+(
+m\92u_d
+->
+ad
+);
+
+1599 
+gl_­pd©a
+ *
+ad
+ = 
+m\92u_d
+->ad;
+
+1600 
+       `GL_FREEIF
+(
+ad
+->
+®bum\9afo
+.
+·th
+);
+
+1602 
+Elm_Objeù_I\8bm
+ *
+\99
+ = (Elm_Objeù_I\8bm *)
+ei
+;
+
+1603 
+Elm_Objeù_I\8bm
+ *
+\99_f
+ = 
+NULL
+;
+
+1604 
+Elm_Objeù_I\8bm
+ *
+\99_l
+ = 
+NULL
+;
+
+1605 
+boÞ
+æag
+ = 
+çl£
+;
+
+1607 
+\99_f
+ = 
+       `\96m_g\92li¡_f\9c¡_\99em_g\91
+(
+obj
+);
+
+1608 
+\99_l
+ = 
+       `\96m_g\92li¡_Ï¡_\99em_g\91
+(
+obj
+);
+
+1610 ià(
+\99_f
+ && 
+\99_l
+) {
+
+1611 ià(
+       `\96m_g\92li¡_\99em_£Ëùed_g\91
+(
+\99_l
+)) {
+
+1612 
+æag
+ = 
+\8cue
+;
+
+1614 \1f
+\99_f
+ !ð
+NULL
+ && it_à!ð
+\99_l
+ && !
+æag
+) {
+
+1615 ià(
+       `\96m_g\92li¡_\99em_£Ëùed_g\91
+(
+\99_f
+)) {
+
+1616 
+æag
+ = 
+\8cue
+;
+
+1619 
+\99_f
+ = 
+       `\96m_g\92li¡_\99em_Ãxt_g\91
+(it_f);
+
+1623 ià(
+æag
+) {
+
+1624 
+ad
+->
+grid\9afo
+.
+\99
+ = it;
+
+1625 ià(
+d©a
+) {
+
+1626 
+ad
+->
+®bum\9afo
+.
+·th
+ = 
+       `¡rdup
+((\ 5*)
+d©a
+);
+
+1628 ià(
+       `_gl_thumbs_g\91_ed\99_mode
+(
+ad
+è=ð
+GL_THUMBS_EDIT_COPY
+) {
+
+1629 
+       `__gl_thumbs_ed\99_cÝy_cb
+(
+ad
+, 
+NULL
+, NULL);
+
+1630 } \vià(
+       `_gl_thumbs_g\91_ed\99_mode
+(
+ad
+è=ð
+GL_THUMBS_EDIT_MOVE
+) {
+
+1631 
+       `__gl_thumbs_ed\99_move_cb
+(
+ad
+, 
+NULL
+, NULL);
+
+1635 
+       }
+}
+
+1637 \18\ 5*
+       $__gl_pÝup_m\92u_g\91_g\92li¡_\8bxt
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+,
+
+1638 cڡ \ 5*
+·¹
+)
+
+1640 
+       `gl_dbg
+("");
+
+1641 
+gl_þu¡\94
+ *
+®bum
+ = (gl_þu¡\94 *)
+d©a
+;
+
+1642 \ 5*
+Ïb\96
+ = 
+NULL
+;
+
+1643 
+Ïb\96
+ = 
+       `_gl_g\91_i18n_®bum_Çme
+(
+®bum
+->
+þu¡\94
+);
+
+1645 ià(!
+       `¡rcmp
+(
+·¹
+, "elm.text")) {
+
+1646 \ 5*
+¡r
+ = 
+NULL
+;
+
+1647 
+       `GL_CHECK_NULL
+(
+Ïb\96
+);
+
+1648 
+¡r
+ = 
+       `_gl_¡r
+((\ 5*)
+Ïb\96
+);
+
+1649 ià(
+¡r
+)
+
+1650 \15 
+       `¡rdup
+(
+¡r
+);
+
+1652 \15 
+NULL
+;
+
+1653 
+       }
+}
+
+1655 
+Evas_Objeù
+ *
+       $__gl_pÝup_m\92u_g\91_g\92li¡_cÚ\8bÁ
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+,
+
+1656 cڡ \ 5*
+·¹
+)
+
+1658 
+gl_þu¡\94
+ *
+®bum_\99em
+ = (gl_þu¡\94 *)
+d©a
+;
+
+1659 
+Evas_Objeù
+ *
+ic
+ = 
+       `\96m_icÚ_add
+(
+obj
+);
+
+1661 ià(!
+       `¡rcmp
+(
+·¹
+, "elm.swallow.icon")) {
+
+1662 ià(
+GL_STORE_T_MMC
+ =ð
+®bum_\99em
+->
+þu¡\94
+->
+ty³
+) {
+
+1663 
+       `GL_ICON_SET_FILE
+(
+ic
+, 
+GL_ICON_MMC
+);
+
+1664 
+       `evas_objeù_size_h\9at_a¥eù_£t
+(
+ic
+, 
+EVAS_ASPECT_CONTROL_VERTICAL
+, 1, 1);
+
+1666 
+       `GL_ICON_SET_FILE
+(
+ic
+, 
+GL_ICON_FOLDER
+);
+
+1667 
+       `evas_objeù_size_h\9at_a¥eù_£t
+(
+ic
+, 
+EVAS_ASPECT_CONTROL_VERTICAL
+, 1, 1);
+
+1670 \15 
+ic
+;
+
+1671 
+       }
+}
+
+1673 \1e
+       $_gl_g\92li¡_\99em_­\92d
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+gl
+, 
+Elm_G\92li¡_I\8bm_CÏss
+ *
+gic
+)
+
+1675 
+       `GL_CHECK
+(
+gic
+);
+
+1676 
+       `GL_CHECK
+(
+gl
+);
+
+1677 
+       `GL_CHECK
+(
+d©a
+);
+
+1678 
+gl_pÝup_m\92u_s
+ *
+m\92u_d
+ = (gl_pÝup_m\92u_ *)
+d©a
+;
+
+1679 
+       `GL_CHECK
+(
+m\92u_d
+->
+ad
+);
+
+1680 
+gl_­pd©a
+ *
+ad
+ = 
+m\92u_d
+->ad;
+
+1681 
+       `GL_CHECK
+(
+ad
+->
+ma\9a\9afo
+.
+w\9a
+);
+
+1682 \12
+i
+ = 0;
+
+1683 
+E\9aa_Li¡
+ *
+®bum_li¡
+ = 
+NULL
+;
+
+1684 \12
+®l_couÁ
+ = 0;
+
+1685 
+gl_þu¡\94
+ *
+®bum
+ = 
+NULL
+;
+
+1687 
+       `evas_objeù_d©a_£t
+(
+gl
+, 
+GL_POPUP_OBJ_DATA_KEY
+, 
+m\92u_d
+);
+
+1688 ià(
+ad
+->
+®bum\9afo
+.
+\96
+ &&\87d->®bum\9afo.\96i¡->
+þi¡
+) {
+
+1689 
+®bum_li¡
+ = 
+ad
+->
+®bum\9afo
+.
+\96
+->
+þi¡
+;
+
+1690 
+®l_couÁ
+ = 
+       `e\9aa_li¡_couÁ
+(
+®bum_li¡
+);
+
+1692 
+       `gl_dbgE
+("cluster\86ist is NULL");
+
+1696 \ f
+i
+ = 0; i < 
+®l_couÁ
+; i++) {
+
+1697 
+®bum
+ = 
+       `e\9aa_li¡_Áh
+(
+®bum_li¡
+, 
+i
+);
+
+1698 
+       `GL_CHECK
+(
+®bum
+);
+
+1699 
+       `GL_CHECK
+(
+®bum
+->
+þu¡\94
+);
+
+1700 
+       `GL_CHECK
+(
+®bum
+->
+þu¡\94
+->
+di¥Ïy_Çme
+);
+
+1701 
+       `GL_CHECK
+(
+®bum
+->
+þu¡\94
+->
+uuid
+);
+
+1703 ià(
+®bum
+->
+þu¡\94
+->
+ty³
+ =ð
+GL_STORE_T_MMC
+ ||
+
+1704 
+®bum
+->
+þu¡\94
+->
+ty³
+ =ð
+GL_STORE_T_PHONE
+) {
+
+1705 
+       `\96m_g\92li¡_\99em_­³nd
+(
+gl
+, 
+gic
+, (\1e*)
+®bum
+,
+
+1706 
+NULL
+, 
+ELM_GENLIST_ITEM_NONE
+,
+
+1707 
+__gl_pÝup_move_cÝy_£l_cb
+,
+
+1708 
+®bum
+->
+þu¡\94
+->
+·th
+);
+
+1711 
+       }
+}
+
+1713 \12
+       $_gl_pÝup_ü\97\8b_cÝy_move
+(\1e*
+d©a
+, \1e*
+£l_cb
+, \1e*
+cb_d©a
+)
+
+1715 
+       `GL_CHECK_VAL
+(
+cb_d©a
+, -1);
+
+1716 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+1717 
+       `gl_dbg
+("");
+
+1718 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+1720 
+Evas_Objeù
+ *
+·»Á
+ = 
+ad
+->
+ma\9a\9afo
+.
+w\9a
+;
+
+1721 
+Evas_Objeù
+ *
+pÝup
+ = 
+       `\96m_pÝup_add
+(
+·»Á
+);
+
+1722 
+       `evas_objeù_size_h\9at_weight_£t
+(
+pÝup
+, 
+EVAS_HINT_EXPAND
+,
+
+1723 
+EVAS_HINT_EXPAND
+);
+
+1724 ià(
+       `_gl_thumbs_g\91_ed\99_mode
+(
+d©a
+è=ð
+GL_THUMBS_EDIT_COPY
+) {
+
+1725 
+       `_gl_ui_£t_\8cª¦©e_·¹_¡r
+(
+pÝup
+, "t\99Ë,\8bxt", 
+GL_STR_ID_COPY
+);
+
+1726 } \vià(
+       `_gl_thumbs_g\91_ed\99_mode
+(
+d©a
+è=ð
+GL_THUMBS_EDIT_MOVE
+) {
+
+1727 
+       `_gl_ui_£t_\8cª¦©e_·¹_¡r
+(
+pÝup
+, "t\99Ë,\8bxt", 
+GL_STR_ID_MOVE
+);
+
+1729 
+       `evas_objeù_show
+(
+pÝup
+);
+
+1730 
+ad
+->
+pÝup\9afo
+.
+pÝup
+ =\85opup;
+
+1732 
+Evas_Objeù
+ *
+b\8a1
+ = 
+       `\96m_bu\89Ú_add
+(
+·»Á
+);
+
+1733 
+Evas_Objeù
+ *
+b\8a2
+ = 
+       `\96m_bu\89Ú_add
+(
+·»Á
+);
+
+1734 
+       `\96m_objeù_¡yË_£t
+(
+b\8a1
+, "default");
+
+1735 
+       `\96m_objeù_¡yË_£t
+(
+b\8a2
+, "default");
+
+1736 
+       `evas_objeù_size_h\9at_weight_£t
+(
+b\8a1
+, 
+EVAS_HINT_EXPAND
+, EVAS_HINT_EXPAND);
+
+1737 
+       `evas_objeù_size_h\9at_weight_£t
+(
+b\8a2
+, 
+EVAS_HINT_EXPAND
+, EVAS_HINT_EXPAND);
+
+1738 
+       `evas_objeù_size_h\9at_®ign_£t
+(
+b\8a1
+, 1, 1);
+
+1739 
+       `evas_objeù_size_h\9at_®ign_£t
+(
+b\8a2
+, 1, 1);
+
+1740 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+pÝup
+, "bu\89Ú1", 
+b\8a1
+);
+
+1741 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+pÝup
+, "bu\89Ú2", 
+b\8a2
+);
+
+1742 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+b\8a1
+, "þicked", 
+__gl_thumbs_ed\99_ÿnûl_cb
+, 
+ad
+);
+
+1743 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+b\8a2
+, "þicked", 
+__gl_thumbs_ed\99\97\8b_®bum_cb
+, 
+ad
+);
+
+1744 
+       `_gl_ui_£t_\8cª¦©e_·¹_¡r
+(
+b\8a1
+, "deçuÉ", 
+GL_STR_ID_CANCEL
+);
+
+1745 
+       `_gl_ui_£t_\8cª¦©e_·¹_¡r
+(
+b\8a2
+, "deçuÉ", 
+GL_STR_ID_NEW_ALBUM
+);
+
+1747 
+gl_pÝup_m\92u_s
+ *
+m\92u_d
+ = 
+NULL
+;
+
+1748 
+m\92u_d
+ = (
+gl_pÝup_m\92u_s
+ *)
+       `ÿÎoc
+(1, \17(gl_popup_menu_s));
+
+1749 
+       `GL_CHECK_VAL
+(
+m\92u_d
+, -1);
+
+1750 
+m\92u_d
+->
+ad
+ =\87d;
+
+1751 
+Evas_Objeù
+ *
+g\92li¡
+ = 
+       `__gl_pÝup_add_g\92li¡
+(
+m\92u_d
+, 
+pÝup
+, "default",
+
+1752 
+__gl_pÝup_m\92u_g\91_g\92li¡_\8bxt
+, 
+__gl_pÝup_m\92u_g\91_g\92li¡_cÚ\8bÁ
+,
+
+1753 
+_gl_g\92li¡_\99em_­\92d
+);
+
+1754 
+Evas_Objeù
+ *
+ly
+ = 
+       `\96m_Ïyout_add
+(
+pÝup
+);
+
+1755 
+       `\96m_Ïyout_f\9ee_£t
+(
+ly
+, 
+GL_EDJ_FILE
+, "list_popup_swallow_ly");
+
+1756 
+Evas_Objeù
+ *
+ly1
+ = 
+       `\96m_Ïyout_add
+(
+pÝup
+);
+
+1757 
+       `\96m_Ïyout_f\9ee_£t
+(
+ly1
+, 
+GL_EDJ_FILE
+, "list_popup_content_ly");
+
+1758 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+ly
+,"li¡", 
+g\92li¡
+);
+
+1759 
+       `\96m_objeù_cÚ\8bÁ_£t
+(
+pÝup
+, 
+ly
+);
+
+1760 \12
+w
+,
+h
+;
+
+1761 
+       `evas_objeù_geom\91ry_g\91
+(
+ad
+->
+ma\9a\9afo
+.
+w\9a
+, 
+NULL
+, NULL, &
+w
+, &
+h
+);
+
+1762 
+Edje_Mes§ge_IÁ
+ *
+msg
+ = (Edje_Mes§ge_IÁ *)
+       `m®loc
+(\17(Edje_Message_Int) + \17(\12));
+
+1763 
+       `GL_CHECK_VAL
+(
+msg
+, -1);
+
+1764 ià((
+w
+ =ð
+GL_STR_SCREEN_WIDTH_WVGA
+ && 
+h
+ =ð
+GL_STR_SCREEN_HEIGHT_WVGA
+) || (w == GL_STR_SCREEN_HEIGHT_WVGA && h == GL_STR_SCREEN_WIDTH_WVGA)) {
+
+1765 
+msg
+->
+v®
+ = 
+GL_POPUP_GENLIST_HEIGHT_WVGA
+;
+
+1766 
+       `edje_objeù_mes§ge_£nd
+(
+       `\96m_Ïyout_edje_g\91
+(
+ly
+è,
+EDJE_MESSAGE_INT
+, 2, 
+msg
+);
+
+1767 } \vià((
+w
+ =ð
+GL_STR_SCREEN_WIDTH_QHD
+ && 
+h
+ =ð
+GL_STR_SCREEN_HEIGHT_QHD
+) || (w == GL_STR_SCREEN_HEIGHT_QHD && h == GL_STR_SCREEN_WIDTH_QHD)) {
+
+1768 
+msg
+->
+v®
+ = 
+GL_POPUP_GENLIST_HEIGHT_QHD
+;
+
+1769 
+       `edje_objeù_mes§ge_£nd
+(
+       `\96m_Ïyout_edje_g\91
+(
+ly
+), 
+EDJE_MESSAGE_INT
+, 2, 
+msg
+);
+
+1770 } \vià((
+w
+ =ð
+GL_STR_SCREEN_WIDTH_HD
+ && 
+h
+ =ð
+GL_STR_SCREEN_HEIGHT_HD
+) || (w == GL_STR_SCREEN_HEIGHT_HD && h == GL_STR_SCREEN_WIDTH_HD)) {
+
+1771 
+msg
+->
+v®
+ = 
+GL_POPUP_GENLIST_HEIGHT_HD
+;
+
+1772 
+       `edje_objeù_mes§ge_£nd
+(
+       `\96m_Ïyout_edje_g\91
+(
+ly
+), 
+EDJE_MESSAGE_INT
+, 2, 
+msg
+);
+
+1774 
+       `ä\93
+(
+msg
+);
+
+1775 
+       `evas_objeù_show
+(
+g\92li¡
+);
+
+1776 
+       `\93xt_objeù_ev\92t_ÿÎback_add
+(
+pÝup
+, 
+EEXT_CALLBACK_BACK
+,
+
+1777 
+\93xt_pÝup_back_cb
+, 
+NULL
+);
+
+1780 
+       }
+}
+
+       @src/widget/gl-progressbar.c
+
+18 \ 2
+       ~"g®Ëry.h
+"
+
+19 \ 2
+       ~"gl-´og»ssb¬.h
+"
+
+20 \ 2
+       ~"gl-ui-ut\9e.h
+"
+
+21 \ 2
+       ~"gl-ut\9e.h
+"
+
+22 \ 2
+       ~"gl-debug.h
+"
+
+23 \ 2
+       ~"gl-®bums.h
+"
+
+24 \ 2
+       ~"gl-thumbs.h
+"
+
+25 \ 2
+       ~"gl-cÚ\8cÞb¬.h
+"
+
+26 \ 2
+       ~"gl-th»ad-ut\9e.h
+"
+
+27 \ 2
+       ~"gl-¡r\9ags.h
+"
+
+28 \ 2
+       ~"gl-bu\89Ú.h
+"
+
+30 \ 1
+       #GL_ALBUMS_PBAR_BG_COLOR_VAL
+ 48
+
+       )
+
+31 \ 1
+       #GL_WEB_DOWNLOAD_INVALID_ID
+ 0
+
+32 \ 1
+       #GL_PBAR_STATUS_LEN_MAX
+ 128
+
+       )
+
+33 \ 1
+       #GL_PBAR_WIDTH_MIN_INC
+ (576*
+       `\96m_cÚfig_sÿË_g\91
+())
+
+34 
+
+       )
+
+35 \ 1
+       #GL_PROGRESSBAR_STYLE_GALLERY_PROGRESS
+ "g®Ëry/li¡_´og»ss"
+
+       )
+
+36 \ 1
+       #GL_PROGRESSBAR_STYLE_PROGRESS
+ "li¡_´og»ss"
+
+       )
+
+37 \ 1
+       #GL_PROGRESSBAR_STYLE_WHEEL
+ "wh\93l"
+
+       )
+
+38 \ 1
+       #GL_LABEL_STYLE_DEFAULT
+GL_CHECKBOX_STYLE_DEFAULT
+
+
+       )
+
+39 \ 1
+       #GL_PROGRESSBAR_STYLE_PROCESS
+ "li¡_´oûss"
+
+       )
+
+41 \ 1
+       #GL_FONT_STYLE_ALBUM_S
+ "<cÞÜ=#000000FF><fÚt=Tiz\92:¡yË=Medium\81ext_þassñiz\92><fÚt_size=28>"
+
+       )
+
+42 \ 1
+       #GL_FONT_STYLE_ALBUM_E
+ "</fÚt_size></fÚt></cÞÜ>"
+
+       )
+
+44 \18\1e
+       $__gl_pb_ÿnûl_th»ad_pb¬_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+46 
+       `gl_dbg
+("");
+
+48 
+       `gl_th»ad_£t_ÿnûl_¡©e
+(
+d©a
+, 
+GL_PB_CANCEL_BUTTON
+);
+
+50 
+       `gl_pb_d\96_pb¬
+(
+d©a
+);
+
+51 
+       }
+}
+
+53 \18
+E\9aa_BoÞ
+       $__gl_pb_pb¬_tim\94_cb
+(\1e*
+d©a
+)
+
+55 
+       `gl_dbg
+("Timeout, destroy\85rogressbar\87nd\81imer.");
+
+56 
+       `gl_pb_d\96_pb¬
+(
+d©a
+);
+
+57 \15 
+ECORE_CALLBACK_CANCEL
+;
+
+58 
+       }
+}
+
+62 \18
+\9al\9ae
\1e
+       $__gl_pb_\97_back_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ei
+)
+
+64 
+       `gl_dbg
+("Use customized callback");
+
+65 
+Evas_Objeù
+ *
+b\8a_ÿnûl
+ = 
+NULL
+;
+
+66 
+b\8a_ÿnûl
+ = 
+       `\96m_objeù_·¹_cÚ\8bÁ_g\91
+(
+obj
+, "button1");
+
+67 
+       `GL_CHECK
+(
+b\8a_ÿnûl
+);
+
+68 
+       `evas_objeù_sm¬t_ÿÎback_ÿÎ
+(
+b\8a_ÿnûl
+, "þicked", 
+NULL
+);
+
+69 
+       }
+}
+
+72 \12
+       $gl_pb_make_th»ad_pb¬_wh\93l
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+·»Á
+, \ 5*
+t\99Ë
+)
+
+74 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+75 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+76 
+Evas_Objeù
+ *
+pÝup
+ = 
+NULL
+;
+
+77 
+Evas_Objeù
+ *
+´og»ssb¬
+ = 
+NULL
+;
+
+79 
+       `gl_pb_d\96_pb¬
+(
+ad
+);
+
+80 
+pÝup
+ = 
+       `\96m_pÝup_add
+(
+·»Á
+);
+
+83 
+       `\93xt_objeù_ev\92t_ÿÎback_add
+(
+pÝup
+, 
+EEXT_CALLBACK_BACK
+,
+
+84 
+__gl_pb_ÿnûl_th»ad_pb¬_cb
+, 
+d©a
+);
+
+85 
+Evas_Objeù
+ *
+pÝupLayout
+ = 
+       `\96m_Ïyout_add
+(
+pÝup
+);
+
+86 
+       `\96m_Ïyout_f\9ee_£t
+(
+pÝupLayout
+, 
+GL_EDJ_FILE
+, "popup_text_progressbar_view_layout");
+
+87 
+       `evas_objeù_size_h\9at_weight_£t
+(
+pÝupLayout
+, 
+EVAS_HINT_EXPAND
+, EVAS_HINT_EXPAND);
+
+88 
+       `evas_objeù_show
+(
+pÝupLayout
+);
+
+90 
+´og»ssb¬
+ = 
+       `\96m_´og»ssb¬_add
+(
+pÝup
+);
+
+91 
+       `\96m_objeù_¡yË_£t
+(
+´og»ssb¬
+, 
+GL_PROGRESSBAR_STYLE_WHEEL
+);
+
+92 
+       `evas_objeù_size_h\9at_®ign_£t
+(
+´og»ssb¬
+, 
+EVAS_HINT_FILL
+, EVAS_HINT_FILL);
+
+93 
+       `evas_objeù_size_h\9at_weight_£t
+(
+´og»ssb¬
+, 
+EVAS_HINT_EXPAND
+, EVAS_HINT_EXPAND);
+
+94 
+       `\96m_´og»ssb¬_pul£
+(
+´og»ssb¬
+, 
+EINA_TRUE
+);
+
+95 
+       `evas_objeù_show
+(
+´og»ssb¬
+);
+
+97 ià(
+t\99Ë
+ && (!
+       `¡rcmp
+(
+GL_STR_ID_MOVING
+,\81\99Ëè|| !¡rcmp(
+GL_STR_ID_COPYING
+,\81itle))) {
+
+98 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+pÝupLayout
+, "´og»ssb¬", 
+´og»ssb¬
+);
+
+100 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+pÝupLayout
+, "´og»ssb¬_Ëá", 
+´og»ssb¬
+);
+
+101 
+       `_gl_ui_£t_\8cª¦©e_·¹_¡r
+(
+pÝupLayout
+, "\96m.\8bxt.desü\9dtiÚ", 
+t\99Ë
+);
+
+103 
+       `\96m_objeù_cÚ\8bÁ_£t
+(
+pÝup
+, 
+pÝupLayout
+);
+
+104 
+       `evas_objeù_show
+(
+pÝup
+);
+
+106 
+ad
+->
+pb¬\9afo
+.
+pÝup
+ =\85opup;
+
+107 
+ad
+->
+pb¬\9afo
+.
+pb¬
+ = 
+´og»ssb¬
+;
+
+108 
+ad
+->
+pb¬\9afo
+.
+f\9aished_út
+ = 0;
+
+112 
+       }
+}
+
+114 \12
+       $gl_pb_»äesh_th»ad_pb¬
+(\1e*
+d©a
+, \12
+cur_út
+, \12
+tÙ®_út
+)
+
+116 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+117 \ 5
+¡©us_\9afo
+[
+GL_POPUP_DESC_LEN_MAX
+] = { 0, };
+
+118 \b
+³rûÁ
+ = 0.0;
+
+119 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+120 
+       `GL_CHECK_VAL
+(
+ad
+->
+pb¬\9afo
+.
+pb¬
+, -1);
+
+121 
+       `GL_CHECK_VAL
+(
+ad
+->
+pb¬\9afo
+.
+¡©us_Ïb\96
+, -1);
+
+123 
+       `¢´\9atf
+(
+¡©us_\9afo
+, \17(status_info),
+
+124 
+GL_FONT_STYLE_POP_S
+"%d/%d"
+GL_FONT_STYLE_POP_E
+, 
+cur_út
+,
+
+125 
+tÙ®_út
+);
+
+127 
+ad
+->
+pb¬\9afo
+.
+f\9aished_út
+ = 
+cur_út
+;
+
+128 
+       `\96m_objeù_\8bxt_£t
+(
+ad
+->
+pb¬\9afo
+.
+¡©us_Ïb\96
+, 
+¡©us_\9afo
+);
+
+129 
+       `evas_objeù_show
+(
+ad
+->
+pb¬\9afo
+.
+¡©us_Ïb\96
+);
+
+131 ià(
+tÙ®_út
+ != 0) {
+
+132 
+³rûÁ
+ = (\b)
+cur_út
+ / (\b)
+tÙ®_út
+;
+
+133 
+       `\96m_´og»ssb¬_v®ue_£t
+(
+ad
+->
+pb¬\9afo
+.
+pb¬
+, 
+³rûÁ
+);
+
+137 
+       }
+}
+
+140 \12
+       $gl_pb_add_pb¬_tim\94
+(\1e*
+d©a
+)
+
+142 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+143 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+144 
+ad
+->
+pb¬\9afo
+.
+pb¬_tim\94
+ = 
+       `ecÜe_tim\94_add
+(1.0f, 
+__gl_pb_pb¬_tim\94_cb
+,
+
+145 
+d©a
+);
+
+147 
+       }
+}
+
+149 \12
+       $gl_pb_d\96_pb¬
+(\1e*
+d©a
+)
+
+151 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+152 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+153 
+       `gl_dbg
+("destroy\85rogressbar");
+
+155 ià(
+ad
+->
+pb¬\9afo
+.
+pÝup
+) {
+
+156 
+       `evas_objeù_d\96
+(
+ad
+->
+pb¬\9afo
+.
+pÝup
+);
+
+157 
+ad
+->
+pb¬\9afo
+.
+pÝup
+ = 
+NULL
+;
+
+158 
+ad
+->
+pb¬\9afo
+.
+pb¬
+ = 
+NULL
+;
+
+159 
+ad
+->
+pb¬\9afo
+.
+¡©us_Ïb\96
+ = 
+NULL
+;
+
+160 
+ad
+->
+pb¬\9afo
+.
+f\9aished_út
+ = 0;
+
+162 
+       `GL_IF_DEL_TIMER
+(
+ad
+->
+pb¬\9afo
+.
+pb¬_tim\94
+);
+
+164 
+       }
+}
+
+166 
+Evas_Objeù
+ *
+       $gl_pb_make_pb¬
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+·»Á
+, \ 5*
+¡©e
+)
+
+168 
+       `GL_CHECK_NULL
+(
+d©a
+);
+
+169 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+170 
+       `gl_dbg
+("Mak\90´og»ssb¬, s\8f\8b:%s", 
+¡©e
+);
+
+171 \ 5
+Ïb\96_¡r
+[
+GL_POPUP_DESC_LEN_MAX
+] = { 0, };
+
+173 ià(
+ad
+->
+pb¬\9afo
+.
+pÝup
+) {
+
+174 ià(
+ad
+->
+pb¬\9afo
+.
+pb¬_tim\94
+) {
+
+175 
+       `gl_dbg
+("Del\85bar\81imer in update case!");
+
+176 
+       `ecÜe_tim\94_d\96
+(
+ad
+->
+pb¬\9afo
+.
+pb¬_tim\94
+);
+
+177 
+ad
+->
+pb¬\9afo
+.
+pb¬_tim\94
+ = 
+NULL
+;
+
+179 
+       `gl_dbg
+("Progressbar\87lready created, update its\86abel.");
+
+180 
+       `¢´\9atf
+(
+Ïb\96_¡r
+, \17(label_str),
+
+181 
+GL_FONT_STYLE_POP_S
+"%s"
+GL_FONT_STYLE_POP_E
+, 
+¡©e
+);
+
+182 
+       `\96m_objeù_\8bxt_£t
+(
+ad
+->
+pb¬\9afo
+.
+¡©us_Ïb\96
+, 
+Ïb\96_¡r
+);
+
+183 \15 
+ad
+->
+pb¬\9afo
+.
+pÝup
+;
+
+185 
+       `gl_pb_d\96_pb¬
+(
+ad
+);
+
+186 
+Evas_Objeù
+ *
+pÝup
+ = 
+NULL
+;
+
+187 
+Evas_Objeù
+ *
+´og»ssb¬
+ = 
+NULL
+;
+
+188 
+Evas_Objeù
+ *
+Ïyout
+ = 
+NULL
+;
+
+189 
+Evas_Objeù
+ *
+Ïb\96
+ = 
+NULL
+;
+
+191 
+pÝup
+ = 
+       `\96m_pÝup_add
+(
+·»Á
+);
+
+194 
+       `\93xt_objeù_ev\92t_ÿÎback_add
+(
+pÝup
+, 
+EEXT_CALLBACK_BACK
+, 
+\93xt_pÝup_back_cb
+,
+
+195 
+NULL
+);
+
+197 
+       `\96m_objeù_¡yË_£t
+(
+pÝup
+, "content_no_vhpad");
+
+199 
+Ïb\96
+ = 
+       `\96m_Ïb\96_add
+(
+pÝup
+);
+
+200 
+       `\96m_objeù_¡yË_£t
+(
+Ïb\96
+, "popup/default");
+
+201 
+       `¢´\9atf
+(
+Ïb\96_¡r
+, \17(label_str),
+
+202 
+GL_FONT_STYLE_POP_S
+"%s"
+GL_FONT_STYLE_POP_E
+, 
+¡©e
+);
+
+203 
+       `\96m_objeù_\8bxt_£t
+(
+Ïb\96
+, 
+Ïb\96_¡r
+);
+
+211 
+       `\96m_Ïb\96_l\9ae_w¿p_£t
+(
+Ïb\96
+, 
+ELM_WRAP_MIXED
+);
+
+212 
+       `evas_objeù_size_h\9at_®ign_£t
+(
+Ïb\96
+, 
+EVAS_HINT_FILL
+, EVAS_HINT_FILL);
+
+213 
+       `evas_objeù_size_h\9at_weight_£t
+(
+Ïb\96
+, 
+EVAS_HINT_EXPAND
+, 0.0);
+
+214 
+       `evas_objeù_show
+(
+Ïb\96
+);
+
+216 
+Ïyout
+ = 
+       `\96m_Ïyout_add
+(
+pÝup
+);
+
+217 
+       `\96m_Ïyout_f\9ee_£t
+(
+Ïyout
+, 
+GL_EDJ_FILE
+, "popup_processing");
+
+218 
+       `evas_objeù_size_h\9at_weight_£t
+(
+Ïyout
+, 
+EVAS_HINT_EXPAND
+,
+
+219 
+EVAS_HINT_EXPAND
+);
+
+221 
+´og»ssb¬
+ = 
+       `\96m_´og»ssb¬_add
+(
+pÝup
+);
+
+222 
+       `\96m_objeù_¡yË_£t
+(
+´og»ssb¬
+, 
+GL_PROGRESSBAR_STYLE_PROCESS
+);
+
+223 
+       `\96m_´og»ssb¬_hÜizÚ\8fl_£t
+(
+´og»ssb¬
+, 
+EINA_TRUE
+);
+
+224 
+       `\96m_´og»ssb¬_un\99_fÜm©_£t
+(
+´og»ssb¬
+, 
+NULL
+);
+
+225 
+       `\96m_´og»ssb¬_pul£
+(
+´og»ssb¬
+, 
+EINA_TRUE
+);
+
+226 
+       `evas_objeù_size_h\9at_®ign_£t
+(
+´og»ssb¬
+, 
+EVAS_HINT_FILL
+,
+
+227 
+EVAS_HINT_FILL
+);
+
+228 
+       `evas_objeù_size_h\9at_weight_£t
+(
+´og»ssb¬
+, 
+EVAS_HINT_EXPAND
+,
+
+229 
+EVAS_HINT_EXPAND
+);
+
+230 
+       `evas_objeù_show
+(
+´og»ssb¬
+);
+
+232 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+Ïyout
+, "\96m.sw®low.cÚ\8bÁ", 
+´og»ssb¬
+);
+
+233 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+Ïyout
+, "\96m.sw®low.\8bxt", 
+Ïb\96
+);
+
+235 
+       `\96m_objeù_cÚ\8bÁ_£t
+(
+pÝup
+, 
+Ïyout
+);
+
+236 
+       `evas_objeù_show
+(
+pÝup
+);
+
+238 
+ad
+->
+pb¬\9afo
+.
+pÝup
+ =\85opup;
+
+239 
+ad
+->
+pb¬\9afo
+.
+pb¬
+ = 
+´og»ssb¬
+;
+
+240 
+ad
+->
+pb¬\9afo
+.
+¡©us_Ïb\96
+ = 
+Ïb\96
+;
+
+241 \15 
+pÝup
+;
+
+242 
+       }
+}
+
+244 
+Evas_Objeù
+ *
+       $_gl_pb_make_¶aû_pb¬
+(
+Evas_Objeù
+ *
+·»Á
+)
+
+246 
+       `GL_CHECK_NULL
+(
+·»Á
+);
+
+247 
+       `gl_dbg
+("");
+
+249 
+Evas_Objeù
+ *
+´og»ssb¬
+ = 
+NULL
+;
+
+250 
+´og»ssb¬
+ = 
+       `\96m_´og»ssb¬_add
+(
+·»Á
+);
+
+251 
+       `\96m_objeù_¡yË_£t
+(
+´og»ssb¬
+, 
+GL_PROGRESSBAR_STYLE_PROCESS
+);
+
+252 
+       `\96m_´og»ssb¬_un\99_fÜm©_£t
+(
+´og»ssb¬
+, 
+NULL
+);
+
+253 
+       `\96m_´og»ssb¬_pul£
+(
+´og»ssb¬
+, 
+EINA_TRUE
+);
+
+254 
+       `evas_objeù_size_h\9at_®ign_£t
+(
+´og»ssb¬
+, 
+EVAS_HINT_FILL
+,
+
+255 
+EVAS_HINT_FILL
+);
+
+256 
+       `evas_objeù_size_h\9at_weight_£t
+(
+´og»ssb¬
+, 
+EVAS_HINT_EXPAND
+,
+
+257 
+EVAS_HINT_EXPAND
+);
+
+258 
+       `evas_objeù_show
+(
+´og»ssb¬
+);
+
+259 \15 
+´og»ssb¬
+;
+
+260 
+       }
+}
+
+       @src/widget/gl-rotate-bg.c
+
+18 #ifdeà
+_USE_ROTATE_BG
+
+
+20 \ 2
+       ~"gl-r٩e-bg.h
+"
+
+21 \ 2
+       ~"gl-exif.h
+"
+
+22 \ 2
+       ~"gl-debug.h
+"
+
+23 \ 2
+       ~"gl-icÚs.h
+"
+
+25 \ 1
+       #GL_ROTATE_BG_DATA_KEY
+ "gl_bg_d©a"
+
+       )
+
+26 \ 1
+       #GL_ROTATE_BG_GROUP
+ "gl_bg_Ïyout"
+
+       )
+
+28 \e\19
+       s_gl_bg
+ {
+
+29 
+Evas_Objeù
+ *
+       mba£
+;
+
+30 
+Evas_Objeù
+ *
+       mimg
+;
+
+31 \ 5*
+       mf\9ee
+;
+
+32 
+boÞ
+       mb_´\96ßd
+;
+
+33 \1e*
+       mu£r_d©a
+;
+
+34 } 
+       tgl_bg
+;
+
+36 \18\12
+       $__gl_r٩e_bg_image_r٩e_180
+(
+Evas_Objeù
+ *
+obj
+)
+
+38 
+       `GL_CHECK_VAL
+(
+obj
+, -1);
+
+39 \1d\12*
+d©a
+ = 
+NULL
+;
+
+40 \1d\12*
+d©a2
+ = 
+NULL
+;
+
+41 \1d\12*
+to
+ = 
+NULL
+;
+
+42 \1d\12*
+äom
+ = 
+NULL
+;
+
+43 \12
+x
+ = 0;
+
+44 \12
+hw
+ = 0;
+
+45 \12
+iw
+ = 0;
+
+46 \12
+ih
+ = 0;
+
+48 
+       `evas_objeù_image_size_g\91
+(
+obj
+, &
+iw
+, &
+ih
+);
+
+49 \12
+size
+ = 
+iw
+ * 
+ih
+ * \17(\1d\12);
+
+52 
+d©a
+ = 
+       `evas_objeù_image_d©a_g\91
+(
+obj
+, 
+EINA_FALSE
+);
+
+54 
+d©a2
+ = 
+       `ÿÎoc
+(1, 
+size
+);
+
+55 
+       `GL_CHECK_VAL
+(
+d©a2
+, -1);
+
+56 
+       `memýy
+(
+d©a2
+, 
+d©a
+, 
+size
+);
+
+58 
+d©a
+ = 
+       `evas_objeù_image_d©a_g\91
+(
+obj
+, 
+EINA_TRUE
+);
+
+60 
+hw
+ = 
+iw
+ * 
+ih
+;
+
+61 
+x
+ = 
+hw
+;
+
+62 
+to
+ = 
+d©a
+;
+
+63 
+äom
+ = 
+d©a2
+ + 
+hw
+ - 1;
+
+64 \ f; --
+x
+ >= 0;) {
+
+65 *
+to
+ = *
+äom
+;
+
+66 
+to
+++;
+
+67 
+äom
+--;
+
+71 
+       `GL_FREE
+(
+d©a2
+);
+
+73 
+       `evas_objeù_image_d©a_£t
+(
+obj
+, 
+d©a
+);
+
+74 
+       `evas_objeù_image_d©a_upd©e_add
+(
+obj
+, 0, 0, 
+iw
+, 
+ih
+);
+
+76 
+       }
+}
+
+78 \18\12
+       $__gl_r٩e_bg_image_r٩e_90
+(
+Evas_Objeù
+ *
+obj
+)
+
+80 
+       `GL_CHECK_VAL
+(
+obj
+, -1);
+
+81 \1d\12*
+d©a
+ = 
+NULL
+;
+
+82 \1d\12*
+d©a2
+ = 
+NULL
+;
+
+83 \1d\12*
+to
+ = 
+NULL
+;
+
+84 \1d\12*
+äom
+ = 
+NULL
+;
+
+85 \12
+x
+ = 0;
+
+86 \12
+y
+ = 0;
+
+87 \12
+w
+ = 0;
+
+88 \12
+hw
+ = 0;
+
+89 \12
+iw
+ = 0;
+
+90 \12
+ih
+ = 0;
+
+92 
+       `evas_objeù_image_size_g\91
+(
+obj
+, &
+iw
+, &
+ih
+);
+
+93 \12
+size
+ = 
+iw
+ * 
+ih
+ * \17(\1d\12);
+
+96 
+d©a
+ = 
+       `evas_objeù_image_d©a_g\91
+(
+obj
+, 
+EINA_FALSE
+);
+
+98 
+d©a2
+ = 
+       `ÿÎoc
+(1, 
+size
+);
+
+99 
+       `GL_CHECK_VAL
+(
+d©a2
+, -1);
+
+100 
+       `memýy
+(
+d©a2
+, 
+d©a
+, 
+size
+);
+
+103 
+w
+ = 
+ih
+;
+
+104 
+ih
+ = 
+iw
+;
+
+105 
+iw
+ = 
+w
+;
+
+106 
+hw
+ = 
+w
+ * 
+ih
+;
+
+109 
+       `evas_objeù_image_size_£t
+(
+obj
+, 
+iw
+, 
+ih
+);
+
+110 
+d©a
+ = 
+       `evas_objeù_image_d©a_g\91
+(
+obj
+, 
+EINA_TRUE
+);
+
+111 
+to
+ = 
+d©a
+ + 
+w
+ - 1;
+
+112 
+hw
+ = -hw - 1;
+
+113 
+äom
+ = 
+d©a2
+;
+
+115 \ f
+x
+ = 
+iw
+; --x >= 0;) {
+
+116 \ f
+y
+ = 
+ih
+; --y >= 0;) {
+
+117 *
+to
+ = *
+äom
+;
+
+118 
+äom
+++;
+
+119 
+to
+ +ð
+w
+;
+
+122 
+to
+ +ð
+hw
+;
+
+125 
+       `GL_FREE
+(
+d©a2
+);
+
+127 
+       `evas_objeù_image_d©a_£t
+(
+obj
+, 
+d©a
+);
+
+128 
+       `evas_objeù_image_d©a_upd©e_add
+(
+obj
+, 0, 0, 
+iw
+, 
+ih
+);
+
+130 
+       }
+}
+
+132 \18\12
+       $__gl_r٩e_bg_image_r٩e_270
+(
+Evas_Objeù
+ *
+obj
+)
+
+134 
+       `GL_CHECK_VAL
+(
+obj
+, -1);
+
+135 \1d\12*
+d©a
+ = 
+NULL
+;
+
+136 \1d\12*
+d©a2
+ = 
+NULL
+;
+
+137 \1d\12*
+to
+ = 
+NULL
+;
+
+138 \1d\12*
+äom
+ = 
+NULL
+;
+
+139 \12
+x
+ = 0;
+
+140 \12
+y
+ = 0;
+
+141 \12
+w
+ = 0;
+
+142 \12
+hw
+ = 0;
+
+143 \12
+iw
+ = 0;
+
+144 \12
+ih
+ = 0;
+
+146 
+       `evas_objeù_image_size_g\91
+(
+obj
+, &
+iw
+, &
+ih
+);
+
+147 \12
+size
+ = 
+iw
+ * 
+ih
+ * \17(\1d\12);
+
+150 
+d©a
+ = 
+       `evas_objeù_image_d©a_g\91
+(
+obj
+, 
+EINA_FALSE
+);
+
+152 
+d©a2
+ = 
+       `ÿÎoc
+(1, 
+size
+);
+
+153 
+       `GL_CHECK_VAL
+(
+d©a2
+, -1);
+
+154 
+       `memýy
+(
+d©a2
+, 
+d©a
+, 
+size
+);
+
+157 
+w
+ = 
+ih
+;
+
+158 
+ih
+ = 
+iw
+;
+
+159 
+iw
+ = 
+w
+;
+
+160 
+hw
+ = 
+w
+ * 
+ih
+;
+
+163 
+       `evas_objeù_image_size_£t
+(
+obj
+, 
+iw
+, 
+ih
+);
+
+164 
+d©a
+ = 
+       `evas_objeù_image_d©a_g\91
+(
+obj
+, 
+EINA_TRUE
+);
+
+166 
+to
+ = 
+d©a
+ + 
+hw
+ - 
+w
+;
+
+167 
+w
+ = -w;
+
+168 
+hw
+ = hw + 1;
+
+169 
+äom
+ = 
+d©a2
+;
+
+171 \ f
+x
+ = 
+iw
+; --x >= 0;) {
+
+172 \ f
+y
+ = 
+ih
+; --y >= 0;) {
+
+173 *
+to
+ = *
+äom
+;
+
+174 
+äom
+++;
+
+175 
+to
+ +ð
+w
+;
+
+178 
+to
+ +ð
+hw
+;
+
+181 
+       `GL_FREE
+(
+d©a2
+);
+
+183 
+       `evas_objeù_image_d©a_£t
+(
+obj
+, 
+d©a
+);
+
+184 
+       `evas_objeù_image_d©a_upd©e_add
+(
+obj
+, 0, 0, 
+iw
+, 
+ih
+);
+
+186 
+       }
+}
+
+189 \12
+       $__gl_r٩e_bg_r٩e_image
+(
+Evas_Objeù
+ *
+obj
+, \1d\12
\9bÁ
+)
+
+191 \1a
\9bÁ
+) {
+
+192 \ 4
+GL_ORIENTATION_ROT_90
+:
+
+193 
+       `__gl_r٩e_bg_image_r٩e_90
+(
+obj
+);
+
+195 \ 4
+GL_ORIENTATION_ROT_180
+:
+
+196 
+       `__gl_r٩e_bg_image_r٩e_180
+(
+obj
+);
+
+198 \ 4
+GL_ORIENTATION_ROT_270
+:
+
+199 
+       `__gl_r٩e_bg_image_r٩e_270
+(
+obj
+);
+
+206 
+       }
+}
+
+208 \18\1e
+       $__gl_rÙ©e_bg_d\96\91e_cb
+(\1e*
+d©a
+, 
+Evas
+ *
+e
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ev\92t_\9afo
+)
+
+210 ià(
+d©a
+) {
+
+211 
+gl_bg
+ *
+bg_d©a
+ = (gl_bg *)
+d©a
+;
+
+212 
+       `GL_FREEIF
+(
+bg_d©a
+->
+f\9ee
+);
+
+213 
+       `GL_FREE
+(
+d©a
+);
+
+215 
+       }
+}
+
+217 \18\1e
+       $__gl_rÙ©e_bg_cu¡om_»size
+(\1e*
+d©a
+, 
+Evas
+ *
+e
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ev\92t_\9afo
+)
+
+219 
+       `GL_CHECK
+(
+d©a
+);
+
+220 
+gl_bg
+ *
+bg_d©a
+ = (gl_bg *)
+d©a
+;
+
+221 
+Evas_CoÜd
+bx
+ = 0;
+
+222 
+Evas_CoÜd
+by
+ = 0;
+
+223 
+Evas_CoÜd
+bw
+ = 0;
+
+224 
+Evas_CoÜd
+bh
+ = 0;
+
+225 
+Evas_CoÜd
+iw
+ = 0;
+
+226 
+Evas_CoÜd
+ih
+ = 0;
+
+227 
+Evas_CoÜd
+fx
+ = 0;
+
+228 
+Evas_CoÜd
+fy
+ = 0;
+
+229 
+Evas_CoÜd
+fw
+ = 0;
+
+230 
+Evas_CoÜd
+fh
+ = 0;
+
+231 
+Evas_CoÜd
+nx
+ = 0;
+
+232 
+Evas_CoÜd
+ny
+ = 0;
+
+233 
+Evas_CoÜd
+nw
+ = 0;
+
+234 
+Evas_CoÜd
+nh
+ = 0;
+
+236 ià((!
+bg_d©a
+->
+img
+è|| (!bg_d©a->
+ba£
+)) {
+
+237 
+       `gl_dbgE
+("Invalid object!");
+
+241 
+       `evas_objeù_image_size_g\91
+(
+bg_d©a
+->
+img
+, &
+iw
+, &
+ih
+);
+
+242 ià((
+iw
+ < 1è|| (
+ih
+ < 1)) {
+
+243 
+       `gl_dbgE
+("(iw < 1) || (ih < 1)!");
+
+248 
+       `evas_objeù_geom\91ry_g\91
+(
+bg_d©a
+->
+ba£
+, &
+bx
+, &
+by
+, &
+bw
+, &
+bh
+);
+
+251 
+nx
+ = 
+bx
+;
+
+252 
+ny
+ = 
+by
+;
+
+253 
+nw
+ = 
+bw
+;
+
+254 
+nh
+ = 
+bh
+;
+
+257 
+fw
+ = 
+bw
+;
+
+258 
+fh
+ = ((
+ih
+ * 
+fw
+è/ 
+iw
+);
+
+259 ià(
+fh
+ < 
+bh
+) {
+
+260 
+fh
+ = 
+bh
+;
+
+261 
+fw
+ = ((
+iw
+ * 
+fh
+è/ 
+ih
+);
+
+263 
+fx
+ = ((
+bw
+ - 
+fw
+) / 2);
+
+264 
+fy
+ = ((
+bh
+ - 
+fh
+) / 2);
+
+266 
+       `evas_objeù_move
+(
+bg_d©a
+->
+img
+, 
+nx
+, 
+ny
+);
+
+267 
+       `evas_objeù_»size
+(
+bg_d©a
+->
+img
+, 
+nw
+, 
+nh
+);
+
+268 
+       `evas_objeù_image_f\9el_£t
+(
+bg_d©a
+->
+img
+, 
+fx
+, 
+fy
+, 
+fw
+, 
+fh
+);
+
+269 
+       }
+}
+
+271 
+Evas_Objeù
+ *
+       $_gl_rÙ©e_bg_add_Ïyout
+(
+Evas_Objeù
+ *
+·»Á
+, cڡ \ 5*
+f\9ee
+, cڡ \ 5*
+group
+)
+
+273 
+Evas_Objeù
+ *
+eo
+ = 
+NULL
+;
+
+274 \12
+r
+ = 0;
+
+276 
+eo
+ = 
+       `\96m_Ïyout_add
+(
+·»Á
+);
+
+277 ià(
+eo
+) {
+
+278 
+r
+ = 
+       `\96m_Ïyout_f\9ee_£t
+(
+eo
+, 
+f\9ee
+, 
+group
+);
+
+279 ià(!
+r
+) {
+
+280 
+       `evas_objeù_d\96
+(
+eo
+);
+
+281 \15 
+NULL
+;
+
+284 
+       `evas_objeù_size_h\9at_weight_£t
+(
+eo
+, 
+EVAS_HINT_EXPAND
+, EVAS_HINT_EXPAND);
+
+285 
+       `evas_objeù_size_h\9at_®ign_£t
+(
+eo
+, 
+EVAS_HINT_FILL
+, EVAS_HINT_FILL);
+
+288 \15 
+eo
+;
+
+289 
+       }
+}
+
+291 
+Evas_Objeù
+ *
+       $_gl_r٩e_bg_add
+(
+Evas_Objeù
+ *
+·»Á
+, 
+boÞ
+b_´\96ßd
+)
+
+293 
+       `GL_CHECK_NULL
+(
+·»Á
+);
+
+295 
+gl_bg
+ *
+bg_d©a
+ = (gl_bg *)
+       `ÿÎoc
+(1, \17(gl_bg));
+
+296 
+       `GL_CHECK_NULL
+(
+bg_d©a
+);
+
+298 
+Evas_Objeù
+ *
+ba£
+ = 
+NULL
+;
+
+299 
+ba£
+ = 
+       `_gl_rÙ©e_bg_add_Ïyout
+(
+·»Á
+, 
+GL_EDJ_FILE
+,
+
+300 
+GL_ROTATE_BG_GROUP
+);
+
+301 ià(
+ba£
+ =ð
+NULL
+) {
+
+302 
+       `GL_FREE
+(
+bg_d©a
+);
+
+303 \15 
+NULL
+;
+
+306 
+bg_d©a
+->
+ba£
+= base;
+
+307 
+bg_d©a
+->
+b_´\96ßd
+ = b_preload;
+
+308 ià(!
+b_´\96ßd
+)
+
+309 
+       `evas_objeù_ev\92t_ÿÎback_add
+(
+ba£
+, 
+EVAS_CALLBACK_RESIZE
+,
+
+310 
+__gl_rÙ©e_bg_cu¡om_»size
+,
+
+311 
+bg_d©a
+);
+
+312 
+       `evas_objeù_ev\92t_ÿÎback_add
+(
+ba£
+, 
+EVAS_CALLBACK_DEL
+,
+
+313 
+__gl_rÙ©e_bg_d\96\91e_cb
+, 
+bg_d©a
+);
+
+315 
+       `evas_objeù_d©a_£t
+(
+ba£
+, 
+GL_ROTATE_BG_DATA_KEY
+, 
+bg_d©a
+);
+
+316 \15 
+ba£
+;
+
+317 
+       }
+}
+
+319 \12
+       $_gl_rÙ©e_bg_£t_d©a
+(
+Evas_Objeù
+ *
+bg
+, \1e*
+d©a
+)
+
+321 
+       `GL_CHECK_VAL
+(
+bg
+, -1);
+
+323 
+gl_bg
+ *
+bg_d©a
+ = 
+       `evas_objeù_d©a_g\91
+(
+bg
+, 
+GL_ROTATE_BG_DATA_KEY
+);
+
+324 
+       `GL_CHECK_VAL
+(
+bg_d©a
+, -1);
+
+325 
+bg_d©a
+->
+u£r_d©a
+ = 
+d©a
+;
+
+327 
+       }
+}
+
+329 \12
+       $_gl_rÙ©e_bg_g\91_d©a
+(
+Evas_Objeù
+ *
+bg
+, \1e**
+d©a
+)
+
+331 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+332 
+       `GL_CHECK_VAL
+(
+bg
+, -1);
+
+334 
+gl_bg
+ *
+bg_d©a
+ = 
+       `evas_objeù_d©a_g\91
+(
+bg
+, 
+GL_ROTATE_BG_DATA_KEY
+);
+
+335 
+       `GL_CHECK_VAL
+(
+bg_d©a
+, -1);
+
+336 *
+d©a
+ = 
+bg_d©a
+->
+u£r_d©a
+;
+
+338 
+       }
+}
+
+340 \12
+       $_gl_rÙ©e_bg_£t_f\9ee
+(
+Evas_Objeù
+ *
+bg
+, cڡ \ 5*
+f\9ee
+, \12
+w
+, \12
+h
+)
+
+342 
+       `GL_CHECK_VAL
+(
+f\9ee
+, -1);
+
+343 
+       `GL_CHECK_VAL
+(
+bg
+, -1);
+
+345 
+gl_bg
+ *
+bg_d©a
+ = 
+       `evas_objeù_d©a_g\91
+(
+bg
+, 
+GL_ROTATE_BG_DATA_KEY
+);
+
+346 
+       `GL_CHECK_VAL
+(
+bg_d©a
+, -1);
+
+348 
+Evas_Objeù
+ *
+image_obj
+ = 
+NULL
+;
+
+349 ià(!
+bg_d©a
+->
+b_´\96ßd
+) {
+
+350 
+image_obj
+ = 
+       `evas_objeù_image_add
+(
+       `evas_objeù_evas_g\91
+(
+bg
+));
+
+351 
+       `evas_objeù_»³©_ev\92ts_£t
+(
+image_obj
+, 
+EINA_TRUE
+);
+
+352 
+bg_d©a
+->
+img
+ = 
+image_obj
+;
+
+353 
+bg_d©a
+->
+f\9ee
+ = 
+       `¡rdup
+(file);
+
+354 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+bg
+, "\96m.sw®low.image", 
+image_obj
+);
+
+355 
+       `evas_objeù_image_lßd_size_£t
+(
+image_obj
+, 
+w
+, 
+h
+);
+
+356 
+       `evas_objeù_image_f\9ee_£t
+(
+image_obj
+, 
+f\9ee
+, 
+NULL
+);
+
+357 
+       `evas_objeù_image_´\96ßd
+(
+image_obj
+, 
+EINA_TRUE
+);
+
+359 
+image_obj
+ = 
+       `\96m_image_add
+(
+bg
+);
+
+360 
+       `evas_objeù_»³©_ev\92ts_£t
+(
+image_obj
+, 
+EINA_TRUE
+);
+
+361 
+bg_d©a
+->
+img
+ = 
+image_obj
+;
+
+362 
+bg_d©a
+->
+f\9ee
+ = 
+       `¡rdup
+(file);
+
+363 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+bg
+, "\96m.sw®low.image", 
+image_obj
+);
+
+364 
+       `\96m_image_f\9el_outside_£t
+(
+image_obj
+, 
+EINA_TRUE
+);
+
+365 
+       `\96m_image_f\9ee_£t
+(
+image_obj
+, 
+f\9ee
+, 
+NULL
+);
+
+366 
+       `\96m_image_´\96ßd_di§bËd_£t
+(
+image_obj
+, 
+EINA_FALSE
+);
+
+367 
+       `\96m_image_smoÙh_£t
+(
+image_obj
+, 
+EINA_FALSE
+);
+
+370 
+       }
+}
+
+372 \12
+       $_gl_rÙ©e_bg_g\91_f\9ee
+(
+Evas_Objeù
+ *
+bg
+, \ 5**
+f\9ee
+)
+
+374 
+       `GL_CHECK_VAL
+(
+f\9ee
+, -1);
+
+375 
+       `GL_CHECK_VAL
+(
+bg
+, -1);
+
+377 
+gl_bg
+ *
+bg_d©a
+ = 
+       `evas_objeù_d©a_g\91
+(
+bg
+, 
+GL_ROTATE_BG_DATA_KEY
+);
+
+378 
+       `GL_CHECK_VAL
+(
+bg_d©a
+, -1);
+
+379 *
+f\9ee
+ = 
+bg_d©a
+->file;
+
+381 
+       }
+}
+
+383 \12
+       $_gl_r٩e_bg_r٩e_image
+(
+Evas_Objeù
+ *
+bg
+, \1d\12
\9bÁ
+)
+
+385 
+       `GL_CHECK_VAL
+(
+bg
+, -1);
+
+387 
+gl_bg
+ *
+bg_d©a
+ = 
+       `evas_objeù_d©a_g\91
+(
+bg
+, 
+GL_ROTATE_BG_DATA_KEY
+);
+
+388 
+       `GL_CHECK_VAL
+(
+bg_d©a
+, -1);
+
+390 ià(
+bg_d©a
+->
+f\9ee
+ && 
+       `g_¡rcmp0
+(bg_d©a->f\9ee, 
+GL_ICON_NO_THUMBNAIL
+) &&
+
+391 
+       `g_¡rcmp0
+(
+bg_d©a
+->
+f\9ee
+, 
+GL_ICON_CONTENTS_BROKEN
+))
+
+392 
+       `__gl_r٩e_bg_r٩e_image
+(
+bg_d©a
+->
+img
+, 
\9bÁ
+);
+
+394 
+       `__gl_r٩e_bg_r٩e_image
+(
+bg_d©a
+->
+img
+, 
+GL_ORIENTATION_ROT_0
+);
+
+395 ià(!
+bg_d©a
+->
+b_´\96ßd
+)
+
+396 
+       `__gl_rÙ©e_bg_cu¡om_»size
+(
+bg_d©a
+, 
+NULL
+, NULL, NULL);
+
+398 
+       }
+}
+
+400 \12
+       $_gl_r٩e_bg_add_image
+(
+Evas_Objeù
+ *
+bg
+, \12
+w
+, \12
+h
+)
+
+402 
+       `GL_CHECK_VAL
+(
+bg
+, -1);
+
+404 
+gl_bg
+ *
+bg_d©a
+ = 
+       `evas_objeù_d©a_g\91
+(
+bg
+, 
+GL_ROTATE_BG_DATA_KEY
+);
+
+405 
+       `GL_CHECK_VAL
+(
+bg_d©a
+, -1);
+
+407 
+Evas_Objeù
+ *
+image_obj
+ = 
+NULL
+;
+
+408 ià(!
+bg_d©a
+->
+b_´\96ßd
+) {
+
+409 
+image_obj
+ = 
+       `evas_objeù_image_add
+(
+       `evas_objeù_evas_g\91
+(
+bg
+));
+
+410 
+       `evas_objeù_»³©_ev\92ts_£t
+(
+image_obj
+, 
+EINA_TRUE
+);
+
+411 
+bg_d©a
+->
+img
+ = 
+image_obj
+;
+
+412 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+bg
+, "\96m.sw®low.image", 
+image_obj
+);
+
+413 
+       `evas_objeù_image_lßd_size_£t
+(
+image_obj
+, 
+w
+, 
+h
+);
+
+415 
+image_obj
+ = 
+       `\96m_image_add
+(
+bg
+);
+
+416 
+       `evas_objeù_»³©_ev\92ts_£t
+(
+image_obj
+, 
+EINA_TRUE
+);
+
+417 
+bg_d©a
+->
+img
+ = 
+image_obj
+;
+
+418 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+bg
+, "\96m.sw®low.image", 
+image_obj
+);
+
+421 
+       }
+}
+
+423 \12
+       $_gl_rÙ©e_bg_£t_image_f\9ee
+(
+Evas_Objeù
+ *
+bg
+, cڡ \ 5*
+f\9ee
+)
+
+425 
+       `GL_CHECK_VAL
+(
+bg
+, -1);
+
+427 
+gl_bg
+ *
+bg_d©a
+ = 
+       `evas_objeù_d©a_g\91
+(
+bg
+, 
+GL_ROTATE_BG_DATA_KEY
+);
+
+428 
+       `GL_CHECK_VAL
+(
+bg_d©a
+, -1);
+
+429 
+       `GL_CHECK_VAL
+(
+bg_d©a
+->
+img
+, -1);
+
+431 ià(!
+bg_d©a
+->
+b_´\96ßd
+) {
+
+432 
+       `evas_objeù_image_f\9ee_£t
+(
+bg_d©a
+->
+img
+, 
+f\9ee
+, 
+NULL
+);
+
+433 
+       `evas_objeù_image_´\96ßd
+(
+bg_d©a
+->
+img
+, 
+EINA_FALSE
+);
+
+434 
+       `__gl_rÙ©e_bg_cu¡om_»size
+(
+bg_d©a
+, 
+NULL
+, NULL, NULL);
+
+436 
+       `\96m_image_f\9el_outside_£t
+(
+bg_d©a
+->
+img
+, 
+EINA_TRUE
+);
+
+437 
+       `\96m_image_f\9ee_£t
+(
+bg_d©a
+->
+img
+, 
+f\9ee
+, 
+NULL
+);
+
+438 
+       `\96m_image_´\96ßd_di§bËd_£t
+(
+bg_d©a
+->
+img
+, 
+EINA_FALSE
+);
+
+439 
+       `\96m_image_smoÙh_£t
+(
+bg_d©a
+->
+img
+, 
+EINA_FALSE
+);
+
+443 
+       }
+}
+
+       @src/widget/gl-thumb.c
+
+18 \ 2
+       ~"gl-debug.h
+"
+
+19 \ 2
+       ~"gl-thumb.h
+"
+
+20 \ 2
+       ~"gl-ut\9e.h
+"
+
+21 \ 2
+       ~"gl-p\9achzoom.h
+"
+
+22 \ 2
+       ~"gl-¡r\9ags.h
+"
+
+23 \ 2
+       ~"gl-icÚs.h
+"
+
+24 #ifdeà
+_USE_ROTATE_BG
+
+
+25 \ 2
+       ~"gl-r٩e-bg.h
+"
+
+26 \ 2
+       ~"gl-exif.h
+"
+
+28 \ 2
+       ~"gl-ge¡u».h
+"
+
+31 \ 1
+       #GL_GRID_W
+ 180
+
+       )
+
+32 \ 1
+       #GL_GRID_H
+ 133
+
+       )
+
+34 \ 1
+       #GL_GRID_W_ZOOM_03
+ 240
+
+       )
+
+35 \ 1
+       #GL_GRID_H_ZOOM_03
+ 178
+
+       )
+
+37 \ 1
+       #GL_GRID_W_ZOOM_02
+ 360
+
+       )
+
+38 \ 1
+       #GL_GRID_H_ZOOM_02
+ 267
+
+       )
+
+40 \ 1
+       #GL_GRID_5_PER_ROW
+ 5
+
+       )
+
+41 \ 1
+       #GL_GRID_8_PER_ROW
+ 8
+
+       )
+
+42 \ 1
+       #GL_GRID_4_PER_ROW
+ 4
+
+       )
+
+43 \ 1
+       #GL_GRID_3_PER_ROW
+ 3
+
+       )
+
+44 \ 1
+       #GL_GRID_2_PER_ROW
+ 2
+
+       )
+
+46 \ 1
+       #GL_GRID_6_PER_ROW
+ 6
+
+       )
+
+47 \ 1
+       #GL_GRID_7_PER_ROW
+ 7
+
+       )
+
+48 \ 1
+       #GL_GRID_10_PER_ROW
+ 10
+
+       )
+
+50 \ 1
+       #GL_GRID_L_W
+GL_GRID_W_ZOOM_02
+
+
+       )
+
+51 \ 1
+       #GL_GRID_L_H
+GL_GRID_H_ZOOM_02
+
+
+       )
+
+53 \ 1
+       #GL_GRID_ITEM_L_CNT
+ 6
+
+       )
+
+54 \ 1
+       #GL_GRID_ITEM_ZOOM_02_CNT
+ 8
+
+       )
+
+55 \ 1
+       #GL_GRID_ITEM_ZOOM_03_CNT
+ 18
+
+       )
+
+57 \ 1
+       #GL_PHOTOFRAME_VIDEO
+ "video"
+
+       )
+
+58 \ 1
+       #GL_PHOTOFRAME_VIDEO2
+ "video2"
+
+       )
+
+59 \ 1
+       #GL_PHOTOFRAME_VIDEO3
+ "video3"
+
+       )
+
+60 \ 1
+       #GL_PHOTOFRAME_DEFAULT
+ "Ïyout"
+
+       )
+
+61 \ 1
+       #GL_PHOTOFRAME_DEFAULT2
+ "Ïyout2"
+
+       )
+
+62 \ 1
+       #GL_PHOTOFRAME_DEFAULT3
+ "Ïyout3"
+
+       )
+
+63 \ 1
+       #GL_PHOTOFRAME_BURSTSHOT
+ "bur¡shÙ"
+
+       )
+
+64 \ 1
+       #GL_PHOTOFRAME_BURSTSHOT1
+ "bur¡shÙ1"
+
+       )
+
+65 \ 1
+       #GL_PHOTOFRAME_BURSTSHOT2
+ "bur¡shÙ2"
+
+       )
+
+67 \18
+Evas_Objeù
+ *
+       $__gl_thumb_add_image
+(
+Evas_Objeù
+ *
+·»Á
+, \ 5*
+·th
+,
+
+68 \1d\12
\9bÁ
+, \12
+w
+, \12
+h
+)
+
+70 
+       `GL_CHECK_NULL
+(
+·»Á
+);
+
+72 #ifdeà
+_USE_ROTATE_BG
+
+
+73 
+Evas_Objeù
+ *
+bg
+ = 
+       `_gl_r٩e_bg_add
+(
+·»Á
+, 
+\8cue
+);
+
+75 
+Evas_Objeù
+ *
+bg
+ = 
+       `\96m_bg_add
+(
+·»Á
+);
+
+77 ià(
+bg
+ =ð
+NULL
+)
+
+78 \15 
+NULL
+;
+
+80 #ifdeà
+_USE_ROTATE_BG
+
+
+81 
+       `_gl_rÙ©e_bg_£t_f\9ee
+(
+bg
+, 
+·th
+, 
+w
+, 
+h
+);
+
+82 
+       `_gl_r٩e_bg_r٩e_image
+(
+bg
+, 
\9bÁ
+);
+
+84 
+       `\96m_bg_f\9ee_£t
+(
+bg
+, 
+·th
+, 
+NULL
+);
+
+85 
+       `\96m_bg_lßd_size_£t
+(
+bg
+, 
+w
+, 
+h
+);
+
+86 
+       `evas_objeù_size_h\9at_max_£t
+(
+bg
+, 
+w
+, 
+h
+);
+
+87 
+       `evas_objeù_size_h\9at_a¥eù_£t
+(
+bg
+, 
+EVAS_ASPECT_CONTROL_VERTICAL
+, 1, 1);
+
+88 
+       `evas_objeù_size_h\9at_weight_£t
+(
+bg
+, 
+EVAS_HINT_EXPAND
+, EVAS_HINT_EXPAND);
+
+89 
+       `evas_objeù_size_h\9at_®ign_£t
+(
+bg
+, 
+EVAS_HINT_FILL
+, EVAS_HINT_FILL);
+
+91 \15 
+bg
+;
+
+92 
+       }
+}
+
+94 
+Evas_Objeù
+ *
+       $_gl_thumb_show_image
+(
+Evas_Objeù
+ *
+obj
+, \ 5*
+·th
+, \12
\9bÁ
+,
+
+95 \12
+w
+, \12
+h
+, \12
+zoom_Ëv\96
+)
+
+97 
+       `GL_CHECK_NULL
+(
+obj
+);
+
+99 
+Evas_Objeù
+ *
+Ïyout
+ = 
+       `\96m_Ïyout_add
+(
+obj
+);
+
+100 
+       `GL_CHECK_NULL
+(
+Ïyout
+);
+
+102 
+Evas_Objeù
+ *
+bg
+ = 
+       `__gl_thumb_add_image
+(
+Ïyout
+, 
+·th
+, 
\9bÁ
+, 
+w
+, 
+h
+);
+
+103 ià(
+bg
+ =ð
+NULL
+) {
+
+104 
+       `evas_objeù_d\96
+(
+Ïyout
+);
+
+105 \15 
+NULL
+;
+
+108 \ 5*
+bs_¡yË
+ = 
+GL_PHOTOFRAME_DEFAULT
+;
+
+109 ià(
+zoom_Ëv\96
+ =ð
+GL_ZOOM_IN_ONE
+)
+
+110 
+bs_¡yË
+ = 
+GL_PHOTOFRAME_DEFAULT2
+;
+
+111 \vià(
+zoom_Ëv\96
+ =ð
+GL_ZOOM_IN_TWO
+)
+
+112 
+bs_¡yË
+ = 
+GL_PHOTOFRAME_DEFAULT3
+;
+
+113 
+       `\96m_Ïyout_theme_£t
+(
+Ïyout
+, 
+GL_CLASS_GENGRID
+, 
+GL_GRP_PHOTOFRAME
+,
+
+114 
+bs_¡yË
+);
+
+115 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+Ïyout
+, "\96m.sw®low.icÚ", 
+bg
+);
+
+117 
+       `evas_objeù_show
+(
+Ïyout
+);
+
+119 \15 
+Ïyout
+;
+
+120 
+       }
+}
+
+122 
+Evas_Objeù
+ *
+       $_gl_thumb_show_bur¡shÙ
+(
+Evas_Objeù
+ *
+obj
+, \ 5*
+·th1
+,
+
+123 \ 5*
+·th2
+, \ 5*
+·th3
+,
+
+124 \1d\12
\9bÁ
+, \12
+w
+, \12
+h
+,
+
+125 \12
+zoom_Ëv\96
+)
+
+127 
+       `GL_CHECK_NULL
+(
+obj
+);
+
+128 
+Evas_Objeù
+ *
+bg
+ = 
+NULL
+;
+
+129 \ 5*
+·¹
+ = 
+NULL
+;
+
+130 \ 5*
+·th
+ = 
+NULL
+;
+
+131 \12
+i
+ = 0;
+
+133 
+Evas_Objeù
+ *
+Ïyout
+ = 
+       `\96m_Ïyout_add
+(
+obj
+);
+
+134 
+       `GL_CHECK_NULL
+(
+Ïyout
+);
+
+135 cڡ \ 5*
+bs_¡yË
+ = 
+GL_PHOTOFRAME_BURSTSHOT
+;
+
+136 ià(
+zoom_Ëv\96
+ =ð
+GL_ZOOM_IN_ONE
+)
+
+137 
+bs_¡yË
+ = 
+GL_PHOTOFRAME_BURSTSHOT1
+;
+
+138 \vià(
+zoom_Ëv\96
+ =ð
+GL_ZOOM_IN_TWO
+)
+
+139 
+bs_¡yË
+ = 
+GL_PHOTOFRAME_BURSTSHOT2
+;
+
+140 
+       `\96m_Ïyout_theme_£t
+(
+Ïyout
+, 
+GL_CLASS_GENGRID
+, 
+GL_GRP_PHOTOFRAME
+,
+
+141 
+bs_¡yË
+);
+
+144 \ f
+i
+ = 0; i < 3; i++) {
+
+145 \1a
+i
+) {
+
+147 
+·¹
+ = "elm.swallow.icon1";
+
+148 
+·th
+ = 
+·th1
+;
+
+151 
+·¹
+ = "elm.swallow.icon2";
+
+152 
+·th
+ = 
+·th2
+;
+
+155 
+·¹
+ = "elm.swallow.icon3";
+
+156 
+·th
+ = 
+·th3
+;
+
+160 
+bg
+ = 
+       `__gl_thumb_add_image
+(
+Ïyout
+, 
+·th
+, 
\9bÁ
+, 
+w
+, 
+h
+);
+
+161 ià(
+bg
+ =ð
+NULL
+) {
+
+162 
+       `evas_objeù_d\96
+(
+Ïyout
+);
+
+163 \15 
+NULL
+;
+
+165 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+Ïyout
+, 
+·¹
+, 
+bg
+);
+
+167 
+       `evas_objeù_show
+(
+Ïyout
+);
+
+168 \15 
+Ïyout
+;
+
+169 
+       }
+}
+
+171 
+Evas_Objeù
+ *
+       $_gl_thumb_show_video
+(
+Evas_Objeù
+ *
+obj
+, \ 5*
+·th
+,
+
+172 \1d\12
+v_dur
+, \12
+w
+, \12
+h
+,
+
+173 \12
+zoom_Ëv\96
+)
+
+175 
+       `GL_CHECK_NULL
+(
+obj
+);
+
+177 
+Evas_Objeù
+ *
+Ïyout
+ = 
+       `\96m_Ïyout_add
+(
+obj
+);
+
+178 
+       `GL_CHECK_NULL
+(
+Ïyout
+);
+
+180 #ifdeà
+_USE_ROTATE_BG
+
+
+181 
+Evas_Objeù
+ *
+bg
+ = 
+       `_gl_r٩e_bg_add
+(
+Ïyout
+, 
+\8cue
+);
+
+183 
+Evas_Objeù
+ *
+bg
+ = 
+       `\96m_bg_add
+(
+Ïyout
+);
+
+185 ià(
+bg
+ =ð
+NULL
+) {
+
+186 
+       `evas_objeù_d\96
+(
+Ïyout
+);
+
+187 \15 
+NULL
+;
+
+190 #ifdeà
+_USE_ROTATE_BG
+
+
+191 
+       `_gl_rÙ©e_bg_£t_f\9ee
+(
+bg
+, 
+·th
+, 
+w
+, 
+h
+);
+
+192 
+       `_gl_r٩e_bg_r٩e_image
+(
+bg
+, 
+GL_ORIENTATION_ROT_0
+);
+
+194 
+       `\96m_bg_f\9ee_£t
+(
+bg
+, 
+·th
+, 
+NULL
+);
+
+195 
+       `\96m_bg_lßd_size_£t
+(
+bg
+, 
+w
+, 
+h
+);
+
+196 
+       `evas_objeù_size_h\9at_max_£t
+(
+bg
+, 
+w
+, 
+h
+);
+
+197 
+       `evas_objeù_size_h\9at_a¥eù_£t
+(
+bg
+, 
+EVAS_ASPECT_CONTROL_VERTICAL
+, 1, 1);
+
+198 
+       `evas_objeù_size_h\9at_weight_£t
+(
+bg
+, 
+EVAS_HINT_EXPAND
+, EVAS_HINT_EXPAND);
+
+199 
+       `evas_objeù_size_h\9at_®ign_£t
+(
+bg
+, 
+EVAS_HINT_FILL
+, EVAS_HINT_FILL);
+
+202 \ 5*
+bs_¡yË
+ = 
+GL_PHOTOFRAME_VIDEO
+;
+
+203 ià(
+zoom_Ëv\96
+ =ð
+GL_ZOOM_IN_ONE
+)
+
+204 
+bs_¡yË
+ = 
+GL_PHOTOFRAME_VIDEO2
+;
+
+205 \vià(
+zoom_Ëv\96
+ =ð
+GL_ZOOM_IN_TWO
+)
+
+206 
+bs_¡yË
+ = 
+GL_PHOTOFRAME_VIDEO3
+;
+
+207 
+       `\96m_Ïyout_theme_£t
+(
+Ïyout
+, 
+GL_CLASS_GENGRID
+, 
+GL_GRP_PHOTOFRAME
+,
+
+208 
+bs_¡yË
+);
+
+209 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+Ïyout
+, "\96m.sw®low.icÚ", 
+bg
+);
+
+211 \ 5*
+dur_¡r
+ = 
+       `_gl_g\91_du¿tiÚ_¡r\9ag
+(
+v_dur
+);
+
+212 
+       `GL_CHECK_NULL
+(
+dur_¡r
+);
+
+213 
+       `\96m_objeù_·¹_\8bxt_£t
+(
+Ïyout
+, 
+GL_GRID_TEXT
+, 
+dur_¡r
+);
+
+214 
+       `GL_FREE
+(
+dur_¡r
+);
+
+216 
+       `evas_objeù_show
+(
+Ïyout
+);
+
+217 \15 
+Ïyout
+;
+
+218 
+       }
+}
+
+220 
+Evas_Objeù
+ *
+       $_gl_thumb_show_checkbox
+(
+Evas_Objeù
+ *
+obj
+, 
+boÞ
+checked
+,
+
+221 
+Evas_Sm¬t_Cb
+func
+, cڡ \1e*
+d©a
+)
+
+223 
+       `GL_CHECK_NULL
+(
+func
+);
+
+224 
+       `GL_CHECK_NULL
+(
+obj
+);
+
+225 
+Evas_Objeù
+ *
+ck
+ = 
+NULL
+;
+
+227 
+ck
+ = 
+       `\96m_check_add
+(
+obj
+);
+
+228 
+       `GL_CHECK_NULL
+(
+ck
+);
+
+230 #ifdeà
+_USE_GRID_CHECK
+
+
+231 
+       `\96m_objeù_¡yË_£t
+(
+ck
+, "grid");
+
+233 
+       `\96m_objeù_¡yË_£t
+(
+ck
+, 
+GL_CHECKBOX_STYLE_THUMB
+);
+
+235 
+       `evas_objeù_´Ýag©e_ev\92ts_£t
+(
+ck
+, 
+EINA_FALSE
+);
+
+237 
+       `\96m_check_¡©e_£t
+(
+ck
+, 
+checked
+);
+
+239 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+ck
+, "chªged", 
+func
+, 
+d©a
+);
+
+241 
+       `evas_objeù_show
+(
+ck
+);
+
+242 \15 
+ck
+;
+
+243 
+       }
+}
+
+245 
+Evas_Objeù
+ *
+       $_gl_thumb_show_mode
+(
+Evas_Objeù
+ *
+obj
+, 
+gl_cm_mode_e
+mode
+)
+
+247 
+Evas_Objeù
+ *
+icÚ
+ = 
+NULL
+;
+
+248 cڡ \ 5*
+f\9ee
+ = 
+NULL
+;
+
+250 \1a
+mode
+) {
+
+251 \ 4
+GL_CM_MODE_PANORAMA
+:
+
+252 
+f\9ee
+ = 
+GL_ICON_PANORAMA
+;
+
+254 \ 4
+GL_CM_MODE_BURSTSHOT
+:
+
+255 
+f\9ee
+ = 
+GL_ICON_BURSTSHOT
+;
+
+257 \ 4
+GL_CM_MODE_SOUND
+:
+
+258 
+f\9ee
+ = 
+GL_ICON_SOUND_SHOT
+;
+
+260 \ 4
+GL_CM_MODE_ANIMATE
+:
+
+261 
+f\9ee
+ = 
+GL_ICON_SOUND_SHOT
+;
+
+263 \ 4
+GL_CM_MODE_BEST
+:
+
+264 
+f\9ee
+ = 
+GL_ICON_SOUND_SHOT
+;
+
+270 ià(
+f\9ee
+) {
+
+271 
+       `GL_CHECK_NULL
+(
+obj
+);
+
+272 
+icÚ
+ = 
+       `\96m_icÚ_add
+(
+obj
+);
+
+273 
+       `GL_CHECK_NULL
+(
+icÚ
+);
+
+274 
+       `GL_ICON_SET_FILE
+(
+icÚ
+, 
+f\9ee
+);
+
+275 
+       `evas_objeù_show
+(
+icÚ
+);
+
+277 \15 
+icÚ
+;
+
+278 
+       }
+}
+
+280 
+Evas_Objeù
+ *
+       $_gl_thumb_add_g\92grid
+(
+Evas_Objeù
+ *
+·»Á
+)
+
+282 
+       `GL_CHECK_NULL
+(
+·»Á
+);
+
+283 
+Evas_Objeù
+ *
+grid
+ = 
+       `\96m_g\92grid_add
+(
+·»Á
+);
+
+284 
+       `GL_CHECK_NULL
+(
+grid
+);
+
+286 #ifdeà
+_USE_CUSTOMIZED_GENGRID_STYLE
+
+
+287 
+       `\96m_objeù_¡yË_£t
+(
+grid
+, 
+GL_GENGRID_STYLE_GALLERY
+);
+
+289 #ifdeà
+_USE_SCROL_HORIZONRAL
+
+
+290 
+       `\96m_g\92grid_®ign_£t
+(
+grid
+, 0.5, 0.5);
+
+291 
+       `\96m_g\92grid_hÜizÚ\8fl_£t
+(
+grid
+, 
+EINA_TRUE
+);
+
+292 
+       `\96m_süÞËr_bounû_£t
+(
+grid
+, 
+EINA_TRUE
+, 
+EINA_FALSE
+);
+
+294 
+       `\96m_g\92grid_®ign_£t
+(
+grid
+, 0.0, 0.0);
+
+295 
+       `\96m_g\92grid_hÜizÚ\8fl_£t
+(
+grid
+, 
+EINA_FALSE
+);
+
+296 
+       `\96m_süÞËr_bounû_£t
+(
+grid
+, 
+EINA_FALSE
+, 
+EINA_TRUE
+);
+
+298 
+       `\96m_süÞËr_pÞicy_£t
+(
+grid
+, 
+ELM_SCROLLER_POLICY_OFF
+,
+
+299 
+ELM_SCROLLER_POLICY_AUTO
+);
+
+300 
+       `\96m_g\92grid_muÉi_£Ëù_£t
+(
+grid
+, 
+EINA_TRUE
+);
+
+301 
+       `evas_objeù_size_h\9at_weight_£t
+(
+grid
+, 
+EVAS_HINT_EXPAND
+,
+
+302 
+EVAS_HINT_EXPAND
+);
+
+303 \15 
+grid
+;
+
+304 
+       }
+}
+
+307 \12
+       $_gl_thumb_upd©e_g\92grid
+(
+Evas_Objeù
+ *
+v\9bw
+)
+
+309 
+       `GL_CHECK_VAL
+(
+v\9bw
+, -1);
+
+311 
+Elm_Objeù_I\8bm
+ *
+_f\9c¡_\99
+ = 
+NULL
+;
+
+312 
+_f\9c¡_\99
+ = 
+       `\96m_g\92grid_f\9c¡_\99em_g\91
+(
+v\9bw
+);
+
+313 \1f
+_f\9c¡_\99
+) {
+
+314 
+       `\96m_g\92grid_\99em_upd©e
+(
+_f\9c¡_\99
+);
+
+315 
+_f\9c¡_\99
+ = 
+       `\96m_g\92grid_\99em_Ãxt_g\91
+(_first_it);
+
+319 
+       }
+}
+
+321 #ifdeà
+_USE_SCROL_HORIZONRAL
+
+
+323 \12
+       $_gl_thumb_£t_size
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+v\9bw
+, \12*
+size_w
+, \12*
+size_h
+)
+
+325 
+       `GL_CHECK_VAL
+(
+v\9bw
+, -1);
+
+326 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+327 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+328 \12
+r٩e_mode
+ = 
+ad
+->
+ma\9a\9afo
+.rotate_mode;
+
+329 \12
+_w
+ = 0;
+
+330 \12
+_h
+ = 0;
+
+331 \12
+_w_l
+ = 0;
+
+332 \12
+_h_l
+ = 0;
+
+333 \12
+®ign_c
+ = 0;
+
+334 \12
+couÁ
+ = 
+       `\96m_g\92grid_\99ems_couÁ
+(
+v\9bw
+);
+
+335 \12
+w\9a_w
+ = 0;
+
+336 \12
+w\9a_h
+ = 0;
+
+337 \b
+sÿË
+ = 
+       `_gl_g\91_w\9a_çùÜ
+(
+ad
+->
+ma\9a\9afo
+.
+w\9a
+, &
+w\9a_w
+, &
+w\9a_h
+);
+
+338 
+       `gl_dbg
+("rÙ©e_mode: %d, zoom\86ev\96: %d", 
+r٩e_mode
+,
+
+339 
+ad
+->
+p\9ach\9afo
+.
+zoom_Ëv\96
+);
+
+341 
+_w_l
+ = (\12)(
+GL_GRID_L_W
+ * 
+sÿË
+);
+
+342 
+_h_l
+ = (\12)(
+GL_GRID_L_H
+ * 
+sÿË
+);
+
+344 ià(
+ad
+->
+p\9ach\9afo
+.
+zoom_Ëv\96
+ =ð
+GL_ZOOM_IN_TWO
+) {
+
+345 
+_w
+ = (\12)(
+w\9a_w
+ / 
+GL_GRID_3_PER_ROW
+);
+
+346 
+_h
+ = (\12)(
+GL_GRID_H_ZOOM_02
+ * 
+sÿË
+);
+
+347 
+®ign_c
+ = 
+GL_GRID_ITEM_ZOOM_02_CNT
+;
+
+348 } \vià(
+ad
+->
+p\9ach\9afo
+.
+zoom_Ëv\96
+ =ð
+GL_ZOOM_IN_ONE
+) {
+
+349 
+GL_THUMB_SIZE
+:
+
+350 
+_w
+ = (\12)(
+w\9a_w
+ / 
+GL_GRID_4_PER_ROW
+);
+
+351 
+_h
+ = (\12)(
+GL_GRID_H_ZOOM_03
+ * 
+sÿË
+);
+
+352 
+®ign_c
+ = 
+GL_GRID_ITEM_ZOOM_03_CNT
+;
+
+353 } \vià(
+ad
+->
+p\9ach\9afo
+.
+zoom_Ëv\96
+ =ð
+GL_ZOOM_DEFAULT
+) {
+
+354 
+_w
+ = (\12)(
+w\9a_w
+ / 
+GL_GRID_8_PER_ROW
+);
+
+355 
+_h
+ = (\12)(
+GL_GRID_H
+ * 
+sÿË
+);
+
+358 \10
+GL_THUMB_SIZE
+;
+
+361 ià((
+r٩e_mode
+ =ð
+APP_DEVICE_ORIENTATION_270
+) ||
+
+362 (
+r٩e_mode
+ =ð
+APP_DEVICE_ORIENTATION_90
+)) {
+
+363 
+®ign_c
+ = 
+GL_GRID_ITEM_L_CNT
+;
+
+364 
+       `\96m_g\92grid_\99em_size_£t
+(
+v\9bw
+, 
+_w_l
+, 
+_h_l
+);
+
+365 ià(
+size_w
+)
+
+366 *
+size_w
+ = 
+_w_l
+-4;
+
+367 ià(
+size_h
+)
+
+368 *
+size_h
+ = 
+_h_l
+-4;
+
+370 
+       `\96m_g\92grid_\99em_size_£t
+(
+v\9bw
+, 
+_w
+, 
+_h
+);
+
+371 ià(
+size_w
+)
+
+372 *
+size_w
+ = 
+_w
+-4;
+
+373 ià(
+size_h
+)
+
+374 *
+size_h
+ = 
+_h
+-4;
+
+376 ià(
+couÁ
+ <ð
+®ign_c
+)
+
+377 
+       `\96m_g\92grid_®ign_£t
+(
+v\9bw
+, 0.5, 0.5);
+
+379 
+       `\96m_g\92grid_®ign_£t
+(
+v\9bw
+, 0.0, 0.5);
+
+380 ià(
+size_w
+ && 
+size_h
+)
+
+381 
+       `gl_dbg
+("P: %dx%d, size_w: %d,size_h: %d", 
+_w
+, 
+_h
+, *
+size_w
+, *
+size_h
+);
+
+383 
+       }
+}
+
+386 \12
+       $_gl_thumb_£t_size
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+v\9bw
+, \12*
+size_w
+, \12*
+size_h
+)
+
+388 
+       `GL_CHECK_VAL
+(
+v\9bw
+, -1);
+
+389 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+390 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+391 \12
+r٩e_mode
+ = 
+ad
+->
+ma\9a\9afo
+.rotate_mode;
+
+392 \12
+_w
+ = 0;
+
+393 \12
+_h
+ = 0;
+
+394 \12
+_w_l
+ = 0;
+
+395 \12
+_h_l
+ = 0;
+
+396 \12
+w\9a_w
+ = 0;
+
+397 \12
+w\9a_h
+ = 0;
+
+398 \b
+sÿË
+ = 
+       `_gl_g\91_w\9a_çùÜ
+(
+ad
+->
+ma\9a\9afo
+.
+w\9a
+, &
+w\9a_w
+, &
+w\9a_h
+);
+
+400 ià(
+       `gl_g\91_v\9bw_mode
+(
+ad
+è=ð
+GL_VIEW_THUMBS_EDIT
+) {
+
+401 
+ad
+->
+p\9ach\9afo
+.
+zoom_Ëv\96
+ = 
+GL_ZOOM_IN_ONE
+;
+
+403 
+       `gl_dbg
+("rÙ©e_mode: %d, zoom\86ev\96: %d", 
+r٩e_mode
+,
+
+404 
+ad
+->
+p\9ach\9afo
+.
+zoom_Ëv\96
+);
+
+406 ià(
+ad
+->
+p\9ach\9afo
+.
+zoom_Ëv\96
+ =ð
+GL_ZOOM_IN_TWO
+) {
+
+407 
+_w
+ = (\12)(
+w\9a_w
+ / 
+GL_GRID_3_PER_ROW
+);
+
+408 
+_w_l
+ = (\12)(
+w\9a_h
+ / 
+GL_GRID_6_PER_ROW
+);
+
+409 } \vià(
+ad
+->
+p\9ach\9afo
+.
+zoom_Ëv\96
+ =ð
+GL_ZOOM_IN_ONE
+) {
+
+410 
+GL_THUMB_SIZE
+:
+
+411 
+_w
+ = (\12)(
+w\9a_w
+ / 
+GL_GRID_4_PER_ROW
+);
+
+412 
+_w_l
+ = (\12)(
+w\9a_h
+ / 
+GL_GRID_7_PER_ROW
+);
+
+413 } \vià(
+ad
+->
+p\9ach\9afo
+.
+zoom_Ëv\96
+ =ð
+GL_ZOOM_DEFAULT
+) {
+
+414 
+_w
+ = (\12)(
+w\9a_w
+ / 
+GL_GRID_8_PER_ROW
+);
+
+415 
+_w_l
+ = (\12)(
+w\9a_h
+ / 
+GL_GRID_10_PER_ROW
+);
+
+418 \10
+GL_THUMB_SIZE
+;
+
+421 
+_h_l
+ = 
+_w_l
+;
+
+422 
+_h
+ = 
+_w
+;
+
+423 ià((
+r٩e_mode
+ =ð
+APP_DEVICE_ORIENTATION_270
+) ||
+
+424 (
+r٩e_mode
+ =ð
+APP_DEVICE_ORIENTATION_90
+)) {
+
+425 
+       `\96m_g\92grid_\99em_size_£t
+(
+v\9bw
+, 
+_w_l
+, 
+_h_l
+);
+
+426 ià(
+size_w
+)
+
+427 *
+size_w
+ = 
+_w_l
+-4;
+
+428 ià(
+size_h
+)
+
+429 *
+size_h
+ = 
+_h_l
+-4;
+
+431 
+       `\96m_g\92grid_\99em_size_£t
+(
+v\9bw
+, 
+_w
+, 
+_h
+);
+
+432 ià(
+size_w
+)
+
+433 *
+size_w
+ = 
+_w
+-4;
+
+434 ià(
+size_h
+)
+
+435 *
+size_h
+ = 
+_h
+-4;
+
+441 ià(
+size_w
+ && 
+size_h
+)
+
+442 
+       `gl_dbg
+("P: %dx%d, size_w: %d,size_h: %d", 
+_w
+, 
+_h
+, *
+size_w
+, *
+size_h
+);
+
+444 
+       }
+}
+
+447 \12
+       $_gl_thumb_¥l\99_£t_size
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+v\9bw
+)
+
+449 
+       `GL_CHECK_VAL
+(
+v\9bw
+, -1);
+
+450 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+451 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+452 \12
+r٩e_mode
+ = 
+ad
+->
+ma\9a\9afo
+.rotate_mode;
+
+453 \12
+_w
+ = 0;
+
+454 \12
+_h
+ = 0;
+
+455 \12
+_w_l
+ = 0;
+
+456 \12
+_h_l
+ = 0;
+
+457 \12
+w\9a_w
+ = 0;
+
+458 \12
+w\9a_h
+ = 0;
+
+459 \b
+sÿË
+ = 
+       `_gl_g\91_w\9a_çùÜ
+(
+ad
+->
+ma\9a\9afo
+.
+w\9a
+, &
+w\9a_w
+, &
+w\9a_h
+);
+
+460 
+       `gl_dbg
+("rÙ©e_mode: %d, zoom\86ev\96: %d, sÿË : %f", 
+r٩e_mode
+,
+
+461 
+ad
+->
+p\9ach\9afo
+.
+zoom_Ëv\96
+, 
+sÿË
+);
+
+463 
+_w
+ = (\12)((2*
+w\9a_w
+è/ (3*
+GL_GRID_2_PER_ROW
+));
+
+464 
+_h
+ = 
+_w
+;
+
+465 
+_w_l
+ = (\12)((
+w\9a_h
+-
+w\9a_w
+/3è/ 
+GL_GRID_5_PER_ROW
+);
+
+466 
+_h_l
+ = 
+_w_l
+;
+
+468 ià((
+r٩e_mode
+ =ð
+APP_DEVICE_ORIENTATION_270
+) ||
+
+469 (
+r٩e_mode
+ =ð
+APP_DEVICE_ORIENTATION_90
+)) {
+
+470 
+       `\96m_g\92grid_\99em_size_£t
+(
+v\9bw
+, 
+_w_l
+, 
+_h_l
+);
+
+472 
+       `\96m_g\92grid_\99em_size_£t
+(
+v\9bw
+, 
+_w
+, 
+_h
+);
+
+476 
+       }
+}
+
+479 
+boÞ
+       $_gl_thumb_\9a£¹_d©e
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+·»Á
+)
+
+481 
+       `GL_CHECK_FALSE
+(
+d©a
+);
+
+482 
+       `GL_CHECK_FALSE
+(
+·»Á
+);
+
+483 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+484 
+boÞ
+b_»move
+ = 
+çl£
+;
+
+486 ià(
+ad
+->
+p\9ach\9afo
+.
+zoom_Ëv\96
+ !ð
+GL_ZOOM_DEFAULT
+)
+
+487 
+b_»move
+ = 
+\8cue
+;
+
+489 
+gl_\99em
+ *
+g\99em
+ = 
+NULL
+;
+
+490 
+gl_\99em
+ *
+´e_g\99em
+ = 
+NULL
+;
+
+491 
+gl_\99em
+ *
+\9a£¹ed_g\99em
+ = 
+NULL
+;
+
+492 
+boÞ
+b_\9a£¹
+ = 
+çl£
+;
+
+493 
+Elm_Objeù_I\8bm
+ *
+\96m_\99em
+ = 
+NULL
+;
+
+494 
+Elm_Objeù_I\8bm
+ *
+Ãxt_\96m_\99em
+ = 
+NULL
+;
+
+495 
+Elm_G\92grid_I\8bm_CÏss
+ *
+dgic
+ = &(
+ad
+->
+grid\9afo
+.
+d©e_gic
+);
+
+497 
+\96m_\99em
+ = 
+       `\96m_g\92grid_f\9c¡_\99em_g\91
+(
+·»Á
+);
+
+498 \1f
+\96m_\99em
+) {
+
+499 
+Ãxt_\96m_\99em
+ = 
+       `\96m_g\92grid_\99em_Ãxt_g\91
+(
+\96m_\99em
+);
+
+500 
+g\99em
+ = 
+       `\96m_objeù_\99em_d©a_g\91
+(
+\96m_\99em
+);
+
+501 ià(
+g\99em
+ =ð
+NULL
+) {
+
+502 
+       `gl_dbgE
+("Invalid data item!");
+
+504 } \vià(
+b_»move
+) {
+
+505 ià(
+       `\96m_g\92grid_\99em_\99em_þass_g\91
+(
+\96m_\99em
+è=ð
+dgic
+) {
+
+506 
+       `gl_dbg
+("Remov\90\90\99em %p", 
+dgic
+);
+
+507 
+g\99em
+->
\97µ\92d
+ = 
+çl£
+;
+
+508 
+       `\96m_objeù_\99em_d\96
+(
+\96m_\99em
+);
+
+510 \10
+GL_THUMB_NEXT
+;
+
+511 } \vià(
+´e_g\99em
+ =ð
+NULL
+) {
+
+512 
+b_\9a£¹
+ = 
+\8cue
+;
+
+513 } \vià(
+g\99em
+->
+\96m_\99em
+ && !g\99em->
\97µ\92d
+ &&
+
+514 
+´e_g\99em
+->
+\99em
+) {
+
+515 \19
+tm
+t1
+;
+
+516 \19
+tm
+t2
+;
+
+517 \12
+mth
+ = 0;
+
+518 \12
+yth
+ = 0;
+
+519 
+       `loÿÉime_r
+((
+time_t
+ *)&(
+´e_g\99em
+->
+\99em
+->
+mtime
+),
+
+520 &
+t1
+);
+
+521 
+mth
+ = 
+t1
+.
+tm_mÚ
+;
+
+522 
+yth
+ = 
+t1
+.
+tm_y\97r
+;
+
+523 
+       `loÿÉime_r
+((
+time_t
+ *è&(
+g\99em
+->
+\99em
+->
+mtime
+), &
+t2
+);
+
+524 ià(
+mth
+ !ð
+t2
+.
+tm_mÚ
+ || 
+yth
+ !ðt2.
+tm_y\97r
+)
+
+525 
+b_\9a£¹
+ = 
+\8cue
+;
+
+527 ià(
+b_\9a£¹
+ && 
+g\99em
+->
+\96m_\99em
+ && !g\99em->
\97µ\92d
+) {
+
+528 
+       `\96m_g\92grid_\99em_\9a£¹_befÜe
+(
+·»Á
+, 
+dgic
+,
+
+529 
+g\99em
+, g\99em->
+\96m_\99em
+,
+
+530 
+NULL
+, NULL);
+
+531 
+g\99em
+->
\97µ\92d
+ = 
+\8cue
+;
+
+532 
+g\99em
+->
+´e_g\99em
+ = gitem;
+
+533 
+\9a£¹ed_g\99em
+ = 
+g\99em
+;
+
+534 } \vià(
+\9a£¹ed_g\99em
+) {
+
+535 
+g\99em
+->
+´e_g\99em
+ = 
+\9a£¹ed_g\99em
+;
+
+538 
+´e_g\99em
+ = 
+g\99em
+;
+
+539 
+b_\9a£¹
+ = 
+çl£
+;
+
+541 
+GL_THUMB_NEXT
+:
+
+543 
+g\99em
+->
+´e_g\99em
+ = 
+NULL
+;
+
+544 
+\96m_\99em
+ = 
+Ãxt_\96m_\99em
+;
+
+547 \15 
+\8cue
+;
+
+548 
+       }
+}
+
+       @src/widget/gl-tile.c
+
+18 \ 2
+       ~"gl-debug.h
+"
+
+19 \ 2
+       ~"gl-t\9ee.h
+"
+
+20 \ 2
+       ~"gl-ut\9e.h
+"
+
+21 \ 2
+       ~"gl-bu\89Ú.h
+"
+
+22 \ 2
+       ~"gl-cÚ\8cÞb¬.h
+"
+
+23 \ 2
+       ~"g®Ëry.h
+"
+
+24 \ 2
+       ~"gl-icÚs.h
+"
+
+25 #ifdeà
+_USE_ROTATE_BG
+
+
+26 \ 2
+       ~"gl-r٩e-bg.h
+"
+
+28 \ 2
+       ~"gl-ge¡u».h
+"
+
+29 \ 2
+       ~"gl-¡r\9ags.h
+"
+
+30 \ 2
+       ~"gl-tim\96\9ae.h
+"
+
+33 \ 1
+       #GL_TILE_ITEM_WIDTH
+ 360
+
+       )
+
+34 \ 1
+       #GL_TILE_ITEM_HEIGHT
+ 354
+
+       )
+
+35 \ 1
+       #GL_TILE_ITEM_L_W
+ 426
+
+       )
+
+36 \ 1
+       #GL_TILE_ITEM_L_H
+ 426
+
+       )
+
+37 \ 1
+       #GL_TILE_2_PER_ROW
+ 2
+
+       )
+
+38 \ 1
+       #GL_TILE_3_PER_ROW
+ 3
+
+       )
+
+39 \ 1
+       #GL_TILE_ITEM_CNT
+ 6
+
+       )
+
+40 \ 1
+       #GL_TILE_ITEM_CNT2
+ 12
+
+       )
+
+41 \ 1
+       #GL_TILE_ITEM_L_CNT
+ 3
+
+       )
+
+43 \ 1
+       #GL_TILE_ITEM_C_CNT
+ 3
+
+       )
+
+44 \ 1
+       #GL_TILE_ALIGN_LEFT
+ 0.0f
+
+       )
+
+45 \ 1
+       #GL_TILE_ALIGN_CON1
+ 0.25f
+
+       )
+
+46 \ 1
+       #GL_TILE_ALIGN_CON2
+ 0.75f
+
+       )
+
+47 \ 1
+       #GL_TILE_ALIGN_MID
+ 0.5f
+
+       )
+
+48 \ 1
+       #GL_TILE_ALIGN_BOT
+ 1.0f
+
+       )
+
+50 \ 1
+       #GL_TILE_W
+ (
+GL_TILE_ITEM_WIDTH
+-8)
+
+       )
+
+51 \ 1
+       #GL_TILE_H
+ (
+GL_TILE_ITEM_HEIGHT
+-8)
+
+       )
+
+53 \ 1
+       #GL_CHECKBOX_STYLE_ALBUM
+ "g®Ëry/®bum"
+
+       )
+
+54 \ 1
+       #GL_CHECKBOX_STYLE_ALBUM_GRID
+ "g®Ëry/®bum/grid"
+
+       )
+
+56 \18
+Evas_Objeù
+ *
+       $__gl_t\9ee_add_icÚ_bg
+(
+Evas_Objeù
+ *
+obj
+, 
+bg_f\9ee_£t_cb
+func
+,
+
+57 \1e*
+d©a
+)
+
+59 
+       `GL_CHECK_NULL
+(
+func
+);
+
+60 
+       `GL_CHECK_NULL
+(
+obj
+);
+
+61 
+Evas_Objeù
+ *
+bg
+ = 
+NULL
+;
+
+63 #ifdeà
+_USE_ROTATE_BG
+
+
+64 
+bg
+ = 
+       `_gl_r٩e_bg_add
+(
+obj
+, 
+\8cue
+);
+
+66 
+bg
+ = 
+       `\96m_bg_add
+(
+obj
+);
+
+68 
+       `GL_CHECK_NULL
+(
+bg
+);
+
+70 ià(
+d©a
+) {
+
+71 \b
+sÿË
+ = 
+       `\96m_cÚfig_sÿË_g\91
+();
+
+72 \12
+wid
+ = 0;
+
+73 \12
+hei
+ = 0;
+
+74 
+wid
+ = (\12)(
+GL_TILE_W
+ * 
+sÿË
+);
+
+75 
+hei
+ = (\12)(
+GL_TILE_H
+ * 
+sÿË
+);
+
+76 #ifdeà
+_USE_ROTATE_BG
+
+
+77 
+       `_gl_r٩e_bg_add_image
+(
+bg
+, 
+wid
+, 
+hei
+);
+
+79 
+       `\96m_bg_lßd_size_£t
+(
+bg
+, 
+wid
+, 
+hei
+);
+
+82 
+       `func
+(
+bg
+, 
+d©a
+);
+
+85 
+       `evas_objeù_size_h\9at_weight_£t
+(
+bg
+, 
+EVAS_HINT_EXPAND
+, EVAS_HINT_EXPAND);
+
+86 
+       `evas_objeù_size_h\9at_®ign_£t
+(
+bg
+, 0.5, 0.5);
+
+87 
+       `evas_objeù_show
+(
+bg
+);
+
+89 \15 
+bg
+;
+
+90 
+       }
+}
+
+92 \18
+E\9aa_BoÞ
+       $__gl_t\9ee_zoom_out_cb
+(
+Evas_Objeù
+ *
+ge¡u»
+, \1e*
+d©a
+)
+
+94 
+       `GL_CHECK_FALSE
+(
+d©a
+);
+
+95 
+Evas_Objeù
+ *
+·»Á
+ = 
+NULL
+;
+
+96 
+Evas_Objeù
+ *
+v\9bw
+ = 
+NULL
+;
+
+97 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+98 \12
+v\9bw_m
+ = 
+       `gl_g\91_v\9bw_mode
+(
+d©a
+);
+
+99 
+       `gl_dbg
+("v\9bw_m: %d", 
+v\9bw_m
+);
+
+101 ià(
+v\9bw_m
+ =ð
+GL_VIEW_TIMELINE
+) {
+
+102 ià((
+ad
+->
+p\9ach\9afo
+.
+zoom_Ëv\96
+ > 
+GL_ZOOM_DEFAULT
+)) {
+
+104 
+ad
+->
+p\9ach\9afo
+.
+zoom_Ëv\96
+--;
+
+105 
+       `gl_dbg
+("Update\81ime view size");
+
+106 
+       `_gl_tim\96\9ae_upd©e_grid_size
+(
+d©a
+);
+
+108 
+       `gl_dbg
+("AÌ\97dy\87\88max zoom\86ev\96 : %d", 
+ad
+->
+p\9ach\9afo
+.
+zoom_Ëv\96
+);
+
+110 \15 
+çl£
+;
+
+112 ià((
+ad
+->
+ma\9a\9afo
+.
+r٩e_mode
+ =ð
+APP_DEVICE_ORIENTATION_270
+) ||
+
+113 (
+ad
+->
+ma\9a\9afo
+.
+r٩e_mode
+ =ð
+APP_DEVICE_ORIENTATION_90
+)) {
+
+114 
+       `gl_dbg
+("Skip in\86andscape mode");
+
+116 \15 
+çl£
+;
+
+119 
+·»Á
+ = 
+       `_gl_ge¡u»_g\91_·»Á
+(
+ge¡u»
+);
+
+120 
+       `GL_CHECK_FALSE
+(
+·»Á
+);
+
+121 
+v\9bw
+ = 
+       `\96m_objeù_·¹_cÚ\8bÁ_g\91
+(
+·»Á
+, "elm.swallow.view");
+
+122 
+       `GL_CHECK_CANCEL
+(
+v\9bw
+);
+
+125 ià(
+       `\96m_g\92grid_\99ems_couÁ
+(
+v\9bw
+) <= 0)
+
+126 \15 
+çl£
+;
+
+128 \12
+Ëv\96
+ = (\12)
+       `evas_objeù_d©a_g\91
+(
+v\9bw
+, 
+GL_GESTURE_KEY_PINCH_LEVEL
+);
+
+129 ià(
+GL_ZOOM_NONE
+ =ð
+Ëv\96
+)
+
+130 \15 
+çl£
+;
+
+131 ià(
+Ëv\96
+ >ð
+GL_ZOOM_DEFAULT
+) {
+
+132 
+Ëv\96
+--;
+
+133 
+       `evas_objeù_d©a_£t
+(
+v\9bw
+, 
+GL_GESTURE_KEY_PINCH_LEVEL
+,
+
+134 (\1e*)
+Ëv\96
+);
+
+136 
+       `gl_dbg
+("Ëv\96: %d", 
+Ëv\96
+);
+
+138 
+       `_gl_t\9ee_upd©e_\99em_size
+(
+d©a
+, 
+v\9bw
+, 
+\8cue
+);
+
+139 \15 
+çl£
+;
+
+140 
+       }
+}
+
+142 \18
+E\9aa_BoÞ
+       $__gl_t\9ee_zoom_\9a_cb
+(
+Evas_Objeù
+ *
+ge¡u»
+, \1e*
+d©a
+)
+
+144 
+       `GL_CHECK_FALSE
+(
+d©a
+);
+
+145 
+Evas_Objeù
+ *
+·»Á
+ = 
+NULL
+;
+
+146 
+Evas_Objeù
+ *
+v\9bw
+ = 
+NULL
+;
+
+147 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+148 \12
+v\9bw_m
+ = 
+       `gl_g\91_v\9bw_mode
+(
+d©a
+);
+
+149 
+       `gl_dbg
+("v\9bw_m: %d", 
+v\9bw_m
+);
+
+151 ià(
+v\9bw_m
+ =ð
+GL_VIEW_TIMELINE
+) {
+
+152 ià((
+ad
+->
+p\9ach\9afo
+.
+zoom_Ëv\96
+ >ð
+GL_ZOOM_DEFAULT
+) &&
+
+153 (
+ad
+->
+p\9ach\9afo
+.
+zoom_Ëv\96
+ < (
+GL_ZOOM_MAX
+ - 1))) {
+
+155 
+ad
+->
+p\9ach\9afo
+.
+zoom_Ëv\96
+++;
+
+156 
+       `gl_dbg
+("Update\81ime view size");
+
+157 
+       `_gl_tim\96\9ae_upd©e_grid_size
+(
+d©a
+);
+
+159 
+       `gl_dbg
+("AÌ\97dy\87\88max zoom\86ev\96 : %d", 
+ad
+->
+p\9ach\9afo
+.
+zoom_Ëv\96
+);
+
+161 \15 
+çl£
+;
+
+164 ià((
+ad
+->
+ma\9a\9afo
+.
+r٩e_mode
+ =ð
+APP_DEVICE_ORIENTATION_270
+) ||
+
+165 (
+ad
+->
+ma\9a\9afo
+.
+r٩e_mode
+ =ð
+APP_DEVICE_ORIENTATION_90
+)) {
+
+166 
+       `gl_dbg
+("Skip in\86andscape mode");
+
+168 \15 
+çl£
+;
+
+171 
+·»Á
+ = 
+       `_gl_ge¡u»_g\91_·»Á
+(
+ge¡u»
+);
+
+172 
+       `GL_CHECK_CANCEL
+(
+·»Á
+);
+
+173 
+v\9bw
+ = 
+       `\96m_objeù_·¹_cÚ\8bÁ_g\91
+(
+·»Á
+, "elm.swallow.view");
+
+174 
+       `GL_CHECK_FALSE
+(
+v\9bw
+);
+
+177 ià(
+       `\96m_g\92grid_\99ems_couÁ
+(
+v\9bw
+) <= 0)
+
+178 \15 
+çl£
+;
+
+180 \12
+Ëv\96
+ = (\12)
+       `evas_objeù_d©a_g\91
+(
+v\9bw
+, 
+GL_GESTURE_KEY_PINCH_LEVEL
+);
+
+181 ià(
+GL_ZOOM_DEFAULT
+ =ð
+Ëv\96
+)
+
+182 \15 
+çl£
+;
+
+183 ià(
+Ëv\96
+ < 
+GL_ZOOM_DEFAULT
+) {
+
+184 
+Ëv\96
+++;
+
+185 
+       `evas_objeù_d©a_£t
+(
+v\9bw
+, 
+GL_GESTURE_KEY_PINCH_LEVEL
+,
+
+186 (\1e*)
+Ëv\96
+);
+
+188 
+       `gl_dbg
+("Ëv\96: %d", 
+Ëv\96
+);
+
+190 
+       `_gl_t\9ee_upd©e_\99em_size
+(
+d©a
+, 
+v\9bw
+, 
+\8cue
+);
+
+191 \15 
+çl£
+;
+
+192 
+       }
+}
+
+194 \18\1e
+       $__gl_t\99Ë_grid_d\96_cb
+(\1e*
+d©a
+, 
+Evas
+ *
+e
+, 
+Evas_Objeù
+ *
+obj
+,
+
+195 \1e*
+ei
+)
+
+197 
+       `gl_dbg
+("Delete grid ---");
+
+198 ià(
+obj
+) {
+
+199 
+       `evas_objeù_d©a_d\96
+(
+obj
+, 
+GL_GESTURE_KEY_PINCH_LEVEL
+);
+
+201 
+       `gl_dbg
+("Delete grid +++");
+
+202 
+       }
+}
+
+204 
+Evas_Objeù
+ *
+       $_gl_t\9ee_show_·¹_icÚ
+(
+Evas_Objeù
+ *
+obj
+, cڡ \ 5*
+·¹
+,
+
+205 
+bg_f\9ee_£t_cb
+func
+, \1e*
+d©a
+)
+
+207 
+       `GL_CHECK_NULL
+(
+·¹
+);
+
+208 
+       `GL_CHECK_NULL
+(
+       `¡¾\92
+(
+·¹
+));
+
+209 
+       `GL_CHECK_NULL
+(
+obj
+);
+
+211 ià(!
+       `g_¡rcmp0
+(
+·¹
+, 
+GL_TILE_ICON
+)) {
+
+212 
+Evas_Objeù
+ *
+bg
+ = 
+NULL
+;
+
+213 
+bg
+ = 
+       `__gl_t\9ee_add_icÚ_bg
+(
+obj
+, 
+func
+, 
+d©a
+);
+
+214 \15 
+bg
+;
+
+216 \15 
+NULL
+;
+
+217 
+       }
+}
+
+219 
+Evas_Objeù
+ *
+       $_gl_t\9ee_show_·¹_dim
+(
+Evas_Objeù
+ *
+obj
+)
+
+221 
+       `GL_CHECK_NULL
+(
+obj
+);
+
+223 
+Evas
+ *
+evas
+ = 
+       `evas_objeù_evas_g\91
+(
+obj
+);
+
+224 
+       `GL_CHECK_NULL
+(
+evas
+);
+
+225 
+Evas_Objeù
+ *
+bg
+ = 
+NULL
+;
+
+226 
+bg
+ = 
+       `evas_objeù_»ùªgË_add
+(
+evas
+);
+
+227 
+       `GL_CHECK_NULL
+(
+bg
+);
+
+229 
+       `evas_objeù_cÞÜ_£t
+(
+bg
+, 220, 218, 211, 153);
+
+230 
+       `evas_objeù_size_h\9at_weight_£t
+(
+bg
+, 
+EVAS_HINT_EXPAND
+, EVAS_HINT_EXPAND);
+
+231 
+       `evas_objeù_size_h\9at_®ign_£t
+(
+bg
+, 
+EVAS_HINT_FILL
+, EVAS_HINT_FILL);
+
+232 
+       `evas_objeù_show
+(
+bg
+);
+
+233 \15 
+bg
+;
+
+234 
+       }
+}
+
+236 
+Evas_Objeù
+ *
+       $_gl_t\9ee_show_·¹_checkbox_grid
+(
+Evas_Objeù
+ *
+obj
+, 
+boÞ
+checked
+,
+
+237 
+Evas_Sm¬t_Cb
+func
+,
+
+238 cڡ \1e*
+d©a
+)
+
+240 
+       `GL_CHECK_NULL
+(
+func
+);
+
+241 
+       `GL_CHECK_NULL
+(
+obj
+);
+
+242 
+Evas_Objeù
+ *
+ck
+ = 
+NULL
+;
+
+244 
+ck
+ = 
+       `\96m_check_add
+(
+obj
+);
+
+245 
+       `GL_CHECK_NULL
+(
+ck
+);
+
+246 
+       `\96m_objeù_¡yË_£t
+(
+ck
+, 
+GL_CHECKBOX_STYLE_ALBUM_GRID
+);
+
+247 
+       `evas_objeù_»³©_ev\92ts_£t
+(
+ck
+, 
+EINA_TRUE
+);
+
+248 
+       `\96m_check_¡©e_£t
+(
+ck
+, 
+checked
+);
+
+249 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+ck
+, "chªged", 
+func
+, 
+d©a
+);
+
+250 
+       `evas_objeù_show
+(
+ck
+);
+
+251 \15 
+ck
+;
+
+252 
+       }
+}
+
+254 
+Evas_Objeù
+ *
+       $_gl_t\9ee_show_·¹_checkbox
+(
+Evas_Objeù
+ *
+obj
+, 
+boÞ
+checked
+,
+
+255 
+Evas_Sm¬t_Cb
+func
+, cڡ \1e*
+d©a
+)
+
+257 
+       `GL_CHECK_NULL
+(
+func
+);
+
+258 
+       `GL_CHECK_NULL
+(
+obj
+);
+
+259 
+Evas_Objeù
+ *
+ck
+ = 
+NULL
+;
+
+261 
+ck
+ = 
+       `\96m_check_add
+(
+obj
+);
+
+262 
+       `GL_CHECK_NULL
+(
+ck
+);
+
+263 
+       `evas_objeù_´Ýag©e_ev\92ts_£t
+(
+ck
+, 
+EINA_FALSE
+);
+
+264 
+       `\96m_check_¡©e_£t
+(
+ck
+, 
+checked
+);
+
+265 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+ck
+, "chªged", 
+func
+, 
+d©a
+);
+
+266 
+       `evas_objeù_show
+(
+ck
+);
+
+267 \15 
+ck
+;
+
+268 
+       }
+}
+
+270 
+Evas_Objeù
+ *
+       $_gl_t\9ee_show_·¹_»Çme
+(
+Evas_Objeù
+ *
+obj
+, 
+Evas_Sm¬t_Cb
+func
+,
+
+271 cڡ \1e*
+d©a
+)
+
+273 
+       `GL_CHECK_NULL
+(
+func
+);
+
+274 
+       `GL_CHECK_NULL
+(
+obj
+);
+
+275 
+Evas_Objeù
+ *
+b\8a
+ = 
+NULL
+;
+
+276 
+b\8a
+ = 
+       `_gl_but_ü\97\8b_but
+(
+obj
+, 
+NULL
+, NULL, 
+GL_BUTTON_STYLE_RENAME
+, 
+func
+,
+
+277 
+d©a
+);
+
+278 
+       `GL_CHECK_NULL
+(
+b\8a
+);
+
+279 
+       `evas_objeù_´Ýag©e_ev\92ts_£t
+(
+b\8a
+, 
+EINA_FALSE
+);
+
+280 \15 
+b\8a
+;
+
+281 
+       }
+}
+
+283 
+Evas_Objeù
+ *
+       $_gl_t\9ee_show_·¹_ty³_icÚ
+(
+Evas_Objeù
+ *
+obj
+, \12
+¢s_ty³
+)
+
+285 
+       `GL_CHECK_NULL
+(
+obj
+);
+
+286 
+Evas_Objeù
+ *
+icÚ
+ = 
+       `\96m_icÚ_add
+(
+obj
+);
+
+287 
+       `GL_CHECK_NULL
+(
+icÚ
+);
+
+289 \1a
+¢s_ty³
+) {
+
+290 \ 4
+GL_TILE_TYPE_CAMERA
+:
+
+291 
+       `GL_ICON_SET_FILE
+(
+icÚ
+, 
+GL_ICON_ALBUM_CAMERA
+);
+
+293 \ 4
+GL_TILE_TYPE_DOWNLOAD
+:
+
+294 
+       `GL_ICON_SET_FILE
+(
+icÚ
+, 
+GL_ICON_ALBUM_DOWNLOAD
+);
+
+296 \ 4
+GL_TILE_TYPE_FOLDER
+:
+
+297 
+       `GL_ICON_SET_FILE
+(
+icÚ
+, 
+GL_ICON_ALBUM_FOLDER
+);
+
+299 \ 4
+GL_TILE_TYPE_MMC_STORAGE
+:
+
+300 
+       `GL_ICON_SET_FILE
+(
+icÚ
+, 
+GL_ICON_ALBUM_MMC
+);
+
+303 
+       `gl_dbgE
+("Unknow sns_ty³[%d]!", 
+¢s_ty³
+);
+
+306 
+       `evas_objeù_show
+(
+icÚ
+);
+
+307 \15 
+icÚ
+;
+
+308 
+       }
+}
+
+310 \12
+       $_gl_t\9ee_g\91_mtime
+(
+time_t
+ *
+mtime1
+,\81ime_\88*
+mtime2
+, \ 5*
+buf
+, \12
+max_Ën
+)
+
+312 \ 5*
+d©e1
+ = 
+NULL
+;
+
+313 \ 5*
+d©e2
+ = 
+NULL
+;
+
+314 \ 5*
+d©e3
+ = 
+NULL
+;
+
+316 
+d©e1
+ = (\ 5*)
+       `ÿÎoc
+(1, 
+GL_DATE_INFO_LEN_MAX
+);
+
+317 
+       `GL_CHECK_VAL
+(
+d©e1
+, -1);
+
+319 
+d©e2
+ = (\ 5*)
+       `ÿÎoc
+(1, 
+GL_DATE_INFO_LEN_MAX
+);
+
+320 ià(
+d©e2
+ =ð
+NULL
+)
+
+321 \10
+GL_TILE_ERROR
+;
+
+323 
+d©e3
+ = (\ 5*)
+       `ÿÎoc
+(1, 
+GL_DATE_INFO_LEN_MAX
+);
+
+324 ià(
+d©e3
+ =ð
+NULL
+)
+
+325 \10
+GL_TILE_ERROR
+;
+
+327 \19
+tm
+t1
+;
+
+328 
+       `mem£t
+(&
+t1
+, 0x00, \17(\19
+tm
+));
+
+329 
+       `loÿÉime_r
+(
+mtime1
+, &
+t1
+);
+
+330 
+       `¡ráime
+(
+d©e1
+, 
+GL_DATE_INFO_LEN_MAX
+, "%Y.%m.%d", &
+t1
+);
+
+331 
+       `¡ráime
+(
+d©e3
+, 
+GL_DATE_INFO_LEN_MAX
+, "%Y.%m", &
+t1
+);
+
+333 \19
+tm
+t2
+;
+
+334 
+       `mem£t
+(&
+t2
+, 0x00, \17(\19
+tm
+));
+
+335 
+       `loÿÉime_r
+(
+mtime2
+, &
+t2
+);
+
+336 
+       `¡ráime
+(
+d©e2
+, 
+GL_DATE_INFO_LEN_MAX
+, "%Y.%m.%d", &
+t2
+);
+
+338 ià(!
+       `g_¡rcmp0
+(
+d©e1
+, 
+d©e2
+)) {
+
+339 
+       `g_¡¾ýy
+(
+buf
+, 
+d©e1
+, 
+max_Ën
+);
+
+341 
+       `¡ráime
+(
+d©e2
+, 
+GL_DATE_INFO_LEN_MAX
+, "%Y.%m", &
+t2
+);
+
+342 
+       `¢´\9atf
+(
+buf
+, 
+max_Ën
+, "% - %s", 
+d©e2
+, 
+d©e3
+);
+
+345 
+       `GL_FREEIF
+(
+d©e1
+);
+
+346 
+       `GL_FREEIF
+(
+d©e2
+);
+
+347 
+       `GL_FREEIF
+(
+d©e3
+);
+
+350 
+GL_TILE_ERROR
+:
+
+352 
+       `GL_FREEIF
+(
+d©e1
+);
+
+353 
+       `GL_FREEIF
+(
+d©e2
+);
+
+354 
+       `GL_FREEIF
+(
+d©e3
+);
+
+356 
+       }
+}
+
+358 
+Evas_Objeù
+ *
+       $_gl_t\9ee_add_g\92grid
+(
+Evas_Objeù
+ *
+·»Á
+)
+
+360 
+       `GL_CHECK_NULL
+(
+·»Á
+);
+
+361 
+Evas_Objeù
+ *
+grid
+ = 
+       `\96m_g\92grid_add
+(
+·»Á
+);
+
+362 
+       `GL_CHECK_NULL
+(
+grid
+);
+
+364 #ifdeà
+_USE_CUSTOMIZED_GENGRID_STYLE
+
+
+365 
+       `\96m_objeù_¡yË_£t
+(
+grid
+, 
+GL_GENGRID_STYLE_GALLERY
+);
+
+368 #ifdeà
+_USE_SCROL_HORIZONRAL
+
+
+369 
+       `\96m_g\92grid_®ign_£t
+(
+grid
+, 
+GL_TILE_ALIGN_MID
+, GL_TILE_ALIGN_MID);
+
+370 
+       `\96m_g\92grid_hÜizÚ\8fl_£t
+(
+grid
+, 
+EINA_TRUE
+);
+
+371 
+       `\96m_süÞËr_bounû_£t
+(
+grid
+, 
+EINA_TRUE
+, 
+EINA_FALSE
+);
+
+373 
+       `\96m_g\92grid_®ign_£t
+(
+grid
+, 
+GL_TILE_ALIGN_MID
+, 0.0);
+
+374 
+       `\96m_g\92grid_hÜizÚ\8fl_£t
+(
+grid
+, 
+EINA_FALSE
+);
+
+375 
+       `\96m_süÞËr_bounû_£t
+(
+grid
+, 
+EINA_FALSE
+, 
+EINA_TRUE
+);
+
+377 
+       `\96m_süÞËr_pÞicy_£t
+(
+grid
+, 
+ELM_SCROLLER_POLICY_OFF
+,
+
+378 
+ELM_SCROLLER_POLICY_AUTO
+);
+
+380 
+       `\96m_g\92grid_muÉi_£Ëù_£t
+(
+grid
+, 
+EINA_TRUE
+);
+
+381 
+       `evas_objeù_size_h\9at_weight_£t
+(
+grid
+, 
+EVAS_HINT_EXPAND
+,
+
+382 
+EVAS_HINT_EXPAND
+);
+
+383 
+       `evas_objeù_d©a_£t
+(
+grid
+, 
+GL_GESTURE_KEY_PINCH_LEVEL
+,
+
+384 (\1e*)
+GL_ZOOM_DEFAULT
+);
+
+385 
+       `evas_objeù_ev\92t_ÿÎback_add
+(
+grid
+, 
+EVAS_CALLBACK_DEL
+,
+
+386 
+__gl_t\99Ë_grid_d\96_cb
+, 
+grid
+);
+
+387 \15 
+grid
+;
+
+388 
+       }
+}
+
+390 #ifdeà
+_USE_SCROL_HORIZONRAL
+
+
+392 \12
+       $_gl_t\9ee_upd©e_\99em_size
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+grid
+, 
+boÞ
+b_upd©e
+)
+
+394 
+       `GL_CHECK_VAL
+(
+grid
+, -1);
+
+395 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+396 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+397 \12
+r٩e_mode
+ = 
+ad
+->
+ma\9a\9afo
+.rotate_mode;
+
+398 \12
+w
+ = 0;
+
+399 \12
+h
+ = 0;
+
+400 \12
+c
+ = 0;
+
+401 \12
+c2
+ = 0;
+
+402 \12
+w_l
+ = 0;
+
+403 \12
+h_l
+ = 0;
+
+404 \12
+c_l
+ = 0;
+
+405 \12
+w\9a_w
+ = 0;
+
+406 \12
+w\9a_h
+ = 0;
+
+407 \b
+sÿË
+ = 
+       `_gl_g\91_w\9a_çùÜ
+(
+ad
+->
+ma\9a\9afo
+.
+w\9a
+, &
+w\9a_w
+, &
+w\9a_h
+);
+
+408 
+       `gl_dbg
+("rÙ©e_mode: %d, b_upd©e: %d", 
+r٩e_mode
+, 
+b_upd©e
+);
+
+410 
+w
+ = (\12)(
+w\9a_w
+ / 
+GL_TILE_2_PER_ROW
+);
+
+411 
+h
+ = (\12)(
+GL_TILE_ITEM_HEIGHT
+ * 
+sÿË
+);
+
+412 
+w_l
+ð(\12)(
+w\9a_h
+ / 
+GL_TILE_3_PER_ROW
+);
+
+413 
+h_l
+ = (\12)(
+GL_TILE_ITEM_L_H
+ * 
+sÿË
+);
+
+414 
+c
+ = 
+GL_TILE_ITEM_CNT
+;
+
+415 
+c_l
+ = 
+GL_TILE_ITEM_L_CNT
+;
+
+416 
+c2
+ = 
+GL_TILE_ITEM_C_CNT
+;
+
+419 \12
+Ëv\96
+ = (\12)
+       `evas_objeù_d©a_g\91
+(
+grid
+, 
+GL_GESTURE_KEY_PINCH_LEVEL
+);
+
+420 ià(
+Ëv\96
+ < 
+GL_ZOOM_DEFAULT
+) {
+
+421 
+       `gl_dbg
+("Use smaller size");
+
+422 
+w
+ = (\12)(
+w\9a_w
+ / 
+GL_TILE_3_PER_ROW
+);
+
+423 
+h
+ *= 0.75f;
+
+424 
+c
+ = 
+GL_TILE_ITEM_CNT2
+;
+
+425 
+c2
+ = 
+GL_TILE_ITEM_C_CNT
+ + 1;
+
+427 
+       `gl_dbg
+("P %dx%d L %dx%d C %dx%d", 
+w
+, 
+h
+, 
+w_l
+, 
+h_l
+, 
+c
+, 
+c_l
+);
+
+429 \b
+®ign_x
+ = 0.0f;
+
+430 \b
+®ign_y
+ = 0.0f;
+
+431 \1d\12
+couÁ
+ = 0;
+
+432 
+couÁ
+ = 
+       `\96m_g\92grid_\99ems_couÁ
+(
+grid
+);
+
+433 
+       `\96m_g\92grid_®ign_g\91
+(
+grid
+, &
+®ign_x
+, &
+®ign_y
+);
+
+434 
+       `gl_dbg
+("couÁ: %d,\87lign_x: %f,\87lign_y: %f", 
+couÁ
+, 
+®ign_x
+, 
+®ign_y
+);
+
+436 ià((
+r٩e_mode
+ =ð
+APP_DEVICE_ORIENTATION_270
+) ||
+
+437 (
+r٩e_mode
+ =ð
+APP_DEVICE_ORIENTATION_90
+)) {
+
+439 ià(
+couÁ
+ >ð
+c_l
+ && (
+®ign_x
+ > 
+GL_TILE_ALIGN_CON1
+ ||
+
+440 
+®ign_y
+ > 
+GL_TILE_ALIGN_CON2
+))
+
+441 
+       `\96m_g\92grid_®ign_£t
+(
+grid
+, 
+GL_TILE_ALIGN_LEFT
+,
+
+442 
+GL_TILE_ALIGN_MID
+);
+
+443 \vià(
+couÁ
+ < 
+c_l
+ && (
+®ign_x
+ < 
+GL_TILE_ALIGN_CON1
+ ||
+
+444 
+®ign_y
+ > 
+GL_TILE_ALIGN_CON2
+))
+
+445 
+       `\96m_g\92grid_®ign_£t
+(
+grid
+, 
+GL_TILE_ALIGN_MID
+,
+
+446 
+GL_TILE_ALIGN_MID
+);
+
+448 
+       `\96m_g\92grid_\99em_size_£t
+(
+grid
+, 
+w_l
+, 
+h_l
+);
+
+451 ià(
+couÁ
+ >ð
+c
+ && (
+®ign_x
+ > 
+GL_TILE_ALIGN_CON1
+ ||
+
+452 
+®ign_y
+ < 
+GL_TILE_ALIGN_CON2
+)) {
+
+453 
+       `\96m_g\92grid_®ign_£t
+(
+grid
+, 
+GL_TILE_ALIGN_LEFT
+,
+
+454 
+GL_TILE_ALIGN_MID
+);
+
+455 } \vià(
+couÁ
+ < 
+c
+) {
+
+456 ià(
+couÁ
+ < 
+c2
+ &&
+
+457 (
+®ign_x
+ < 
+GL_TILE_ALIGN_CON1
+ ||
+
+458 
+®ign_y
+ > 
+GL_TILE_ALIGN_CON2
+))
+
+459 
+       `\96m_g\92grid_®ign_£t
+(
+grid
+, 
+GL_TILE_ALIGN_MID
+,
+
+460 
+GL_TILE_ALIGN_MID
+);
+
+461 \vià(
+couÁ
+ >ð
+c2
+ &&
+
+462 (
+®ign_x
+ < 
+GL_TILE_ALIGN_CON1
+ ||
+
+463 
+®ign_y
+ < 
+GL_TILE_ALIGN_CON2
+))
+
+464 
+       `\96m_g\92grid_®ign_£t
+(
+grid
+, 
+GL_TILE_ALIGN_MID
+,
+
+465 
+GL_TILE_ALIGN_MID
+);
+
+467 
+       `\96m_g\92grid_\99em_size_£t
+(
+grid
+, 
+w
+, 
+h
+);
+
+470 ià(
+b_upd©e
+)
+
+471 
+       `\96m_g\92grid_»®ized_\99ems_upd©e
+(
+grid
+);
+
+473 
+       }
+}
+
+476 \12
+       $_gl_t\9ee_upd©e_\99em_size
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+grid
+, 
+boÞ
+b_upd©e
+)
+
+478 
+       `GL_CHECK_VAL
+(
+grid
+, -1);
+
+479 
+       `GL_CHECK_VAL
+(
+d©a
+, -1);
+
+480 
+gl_­pd©a
+ *
+ad
+ = (gl_­pd©¨*)
+d©a
+;
+
+481 \12
+r٩e_mode
+ = 
+ad
+->
+ma\9a\9afo
+.rotate_mode;
+
+482 \12
+w
+ = 0;
+
+483 \12
+h
+ = 0;
+
+484 \12
+c
+ = 0;
+
+485 \12
+w_l
+ = 0;
+
+486 \12
+h_l
+ = 0;
+
+487 \12
+c_l
+ = 0;
+
+488 \12
+w\9a_w
+ = 0;
+
+489 \12
+w\9a_h
+ = 0;
+
+490 \b
+sÿË
+ = 
+       `_gl_g\91_w\9a_çùÜ
+(
+ad
+->
+ma\9a\9afo
+.
+w\9a
+, &
+w\9a_w
+, &
+w\9a_h
+);
+
+491 
+       `gl_dbg
+("rÙ©e_mode: %d, b_upd©e: %d", 
+r٩e_mode
+, 
+b_upd©e
+);
+
+493 
+w
+ = (\12)(
+w\9a_w
+ / 
+GL_TILE_2_PER_ROW
+);
+
+494 
+h
+ = (\12)(298 * 
+sÿË
+);
+
+495 
+w_l
+ð(\12)(
+w\9a_h
+ / 
+GL_TILE_3_PER_ROW
+);
+
+496 
+h_l
+ = 
+w_l
+;
+
+497 
+c
+ = 
+GL_TILE_ITEM_CNT
+;
+
+498 
+c_l
+ = 
+GL_TILE_ITEM_L_CNT
+;
+
+501 \12
+Ëv\96
+ = (\12)
+       `evas_objeù_d©a_g\91
+(
+grid
+, 
+GL_GESTURE_KEY_PINCH_LEVEL
+);
+
+502 ià(
+Ëv\96
+ < 
+GL_ZOOM_DEFAULT
+) {
+
+503 
+       `gl_dbg
+("Use smaller size");
+
+504 
+w
+ = (\12)(
+w\9a_w
+ / 
+GL_TILE_3_PER_ROW
+);
+
+505 
+h
+ = (\12)(200 * 
+sÿË
+);
+
+506 
+c
+ = 
+GL_TILE_ITEM_CNT2
+;
+
+508 
+h
+ = 
+w
+ + 
+w\9a_w
+/9;
+
+509 
+h_l
+ = 
+w_l
+ + 
+w\9a_h
+/9;
+
+510 
+       `gl_dbg
+("P %dx%d L %dx%d C %dx%d", 
+w
+, 
+h
+, 
+w_l
+, 
+h_l
+, 
+c
+, 
+c_l
+);
+
+512 \b
+®ign_x
+ = 0.0f;
+
+513 \b
+®ign_y
+ = 0.0f;
+
+514 \1d\12
+couÁ
+ = 0;
+
+515 
+couÁ
+ = 
+       `\96m_g\92grid_\99ems_couÁ
+(
+grid
+);
+
+516 
+       `\96m_g\92grid_®ign_g\91
+(
+grid
+, &
+®ign_x
+, &
+®ign_y
+);
+
+517 
+       `gl_dbg
+("couÁ: %d,\87lign_x: %f,\87lign_y: %f", 
+couÁ
+, 
+®ign_x
+, 
+®ign_y
+);
+
+519 ià((
+r٩e_mode
+ =ð
+APP_DEVICE_ORIENTATION_270
+) ||
+
+520 (
+r٩e_mode
+ =ð
+APP_DEVICE_ORIENTATION_90
+)) {
+
+522 ià(
+couÁ
+ >ð
+c_l
+ && 
+®ign_y
+ > 
+GL_TILE_ALIGN_CON1
+)
+
+523 
+       `\96m_g\92grid_®ign_£t
+(
+grid
+, 
+GL_TILE_ALIGN_MID
+, 0.0);
+
+524 \vià(
+couÁ
+ < 
+c_l
+ && 
+®ign_y
+ < 
+GL_TILE_ALIGN_CON1
+)
+
+525 
+       `\96m_g\92grid_®ign_£t
+(
+grid
+, 
+GL_TILE_ALIGN_MID
+, 0.0);
+
+527 
+       `\96m_g\92grid_\99em_size_£t
+(
+grid
+, 
+w_l
+, 
+h_l
+);
+
+530 ià(
+couÁ
+ >ð
+c
+ && (
+®ign_x
+ > 
+GL_TILE_ALIGN_CON1
+ ||
+
+531 
+®ign_y
+ < 
+GL_TILE_ALIGN_CON2
+)) {
+
+532 
+       `\96m_g\92grid_®ign_£t
+(
+grid
+, 
+GL_TILE_ALIGN_MID
+, 0.0);
+
+533 } \vià(
+couÁ
+ < 
+c
+ && 
+®ign_y
+ < 
+GL_TILE_ALIGN_CON1
+) {
+
+534 
+       `\96m_g\92grid_®ign_£t
+(
+grid
+, 
+GL_TILE_ALIGN_MID
+, 0.0);
+
+536 
+       `\96m_g\92grid_\99em_size_£t
+(
+grid
+, 
+w
+, 
+h
+);
+
+539 ià(
+b_upd©e
+)
+
+540 
+       `\96m_g\92grid_»®ized_\99ems_upd©e
+(
+grid
+);
+
+542 
+       }
+}
+
+545 
+Evas_Objeù
+ *
+       $_gl_t\9ee_add_ge¡u»
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+·»Á
+)
+
+547 
+       `GL_CHECK_NULL
+(
+·»Á
+);
+
+548 
+       `GL_CHECK_NULL
+(
+d©a
+);
+
+549 
+Evas_Objeù
+ *
+ge¡u»
+ = 
+       `_gl_ge¡u»_add
+(
+d©a
+, 
+·»Á
+);
+
+550 
+       `GL_CHECK_NULL
+(
+ge¡u»
+);
+
+551 
+       `_gl_ge¡u»_£t_zoom_\9a_cb
+(
+ge¡u»
+, 
+__gl_t\9ee_zoom_\9a_cb
+, 
+d©a
+);
+
+552 
+       `_gl_ge¡u»_£t_zoom_out_cb
+(
+ge¡u»
+, 
+__gl_t\9ee_zoom_out_cb
+, 
+d©a
+);
+
+553 \15 
+ge¡u»
+;
+
+554 
+       }
+}
+
+       @widget/include/gl_widget.h
+
+18 #iâdeà
+GL_WIDGET_H
+
+
+19 \ 1
+       #GL_WIDGET_H
+
+
+       )
+
+21 \e\19
+       swidg\91_d©a
+ {
+
+22 
+Evas_Objeù
+ *
+       mw\9a
+;
+
+23 
+Evas_Objeù
+ *
+       mÏyout
+;
+
+24 
+Evas_Objeù
+ *
+       mbg
+;
+
+25 
+Evas_Objeù
+ *
+       mcÚfÜmªt
+;
+
+26 \ 5*
+       mcÚ\8bÁ
+;
+
+27 
+Evas_Objeù
+ *
+       m·»Á
+;
+
+28 
+EcÜe_Tim\94
+ *
+       mtim\94
+;
+
+29 
+boÞ
+       mis_ed\99
+;
+
+30 
+boÞ
+       mshowAlbumD\91a\9es
+;
+
+31 
+boÞ
+       mshowD©eD\91a\9es
+;
+
+32 } 
+       t_widg\91_d©a
+;
+
+34 \12
+gl_widg\91\97\8b
+(
+_widg\91_d©a
+ *
+d©a
+, \12
+w
+, \12
+h
+);
+
+       @widget/include/gl_widget_debug.h
+
+18 #iâdeà
+GL_WIDGET_DEBUG_H
+
+
+19 \ 1
+       #GL_WIDGET_DEBUG_H
+
+
+       )
+
+21 #ià!
+def\9aed
+(
+FLOG
+)
+
+22 \ 1
+       #DbgPr\9at
+(
+fÜm©
+, 
+¬g
+...è
+       `LOGD
+(fÜm©, ##¬g)
+
+       )
+
+23 \ 1
+       #E¼Pr\9at
+(
+fÜm©
+, 
+¬g
+...è
+       `LOGE
+(fÜm©, ##¬g)
+
+       )
+
+24 \ 1
+       #W¬nPr\9at
+(
+fÜm©
+, 
+¬g
+...è
+       `LOGW
+(fÜm©, ##¬g)
+
+       )
+
+26 \r
+FILE
+ *
+__f\9ee_log_å
+;
+
+27 \ 1
+       #DbgPr\9at
+(
+fÜm©
+, 
+¬g
+...èdØ{ 
+       `år\9atf
+(
+__f\9ee_log_å
+, "[LOG] [\e[32m%s/%s\e[0m:%d] " fÜm©, 
+       `ut\9e_ba£Çme
+(
+__FILE__
+), 
+__func__
+, 
+__LINE__
+, ##¬g); 
+       `fæush
+(__f\9ee_log_å); } \1f0)
+
+       )
+
+28 \ 1
+       #E¼Pr\9at
+(
+fÜm©
+, 
+¬g
+...èdØ{ 
+       `år\9atf
+(
+__f\9ee_log_å
+, "[ERR] [\e[32m%s/%s\e[0m:%d] " fÜm©, 
+       `ut\9e_ba£Çme
+(
+__FILE__
+), 
+__func__
+, 
+__LINE__
+, ##¬g); 
+       `fæush
+(__f\9ee_log_å); } \1f0)
+
+       )
+
+29 \ 1
+       #W¬nPr\9at
+(
+fÜm©
+, 
+¬g
+...èdØ{ 
+       `år\9atf
+(
+__f\9ee_log_å
+, "[WRN] [\e[32m%s/%s\e[0m:%d] " fÜm©, 
+       `ut\9e_ba£Çme
+(
+__FILE__
+), 
+__func__
+, 
+__LINE__
+, ##¬g); 
+       `fæush
+(__f\9ee_log_å); } \1f0)
+
+       )
+
+33 \ 1
+       #DbgF»e
+(
+a
+) do { \
+
+34 
+       `ä\93
+(
+a
+); \
+
+35 } \1f0)
+
+       )
+
+37 \ 1
+       #DbgXF»e
+(
+a
+) do { \
+
+38 
+       `DbgPr\9at
+("XFree\n"); \
+
+39 
+       `XF»e
+(
+a
+); \
+
+40 } \1f0)
+
+       )
+
+43 #ià
+def\9aed
+(
+_ENABLE_PERF
+)
+
+44 \ 1
+       #PERF_INIT
+() \
+
+45 \19
+timev®
+__¡v
+; \
+
+46 \19
+timev®
+__\91v
+; \
+
+47 \19
+timev®
+__¹v
+
+
+       )
+
+49 \ 1
+       #PERF_BEGIN
+() do { \
+
+50 ià(
+       `g\91timeofday
+(&
+__¡v
+, 
+NULL
+) < 0) { \
+
+51 
+       `E¼Pr\9at
+("g\91timeofday: %s\n", 
+       `¡»¼Ü
+(
+\94ºo
+)); \
+
+53 } \1f0)
+
+       )
+
+55 \ 1
+       #PERF_MARK
+(
+\8fg
+) do { \
+
+56 ià(
+       `g\91timeofday
+(&
+__\91v
+, 
+NULL
+) < 0) { \
+
+57 
+       `E¼Pr\9at
+("g\91timeofday: %s\n", 
+       `¡»¼Ü
+(
+\94ºo
+)); \
+
+59 
+       `tim\94sub
+(&
+__\91v
+, &
+__¡v
+, &
+__¹v
+); \
+
+60 
+       `DbgPr\9at
+("[%s] %u.%06u\n", 
+\8fg
+, 
+__¹v
+.
+tv_£c
+, __¹v.
+tv_u£c
+); \
+
+61 } \1f0)
+
+       )
+
+63 \ 1
+       #PERF_INIT
+()
+
+       )
+
+64 \ 1
+       #PERF_BEGIN
+()
+
+       )
+
+65 \ 1
+       #PERF_MARK
+(
+\8fg
+)
+
+       )
+
+       @widget/src/gl_widget_create.c
+
+18 \ 2
+       ~<EËm\92\8fry.h
+>
+
+19 \ 2
+       ~<tiz\92.h
+>
+
+20 \ 2
+       ~<E\91.h
+>
+
+21 \ 2
+       ~<­p.h
+>
+
+22 \ 2
+       ~<¡dlib.h
+>
+
+23 \ 2
+       ~<dlog.h
+>
+
+24 \ 2
+       ~<med\9f_cÚ\8bÁ.h
+>
+
+25 \ 2
+       ~"gl_widg\91_debug.h
+"
+
+26 \ 2
+       ~"gl-d©a-ty³.h
+"
+
+27 \ 2
+       ~"gl_widg\91.h
+"
+
+29 \ 1
+       #NUMBER_OF_ITERATION
+ 4
+
+       )
+
+30 \ 1
+       #IMAGES_THRESHOLD
+ 5
+
+       )
+
+31 \ 1
+       #SWALLOWS_COUNT
+ 7
+
+       )
+
+32 \ 1
+       #TIMER_INTERVAL
+ 5
+
+       )
+
+33 \ 1
+       #WIDGET_HEIGHT
+ 500
+
+       )
+
+34 \ 1
+       #WIDGET_WIDTH
+ 500
+
+       )
+
+35 \ 1
+       #EDJE_FILE
+ "edje/g®Ërywidg\91.edj"
+
+       )
+
+36 \ 1
+       #GL_WIDGET_ARGV_IV_VIEW_BY
+ "V\9bw By"
+
+       )
+
+37 \ 1
+       #GL_WIDGET_ARGV_IV_VIEW_BY_FOLER
+ "By FÞd\94"
+
+       )
+
+38 \ 1
+       #GL_WIDGET_ARGV_IV_PATH
+ "P©h"
+
+       )
+
+39 \ 1
+       #GL_WIDGET_UG_PKG_IV
+ "image-v\9bw\94-eæ"
+
+       )
+
+41 \ 1
+       #GL_STR_ID_JAN
+       `dg\91\8bxt
+("sys_¡r\9ag", "IDS_COM_BODY_JANUARY")
+
+       )
+
+42 \ 1
+       #GL_STR_ID_FEB
+       `dg\91\8bxt
+("sys_¡r\9ag", "IDS_COM_BODY_FEBRUARY")
+
+       )
+
+43 \ 1
+       #GL_STR_ID_MAR
+       `dg\91\8bxt
+("sys_¡r\9ag", "IDS_COM_BODY_MARCH")
+
+       )
+
+44 \ 1
+       #GL_STR_ID_APR
+       `dg\91\8bxt
+("sys_¡r\9ag", "IDS_COM_BODY_APRIL")
+
+       )
+
+45 \ 1
+       #GL_STR_ID_MAY
+       `dg\91\8bxt
+("sys_¡r\9ag", "IDS_COM_BODY_MAY")
+
+       )
+
+46 \ 1
+       #GL_STR_ID_JUN
+       `dg\91\8bxt
+("sys_¡r\9ag", "IDS_COM_BODY_JUNE")
+
+       )
+
+47 \ 1
+       #GL_STR_ID_JUL
+       `dg\91\8bxt
+("sys_¡r\9ag", "IDS_COM_BODY_JULY")
+
+       )
+
+48 \ 1
+       #GL_STR_ID_AUG
+       `dg\91\8bxt
+("sys_¡r\9ag", "IDS_COM_BODY_AUGUST")
+
+       )
+
+49 \ 1
+       #GL_STR_ID_SEP
+       `dg\91\8bxt
+("sys_¡r\9ag", "IDS_COM_BODY_SEPTEMBER")
+
+       )
+
+50 \ 1
+       #GL_STR_ID_OCT
+       `dg\91\8bxt
+("sys_¡r\9ag", "IDS_COM_BODY_OCTOBER")
+
+       )
+
+51 \ 1
+       #GL_STR_ID_NOV
+       `dg\91\8bxt
+("sys_¡r\9ag", "IDS_COM_BODY_NOVEMBER")
+
+       )
+
+52 \ 1
+       #GL_STR_ID_DEC
+       `dg\91\8bxt
+("sys_¡r\9ag", "IDS_COM_BODY_DECEMBER")
+
+       )
+
+54 \ 5**
+       g£Ëùed_images
+ = 
+NULL
+;
+
+55 \12
+       gimages_\9a_loÝs
+[] = {3, 2, 1,4};
+
+56 \12
+       gsw®lows_\9a_loÝs
+[5][10] = {{1, 1, 0, 0, 0, 1 ,0}, {0, 0, 0, 0, 1, 1, 0}, {0, 0, 0, 0, 0, 0, 1}, {1, 1, 1, 1, 0, 0, 0}};
+
+57 \12
+       gimages_couÁ
+ = 0;
+
+58 \12
+       g£Ëùed_couÁ
+ = 0;
+
+59 \12
+       gloÝ_couÁ
+ = 0;
+
+61 \18\1e
+gl_widg\91_Ú_no_image_cb
+(\1e*
+d©a
+,
+Evas_Objeù
+ *
+obj
+,
+
+62 cڡ \ 5*
+emissiÚ
+, cڡ \ 5*
+sourû
+);
+
+64 \1e
+       $gl_widg\91_w\9a_d\96_cb
+(\1e*
+d©a
+, 
+Evas
+ *
+evas
+, 
+Evas_Objeù
+ *
+obj
+,
+
+65 \1e*
+ev\92t_\9afo
+)
+
+67 
+       `ecÜe_tim\94_d\96
+(
+d©a
+);
+
+68 
+       }
+}
+
+70 \1e
+       $gl_widg\91_key_down_cb
+(\1e*
+d©a
+, 
+Evas
+ *
+evas
+, 
+Evas_Objeù
+ *
+obj
+,
+
+71 \1e*
+ev\92t_\9afo
+)
+
+73 
+       `\96m_ex\99
+();
+
+74 
+       }
+}
+
+76 \1e
+       $gl_widg\91_­p_g\91_»sourû
+(cڡ \ 5*
+edj_f\9ee_\9a
+, \ 5*
+edj_·th_out
+,
+
+77 \12
+edj_·th_max
+)
+
+79 \ 5*
+»s_·th
+ = 
+       `­p_g\91_»sourû_·th
+();
+
+80 ià(
+»s_·th
+) {
+
+81 
+       `¢´\9atf
+(
+edj_·th_out
+, 
+edj_·th_max
+, "%s%s", 
+»s_·th
+,
+
+82 
+edj_f\9ee_\9a
+);
+
+83 
+       `ä\93
+(
+»s_·th
+);
+
+85 
+       }
+}
+
+87 \1e
+       $_gl_Ïunch_iv
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ev\92t_\9afo
+)
+
+89 ià(!
+obj
+) {
+
+90 
+       `dlog_´\9at
+(
+DLOG_ERROR
+, 
+LOG_TAG
+, "Invalid object!!");
+
+94 \ 5*
+f\9ee_Çme
+ = 
+NULL
+;
+
+95 \ 5*
+group_Çme
+ = 
+NULL
+;
+
+96 
+       `\96m_image_f\9ee_g\91
+ (
+obj
+, &
+f\9ee_Çme
+, &
+group_Çme
+);
+
+97 ià(
+f\9ee_Çme
+) {
+
+98 \12
+»t
+;
+
+99 
+­p_cÚ\8cÞ_h
+£rviû
+ = 
+NULL
+;
+
+100 
+       `­p_cÚ\8cÞ_ü\97\8b
+(&
+£rviû
+);
+
+101 ià(!
+£rviû
+) {
+
+102 
+       `dlog_´\9at
+(
+DLOG_ERROR
+, 
+LOG_TAG
+, "fail\81o create service");
+
+105 
+       `­p_cÚ\8cÞ_add_ex\8ca_d©a
+(
+£rviû
+, 
+GL_WIDGET_ARGV_IV_VIEW_BY
+,
+
+106 
+GL_WIDGET_ARGV_IV_VIEW_BY_FOLER
+);
+
+107 
+       `­p_cÚ\8cÞ_add_ex\8ca_d©a
+(
+£rviû
+, 
+GL_WIDGET_ARGV_IV_PATH
+, 
+f\9ee_Çme
+);
+
+108 
+       `­p_cÚ\8cÞ_£t_­p_id
+(
+£rviû
+, 
+GL_WIDGET_UG_PKG_IV
+);
+
+109 
+»t
+ = 
+       `­p_cÚ\8cÞ_£nd_Ïunch_»que¡
+(
+£rviû
+, 
+NULL
+, NULL);
+
+110 ià(
+»t
+ !ð
+APP_CONTROL_ERROR_NONE
+) {
+
+111 
+       `dlog_´\9at
+(
+DLOG_ERROR
+, 
+LOG_TAG
+, "image\86oad failed");
+
+112 
+       `­p_cÚ\8cÞ_de¡roy
+(
+£rviû
+);
+
+115 
+       `dlog_´\9at
+(
+DLOG_ERROR
+, 
+LOG_TAG
+, "image\85ath could\82ot be\84etrieved");
+
+117 
+       }
+}
+
+119 \18
+E\9aa_BoÞ
+       $gl_widg\91_ªim©Ü_cb
+(\1e*
+d©a
+)
+
+121 
+       `dlog_´\9at
+(
+DLOG_ERROR
+, 
+LOG_TAG
+, "ENTRY gl_widget_animator_cb");
+
+122 
+Evas_Objeù
+ *
+Ïyout
+ = (Evas_Objeù *)
+d©a
+;
+
+123 \ 5
+bufãr
+[50] = {0,};
+
+124 \12
+i
+ = 0;
+
+126 ià(!
+Ïyout
+) {
+
+127 
+       `dlog_´\9at
+(
+DLOG_ERROR
+, 
+LOG_TAG
+, "Invalid\86ayout!!");
+
+128 \15 
+EINA_FALSE
+;
+
+131 
+       `\96m_objeù_sigÇl_em\99
+(
+Ïyout
+, "hideall", "elm");
+
+133 \ f
+i
+ = 0 ; i < 
+SWALLOWS_COUNT
+; i++) {
+
+134 
+       `¢´\9atf
+(
+bufãr
+, \17(bufãr), "image%d", 
+i
+);
+
+135 
+Evas_Objeù
+ *
+cÚ\8bÁ
+ = 
+       `\96m_objeù_·¹_cÚ\8bÁ_g\91
+(
+Ïyout
+, 
+bufãr
+);
+
+136 
+       `\96m_objeù_·¹_cÚ\8bÁ_un£t
+(
+Ïyout
+, 
+bufãr
+);
+
+137 
+       `evas_objeù_hide
+(
+cÚ\8bÁ
+);
+
+139 ià(
+sw®lows_\9a_loÝs
+[
+loÝ_couÁ
+ % 
+NUMBER_OF_ITERATION
+][
+i
+] == 1) {
+
+140 
+images_couÁ
+ = images_couÁ % 
+£Ëùed_couÁ
+;
+
+141 
+Evas_Objeù
+ *
+image_objeù
+ = 
+       `\96m_image_add
+(
+Ïyout
+);
+
+142 
+       `dlog_´\9at
+(
+DLOG_ERROR
+, 
+LOG_TAG
+, "gl_widget_animator_cb Image is %s",
+
+143 
+£Ëùed_images
+[
+images_couÁ
+]);
+
+145 ià(!
+       `\96m_image_f\9ee_£t
+(
+image_objeù
+, 
+£Ëùed_images
+[
+images_couÁ
+], 
+NULL
+)) {
+
+146 
+       `dlog_´\9at
+(
+DLOG_ERROR
+, 
+LOG_TAG
+, "File Set Failed");
+
+149 
+       `\96m_image_a¥eù_fixed_£t
+(
+image_objeù
+,
+EINA_FALSE
+);
+
+150 
+       `¢´\9atf
+(
+bufãr
+, \17(bufãr), "image%d", 
+i
+);
+
+151 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+Ïyout
+, 
+bufãr
+, 
+image_objeù
+);
+
+152 
+       `¢´\9atf
+(
+bufãr
+, \17(bufãr), "show%d", 
+i
+);
+
+153 
+       `\96m_objeù_sigÇl_em\99
+(
+Ïyout
+, 
+bufãr
+, "elm");
+
+154 
+images_couÁ
+++;
+
+155 
+       `evas_objeù_sm¬t_ÿÎback_add
+ (
+image_objeù
+,
+
+156 "þicked", 
+_gl_Ïunch_iv
+, 
+Ïyout
+);
+
+159 \15 
+EINA_TRUE
+;
+
+160 
+       }
+}
+
+162 \18
+E\9aa_BoÞ
+       $gl_widg\91_ªim©Ü_cb_fÜ_Ëss_thª_five_images
+(\1e*
+d©a
+)
+
+164 
+Evas_Objeù
+ *
+Ïyout
+ = (Evas_Objeù *)
+d©a
+;
+
+166 ià(!
+Ïyout
+) {
+
+167 
+       `dlog_´\9at
+(
+DLOG_ERROR
+, 
+LOG_TAG
+, "Invalid\86ayout!!");
+
+168 \15 
+EINA_FALSE
+;
+
+171 
+       `\96m_objeù_sigÇl_em\99
+(
+Ïyout
+, "hideall", "elm");
+
+172 
+Evas_Objeù
+ *
+cÚ\8bÁ
+ = 
+       `\96m_objeù_·¹_cÚ\8bÁ_g\91
+(
+Ïyout
+, "image6");
+
+173 
+       `\96m_objeù_·¹_cÚ\8bÁ_un£t
+(
+Ïyout
+, "image6");
+
+174 
+       `evas_objeù_hide
+(
+cÚ\8bÁ
+);
+
+176 
+Evas_Objeù
+ *
+image_objeù
+ = 
+       `\96m_image_add
+(
+Ïyout
+);
+
+177 
+       `dlog_´\9at
+(
+DLOG_ERROR
+, 
+LOG_TAG
+, "selected images: %s",
+
+178 
+£Ëùed_images
+[
+images_couÁ
+]);
+
+179 
+       `\96m_image_f\9ee_£t
+(
+image_objeù
+, 
+£Ëùed_images
+[
+images_couÁ
+], 
+NULL
+);
+
+180 
+       `\96m_image_a¥eù_fixed_£t
+(
+image_objeù
+, 
+EINA_FALSE
+);
+
+181 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+Ïyout
+, "image6", 
+image_objeù
+);
+
+182 
+       `\96m_objeù_sigÇl_em\99
+(
+Ïyout
+, "show6", "elm");
+
+183 
+images_couÁ
+++;
+
+184 
+images_couÁ
+ = images_couÁ % 
+£Ëùed_couÁ
+;
+
+185 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+image_objeù
+, "clicked",
+
+186 
+_gl_Ïunch_iv
+, 
+Ïyout
+);
+
+188 \15 
+EINA_TRUE
+;
+
+189 
+       }
+}
+
+191 \18
+E\9aa_BoÞ
+       $gl_widg\91_tim\94_cb
+(\1e*
+d©a
+)
+
+193 ià(!
+d©a
+) {
+
+194 
+       `dlog_´\9at
+(
+DLOG_ERROR
+, 
+LOG_TAG
+, "Invalid userdata!!");
+
+195 \15 
+EINA_FALSE
+;
+
+198 ià(
+£Ëùed_couÁ
+ >ð
+IMAGES_THRESHOLD
+) {
+
+199 
+       `gl_widg\91_ªim©Ü_cb
+(
+d©a
+);
+
+201 
+       `gl_widg\91_ªim©Ü_cb_fÜ_Ëss_thª_five_images
+(
+d©a
+);
+
+204 
+loÝ_couÁ
+++;
+
+205 \15 
+EINA_TRUE
+;
+
+206 
+       }
+}
+
+208 \18
+E\9aa_BoÞ
+       $gl_widg\91_check_®bumInfo
+(\ 5** 
+·th¬¿y
+, \12
+couÁ
+)
+
+210 \12
+»fcouÁ
+ = 0;
+
+211 ià(!
+·th¬¿y
+ || 
+couÁ
+ <= 0) {
+
+212 
+       `dlog_´\9at
+(
+DLOG_ERROR
+, 
+LOG_TAG
+, "Invalid data!!");
+
+213 \15 
+EINA_FALSE
+;
+
+216 \ 5*
+ba£·th
+ = 
+NULL
+;
+
+217 \ 5*
+»f
+ = 
+       `¡¼chr
+(
+·th¬¿y
+[0], '/');
+
+218 \1d\12
+Ⱦ\92gth
+ = 
+»f
+ - 
+·th¬¿y
+[0];
+
+220 
+ba£·th
+ = (\ 5*)
+       `m®loc
+(\17(\ 5è* (
+Ⱦ\92gth
+ + 1));
+
+221 ià(!
+ba£·th
+) {
+
+222 
+       `dlog_´\9at
+(
+DLOG_ERROR
+, 
+LOG_TAG
+, "allocation failed!!");
+
+223 \15 
+EINA_FALSE
+;
+
+226 
+       `¡ºýy
+(
+ba£·th
+, 
+·th¬¿y
+[0], 
+Ⱦ\92gth
+);
+
+227 
+ba£·th
+[
+Ⱦ\92gth
+] = '\0';
+
+229 \ f
+»fcouÁ
+ = 1;\84efcouÁ < 
+couÁ
+;\84efcount++) {
+
+230 ià(
+       `¡r¡r
+(
+·th¬¿y
+[
+»fcouÁ
+], 
+ba£·th
+è=ð
+NULL
+) {
+
+231 
+       `ä\93
+(
+ba£·th
+);
+
+232 
+       `dlog_´\9at
+(
+DLOG_ERROR
+, 
+LOG_TAG
+, "different selection!!");
+
+233 \15 
+EINA_FALSE
+;
+
+237 
+       `ä\93
+(
+ba£·th
+);
+
+238 \15 
+EINA_TRUE
+;
+
+239 
+       }
+}
+
+241 \ 5*
+       $_gl_widg\91_g\91_f\9ee_d©e
+(cڡ \ 5*
+f\9e\92ame
+)
+
+243 \19
+¡©
+¡©buf
+ = {0};
+
+244 \19
+tm
+tmtime
+;
+
+246 ià(!
+f\9e\92ame
+)
+
+247 \15 
+NULL
+;
+
+249 ià(
+       `¡©
+(
+f\9e\92ame
+, &
+¡©buf
+) == -1)
+
+250 \15 
+NULL
+;
+
+252 
+time_t
+\8bm±ime
+ = 
+¡©buf
+.
+¡_mtime
+;
+
+253 
+       `mem£t
+(&
+tmtime
+, 0x00, \17(\19
+tm
+));
+
+254 
+       `loÿÉime_r
+(&
+\8bm±ime
+, &
+tmtime
+);
+
+256 \19
+tm
+;
+
+257 
+time_t
+ùime
+ = 0;
+
+258 
+       `mem£t
+(&
+, 0x00, \17(\19
+tm
+));
+
+259 
+       `time
+(&
+ùime
+);
+
+260 
+       `loÿÉime_r
+(&
+ùime
+, &
+);
+
+262 \ 5*
+mÚth
+[12] = { 
+GL_STR_ID_JAN
+, 
+GL_STR_ID_FEB
+, 
+GL_STR_ID_MAR
+, 
+GL_STR_ID_APR
+, 
+GL_STR_ID_MAY
+, 
+GL_STR_ID_JUN
+,
+
+263 
+GL_STR_ID_JUL
+, 
+GL_STR_ID_AUG
+, 
+GL_STR_ID_SEP
+, 
+GL_STR_ID_OCT
+, 
+GL_STR_ID_NOV
+, 
+GL_STR_ID_DEC
+};
+
+265 \ 5
+¡r
+ = 
+       `g_¡rdup_´\9atf
+("%s%02d, %s %d", "",
+
+266 
+tmtime
+.
+tm_mday
+, 
+mÚth
+[tmtime.
+tm_mÚ
+], 1900 +\81mtime.
+tm_y\97r
+);
+
+267 \15 
+¡r
+;
+
+268 
+       }
+}
+
+270 \18
+E\9aa_BoÞ
+       $gl_widg\91_check_d©eInfo
+(\ 5** 
+·th¬¿y
+, \12
+couÁ
+)
+
+272 \12
+»fcouÁ
+ = 0;
+
+273 ià(!
+·th¬¿y
+ || 
+couÁ
+ <= 0) {
+
+274 
+       `dlog_´\9at
+(
+DLOG_ERROR
+, 
+LOG_TAG
+, "Invalid data!!");
+
+275 \15 
+EINA_FALSE
+;
+
+278 \ 5
+d©e
+ = 
+NULL
+;
+
+280 \ 5
+Ãxt_d©e
+ = 
+NULL
+;
+
+281 
+d©e
+ = 
+       `_gl_widg\91_g\91_f\9ee_d©e
+(
+·th¬¿y
+[0]);
+
+282 ià(!
+d©e
+) {
+
+283 
+       `dlog_´\9at
+(
+DLOG_ERROR
+, 
+LOG_TAG
+, "failed\81o\83xtract date!!");
+
+284 \15 
+EINA_FALSE
+;
+
+287 \ f
+»fcouÁ
+ = 1;\84efcouÁ < 
+couÁ
+;\84efcount++) {
+
+288 
+Ãxt_d©e
+ = 
+       `_gl_widg\91_g\91_f\9ee_d©e
+(
+·th¬¿y
+[
+»fcouÁ
+]);
+
+289 ià(!
+Ãxt_d©e
+) {
+
+290 
+       `dlog_´\9at
+(
+DLOG_ERROR
+, 
+LOG_TAG
+, "failed\81o\83xtract date!!");
+
+291 
+       `ä\93
+(
+d©e
+);
+
+292 \15 
+EINA_FALSE
+;
+
+294 ià(
+       `¡rcmp
+(
+d©e
+, 
+Ãxt_d©e
+)) {
+
+295 
+       `ä\93
+(
+d©e
+);
+
+296 
+       `ä\93
+(
+Ãxt_d©e
+);
+
+297 \15 
+EINA_FALSE
+;
+
+299 
+       `ä\93
+(
+Ãxt_d©e
+);
+
+302 \15 
+EINA_TRUE
+;
+
+303 
+       }
+}
+
+305 \18\ 5*
+       $gl_widg\91_ex\8caù_®bum_·th
+(\ 5
+·thInfo
+)
+
+307 ià(!
+·thInfo
+) {
+
+308 
+       `dlog_´\9at
+(
+DLOG_ERROR
+, 
+LOG_TAG
+, "Invalid\85ath!!");
+
+309 \15 
+NULL
+;
+
+312 \ 5
+®bumÇme
+ = 
+NULL
+;
+
+313 \ 5*
+®bum·th
+ = 
+NULL
+;
+
+314 \ 5*
+roٷth
+ = 
+NULL
+;
+
+315 \ 5*
+Ȍ\8c
+ = 
+NULL
+;
+
+316 
+E\9aa_BoÞ
+u£¿lbum
+ = 
+EINA_FALSE
+;
+
+318 
+Ȍ\8c
+ = 
+       `¡¼chr
+(
+·thInfo
+, '/');
+
+319 ià(!
+Ȍ\8c
+) {
+
+320 \15 
+NULL
+;
+
+323 \1d\12
+®bum·thËngth
+ = 
+Ȍ\8c
+ - 
+·thInfo
+;
+
+324 
+®bum·th
+ = (\ 5*)
+       `m®loc
+((
+®bum·thËngth
+ + 1) * \17(\ 5));
+
+325 ià(!
+®bum·th
+) {
+
+326 \15 
+NULL
+;
+
+329 
+       `¡ºýy
+(
+®bum·th
+, 
+·thInfo
+, 
+®bum·thËngth
+);
+
+330 
+®bum·th
+[
+®bum·thËngth
+] = '\0';
+
+332 
+Ȍ\8c
+ = 
+       `¡¼chr
+(
+®bum·th
+, '/');
+
+333 ià(!
+Ȍ\8c
+) {
+
+334 
+       `ä\93
+(
+®bum·th
+);
+
+335 \15 
+NULL
+;
+
+338 \15 
+®bum·th
+;
+
+339 
+       }
+}
+
+341 \18
+E\9aa_BoÞ
+       $gl_widg\91_check_deçuÉ_®bum
+(\ 5
+·thInfo
+)
+
+343 ià(!
+·thInfo
+) {
+
+344 
+       `dlog_´\9at
+(
+DLOG_ERROR
+, 
+LOG_TAG
+, "Invalid\85ath!!");
+
+345 \15 
+EINA_FALSE
+;
+
+347 \ 5*
+·th
+ = 
+       `gl_widg\91_ex\8caù_®bum_·th
+(
+·thInfo
+);
+
+348 ià(!
+·th
+) {
+
+349 
+       `dlog_´\9at
+(
+DLOG_ERROR
+, 
+LOG_TAG
+, "Failed\81o\83xtract\85ath!!");
+
+350 \15 
+EINA_FALSE
+;
+
+353 ià(!
+       `¡rcmp
+("/Ýt/u¤/med\9f/Piùu»s/", 
+·th
+) ||
+
+354 !
+       `¡rcmp
+("/Ýt/u¤/med\9f/Images/", 
+·th
+) ||
+
+355 !
+       `¡rcmp
+("/Ýt/u¤/med\9f/DCIM/Cam\94a", 
+·th
+) ||
+
+356 !
+       `¡rcmp
+("/Ýt/u¤/med\9f/DowÆßds/", 
+·th
+) ||
+
+357 !
+       `¡rcmp
+("/Ýt/¡Üage/sdÿrd/DCIM/", 
+·th
+)) {
+
+358 
+       `ä\93
+(
+·th
+);
+
+359 \15 
+EINA_TRUE
+;
+
+362 
+       `ä\93
+(
+·th
+);
+
+364 \15 
+EINA_FALSE
+;
+
+365 
+       }
+}
+
+367 \18\ 5*
+       $gl_widg\91_ex\8caù_®bum_\9afo
+(\ 5
+·thInfo
+)
+
+369 ià(!
+·thInfo
+) {
+
+370 
+       `dlog_´\9at
+(
+DLOG_ERROR
+, 
+LOG_TAG
+, "Invalid\85ath!!");
+
+371 \15 
+NULL
+;
+
+374 \ 5
+®bumÇme
+ = 
+NULL
+;
+
+375 \ 5*
+®bum·th
+ = 
+NULL
+;
+
+376 \ 5*
+roٷth
+ = 
+NULL
+;
+
+377 \ 5*
+Ȍ\8c
+ = 
+NULL
+;
+
+378 
+E\9aa_BoÞ
+u£¿lbum
+ = 
+EINA_FALSE
+;
+
+380 
+Ȍ\8c
+ = 
+       `¡¼chr
+(
+·thInfo
+, '/');
+
+381 ià(!
+Ȍ\8c
+) {
+
+382 \15 
+NULL
+;
+
+385 \1d\12
+®bum·thËngth
+ = 
+Ȍ\8c
+ - 
+·thInfo
+;
+
+386 
+®bum·th
+ = (\ 5*)
+       `m®loc
+((
+®bum·thËngth
+ + 1) * \17(\ 5));
+
+387 ià(!
+®bum·th
+) {
+
+388 \15 
+NULL
+;
+
+391 
+       `¡ºýy
+(
+®bum·th
+, 
+·thInfo
+, 
+®bum·thËngth
+);
+
+392 
+®bum·th
+[
+®bum·thËngth
+] = '\0';
+
+394 
+Ȍ\8c
+ = 
+       `¡¼chr
+(
+®bum·th
+, '/');
+
+395 ià(!
+Ȍ\8c
+) {
+
+396 
+       `ä\93
+(
+®bum·th
+);
+
+397 \15 
+NULL
+;
+
+400 \1d\12
+®bumÇm\96\92gth
+ = 
+       `¡¾\92
+(
+®bum·th
+è- (
+Ȍ\8c
+ -\87lbumpath);
+
+401 
+®bumÇme
+ = (\ 5*)
+       `m®loc
+((
+®bumÇm\96\92gth
+ + 1) * \17(\ 5));
+
+402 ià(!
+®bumÇme
+) {
+
+403 
+       `ä\93
+(
+®bum·th
+);
+
+404 \15 
+NULL
+;
+
+407 
+       `¡ºýy
+(
+®bumÇme
+, 
+Ȍ\8c
+ + 1, 
+®bumÇm\96\92gth
+);
+
+408 
+®bumÇme
+[
+®bumÇm\96\92gth
+] = '\0';
+
+410 
+       `ä\93
+(
+®bum·th
+);
+
+412 \15 
+®bumÇme
+;
+
+413 
+       }
+}
+
+415 \18\ 5*
+       $gl_widg\91_ex\8caù_d©e_\9afo
+(\ 5** 
+·th¬¿y
+, \12
+couÁ
+)
+
+417 \12
+»fcouÁ
+ = 0;
+
+418 ià(!
+·th¬¿y
+ || 
+couÁ
+ <= 0) {
+
+419 
+       `dlog_´\9at
+(
+DLOG_ERROR
+, 
+LOG_TAG
+, "Invalid data!!");
+
+420 \15 
+NULL
+;
+
+422 \ 5
+d©e
+ = 
+       `_gl_widg\91_g\91_f\9ee_d©e
+(
+·th¬¿y
+[0]);
+
+423 \15 
+d©e
+;
+
+424 
+       }
+}
+
+426 \1e
+       $_gl_widg\91_show_®bum_d©e_\9afo
+(\12
+¬¿yL\92gth
+, \ 5** 
+·thA¼ay
+,
+
+427 
+_widg\91_d©a
+* 
+widg\91_d©a
+, 
+Evas_Objeù
+* 
+Ïyout
+) {
+
+429 
+E\9aa_BoÞ
+isSameAlbum
+ = 
+       `gl_widg\91_check_®bumInfo
+(
+·thA¼ay
+, 
+¬¿yL\92gth
+);
+
+430 
+E\9aa_BoÞ
+isDeçuÉAlbum
+ = 
+çl£
+;
+
+431 ià(
+isSameAlbum
+) {
+
+432 
+isDeçuÉAlbum
+ = 
+       `gl_widg\91_check_deçuÉ_®bum
+(
+·thA¼ay
+[0]);
+
+434 
+widg\91_d©a
+->
+showAlbumD\91a\9es
+ = 
+isSameAlbum
+ && !
+isDeçuÉAlbum
+;
+
+435 
+widg\91_d©a
+->
+showD©eD\91a\9es
+ = 
+       `gl_widg\91_check_d©eInfo
+(
+·thA¼ay
+,
+
+436 
+¬¿yL\92gth
+);
+
+437 ià(
+widg\91_d©a
+->
+showAlbumD\91a\9es
+) {
+
+438 \ 5
+®bum\9afo
+ = 
+       `gl_widg\91_ex\8caù_®bum_\9afo
+(
+·thA¼ay
+[0]);
+
+439 ià(
+®bum\9afo
+) {
+
+440 
+       `dlog_´\9at
+(
+DLOG_ERROR
+, 
+LOG_TAG
+, "showAlbumDetails!!");
+
+441 
+       `\96m_objeù_·¹_\8bxt_£t
+(
+Ïyout
+, "AlbumInfo", 
+®bum\9afo
+);
+
+442 
+       `\96m_objeù_sigÇl_em\99
+(
+Ïyout
+, "showAlbumInfo", "elm");
+
+445 
+       `\96m_objeù_·¹_\8bxt_£t
+(
+Ïyout
+, "AlbumInfo", "");
+
+446 
+       `\96m_objeù_sigÇl_em\99
+(
+Ïyout
+, "hideAlbumInfo", "elm");
+
+448 ià(
+widg\91_d©a
+->
+showD©eD\91a\9es
+) {
+
+449 \ 5
+d©e\9afo
+ = 
+       `gl_widg\91_ex\8caù_d©e_\9afo
+(
+·thA¼ay
+, 
+¬¿yL\92gth
+);
+
+450 ià(
+d©e\9afo
+) {
+
+451 
+       `dlog_´\9at
+(
+DLOG_ERROR
+, 
+LOG_TAG
+, "showDateDetails!!");
+
+452 
+       `\96m_objeù_·¹_\8bxt_£t
+(
+Ïyout
+, "D©eInfo", 
+d©e\9afo
+);
+
+453 
+       `\96m_objeù_sigÇl_em\99
+(
+Ïyout
+, "showDateInfo", "elm");
+
+456 
+       `\96m_objeù_·¹_\8bxt_£t
+(
+Ïyout
+, "DateInfo", "");
+
+457 
+       `\96m_objeù_sigÇl_em\99
+(
+Ïyout
+, "hideDateInfo", "elm");
+
+459 
+       }
+}
+
+461 \18\1e
+       $gl_widg\91_»suÉ_cb
+(
+­p_cÚ\8cÞ_h
+»que¡
+,\87µ_cÚ\8cÞ_h 
+»¶y
+,
+
+462 
+­p_cÚ\8cÞ_»suÉ_e
+»suÉ
+, \1e*
+d©a
+)
+
+464 
+_widg\91_d©a
+ *
+widg\91_d©a
+ = (_widg\91_d©¨*)
+d©a
+;
+
+465 ià(!
+widg\91_d©a
+) {
+
+466 
+       `dlog_´\9at
+(
+DLOG_ERROR
+, 
+LOG_TAG
+, "Invalid userdata!!");
+
+469 
+Evas_Objeù
+ *
+Ïyout
+ = 
+widg\91_d©a
+->layout;
+
+470 ià(!
+Ïyout
+) {
+
+473 \ 5**
+·thA¼ay
+ = 
+NULL
+;
+
+474 \12
+¬¿yL\92gth
+ = 0;
+
+475 \12
+i
+ = 0;
+
+476 \12
+j
+ = 0;
+
+477 \ 5
+bufãr
+[100] = {0,};
+
+479 \ 5*
+dbP©h
+ = "/opt/usr/media/selectedimages.eet";
+
+480 
+E\91_F\9ee
+ *
+ = 
+NULL
+;
+
+482 
+       `­p_cÚ\8cÞ_g\91_ex\8ca_d©a_¬¿y
+(
+»¶y
+, 
+APP_CONTROL_DATA_PATH
+,
+
+483 &
+·thA¼ay
+, &
+¬¿yL\92gth
+);
+
+484 ià(
+¬¿yL\92gth
+ > 0) {
+
+485 
+       `dlog_´\9at
+(
+DLOG_ERROR
+, 
+LOG_TAG
+, "ResuÉ L\92gth %d", 
+¬¿yL\92gth
+);
+
+486 
+£Ëùed_images
+ = (\ 5**)
+       `m®loc
+(
+¬¿yL\92gth
+ * \17(\ 5*));
+
+487 
+ = 
+       `\93t_Ý\92
+(
+dbP©h
+,
+EET_FILE_MODE_READ_WRITE
+);
+
+488 ià(!
+) {
+
+489 
+       `dlog_´\9at
+(
+DLOG_ERROR
+, 
+LOG_TAG
+, "File open failed");
+
+492 
+       `¢´\9atf
+(
+bufãr
+, \17(bufãr), "%d", 
+¬¿yL\92gth
+);
+
+493 
+       `\93t_wr\99e
+(
+, "imageCÁ", 
+bufãr
+, 
+       `¡¾\92
+(buffer) + 1, 0);
+
+494 ià(
+£Ëùed_images
+) {
+
+495 \ f
+j
+ = 0 ; j < 
+¬¿yL\92gth
+; j++) {
+
+496 
+£Ëùed_images
+[
+j
+] = 
+       `¡rdup
+ (
+·thA¼ay
+[j]);
+
+497 
+       `¢´\9atf
+(
+bufãr
+, \17(bufãr), "image%d", 
+j
+);
+
+498 
+       `\93t_wr\99e
+(
+, 
+bufãr
+, 
+·thA¼ay
+[
+j
+],
+
+499 
+       `¡¾\92
+(
+·thA¼ay
+[
+j
+]) + 1, 0);
+
+501 
+       `\93t_þo£
+(
+);
+
+503 
+       `dlog_´\9at
+(
+DLOG_ERROR
+, 
+LOG_TAG
+, "Selected Image is NULL");
+
+505 ià(!
+widg\91_d©a
+->
+is_ed\99
+) {
+
+506 
+       `_gl_widg\91\97\8b_ed\99_b\8a
+(
+widg\91_d©a
+);
+
+509 ià(!
+widg\91_d©a
+->
+is_ed\99
+) {
+
+510 
+Evas_Objeù
+ *
+b\8a
+ = 
+       `\96m_objeù_·¹_cÚ\8bÁ_un£t
+(
+
+511 
+widg\91_d©a
+->
+Ïyout
+,
+
+513 ià(
+b\8a
+) {
+
+514 
+       `evas_objeù_hide
+(
+b\8a
+);
+
+519 ià(
+widg\91_d©a
+->
+is_ed\99
+) {
+
+520 ià(
+widg\91_d©a
+->
+tim\94
+) {
+
+521 
+       `ecÜe_tim\94_d\96
+(
+widg\91_d©a
+->
+tim\94
+);
+
+523 
+widg\91_d©a
+->
+is_ed\99
+ = 
+çl£
+;
+
+526 
+       `_gl_widg\91_show_®bum_d©e_\9afo
+(
+¬¿yL\92gth
+, 
+·thA¼ay
+, 
+widg\91_d©a
+,
+
+527 
+Ïyout
+);
+
+528 \ f
+i
+ = 0; i < 
+¬¿yL\92gth
+; i++) {
+
+529 ià(
+·thA¼ay
+[
+i
+]) {
+
+530 
+       `ä\93
+ (
+·thA¼ay
+[
+i
+]);
+
+533 ià(
+·thA¼ay
+) {
+
+534 
+       `ä\93
+(
+·thA¼ay
+);
+
+536 
+£Ëùed_couÁ
+ = 
+¬¿yL\92gth
+;
+
+537 ià(
+£Ëùed_couÁ
+ >ð
+IMAGES_THRESHOLD
+) {
+
+538 
+       `gl_widg\91_ªim©Ü_cb
+(
+Ïyout
+);
+
+540 
+       `gl_widg\91_ªim©Ü_cb_fÜ_Ëss_thª_five_images
+(
+Ïyout
+);
+
+543 
+loÝ_couÁ
+++;
+
+544 
+       `\96m_objeù_sigÇl_ÿÎback_d\96
+(
+Ïyout
+, "mouse,clicked,1",
+
+545 "bg", 
+gl_widg\91_Ú_no_image_cb
+);
+
+547 ià(
+£Ëùed_couÁ
+ > 1) {
+
+548 
+widg\91_d©a
+->
+tim\94
+ = 
+       `ecÜe_tim\94_loÝ_add
+(
+TIMER_INTERVAL
+,
+
+549 
+gl_widg\91_tim\94_cb
+, 
+Ïyout
+);
+
+551 
+       }
+}
+
+553 \18\1e
+       $gl_widg\91_Ú_ed\99_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+, \1e*
+ev\92t_\9afo
+)
+
+555 ià(!
+d©a
+) {
+
+556 
+       `dlog_´\9at
+(
+DLOG_ERROR
+, 
+LOG_TAG
+, "Invalid userdata!!");
+
+559 
+_widg\91_d©a
+ *
+widg\91_d©a
+ = (_widg\91_d©¨*)
+d©a
+;
+
+560 
+widg\91_d©a
+->
+is_ed\99
+ = 
+\8cue
+;
+
+561 
+­p_cÚ\8cÞ_h
+£rviû
+ = 
+NULL
+;
+
+562 \12
+»t
+ = -1;
+
+564 
+»t
+ = 
+       `­p_cÚ\8cÞ_ü\97\8b
+(&
+£rviû
+);
+
+565 ià(
+»t
+ !ð
+APP_CONTROL_ERROR_NONE
+) {
+
+566 
+       `dlog_´\9at
+(
+DLOG_ERROR
+, 
+LOG_TAG
+, "Failed\81o create\87pp control!!");
+
+568 
+       `­p_cÚ\8cÞ_£t_Ý\94©iÚ
+(
+£rviû
+, 
+APP_CONTROL_OPERATION_PICK
+);
+
+569 
+       `­p_cÚ\8cÞ_add_ex\8ca_d©a
+(
+£rviû
+,
+
+572 
+       `­p_cÚ\8cÞ_£t_mime
+(
+£rviû
+, "image/*");
+
+573 
+       `­p_cÚ\8cÞ_add_ex\8ca_d©a
+(
+£rviû
+, "launch-type", "multiple");
+
+574 
+       `­p_cÚ\8cÞ_add_ex\8ca_d©a
+(
+£rviû
+, "file-type", "image");
+
+575 
+       `­p_cÚ\8cÞ_£t_­p_id
+(
+£rviû
+,"ug-gallery-efl");
+
+577 
+»t
+ = 
+       `­p_cÚ\8cÞ_£nd_Ïunch_»que¡
+(
+£rviû
+,
+
+578 
+gl_widg\91_»suÉ_cb
+, (\1e*)
+widg\91_d©a
+);
+
+579 ià(
+»t
+ !ð
+APP_CONTROL_ERROR_NONE
+) {
+
+580 
+       `dlog_´\9at
+(
+DLOG_ERROR
+, 
+LOG_TAG
+,
+
+582 
+»t
+ = -1;
+
+584 
+»t
+ = 0;
+
+587 
+       `­p_cÚ\8cÞ_de¡roy
+(
+£rviû
+);
+
+589 
+       }
+}
+
+591 \1e
+       $_gl_widg\91\97\8b_ed\99_b\8a
+(
+_widg\91_d©a
+* 
+widg\91_d©a
+) {
+
+593 ià(
+widg\91_d©a
+) {
+
+594 
+Evas_Objeù
+* 
+boxTÝ
+ = 
+       `\96m_box_add
+(
+widg\91_d©a
+->
+Ïyout
+);
+
+595 
+       `evas_objeù_size_h\9at_weight_£t
+(
+boxTÝ
+, 
+EVAS_HINT_EXPAND
+,
+
+596 
+EVAS_HINT_EXPAND
+);
+
+597 
+       `evas_objeù_size_h\9at_®ign_£t
+(
+boxTÝ
+, 
+EVAS_HINT_FILL
+, EVAS_HINT_FILL);
+
+598 
+       `\96m_box_hÜizÚ\8fl_£t
+(
+boxTÝ
+, 
+EINA_TRUE
+);
+
+599 
+       `\96m_box_homog\92eous_£t
+(
+boxTÝ
+, 
+EINA_FALSE
+);
+
+600 
+Evas_Objeù
+* 
+bu\89Ú
+ = 
+       `\96m_bu\89Ú_add
+(
+boxTÝ
+);
+
+601 
+       `\96m_objeù_¡yË_£t
+(
+bu\89Ú
+, "transparent");
+
+602 
+Evas_Objeù
+* 
+ÏyoutBu\89Ú
+ = 
+       `\96m_Ïyout_add
+(
+bu\89Ú
+);
+
+603 
+       `evas_objeù_size_h\9at_weight_£t
+(
+ÏyoutBu\89Ú
+, 
+EVAS_HINT_EXPAND
+,
+
+604 
+EVAS_HINT_EXPAND
+);
+
+605 
+       `evas_objeù_size_h\9at_®ign_£t
+(
+ÏyoutBu\89Ú
+, 
+EVAS_HINT_FILL
+,
+
+606 
+EVAS_HINT_FILL
+);
+
+607 
+       `\96m_Ïyout_f\9ee_£t
+(
+ÏyoutBu\89Ú
+,
+
+610 
+       `\96m_objeù_doma\9a_\8cª¦©abË_·¹_\8bxt_£t
+(
+ÏyoutBu\89Ú
+, "elm.text",
+
+612 
+       `evas_objeù_show
+(
+ÏyoutBu\89Ú
+);
+
+613 
+       `\96m_objeù_cÚ\8bÁ_£t
+(
+bu\89Ú
+, 
+ÏyoutBu\89Ú
+);
+
+614 
+       `\96m_box_·ck_\92d
+(
+boxTÝ
+, 
+bu\89Ú
+);
+
+615 
+       `evas_objeù_show
+(
+boxTÝ
+);
+
+616 
+       `evas_objeù_show
+(
+bu\89Ú
+);
+
+617 
+       `\96m_objeù_·¹_cÚ\8bÁ_£t
+(
+widg\91_d©a
+->
+Ïyout
+, "Ed\99_bu\89Ú", 
+boxTÝ
+);
+
+618 
+       `evas_objeù_sm¬t_ÿÎback_add
+(
+bu\89Ú
+, "þicked", 
+gl_widg\91_Ú_ed\99_cb
+,
+
+619 
+widg\91_d©a
+);
+
+621 
+       }
+}
+
+623 \18\12
+       $gl_widg\91_Ïunch_g®Ëry_ug
+(
+_widg\91_d©a
+ *
+widg\91_d©a
+)
+
+625 
+­p_cÚ\8cÞ_h
+£rviû
+ = 
+NULL
+;
+
+626 \12
+»t
+ = -1;
+
+628 
+»t
+ = 
+       `­p_cÚ\8cÞ_ü\97\8b
+(&
+£rviû
+);
+
+629 ià(
+»t
+ !ð
+APP_CONTROL_ERROR_NONE
+) {
+
+630 
+       `dlog_´\9at
+(
+DLOG_ERROR
+, 
+LOG_TAG
+, "Failed\81o create\87pp control!!");
+
+632 
+       `­p_cÚ\8cÞ_£t_Ý\94©iÚ
+(
+£rviû
+, 
+APP_CONTROL_OPERATION_PICK
+);
+
+633 
+       `­p_cÚ\8cÞ_add_ex\8ca_d©a
+(
+£rviû
+,
+
+636 
+       `­p_cÚ\8cÞ_£t_mime
+(
+£rviû
+, "image/*");
+
+637 
+       `­p_cÚ\8cÞ_add_ex\8ca_d©a
+(
+£rviû
+, "launch-type", "multiple");
+
+638 
+       `­p_cÚ\8cÞ_add_ex\8ca_d©a
+(
+£rviû
+, "file-type", "image");
+
+639 
+       `­p_cÚ\8cÞ_£t_­p_id
+(
+£rviû
+,"ug-gallery-efl");
+
+641 
+»t
+ = 
+       `­p_cÚ\8cÞ_£nd_Ïunch_»que¡
+(
+£rviû
+,
+
+642 
+gl_widg\91_»suÉ_cb
+,
+
+643 (\1e*)
+widg\91_d©a
+);
+
+644 ià(
+»t
+ !ð
+APP_CONTROL_ERROR_NONE
+) {
+
+645 
+       `dlog_´\9at
+(
+DLOG_ERROR
+, 
+LOG_TAG
+, "lauching operation\85ic failed");
+
+646 
+»t
+ = -1;
+
+648 
+»t
+ = 0;
+
+651 
+       `­p_cÚ\8cÞ_de¡roy
+(
+£rviû
+);
+
+653 \15 
+»t
+;
+
+654 
+       }
+}
+
+656 \18\1e
+       $gl_widg\91_Ú_no_image_cb
+(\1e*
+d©a
+, 
+Evas_Objeù
+ *
+obj
+,
+
+657 cڡ \ 5*
+emissiÚ
+, cڡ \ 5*
+sourû
+)
+
+659 
+_widg\91_d©a
+ *
+widg\91_d©a
+ = (_widg\91_d©¨*)
+d©a
+;
+
+660 ià(!
+widg\91_d©a
+) {
+
+661 
+       `dlog_´\9at
+(
+DLOG_ERROR
+, 
+LOG_TAG
+, "Invalid userdata!!");
+
+665 
+Evas_Objeù
+ *
+Ïyout
+ = 
+widg\91_d©a
+->layout;
+
+666 ià(!
+Ïyout
+) {
+
+667 
+       `dlog_´\9at
+(
+DLOG_ERROR
+, 
+LOG_TAG
+, "Invalid\86ayout!!");
+
+671 
+       `gl_widg\91_Ïunch_g®Ëry_ug
+(
+widg\91_d©a
+);
+
+672 
+       }
+}
+
+674 
+E\9aa_BoÞ
+       $gl_widg\91_lßd_´e£Ëùed_images
+()
+
+676 \ 5*
+dbP©h
+ = "/opt/usr/media/selectedimages.eet";
+
+677 
+E\91_F\9ee
+ *
+ = 
+NULL
+;
+
+679 
+ = 
+       `\93t_Ý\92
+(
+dbP©h
+, 
+EET_FILE_MODE_READ
+);
+
+680 ià(
+) {
+
+681 \12
+size
+ = 0;
+
+682 \12
+i
+ = 0;
+
+683 \12
+¬¿yL\92gth
+ = 0;
+
+684 \ 5
+bufãr
+[100] = {0,};
+
+685 \ 5*
+d©a
+ = 
+NULL
+;
+
+687 
+d©a
+ = 
+       `\93t_»ad
+(
+, "imageCÁ", &
+size
+);
+
+688 ià(
+d©a
+ !ð
+NULL
+) {
+
+689 
+       `¢´\9atf
+(
+bufãr
+, \17(bufãr), "%s", 
+d©a
+);
+
+690 
+¬¿yL\92gth
+ = 
+       `©oi
+(
+bufãr
+);
+
+691 
+£Ëùed_couÁ
+ = 
+¬¿yL\92gth
+;
+
+692 
+       `dlog_´\9at
+(
+DLOG_ERROR
+, 
+LOG_TAG
+, "£Ëùed_couÁ %d -\87¼ayL\92gth %d", 
+£Ëùed_couÁ
+, 
+¬¿yL\92gth
+);
+
+693 
+       `ä\93
+(
+d©a
+);
+
+695 
+£Ëùed_images
+ = (\ 5**)
+       `m®loc
+(
+¬¿yL\92gth
+ * \17(\ 5*));
+
+696 ià(!
+£Ëùed_images
+) {
+
+697 
+       `\93t_þo£
+(
+);
+
+698 \15 
+EINA_FALSE
+;
+
+701 \ f
+i
+ = 0 ; i < 
+¬¿yL\92gth
+; i++) {
+
+702 
+£Ëùed_images
+[
+i
+] = (\ 5*)
+       `m®loc
+(100 * \17(\ 5));
+
+703 ià(
+£Ëùed_images
+[
+i
+]) {
+
+704 
+       `¢´\9atf
+(
+bufãr
+, \17(bufãr), "image%d", 
+i
+);
+
+705 
+d©a
+ = 
+       `\93t_»ad
+(
+, 
+bufãr
+, &
+size
+);
+
+706 ià(
+d©a
+) {
+
+707 
+       `¡ºýy
+(
+£Ëùed_images
+[
+i
+], 
+d©a
+, 100);
+
+708 
+       `ä\93
+(
+d©a
+);
+
+713 
+       `\93t_þo£
+(
+);
+
+714 \15 
+EINA_TRUE
+;
+
+716 \15 
+EINA_FALSE
+;
+
+717 
+       }
+}
+
+719 \18\1e
+       $_gl_widg\91_db_upd©e_cb
+(
+med\9f_cÚ\8bÁ_\94rÜ_e
+\94
+, \12
+pid
+,
+
+720 
+med\9f_cÚ\8bÁ_db_upd©e_\99em_ty³_e
+upd©e_\99em
+,
+
+721 
+med\9f_cÚ\8bÁ_db_upd©e_ty³_e
+upd©e_ty³
+,
+
+722 
+med\9f_cÚ\8bÁ_ty³_e
+med\9f_ty³
+, \ 5*
+uuid
+,
+
+723 \ 5*
+·th
+, \ 5*
+mime_ty³
+, \1e*
+d©a
+)
+
+725 
+       `dlog_´\9at
+(
+DLOG_INFO
+, 
+LOG_TAG
+, "upd©e_\99em[%d], upd©e_ty³[%d], med\9f_ty³[%d]", 
+upd©e_\99em
+,
+
+726 
+upd©e_ty³
+, 
+med\9f_ty³
+);
+
+727 ià(!
+d©a
+) {
+
+728 
+       `dlog_´\9at
+(
+DLOG_ERROR
+, 
+LOG_TAG
+, "Invalid userdata!!");
+
+731 ià(
+upd©e_\99em
+ =ð
+MEDIA_ITEM_FILE
+ && 
+upd©e_ty³
+ =ð
+MEDIA_CONTENT_DELETE
+) {
+
+732 
+_widg\91_d©a
+ *
+widg\91_d©a
+ = (_widg\91_d©¨*)
+d©a
+;
+
+733 ià(
+£Ëùed_couÁ
+ == 1) {
+
+734 ià(!
+       `¡rcmp
+(
+£Ëùed_images
+[0], 
+·th
+)) {
+
+735 
+Evas_Objeù
+ *
+b\8a
+ = 
+       `\96m_objeù_·¹_cÚ\8bÁ_un£t
+(
+
+736 
+widg\91_d©a
+->
+Ïyout
+,
+
+738 ià(
+b\8a
+) {
+
+739 
+       `evas_objeù_hide
+(
+b\8a
+);
+
+741 
+       `\96m_objeù_sigÇl_em\99
+(
+widg\91_d©a
+->
+Ïyout
+, "hideall", "elm");
+
+742 
+       `\96m_objeù_sigÇl_em\99
+(
+widg\91_d©a
+->
+Ïyout
+, "hide_album_date_info", "elm");
+
+744 
+       `\96m_objeù_sigÇl_ÿÎback_add
+(
+widg\91_d©a
+->
+Ïyout
+, "mou£,þicked,1", "bg", 
+gl_widg\91_Ú_no_image_cb
+, widget_data);
+
+747 
+       }
+}
+
+749 \12
+       $gl_widg\91\97\8b
+(
+_widg\91_d©a
+ *
+widg\91_d©a
+, \12
+w
+, \12
+h
+)
+
+751 ià(!
+widg\91_d©a
+) {
+
+752 
+       `dlog_´\9at
+(
+DLOG_ERROR
+, 
+LOG_TAG
+, "Invalid userdata!!");
+
+755 \ 5
+edj_·th
+[
+PATH_MAX
+] = {0,};
+
+756 
+Evas_Objeù
+ *
+Ïyout
+ = 
+NULL
+;
+
+757 
+       `dlog_´\9at
+(
+DLOG_ERROR
+, 
+LOG_TAG
+, "h\94e0 - %x", 
+widg\91_d©a
+->
+w\9a
+);
+
+758 
+Ïyout
+ = 
+       `\96m_Ïyout_add
+(
+widg\91_d©a
+->
+w\9a
+);
+
+759 ià(!
+Ïyout
+) {
+
+760 
+       `dlog_´\9at
+(
+DLOG_ERROR
+, 
+LOG_TAG
+, "Invalid\86ayout!!");
+
+764 
+       `\96m_Ïyout_f\9ee_£t
+(
+Ïyout
+,
+
+767 
+       `evas_objeù_size_h\9at_weight_£t
+(
+Ïyout
+, 
+EVAS_HINT_EXPAND
+, EVAS_HINT_EXPAND);
+
+768 
+       `evas_objeù_»size
+(
+Ïyout
+, 
+WIDGET_WIDTH
+,
+WIDGET_HEIGHT
+);
+
+769 
+       `evas_objeù_show
+(
+Ïyout
+);
+
+770 
+widg\91_d©a
+->
+Ïyout
+ =\86ayout;
+
+772 ià(!
+       `gl_widg\91_lßd_´e£Ëùed_images
+()) {
+
+773 
+       `\96m_objeù_doma\9a_\8cª¦©abË_·¹_\8bxt_£t
+(
+Ïyout
+, "TitleText", "gallery",
+
+775 
+       `\96m_objeù_doma\9a_\8cª¦©abË_·¹_\8bxt_£t
+(
+Ïyout
+, "HelpText", "gallery",
+
+777 
+       `\96m_objeù_sigÇl_ÿÎback_add
+(
+Ïyout
+, "mou£,þicked,1", "bg", 
+gl_widg\91_Ú_no_image_cb
+, 
+widg\91_d©a
+);
+
+779 ià(
+£Ëùed_couÁ
+ >ð
+IMAGES_THRESHOLD
+) {
+
+780 
+       `gl_widg\91_ªim©Ü_cb
+(
+Ïyout
+);
+
+782 
+       `gl_widg\91_ªim©Ü_cb_fÜ_Ëss_thª_five_images
+(
+Ïyout
+);
+
+784 
+loÝ_couÁ
+++;
+
+785 ià(
+£Ëùed_couÁ
+ > 1) {
+
+786 
+widg\91_d©a
+->
+tim\94
+ = 
+       `ecÜe_tim\94_loÝ_add
+(
+TIMER_INTERVAL
+, 
+gl_widg\91_tim\94_cb
+, 
+Ïyout
+);
+
+788 
+       `_gl_widg\91\97\8b_ed\99_b\8a
+(
+widg\91_d©a
+);
+
+789 
+       `_gl_widg\91_show_®bum_d©e_\9afo
+(
+£Ëùed_couÁ
+, 
+£Ëùed_images
+, 
+widg\91_d©a
+,
+
+790 
+Ïyout
+);
+
+793 
+       `evas_objeù_»size
+(
+Ïyout
+, 
+w
+, 
+h
+);
+
+794 
+       `evas_objeù_ev\92t_ÿÎback_add
+(
+widg\91_d©a
+->
+w\9a
+, 
+EVAS_CALLBACK_KEY_DOWN
+,
+
+795 
+gl_widg\91_key_down_cb
+, 
+NULL
+);
+
+797 \12
+»t
+ = 
+       `med\9f_cÚ\8bÁ_£t_db_upd©ed_cb
+(
+_gl_widg\91_db_upd©e_cb
+, 
+widg\91_d©a
+);
+
+798 ià(
+»t
+ !ð
+MEDIA_CONTENT_ERROR_NONE
+) {
+
+799 
+       `dlog_´\9at
+(
+DLOG_ERROR
+, 
+LOG_TAG
+, "S\91 db upd©ed cb fa\9eed[%d]!", 
+»t
+);
+
+802 
+       }
+}
+
+       @widget/src/gl_widget_main.c
+
+18 \ 2
+       ~<EËm\92\8fry.h
+>
+
+19 \ 2
+       ~<tiz\92.h
+>
+
+20 \ 2
+       ~<­p.h
+>
+
+21 \ 2
+       ~<dlog.h
+>
+
+23 \ 2
+       ~<widg\91.h
+>
+
+24 \ 2
+       ~<widg\91_\94ºo.h
+>
+
+25 \ 2
+       ~<widg\91_£rviû.h
+>
+
+26 \ 2
+       ~<widg\91_´ovid\94_­p.h
+>
+
+27 \ 2
+       ~<widg\91_­p.h
+>
+
+28 \ 2
+       ~<widg\91_­p_eæ.h
+>
+
+30 \ 2
+       ~"gl_widg\91.h
+"
+
+31 \ 2
+       ~"gl_widg\91_debug.h
+"
+
+33 \1e*
+       $g\91Widg\91D©a
+(
+widg\91_cÚ\8bxt_h
+cڋxt
+)
+
+35 \1e*
+d©a
+ = 
+NULL
+;
+
+36 
+       `widg\91_­p_cÚ\8bxt_g\91_\8fg
+(
+cڋxt
+, &
+d©a
+);
+
+37 \15 
+d©a
+;
+
+38 
+       }
+}
+
+40 \12
+       $widg\91_C»©e
+(
+widg\91_cÚ\8bxt_h
+cڋxt
+, 
+bundË
+ *
+cÚ\8bÁ
+, \12
+w
+, \12
+h
+, \1e*
+d©a
+)
+
+42 
+Evas_Objeù
+ *
+w\9a
+ = 
+NULL
+;
+
+43 \12
+»t
+ = 
+       `widg\91_­p_g\91_\96m_w\9a
+(
+cڋxt
+, &
+w\9a
+);
+
+44 ià(
+»t
+ !ð
+WIDGET_ERROR_NONE
+) {
+
+45 
+       `DbgPr\9at
+("ç\9eed\81Øg\91 w\9adow.\83¼ = %d", 
+»t
+);
+
+47 
+       `\96m_cÚfig_acûl_´eã»nû_£t
+("3d");
+
+49 \19
+widg\91_d©a
+ *widg\91_d©¨ð
+NULL
+;
+
+51 
+widg\91_d©a
+ = 
+       `ÿÎoc
+(1, \17(*widget_data));
+
+52 ià(!
+widg\91_d©a
+) {
+
+53 
+       `DbgPr\9at
+("failed\81o create instance");
+
+54 \15 
+WIDGET_ERROR_OUT_OF_MEMORY
+;
+
+56 
+       `b\9ad\8bxtdoma\9a
+(
+PACKAGE
+, "/usr/apps/org.tizen.gallery/res/locale");
+
+58 
+widg\91_d©a
+->
+w\9a
+ = win;
+
+60 
+       `evas_objeù_»size
+(
+widg\91_d©a
+->
+w\9a
+, 
+w
+, 
+h
+);
+
+61 
+       `evas_objeù_cÞÜ_£t
+(
+widg\91_d©a
+->
+w\9a
+, 0, 0, 0, 0);
+
+62 
+       `evas_objeù_show
+(
+widg\91_d©a
+->
+w\9a
+);
+
+64 
+widg\91_d©a
+->
+is_ed\99
+ = 
+çl£
+;
+
+65 
+       `gl_widg\91\97\8b
+(
+widg\91_d©a
+, 
+w
+, 
+h
+);
+
+66 
+       `DbgPr\9at
+("Resized\81Ø%dx%d\n", 
+w
+, 
+h
+);
+
+68 
+       `widg\91_­p_cÚ\8bxt_£t_\8fg
+(
+cڋxt
+, 
+widg\91_d©a
+);
+
+70 \15 
+WIDGET_ERROR_NONE
+;
+
+71 
+       }
+}
+
+73 \12
+       $widg\91_De¡roy
+(
+widg\91_cÚ\8bxt_h
+cڋxt
+, 
+widg\91_­p_de¡roy_ty³_e
+»asÚ
+, 
+bundË
+ *
+cÚ\8bÁ
+, \1e*
+d©a
+)
+
+75 ià(
+»asÚ
+ !ð
+WIDGET_APP_DESTROY_TYPE_PERMANENT
+) {
+
+78 \19
+widg\91_d©a
+ *widg\91_d©¨ð
+NULL
+;
+
+80 
+widg\91_d©a
+ = (\19widg\91_d©¨*)
+       `g\91Widg\91D©a
+(
+cڋxt
+);
+
+81 ià(!
+widg\91_d©a
+) {
+
+82 \15 
+WIDGET_ERROR_INVALID_PARAMETER
+;
+
+84 
+       `widg\91_­p_cÚ\8bxt_£t_\8fg
+(
+cڋxt
+, 
+NULL
+);
+
+86 
+       `evas_objeù_d\96
+(
+widg\91_d©a
+->
+w\9a
+);
+
+87 
+       `ä\93
+(
+widg\91_d©a
+->
+cÚ\8bÁ
+);
+
+89 ià(
+widg\91_d©a
+->
+tim\94
+) {
+
+90 
+       `ecÜe_tim\94_d\96
+(
+widg\91_d©a
+->
+tim\94
+);
+
+92 
+       `ä\93
+(
+widg\91_d©a
+);
+
+94 
+       `»move
+("/opt/usr/media/selectedimages.eet");
+
+96 \15 
+WIDGET_ERROR_NONE
+;
+
+97 
+       }
+}
+
+99 \12
+       $widg\91_Pau£
+(
+widg\91_cÚ\8bxt_h
+cڋxt
+, \1e*
+d©a
+)
+
+101 \15 
+WIDGET_ERROR_NONE
+;
+
+102 
+       }
+}
+
+104 \12
+       $widg\91_Resume
+(
+widg\91_cÚ\8bxt_h
+cڋxt
+, \1e*
+d©a
+)
+
+106 \15 
+WIDGET_ERROR_NONE
+;
+
+107 
+       }
+}
+
+109 \12
+       $widg\91_Resize
+(
+widg\91_cÚ\8bxt_h
+cڋxt
+, \12
+w
+, \12
+h
+, \1e*
+d©a
+)
+
+111 \19
+widg\91_d©a
+ *widg\91_d©¨ð
+NULL
+;
+
+113 
+widg\91_d©a
+ = (\19widg\91_d©¨*)
+       `g\91Widg\91D©a
+(
+cڋxt
+);
+
+114 ià(!
+widg\91_d©a
+) {
+
+115 \15 
+WIDGET_ERROR_INVALID_PARAMETER
+;
+
+118 
+       `evas_objeù_»size
+(
+widg\91_d©a
+->
+w\9a
+, 
+w
+, 
+h
+);
+
+119 
+       `evas_objeù_»size
+(
+widg\91_d©a
+->
+bg
+, 
+w
+, 
+h
+);
+
+120 
+       `evas_objeù_»size
+(
+widg\91_d©a
+->
+cÚfÜmªt
+, 
+w
+, 
+h
+);
+
+122 
+       `DbgPr\9at
+("Resized\81Ø%dx%d\n", 
+w
+, 
+h
+);
+
+124 \15 
+WIDGET_ERROR_NONE
+;
+
+125 
+       }
+}
+
+127 \12
+       $widg\91_Upd©e
+(
+widg\91_cÚ\8bxt_h
+cڋxt
+, 
+bundË
+ *
+cÚ\8bÁ
+, \12
+fÜû
+, \1e*
+d©a
+)
+
+129 \15 
+WIDGET_ERROR_NONE
+;
+
+130 
+       }
+}
+
+132 \18\1e
+       $­p_Ïnguage_chªged
+(
+­p_ev\92t_\9afo_h
+ev\92t_\9afo
+, \1e*
+d©a
+)
+
+134 
+       `DbgPr\9at
+("language change\81riggered");
+
+135 \ 5*
+Ïng
+ = 
+NULL
+;
+
+136 
+       `­p_ev\92t_g\91_Ïnguage
+(
+ev\92t_\9afo
+, &
+Ïng
+);
+
+137 ià(
+Ïng
+) {
+
+138 
+       `\96m_Ïnguage_£t
+(
+Ïng
+);
+
+139 
+       `ä\93
+(
+Ïng
+);
+
+141 
+       }
+}
+
+143 \18\1e
+       $­p_»giÚ_chªged
+(
+­p_ev\92t_\9afo_h
+ev\92t_\9afo
+, \1e*
+d©a
+)
+
+145 
+       `DbgPr\9at
+("region change\81riggered");
+
+146 
+       }
+}
+
+148 
+widg\91_þass_h
+       $­p_ü\97\8b
+(\1e*
+d©a
+)
+
+150 
+­p_ev\92t_hªdËr_h
+Ïng_chªged_hªdËr
+;
+
+151 
+­p_ev\92t_hªdËr_h
+»giÚ_chªged_hªdËr
+;
+
+153 
+       `widg\91_­p_add_ev\92t_hªdËr
+(&
+Ïng_chªged_hªdËr
+, 
+APP_EVENT_LANGUAGE_CHANGED
+,
+
+154 &
+­p_Ïnguage_chªged
+, 
+d©a
+);
+
+155 
+       `widg\91_­p_add_ev\92t_hªdËr
+(&
+»giÚ_chªged_hªdËr
+, 
+APP_EVENT_REGION_FORMAT_CHANGED
+,
+
+156 &
+­p_»giÚ_chªged
+, 
+d©a
+);
+
+158 
+widg\91_\9a¡ªû_liãcyþe_ÿÎback_s
+Ýs
+;
+
+159 
+Ýs
+.
\97\8b
+ = 
+widg\91_C»©e
+;
+
+160 
+Ýs
+.
+de¡roy
+ = 
+widg\91_De¡roy
+;
+
+161 
+Ýs
+.
+·u£
+ = 
+widg\91_Pau£
+;
+
+162 
+Ýs
+.
+»sume
+ = 
+widg\91_Resume
+;
+
+163 
+Ýs
+.
+»size
+ = 
+widg\91_Resize
+;
+
+164 
+Ýs
+.
+upd©e
+ = 
+widg\91_Upd©e
+;
+
+166 \15 
+       `widg\91_­p_þass_ü\97\8b
+(
+Ýs
+, 
+d©a
+);
+
+167 
+       }
+}
+
+169 \1e
+       $­p_\8brm\9a©e
+(\1e*
+d©a
+)
+
+174 
+       }
+}
+
+176 \12
+       $ma\9a
+(\12
+¬gc
+, \ 5*
+¬gv
+[])
+
+178 \12
+»suÉ
+ = 
+WIDGET_ERROR_NONE
+;
+
+180 
+widg\91_­p_liãcyþe_ÿÎback_s
+Ýs
+ = {0,};
+
+181 
+Ýs
+.
\97\8b
+ = 
+­p_ü\97\8b
+;
+
+182 
+Ýs
+.
+\8brm\9a©e
+ = 
+­p_\8brm\9a©e
+;
+
+184 
+»suÉ
+ = 
+       `widg\91_­p_ma\9a
+(
+¬gc
+, 
+¬gv
+, &
+Ýs
+, 
+NULL
+);
+
+185 ià(
+»suÉ
+ !ð
+WIDGET_ERROR_NONE
+) {
+
+186 
+       `DbgPr\9at
+("widg\91_­p_ma\9a(èi ç\9eed.\83¼ = %d", 
+»suÉ
+);
+
+189 \15 
+»suÉ
+;
+
+190 
+       }
+}
+
+       @/usr/include/assert.h
+
+22 #ifdef 
+_ASSERT_H
+
+
+24 #undeà
+_ASSERT_H
+
+
+25 #undeà
+as£¹
+
+
+26 #undeà
+__ASSERT_VOID_CAST
+
+
+28 #ifdef 
+__USE_GNU
+
+
+29 #undeà
+as£¹_³¼Ü
+
+
+34 \ 1
+       #_ASSERT_H
+ 1
+
+       )
+
+35 \ 2
+       ~<ã©u»s.h
+>
+
+37 #ià
+def\9aed
+__ýlu¥lus
+ && 
+__GNUC_PREREQ
+ (2,95)
+
+38 \ 1
+       #__ASSERT_VOID_CAST
+¡©ic_ÿ¡
+<\1e>
+
+       )
+
+40 \ 1
+       #__ASSERT_VOID_CAST
+ (\1e)
+
+       )
+
+48 #ifdef 
+NDEBUG
+
+
+50 \ 1
+       #as£¹
+(
+ex´
+è(
+       `__ASSERT_VOID_CAST
+ (0))
+
+       )
+
+58 #ifdef 
+__USE_GNU
+
+
+59 \ 1
+       #as£¹_³¼Ü
+(
+\94ºum
+è(
+       `__ASSERT_VOID_CAST
+ (0))
+
+       )
+
+64 #iâdeà
+_ASSERT_H_DECLS
+
+
+65 \ 1
+       #_ASSERT_H_DECLS
+
+
+       )
+
+66 
+__BEGIN_DECLS
+
+
+69 \r\1e
+       $__as£¹_ç\9e
+ (cڡ \ 5*
+__as£¹iÚ
+, cڡ \ 5*
+__f\9ee
+,
+
+70 \1d\12
+__l\9ae
+, cڡ \ 5*
+__funùiÚ
+)
+
+71 
+__THROW
+       `__©\8cibu\8b__
+ ((
+__nÜ\91uº__
+));
+
+74 \r\1e
+       $__as£¹_³¼Ü_ç\9e
+ (\12
+__\94ºum
+, cڡ \ 5*
+__f\9ee
+,
+
+75 \1d\12
+__l\9ae
+, cڡ \ 5*
+__funùiÚ
+)
+
+76 
+__THROW
+       `__©\8cibu\8b__
+ ((
+__nÜ\91uº__
+));
+
+81 \r\1e
+       $__as£¹
+ (cڡ \ 5*
+__as£¹iÚ
+, cڡ \ 5*
+__f\9ee
+, \12
+__l\9ae
+)
+
+82 
+__THROW
+       `__©\8cibu\8b__
+ ((
+__nÜ\91uº__
+));
+
+85 
+__END_DECLS
+
+
+88 \ 1
+       #as£¹
+(
+ex´
+) \
+
+89 ((
+ex´
+) \
+
+90 ? 
+       `__ASSERT_VOID_CAST
+ (0) \
+
+91 : 
+       `__as£¹_ç\9e
+ (
+       `__STRING
+(
+ex´
+), 
+__FILE__
+, 
+__LINE__
+, 
+__ASSERT_FUNCTION
+))
+
+       )
+
+93 #ifdef 
+__USE_GNU
+
+
+94 \ 1
+       #as£¹_³¼Ü
+(
+\94ºum
+) \
+
+95 (!(
+\94ºum
+) \
+
+96 ? 
+       `__ASSERT_VOID_CAST
+ (0) \
+
+97 : 
+       `__as£¹_³¼Ü_ç\9e
+ ((
+\94ºum
+), 
+__FILE__
+, 
+__LINE__
+, 
+__ASSERT_FUNCTION
+))
+
+       )
+
+105 #ià
+def\9aed
+__ýlu¥lus
+ ? 
+       `__GNUC_PREREQ
+ (2, 6) : __GNUC_PREREQ (2, 4)
+
+106 \ 1
+       #__ASSERT_FUNCTION
+__PRETTY_FUNCTION__
+
+
+       )
+
+108 #ià
+def\9aed
+__STDC_VERSION__
+ && __STDC_VERSION__ >= 199901L
+
+109 \ 1
+       #__ASSERT_FUNCTION
+__func__
+
+
+       )
+
+111 \ 1
+       #__ASSERT_FUNCTION
+ ((cÚ¡ \ 5*è0)
+
+       )
+
+118 #ià
+def\9aed
+__USE_ISOC11
+ && !def\9aed 
+__ýlu¥lus
+
+
+120 #undeà
+¡©ic_as£¹
+
+
+121 \ 1
+       #¡©ic_as£¹
+_S\8ftic_as£¹
+
+
+       )
+
+       @/usr/include/dirent.h
+
+22 #iâdef 
+_DIRENT_H
+
+
+23 \ 1
+       #_DIRENT_H
+ 1
+
+       )
+
+25 \ 2
+       ~<ã©u»s.h
+>
+
+27 
+       g__BEGIN_DECLS
+
+
+29 \ 2
+       ~<b\99s/ty³s.h
+>
+
+31 #ifdeà
+__USE_XOPEN
+
+
+32 #iâdeà
+__\9ao_t_def\9aed
+
+
+33 #iâdeà
+__USE_FILE_OFFSET64
+
+
+34 \e
+__\9ao_t
+       t\9ao_t
+;
+
+36 \e
+__\9ao64_t
+       t\9ao_t
+;
+
+38 \ 1
+       #__\9ao_t_def\9aed
+
+
+       )
+
+40 #ià
+def\9aed
+__USE_LARGEFILE64
+ && !def\9aed 
+__\9ao64_t_def\9aed
+
+
+41 \e
+__\9ao64_t
+       t\9ao64_t
+;
+
+42 \ 1
+       #__\9ao64_t_def\9aed
+
+
+       )
+
+61 \ 2
+       ~<b\99s/d\9c\92t.h
+>
+
+63 #ià(
+def\9aed
+__USE_BSD
+ || def\9aed 
+__USE_MISC
+è&& !def\9aed 
+d_f\9e\92o
+
+
+64 \ 1
+       #d_\9ao
+d_f\9e\92o
+
+
+       )
+
+81 #ifdeà
+_DIRENT_HAVE_D_NAMLEN
+
+
+82 \ 1
+       #_D_EXACT_NAMLEN
+(
+d
+è((d)->
+d_ÇmËn
+)
+
+       )
+
+83 \ 1
+       #_D_ALLOC_NAMLEN
+(
+d
+è(
+       `_D_EXACT_NAMLEN
+ (dè+ 1)
+
+       )
+
+85 \ 1
+       #_D_EXACT_NAMLEN
+(
+d
+è(
+       `¡¾\92
+ ((d)->
+d_Çme
+))
+
+       )
+
+86 #ifdeà
+_DIRENT_HAVE_D_RECLEN
+
+
+87 \ 1
+       #_D_ALLOC_NAMLEN
+(
+d
+è(((\ 5*è(dè+ (d)->
+d_»þ\92
+è- &(d)->
+d_Çme
+[0])
+
+       )
+
+89 \ 1
+       #_D_ALLOC_NAMLEN
+(
+d
+è(\17 (d)->
+d_Çme
+ > 1 ? \17 (d)->d_name : \
+
+90 
+       `_D_EXACT_NAMLEN
+ (
+d
+è+ 1)
+
+       )
+
+95 #ifdeà
+__USE_BSD
+
+
+99 
+       mDT_UNKNOWN
+ = 0,
+
+100 \ 1
+       #DT_UNKNOWN
+DT_UNKNOWN
+
+
+       )
+
+101 
+       mDT_FIFO
+ = 1,
+
+102 \ 1
+       #DT_FIFO
+DT_FIFO
+
+
+       )
+
+103 
+       mDT_CHR
+ = 2,
+
+104 \ 1
+       #DT_CHR
+DT_CHR
+
+
+       )
+
+105 
+       mDT_DIR
+ = 4,
+
+106 \ 1
+       #DT_DIR
+DT_DIR
+
+
+       )
+
+107 
+       mDT_BLK
+ = 6,
+
+108 \ 1
+       #DT_BLK
+DT_BLK
+
+
+       )
+
+109 
+       mDT_REG
+ = 8,
+
+110 \ 1
+       #DT_REG
+DT_REG
+
+
+       )
+
+111 
+       mDT_LNK
+ = 10,
+
+112 \ 1
+       #DT_LNK
+DT_LNK
+
+
+       )
+
+113 
+       mDT_SOCK
+ = 12,
+
+114 \ 1
+       #DT_SOCK
+DT_SOCK
+
+
+       )
+
+115 
+       mDT_WHT
+ = 14
+
+116 \ 1
+       #DT_WHT
+DT_WHT
+
+
+       )
+
+120 \ 1
+       #IFTODT
+(
+mode
+è(((modeè& 0170000è>> 12)
+
+       )
+
+121 \ 1
+       #DTTOIF
+(
+d\9cty³
+è((d\9cty³è<< 12)
+
+       )
+
+127 \e\19
+__d\9c¡»am
+       tDIR
+;
+
+134 \r
+DIR
+ *
+       $Ý\92d\9c
+ (cڡ \ 5*
+__Çme
+       `__nÚnuÎ
+ ((1));
+
+136 #ifdeà
+__USE_XOPEN2K8
+
+
+141 \r
+DIR
+ *
+       `fdÝ\92d\9c
+ (\12
+__fd
+);
+
+149 \r\12
+       $þo£d\9c
+ (
+DIR
+ *
+__d\9cp
+       `__nÚnuÎ
+ ((1));
+
+161 #iâdeà
+__USE_FILE_OFFSET64
+
+
+162 \r\19
+d\9c\92t
+ *
+       $»add\9c
+ (
+DIR
+ *
+__d\9cp
+       `__nÚnuÎ
+ ((1));
+
+164 #ifdeà
+__REDIRECT
+
+
+165 \r\19
+d\9c\92t
+ *
+       `__REDIRECT
+ (
+»add\9c
+, (
+DIR
+ *
+__d\9cp
+), 
+»add\9c64
+)
+
+166 
+       `__nÚnuÎ
+ ((1));
+
+168 \ 1
+       #»add\9c
+»add\9c64
+
+
+       )
+
+172 #ifdeà
+__USE_LARGEFILE64
+
+
+173 \r\19
+d\9c\92t64
+ *
+       $»add\9c64
+ (
+DIR
+ *
+__d\9cp
+       `__nÚnuÎ
+ ((1));
+
+176 #ià
+def\9aed
+__USE_POSIX
+ || def\9aed 
+__USE_MISC
+
+
+182 #iâdeà
+__USE_FILE_OFFSET64
+
+
+183 \r\12
+       $»add\9c_r
+ (
+DIR
+ *
+__»¡riù
+__d\9cp
+,
+
+184 \19
+d\9c\92t
+ *
+__»¡riù
+__\92\8cy
+,
+
+185 \19
+d\9c\92t
+ **
+__»¡riù
+__»suÉ
+)
+
+186 
+       `__nÚnuÎ
+ ((1, 2, 3));
+
+188 #ifdeà
+__REDIRECT
+
+
+189 \r\12
+       `__REDIRECT
+ (
+»add\9c_r
+,
+
+190 (
+DIR
+ *
+__»¡riù
+__d\9cp
+,
+
+191 \19
+d\9c\92t
+ *
+__»¡riù
+__\92\8cy
+,
+
+192 \19
+d\9c\92t
+ **
+__»¡riù
+__»suÉ
+),
+
+193 
+»add\9c64_r
+       `__nÚnuÎ
+ ((1, 2, 3));
+
+195 \ 1
+       #»add\9c_r
+»add\9c64_r
+
+
+       )
+
+199 #ifdeà
+__USE_LARGEFILE64
+
+
+200 \r\12
+       $»add\9c64_r
+ (
+DIR
+ *
+__»¡riù
+__d\9cp
+,
+
+201 \19
+d\9c\92t64
+ *
+__»¡riù
+__\92\8cy
+,
+
+202 \19
+d\9c\92t64
+ **
+__»¡riù
+__»suÉ
+)
+
+203 
+       `__nÚnuÎ
+ ((1, 2, 3));
+
+208 \r\1e
+       $»w\9add\9c
+ (
+DIR
+ *
+__d\9cp
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+210 #ià
+def\9aed
+__USE_BSD
+ || def\9aed 
+__USE_MISC
+ || def\9aed 
+__USE_XOPEN
+
+
+211 \ 2
+       ~<b\99s/ty³s.h
+>
+
+214 \r\1e
+       $£ekd\9c
+ (
+DIR
+ *
+__d\9cp
+, \13\12
+__pos
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+217 \r\13\12
+       $\8bÎd\9c
+ (
+DIR
+ *
+__d\9cp
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+220 #ià
+def\9aed
+__USE_BSD
+ || def\9aed 
+__USE_MISC
+ || def\9aed 
+__USE_XOPEN2K8
+
+
+223 \r\12
+       $d\9cfd
+ (
+DIR
+ *
+__d\9cp
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+225 #ià
+def\9aed
+__OPTIMIZE__
+ && def\9aed 
+_DIR_d\9cfd
+
+
+226 \ 1
+       #d\9cfd
+(
+d\9cp
+       `_DIR_d\9cfd
+ (d\9cp)
+
+       )
+
+229 #ià
+def\9aed
+__USE_BSD
+ || def\9aed 
+__USE_MISC
+
+
+230 #iâdeà
+MAXNAMLEN
+
+
+232 \ 2
+       ~<b\99s/posix1_lim.h
+>
+
+235 #ifdeà
+NAME_MAX
+
+
+236 \ 1
+       #MAXNAMLEN
+NAME_MAX
+
+
+       )
+
+238 \ 1
+       #MAXNAMLEN
+ 255
+
+       )
+
+243 \ 1
+       #__Ãed_size_t
+
+
+       )
+
+244 \ 2
+       ~<¡ddef.h
+>
+
+253 #iâdeà
+__USE_FILE_OFFSET64
+
+
+254 \r\12
+       `sÿnd\9c
+ (cڡ \ 5*
+__»¡riù
+__d\9c
+,
+
+255 \19
+d\9c\92t
+ ***
+__»¡riù
+__Çm\96
+,
+
+256 \12(*
+__£ËùÜ
+è(cÚ¡ \19
+d\9c\92t
+ *),
+
+257 \12(*
+__cmp
+è(cÚ¡ \19
+d\9c\92t
+ **,
+
+258 cڡ \19
+d\9c\92t
+ **))
+
+259 
+       `__nÚnuÎ
+ ((1, 2));
+
+261 #ifdeà
+__REDIRECT
+
+
+262 \r\12
+       `__REDIRECT
+ (
+sÿnd\9c
+,
+
+263 (cڡ \ 5*
+__»¡riù
+__d\9c
+,
+
+264 \19
+d\9c\92t
+ ***
+__»¡riù
+__Çm\96
+,
+
+265 \12(*
+__£ËùÜ
+è(cÚ¡ \19
+d\9c\92t
+ *),
+
+266 \12(*
+__cmp
+è(cÚ¡ \19
+d\9c\92t
+ **,
+
+267 cڡ \19
+d\9c\92t
+ **)),
+
+268 
+sÿnd\9c64
+       `__nÚnuÎ
+ ((1, 2));
+
+270 \ 1
+       #sÿnd\9c
+sÿnd\9c64
+
+
+       )
+
+274 #ià
+def\9aed
+__USE_GNU
+ && def\9aed 
+__USE_LARGEFILE64
+
+
+277 \r\12
+       `sÿnd\9c64
+ (cڡ \ 5*
+__»¡riù
+__d\9c
+,
+
+278 \19
+d\9c\92t64
+ ***
+__»¡riù
+__Çm\96
+,
+
+279 \12(*
+__£ËùÜ
+è(cÚ¡ \19
+d\9c\92t64
+ *),
+
+280 \12(*
+__cmp
+è(cÚ¡ \19
+d\9c\92t64
+ **,
+
+281 cڡ \19
+d\9c\92t64
+ **))
+
+282 
+       `__nÚnuÎ
+ ((1, 2));
+
+285 #ifdeà
+__USE_GNU
+
+
+291 #iâdeà
+__USE_FILE_OFFSET64
+
+
+292 \r\12
+       `sÿnd\9c©
+ (\12
+__dfd
+, cڡ \ 5*
+__»¡riù
+__d\9c
+,
+
+293 \19
+d\9c\92t
+ ***
+__»¡riù
+__Çm\96
+,
+
+294 \12(*
+__£ËùÜ
+è(cÚ¡ \19
+d\9c\92t
+ *),
+
+295 \12(*
+__cmp
+è(cÚ¡ \19
+d\9c\92t
+ **,
+
+296 cڡ \19
+d\9c\92t
+ **))
+
+297 
+       `__nÚnuÎ
+ ((2, 3));
+
+299 #ifdeà
+__REDIRECT
+
+
+300 \r\12
+       `__REDIRECT
+ (
+sÿnd\9c©
+,
+
+301 (\12
+__dfd
+, cڡ \ 5*
+__»¡riù
+__d\9c
+,
+
+302 \19
+d\9c\92t
+ ***
+__»¡riù
+__Çm\96
+,
+
+303 \12(*
+__£ËùÜ
+è(cÚ¡ \19
+d\9c\92t
+ *),
+
+304 \12(*
+__cmp
+è(cÚ¡ \19
+d\9c\92t
+ **,
+
+305 cڡ \19
+d\9c\92t
+ **)),
+
+306 
+sÿnd\9c©64
+       `__nÚnuÎ
+ ((2, 3));
+
+308 \ 1
+       #sÿnd\9c©
+sÿnd\9c©64
+
+
+       )
+
+314 \r\12
+       `sÿnd\9c©64
+ (\12
+__dfd
+, cڡ \ 5*
+__»¡riù
+__d\9c
+,
+
+315 \19
+d\9c\92t64
+ ***
+__»¡riù
+__Çm\96
+,
+
+316 \12(*
+__£ËùÜ
+è(cÚ¡ \19
+d\9c\92t64
+ *),
+
+317 \12(*
+__cmp
+è(cÚ¡ \19
+d\9c\92t64
+ **,
+
+318 cڡ \19
+d\9c\92t64
+ **))
+
+319 
+       `__nÚnuÎ
+ ((2, 3));
+
+323 #iâdeà
+__USE_FILE_OFFSET64
+
+
+324 \r\12
+       $®phasÜt
+ (cڡ \19
+d\9c\92t
+ **
+__e1
+,
+
+325 cڡ \19
+d\9c\92t
+ **
+__e2
+)
+
+326 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2));
+
+328 #ifdeà
+__REDIRECT
+
+
+329 \r\12
+       `__REDIRECT_NTH
+ (
+®phasÜt
+,
+
+330 (cڡ \19
+d\9c\92t
+ **
+__e1
+,
+
+331 cڡ \19
+d\9c\92t
+ **
+__e2
+),
+
+332 
+®phasÜt64
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2));
+
+334 \ 1
+       #®phasÜt
+®phasÜt64
+
+
+       )
+
+338 #ià
+def\9aed
+__USE_GNU
+ && def\9aed 
+__USE_LARGEFILE64
+
+
+339 \r\12
+       $®phasÜt64
+ (cڡ \19
+d\9c\92t64
+ **
+__e1
+,
+
+340 cڡ \19
+d\9c\92t64
+ **
+__e2
+)
+
+341 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2));
+
+346 #ià
+def\9aed
+__USE_BSD
+ || def\9aed 
+__USE_MISC
+
+
+351 #iâdeà
+__USE_FILE_OFFSET64
+
+
+352 \r
+__ssize_t
+       $g\91d\9c\92\8c\9bs
+ (\12
+__fd
+, \ 5*
+__»¡riù
+__buf
+,
+
+353 
+size_t
+__nby\8bs
+,
+
+354 
+__off_t
+ *
+__»¡riù
+__ba£p
+)
+
+355 
+__THROW
+       `__nÚnuÎ
+ ((2, 4));
+
+357 #ifdeà
+__REDIRECT
+
+
+358 \r
+__ssize_t
+       `__REDIRECT_NTH
+ (
+g\91d\9c\92\8c\9bs
+,
+
+359 (\12
+__fd
+, \ 5*
+__»¡riù
+__buf
+,
+
+360 
+size_t
+__nby\8bs
+,
+
+361 
+__off64_t
+ *
+__»¡riù
+__ba£p
+),
+
+362 
+g\91d\9c\92\8c\9bs64
+       `__nÚnuÎ
+ ((2, 4));
+
+364 \ 1
+       #g\91d\9c\92\8c\9bs
+g\91d\9c\92\8c\9bs64
+
+
+       )
+
+368 #ifdeà
+__USE_LARGEFILE64
+
+
+369 \r
+__ssize_t
+       $g\91d\9c\92\8c\9bs64
+ (\12
+__fd
+, \ 5*
+__»¡riù
+__buf
+,
+
+370 
+size_t
+__nby\8bs
+,
+
+371 
+__off64_t
+ *
+__»¡riù
+__ba£p
+)
+
+372 
+__THROW
+       `__nÚnuÎ
+ ((2, 4));
+
+376 #ifdeà
+__USE_GNU
+
+
+378 #iâdeà
+__USE_FILE_OFFSET64
+
+
+379 \r\12
+       $v\94siÚsÜt
+ (cڡ \19
+d\9c\92t
+ **
+__e1
+,
+
+380 cڡ \19
+d\9c\92t
+ **
+__e2
+)
+
+381 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2));
+
+383 #ifdeà
+__REDIRECT
+
+
+384 \r\12
+       `__REDIRECT_NTH
+ (
+v\94siÚsÜt
+,
+
+385 (cڡ \19
+d\9c\92t
+ **
+__e1
+,
+
+386 cڡ \19
+d\9c\92t
+ **
+__e2
+),
+
+387 
+v\94siÚsÜt64
+)
+
+388 
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2));
+
+390 \ 1
+       #v\94siÚsÜt
+v\94siÚsÜt64
+
+
+       )
+
+394 #ifdeà
+__USE_LARGEFILE64
+
+
+395 \r\12
+       $v\94siÚsÜt64
+ (cڡ \19
+d\9c\92t64
+ **
+__e1
+,
+
+396 cڡ \19
+d\9c\92t64
+ **
+__e2
+)
+
+397 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2));
+
+401 
+__END_DECLS
+
+
+       @/usr/include/dlfcn.h
+
+19 #iâdef 
+_DLFCN_H
+
+
+20 \ 1
+       #_DLFCN_H
+ 1
+
+       )
+
+22 \ 2
+       ~<ã©u»s.h
+>
+
+23 \ 1
+       #__Ãed_size_t
+
+
+       )
+
+24 \ 2
+       ~<¡ddef.h
+>
+
+27 \ 2
+       ~<b\99s/dlfú.h
+>
+
+30 #ifdeà
+__USE_GNU
+
+
+35 \ 1
+       #RTLD_NEXT
+ ((\1e*è-1l)
+
+       )
+
+40 \ 1
+       #RTLD_DEFAULT
+ ((\1e*è0)
+
+       )
+
+44 \e\13\12
+       tLmid_t
+;
+
+47 \ 1
+       #LM_ID_BASE
+ 0
+
+       )
+
+48 \ 1
+       #LM_ID_NEWLM
+ -1
+
+       )
+
+52 
+__BEGIN_DECLS
+
+
+56 \r\1e*
+       $dlݒ
+ (cڡ \ 5*
+__f\9ee
+, \12
+__mode
+__THROWNL
+;
+
+60 \r\12
+       $dlþo£
+ (\1e*
+__hªdË
+__THROWNL
+       `__nÚnuÎ
+ ((1));
+
+64 \r\1e*
+       $dlsym
+ (\1e*
+__»¡riù
+__hªdË
+,
+
+65 cڡ \ 5*
+__»¡riù
+__Çme
+__THROW
+       `__nÚnuÎ
+ ((2));
+
+67 #ifdeà
+__USE_GNU
+
+
+69 \r\1e*
+       $dlmݒ
+ (
+Lmid_t
+__nsid
+, cڡ \ 5*
+__f\9ee
+, \12
+__mode
+__THROWNL
+;
+
+73 \r\1e*
+       $dlvsym
+ (\1e*
+__»¡riù
+__hªdË
+,
+
+74 cڡ \ 5*
+__»¡riù
+__Çme
+,
+
+75 cڡ \ 5*
+__»¡riù
+__v\94siÚ
+)
+
+76 
+__THROW
+       `__nÚnuÎ
+ ((2, 3));
+
+82 \r\ 5*
+       $d˼Ü
+ (\1eè
+__THROW
+;
+
+85 #ifdeà
+__USE_GNU
+
+
+90 cڡ \ 5*
+dli_âame
+;
+
+91 \1e*
+dli_fba£
+;
+
+92 cڡ \ 5*
+dli_¢ame
+;
+
+93 \1e*
+dli_§ddr
+;
+
+94 } 
+       tDl_\9afo
+;
+
+98 \r\12
+       $dÏddr
+ (cڡ \1e*
+__add»ss
+, 
+Dl_\9afo
+ *
+__\9afo
+)
+
+99 
+__THROW
+       `__nÚnuÎ
+ ((2));
+
+102 \r\12
+       $dÏddr1
+ (cڡ \1e*
+__add»ss
+, 
+Dl_\9afo
+ *
+__\9afo
+,
+
+103 \1e**
+__ex\8ca_\9afo
+, \12
+__æags
+__THROW
+       `__nÚnuÎ
+ ((2));
+
+111 
+RTLD_DL_SYMENT
+ = 1,
+
+114 
+RTLD_DL_LINKMAP
+ = 2
+
+123 \r\12
+       $dl\9afo
+ (\1e*
+__»¡riù
+__hªdË
+,
+
+124 \12
+__»que¡
+, \1e*
+__»¡riù
+__¬g
+)
+
+125 
+__THROW
+       `__nÚnuÎ
+ ((1, 3));
+
+131 
+RTLD_DI_LMID
+ = 1,
+
+135 
+RTLD_DI_LINKMAP
+ = 2,
+
+137 
+RTLD_DI_CONFIGADDR
+ = 3,
+
+144 
+RTLD_DI_SERINFO
+ = 4,
+
+145 
+RTLD_DI_SERINFOSIZE
+ = 5,
+
+149 
+RTLD_DI_ORIGIN
+ = 6,
+
+151 
+RTLD_DI_PROFILENAME
+ = 7,
+
+152 
+RTLD_DI_PROFILEOUT
+ = 8,
+
+157 
+RTLD_DI_TLS_MODID
+ = 9,
+
+163 
+RTLD_DI_TLS_DATA
+ = 10,
+
+165 
+RTLD_DI_MAX
+ = 10
+
+173 \ 5*
+dls_Çme
+;
+
+174 \1d\12
+dls_æags
+;
+
+175 } 
+       tDl_£½©h
+;
+
+181 
+size_t
+dls_size
+;
+
+182 \1d\12
+dls_út
+;
+
+183 
+Dl_£½©h
+dls_£½©h
+[1];
+
+184 } 
+       tDl_£r\9afo
+;
+
+188 
+__END_DECLS
+
+
+       @/usr/include/errno.h
+
+22 #iâdef 
+_ERRNO_H
+
+
+26 #iâdef 
+__Ãed_Em©h
+
+
+27 \ 1
+       #_ERRNO_H
+ 1
+
+       )
+
+28 \ 2
+       ~<ã©u»s.h
+>
+
+31 
+       g__BEGIN_DECLS
+
+
+35 \ 2
+       ~<b\99s/\94ºo.h
+>
+
+36 #undeà
+__Ãed_Em©h
+
+
+38 #ifdef 
+_ERRNO_H
+
+
+45 #iâdef 
+\94ºo
+
+
+46 \r\12
+\94ºo
+;
+
+49 #ifdeà
+__USE_GNU
+
+
+54 \r\ 5*
+´og¿m_\9avoÿtiÚ_Çme
+, *
+´og¿m_\9avoÿtiÚ_shÜt_Çme
+;
+
+58 
+       g__END_DECLS
+
+
+66 #ià
+def\9aed
+__USE_GNU
+ || def\9aed 
+__Ãed_\94rÜ_t
+
+
+67 #iâdeà
+__\94rÜ_t_def\9aed
+
+
+68 \e\12
+       t\94rÜ_t
+;
+
+69 \ 1
+       #__\94rÜ_t_def\9aed
+ 1
+
+       )
+
+71 #undeà
+__Ãed_\94rÜ_t
+
+
+       @/usr/include/libgen.h
+
+18 #iâdeà
+_LIBGEN_H
+
+
+19 \ 1
+       #_LIBGEN_H
+ 1
+
+       )
+
+21 \ 2
+       ~<ã©u»s.h
+>
+
+23 
+__BEGIN_DECLS
+
+
+26 \r\ 5*
+       $d\9cÇme
+ (\ 5*
+__·th
+__THROW
+;
+
+34 \r\ 5*
+       $__xpg_ba£Çme
+ (\ 5*
+__·th
+__THROW
+;
+
+35 \ 1
+       #ba£Çme
+__xpg_ba£Çme
+
+
+       )
+
+37 
+__END_DECLS
+
+
+       @/usr/include/linux/fs.h
+
+1 #iâdeà
+_LINUX_FS_H
+
+
+2 \ 1
+       #_LINUX_FS_H
+
+
+       )
+
+9 \ 2
+       ~<l\9aux/lim\99s.h
+>
+
+10 \ 2
+       ~<l\9aux/ioùl.h
+>
+
+11 \ 2
+       ~<l\9aux/ty³s.h
+>
+
+24 #undeà
+NR_OPEN
+
+
+25 \ 1
+       #INR_OPEN_CUR
+ 1024
+
+       )
+
+26 \ 1
+       #INR_OPEN_MAX
+ 4096
+
+       )
+
+28 \ 1
+       #BLOCK_SIZE_BITS
+ 10
+
+       )
+
+29 \ 1
+       #BLOCK_SIZE
+ (1<<
+BLOCK_SIZE_BITS
+)
+
+       )
+
+31 \ 1
+       #SEEK_SET
+ 0
+
+       )
+
+32 \ 1
+       #SEEK_CUR
+ 1
+
+       )
+
+33 \ 1
+       #SEEK_END
+ 2
+
+       )
+
+34 \ 1
+       #SEEK_DATA
+ 3
+
+       )
+
+35 \ 1
+       #SEEK_HOLE
+ 4
+
+       )
+
+36 \ 1
+       #SEEK_MAX
+SEEK_HOLE
+
+
+       )
+
+38 \19
+       sf¡rim_¿nge
+ {
+
+39 
+__u64
+       m¡¬t
+;
+
+40 
+__u64
+       mËn
+;
+
+41 
+__u64
+       mm\9aËn
+;
+
+45 \19
+       sf\9ees_¡©_¡ruù
+ {
+
+46 \1d\13
+       mÄ_f\9ees
+;
+
+47 \1d\13
+       mÄ_ä\93_f\9ees
+;
+
+48 \1d\13
+       mmax_f\9ees
+;
+
+51 \19
+       s\9aodes_¡©_t
+ {
+
+52 \13
+       mÄ_\9aodes
+;
+
+53 \13
+       mÄ_unu£d
+;
+
+54 \13
+       mdummy
+[5];
+
+58 \ 1
+       #NR_FILE
+ 8192
+
+       )
+
+64 \ 1
+       #MS_RDONLY
+ 1
+
+       )
+
+65 \ 1
+       #MS_NOSUID
+ 2
+
+       )
+
+66 \ 1
+       #MS_NODEV
+ 4
+
+       )
+
+67 \ 1
+       #MS_NOEXEC
+ 8
+
+       )
+
+68 \ 1
+       #MS_SYNCHRONOUS
+ 16
+
+       )
+
+69 \ 1
+       #MS_REMOUNT
+ 32
+
+       )
+
+70 \ 1
+       #MS_MANDLOCK
+ 64
+
+       )
+
+71 \ 1
+       #MS_DIRSYNC
+ 128
+
+       )
+
+72 \ 1
+       #MS_NOATIME
+ 1024
+
+       )
+
+73 \ 1
+       #MS_NODIRATIME
+ 2048
+
+       )
+
+74 \ 1
+       #MS_BIND
+ 4096
+
+       )
+
+75 \ 1
+       #MS_MOVE
+ 8192
+
+       )
+
+76 \ 1
+       #MS_REC
+ 16384
+
+       )
+
+77 \ 1
+       #MS_VERBOSE
+ 32768
+
+       )
+
+79 \ 1
+       #MS_SILENT
+ 32768
+
+       )
+
+80 \ 1
+       #MS_POSIXACL
+ (1<<16è
+
+       )
+
+81 \ 1
+       #MS_UNBINDABLE
+ (1<<17è
+
+       )
+
+82 \ 1
+       #MS_PRIVATE
+ (1<<18è
+
+       )
+
+83 \ 1
+       #MS_SLAVE
+ (1<<19è
+
+       )
+
+84 \ 1
+       #MS_SHARED
+ (1<<20è
+
+       )
+
+85 \ 1
+       #MS_RELATIME
+ (1<<21è
+
+       )
+
+86 \ 1
+       #MS_KERNMOUNT
+ (1<<22è
+
+       )
+
+87 \ 1
+       #MS_I_VERSION
+ (1<<23è
+
+       )
+
+88 \ 1
+       #MS_STRICTATIME
+ (1<<24è
+
+       )
+
+91 \ 1
+       #MS_NOSEC
+ (1<<28)
+
+       )
+
+92 \ 1
+       #MS_BORN
+ (1<<29)
+
+       )
+
+93 \ 1
+       #MS_ACTIVE
+ (1<<30)
+
+       )
+
+94 \ 1
+       #MS_NOUSER
+ (1<<31)
+
+       )
+
+99 \ 1
+       #MS_RMT_MASK
+ (
+MS_RDONLY
+|
+MS_SYNCHRONOUS
+|
+MS_MANDLOCK
+|
+MS_I_VERSION
+)
+
+       )
+
+104 \ 1
+       #MS_MGC_VAL
+ 0xC0ED0000
+
+       )
+
+105 \ 1
+       #MS_MGC_MSK
+ 0xffff0000
+
+       )
+
+110 \ 1
+       #BLKROSET
+       `_IO
+(0x12,93è
+
+       )
+
+111 \ 1
+       #BLKROGET
+       `_IO
+(0x12,94è
+
+       )
+
+112 \ 1
+       #BLKRRPART
+       `_IO
+(0x12,95è
+
+       )
+
+113 \ 1
+       #BLKGETSIZE
+       `_IO
+(0x12,96è
+
+       )
+
+114 \ 1
+       #BLKFLSBUF
+       `_IO
+(0x12,97è
+
+       )
+
+115 \ 1
+       #BLKRASET
+       `_IO
+(0x12,98è
+
+       )
+
+116 \ 1
+       #BLKRAGET
+       `_IO
+(0x12,99è
+
+       )
+
+117 \ 1
+       #BLKFRASET
+       `_IO
+(0x12,100)
+
+       )
+
+118 \ 1
+       #BLKFRAGET
+       `_IO
+(0x12,101)
+
+       )
+
+119 \ 1
+       #BLKSECTSET
+       `_IO
+(0x12,102)
+
+       )
+
+120 \ 1
+       #BLKSECTGET
+       `_IO
+(0x12,103)
+
+       )
+
+121 \ 1
+       #BLKSSZGET
+       `_IO
+(0x12,104)
+
+       )
+
+123 \ 1
+       #BLKPG
+       `_IO
+(0x12,105)
+
+       )
+
+127 \ 1
+       #BLKELVGET
+       `_IOR
+(0x12,106,
+size_t
+)
+
+       )
+
+128 \ 1
+       #BLKELVSET
+       `_IOW
+(0x12,107,
+size_t
+)
+
+       )
+
+133 \ 1
+       #BLKBSZGET
+       `_IOR
+(0x12,112,
+size_t
+)
+
+       )
+
+134 \ 1
+       #BLKBSZSET
+       `_IOW
+(0x12,113,
+size_t
+)
+
+       )
+
+135 \ 1
+       #BLKGETSIZE64
+       `_IOR
+(0x12,114,
+size_t
+
+       )
+
+136 \ 1
+       #BLKTRACESETUP
+       `_IOWR
+(0x12,115,\19
+blk_u£r_\8caû_£tup
+)
+
+       )
+
+137 \ 1
+       #BLKTRACESTART
+       `_IO
+(0x12,116)
+
+       )
+
+138 \ 1
+       #BLKTRACESTOP
+       `_IO
+(0x12,117)
+
+       )
+
+139 \ 1
+       #BLKTRACETEARDOWN
+       `_IO
+(0x12,118)
+
+       )
+
+140 \ 1
+       #BLKDISCARD
+       `_IO
+(0x12,119)
+
+       )
+
+141 \ 1
+       #BLKIOMIN
+       `_IO
+(0x12,120)
+
+       )
+
+142 \ 1
+       #BLKIOOPT
+       `_IO
+(0x12,121)
+
+       )
+
+143 \ 1
+       #BLKALIGNOFF
+       `_IO
+(0x12,122)
+
+       )
+
+144 \ 1
+       #BLKPBSZGET
+       `_IO
+(0x12,123)
+
+       )
+
+145 \ 1
+       #BLKDISCARDZEROES
+       `_IO
+(0x12,124)
+
+       )
+
+146 \ 1
+       #BLKSECDISCARD
+       `_IO
+(0x12,125)
+
+       )
+
+147 \ 1
+       #BLKROTATIONAL
+       `_IO
+(0x12,126)
+
+       )
+
+148 \ 1
+       #BLKZEROOUT
+       `_IO
+(0x12,127)
+
+       )
+
+150 \ 1
+       #BMAP_IOCTL
+ 1
+
+       )
+
+151 \ 1
+       #FIBMAP
+       `_IO
+(0x00,1è
+
+       )
+
+152 \ 1
+       #FIGETBSZ
+       `_IO
+(0x00,2è
+
+       )
+
+153 \ 1
+       #FIFREEZE
+       `_IOWR
+('X', 119, \12è
+
+       )
+
+154 \ 1
+       #FITHAW
+       `_IOWR
+('X', 120, \12è
+
+       )
+
+155 \ 1
+       #FITRIM
+       `_IOWR
+('X', 121, \19
+f¡rim_¿nge
+
+       )
+
+157 \ 1
+       #FS_IOC_GETFLAGS
+       `_IOR
+('f', 1, \13)
+
+       )
+
+158 \ 1
+       #FS_IOC_SETFLAGS
+       `_IOW
+('f', 2, \13)
+
+       )
+
+159 \ 1
+       #FS_IOC_GETVERSION
+       `_IOR
+('v', 1, \13)
+
+       )
+
+160 \ 1
+       #FS_IOC_SETVERSION
+       `_IOW
+('v', 2, \13)
+
+       )
+
+161 \ 1
+       #FS_IOC_FIEMAP
+       `_IOWR
+('f', 11, \19
+f\9b
+)
+
+       )
+
+162 \ 1
+       #FS_IOC32_GETFLAGS
+       `_IOR
+('f', 1, \12)
+
+       )
+
+163 \ 1
+       #FS_IOC32_SETFLAGS
+       `_IOW
+('f', 2, \12)
+
+       )
+
+164 \ 1
+       #FS_IOC32_GETVERSION
+       `_IOR
+('v', 1, \12)
+
+       )
+
+165 \ 1
+       #FS_IOC32_SETVERSION
+       `_IOW
+('v', 2, \12)
+
+       )
+
+170 \ 1
+       #FS_SECRM_FL
+ 0x00000001
+
+       )
+
+171 \ 1
+       #FS_UNRM_FL
+ 0x00000002
+
+       )
+
+172 \ 1
+       #FS_COMPR_FL
+ 0x00000004
+
+       )
+
+173 \ 1
+       #FS_SYNC_FL
+ 0x00000008
+
+       )
+
+174 \ 1
+       #FS_IMMUTABLE_FL
+ 0x00000010
+
+       )
+
+175 \ 1
+       #FS_APPEND_FL
+ 0x00000020
+
+       )
+
+176 \ 1
+       #FS_NODUMP_FL
+ 0x00000040
+
+       )
+
+177 \ 1
+       #FS_NOATIME_FL
+ 0x00000080
+
+       )
+
+179 \ 1
+       #FS_DIRTY_FL
+ 0x00000100
+
+       )
+
+180 \ 1
+       #FS_COMPRBLK_FL
+ 0x00000200
+
+       )
+
+181 \ 1
+       #FS_NOCOMP_FL
+ 0x00000400
+
+       )
+
+182 \ 1
+       #FS_ECOMPR_FL
+ 0x00000800
+
+       )
+
+184 \ 1
+       #FS_BTREE_FL
+ 0x00001000
+
+       )
+
+185 \ 1
+       #FS_INDEX_FL
+ 0x00001000
+
+       )
+
+186 \ 1
+       #FS_IMAGIC_FL
+ 0x00002000
+
+       )
+
+187 \ 1
+       #FS_JOURNAL_DATA_FL
+ 0x00004000
+
+       )
+
+188 \ 1
+       #FS_NOTAIL_FL
+ 0x00008000
+
+       )
+
+189 \ 1
+       #FS_DIRSYNC_FL
+ 0x00010000
+
+       )
+
+190 \ 1
+       #FS_TOPDIR_FL
+ 0x00020000
+
+       )
+
+191 \ 1
+       #FS_EXTENT_FL
+ 0x00080000
+
+       )
+
+192 \ 1
+       #FS_DIRECTIO_FL
+ 0x00100000
+
+       )
+
+193 \ 1
+       #FS_NOCOW_FL
+ 0x00800000
+
+       )
+
+194 \ 1
+       #FS_RESERVED_FL
+ 0x80000000
+
+       )
+
+196 \ 1
+       #FS_FL_USER_VISIBLE
+ 0x0003DFFF
+
+       )
+
+197 \ 1
+       #FS_FL_USER_MODIFIABLE
+ 0x000380FF
+
+       )
+
+200 \ 1
+       #SYNC_FILE_RANGE_WAIT_BEFORE
+ 1
+
+       )
+
+201 \ 1
+       #SYNC_FILE_RANGE_WRITE
+ 2
+
+       )
+
+202 \ 1
+       #SYNC_FILE_RANGE_WAIT_AFTER
+ 4
+
+       )
+
+       @/usr/include/linux/unistd.h
+
+1 #iâdeà
+_LINUX_UNISTD_H_
+
+
+2 \ 1
+       #_LINUX_UNISTD_H_
+
+
+       )
+
+7 \ 2
+       ~<asm/uni¡d.h
+>
+
+       @/usr/include/malloc.h
+
+19 #iâdeà
+_MALLOC_H
+
+
+20 \ 1
+       #_MALLOC_H
+ 1
+
+       )
+
+22 \ 2
+       ~<ã©u»s.h
+>
+
+23 \ 2
+       ~<¡ddef.h
+>
+
+24 \ 2
+       ~<¡dio.h
+>
+
+26 #ifdeà
+_LIBC
+
+
+27 \ 1
+       #__MALLOC_HOOK_VOLATILE
+
+
+       )
+
+28 \ 1
+       #__MALLOC_DEPRECATED
+
+
+       )
+
+30 \ 1
+       #__MALLOC_HOOK_VOLATILE
+ vÞ©\9ee
+
+       )
+
+31 \ 1
+       #__MALLOC_DEPRECATED
+__©\8cibu\8b_d\95»ÿ\8bd__
+
+
+       )
+
+35 
+__BEGIN_DECLS
+
+
+38 \r\1e*
+       $m®loc
+ (
+size_t
+__size
+__THROW
+__©\8cibu\8b_m®loc__
+__wur
+;
+
+41 \r\1e*
+       $ÿÎoc
+ (
+size_t
+__nmemb
+, size_\88
+__size
+)
+
+42 
+__THROW
+__©\8cibu\8b_m®loc__
+__wur
+;
+
+49 \r\1e*
+       $»®loc
+ (\1e*
+__±r
+, 
+size_t
+__size
+)
+
+50 
+__THROW
+__©\8cibu\8b_w¬n_unu£d_»suÉ__
+;
+
+53 \r\1e
+       $ä\93
+ (\1e*
+__±r
+__THROW
+;
+
+56 \r\1e
+       $cä\93
+ (\1e*
+__±r
+__THROW
+;
+
+59 \r\1e*
+       $mem®ign
+ (
+size_t
+__®ignm\92t
+, size_\88
+__size
+)
+
+60 
+__THROW
+__©\8cibu\8b_m®loc__
+__wur
+;
+
+63 \r\1e*
+       $v®loc
+ (
+size_t
+__size
+__THROW
+__©\8cibu\8b_m®loc__
+__wur
+;
+
+67 \r\1e*
+       $pv®loc
+ (
+size_t
+__size
+__THROW
+__©\8cibu\8b_m®loc__
+__wur
+;
+
+71 \r\1e*(*
+__mÜecÜe
+è(
+±rdiff_t
+__size
+);
+
+74 \r\1e*
+       $__deçuÉ_mÜecÜe
+ (
+±rdiff_t
+__size
+)
+
+75 
+__THROW
+__©\8cibu\8b_m®loc__
+;
+
+79 \19
+       sm®l\9afo
+
+
+81 \12
\92a
+;
+
+82 \12
+Üdblks
+;
+
+83 \12
+smblks
+;
+
+84 \12
+hblks
+;
+
+85 \12
+hblkhd
+;
+
+86 \12
+usmblks
+;
+
+87 \12
+fsmblks
+;
+
+88 \12
+uÜdblks
+;
+
+89 \12
+fÜdblks
+;
+
+90 \12
+k\93pco¡
+;
+
+94 \r\19
+m®l\9afo
+       $m®l\9afo
+ (\1eè
+__THROW
+;
+
+97 #iâdeà
+M_MXFAST
+
+
+98 \ 1
+       #M_MXFAST
+ 1
+
+       )
+
+100 #iâdeà
+M_NLBLKS
+
+
+101 \ 1
+       #M_NLBLKS
+ 2
+
+       )
+
+103 #iâdeà
+M_GRAIN
+
+
+104 \ 1
+       #M_GRAIN
+ 3
+
+       )
+
+106 #iâdeà
+M_KEEP
+
+
+107 \ 1
+       #M_KEEP
+ 4
+
+       )
+
+111 \ 1
+       #M_TRIM_THRESHOLD
+ -1
+
+       )
+
+112 \ 1
+       #M_TOP_PAD
+ -2
+
+       )
+
+113 \ 1
+       #M_MMAP_THRESHOLD
+ -3
+
+       )
+
+114 \ 1
+       #M_MMAP_MAX
+ -4
+
+       )
+
+115 \ 1
+       #M_CHECK_ACTION
+ -5
+
+       )
+
+116 \ 1
+       #M_PERTURB
+ -6
+
+       )
+
+117 \ 1
+       #M_ARENA_TEST
+ -7
+
+       )
+
+118 \ 1
+       #M_ARENA_MAX
+ -8
+
+       )
+
+121 \r\12
+       $m®lÝt
+ (\12
+__·¿m
+, \12
+__v®
+__THROW
+;
+
+125 \r\12
+       $m®loc_\8cim
+ (
+size_t
+__·d
+__THROW
+;
+
+129 \r
+size_t
+       $m®loc_u§bË_size
+ (\1e*
+__±r
+__THROW
+;
+
+132 \r\1e
+       $m®loc_¡©s
+ (\1eè
+__THROW
+;
+
+135 \r\12
+       $m®loc_\9afo
+ (\12
+__ÝtiÚs
+, 
+FILE
+ *
+__å
+__THROW
+;
+
+138 \r\1e*
+       $m®loc_g\91_¡©e
+ (\1eè
+__THROW
+;
+
+142 \r\12
+       $m®loc_£t_¡©e
+ (\1e*
+__±r
+__THROW
+;
+
+147 \r\1e(*
+__MALLOC_HOOK_VOLATILE
+__m®loc_\9a\99\9flize_hook
+) (\1e)
+
+148 
+__MALLOC_DEPRECATED
+;
+
+150 \r\1e(*
+__MALLOC_HOOK_VOLATILE
+__ä\93_hook
+è(\1e*
+__±r
+,
+
+152 
+__MALLOC_DEPRECATED
+;
+
+153 \r\1e*(*
+__MALLOC_HOOK_VOLATILE
+__m®loc_hook
+)(
+size_t
+__size
+,
+
+155 
+__MALLOC_DEPRECATED
+;
+
+156 \r\1e*(*
+__MALLOC_HOOK_VOLATILE
+__»®loc_hook
+)(\1e*
+__±r
+,
+
+157 
+size_t
+__size
+,
+
+159 
+__MALLOC_DEPRECATED
+;
+
+160 \r\1e*(*
+__MALLOC_HOOK_VOLATILE
+__mem®ign_hook
+)(
+size_t
+__®ignm\92t
+,
+
+161 
+size_t
+__size
+,
+
+163 
+__MALLOC_DEPRECATED
+;
+
+164 \r\1e(*
+__MALLOC_HOOK_VOLATILE
+__aá\94_mÜecÜe_hook
+) (\1e);
+
+167 \r\1e
+       $__m®loc_check_\9a\99
+ (\1eè
+__THROW
+__MALLOC_DEPRECATED
+;
+
+170 
+__END_DECLS
+
+
+       @/usr/include/pthread.h
+
+18 #iâdeà
+_PTHREAD_H
+
+
+19 \ 1
+       #_PTHREAD_H
+ 1
+
+       )
+
+21 \ 2
+       ~<ã©u»s.h
+>
+
+22 \ 2
+       ~<\92d\9fn.h
+>
+
+23 \ 2
+       ~<sched.h
+>
+
+24 \ 2
+       ~<time.h
+>
+
+26 \ 2
+       ~<b\99s/±h»adty³s.h
+>
+
+27 \ 2
+       ~<b\99s/£tjmp.h
+>
+
+28 \ 2
+       ~<b\99s/wÜdsize.h
+>
+
+34 
+       mPTHREAD_CREATE_JOINABLE
+,
+
+35 \ 1
+       #PTHREAD_CREATE_JOINABLE
+PTHREAD_CREATE_JOINABLE
+
+
+       )
+
+36 
+       mPTHREAD_CREATE_DETACHED
+
+
+37 \ 1
+       #PTHREAD_CREATE_DETACHED
+PTHREAD_CREATE_DETACHED
+
+
+       )
+
+44 
+       mPTHREAD_MUTEX_TIMED_NP
+,
+
+45 
+       mPTHREAD_MUTEX_RECURSIVE_NP
+,
+
+46 
+       mPTHREAD_MUTEX_ERRORCHECK_NP
+,
+
+47 
+       mPTHREAD_MUTEX_ADAPTIVE_NP
+
+
+48 #ià
+def\9aed
+__USE_UNIX98
+ || def\9aed 
+__USE_XOPEN2K8
+
+
+50 
+       mPTHREAD_MUTEX_NORMAL
+ = 
+PTHREAD_MUTEX_TIMED_NP
+,
+
+51 
+       mPTHREAD_MUTEX_RECURSIVE
+ = 
+PTHREAD_MUTEX_RECURSIVE_NP
+,
+
+52 
+       mPTHREAD_MUTEX_ERRORCHECK
+ = 
+PTHREAD_MUTEX_ERRORCHECK_NP
+,
+
+53 
+       mPTHREAD_MUTEX_DEFAULT
+ = 
+PTHREAD_MUTEX_NORMAL
+
+
+55 #ifdeà
+__USE_GNU
+
+
+57 , 
+       mPTHREAD_MUTEX_FAST_NP
+ = 
+PTHREAD_MUTEX_TIMED_NP
+
+
+62 #ifdeà
+__USE_XOPEN2K
+
+
+66 
+       mPTHREAD_MUTEX_STALLED
+,
+
+67 
+       mPTHREAD_MUTEX_STALLED_NP
+ = 
+PTHREAD_MUTEX_STALLED
+,
+
+68 
+       mPTHREAD_MUTEX_ROBUST
+,
+
+69 
+       mPTHREAD_MUTEX_ROBUST_NP
+ = 
+PTHREAD_MUTEX_ROBUST
+
+
+74 #ià
+def\9aed
+__USE_POSIX199506
+ || def\9aed 
+__USE_UNIX98
+
+
+78 
+       mPTHREAD_PRIO_NONE
+,
+
+79 
+       mPTHREAD_PRIO_INHERIT
+,
+
+80 
+       mPTHREAD_PRIO_PROTECT
+
+
+86 #ià
+__PTHREAD_MUTEX_HAVE_ELISION
+ == 1
+
+87 \ 1
+       #__PTHREAD_SPINS
+ 0, 0
+
+       )
+
+88 #\96
+__PTHREAD_MUTEX_HAVE_ELISION
+ == 2
+
+89 \ 1
+       #__PTHREAD_SPINS
+ { 0, 0 }
+
+       )
+
+91 \ 1
+       #__PTHREAD_SPINS
+ 0
+
+       )
+
+94 #ifdeà
+__PTHREAD_MUTEX_HAVE_PREV
+
+
+95 \ 1
+       #PTHREAD_MUTEX_INITIALIZER
+ \
+
+96 { { 0, 0, 0, 0, 0, 
+__PTHREAD_SPINS
+, { 0, 0 } } }
+
+       )
+
+97 #ifdeà
+__USE_GNU
+
+
+98 \ 1
+       #PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP
+ \
+
+99 { { 0, 0, 0, 0, 
+PTHREAD_MUTEX_RECURSIVE_NP
+, 
+__PTHREAD_SPINS
+, { 0, 0 } } }
+
+       )
+
+100 \ 1
+       #PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP
+ \
+
+101 { { 0, 0, 0, 0, 
+PTHREAD_MUTEX_ERRORCHECK_NP
+, 
+__PTHREAD_SPINS
+, { 0, 0 } } }
+
+       )
+
+102 \ 1
+       #PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP
+ \
+
+103 { { 0, 0, 0, 0, 
+PTHREAD_MUTEX_ADAPTIVE_NP
+, 
+__PTHREAD_SPINS
+, { 0, 0 } } }
+
+       )
+
+104 \ 1
+       #PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP
+ \
+
+105 { { 0, 0, 0, 0, 
+PTHREAD_MUTEX_ADAPTIVE_NP
+, 
+__PTHREAD_SPINS
+, { 0, 0 } } }
+
+       )
+
+109 \ 1
+       #PTHREAD_MUTEX_INITIALIZER
+ \
+
+110 { { 0, 0, 0, 0, 0, { 
+__PTHREAD_SPINS
+ } } }
+
+       )
+
+111 #ifdeà
+__USE_GNU
+
+
+112 \ 1
+       #PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP
+ \
+
+113 { { 0, 0, 0, 
+PTHREAD_MUTEX_RECURSIVE_NP
+, 0, { 
+__PTHREAD_SPINS
+ } } }
+
+       )
+
+114 \ 1
+       #PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP
+ \
+
+115 { { 0, 0, 0, 
+PTHREAD_MUTEX_ERRORCHECK_NP
+, 0, { 
+__PTHREAD_SPINS
+ } } }
+
+       )
+
+116 \ 1
+       #PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP
+ \
+
+117 { { 0, 0, 0, 
+PTHREAD_MUTEX_ADAPTIVE_NP
+, 0, { 
+__PTHREAD_SPINS
+ } } }
+
+       )
+
+124 #ià
+def\9aed
+__USE_UNIX98
+ || def\9aed 
+__USE_XOPEN2K
+
+
+127 
+       mPTHREAD_RWLOCK_PREFER_READER_NP
+,
+
+128 
+       mPTHREAD_RWLOCK_PREFER_WRITER_NP
+,
+
+129 
+       mPTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP
+,
+
+130 
+       mPTHREAD_RWLOCK_DEFAULT_NP
+ = 
+PTHREAD_RWLOCK_PREFER_READER_NP
+
+
+136 #iâdeà
+__PTHREAD_RWLOCK_INT_FLAGS_SHARED
+
+
+137 #ià
+__WORDSIZE
+ == 64
+
+138 \ 1
+       #__PTHREAD_RWLOCK_INT_FLAGS_SHARED
+ 1
+
+       )
+
+143 \ 1
+       #PTHREAD_RWLOCK_INITIALIZER
+ \
+
+144 { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+
+       )
+
+145 #ifdeà
+__USE_GNU
+
+
+146 #ifdeà
+__PTHREAD_RWLOCK_INT_FLAGS_SHARED
+
+
+147 \ 1
+       #PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP
+ \
+
+149 
+PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP
+ } }
+
+       )
+
+151 #ià
+__BYTE_ORDER
+ =ð
+__LITTLE_ENDIAN
+
+
+152 \ 1
+       #PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP
+ \
+
+153 { { 0, 0, 0, 0, 0, 0, 
+PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP
+, \
+
+154 0, 0, 0, 0 } }
+
+       )
+
+156 \ 1
+       #PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP
+ \
+
+157 { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP
+,\
+
+158 0 } }
+
+       )
+
+168 
+       mPTHREAD_INHERIT_SCHED
+,
+
+169 \ 1
+       #PTHREAD_INHERIT_SCHED
+PTHREAD_INHERIT_SCHED
+
+
+       )
+
+170 
+       mPTHREAD_EXPLICIT_SCHED
+
+
+171 \ 1
+       #PTHREAD_EXPLICIT_SCHED
+PTHREAD_EXPLICIT_SCHED
+
+
+       )
+
+178 
+       mPTHREAD_SCOPE_SYSTEM
+,
+
+179 \ 1
+       #PTHREAD_SCOPE_SYSTEM
+PTHREAD_SCOPE_SYSTEM
+
+
+       )
+
+180 
+       mPTHREAD_SCOPE_PROCESS
+
+
+181 \ 1
+       #PTHREAD_SCOPE_PROCESS
+PTHREAD_SCOPE_PROCESS
+
+
+       )
+
+188 
+       mPTHREAD_PROCESS_PRIVATE
+,
+
+189 \ 1
+       #PTHREAD_PROCESS_PRIVATE
+PTHREAD_PROCESS_PRIVATE
+
+
+       )
+
+190 
+       mPTHREAD_PROCESS_SHARED
+
+
+191 \ 1
+       #PTHREAD_PROCESS_SHARED
+PTHREAD_PROCESS_SHARED
+
+
+       )
+
+197 \ 1
+       #PTHREAD_COND_INITIALIZER
+ { { 0, 0, 0, 0, 0, (\1e*è0, 0, 0 } }
+
+       )
+
+201 \19
+       s_±h»ad_þ\97nup_bufãr
+
+
+203 \1e(*
+       m__rout\9ae
+) (\1e*);
+
+204 \1e*
+       m__¬g
+;
+
+205 \12
+       m__ÿnûÉy³
+;
+
+206 \19
+_±h»ad_þ\97nup_bufãr
+ *
+       m__´ev
+;
+
+212 
+       mPTHREAD_CANCEL_ENABLE
+,
+
+213 \ 1
+       #PTHREAD_CANCEL_ENABLE
+PTHREAD_CANCEL_ENABLE
+
+
+       )
+
+214 
+       mPTHREAD_CANCEL_DISABLE
+
+
+215 \ 1
+       #PTHREAD_CANCEL_DISABLE
+PTHREAD_CANCEL_DISABLE
+
+
+       )
+
+219 
+       mPTHREAD_CANCEL_DEFERRED
+,
+
+220 \ 1
+       #PTHREAD_CANCEL_DEFERRED
+PTHREAD_CANCEL_DEFERRED
+
+
+       )
+
+221 
+       mPTHREAD_CANCEL_ASYNCHRONOUS
+
+
+222 \ 1
+       #PTHREAD_CANCEL_ASYNCHRONOUS
+PTHREAD_CANCEL_ASYNCHRONOUS
+
+
+       )
+
+224 \ 1
+       #PTHREAD_CANCELED
+ ((\1e*è-1)
+
+       )
+
+228 \ 1
+       #PTHREAD_ONCE_INIT
+ 0
+
+       )
+
+231 #ifdeà
+__USE_XOPEN2K
+
+
+235 \ 1
+       #PTHREAD_BARRIER_SERIAL_THREAD
+ -1
+
+       )
+
+239 
+__BEGIN_DECLS
+
+
+244 \r\12
+±h»ad_ü\97\8b
+ (
+±h»ad_t
+ *
+__»¡riù
+__Ãwth»ad
+,
+
+245 cڡ 
+±h»ad_©\8c_t
+ *
+__»¡riù
+__©\8c
+,
+
+246 \1e*(*
+__¡¬t_rout\9ae
+) (\1e*),
+
+247 \1e*
+__»¡riù
+__¬g
+__THROWNL
+__nÚnuÎ
+ ((1, 3));
+
+253 \r\1e
+       $±h»ad_ex\99
+ (\1e*
+__»tv®
+       `__©\8cibu\8b__
+ ((
+__nÜ\91uº__
+));
+
+261 \r\12
+       `±h»ad_jo\9a
+ (
+±h»ad_t
+__th
+, \1e**
+__th»ad_»tuº
+);
+
+263 #ifdeà
+__USE_GNU
+
+
+266 \r\12
+       $±h»ad_\8cyjo\9a
+ (
+±h»ad_t
+__th
+, \1e**
+__th»ad_»tuº
+__THROW
+;
+
+274 \r\12
+       `±h»ad_timedjo\9a
+ (
+±h»ad_t
+__th
+, \1e**
+__th»ad_»tuº
+,
+
+275 cڡ \19
+time¥ec
+ *
+__ab¡ime
+);
+
+282 \r\12
+       $±h»ad_d\91ach
+ (
+±h»ad_t
+__th
+__THROW
+;
+
+286 \r
+±h»ad_t
+       $±h»ad_£lf
+ (\1eè
+__THROW
+       `__©\8cibu\8b__
+ ((
+__cڡ__
+));
+
+289 \r\12
+       $±h»ad_equ®
+ (
+±h»ad_t
+__th»ad1
+,\85th»ad_\88
+__th»ad2
+)
+
+290 
+__THROW
+       `__©\8cibu\8b__
+ ((
+__cڡ__
+));
+
+298 \r\12
+       $±h»ad_©\8c_\9a\99
+ (
+±h»ad_©\8c_t
+ *
+__©\8c
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+301 \r\12
+       $±h»ad_©\8c_de¡roy
+ (
+±h»ad_©\8c_t
+ *
+__©\8c
+)
+
+302 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+305 \r\12
+       $±h»ad_©\8c_g\91d\91ach¡©e
+ (cڡ 
+±h»ad_©\8c_t
+ *
+__©\8c
+,
+
+306 \12*
+__d\91ach¡©e
+)
+
+307 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+310 \r\12
+       $±h»ad_©\8c_£td\91ach¡©e
+ (
+±h»ad_©\8c_t
+ *
+__©\8c
+,
+
+311 \12
+__d\91ach¡©e
+)
+
+312 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+316 \r\12
+       $±h»ad_©\8c_g\91gu¬dsize
+ (cڡ 
+±h»ad_©\8c_t
+ *
+__©\8c
+,
+
+317 
+size_t
+ *
+__gu¬dsize
+)
+
+318 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+321 \r\12
+       $±h»ad_©\8c_£tgu¬dsize
+ (
+±h»ad_©\8c_t
+ *
+__©\8c
+,
+
+322 
+size_t
+__gu¬dsize
+)
+
+323 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+327 \r\12
+       $±h»ad_©\8c_g\91sched·¿m
+ (cڡ 
+±h»ad_©\8c_t
+ *
+__»¡riù
+__©\8c
+,
+
+328 \19
+sched_·¿m
+ *
+__»¡riù
+__·¿m
+)
+
+329 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+332 \r\12
+       $±h»ad_©\8c_£tsched·¿m
+ (
+±h»ad_©\8c_t
+ *
+__»¡riù
+__©\8c
+,
+
+333 cڡ \19
+sched_·¿m
+ *
+__»¡riù
+
+
+334 
+__·¿m
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+337 \r\12
+       $±h»ad_©\8c_g\91schedpÞicy
+ (cڡ 
+±h»ad_©\8c_t
+ *
+__»¡riù
+
+
+338 
+__©\8c
+, \12*
+__»¡riù
+__pÞicy
+)
+
+339 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+342 \r\12
+       $±h»ad_©\8c_£tschedpÞicy
+ (
+±h»ad_©\8c_t
+ *
+__©\8c
+, \12
+__pÞicy
+)
+
+343 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+346 \r\12
+       $±h»ad_©\8c_g\91\9ah\94\99sched
+ (cڡ 
+±h»ad_©\8c_t
+ *
+__»¡riù
+
+
+347 
+__©\8c
+, \12*
+__»¡riù
+__\9ah\94\99
+)
+
+348 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+351 \r\12
+       $±h»ad_©\8c_£t\9ah\94\99sched
+ (
+±h»ad_©\8c_t
+ *
+__©\8c
+,
+
+352 \12
+__\9ah\94\99
+)
+
+353 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+357 \r\12
+       $±h»ad_©\8c_g\91scÝe
+ (cڡ 
+±h»ad_©\8c_t
+ *
+__»¡riù
+__©\8c
+,
+
+358 \12*
+__»¡riù
+__scÝe
+)
+
+359 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+362 \r\12
+       $±h»ad_©\8c_£tscÝe
+ (
+±h»ad_©\8c_t
+ *
+__©\8c
+, \12
+__scÝe
+)
+
+363 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+366 \r\12
+       $±h»ad_©\8c_g\91¡ackaddr
+ (cڡ 
+±h»ad_©\8c_t
+ *
+__»¡riù
+
+
+367 
+__©\8c
+, \1e**
+__»¡riù
+__¡ackaddr
+)
+
+368 
+__THROW
+       `__nÚnuÎ
+ ((1, 2)è
+__©\8cibu\8b_d\95»ÿ\8bd__
+;
+
+374 \r\12
+       $±h»ad_©\8c_£t¡ackaddr
+ (
+±h»ad_©\8c_t
+ *
+__©\8c
+,
+
+375 \1e*
+__¡ackaddr
+)
+
+376 
+__THROW
+       `__nÚnuÎ
+ ((1)è
+__©\8cibu\8b_d\95»ÿ\8bd__
+;
+
+379 \r\12
+       $±h»ad_©\8c_g\91¡acksize
+ (cڡ 
+±h»ad_©\8c_t
+ *
+__»¡riù
+
+
+380 
+__©\8c
+, 
+size_t
+ *
+__»¡riù
+__¡acksize
+)
+
+381 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+386 \r\12
+       $±h»ad_©\8c_£t¡acksize
+ (
+±h»ad_©\8c_t
+ *
+__©\8c
+,
+
+387 
+size_t
+__¡acksize
+)
+
+388 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+390 #ifdeà
+__USE_XOPEN2K
+
+
+392 \r\12
+       $±h»ad_©\8c_g\91¡ack
+ (cڡ 
+±h»ad_©\8c_t
+ *
+__»¡riù
+__©\8c
+,
+
+393 \1e**
+__»¡riù
+__¡ackaddr
+,
+
+394 
+size_t
+ *
+__»¡riù
+__¡acksize
+)
+
+395 
+__THROW
+       `__nÚnuÎ
+ ((1, 2, 3));
+
+400 \r\12
+       $±h»ad_©\8c_£t¡ack
+ (
+±h»ad_©\8c_t
+ *
+__©\8c
+, \1e*
+__¡ackaddr
+,
+
+401 
+size_t
+__¡acksize
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+404 #ifdeà
+__USE_GNU
+
+
+407 \r\12
+       $±h»ad_©\8c\8fff\9a\99y_Å
+ (
+±h»ad_©\8c_t
+ *
+__©\8c
+,
+
+408 
+size_t
+__ýu£tsize
+,
+
+409 cڡ 
+ýu_£t_t
+ *
+__ýu£t
+)
+
+410 
+__THROW
+       `__nÚnuÎ
+ ((1, 3));
+
+414 \r\12
+       $±h»ad_©\8c_g\91aff\9a\99y_Å
+ (cڡ 
+±h»ad_©\8c_t
+ *
+__©\8c
+,
+
+415 
+size_t
+__ýu£tsize
+,
+
+416 
+ýu_£t_t
+ *
+__ýu£t
+)
+
+417 
+__THROW
+       `__nÚnuÎ
+ ((1, 3));
+
+420 \r\12
+       $±h»ad_g\91©\8c_deçuÉ_Å
+ (
+±h»ad_©\8c_t
+ *
+__©\8c
+)
+
+421 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+425 \r\12
+       $±h»ad_£\8f\89r_deçuÉ_Å
+ (cڡ 
+±h»ad_©\8c_t
+ *
+__©\8c
+)
+
+426 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+431 \r\12
+       $±h»ad_g\91©\8c
+ (
+±h»ad_t
+__th
+, 
+±h»ad_©\8c_t
+ *
+__©\8c
+)
+
+432 
+__THROW
+       `__nÚnuÎ
+ ((2));
+
+440 \r\12
+       $±h»ad_£tsched·¿m
+ (
+±h»ad_t
+__\8frg\91_th»ad
+, \12
+__pÞicy
+,
+
+441 cڡ \19
+sched_·¿m
+ *
+__·¿m
+)
+
+442 
+__THROW
+       `__nÚnuÎ
+ ((3));
+
+445 \r\12
+       $±h»ad_g\91sched·¿m
+ (
+±h»ad_t
+__\8frg\91_th»ad
+,
+
+446 \12*
+__»¡riù
+__pÞicy
+,
+
+447 \19
+sched_·¿m
+ *
+__»¡riù
+__·¿m
+)
+
+448 
+__THROW
+       `__nÚnuÎ
+ ((2, 3));
+
+451 \r\12
+       $±h»ad_£tsched´io
+ (
+±h»ad_t
+__\8frg\91_th»ad
+, \12
+__´io
+)
+
+452 
+__THROW
+;
+
+455 #ifdeà
+__USE_GNU
+
+
+457 \r\12
+       $±h»ad_g\91Çme_Å
+ (
+±h»ad_t
+__\8frg\91_th»ad
+, \ 5*
+__buf
+,
+
+458 
+size_t
+__buæ\92
+)
+
+459 
+__THROW
+       `__nÚnuÎ
+ ((2));
+
+462 \r\12
+       $±h»ad_£\8aame_Å
+ (
+±h»ad_t
+__\8frg\91_th»ad
+, cڡ \ 5*
+__Çme
+)
+
+463 
+__THROW
+       `__nÚnuÎ
+ ((2));
+
+467 #ifdeà
+__USE_UNIX98
+
+
+469 \r\12
+       $±h»ad_g\91cÚcu¼\92cy
+ (\1eè
+__THROW
+;
+
+472 \r\12
+       $±h»ad_£tcÚcu¼\92cy
+ (\12
+__Ëv\96
+__THROW
+;
+
+475 #ifdeà
+__USE_GNU
+
+
+480 \r\12
+       $±h»ad_y\9bld
+ (\1eè
+__THROW
+;
+
+485 \r\12
+       $±h»ad_£\8fff\9a\99y_Å
+ (
+±h»ad_t
+__th
+, 
+size_t
+__ýu£tsize
+,
+
+486 cڡ 
+ýu_£t_t
+ *
+__ýu£t
+)
+
+487 
+__THROW
+       `__nÚnuÎ
+ ((3));
+
+490 \r\12
+       $±h»ad_g\91aff\9a\99y_Å
+ (
+±h»ad_t
+__th
+, 
+size_t
+__ýu£tsize
+,
+
+491 
+ýu_£t_t
+ *
+__ýu£t
+)
+
+492 
+__THROW
+       `__nÚnuÎ
+ ((3));
+
+505 \r\12
+       `±h»ad_Úû
+ (
+±h»ad_Úû_t
+ *
+__Úû_cÚ\8cÞ
+,
+
+506 \1e(*
+__\9a\99_rout\9ae
+è(\1e
+       `__nÚnuÎ
+ ((1, 2));
+
+517 \r\12
+       `±h»ad_£tÿnûl¡©e
+ (\12
+__¡©e
+, \12*
+__Þd¡©e
+);
+
+521 \r\12
+       `±h»ad_£tÿnûÉy³
+ (\12
+__ty³
+, \12*
+__Þdty³
+);
+
+524 \r\12
+       `±h»ad_ÿnûl
+ (
+±h»ad_t
+__th
+);
+
+529 \r\1e
+       `±h»ad_\8b¡ÿnûl
+ (\1e);
+
+538 
+__jmp_buf
+__ÿnûl_jmp_buf
+;
+
+539 \12
+__mask_was_§ved
+;
+
+540 } 
+__ÿnûl_jmp_buf
+[1];
+
+541 \1e*
+__·d
+[4];
+
+542 } 
+       t__±h»ad_unw\9ad_buf_t
+       t__©\8cibu\8b__
+ ((
+       t__®igÃd__
+));
+
+545 #iâdeà
+__þ\97nup_fù_©\8cibu\8b
+
+
+546 \ 1
+       #__þ\97nup_fù_©\8cibu\8b
+
+
+       )
+
+551 \19
+       s__±h»ad_þ\97nup_äame
+
+
+553 \1e(*
+__ÿnûl_rout\9ae
+) (\1e*);
+
+554 \1e*
+__ÿnûl_¬g
+;
+
+555 \12
+__do_\99
+;
+
+556 \12
+__ÿnûl_ty³
+;
+
+559 #ià
+def\9aed
+__GNUC__
+ && def\9aed 
+__EXCEPTIONS
+
+
+560 #ifdeà
+__ýlu¥lus
+
+
+562 þas 
+       c__±h»ad_þ\97nup_þass
+
+
+564 \1e(*
+__ÿnûl_rout\9ae
+) (\1e*);
+
+565 \1e*
+__ÿnûl_¬g
+;
+
+566 \12
+__do_\99
+;
+
+567 \12
+__ÿnûl_ty³
+;
+
+569 
+public
+:
+
+570 
+       `__±h»ad_þ\97nup_þass
+ (\1e(*
+__fù
+è(\1e*), \1e*
+__¬g
+)
+
+571 : 
+       `__ÿnûl_rout\9ae
+ (
+__fù
+), 
+       `__ÿnûl_¬g
+ (
+__¬g
+), 
+       $__do_\99
+ (1) { }
+
+572 ~
+       $__±h»ad_þ\97nup_þass
+ (è{ ià(
+__do_\99
+       `__ÿnûl_rout\9ae
+ (
+__ÿnûl_¬g
+); 
+       }
+}
+
+573 \1e
+       $__£tdo\99
+ (\12
+__Ãwv®
+è{ 
+__do_\99
+ = __Ãwv®; 
+       }
+}
+
+574 \1e
+       $__deãr
+ (è{ 
+       `±h»ad_£tÿnûÉy³
+ (
+PTHREAD_CANCEL_DEFERRED
+,
+
+575 &
+__ÿnûl_ty³
+); 
+       }
+}
+
+576 \1e
+       $__»¡Üe
+ (ècÚ¡ { 
+       `±h»ad_£tÿnûÉy³
+ (
+__ÿnûl_ty³
+, 0); 
+       }
+}
+
+586 \ 1
+       #±h»ad_þ\97nup_push
+(
+rout\9ae
+, 
+¬g
+) \
+
+588 
+__±h»ad_þ\97nup_þass
+       `__þäame
+ (
+rout\9ae
+, 
+¬g
+)
+
+       )
+
+592 \ 1
+       #±h»ad_þ\97nup_pÝ
+(
+execu\8b
+) \
+
+593 
+__þäame
+.
+       `__£tdo\99
+ (
+execu\8b
+); \
+
+594 } \1f0)
+
+       )
+
+596 #ifdeà
+__USE_GNU
+
+
+600 \ 1
+       #±h»ad_þ\97nup_push_deãr_Å
+(
+rout\9ae
+, 
+¬g
+) \
+
+602 
+__±h»ad_þ\97nup_þass
+       `__þäame
+ (
+rout\9ae
+, 
+¬g
+); \
+
+603 
+__þäame
+.
+       `__deãr
+ ()
+
+       )
+
+608 \ 1
+       #±h»ad_þ\97nup_pÝ_»¡Üe_Å
+(
+execu\8b
+) \
+
+609 
+__þäame
+.
+       `__»¡Üe
+ (); \
+
+610 
+__þäame
+.
+       `__£tdo\99
+ (
+execu\8b
+); \
+
+611 } \1f0)
+
+       )
+
+618 
+__ex\8bº_\9al\9ae
\1e
+
+619 
+       $__±h»ad_þ\97nup_rout\9ae
+ (\19
+__±h»ad_þ\97nup_äame
+ *
+__äame
+)
+
+621 ià(
+__äame
+->
+__do_\99
+)
+
+622 
+__äame
+->
+       `__ÿnûl_rout\9ae
+ (__äame->
+__ÿnûl_¬g
+);
+
+623 
+       }
+}
+
+632 \ 1
+       #±h»ad_þ\97nup_push
+(
+rout\9ae
+, 
+¬g
+) \
+
+634 \19
+__±h»ad_þ\97nup_äame
+__þäame
+ \
+
+635 
+       `__©\8cibu\8b__
+ ((
+       `__þ\97nup__
+ (
+__±h»ad_þ\97nup_rout\9ae
+))) \
+
+636 ð{ .
+__ÿnûl_rout\9ae
+ = (
+rout\9ae
+), .
+__ÿnûl_¬g
+ = (
+¬g
+), \
+
+637 .
+__do_\99
+ = 1 };
+
+       )
+
+641 \ 1
+       #±h»ad_þ\97nup_pÝ
+(
+execu\8b
+) \
+
+642 
+__þäame
+.
+__do_\99
+ = (
+execu\8b
+); \
+
+643 } \1f0)
+
+       )
+
+645 #ifdeà
+__USE_GNU
+
+
+649 \ 1
+       #±h»ad_þ\97nup_push_deãr_Å
+(
+rout\9ae
+, 
+¬g
+) \
+
+651 \19
+__±h»ad_þ\97nup_äame
+__þäame
+ \
+
+652 
+       `__©\8cibu\8b__
+ ((
+       `__þ\97nup__
+ (
+__±h»ad_þ\97nup_rout\9ae
+))) \
+
+653 ð{ .
+__ÿnûl_rout\9ae
+ = (
+rout\9ae
+), .
+__ÿnûl_¬g
+ = (
+¬g
+), \
+
+654 .
+__do_\99
+ = 1 }; \
+
+655 (\1eè
+       `±h»ad_£tÿnûÉy³
+ (
+PTHREAD_CANCEL_DEFERRED
+, \
+
+656 &
+__þäame
+.
+__ÿnûl_ty³
+)
+
+       )
+
+661 \ 1
+       #±h»ad_þ\97nup_pÝ_»¡Üe_Å
+(
+execu\8b
+) \
+
+662 (\1eè
+       `±h»ad_£tÿnûÉy³
+ (
+__þäame
+.
+__ÿnûl_ty³
+, 
+NULL
+); \
+
+663 
+__þäame
+.
+__do_\99
+ = (
+execu\8b
+); \
+
+664 } \1f0)
+
+       )
+
+675 \ 1
+       #±h»ad_þ\97nup_push
+(
+rout\9ae
+, 
+¬g
+) \
+
+677 
+__±h»ad_unw\9ad_buf_t
+__ÿnûl_buf
+; \
+
+678 \1e(*
+__ÿnûl_rout\9ae
+è(\1e*èð(
+rout\9ae
+); \
+
+679 \1e*
+__ÿnûl_¬g
+ = (
+¬g
+); \
+
+680 \12
+__nÙ_f\9c¡_ÿÎ
+ = 
+       `__sig£tjmp
+ ((\19
+__jmp_buf_\8fg
+ *) (\1e*) \
+
+681 
+__ÿnûl_buf
+.
+__ÿnûl_jmp_buf
+, 0); \
+
+682 ià(
+       `__glibc_uÆik\96y
+ (
+__nÙ_f\9c¡_ÿÎ
+)) \
+
+684 
+       `__ÿnûl_rout\9ae
+ (
+__ÿnûl_¬g
+); \
+
+685 
+       `__±h»ad_unw\9ad_Ãxt
+ (&
+__ÿnûl_buf
+); \
+
+689 
+       `__±h»ad_»gi¡\94_ÿnûl
+ (&
+__ÿnûl_buf
+); \
+
+690 dØ{
+
+       )
+
+691 \r\1e
+__±h»ad_»gi¡\94_ÿnûl
+ (
+__±h»ad_unw\9ad_buf_t
+ *
+__buf
+)
+
+692 
+__þ\97nup_fù_©\8cibu\8b
+;
+
+696 \ 1
+       #±h»ad_þ\97nup_pÝ
+(
+execu\8b
+) \
+
+699 
+       `__±h»ad_uÄegi¡\94_ÿnûl
+ (&
+__ÿnûl_buf
+); \
+
+700 ià(
+execu\8b
+) \
+
+701 
+       `__ÿnûl_rout\9ae
+ (
+__ÿnûl_¬g
+); \
+
+702 } \1f0)
+
+       )
+
+703 \r\1e
+       $__±h»ad_uÄegi¡\94_ÿnûl
+ (
+__±h»ad_unw\9ad_buf_t
+ *
+__buf
+)
+
+704 
+__þ\97nup_fù_©\8cibu\8b
+;
+
+706 #ifdeà
+__USE_GNU
+
+
+710 \ 1
+       #±h»ad_þ\97nup_push_deãr_Å
+(
+rout\9ae
+, 
+¬g
+) \
+
+712 
+__±h»ad_unw\9ad_buf_t
+__ÿnûl_buf
+; \
+
+713 \1e(*
+__ÿnûl_rout\9ae
+è(\1e*èð(
+rout\9ae
+); \
+
+714 \1e*
+__ÿnûl_¬g
+ = (
+¬g
+); \
+
+715 \12
+__nÙ_f\9c¡_ÿÎ
+ = 
+       `__sig£tjmp
+ ((\19
+__jmp_buf_\8fg
+ *) (\1e*) \
+
+716 
+__ÿnûl_buf
+.
+__ÿnûl_jmp_buf
+, 0); \
+
+717 ià(
+       `__glibc_uÆik\96y
+ (
+__nÙ_f\9c¡_ÿÎ
+)) \
+
+719 
+       `__ÿnûl_rout\9ae
+ (
+__ÿnûl_¬g
+); \
+
+720 
+       `__±h»ad_unw\9ad_Ãxt
+ (&
+__ÿnûl_buf
+); \
+
+724 
+       `__±h»ad_»gi¡\94_ÿnûl_deãr
+ (&
+__ÿnûl_buf
+); \
+
+725 dØ{
+
+       )
+
+726 \r\1e
+       `__±h»ad_»gi¡\94_ÿnûl_deãr
+ (
+__±h»ad_unw\9ad_buf_t
+ *
+__buf
+)
+
+727 
+__þ\97nup_fù_©\8cibu\8b
+;
+
+732 \ 1
+       #±h»ad_þ\97nup_pÝ_»¡Üe_Å
+(
+execu\8b
+) \
+
+735 
+       `__±h»ad_uÄegi¡\94_ÿnûl_»¡Üe
+ (&
+__ÿnûl_buf
+); \
+
+736 ià(
+execu\8b
+) \
+
+737 
+       `__ÿnûl_rout\9ae
+ (
+__ÿnûl_¬g
+); \
+
+738 
+       }
+} \1f0)
+
+       )
+
+739 \r\1e
+       $__±h»ad_uÄegi¡\94_ÿnûl_»¡Üe
+ (
+__±h»ad_unw\9ad_buf_t
+ *
+__buf
+)
+
+740 
+__þ\97nup_fù_©\8cibu\8b
+;
+
+744 \r\1e
+       $__±h»ad_unw\9ad_Ãxt
+ (
+__±h»ad_unw\9ad_buf_t
+ *
+__buf
+)
+
+745 
+__þ\97nup_fù_©\8cibu\8b
+       `__©\8cibu\8b__
+ ((
+__nÜ\91uº__
+))
+
+746 #iâdeà
+SHARED
+
+
+747 
+       `__©\8cibu\8b__
+ ((
+__w\97k__
+))
+
+753 \19
+__jmp_buf_\8fg
+;
+
+754 \r\12
+       $__sig£tjmp
+ (\19
+__jmp_buf_\8fg
+ *
+__\92v
+, \12
+__§vemask
+__THROWNL
+;
+
+760 \r\12
+       $±h»ad_mu\8bx_\9a\99
+ (
+±h»ad_mu\8bx_t
+ *
+__mu\8bx
+,
+
+761 cڡ 
+±h»ad_mu\8b\8c_t
+ *
+__mu\8b\8c
+)
+
+762 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+765 \r\12
+       $±h»ad_mu\8bx_de¡roy
+ (
+±h»ad_mu\8bx_t
+ *
+__mu\8bx
+)
+
+766 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+769 \r\12
+       $±h»ad_mu\8bx_\8cylock
+ (
+±h»ad_mu\8bx_t
+ *
+__mu\8bx
+)
+
+770 
+__THROWNL
+       `__nÚnuÎ
+ ((1));
+
+773 \r\12
+       $±h»ad_mu\8bx_lock
+ (
+±h»ad_mu\8bx_t
+ *
+__mu\8bx
+)
+
+774 
+__THROWNL
+       `__nÚnuÎ
+ ((1));
+
+776 #ifdeà
+__USE_XOPEN2K
+
+
+778 \r\12
+       $±h»ad_mu\8bx_timedlock
+ (
+±h»ad_mu\8bx_t
+ *
+__»¡riù
+__mu\8bx
+,
+
+779 cڡ \19
+time¥ec
+ *
+__»¡riù
+
+
+780 
+__ab¡ime
+__THROWNL
+       `__nÚnuÎ
+ ((1, 2));
+
+784 \r\12
+       $±h»ad_mu\8bx_uÆock
+ (
+±h»ad_mu\8bx_t
+ *
+__mu\8bx
+)
+
+785 
+__THROWNL
+       `__nÚnuÎ
+ ((1));
+
+789 \r\12
+       $±h»ad_mu\8bx_g\91´ioû\9e\9ag
+ (cڡ 
+±h»ad_mu\8bx_t
+ *
+
+790 
+__»¡riù
+__mu\8bx
+,
+
+791 \12*
+__»¡riù
+__´ioû\9e\9ag
+)
+
+792 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+796 \r\12
+       $±h»ad_mu\8bx_£\8drioû\9e\9ag
+ (
+±h»ad_mu\8bx_t
+ *
+__»¡riù
+__mu\8bx
+,
+
+797 \12
+__´ioû\9e\9ag
+,
+
+798 \12*
+__»¡riù
+__Þd_û\9e\9ag
+)
+
+799 
+__THROW
+       `__nÚnuÎ
+ ((1, 3));
+
+802 #ifdeà
+__USE_XOPEN2K8
+
+
+804 \r\12
+       $±h»ad_mu\8bx_cÚsi¡\92t
+ (
+±h»ad_mu\8bx_t
+ *
+__mu\8bx
+)
+
+805 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+806 #ifdeà
+__USE_GNU
+
+
+807 \r\12
+       $±h»ad_mu\8bx_cÚsi¡\92t_Å
+ (
+±h»ad_mu\8bx_t
+ *
+__mu\8bx
+)
+
+808 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+817 \r\12
+       $±h»ad_mu\8b\8c_\9a\99
+ (
+±h»ad_mu\8b\8c_t
+ *
+__©\8c
+)
+
+818 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+821 \r\12
+       $±h»ad_mu\8b\8c_de¡roy
+ (
+±h»ad_mu\8b\8c_t
+ *
+__©\8c
+)
+
+822 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+825 \r\12
+       $±h»ad_mu\8b\8c_g\91psh¬ed
+ (cڡ 
+±h»ad_mu\8b\8c_t
+ *
+
+826 
+__»¡riù
+__©\8c
+,
+
+827 \12*
+__»¡riù
+__psh¬ed
+)
+
+828 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+831 \r\12
+       $±h»ad_mu\8b\8c\8dsh¬ed
+ (
+±h»ad_mu\8b\8c_t
+ *
+__©\8c
+,
+
+832 \12
+__psh¬ed
+)
+
+833 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+835 #ià
+def\9aed
+__USE_UNIX98
+ || def\9aed 
+__USE_XOPEN2K8
+
+
+837 \r\12
+       $±h»ad_mu\8b\8c_g\91ty³
+ (cڡ 
+±h»ad_mu\8b\8c_t
+ *
+__»¡riù
+
+
+838 
+__©\8c
+, \12*
+__»¡riù
+__k\9ad
+)
+
+839 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+844 \r\12
+       $±h»ad_mu\8b\8c\89
+ (
+±h»ad_mu\8b\8c_t
+ *
+__©\8c
+, \12
+__k\9ad
+)
+
+845 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+849 \r\12
+       $±h»ad_mu\8b\8c_g\91´ÙocÞ
+ (cڡ 
+±h»ad_mu\8b\8c_t
+ *
+
+850 
+__»¡riù
+__©\8c
+,
+
+851 \12*
+__»¡riù
+__´ÙocÞ
+)
+
+852 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+856 \r\12
+       $±h»ad_mu\8b\8c\8drÙocÞ
+ (
+±h»ad_mu\8b\8c_t
+ *
+__©\8c
+,
+
+857 \12
+__´ÙocÞ
+)
+
+858 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+861 \r\12
+       $±h»ad_mu\8b\8c_g\91´ioû\9e\9ag
+ (cڡ 
+±h»ad_mu\8b\8c_t
+ *
+
+862 
+__»¡riù
+__©\8c
+,
+
+863 \12*
+__»¡riù
+__´ioû\9e\9ag
+)
+
+864 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+867 \r\12
+       $±h»ad_mu\8b\8c\8drioû\9e\9ag
+ (
+±h»ad_mu\8b\8c_t
+ *
+__©\8c
+,
+
+868 \12
+__´ioû\9e\9ag
+)
+
+869 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+871 #ifdeà
+__USE_XOPEN2K
+
+
+873 \r\12
+       $±h»ad_mu\8b\8c_g\91robu¡
+ (cڡ 
+±h»ad_mu\8b\8c_t
+ *
+__©\8c
+,
+
+874 \12*
+__robu¡Ãss
+)
+
+875 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+876 #ifdeà
+__USE_GNU
+
+
+877 \r\12
+       $±h»ad_mu\8b\8c_g\91robu¡_Å
+ (cڡ 
+±h»ad_mu\8b\8c_t
+ *
+__©\8c
+,
+
+878 \12*
+__robu¡Ãss
+)
+
+879 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+883 \r\12
+       $±h»ad_mu\8b\8c\8cobu¡
+ (
+±h»ad_mu\8b\8c_t
+ *
+__©\8c
+,
+
+884 \12
+__robu¡Ãss
+)
+
+885 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+886 #ifdeà
+__USE_GNU
+
+
+887 \r\12
+       $±h»ad_mu\8b\8c\8cobu¡_Å
+ (
+±h»ad_mu\8b\8c_t
+ *
+__©\8c
+,
+
+888 \12
+__robu¡Ãss
+)
+
+889 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+894 #ià
+def\9aed
+__USE_UNIX98
+ || def\9aed 
+__USE_XOPEN2K
+
+
+899 \r\12
+       $±h»ad_rwlock_\9a\99
+ (
+±h»ad_rwlock_t
+ *
+__»¡riù
+__rwlock
+,
+
+900 cڡ 
+±h»ad_rwlock©\8c_t
+ *
+__»¡riù
+
+
+901 
+__©\8c
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+904 \r\12
+       $±h»ad_rwlock_de¡roy
+ (
+±h»ad_rwlock_t
+ *
+__rwlock
+)
+
+905 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+908 \r\12
+       $±h»ad_rwlock_rdlock
+ (
+±h»ad_rwlock_t
+ *
+__rwlock
+)
+
+909 
+__THROWNL
+       `__nÚnuÎ
+ ((1));
+
+912 \r\12
+       $±h»ad_rwlock_\8cyrdlock
+ (
+±h»ad_rwlock_t
+ *
+__rwlock
+)
+
+913 
+__THROWNL
+       `__nÚnuÎ
+ ((1));
+
+915 #ifdeà
+__USE_XOPEN2K
+
+
+917 \r\12
+       $±h»ad_rwlock_timedrdlock
+ (
+±h»ad_rwlock_t
+ *
+__»¡riù
+__rwlock
+,
+
+918 cڡ \19
+time¥ec
+ *
+__»¡riù
+
+
+919 
+__ab¡ime
+__THROWNL
+       `__nÚnuÎ
+ ((1, 2));
+
+923 \r\12
+       $±h»ad_rwlock_w¾ock
+ (
+±h»ad_rwlock_t
+ *
+__rwlock
+)
+
+924 
+__THROWNL
+       `__nÚnuÎ
+ ((1));
+
+927 \r\12
+       $±h»ad_rwlock_\8cyw¾ock
+ (
+±h»ad_rwlock_t
+ *
+__rwlock
+)
+
+928 
+__THROWNL
+       `__nÚnuÎ
+ ((1));
+
+930 #ifdeà
+__USE_XOPEN2K
+
+
+932 \r\12
+       $±h»ad_rwlock_timedw¾ock
+ (
+±h»ad_rwlock_t
+ *
+__»¡riù
+__rwlock
+,
+
+933 cڡ \19
+time¥ec
+ *
+__»¡riù
+
+
+934 
+__ab¡ime
+__THROWNL
+       `__nÚnuÎ
+ ((1, 2));
+
+938 \r\12
+       $±h»ad_rwlock_uÆock
+ (
+±h»ad_rwlock_t
+ *
+__rwlock
+)
+
+939 
+__THROWNL
+       `__nÚnuÎ
+ ((1));
+
+945 \r\12
+       $±h»ad_rwlock©\8c_\9a\99
+ (
+±h»ad_rwlock©\8c_t
+ *
+__©\8c
+)
+
+946 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+949 \r\12
+       $±h»ad_rwlock©\8c_de¡roy
+ (
+±h»ad_rwlock©\8c_t
+ *
+__©\8c
+)
+
+950 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+953 \r\12
+       $±h»ad_rwlock©\8c_g\91psh¬ed
+ (cڡ 
+±h»ad_rwlock©\8c_t
+ *
+
+954 
+__»¡riù
+__©\8c
+,
+
+955 \12*
+__»¡riù
+__psh¬ed
+)
+
+956 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+959 \r\12
+       $±h»ad_rwlock©\8c\8dsh¬ed
+ (
+±h»ad_rwlock©\8c_t
+ *
+__©\8c
+,
+
+960 \12
+__psh¬ed
+)
+
+961 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+964 \r\12
+       $±h»ad_rwlock©\8c_g\91k\9ad_Å
+ (cڡ 
+±h»ad_rwlock©\8c_t
+ *
+
+965 
+__»¡riù
+__©\8c
+,
+
+966 \12*
+__»¡riù
+__´ef
+)
+
+967 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+970 \r\12
+       $±h»ad_rwlock©\8c_£tk\9ad_Å
+ (
+±h»ad_rwlock©\8c_t
+ *
+__©\8c
+,
+
+971 \12
+__´ef
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+979 \r\12
+       $±h»ad_cÚd_\9a\99
+ (
+±h»ad_cÚd_t
+ *
+__»¡riù
+__cÚd
+,
+
+980 cڡ 
+±h»ad_cÚd©\8c_t
+ *
+__»¡riù
+__cÚd_©\8c
+)
+
+981 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+984 \r\12
+       $±h»ad_cÚd_de¡roy
+ (
+±h»ad_cÚd_t
+ *
+__cÚd
+)
+
+985 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+988 \r\12
+       $±h»ad_cÚd_sigÇl
+ (
+±h»ad_cÚd_t
+ *
+__cÚd
+)
+
+989 
+__THROWNL
+       `__nÚnuÎ
+ ((1));
+
+992 \r\12
+       $±h»ad_cÚd_brßdÿ¡
+ (
+±h»ad_cÚd_t
+ *
+__cÚd
+)
+
+993 
+__THROWNL
+       `__nÚnuÎ
+ ((1));
+
+1000 \r\12
+       $±h»ad_cÚd_wa\99
+ (
+±h»ad_cÚd_t
+ *
+__»¡riù
+__cÚd
+,
+
+1001 
+±h»ad_mu\8bx_t
+ *
+__»¡riù
+__mu\8bx
+)
+
+1002 
+       `__nÚnuÎ
+ ((1, 2));
+
+1011 \r\12
+       $±h»ad_cÚd_timedwa\99
+ (
+±h»ad_cÚd_t
+ *
+__»¡riù
+__cÚd
+,
+
+1012 
+±h»ad_mu\8bx_t
+ *
+__»¡riù
+__mu\8bx
+,
+
+1013 cڡ \19
+time¥ec
+ *
+__»¡riù
+__ab¡ime
+)
+
+1014 
+       `__nÚnuÎ
+ ((1, 2, 3));
+
+1019 \r\12
+       $±h»ad_cÚd©\8c_\9a\99
+ (
+±h»ad_cÚd©\8c_t
+ *
+__©\8c
+)
+
+1020 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+1023 \r\12
+       $±h»ad_cÚd©\8c_de¡roy
+ (
+±h»ad_cÚd©\8c_t
+ *
+__©\8c
+)
+
+1024 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+1027 \r\12
+       $±h»ad_cÚd©\8c_g\91psh¬ed
+ (cڡ 
+±h»ad_cÚd©\8c_t
+ *
+
+1028 
+__»¡riù
+__©\8c
+,
+
+1029 \12*
+__»¡riù
+__psh¬ed
+)
+
+1030 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+1033 \r\12
+       $±h»ad_cÚd©\8c\8dsh¬ed
+ (
+±h»ad_cÚd©\8c_t
+ *
+__©\8c
+,
+
+1034 \12
+__psh¬ed
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+1036 #ifdeà
+__USE_XOPEN2K
+
+
+1038 \r\12
+       $±h»ad_cÚd©\8c_g\91þock
+ (cڡ 
+±h»ad_cÚd©\8c_t
+ *
+
+1039 
+__»¡riù
+__©\8c
+,
+
+1040 
+__þockid_t
+ *
+__»¡riù
+__þock_id
+)
+
+1041 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+1044 \r\12
+       $±h»ad_cÚd©\8c_£tþock
+ (
+±h»ad_cÚd©\8c_t
+ *
+__©\8c
+,
+
+1045 
+__þockid_t
+__þock_id
+)
+
+1046 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+1050 #ifdeà
+__USE_XOPEN2K
+
+
+1055 \r\12
+       $±h»ad_¥\9a_\9a\99
+ (
+±h»ad_¥\9alock_t
+ *
+__lock
+, \12
+__psh¬ed
+)
+
+1056 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+1059 \r\12
+       $±h»ad_¥\9a_de¡roy
+ (
+±h»ad_¥\9alock_t
+ *
+__lock
+)
+
+1060 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+1063 \r\12
+       $±h»ad_¥\9a_lock
+ (
+±h»ad_¥\9alock_t
+ *
+__lock
+)
+
+1064 
+__THROWNL
+       `__nÚnuÎ
+ ((1));
+
+1067 \r\12
+       $±h»ad_¥\9a_\8cylock
+ (
+±h»ad_¥\9alock_t
+ *
+__lock
+)
+
+1068 
+__THROWNL
+       `__nÚnuÎ
+ ((1));
+
+1071 \r\12
+       $±h»ad_¥\9a_uÆock
+ (
+±h»ad_¥\9alock_t
+ *
+__lock
+)
+
+1072 
+__THROWNL
+       `__nÚnuÎ
+ ((1));
+
+1079 \r\12
+       $±h»ad_b¬r\9br_\9a\99
+ (
+±h»ad_b¬r\9br_t
+ *
+__»¡riù
+__b¬r\9br
+,
+
+1080 cڡ 
+±h»ad_b¬r\9b¿\89r_t
+ *
+__»¡riù
+
+
+1081 
+__©\8c
+, \1d\12
+__couÁ
+)
+
+1082 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+1085 \r\12
+       $±h»ad_b¬r\9br_de¡roy
+ (
+±h»ad_b¬r\9br_t
+ *
+__b¬r\9br
+)
+
+1086 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+1089 \r\12
+       $±h»ad_b¬r\9br_wa\99
+ (
+±h»ad_b¬r\9br_t
+ *
+__b¬r\9br
+)
+
+1090 
+__THROWNL
+       `__nÚnuÎ
+ ((1));
+
+1094 \r\12
+       $±h»ad_b¬r\9b¿\89r_\9a\99
+ (
+±h»ad_b¬r\9b¿\89r_t
+ *
+__©\8c
+)
+
+1095 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+1098 \r\12
+       $±h»ad_b¬r\9b¿\89r_de¡roy
+ (
+±h»ad_b¬r\9b¿\89r_t
+ *
+__©\8c
+)
+
+1099 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+1102 \r\12
+       $±h»ad_b¬r\9b¿\89r_g\91psh¬ed
+ (cڡ 
+±h»ad_b¬r\9b¿\89r_t
+ *
+
+1103 
+__»¡riù
+__©\8c
+,
+
+1104 \12*
+__»¡riù
+__psh¬ed
+)
+
+1105 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+1108 \r\12
+       $±h»ad_b¬r\9b¿\89r_£\8dsh¬ed
+ (
+±h»ad_b¬r\9b¿\89r_t
+ *
+__©\8c
+,
+
+1109 \12
+__psh¬ed
+)
+
+1110 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+1122 \r\12
+       `±h»ad_key_ü\97\8b
+ (
+±h»ad_key_t
+ *
+__key
+,
+
+1123 \1e(*
+__de¡r_funùiÚ
+) (\1e*))
+
+1124 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+1127 \r\12
+       $±h»ad_key_d\96\91e
+ (
+±h»ad_key_t
+__key
+__THROW
+;
+
+1130 \r\1e*
+       $±h»ad_g\91¥ecific
+ (
+±h»ad_key_t
+__key
+__THROW
+;
+
+1133 \r\12
+       $±h»ad_£t¥ecific
+ (
+±h»ad_key_t
+__key
+,
+
+1134 cڡ \1e*
+__po\9a\8br
+__THROW
+ ;
+
+1137 #ifdeà
+__USE_XOPEN2K
+
+
+1139 \r\12
+       $±h»ad_g\91ýuþockid
+ (
+±h»ad_t
+__th»ad_id
+,
+
+1140 
+__þockid_t
+ *
+__þock_id
+)
+
+1141 
+__THROW
+       `__nÚnuÎ
+ ((2));
+
+1156 \r\12
+       `±h»ad_©fÜk
+ (\1e(*
+__´\95¬e
+) (\1e),
+
+1157 \1e(*
+__·»Á
+) (\1e),
+
+1158 \1e(*
+__ch\9ed
+è(\1e
+__THROW
+;
+
+1161 #ifdeà
+__USE_EXTERN_INLINES
+
+
+1163 
+__ex\8bº_\9al\9ae
\12
+
+1164 
+       `__NTH
+ (
+       $±h»ad_equ®
+ (
+±h»ad_t
+__th»ad1
+,\85th»ad_\88
+__th»ad2
+))
+
+1166 \15 
+__th»ad1
+ =ð
+__th»ad2
+;
+
+1167 
+       }
+}
+
+1170 
+       g__END_DECLS
+
+
+       @/usr/include/signal.h
+
+22 #iâdef 
+_SIGNAL_H
+
+
+24 #ià!
+def\9aed
+__Ãed_sig_©omic_t
+ && !def\9aed 
+__Ãed_sig£t_t
+
+
+25 \ 1
+       #_SIGNAL_H
+
+
+       )
+
+28 \ 2
+       ~<ã©u»s.h
+>
+
+30 
+       g__BEGIN_DECLS
+
+
+32 \ 2
+       ~<b\99s/sig£t.h
+>
+
+36 #ià
+def\9aed
+__Ãed_sig_©omic_t
+ || def\9aed 
+_SIGNAL_H
+
+
+37 #iâdeà
+__sig_©omic_t_def\9aed
+
+
+38 \ 1
+       #__sig_©omic_t_def\9aed
+
+
+       )
+
+39 
+__BEGIN_NAMESPACE_STD
+
+
+40 \e
+__sig_©omic_t
+       tsig_©omic_t
+;
+
+41 
+       g__END_NAMESPACE_STD
+
+
+43 #undeà
+__Ãed_sig_©omic_t
+
+
+46 #ià
+def\9aed
+__Ãed_sig£t_t
+ || (def\9aed 
+_SIGNAL_H
+ && def\9aed 
+__USE_POSIX
+)
+
+47 #iâdeà
+__sig£t_t_def\9aed
+
+
+48 \ 1
+       #__sig£t_t_def\9aed
+
+
+       )
+
+49 \e
+__sig£t_t
+       tsig£t_t
+;
+
+51 #undeà
+__Ãed_sig£t_t
+
+
+54 #ifdeà
+_SIGNAL_H
+
+
+56 \ 2
+       ~<b\99s/ty³s.h
+>
+
+57 \ 2
+       ~<b\99s/signum.h
+>
+
+59 #ià
+def\9aed
+__USE_XOPEN
+ || def\9aed 
+__USE_XOPEN2K
+
+
+60 #iâdeà
+__pid_t_def\9aed
+
+
+61 \e
+__pid_t
+       tpid_t
+;
+
+62 \ 1
+       #__pid_t_def\9aed
+
+
+       )
+
+64 #ifdeà
+__USE_XOPEN
+
+
+66 #iâdeà
+__uid_t_def\9aed
+
+
+67 \e
+__uid_t
+       tuid_t
+;
+
+68 \ 1
+       #__uid_t_def\9aed
+
+
+       )
+
+72 #ifdeà
+__USE_POSIX199309
+
+
+74 \ 1
+       #__Ãed_time¥ec
+
+
+       )
+
+75 \ 2
+       ~<time.h
+>
+
+78 #ià
+def\9aed
+__USE_POSIX199309
+ || def\9aed 
+__USE_XOPEN_EXTENDED
+
+
+80 \ 2
+       ~<b\99s/sig\9afo.h
+>
+
+85 \e\1e(*
+       t__sighªdËr_t
+) (\12);
+
+90 \r
+__sighªdËr_t
+       $__sysv_sigÇl
+ (\12
+__sig
+, 
+__sighªdËr_t
+__hªdËr
+)
+
+91 
+__THROW
+;
+
+92 #ifdeà
+__USE_GNU
+
+
+93 \r
+__sighªdËr_t
+       $sysv_sigÇl
+ (\12
+__sig
+, 
+__sighªdËr_t
+__hªdËr
+)
+
+94 
+__THROW
+;
+
+100 
+__BEGIN_NAMESPACE_STD
+
+
+101 #ifdeà
+__USE_BSD
+
+
+102 \r
+__sighªdËr_t
+       $sigÇl
+ (\12
+__sig
+, 
+__sighªdËr_t
+__hªdËr
+)
+
+103 
+__THROW
+;
+
+106 #ifdeà
+__REDIRECT_NTH
+
+
+107 \r
+__sighªdËr_t
+       `__REDIRECT_NTH
+ (
+sigÇl
+,
+
+108 (\12
+__sig
+, 
+__sighªdËr_t
+__hªdËr
+),
+
+109 
+__sysv_sigÇl
+);
+
+111 \ 1
+       #sigÇl
+__sysv_sigÇl
+
+
+       )
+
+114 
+__END_NAMESPACE_STD
+
+
+116 #ifdeà
+__USE_XOPEN
+
+
+119 \r
+__sighªdËr_t
+       $bsd_sigÇl
+ (\12
+__sig
+, 
+__sighªdËr_t
+__hªdËr
+)
+
+120 
+__THROW
+;
+
+126 #ifdeà
+__USE_POSIX
+
+
+127 \r\12
+       $k\9el
+ (
+__pid_t
+__pid
+, \12
+__sig
+__THROW
+;
+
+130 #ià
+def\9aed
+__USE_BSD
+ || def\9aed 
+__USE_XOPEN_EXTENDED
+
+
+134 \r\12
+       $k\9eÍg
+ (
+__pid_t
+__pg½
+, \12
+__sig
+__THROW
+;
+
+137 
+__BEGIN_NAMESPACE_STD
+
+
+139 \r\12
+       $¿i£
+ (\12
+__sig
+__THROW
+;
+
+140 
+__END_NAMESPACE_STD
+
+
+142 #ifdeà
+__USE_SVID
+
+
+144 \r
+__sighªdËr_t
+       $ssigÇl
+ (\12
+__sig
+, 
+__sighªdËr_t
+__hªdËr
+)
+
+145 
+__THROW
+;
+
+146 \r\12
+       $gsigÇl
+ (\12
+__sig
+__THROW
+;
+
+149 #ià
+def\9aed
+__USE_MISC
+ || def\9aed 
+__USE_XOPEN2K
+
+
+151 \r\1e
+       `psigÇl
+ (\12
+__sig
+, cڡ \ 5*
+__s
+);
+
+154 #ifdeà
+__USE_XOPEN2K
+
+
+156 \r\1e
+       `psig\9afo
+ (cڡ 
+sig\9afo_t
+ *
+__p\9afo
+, cڡ \ 5*
+__s
+);
+
+167 \r\12
+       `__sig·u£
+ (\12
+__sig_Ü_mask
+, \12
+__is_sig
+);
+
+169 #ifdeà
+__USE_XOPEN
+
+
+170 #ifdeà
+__GNUC__
+
+
+171 \r\12
+       $sig·u£
+ (\12
+__sig
+       `__asm__
+ ("__xpg_sigpause");
+
+174 \ 1
+       #sig·u£
+(
+sig
+       `__sig·u£
+ ((sig), 1)
+
+       )
+
+179 #ifdeà
+__USE_BSD
+
+
+186 \ 1
+       #sigmask
+(
+sig
+       `__sigmask
+(sig)
+
+       )
+
+189 \r\12
+       $sigblock
+ (\12
+__mask
+__THROW
+__©\8cibu\8b_d\95»ÿ\8bd__
+;
+
+192 \r\12
+       $sig£tmask
+ (\12
+__mask
+__THROW
+__©\8cibu\8b_d\95»ÿ\8bd__
+;
+
+195 \r\12
+       $sigg\91mask
+ (\1eè
+__THROW
+__©\8cibu\8b_d\95»ÿ\8bd__
+;
+
+199 #ifdeà
+__USE_MISC
+
+
+200 \ 1
+       #NSIG
+_NSIG
+
+
+       )
+
+203 #ifdeà
+__USE_GNU
+
+
+204 \e
+__sighªdËr_t
+       tsighªdËr_t
+;
+
+208 #ifdeà
+__USE_BSD
+
+
+209 \e
+__sighªdËr_t
+       tsig_t
+;
+
+212 #ifdeà
+__USE_POSIX
+
+
+215 \r\12
+       $sigem±y£t
+ (
+sig£t_t
+ *
+__£t
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+218 \r\12
+       $sigf\9el£t
+ (
+sig£t_t
+ *
+__£t
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+221 \r\12
+       $sigadd£t
+ (
+sig£t_t
+ *
+__£t
+, \12
+__signo
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+224 \r\12
+       $sigd\96£t
+ (
+sig£t_t
+ *
+__£t
+, \12
+__signo
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+227 \r\12
+       $sigismemb\94
+ (cڡ 
+sig£t_t
+ *
+__£t
+, \12
+__signo
+)
+
+228 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+230 #ifdeà
+__USE_GNU
+
+
+232 \r\12
+       $sigi£m±y£t
+ (cڡ 
+sig£t_t
+ *
+__£t
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+235 \r\12
+       $sigªd£t
+ (
+sig£t_t
+ *
+__£t
+, cÚ¡ sig£t_\88*
+__Ëá
+,
+
+236 cڡ 
+sig£t_t
+ *
+__right
+__THROW
+       `__nÚnuÎ
+ ((1, 2, 3));
+
+239 \r\12
+       $sigܣt
+ (
+sig£t_t
+ *
+__£t
+, cÚ¡ sig£t_\88*
+__Ëá
+,
+
+240 cڡ 
+sig£t_t
+ *
+__right
+__THROW
+       `__nÚnuÎ
+ ((1, 2, 3));
+
+245 \ 2
+       ~<b\99s/sigaùiÚ.h
+>
+
+248 \r\12
+       $sig´ocmask
+ (\12
+__how
+, cڡ 
+sig£t_t
+ *
+__»¡riù
+__£t
+,
+
+249 
+sig£t_t
+ *
+__»¡riù
+__o£t
+__THROW
+;
+
+256 \r\12
+       $sigsu¥\92d
+ (cڡ 
+sig£t_t
+ *
+__£t
+       `__nÚnuÎ
+ ((1));
+
+259 \r\12
+       $sigaùiÚ
+ (\12
+__sig
+, cڡ \19
+sigaùiÚ
+ *
+__»¡riù
+__aù
+,
+
+260 \19
+sigaùiÚ
+ *
+__»¡riù
+__ßù
+__THROW
+;
+
+263 \r\12
+       $sig³nd\9ag
+ (
+sig£t_t
+ *
+__£t
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+270 \r\12
+       $sigwa\99
+ (cڡ 
+sig£t_t
+ *
+__»¡riù
+__£t
+, \12*__»¡riù 
+__sig
+)
+
+271 
+       `__nÚnuÎ
+ ((1, 2));
+
+273 #ifdeà
+__USE_POSIX199309
+
+
+278 \r\12
+       $sigwa\99\9afo
+ (cڡ 
+sig£t_t
+ *
+__»¡riù
+__£t
+,
+
+279 
+sig\9afo_t
+ *
+__»¡riù
+__\9afo
+       `__nÚnuÎ
+ ((1));
+
+286 \r\12
+       $sigtimedwa\99
+ (cڡ 
+sig£t_t
+ *
+__»¡riù
+__£t
+,
+
+287 
+sig\9afo_t
+ *
+__»¡riù
+__\9afo
+,
+
+288 cڡ \19
+time¥ec
+ *
+__»¡riù
+__timeout
+)
+
+289 
+       `__nÚnuÎ
+ ((1));
+
+293 \r\12
+       $sigqueue
+ (
+__pid_t
+__pid
+, \12
+__sig
+, cڡ \1c
+sigv®
+__v®
+)
+
+294 
+__THROW
+;
+
+299 #ifdeà
+__USE_BSD
+
+
+303 \rcڡ \ 5*cڡ 
+_sys_sigli¡
+[
+_NSIG
+];
+
+304 \rcڡ \ 5*cڡ 
+sys_sigli¡
+[
+_NSIG
+];
+
+307 \19
+       ssigvec
+
+
+309 
+__sighªdËr_t
+sv_hªdËr
+;
+
+310 \12
+sv_mask
+;
+
+312 \12
+sv_æags
+;
+
+313 \ 1
+       #sv_ڡack
+sv_æags
+
+
+       )
+
+317 \ 1
+       #SV_ONSTACK
+ (1 << 0)
+
+       )
+
+318 \ 1
+       #SV_INTERRUPT
+ (1 << 1)
+
+       )
+
+319 \ 1
+       #SV_RESETHAND
+ (1 << 2)
+
+       )
+
+327 \r\12
+       $sigvec
+ (\12
+__sig
+, cڡ \19
+sigvec
+ *
+__vec
+,
+
+328 \19
+sigvec
+ *
+__ovec
+__THROW
+;
+
+332 \ 2
+       ~<b\99s/sigcÚ\8bxt.h
+>
+
+335 \r\12
+       $sig»tuº
+ (\19
+sigcڋxt
+ *
+__sý
+__THROW
+;
+
+340 #ià
+def\9aed
+__USE_BSD
+ || def\9aed 
+__USE_XOPEN_EXTENDED
+ || def\9aed 
+__USE_XOPEN2K8
+
+
+341 \ 1
+       #__Ãed_size_t
+
+
+       )
+
+342 \ 2
+       ~<¡ddef.h
+>
+
+347 \r\12
+       $sig\9a\8b¼u±
+ (\12
+__sig
+, \12
+__\9a\8b¼u±
+__THROW
+;
+
+349 \ 2
+       ~<b\99s/sig¡ack.h
+>
+
+350 #ià
+def\9aed
+__USE_XOPEN
+ || def\9aed 
+__USE_XOPEN2K8
+
+
+352 \ 2
+       ~<sys/ucڋxt.h
+>
+
+358 \r\12
+       $sig¡ack
+ (\19
+sig¡ack
+ *
+__ss
+, \19sig¡ack *
+__oss
+)
+
+359 
+__THROW
+__©\8cibu\8b_d\95»ÿ\8bd__
+;
+
+363 \r\12
+       $sig®t¡ack
+ (cڡ \19
+sig®t¡ack
+ *
+__»¡riù
+__ss
+,
+
+364 \19
+sig®t¡ack
+ *
+__»¡riù
+__oss
+__THROW
+;
+
+368 #ifdeà
+__USE_XOPEN_EXTENDED
+
+
+372 \r\12
+       $sighÞd
+ (\12
+__sig
+__THROW
+;
+
+375 \r\12
+       $sig»l£
+ (\12
+__sig
+__THROW
+;
+
+378 \r\12
+       $sigignÜe
+ (\12
+__sig
+__THROW
+;
+
+381 \r
+__sighªdËr_t
+       $sig£t
+ (\12
+__sig
+, 
+__sighªdËr_t
+__di¥
+__THROW
+;
+
+384 #ià
+def\9aed
+__USE_POSIX199506
+ || def\9aed 
+__USE_UNIX98
+
+
+387 \ 2
+       ~<b\99s/±h»adty³s.h
+>
+
+388 \ 2
+       ~<b\99s/sigth»ad.h
+>
+
+395 \r\12
+       $__libc_cu¼\92t_sig¹m\9a
+ (\1eè
+__THROW
+;
+
+397 \r\12
+       $__libc_cu¼\92t_sig¹max
+ (\1eè
+__THROW
+;
+
+401 
+__END_DECLS
+
+
+       @/usr/include/stdio.h
+
+23 #iâdeà
+_STDIO_H
+
+
+25 #ià!
+def\9aed
+__Ãed_FILE
+ && !def\9aed 
+__Ãed___FILE
+
+
+26 \ 1
+       #_STDIO_H
+ 1
+
+       )
+
+27 \ 2
+       ~<ã©u»s.h
+>
+
+29 
+       g__BEGIN_DECLS
+
+
+31 \ 1
+       #__Ãed_size_t
+
+
+       )
+
+32 \ 1
+       #__Ãed_NULL
+
+
+       )
+
+33 \ 2
+       ~<¡ddef.h
+>
+
+35 \ 2
+       ~<b\99s/ty³s.h
+>
+
+36 \ 1
+       #__Ãed_FILE
+
+
+       )
+
+37 \ 1
+       #__Ãed___FILE
+
+
+       )
+
+41 #ià!
+def\9aed
+__FILE_def\9aed
+ && def\9aed 
+__Ãed_FILE
+
+
+44 \19
+       g_IO_FILE
+;
+
+46 
+__BEGIN_NAMESPACE_STD
+
+
+48 \e\19
+_IO_FILE
+       tFILE
+;
+
+49 
+       g__END_NAMESPACE_STD
+
+
+50 #ià
+def\9aed
+__USE_LARGEFILE64
+ || def\9aed 
+__USE_SVID
+ || def\9aed 
+__USE_POSIX
+ \
+
+51 || 
+def\9aed
+       g__USE_BSD
+ || def\9aed 
+       g__USE_ISOC99
+ || def\9aed 
+       g__USE_XOPEN
+ \
+
+52 || 
+def\9aed
+__USE_POSIX2
+
+
+53 
+       $__USING_NAMESPACE_STD
+(
+FILE
+)
+
+56 \ 1
+       #__FILE_def\9aed
+ 1
+
+       )
+
+58 #undeà
+__Ãed_FILE
+
+
+61 #ià!
+def\9aed
+____FILE_def\9aed
+ && def\9aed 
+__Ãed___FILE
+
+
+64 \e\19
+_IO_FILE
+       t__FILE
+;
+
+66 \ 1
+       #____FILE_def\9aed
+ 1
+
+       )
+
+68 #undeà
+__Ãed___FILE
+
+
+71 #ifdef 
+_STDIO_H
+
+
+72 \ 1
+       #_STDIO_USES_IOSTREAM
+
+
+       )
+
+74 \ 2
+       ~<libio.h
+>
+
+76 #ià
+def\9aed
+__USE_XOPEN
+ || def\9aed 
+__USE_XOPEN2K8
+
+
+77 #ifdeà
+__GNUC__
+
+
+78 #iâdeà
+_VA_LIST_DEFINED
+
+
+79 \e
+_G_va_li¡
+       tva_li¡
+;
+
+80 \ 1
+       #_VA_LIST_DEFINED
+
+
+       )
+
+83 \ 2
+       ~<¡d¬g.h
+>
+
+87 #ifdeà
+__USE_XOPEN2K8
+
+
+88 #iâdeà
+__off_t_def\9aed
+
+
+89 #iâdeà
+__USE_FILE_OFFSET64
+
+
+90 \e
+__off_t
+       toff_t
+;
+
+92 \e
+__off64_t
+       toff_t
+;
+
+94 \ 1
+       #__off_t_def\9aed
+
+
+       )
+
+96 #ià
+def\9aed
+__USE_LARGEFILE64
+ && !def\9aed 
+__off64_t_def\9aed
+
+
+97 \e
+__off64_t
+       toff64_t
+;
+
+98 \ 1
+       #__off64_t_def\9aed
+
+
+       )
+
+101 #iâdeà
+__ssize_t_def\9aed
+
+
+102 \e
+__ssize_t
+       tssize_t
+;
+
+103 \ 1
+       #__ssize_t_def\9aed
+
+
+       )
+
+108 
+__BEGIN_NAMESPACE_STD
+
+
+109 #iâdeà
+__USE_FILE_OFFSET64
+
+
+110 \e
+_G_åos_t
+       tåos_t
+;
+
+112 \e
+_G_åos64_t
+       tåos_t
+;
+
+114 
+__END_NAMESPACE_STD
+
+
+115 #ifdeà
+__USE_LARGEFILE64
+
+
+116 \e
+_G_åos64_t
+       tåos64_t
+;
+
+120 \ 1
+       #_IOFBF
+ 0
+
+       )
+
+121 \ 1
+       #_IOLBF
+ 1
+
+       )
+
+122 \ 1
+       #_IONBF
+ 2
+
+       )
+
+126 #iâdeà
+BUFSIZ
+
+
+127 \ 1
+       #BUFSIZ
+_IO_BUFSIZ
+
+
+       )
+
+133 #iâdeà
+EOF
+
+
+134 \ 1
+       #EOF
+ (-1)
+
+       )
+
+140 \ 1
+       #SEEK_SET
+ 0
+
+       )
+
+141 \ 1
+       #SEEK_CUR
+ 1
+
+       )
+
+142 \ 1
+       #SEEK_END
+ 2
+
+       )
+
+143 #ifdeà
+__USE_GNU
+
+
+144 \ 1
+       #SEEK_DATA
+ 3
+
+       )
+
+145 \ 1
+       #SEEK_HOLE
+ 4
+
+       )
+
+149 #ià
+def\9aed
+__USE_SVID
+ || def\9aed 
+__USE_XOPEN
+
+
+151 \ 1
+       #P_tmpd\9c
+ "/tmp"
+
+       )
+
+164 \ 2
+       ~<b\99s/¡dio_lim.h
+>
+
+168 \r\19
+_IO_FILE
+ *
+¡d\9a
+;
+
+169 \r\19
+_IO_FILE
+ *
+¡dout
+;
+
+170 \r\19
+_IO_FILE
+ *
+¡d\94r
+;
+
+172 \ 1
+       #¡d\9a
+¡d\9a
+
+
+       )
+
+173 \ 1
+       #¡dout
+¡dout
+
+
+       )
+
+174 \ 1
+       #¡d\94r
+¡d\94r
+
+
+       )
+
+176 
+__BEGIN_NAMESPACE_STD
+
+
+178 \r\12
+       $»move
+ (cڡ \ 5*
+__f\9e\92ame
+__THROW
+;
+
+180 \r\12
+       $»Çme
+ (cڡ \ 5*
+__Þd
+, cڡ \ 5*
+__Ãw
+__THROW
+;
+
+181 
+__END_NAMESPACE_STD
+
+
+183 #ifdeà
+__USE_ATFILE
+
+
+185 \r\12
+       $»Çm\97t
+ (\12
+__Þdfd
+, cڡ \ 5*
+__Þd
+, \12
+__Ãwfd
+,
+
+186 cڡ \ 5*
+__Ãw
+__THROW
+;
+
+189 
+__BEGIN_NAMESPACE_STD
+
+
+194 #iâdeà
+__USE_FILE_OFFSET64
+
+
+195 \r
+FILE
+ *
+       $tmpf\9ee
+ (\1eè
+__wur
+;
+
+197 #ifdeà
+__REDIRECT
+
+
+198 \r
+FILE
+ *
+       `__REDIRECT
+ (
+tmpf\9ee
+, (\1e), 
+tmpf\9ee64
+__wur
+;
+
+200 \ 1
+       #tmpf\9ee
+tmpf\9ee64
+
+
+       )
+
+204 #ifdeà
+__USE_LARGEFILE64
+
+
+205 \r
+FILE
+ *
+       $tmpf\9ee64
+ (\1eè
+__wur
+;
+
+209 \r\ 5*
+       $tm²am
+ (\ 5*
+__s
+__THROW
+__wur
+;
+
+210 
+__END_NAMESPACE_STD
+
+
+212 #ifdeà
+__USE_MISC
+
+
+215 \r\ 5*
+       $tm²am_r
+ (\ 5*
+__s
+__THROW
+__wur
+;
+
+219 #ià
+def\9aed
+__USE_SVID
+ || def\9aed 
+__USE_XOPEN
+
+
+227 \r\ 5*
+       $\8bm²am
+ (cڡ \ 5*
+__d\9c
+, cڡ \ 5*
+__pfx
+)
+
+228 
+__THROW
+__©\8cibu\8b_m®loc__
+__wur
+;
+
+232 
+__BEGIN_NAMESPACE_STD
+
+
+237 \r\12
+       `fþo£
+ (
+FILE
+ *
+__¡»am
+);
+
+242 \r\12
+       `fæush
+ (
+FILE
+ *
+__¡»am
+);
+
+243 
+__END_NAMESPACE_STD
+
+
+245 #ifdeà
+__USE_MISC
+
+
+252 \r\12
+       `fæush_uÆocked
+ (
+FILE
+ *
+__¡»am
+);
+
+255 #ifdeà
+__USE_GNU
+
+
+262 \r\12
+       `fþo£®l
+ (\1e);
+
+266 
+__BEGIN_NAMESPACE_STD
+
+
+267 #iâdeà
+__USE_FILE_OFFSET64
+
+
+272 \r
+FILE
+ *
+       $fݒ
+ (cڡ \ 5*
+__»¡riù
+__f\9e\92ame
+,
+
+273 cڡ \ 5*
+__»¡riù
+__modes
+__wur
+;
+
+278 \r
+FILE
+ *
+       $äeÝ\92
+ (cڡ \ 5*
+__»¡riù
+__f\9e\92ame
+,
+
+279 cڡ \ 5*
+__»¡riù
+__modes
+,
+
+280 
+FILE
+ *
+__»¡riù
+__¡»am
+__wur
+;
+
+282 #ifdeà
+__REDIRECT
+
+
+283 \r
+FILE
+ *
+       `__REDIRECT
+ (
+fݒ
+, (cڡ \ 5*
+__»¡riù
+__f\9e\92ame
+,
+
+284 cڡ \ 5*
+__»¡riù
+__modes
+), 
+fݒ64
+)
+
+285 
+__wur
+;
+
+286 \r
+FILE
+ *
+       `__REDIRECT
+ (
+äeÝ\92
+, (cڡ \ 5*
+__»¡riù
+__f\9e\92ame
+,
+
+287 cڡ \ 5*
+__»¡riù
+__modes
+,
+
+288 
+FILE
+ *
+__»¡riù
+__¡»am
+), 
+äeÝ\9264
+)
+
+289 
+__wur
+;
+
+291 \ 1
+       #fݒ
+fݒ64
+
+
+       )
+
+292 \ 1
+       #äeÝ\92
+äeÝ\9264
+
+
+       )
+
+295 
+__END_NAMESPACE_STD
+
+
+296 #ifdeà
+__USE_LARGEFILE64
+
+
+297 \r
+FILE
+ *
+       $fݒ64
+ (cڡ \ 5*
+__»¡riù
+__f\9e\92ame
+,
+
+298 cڡ \ 5*
+__»¡riù
+__modes
+__wur
+;
+
+299 \r
+FILE
+ *
+       $äeÝ\9264
+ (cڡ \ 5*
+__»¡riù
+__f\9e\92ame
+,
+
+300 cڡ \ 5*
+__»¡riù
+__modes
+,
+
+301 
+FILE
+ *
+__»¡riù
+__¡»am
+__wur
+;
+
+304 #ifdef 
+__USE_POSIX
+
+
+306 \r
+FILE
+ *
+       $fdݒ
+ (\12
+__fd
+, cڡ \ 5*
+__modes
+__THROW
+__wur
+;
+
+309 #ifdef 
+__USE_GNU
+
+
+312 \r
+FILE
+ *
+       $fÝ\92cook\9b
+ (\1e*
+__»¡riù
+__magic_cook\9b
+,
+
+313 cڡ \ 5*
+__»¡riù
+__modes
+,
+
+314 
+_IO_cook\9b_io_funùiÚs_t
+__io_funcs
+__THROW
+__wur
+;
+
+317 #ifdeà
+__USE_XOPEN2K8
+
+
+319 \r
+FILE
+ *
+       $fmemݒ
+ (\1e*
+__s
+, 
+size_t
+__Ën
+, cڡ \ 5*
+__modes
+)
+
+320 
+__THROW
+__wur
+;
+
+325 \r
+FILE
+ *
+       $Ý\92_mem¡»am
+ (\ 5**
+__buæoc
+, 
+size_t
+ *
+__siz\96oc
+__THROW
+__wur
+;
+
+329 
+__BEGIN_NAMESPACE_STD
+
+
+332 \r\1e
+       $£tbuf
+ (
+FILE
+ *
+__»¡riù
+__¡»am
+, \ 5*__»¡riù 
+__buf
+__THROW
+;
+
+336 \r\12
+       $£tvbuf
+ (
+FILE
+ *
+__»¡riù
+__¡»am
+, \ 5*__»¡riù 
+__buf
+,
+
+337 \12
+__modes
+, 
+size_t
+__n
+__THROW
+;
+
+338 
+__END_NAMESPACE_STD
+
+
+340 #ifdef 
+__USE_BSD
+
+
+343 \r\1e
+       $£tbufãr
+ (
+FILE
+ *
+__»¡riù
+__¡»am
+, \ 5*__»¡riù 
+__buf
+,
+
+344 
+size_t
+__size
+__THROW
+;
+
+347 \r\1e
+       $£\8e\9aebuf
+ (
+FILE
+ *
+__¡»am
+__THROW
+;
+
+351 
+__BEGIN_NAMESPACE_STD
+
+
+356 \r\12
+       `år\9atf
+ (
+FILE
+ *
+__»¡riù
+__¡»am
+,
+
+357 cڡ \ 5*
+__»¡riù
+__fÜm©
+, ...);
+
+362 \r\12
+       `´\9atf
+ (cڡ \ 5*
+__»¡riù
+__fÜm©
+, ...);
+
+364 \r\12
+       $¥r\9atf
+ (\ 5*
+__»¡riù
+__s
+,
+
+365 cڡ \ 5*
+__»¡riù
+__fÜm©
+, ...è
+__THROWNL
+;
+
+371 \r\12
+       `vår\9atf
+ (
+FILE
+ *
+__»¡riù
+__s
+, cÚ¡ \ 5*__»¡riù 
+__fÜm©
+,
+
+372 
+_G_va_li¡
+__¬g
+);
+
+377 \r\12
+       `v´\9atf
+ (cڡ \ 5*
+__»¡riù
+__fÜm©
+, 
+_G_va_li¡
+__¬g
+);
+
+379 \r\12
+       $v¥r\9atf
+ (\ 5*
+__»¡riù
+__s
+, cÚ¡ \ 5*__»¡riù 
+__fÜm©
+,
+
+380 
+_G_va_li¡
+__¬g
+__THROWNL
+;
+
+381 
+__END_NAMESPACE_STD
+
+
+383 #ià
+def\9aed
+__USE_BSD
+ || def\9aed 
+__USE_ISOC99
+ || def\9aed 
+__USE_UNIX98
+
+
+384 
+__BEGIN_NAMESPACE_C99
+
+
+386 \r\12
+       $¢´\9atf
+ (\ 5*
+__»¡riù
+__s
+, 
+size_t
+__maxËn
+,
+
+387 cڡ \ 5*
+__»¡riù
+__fÜm©
+, ...)
+
+388 
+__THROWNL
+       `__©\8cibu\8b__
+ ((
+       `__fÜm©__
+ (
+__´\9atf__
+, 3, 4)));
+
+390 \r\12
+       $v¢´\9atf
+ (\ 5*
+__»¡riù
+__s
+, 
+size_t
+__maxËn
+,
+
+391 cڡ \ 5*
+__»¡riù
+__fÜm©
+, 
+_G_va_li¡
+__¬g
+)
+
+392 
+__THROWNL
+       `__©\8cibu\8b__
+ ((
+       `__fÜm©__
+ (
+__´\9atf__
+, 3, 0)));
+
+393 
+__END_NAMESPACE_C99
+
+
+396 #ifdeà
+__USE_GNU
+
+
+399 \r\12
+       $va¥r\9atf
+ (\ 5**
+__»¡riù
+__±r
+, cÚ¡ \ 5*__»¡riù 
+__f
+,
+
+400 
+_G_va_li¡
+__¬g
+)
+
+401 
+__THROWNL
+       `__©\8cibu\8b__
+ ((
+       $__fÜm©__
+ (
+__´\9atf__
+, 2, 0))è
+__wur
+;
+
+402 \r\12
+       $__a¥r\9atf
+ (\ 5**
+__»¡riù
+__±r
+,
+
+403 cڡ \ 5*
+__»¡riù
+__fmt
+, ...)
+
+404 
+__THROWNL
+       `__©\8cibu\8b__
+ ((
+       $__fÜm©__
+ (
+__´\9atf__
+, 2, 3))è
+__wur
+;
+
+405 \r\12
+       $a¥r\9atf
+ (\ 5**
+__»¡riù
+__±r
+,
+
+406 cڡ \ 5*
+__»¡riù
+__fmt
+, ...)
+
+407 
+__THROWNL
+       `__©\8cibu\8b__
+ ((
+       $__fÜm©__
+ (
+__´\9atf__
+, 2, 3))è
+__wur
+;
+
+410 #ifdeà
+__USE_XOPEN2K8
+
+
+412 \r\12
+       $vd´\9atf
+ (\12
+__fd
+, cڡ \ 5*
+__»¡riù
+__fmt
+,
+
+413 
+_G_va_li¡
+__¬g
+)
+
+414 
+       `__©\8cibu\8b__
+ ((
+       `__fÜm©__
+ (
+__´\9atf__
+, 2, 0)));
+
+415 \r\12
+       $d´\9atf
+ (\12
+__fd
+, cڡ \ 5*
+__»¡riù
+__fmt
+, ...)
+
+416 
+       `__©\8cibu\8b__
+ ((
+       `__fÜm©__
+ (
+__´\9atf__
+, 2, 3)));
+
+420 
+__BEGIN_NAMESPACE_STD
+
+
+425 \r\12
+       $fsÿnf
+ (
+FILE
+ *
+__»¡riù
+__¡»am
+,
+
+426 cڡ \ 5*
+__»¡riù
+__fÜm©
+, ...è
+__wur
+;
+
+431 \r\12
+       $sÿnf
+ (cڡ \ 5*
+__»¡riù
+__fÜm©
+, ...è
+__wur
+;
+
+433 \r\12
+       $ssÿnf
+ (cڡ \ 5*
+__»¡riù
+__s
+,
+
+434 cڡ \ 5*
+__»¡riù
+__fÜm©
+, ...è
+__THROW
+;
+
+436 #ià
+def\9aed
+__USE_ISOC99
+ && !def\9aed 
+__USE_GNU
+ \
+
+437 && (!
+def\9aed
+__LDBL_COMPAT
+ || !def\9aed 
+__REDIRECT
+) \
+
+438 && (
+def\9aed
+__STRICT_ANSI__
+ || def\9aed 
+__USE_XOPEN2K
+)
+
+439 #ifdeà
+__REDIRECT
+
+
+443 \r\12
+       `__REDIRECT
+ (
+fsÿnf
+, (
+FILE
+ *
+__»¡riù
+__¡»am
+,
+
+444 cڡ \ 5*
+__»¡riù
+__fÜm©
+, ...),
+
+445 
+__isoc99_fsÿnf
+__wur
+;
+
+446 \r\12
+       `__REDIRECT
+ (
+sÿnf
+, (cڡ \ 5*
+__»¡riù
+__fÜm©
+, ...),
+
+447 
+__isoc99_sÿnf
+__wur
+;
+
+448 \r\12
+       `__REDIRECT_NTH
+ (
+ssÿnf
+, (cڡ \ 5*
+__»¡riù
+__s
+,
+
+449 cڡ \ 5*
+__»¡riù
+__fÜm©
+, ...),
+
+450 
+__isoc99_ssÿnf
+);
+
+452 \r\12
+       $__isoc99_fsÿnf
+ (
+FILE
+ *
+__»¡riù
+__¡»am
+,
+
+453 cڡ \ 5*
+__»¡riù
+__fÜm©
+, ...è
+__wur
+;
+
+454 \r\12
+       $__isoc99_sÿnf
+ (cڡ \ 5*
+__»¡riù
+__fÜm©
+, ...è
+__wur
+;
+
+455 \r\12
+       $__isoc99_ssÿnf
+ (cڡ \ 5*
+__»¡riù
+__s
+,
+
+456 cڡ \ 5*
+__»¡riù
+__fÜm©
+, ...è
+__THROW
+;
+
+457 \ 1
+       #fsÿnf
+__isoc99_fsÿnf
+
+
+       )
+
+458 \ 1
+       #sÿnf
+__isoc99_sÿnf
+
+
+       )
+
+459 \ 1
+       #ssÿnf
+__isoc99_ssÿnf
+
+
+       )
+
+463 
+__END_NAMESPACE_STD
+
+
+465 #ifdef 
+__USE_ISOC99
+
+
+466 
+__BEGIN_NAMESPACE_C99
+
+
+471 \r\12
+       $vfsÿnf
+ (
+FILE
+ *
+__»¡riù
+__s
+, cÚ¡ \ 5*__»¡riù 
+__fÜm©
+,
+
+472 
+_G_va_li¡
+__¬g
+)
+
+473 
+       `__©\8cibu\8b__
+ ((
+       $__fÜm©__
+ (
+__sÿnf__
+, 2, 0))è
+__wur
+;
+
+479 \r\12
+       $vsÿnf
+ (cڡ \ 5*
+__»¡riù
+__fÜm©
+, 
+_G_va_li¡
+__¬g
+)
+
+480 
+       `__©\8cibu\8b__
+ ((
+       $__fÜm©__
+ (
+__sÿnf__
+, 1, 0))è
+__wur
+;
+
+483 \r\12
+       $vssÿnf
+ (cڡ \ 5*
+__»¡riù
+__s
+,
+
+484 cڡ \ 5*
+__»¡riù
+__fÜm©
+, 
+_G_va_li¡
+__¬g
+)
+
+485 
+__THROW
+       `__©\8cibu\8b__
+ ((
+       `__fÜm©__
+ (
+__sÿnf__
+, 2, 0)));
+
+487 #ià!
+def\9aed
+__USE_GNU
+ \
+
+488 && (!
+def\9aed
+__LDBL_COMPAT
+ || !def\9aed 
+__REDIRECT
+) \
+
+489 && (
+def\9aed
+__STRICT_ANSI__
+ || def\9aed 
+__USE_XOPEN2K
+)
+
+490 #ifdeà
+__REDIRECT
+
+
+494 \r\12
+       `__REDIRECT
+ (
+vfsÿnf
+,
+
+495 (
+FILE
+ *
+__»¡riù
+__s
+,
+
+496 cڡ \ 5*
+__»¡riù
+__fÜm©
+, 
+_G_va_li¡
+__¬g
+),
+
+497 
+__isoc99_vfsÿnf
+)
+
+498 
+       `__©\8cibu\8b__
+ ((
+       $__fÜm©__
+ (
+__sÿnf__
+, 2, 0))è
+__wur
+;
+
+499 \r\12
+       `__REDIRECT
+ (
+vsÿnf
+, (cڡ \ 5*
+__»¡riù
+__fÜm©
+,
+
+500 
+_G_va_li¡
+__¬g
+), 
+__isoc99_vsÿnf
+)
+
+501 
+       `__©\8cibu\8b__
+ ((
+       $__fÜm©__
+ (
+__sÿnf__
+, 1, 0))è
+__wur
+;
+
+502 \r\12
+       `__REDIRECT_NTH
+ (
+vssÿnf
+,
+
+503 (cڡ \ 5*
+__»¡riù
+__s
+,
+
+504 cڡ \ 5*
+__»¡riù
+__fÜm©
+,
+
+505 
+_G_va_li¡
+__¬g
+), 
+__isoc99_vssÿnf
+)
+
+506 
+       `__©\8cibu\8b__
+ ((
+       `__fÜm©__
+ (
+__sÿnf__
+, 2, 0)));
+
+508 \r\12
+       $__isoc99_vfsÿnf
+ (
+FILE
+ *
+__»¡riù
+__s
+,
+
+509 cڡ \ 5*
+__»¡riù
+__fÜm©
+,
+
+510 
+_G_va_li¡
+__¬g
+__wur
+;
+
+511 \r\12
+       $__isoc99_vsÿnf
+ (cڡ \ 5*
+__»¡riù
+__fÜm©
+,
+
+512 
+_G_va_li¡
+__¬g
+__wur
+;
+
+513 \r\12
+       $__isoc99_vssÿnf
+ (cڡ \ 5*
+__»¡riù
+__s
+,
+
+514 cڡ \ 5*
+__»¡riù
+__fÜm©
+,
+
+515 
+_G_va_li¡
+__¬g
+__THROW
+;
+
+516 \ 1
+       #vfsÿnf
+__isoc99_vfsÿnf
+
+
+       )
+
+517 \ 1
+       #vsÿnf
+__isoc99_vsÿnf
+
+
+       )
+
+518 \ 1
+       #vssÿnf
+__isoc99_vssÿnf
+
+
+       )
+
+522 
+__END_NAMESPACE_C99
+
+
+526 
+__BEGIN_NAMESPACE_STD
+
+
+531 \r\12
+       `fg\91c
+ (
+FILE
+ *
+__¡»am
+);
+
+532 \r\12
+       `g\91c
+ (
+FILE
+ *
+__¡»am
+);
+
+538 \r\12
+       `g\91ch¬
+ (\1e);
+
+539 
+__END_NAMESPACE_STD
+
+
+543 \ 1
+       #g\91c
+(
+_å
+       `_IO_g\91c
+ (_å)
+
+       )
+
+545 #ià
+def\9aed
+__USE_POSIX
+ || def\9aed 
+__USE_MISC
+
+
+550 \r\12
+       `g\91c_uÆocked
+ (
+FILE
+ *
+__¡»am
+);
+
+551 \r\12
+       `g\91ch¬_uÆocked
+ (\1e);
+
+554 #ifdeà
+__USE_MISC
+
+
+561 \r\12
+       `fg\91c_uÆocked
+ (
+FILE
+ *
+__¡»am
+);
+
+565 
+__BEGIN_NAMESPACE_STD
+
+
+573 \r\12
+       `åutc
+ (\12
+__c
+, 
+FILE
+ *
+__¡»am
+);
+
+574 \r\12
+       `putc
+ (\12
+__c
+, 
+FILE
+ *
+__¡»am
+);
+
+580 \r\12
+       `putch¬
+ (\12
+__c
+);
+
+581 
+__END_NAMESPACE_STD
+
+
+585 \ 1
+       #putc
+(
+_ch
+, 
+_å
+       `_IO_putc
+ (_ch, _å)
+
+       )
+
+587 #ifdeà
+__USE_MISC
+
+
+594 \r\12
+       `åutc_uÆocked
+ (\12
+__c
+, 
+FILE
+ *
+__¡»am
+);
+
+597 #ià
+def\9aed
+__USE_POSIX
+ || def\9aed 
+__USE_MISC
+
+
+602 \r\12
+       `putc_uÆocked
+ (\12
+__c
+, 
+FILE
+ *
+__¡»am
+);
+
+603 \r\12
+       `putch¬_uÆocked
+ (\12
+__c
+);
+
+607 #ià
+def\9aed
+__USE_SVID
+ || def\9aed 
+__USE_MISC
+ \
+
+608 || (
+def\9aed
+__USE_XOPEN
+ && !def\9aed 
+__USE_XOPEN2K
+)
+
+610 \r\12
+       `g\91w
+ (
+FILE
+ *
+__¡»am
+);
+
+613 \r\12
+       `putw
+ (\12
+__w
+, 
+FILE
+ *
+__¡»am
+);
+
+617 
+__BEGIN_NAMESPACE_STD
+
+
+622 \r\ 5*
+       $fg\91s
+ (\ 5*
+__»¡riù
+__s
+, \12
+__n
+, 
+FILE
+ *__»¡riù 
+__¡»am
+)
+
+623 
+__wur
+;
+
+625 #ià!
+def\9aed
+__USE_ISOC11
+ \
+
+626 || (
+def\9aed
+__ýlu¥lus
+ && __cplusplus <= 201103L)
+
+638 \r\ 5*
+       $g\91s
+ (\ 5*
+__s
+__wur
+__©\8cibu\8b_d\95»ÿ\8bd__
+;
+
+640 
+__END_NAMESPACE_STD
+
+
+642 #ifdeà
+__USE_GNU
+
+
+649 \r\ 5*
+       $fg\91s_uÆocked
+ (\ 5*
+__»¡riù
+__s
+, \12
+__n
+,
+
+650 
+FILE
+ *
+__»¡riù
+__¡»am
+__wur
+;
+
+654 #ifdef 
+__USE_XOPEN2K8
+
+
+665 \r
+_IO_ssize_t
+       $__g\91d\96im
+ (\ 5**
+__»¡riù
+__l\9a\95\8c
+,
+
+666 
+size_t
+ *
+__»¡riù
+__n
+, \12
+__d\96im\99\94
+,
+
+667 
+FILE
+ *
+__»¡riù
+__¡»am
+__wur
+;
+
+668 \r
+_IO_ssize_t
+       $g\91d\96im
+ (\ 5**
+__»¡riù
+__l\9a\95\8c
+,
+
+669 
+size_t
+ *
+__»¡riù
+__n
+, \12
+__d\96im\99\94
+,
+
+670 
+FILE
+ *
+__»¡riù
+__¡»am
+__wur
+;
+
+678 \r
+_IO_ssize_t
+       $g\91l\9ae
+ (\ 5**
+__»¡riù
+__l\9a\95\8c
+,
+
+679 
+size_t
+ *
+__»¡riù
+__n
+,
+
+680 
+FILE
+ *
+__»¡riù
+__¡»am
+__wur
+;
+
+684 
+__BEGIN_NAMESPACE_STD
+
+
+689 \r\12
+       `åuts
+ (cڡ \ 5*
+__»¡riù
+__s
+, 
+FILE
+ *__»¡riù 
+__¡»am
+);
+
+695 \r\12
+       `puts
+ (cڡ \ 5*
+__s
+);
+
+702 \r\12
+       `ung\91c
+ (\12
+__c
+, 
+FILE
+ *
+__¡»am
+);
+
+709 \r
+size_t
+       $ä\97d
+ (\1e*
+__»¡riù
+__±r
+, 
+size_t
+__size
+,
+
+710 
+size_t
+__n
+, 
+FILE
+ *
+__»¡riù
+__¡»am
+__wur
+;
+
+715 \r
+size_t
+       `fwr\99e
+ (cڡ \1e*
+__»¡riù
+__±r
+, size_\88
+__size
+,
+
+716 
+size_t
+__n
+, 
+FILE
+ *
+__»¡riù
+__s
+);
+
+717 
+__END_NAMESPACE_STD
+
+
+719 #ifdeà
+__USE_GNU
+
+
+726 \r\12
+       `åuts_uÆocked
+ (cڡ \ 5*
+__»¡riù
+__s
+,
+
+727 
+FILE
+ *
+__»¡riù
+__¡»am
+);
+
+730 #ifdeà
+__USE_MISC
+
+
+737 \r
+size_t
+       $ä\97d_uÆocked
+ (\1e*
+__»¡riù
+__±r
+, 
+size_t
+__size
+,
+
+738 
+size_t
+__n
+, 
+FILE
+ *
+__»¡riù
+__¡»am
+__wur
+;
+
+739 \r
+size_t
+       `fwr\99e_uÆocked
+ (cڡ \1e*
+__»¡riù
+__±r
+, size_\88
+__size
+,
+
+740 
+size_t
+__n
+, 
+FILE
+ *
+__»¡riù
+__¡»am
+);
+
+744 
+__BEGIN_NAMESPACE_STD
+
+
+749 \r\12
+       `f£ek
+ (
+FILE
+ *
+__¡»am
+, \13\12
+__off
+, \12
+__wh\92û
+);
+
+754 \r\13\12
+       $á\96l
+ (
+FILE
+ *
+__¡»am
+__wur
+;
+
+759 \r\1e
+       `»w\9ad
+ (
+FILE
+ *
+__¡»am
+);
+
+760 
+__END_NAMESPACE_STD
+
+
+767 #ià
+def\9aed
+__USE_LARGEFILE
+ || def\9aed 
+__USE_XOPEN2K
+
+
+768 #iâdeà
+__USE_FILE_OFFSET64
+
+
+773 \r\12
+       `f£eko
+ (
+FILE
+ *
+__¡»am
+, 
+__off_t
+__off
+, \12
+__wh\92û
+);
+
+778 \r
+__off_t
+       $á\96lo
+ (
+FILE
+ *
+__¡»am
+__wur
+;
+
+780 #ifdeà
+__REDIRECT
+
+
+781 \r\12
+       `__REDIRECT
+ (
+f£eko
+,
+
+782 (
+FILE
+ *
+__¡»am
+, 
+__off64_t
+__off
+, \12
+__wh\92û
+),
+
+783 
+f£eko64
+);
+
+784 \r
+__off64_t
+       `__REDIRECT
+ (
\96lo
+, (
+FILE
+ *
+__¡»am
+), 
\96lo64
+);
+
+786 \ 1
+       #f£eko
+f£eko64
+
+
+       )
+
+787 \ 1
+       #á\96lo
\96lo64
+
+
+       )
+
+792 
+__BEGIN_NAMESPACE_STD
+
+
+793 #iâdeà
+__USE_FILE_OFFSET64
+
+
+798 \r\12
+       `fg\91pos
+ (
+FILE
+ *
+__»¡riù
+__¡»am
+, 
+åos_t
+ *__»¡riù 
+__pos
+);
+
+803 \r\12
+       `f£\8dos
+ (
+FILE
+ *
+__¡»am
+, cڡ 
+åos_t
+ *
+__pos
+);
+
+805 #ifdeà
+__REDIRECT
+
+
+806 \r\12
+       `__REDIRECT
+ (
+fg\91pos
+, (
+FILE
+ *
+__»¡riù
+__¡»am
+,
+
+807 
+åos_t
+ *
+__»¡riù
+__pos
+), 
+fg\91pos64
+);
+
+808 \r\12
+       `__REDIRECT
+ (
+f£\8dos
+,
+
+809 (
+FILE
+ *
+__¡»am
+, cڡ 
+åos_t
+ *
+__pos
+), 
+f£\8dos64
+);
+
+811 \ 1
+       #fg\91pos
+fg\91pos64
+
+
+       )
+
+812 \ 1
+       #f£\8dos
+f£\8dos64
+
+
+       )
+
+815 
+__END_NAMESPACE_STD
+
+
+817 #ifdeà
+__USE_LARGEFILE64
+
+
+818 \r\12
+       `f£eko64
+ (
+FILE
+ *
+__¡»am
+, 
+__off64_t
+__off
+, \12
+__wh\92û
+);
+
+819 \r
+__off64_t
+       $á\96lo64
+ (
+FILE
+ *
+__¡»am
+__wur
+;
+
+820 \r\12
+       `fg\91pos64
+ (
+FILE
+ *
+__»¡riù
+__¡»am
+, 
+åos64_t
+ *__»¡riù 
+__pos
+);
+
+821 \r\12
+       `f£\8dos64
+ (
+FILE
+ *
+__¡»am
+, cڡ 
+åos64_t
+ *
+__pos
+);
+
+824 
+__BEGIN_NAMESPACE_STD
+
+
+826 \r\1e
+       $þ\97»¼
+ (
+FILE
+ *
+__¡»am
+__THROW
+;
+
+828 \r\12
+       $ãof
+ (
+FILE
+ *
+__¡»am
+__THROW
+__wur
+;
+
+830 \r\12
+       $ã¼Ü
+ (
+FILE
+ *
+__¡»am
+__THROW
+__wur
+;
+
+831 
+__END_NAMESPACE_STD
+
+
+833 #ifdeà
+__USE_MISC
+
+
+835 \r\1e
+       $þ\97»¼_uÆocked
+ (
+FILE
+ *
+__¡»am
+__THROW
+;
+
+836 \r\12
+       $ãof_uÆocked
+ (
+FILE
+ *
+__¡»am
+__THROW
+__wur
+;
+
+837 \r\12
+       $ã¼Ü_uÆocked
+ (
+FILE
+ *
+__¡»am
+__THROW
+__wur
+;
+
+841 
+__BEGIN_NAMESPACE_STD
+
+
+846 \r\1e
+       `³¼Ü
+ (cڡ \ 5*
+__s
+);
+
+847 
+__END_NAMESPACE_STD
+
+
+853 \ 2
+       ~<b\99s/sys_\94¾i¡.h
+>
+
+856 #ifdef 
+__USE_POSIX
+
+
+858 \r\12
+       $f\9e\92o
+ (
+FILE
+ *
+__¡»am
+__THROW
+__wur
+;
+
+861 #ifdeà
+__USE_MISC
+
+
+863 \r\12
+       $f\9e\92o_uÆocked
+ (
+FILE
+ *
+__¡»am
+__THROW
+__wur
+;
+
+867 #ià(
+def\9aed
+__USE_POSIX2
+ || def\9aed 
+__USE_SVID
+ || def\9aed 
+__USE_BSD
+ || \
+
+868 
+def\9aed
+__USE_MISC
+)
+
+873 \r
+FILE
+ *
+       $pݒ
+ (cڡ \ 5*
+__commªd
+, cڡ \ 5*
+__modes
+__wur
+;
+
+879 \r\12
+       `pþo£
+ (
+FILE
+ *
+__¡»am
+);
+
+883 #ifdef 
+__USE_POSIX
+
+
+885 \r\ 5*
+       $ù\94mid
+ (\ 5*
+__s
+__THROW
+;
+
+889 #ifdeà
+__USE_XOPEN
+
+
+891 \r\ 5*
+       `cu£rid
+ (\ 5*
+__s
+);
+
+895 #ifdef 
+__USE_GNU
+
+
+896 \19
+ob¡ack
+;
+
+899 \r\12
+       $ob¡ack_´\9atf
+ (\19
+ob¡ack
+ *
+__»¡riù
+__ob¡ack
+,
+
+900 cڡ \ 5*
+__»¡riù
+__fÜm©
+, ...)
+
+901 
+__THROWNL
+       `__©\8cibu\8b__
+ ((
+       `__fÜm©__
+ (
+__´\9atf__
+, 2, 3)));
+
+902 \r\12
+       $ob¡ack_v´\9atf
+ (\19
+ob¡ack
+ *
+__»¡riù
+__ob¡ack
+,
+
+903 cڡ \ 5*
+__»¡riù
+__fÜm©
+,
+
+904 
+_G_va_li¡
+__¬gs
+)
+
+905 
+__THROWNL
+       `__©\8cibu\8b__
+ ((
+       `__fÜm©__
+ (
+__´\9atf__
+, 2, 0)));
+
+909 #ià
+def\9aed
+__USE_POSIX
+ || def\9aed 
+__USE_MISC
+
+
+913 \r\1e
+       $æockf\9ee
+ (
+FILE
+ *
+__¡»am
+__THROW
+;
+
+917 \r\12
+       $árylockf\9ee
+ (
+FILE
+ *
+__¡»am
+__THROW
+__wur
+;
+
+920 \r\1e
+       $fuÆockf\9ee
+ (
+FILE
+ *
+__¡»am
+__THROW
+;
+
+923 #ià
+def\9aed
+__USE_XOPEN
+ && !def\9aed 
+__USE_XOPEN2K
+ && !def\9aed 
+__USE_GNU
+
+
+927 \ 1
+       #__Ãed_g\91Ýt
+
+
+       )
+
+928 \ 2
+       ~<g\91Ýt.h
+>
+
+933 #ifdeà
+__USE_EXTERN_INLINES
+
+
+934 \ 2
+       ~<b\99s/¡dio.h
+>
+
+936 #ià
+__USE_FORTIFY_LEVEL
+ > 0 && 
+def\9aed
+__ex\8bº_®ways_\9al\9ae
+
+
+937 \ 2
+       ~<b\99s/¡dio2.h
+>
+
+939 #ifdeà
+__LDBL_COMPAT
+
+
+940 \ 2
+       ~<b\99s/¡dio-ldbl.h
+>
+
+943 
+__END_DECLS
+
+
+       @/usr/include/stdlib.h
+
+22 #iâdef 
+_STDLIB_H
+
+
+24 \ 2
+       ~<ã©u»s.h
+>
+
+27 \ 1
+       #__Ãed_size_t
+
+
+       )
+
+28 #iâdeà
+__Ãed_m®loc_ªd_ÿÎoc
+
+
+29 \ 1
+       #__Ãed_wch¬_t
+
+
+       )
+
+30 \ 1
+       #__Ãed_NULL
+
+
+       )
+
+32 \ 2
+       ~<¡ddef.h
+>
+
+34 
+       g__BEGIN_DECLS
+
+
+36 #iâdeà
+__Ãed_m®loc_ªd_ÿÎoc
+
+
+37 \ 1
+       #_STDLIB_H
+ 1
+
+       )
+
+39 #ià(
+def\9aed
+__USE_XOPEN
+ || def\9aed 
+__USE_XOPEN2K8
+è&& !def\9aed 
+_SYS_WAIT_H
+
+
+41 \ 2
+       ~<b\99s/wa\99æags.h
+>
+
+42 \ 2
+       ~<b\99s/wa\99¡©us.h
+>
+
+44 #ifdeà
+__USE_BSD
+
+
+49 #ià
+def\9aed
+__GNUC__
+ && !def\9aed 
+__ýlu¥lus
+
+
+50 \ 1
+       #__WAIT_INT
+(
+¡©us
+) \
+
+51 (
+       `__ex\8bnsiÚ__
+ (((uniÚ { 
+       `__ty³of
+(
+¡©us
+__\9a
+; \12
+__i
+; }) \
+
+52 { .
+__\9a
+ = (
+¡©us
+è}).
+__i
+))
+
+       )
+
+54 \ 1
+       #__WAIT_INT
+(
+¡©us
+è(*(\12*è&(¡©us))
+
+       )
+
+62 #ià!
+def\9aed
+__GNUC__
+ || __GNUC__ < 2 || def\9aed 
+__ýlu¥lus
+
+
+63 \ 1
+       #__WAIT_STATUS
\1e*
+
+       )
+
+64 \ 1
+       #__WAIT_STATUS_DEFN
\1e*
+
+       )
+
+69 \1c
+wa\99
+ *
+       m__u±r
+;
+
+70 \12*
+       m__\9d\8c
+;
+
+71 } 
+       t__WAIT_STATUS
+       t__©\8cibu\8b__
+ ((
+       t__\8cª¥¬\92t_uniÚ__
+));
+
+72 \ 1
+       #__WAIT_STATUS_DEFN
\12*
+
+       )
+
+77 \ 1
+       #__WAIT_INT
+(
+¡©us
+è(¡©us)
+
+       )
+
+78 \ 1
+       #__WAIT_STATUS
\12*
+
+       )
+
+79 \ 1
+       #__WAIT_STATUS_DEFN
\12*
+
+       )
+
+84 \ 1
+       #WEXITSTATUS
+(
+¡©us
+       `__WEXITSTATUS
+ (
+       `__WAIT_INT
+ (¡©us))
+
+       )
+
+85 \ 1
+       #WTERMSIG
+(
+¡©us
+       `__WTERMSIG
+ (
+       `__WAIT_INT
+ (¡©us))
+
+       )
+
+86 \ 1
+       #WSTOPSIG
+(
+¡©us
+       `__WSTOPSIG
+ (
+       `__WAIT_INT
+ (¡©us))
+
+       )
+
+87 \ 1
+       #WIFEXITED
+(
+¡©us
+       `__WIFEXITED
+ (
+       `__WAIT_INT
+ (¡©us))
+
+       )
+
+88 \ 1
+       #WIFSIGNALED
+(
+¡©us
+       `__WIFSIGNALED
+ (
+       `__WAIT_INT
+ (¡©us))
+
+       )
+
+89 \ 1
+       #WIFSTOPPED
+(
+¡©us
+       `__WIFSTOPPED
+ (
+       `__WAIT_INT
+ (¡©us))
+
+       )
+
+90 #ifdeà
+__WIFCONTINUED
+
+
+91 \ 1
+       #WIFCONTINUED
+(
+¡©us
+       `__WIFCONTINUED
+ (
+       `__WAIT_INT
+ (¡©us))
+
+       )
+
+95 
+__BEGIN_NAMESPACE_STD
+
+
+99 \12
+       mquÙ
+;
+
+100 \12
+       m»m
+;
+
+101 } 
+       tdiv_t
+;
+
+104 #iâdeà
+__ldiv_t_def\9aed
+
+
+107 \13\12
+       mquÙ
+;
+
+108 \13\12
+       m»m
+;
+
+109 } 
+       tldiv_t
+;
+
+110 \ 1
+       #__ldiv_t_def\9aed
+ 1
+
+       )
+
+112 
+       g__END_NAMESPACE_STD
+
+
+114 #ià
+def\9aed
+__USE_ISOC99
+ && !def\9aed 
+__Îdiv_t_def\9aed
+
+
+115 
+__BEGIN_NAMESPACE_C99
+
+
+117 
+__ex\8bnsiÚ__
\estruct
+
+119 \13\13\12
+       mquÙ
+;
+
+120 \13\13\12
+       m»m
+;
+
+121 } 
+       tÎdiv_t
+;
+
+122 \ 1
+       #__Îdiv_t_def\9aed
+ 1
+
+       )
+
+123 
+       g__END_NAMESPACE_C99
+
+
+128 \ 1
+       #RAND_MAX
+ 2147483647
+
+       )
+
+133 \ 1
+       #EXIT_FAILURE
+ 1
+
+       )
+
+134 \ 1
+       #EXIT_SUCCESS
+ 0
+
+       )
+
+138 \ 1
+       #MB_CUR_MAX
+ (
+       `__ùy³_g\91_mb_cur_max
+ ())
+
+       )
+
+139 \r
+size_t
+       $__ùy³_g\91_mb_cur_max
+ (\1eè
+__THROW
+__wur
+;
+
+142 
+__BEGIN_NAMESPACE_STD
+
+
+144 \r\b
+       $©of
+ (cڡ \ 5*
+__Ō
+)
+
+145 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+147 \r\12
+       $©oi
+ (cڡ \ 5*
+__Ō
+)
+
+148 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+150 \r\13\12
+       $©Þ
+ (cڡ \ 5*
+__Ō
+)
+
+151 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+152 
+__END_NAMESPACE_STD
+
+
+154 #ià
+def\9aed
+__USE_ISOC99
+ || def\9aed 
+__USE_MISC
+
+
+155 
+__BEGIN_NAMESPACE_C99
+
+
+157 
+__ex\8bnsiÚ__
\r\13\13\12
+       $©Þl
+ (cڡ \ 5*
+__Ō
+)
+
+158 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+159 
+__END_NAMESPACE_C99
+
+
+162 
+__BEGIN_NAMESPACE_STD
+
+
+164 \r\b
+       $¡¹od
+ (cڡ \ 5*
+__»¡riù
+__Ō
+,
+
+165 \ 5**
+__»¡riù
+__\92d±r
+)
+
+166 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+167 
+__END_NAMESPACE_STD
+
+
+169 #ifdef 
+__USE_ISOC99
+
+
+170 
+__BEGIN_NAMESPACE_C99
+
+
+172 \r\ e
+       $¡¹of
+ (cڡ \ 5*
+__»¡riù
+__Ō
+,
+
+173 \ 5**
+__»¡riù
+__\92d±r
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+175 \r\13\b
+       $¡¹Þd
+ (cڡ \ 5*
+__»¡riù
+__Ō
+,
+
+176 \ 5**
+__»¡riù
+__\92d±r
+)
+
+177 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+178 
+__END_NAMESPACE_C99
+
+
+181 
+__BEGIN_NAMESPACE_STD
+
+
+183 \r\13\12
+       $¡¹Þ
+ (cڡ \ 5*
+__»¡riù
+__Ō
+,
+
+184 \ 5**
+__»¡riù
+__\92d±r
+, \12
+__ba£
+)
+
+185 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+187 \r\1d\13\12
+       $¡¹oul
+ (cڡ \ 5*
+__»¡riù
+__Ō
+,
+
+188 \ 5**
+__»¡riù
+__\92d±r
+, \12
+__ba£
+)
+
+189 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+190 
+__END_NAMESPACE_STD
+
+
+192 #ifdeà
+__USE_BSD
+
+
+194 
+__ex\8bnsiÚ__
+
+
+195 \r\13\13\12
+       $¡¹oq
+ (cڡ \ 5*
+__»¡riù
+__Ō
+,
+
+196 \ 5**
+__»¡riù
+__\92d±r
+, \12
+__ba£
+)
+
+197 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+199 
+__ex\8bnsiÚ__
+
+
+200 \r\1d\13\13\12
+       $¡¹ouq
+ (cڡ \ 5*
+__»¡riù
+__Ō
+,
+
+201 \ 5**
+__»¡riù
+__\92d±r
+, \12
+__ba£
+)
+
+202 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+205 #ià
+def\9aed
+__USE_ISOC99
+ || def\9aed 
+__USE_MISC
+
+
+206 
+__BEGIN_NAMESPACE_C99
+
+
+208 
+__ex\8bnsiÚ__
+
+
+209 \r\13\13\12
+       $¡¹Þl
+ (cڡ \ 5*
+__»¡riù
+__Ō
+,
+
+210 \ 5**
+__»¡riù
+__\92d±r
+, \12
+__ba£
+)
+
+211 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+213 
+__ex\8bnsiÚ__
+
+
+214 \r\1d\13\13\12
+       $¡¹ouÎ
+ (cڡ \ 5*
+__»¡riù
+__Ō
+,
+
+215 \ 5**
+__»¡riù
+__\92d±r
+, \12
+__ba£
+)
+
+216 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+217 
+__END_NAMESPACE_C99
+
+
+221 #ifdeà
+__USE_GNU
+
+
+235 \ 2
+       ~<xloÿË.h
+>
+
+239 \r\13\12
+       $¡¹Þ_l
+ (cڡ \ 5*
+__»¡riù
+__Ō
+,
+
+240 \ 5**
+__»¡riù
+__\92d±r
+, \12
+__ba£
+,
+
+241 
+__loÿË_t
+__loc
+__THROW
+       `__nÚnuÎ
+ ((1, 4));
+
+243 \r\1d\13\12
+       $¡¹oul_l
+ (cڡ \ 5*
+__»¡riù
+__Ō
+,
+
+244 \ 5**
+__»¡riù
+__\92d±r
+,
+
+245 \12
+__ba£
+, 
+__loÿË_t
+__loc
+)
+
+246 
+__THROW
+       `__nÚnuÎ
+ ((1, 4));
+
+248 
+__ex\8bnsiÚ__
+
+
+249 \r\13\13\12
+       $¡¹Þl_l
+ (cڡ \ 5*
+__»¡riù
+__Ō
+,
+
+250 \ 5**
+__»¡riù
+__\92d±r
+, \12
+__ba£
+,
+
+251 
+__loÿË_t
+__loc
+)
+
+252 
+__THROW
+       `__nÚnuÎ
+ ((1, 4));
+
+254 
+__ex\8bnsiÚ__
+
+
+255 \r\1d\13\13\12
+       $¡¹ouÎ_l
+ (cڡ \ 5*
+__»¡riù
+__Ō
+,
+
+256 \ 5**
+__»¡riù
+__\92d±r
+,
+
+257 \12
+__ba£
+, 
+__loÿË_t
+__loc
+)
+
+258 
+__THROW
+       `__nÚnuÎ
+ ((1, 4));
+
+260 \r\b
+       $¡¹od_l
+ (cڡ \ 5*
+__»¡riù
+__Ō
+,
+
+261 \ 5**
+__»¡riù
+__\92d±r
+, 
+__loÿË_t
+__loc
+)
+
+262 
+__THROW
+       `__nÚnuÎ
+ ((1, 3));
+
+264 \r\ e
+       $¡¹of_l
+ (cڡ \ 5*
+__»¡riù
+__Ō
+,
+
+265 \ 5**
+__»¡riù
+__\92d±r
+, 
+__loÿË_t
+__loc
+)
+
+266 
+__THROW
+       `__nÚnuÎ
+ ((1, 3));
+
+268 \r\13\b
+       $¡¹Þd_l
+ (cڡ \ 5*
+__»¡riù
+__Ō
+,
+
+269 \ 5**
+__»¡riù
+__\92d±r
+,
+
+270 
+__loÿË_t
+__loc
+)
+
+271 
+__THROW
+       `__nÚnuÎ
+ ((1, 3));
+
+275 #ifdeà
+__USE_EXTERN_INLINES
+
+
+276 
+__BEGIN_NAMESPACE_STD
+
+
+277 
+__ex\8bº_\9al\9ae
\12
+
+278 
+       `__NTH
+ (
+       $©oi
+ (cڡ \ 5*
+__Ō
+))
+
+280 \15 (\12è
+       `¡¹Þ
+ (
+__Ō
+, (\ 5**è
+NULL
+, 10);
+
+281 
+       }
+}
+
+282 
+__ex\8bº_\9al\9ae
\13\12
+
+283 
+__NTH
+ (
+       $©Þ
+ (cڡ \ 5*
+__Ō
+))
+
+285 \15 
+       `¡¹Þ
+ (
+__Ō
+, (\ 5**è
+NULL
+, 10);
+
+286 
+       }
+}
+
+287 
+       g__END_NAMESPACE_STD
+
+
+289 #ià
+def\9aed
+__USE_MISC
+ || def\9aed 
+__USE_ISOC99
+
+
+290 
+__BEGIN_NAMESPACE_C99
+
+
+291 
+__ex\8bnsiÚ__
+__ex\8bº_\9al\9ae
\13\13\12
+
+292 
+__NTH
+ (
+       $©Þl
+ (cڡ \ 5*
+__Ō
+))
+
+294 \15 
+       `¡¹Þl
+ (
+__Ō
+, (\ 5**è
+NULL
+, 10);
+
+295 
+       }
+}
+
+296 
+       g__END_NAMESPACE_C99
+
+
+301 #ià
+def\9aed
+__USE_SVID
+ || def\9aed 
+__USE_XOPEN_EXTENDED
+
+
+305 \r\ 5*
+       $l64a
+ (\13\12
+__n
+__THROW
+__wur
+;
+
+308 \r\13\12
+       $a64l
+ (cڡ \ 5*
+__s
+)
+
+309 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+313 #ià
+def\9aed
+__USE_SVID
+ || def\9aed 
+__USE_XOPEN_EXTENDED
+ || def\9aed 
+__USE_BSD
+
+
+314 \ 2
+       ~<sys/ty³s.h
+>
+
+321 \r\13\12
+       $¿ndom
+ (\1eè
+__THROW
+;
+
+324 \r\1e
+       $¤ªdom
+ (\1d\12
+__£ed
+__THROW
+;
+
+330 \r\ 5*
+       $\9a\99¡©e
+ (\1d\12
+__£ed
+, \ 5*
+__¡©ebuf
+,
+
+331 
+size_t
+__¡©\96\92
+__THROW
+       `__nÚnuÎ
+ ((2));
+
+335 \r\ 5*
+       $£t¡©e
+ (\ 5*
+__¡©ebuf
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+338 #ifdeà
+__USE_MISC
+
+
+343 \19
+       s¿ndom_d©a
+
+
+345 
+\9at32_t
+ *
\8c
+;
+
+346 
+\9at32_t
+ *
\8c
+;
+
+347 
+\9at32_t
+ *
+¡©e
+;
+
+348 \12
+¿nd_ty³
+;
+
+349 \12
+¿nd_deg
+;
+
+350 \12
+¿nd_£p
+;
+
+351 
+\9at32_t
+ *
+\92d_±r
+;
+
+354 \r\12
+       $¿ndom_r
+ (\19
+¿ndom_d©a
+ *
+__»¡riù
+__buf
+,
+
+355 
+\9at32_t
+ *
+__»¡riù
+__»suÉ
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+357 \r\12
+       $¤ªdom_r
+ (\1d\12
+__£ed
+, \19
+¿ndom_d©a
+ *
+__buf
+)
+
+358 
+__THROW
+       `__nÚnuÎ
+ ((2));
+
+360 \r\12
+       $\9a\99¡©e_r
+ (\1d\12
+__£ed
+, \ 5*
+__»¡riù
+__¡©ebuf
+,
+
+361 
+size_t
+__¡©\96\92
+,
+
+362 \19
+¿ndom_d©a
+ *
+__»¡riù
+__buf
+)
+
+363 
+__THROW
+       `__nÚnuÎ
+ ((2, 4));
+
+365 \r\12
+       $£t¡©e_r
+ (\ 5*
+__»¡riù
+__¡©ebuf
+,
+
+366 \19
+¿ndom_d©a
+ *
+__»¡riù
+__buf
+)
+
+367 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+372 
+__BEGIN_NAMESPACE_STD
+
+
+374 \r\12
+       $¿nd
+ (\1eè
+__THROW
+;
+
+376 \r\1e
+       $¤ªd
+ (\1d\12
+__£ed
+__THROW
+;
+
+377 
+__END_NAMESPACE_STD
+
+
+379 #ifdeà
+__USE_POSIX
+
+
+381 \r\12
+       $¿nd_r
+ (\1d\12*
+__£ed
+__THROW
+;
+
+385 #ià
+def\9aed
+__USE_SVID
+ || def\9aed 
+__USE_XOPEN
+
+
+389 \r\b
+       $d¿nd48
+ (\1eè
+__THROW
+;
+
+390 \r\b
+       $\94ªd48
+ (\1d\16\12
+__xsubi
+[3]è
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+393 \r\13\12
+       $̪d48
+ (\1eè
+__THROW
+;
+
+394 \r\13\12
+       $Īd48
+ (\1d\16\12
+__xsubi
+[3])
+
+395 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+398 \r\13\12
+       $m¿nd48
+ (\1eè
+__THROW
+;
+
+399 \r\13\12
+       $j¿nd48
+ (\1d\16\12
+__xsubi
+[3])
+
+400 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+403 \r\1e
+       $¤ªd48
+ (\13\12
+__£edv®
+__THROW
+;
+
+404 \r\1d\16\12*
+       $£ed48
+ (\1d\16\12
+__£ed16v
+[3])
+
+405 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+406 \r\1e
+       $lcÚg48
+ (\1d\16\12
+__·¿m
+[7]è
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+408 #ifdeà
+__USE_MISC
+
+
+412 \19
+       sd¿nd48_d©a
+
+
+414 \1d\16\12
+__x
+[3];
+
+415 \1d\16\12
+__Þd_x
+[3];
+
+416 \1d\16\12
+__c
+;
+
+417 \1d\16\12
+__\9a\99
+;
+
+418 
+__ex\8bnsiÚ__
\1d\13\13\12
+__a
+;
+
+423 \r\12
+       $d¿nd48_r
+ (\19
+d¿nd48_d©a
+ *
+__»¡riù
+__bufãr
+,
+
+424 \b*
+__»¡riù
+__»suÉ
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+425 \r\12
+       $\94ªd48_r
+ (\1d\16\12
+__xsubi
+[3],
+
+426 \19
+d¿nd48_d©a
+ *
+__»¡riù
+__bufãr
+,
+
+427 \b*
+__»¡riù
+__»suÉ
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+430 \r\12
+       $̪d48_r
+ (\19
+d¿nd48_d©a
+ *
+__»¡riù
+__bufãr
+,
+
+431 \13\12*
+__»¡riù
+__»suÉ
+)
+
+432 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+433 \r\12
+       $Īd48_r
+ (\1d\16\12
+__xsubi
+[3],
+
+434 \19
+d¿nd48_d©a
+ *
+__»¡riù
+__bufãr
+,
+
+435 \13\12*
+__»¡riù
+__»suÉ
+)
+
+436 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+439 \r\12
+       $m¿nd48_r
+ (\19
+d¿nd48_d©a
+ *
+__»¡riù
+__bufãr
+,
+
+440 \13\12*
+__»¡riù
+__»suÉ
+)
+
+441 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+442 \r\12
+       $j¿nd48_r
+ (\1d\16\12
+__xsubi
+[3],
+
+443 \19
+d¿nd48_d©a
+ *
+__»¡riù
+__bufãr
+,
+
+444 \13\12*
+__»¡riù
+__»suÉ
+)
+
+445 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+448 \r\12
+       $¤ªd48_r
+ (\13\12
+__£edv®
+, \19
+d¿nd48_d©a
+ *
+__bufãr
+)
+
+449 
+__THROW
+       `__nÚnuÎ
+ ((2));
+
+451 \r\12
+       $£ed48_r
+ (\1d\16\12
+__£ed16v
+[3],
+
+452 \19
+d¿nd48_d©a
+ *
+__bufãr
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+454 \r\12
+       $lcÚg48_r
+ (\1d\16\12
+__·¿m
+[7],
+
+455 \19
+d¿nd48_d©a
+ *
+__bufãr
+)
+
+456 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+462 #iâdeà
+__m®loc_ªd_ÿÎoc_def\9aed
+
+
+463 \ 1
+       #__m®loc_ªd_ÿÎoc_def\9aed
+
+
+       )
+
+464 
+__BEGIN_NAMESPACE_STD
+
+
+466 \r\1e*
+       $m®loc
+ (
+size_t
+__size
+__THROW
+__©\8cibu\8b_m®loc__
+__wur
+;
+
+468 \r\1e*
+       $ÿÎoc
+ (
+size_t
+__nmemb
+, size_\88
+__size
+)
+
+469 
+__THROW
+__©\8cibu\8b_m®loc__
+__wur
+;
+
+470 
+__END_NAMESPACE_STD
+
+
+473 #iâdeà
+__Ãed_m®loc_ªd_ÿÎoc
+
+
+474 
+__BEGIN_NAMESPACE_STD
+
+
+480 \r\1e*
+       $»®loc
+ (\1e*
+__±r
+, 
+size_t
+__size
+)
+
+481 
+__THROW
+__©\8cibu\8b_w¬n_unu£d_»suÉ__
+;
+
+483 \r\1e
+       $ä\93
+ (\1e*
+__±r
+__THROW
+;
+
+484 
+__END_NAMESPACE_STD
+
+
+486 #ifdef 
+__USE_MISC
+
+
+488 \r\1e
+       $cä\93
+ (\1e*
+__±r
+__THROW
+;
+
+491 #ià
+def\9aed
+__USE_GNU
+ || def\9aed 
+__USE_BSD
+ || def\9aed 
+__USE_MISC
+
+
+492 \ 2
+       ~<®loÿ.h
+>
+
+495 #ià(
+def\9aed
+__USE_XOPEN_EXTENDED
+ && !def\9aed 
+__USE_XOPEN2K
+) \
+
+496 || 
+def\9aed
+__USE_BSD
+
+
+498 \r\1e*
+       $v®loc
+ (
+size_t
+__size
+__THROW
+__©\8cibu\8b_m®loc__
+__wur
+;
+
+501 #ifdeà
+__USE_XOPEN2K
+
+
+503 \r\12
+       $posix_mem®ign
+ (\1e**
+__mem±r
+, 
+size_t
+__®ignm\92t
+, size_\88
+__size
+)
+
+504 
+__THROW
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+507 #ifdeà
+__USE_ISOC11
+
+
+509 \r\1e*
+       $®igÃd_®loc
+ (
+size_t
+__®ignm\92t
+, size_\88
+__size
+)
+
+510 
+__THROW
+__©\8cibu\8b_m®loc__
+       `__©\8cibu\8b_®loc_size__
+ ((2)è
+__wur
+;
+
+513 
+__BEGIN_NAMESPACE_STD
+
+
+515 \r\1e
+       $abÜt
+ (\1eè
+__THROW
+       `__©\8cibu\8b__
+ ((
+__nÜ\91uº__
+));
+
+519 \r\12
+       `©ex\99
+ (\1e(*
+__func
+è(\1e
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+521 #ià
+def\9aed
+__USE_ISOC11
+ || def\9aed 
+__USE_ISOCXX11
+
+
+523 #ifdeà
+__ýlu¥lus
+
+
+524 \r"C++" \12
+       `©_quick_ex\99
+ (\1e(*
+__func
+) (\1e))
+
+525 
+__THROW
+       `__asm
+ ("©_quick_ex\99
+       `__nÚnuÎ
+ ((1));
+
+527 \r\12
+       `©_quick_ex\99
+ (\1e(*
+__func
+è(\1e
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+530 
+__END_NAMESPACE_STD
+
+
+532 #ifdef 
+__USE_MISC
+
+
+535 \r\12
+       `Ú_ex\99
+ (\1e(*
+__func
+è(\12
+__¡©us
+, \1e*
+__¬g
+), \1e*__arg)
+
+536 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+539 
+__BEGIN_NAMESPACE_STD
+
+
+543 \r\1e
+       $ex\99
+ (\12
+__¡©us
+__THROW
+       `__©\8cibu\8b__
+ ((
+__nÜ\91uº__
+));
+
+545 #ià
+def\9aed
+__USE_ISOC11
+ || def\9aed 
+__USE_ISOCXX11
+
+
+549 \r\1e
+       $quick_ex\99
+ (\12
+__¡©us
+__THROW
+       `__©\8cibu\8b__
+ ((
+__nÜ\91uº__
+));
+
+551 
+__END_NAMESPACE_STD
+
+
+553 #ifdeà
+__USE_ISOC99
+
+
+554 
+__BEGIN_NAMESPACE_C99
+
+
+557 \r\1e
+       $_Ex\99
+ (\12
+__¡©us
+__THROW
+       `__©\8cibu\8b__
+ ((
+__nÜ\91uº__
+));
+
+558 
+__END_NAMESPACE_C99
+
+
+562 
+__BEGIN_NAMESPACE_STD
+
+
+564 \r\ 5*
+       $g\91\92v
+ (cڡ \ 5*
+__Çme
+__THROW
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+565 
+__END_NAMESPACE_STD
+
+
+567 #ifdeà
+__USE_GNU
+
+
+570 \r\ 5*
+       $£cu»_g\91\92v
+ (cڡ \ 5*
+__Çme
+)
+
+571 
+__THROW
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+574 #ià
+def\9aed
+__USE_SVID
+ || def\9aed 
+__USE_XOPEN
+
+
+578 \r\12
+       $pu\8bnv
+ (\ 5*
+__¡r\9ag
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+581 #ià
+def\9aed
+__USE_BSD
+ || def\9aed 
+__USE_XOPEN2K
+
+
+584 \r\12
+       $£\8bnv
+ (cڡ \ 5*
+__Çme
+, cڡ \ 5*
+__v®ue
+, \12
+__»¶aû
+)
+
+585 
+__THROW
+       `__nÚnuÎ
+ ((2));
+
+588 \r\12
+       $un£\8bnv
+ (cڡ \ 5*
+__Çme
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+591 #ifdef 
+__USE_MISC
+
+
+595 \r\12
+       $þ\97»nv
+ (\1eè
+__THROW
+;
+
+599 #ià
+def\9aed
+__USE_MISC
+ \
+
+600 || (
+def\9aed
+__USE_XOPEN_EXTENDED
+ && !def\9aed 
+__USE_XOPEN2K8
+)
+
+606 \r\ 5*
+       $mk\8bmp
+ (\ 5*
+__\8bm¶©e
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+609 #ià
+def\9aed
+__USE_MISC
+ || def\9aed 
+__USE_XOPEN_EXTENDED
+ \
+
+610 || 
+def\9aed
+__USE_XOPEN2K8
+
+
+619 #iâdeà
+__USE_FILE_OFFSET64
+
+
+620 \r\12
+       $mk¡emp
+ (\ 5*
+__\8bm¶©e
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+622 #ifdeà
+__REDIRECT
+
+
+623 \r\12
+       `__REDIRECT
+ (
+mk¡emp
+, (\ 5*
+__\8bm¶©e
+), 
+mk¡emp64
+)
+
+624 
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+626 \ 1
+       #mk¡emp
+mk¡emp64
+
+
+       )
+
+629 #ifdeà
+__USE_LARGEFILE64
+
+
+630 \r\12
+       $mk¡emp64
+ (\ 5*
+__\8bm¶©e
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+634 #ifdeà
+__USE_MISC
+
+
+641 #iâdeà
+__USE_FILE_OFFSET64
+
+
+642 \r\12
+       $mk¡emps
+ (\ 5*
+__\8bm¶©e
+, \12
+__suffixËn
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+644 #ifdeà
+__REDIRECT
+
+
+645 \r\12
+       `__REDIRECT
+ (
+mk¡emps
+, (\ 5*
+__\8bm¶©e
+, \12
+__suffixËn
+),
+
+646 
+mk¡emps64
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+648 \ 1
+       #mk¡emps
+mk¡emps64
+
+
+       )
+
+651 #ifdeà
+__USE_LARGEFILE64
+
+
+652 \r\12
+       $mk¡emps64
+ (\ 5*
+__\8bm¶©e
+, \12
+__suffixËn
+)
+
+653 
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+657 #ià
+def\9aed
+__USE_BSD
+ || def\9aed 
+__USE_XOPEN2K8
+
+
+663 \r\ 5*
+       $mkd\8bmp
+ (\ 5*
+__\8bm¶©e
+__THROW
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+666 #ifdeà
+__USE_GNU
+
+
+673 #iâdeà
+__USE_FILE_OFFSET64
+
+
+674 \r\12
+       $mko¡emp
+ (\ 5*
+__\8bm¶©e
+, \12
+__æags
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+676 #ifdeà
+__REDIRECT
+
+
+677 \r\12
+       `__REDIRECT
+ (
+mko¡emp
+, (\ 5*
+__\8bm¶©e
+, \12
+__æags
+), 
+mko¡emp64
+)
+
+678 
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+680 \ 1
+       #mko¡emp
+mko¡emp64
+
+
+       )
+
+683 #ifdeà
+__USE_LARGEFILE64
+
+
+684 \r\12
+       $mko¡emp64
+ (\ 5*
+__\8bm¶©e
+, \12
+__æags
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+693 #iâdeà
+__USE_FILE_OFFSET64
+
+
+694 \r\12
+       $mko¡emps
+ (\ 5*
+__\8bm¶©e
+, \12
+__suffixËn
+, \12
+__æags
+)
+
+695 
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+697 #ifdeà
+__REDIRECT
+
+
+698 \r\12
+       `__REDIRECT
+ (
+mko¡emps
+, (\ 5*
+__\8bm¶©e
+, \12
+__suffixËn
+,
+
+699 \12
+__æags
+), 
+mko¡emps64
+)
+
+700 
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+702 \ 1
+       #mko¡emps
+mko¡emps64
+
+
+       )
+
+705 #ifdeà
+__USE_LARGEFILE64
+
+
+706 \r\12
+       $mko¡emps64
+ (\ 5*
+__\8bm¶©e
+, \12
+__suffixËn
+, \12
+__æags
+)
+
+707 
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+712 
+__BEGIN_NAMESPACE_STD
+
+
+717 \r\12
+       $sy¡em
+ (cڡ \ 5*
+__commªd
+__wur
+;
+
+718 
+__END_NAMESPACE_STD
+
+
+721 #ifdef 
+__USE_GNU
+
+
+724 \r\ 5*
+       $ÿnÚiÿlize_f\9ee_Çme
+ (cڡ \ 5*
+__Çme
+)
+
+725 
+__THROW
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+728 #ià
+def\9aed
+__USE_BSD
+ || def\9aed 
+__USE_XOPEN_EXTENDED
+
+
+734 \r\ 5*
+       $»®·th
+ (cڡ \ 5*
+__»¡riù
+__Çme
+,
+
+735 \ 5*
+__»¡riù
+__»sÞved
+__THROW
+__wur
+;
+
+740 #iâdeà
+__COMPAR_FN_T
+
+
+741 \ 1
+       #__COMPAR_FN_T
+
+
+       )
+
+742 \e\12(*
+       t__com·r_â_t
+) (const \1e*, const \1e*);
+
+744 #ifdef 
+__USE_GNU
+
+
+745 \e
+__com·r_â_t
+       tcom·risÚ_â_t
+;
+
+748 #ifdeà
+__USE_GNU
+
+
+749 \e\12(*
+       t__com·r_d_â_t
+) (const \1e*, const \1e*, \1e*);
+
+752 
+__BEGIN_NAMESPACE_STD
+
+
+755 \r\1e*
+       $b£¬ch
+ (cڡ \1e*
+__key
+, cڡ \1e*
+__ba£
+,
+
+756 
+size_t
+__nmemb
+, size_\88
+__size
+, 
+__com·r_â_t
+__com·r
+)
+
+757 
+       `__nÚnuÎ
+ ((1, 2, 5)è
+__wur
+;
+
+759 #ifdeà
+__USE_EXTERN_INLINES
+
+
+760 \ 2
+       ~<b\99s/¡dlib-b£¬ch.h
+>
+
+765 \r\1e
+       $qsÜt
+ (\1e*
+__ba£
+, 
+size_t
+__nmemb
+, size_\88
+__size
+,
+
+766 
+__com·r_â_t
+__com·r
+       `__nÚnuÎ
+ ((1, 4));
+
+767 #ifdeà
+__USE_GNU
+
+
+768 \r\1e
+       $qsÜt_r
+ (\1e*
+__ba£
+, 
+size_t
+__nmemb
+, size_\88
+__size
+,
+
+769 
+__com·r_d_â_t
+__com·r
+, \1e*
+__¬g
+)
+
+770 
+       `__nÚnuÎ
+ ((1, 4));
+
+775 \r\12
+       $abs
+ (\12
+__x
+__THROW
+       `__©\8cibu\8b__
+ ((
+__cڡ__
+)è
+__wur
+;
+
+776 \r\13\12
+       $Ïbs
+ (\13\12
+__x
+__THROW
+       `__©\8cibu\8b__
+ ((
+__cڡ__
+)è
+__wur
+;
+
+777 
+__END_NAMESPACE_STD
+
+
+779 #ifdeà
+__USE_ISOC99
+
+
+780 
+__ex\8bnsiÚ__
\r\13\13\12
+       $Îabs
+ (\13\13\12
+__x
+)
+
+781 
+__THROW
+       `__©\8cibu\8b__
+ ((
+__cڡ__
+)è
+__wur
+;
+
+785 
+__BEGIN_NAMESPACE_STD
+
+
+789 \r
+div_t
+       $div
+ (\12
+__num\94
+, \12
+__d\92om
+)
+
+790 
+__THROW
+       `__©\8cibu\8b__
+ ((
+__cڡ__
+)è
+__wur
+;
+
+791 \r
+ldiv_t
+       $ldiv
+ (\13\12
+__num\94
+, \13\12
+__d\92om
+)
+
+792 
+__THROW
+       `__©\8cibu\8b__
+ ((
+__cڡ__
+)è
+__wur
+;
+
+793 
+__END_NAMESPACE_STD
+
+
+795 #ifdeà
+__USE_ISOC99
+
+
+796 
+__BEGIN_NAMESPACE_C99
+
+
+797 
+__ex\8bnsiÚ__
\r
+Îdiv_t
+       $Îdiv
+ (\13\13\12
+__num\94
+,
+
+798 \13\13\12
+__d\92om
+)
+
+799 
+__THROW
+       `__©\8cibu\8b__
+ ((
+__cڡ__
+)è
+__wur
+;
+
+800 
+__END_NAMESPACE_C99
+
+
+804 #ià(
+def\9aed
+__USE_XOPEN_EXTENDED
+ && !def\9aed 
+__USE_XOPEN2K8
+) \
+
+805 || 
+def\9aed
+__USE_SVID
+
+
+812 \r\ 5*
+       $ecvt
+ (\b
+__v®ue
+, \12
+__ndig\99
+, \12*
+__»¡riù
+__deýt
+,
+
+813 \12*
+__»¡riù
+__sign
+__THROW
+       `__nÚnuÎ
+ ((3, 4)è
+__wur
+;
+
+818 \r\ 5*
+       $fcvt
+ (\b
+__v®ue
+, \12
+__ndig\99
+, \12*
+__»¡riù
+__deýt
+,
+
+819 \12*
+__»¡riù
+__sign
+__THROW
+       `__nÚnuÎ
+ ((3, 4)è
+__wur
+;
+
+824 \r\ 5*
+       $gcvt
+ (\b
+__v®ue
+, \12
+__ndig\99
+, \ 5*
+__buf
+)
+
+825 
+__THROW
+       `__nÚnuÎ
+ ((3)è
+__wur
+;
+
+828 #ifdeà
+__USE_MISC
+
+
+830 \r\ 5*
+       $qecvt
+ (\13\b
+__v®ue
+, \12
+__ndig\99
+,
+
+831 \12*
+__»¡riù
+__deýt
+, \12*__»¡riù 
+__sign
+)
+
+832 
+__THROW
+       `__nÚnuÎ
+ ((3, 4)è
+__wur
+;
+
+833 \r\ 5*
+       $qfcvt
+ (\13\b
+__v®ue
+, \12
+__ndig\99
+,
+
+834 \12*
+__»¡riù
+__deýt
+, \12*__»¡riù 
+__sign
+)
+
+835 
+__THROW
+       `__nÚnuÎ
+ ((3, 4)è
+__wur
+;
+
+836 \r\ 5*
+       $qgcvt
+ (\13\b
+__v®ue
+, \12
+__ndig\99
+, \ 5*
+__buf
+)
+
+837 
+__THROW
+       `__nÚnuÎ
+ ((3)è
+__wur
+;
+
+842 \r\12
+       $ecvt_r
+ (\b
+__v®ue
+, \12
+__ndig\99
+, \12*
+__»¡riù
+__deýt
+,
+
+843 \12*
+__»¡riù
+__sign
+, \ 5*__»¡riù 
+__buf
+,
+
+844 
+size_t
+__Ën
+__THROW
+       `__nÚnuÎ
+ ((3, 4, 5));
+
+845 \r\12
+       $fcvt_r
+ (\b
+__v®ue
+, \12
+__ndig\99
+, \12*
+__»¡riù
+__deýt
+,
+
+846 \12*
+__»¡riù
+__sign
+, \ 5*__»¡riù 
+__buf
+,
+
+847 
+size_t
+__Ën
+__THROW
+       `__nÚnuÎ
+ ((3, 4, 5));
+
+849 \r\12
+       $qecvt_r
+ (\13\b
+__v®ue
+, \12
+__ndig\99
+,
+
+850 \12*
+__»¡riù
+__deýt
+, \12*__»¡riù 
+__sign
+,
+
+851 \ 5*
+__»¡riù
+__buf
+, 
+size_t
+__Ën
+)
+
+852 
+__THROW
+       `__nÚnuÎ
+ ((3, 4, 5));
+
+853 \r\12
+       $qfcvt_r
+ (\13\b
+__v®ue
+, \12
+__ndig\99
+,
+
+854 \12*
+__»¡riù
+__deýt
+, \12*__»¡riù 
+__sign
+,
+
+855 \ 5*
+__»¡riù
+__buf
+, 
+size_t
+__Ën
+)
+
+856 
+__THROW
+       `__nÚnuÎ
+ ((3, 4, 5));
+
+860 
+__BEGIN_NAMESPACE_STD
+
+
+863 \r\12
+       $mbËn
+ (cڡ \ 5*
+__s
+, 
+size_t
+__n
+__THROW
+;
+
+866 \r\12
+       $mbtowc
+ (
+wch¬_t
+ *
+__»¡riù
+__pwc
+,
+
+867 cڡ \ 5*
+__»¡riù
+__s
+, 
+size_t
+__n
+__THROW
+;
+
+870 \r\12
+       $wùomb
+ (\ 5*
+__s
+, 
+wch¬_t
+__wch¬
+__THROW
+;
+
+874 \r
+size_t
+       $mb¡owcs
+ (
+wch¬_t
+ *
+__»¡riù
+__pwcs
+,
+
+875 cڡ \ 5*
+__»¡riù
+__s
+, 
+size_t
+__n
+__THROW
+;
+
+877 \r
+size_t
+       $wc¡ombs
+ (\ 5*
+__»¡riù
+__s
+,
+
+878 cڡ 
+wch¬_t
+ *
+__»¡riù
+__pwcs
+, 
+size_t
+__n
+)
+
+879 
+__THROW
+;
+
+880 
+__END_NAMESPACE_STD
+
+
+883 #ifdeà
+__USE_SVID
+
+
+888 \r\12
+       $½m©ch
+ (cڡ \ 5*
+__»¥Ú£
+__THROW
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+892 #ià
+def\9aed
+__USE_XOPEN_EXTENDED
+ || def\9aed 
+__USE_XOPEN2K8
+
+
+899 \r\12
+       $g\91subÝt
+ (\ 5**
+__»¡riù
+__ÝtiÚp
+,
+
+900 \ 5*cڡ *
+__»¡riù
+__tok\92s
+,
+
+901 \ 5**
+__»¡riù
+__v®u\95
+)
+
+902 
+__THROW
+       `__nÚnuÎ
+ ((1, 2, 3)è
+__wur
+;
+
+906 #ifdeà
+__USE_XOPEN
+
+
+908 \r\1e
+       $£tkey
+ (cڡ \ 5*
+__key
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+914 #ifdeà
+__USE_XOPEN2KXSI
+
+
+916 \r\12
+       $posix_Ý\92±
+ (\12
+__oæag
+__wur
+;
+
+919 #ifdeà
+__USE_XOPEN
+
+
+924 \r\12
+       $g¿Á±
+ (\12
+__fd
+__THROW
+;
+
+928 \r\12
+       $uÆock±
+ (\12
+__fd
+__THROW
+;
+
+933 \r\ 5*
+       $±¢ame
+ (\12
+__fd
+__THROW
+__wur
+;
+
+936 #ifdeà
+__USE_GNU
+
+
+940 \r\12
+       $±¢ame_r
+ (\12
+__fd
+, \ 5*
+__buf
+, 
+size_t
+__buæ\92
+)
+
+941 
+__THROW
+       `__nÚnuÎ
+ ((2));
+
+944 \r\12
+       `g\91±
+ (\1e);
+
+947 #ifdeà
+__USE_BSD
+
+
+951 \r\12
+       $g\91lßdavg
+ (\b
+__lßdavg
+[], \12
+__ÃËm
+)
+
+952 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+955 \ 2
+       ~<b\99s/¡dlib-æßt.h
+>
+
+958 #ià
+__USE_FORTIFY_LEVEL
+ > 0 && 
+def\9aed
+__fÜtify_funùiÚ
+
+
+959 \ 2
+       ~<b\99s/¡dlib.h
+>
+
+961 #ifdeà
+__LDBL_COMPAT
+
+
+962 \ 2
+       ~<b\99s/¡dlib-ldbl.h
+>
+
+966 #undeà
+__Ãed_m®loc_ªd_ÿÎoc
+
+
+968 
+__END_DECLS
+
+
+       @/usr/include/string.h
+
+22 #iâdef 
+_STRING_H
+
+
+23 \ 1
+       #_STRING_H
+ 1
+
+       )
+
+25 \ 2
+       ~<ã©u»s.h
+>
+
+27 
+       g__BEGIN_DECLS
+
+
+30 \ 1
+       #__Ãed_size_t
+
+
+       )
+
+31 \ 1
+       #__Ãed_NULL
+
+
+       )
+
+32 \ 2
+       ~<¡ddef.h
+>
+
+39 #ià
+def\9aed
+__ýlu¥lus
+ && (__ýlu¥lu >ð199711L || 
+__GNUC_PREREQ
+ (4, 4))
+
+40 \ 1
+       #__CORRECT_ISO_CPP_STRING_H_PROTO
+
+
+       )
+
+44 
+__BEGIN_NAMESPACE_STD
+
+
+46 \r\1e*
+       $memýy
+ (\1e*
+__»¡riù
+__de¡
+, cÚ¡ \1e*__»¡riù 
+__¤c
+,
+
+47 
+size_t
+__n
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+50 \r\1e*
+       $memmove
+ (\1e*
+__de¡
+, cڡ \1e*
+__¤c
+, 
+size_t
+__n
+)
+
+51 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+52 
+__END_NAMESPACE_STD
+
+
+57 #ià
+def\9aed
+__USE_SVID
+ || def\9aed 
+__USE_BSD
+ || def\9aed 
+__USE_XOPEN
+
+
+58 \r\1e*
+       $memcýy
+ (\1e*
+__»¡riù
+__de¡
+, cÚ¡ \1e*__»¡riù 
+__¤c
+,
+
+59 \12
+__c
+, 
+size_t
+__n
+)
+
+60 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+64 
+__BEGIN_NAMESPACE_STD
+
+
+66 \r\1e*
+       $mem£t
+ (\1e*
+__s
+, \12
+__c
+, 
+size_t
+__n
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+69 \r\12
+       $memcmp
+ (cڡ \1e*
+__s1
+, cڡ \1e*
+__s2
+, 
+size_t
+__n
+)
+
+70 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2));
+
+73 #ifdeà
+__CORRECT_ISO_CPP_STRING_H_PROTO
+
+
+76 \r\1e*
+       `memchr
+ (\1e*
+__s
+, \12
+__c
+, 
+size_t
+__n
+)
+
+77 
+__THROW
+       `__asm
+ ("memchr"è
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1));
+
+78 \rcڡ \1e*
+       `memchr
+ (cڡ \1e*
+__s
+, \12
+__c
+, 
+size_t
+__n
+)
+
+79 
+__THROW
+       `__asm
+ ("memchr"è
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1));
+
+81 #ifdeà
+__OPTIMIZE__
+
+
+82 
+__ex\8bº_®ways_\9al\9ae
\1e*
+
+83 
+       `memchr
+ (\1e*
+__s
+, \12
+__c
+, 
+size_t
+__n
+__THROW
+
+
+85 \15 
+       `__bu\9et\9a_memchr
+ (
+__s
+, 
+__c
+, 
+__n
+);
+
+88 
+__ex\8bº_®ways_\9al\9ae
+ const \1e*
+
+89 
+       `memchr
+ (cڡ \1e*
+__s
+, \12
+__c
+, 
+size_t
+__n
+__THROW
+
+
+91 \15 
+       `__bu\9et\9a_memchr
+ (
+__s
+, 
+__c
+, 
+__n
+);
+
+94 
+       }
+}
+
+96 \r\1e*
+       $memchr
+ (cڡ \1e*
+__s
+, \12
+__c
+, 
+size_t
+__n
+)
+
+97 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1));
+
+99 
+__END_NAMESPACE_STD
+
+
+101 #ifdeà
+__USE_GNU
+
+
+104 #ifdeà
+__CORRECT_ISO_CPP_STRING_H_PROTO
+
+
+105 \r"C++" \1e*
+       $¿wmemchr
+ (\1e*
+__s
+, \12
+__c
+)
+
+106 
+__THROW
+       `__asm
+ ("¿wmemchr"è
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1));
+
+107 \r"C++" cڡ \1e*
+       $¿wmemchr
+ (cڡ \1e*
+__s
+, \12
+__c
+)
+
+108 
+__THROW
+       `__asm
+ ("¿wmemchr"è
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1));
+
+110 \r\1e*
+       $¿wmemchr
+ (cڡ \1e*
+__s
+, \12
+__c
+)
+
+111 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1));
+
+115 #ifdeà
+__CORRECT_ISO_CPP_STRING_H_PROTO
+
+
+116 \r"C++" \1e*
+       $memrchr
+ (\1e*
+__s
+, \12
+__c
+, 
+size_t
+__n
+)
+
+117 
+__THROW
+       `__asm
+ ("memrchr"è
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1));
+
+118 \r"C++" cڡ \1e*
+       $memrchr
+ (cڡ \1e*
+__s
+, \12
+__c
+, 
+size_t
+__n
+)
+
+119 
+__THROW
+       `__asm
+ ("memrchr"è
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1));
+
+121 \r\1e*
+       $memrchr
+ (cڡ \1e*
+__s
+, \12
+__c
+, 
+size_t
+__n
+)
+
+122 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1));
+
+127 
+__BEGIN_NAMESPACE_STD
+
+
+129 \r\ 5*
+       $¡rýy
+ (\ 5*
+__»¡riù
+__de¡
+, cÚ¡ \ 5*__»¡riù 
+__¤c
+)
+
+130 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+132 \r\ 5*
+       $¡ºýy
+ (\ 5*
+__»¡riù
+__de¡
+,
+
+133 cڡ \ 5*
+__»¡riù
+__¤c
+, 
+size_t
+__n
+)
+
+134 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+137 \r\ 5*
+       $¡rÿt
+ (\ 5*
+__»¡riù
+__de¡
+, cÚ¡ \ 5*__»¡riù 
+__¤c
+)
+
+138 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+140 \r\ 5*
+       $¡ºÿt
+ (\ 5*
+__»¡riù
+__de¡
+, cÚ¡ \ 5*__»¡riù 
+__¤c
+,
+
+141 
+size_t
+__n
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+144 \r\12
+       $¡rcmp
+ (cڡ \ 5*
+__s1
+, cڡ \ 5*
+__s2
+)
+
+145 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2));
+
+147 \r\12
+       $¡ºcmp
+ (cڡ \ 5*
+__s1
+, cڡ \ 5*
+__s2
+, 
+size_t
+__n
+)
+
+148 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2));
+
+151 \r\12
+       $¡rcÞl
+ (cڡ \ 5*
+__s1
+, cڡ \ 5*
+__s2
+)
+
+152 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2));
+
+154 \r
+size_t
+       $¡rxäm
+ (\ 5*
+__»¡riù
+__de¡
+,
+
+155 cڡ \ 5*
+__»¡riù
+__¤c
+, 
+size_t
+__n
+)
+
+156 
+__THROW
+       `__nÚnuÎ
+ ((2));
+
+157 
+__END_NAMESPACE_STD
+
+
+159 #ifdeà
+__USE_XOPEN2K8
+
+
+163 \ 2
+       ~<xloÿË.h
+>
+
+166 \r\12
+       $¡rcÞl_l
+ (cڡ \ 5*
+__s1
+, cڡ \ 5*
+__s2
+, 
+__loÿË_t
+__l
+)
+
+167 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2, 3));
+
+169 \r
+size_t
+       $¡rxäm_l
+ (\ 5*
+__de¡
+, cڡ \ 5*
+__¤c
+, 
+size_t
+__n
+,
+
+170 
+__loÿË_t
+__l
+__THROW
+       `__nÚnuÎ
+ ((2, 4));
+
+173 #ià
+def\9aed
+__USE_SVID
+ || def\9aed 
+__USE_BSD
+ || def\9aed 
+__USE_XOPEN_EXTENDED
+ \
+
+174 || 
+def\9aed
+__USE_XOPEN2K8
+
+
+176 \r\ 5*
+       $¡rdup
+ (cڡ \ 5*
+__s
+)
+
+177 
+__THROW
+__©\8cibu\8b_m®loc__
+       `__nÚnuÎ
+ ((1));
+
+183 #ià
+def\9aed
+__USE_XOPEN2K8
+
+
+184 \r\ 5*
+       $¡ºdup
+ (cڡ \ 5*
+__¡r\9ag
+, 
+size_t
+__n
+)
+
+185 
+__THROW
+__©\8cibu\8b_m®loc__
+       `__nÚnuÎ
+ ((1));
+
+188 #ià
+def\9aed
+__USE_GNU
+ && def\9aed 
+__GNUC__
+
+
+190 \ 1
+       #¡rdu·
+(
+s
+) \
+
+191 (
+__ex\8bnsiÚ__
+ \
+
+193 cڡ \ 5*
+__Þd
+ = (
+s
+); \
+
+194 
+size_t
+__Ën
+ = 
+       `¡¾\92
+ (
+__Þd
+) + 1; \
+
+195 \ 5*
+__Ãw
+ = (\ 5
+       `__bu\9et\9a_®loÿ
+ (
+__Ën
+); \
+
+196 (\ 5
+       `memýy
+ (
+__Ãw
+, 
+__Þd
+, 
+__Ën
+); \
+
+197 
+       }
+}))
+
+       )
+
+200 \ 1
+       #¡ºdu·
+(
+s
+, 
+n
+) \
+
+201 (
+__ex\8bnsiÚ__
+ \
+
+203 cڡ \ 5*
+__Þd
+ = (
+s
+); \
+
+204 
+size_t
+__Ën
+ = 
+       `¡ºËn
+ (
+__Þd
+, (
+n
+)); \
+
+205 \ 5*
+__Ãw
+ = (\ 5
+       `__bu\9et\9a_®loÿ
+ (
+__Ën
+ + 1); \
+
+206 
+__Ãw
+[
+__Ën
+] = '\0'; \
+
+207 (\ 5
+       `memýy
+ (
+__Ãw
+, 
+__Þd
+, 
+__Ën
+); \
+
+208 }))
+
+       )
+
+211 
+       g__BEGIN_NAMESPACE_STD
+
+
+213 #ifdeà
+__CORRECT_ISO_CPP_STRING_H_PROTO
+
+
+216 \r\ 5*
+¡rchr
+ (\ 5*
+__s
+, \12
+__c
+)
+
+217 
+__THROW
+__asm
+ ("¡rchr"è
+__©\8cibu\8b_pu»__
+__nÚnuÎ
+ ((1));
+
+218 \rcڡ \ 5*
+¡rchr
+ (cڡ \ 5*
+__s
+, \12
+__c
+)
+
+219 
+__THROW
+__asm
+ ("¡rchr"è
+__©\8cibu\8b_pu»__
+__nÚnuÎ
+ ((1));
+
+221 #ifdeà
+__OPTIMIZE__
+
+
+222 
+__ex\8bº_®ways_\9al\9ae
\ 5*
+
+223 
+¡rchr
+ (\ 5*
+__s
+, \12
+__c
+       g__THROW
+
+
+225 \15 
+__bu\9et\9a_¡rchr
+ (
+__s
+, 
+__c
+);
+
+228 
+__ex\8bº_®ways_\9al\9ae
+ const \ 5*
+
+229 
+¡rchr
+ (cڡ \ 5*
+__s
+, \12
+__c
+       g__THROW
+
+
+231 \15 
+__bu\9et\9a_¡rchr
+ (
+__s
+, 
+__c
+);
+
+236 \r\ 5*
+       $¡rchr
+ (cڡ \ 5*
+__s
+, \12
+__c
+)
+
+237 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1));
+
+240 #ifdeà
+__CORRECT_ISO_CPP_STRING_H_PROTO
+
+
+243 \r\ 5*
+       `¡¼chr
+ (\ 5*
+__s
+, \12
+__c
+)
+
+244 
+__THROW
+       `__asm
+ ("¡¼chr"è
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1));
+
+245 \rcڡ \ 5*
+       `¡¼chr
+ (cڡ \ 5*
+__s
+, \12
+__c
+)
+
+246 
+__THROW
+       `__asm
+ ("¡¼chr"è
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1));
+
+248 #ifdeà
+__OPTIMIZE__
+
+
+249 
+__ex\8bº_®ways_\9al\9ae
\ 5*
+
+250 
+       `¡¼chr
+ (\ 5*
+__s
+, \12
+__c
+__THROW
+
+
+252 \15 
+       `__bu\9et\9a_¡¼chr
+ (
+__s
+, 
+__c
+);
+
+255 
+__ex\8bº_®ways_\9al\9ae
+ const \ 5*
+
+256 
+       `¡¼chr
+ (cڡ \ 5*
+__s
+, \12
+__c
+__THROW
+
+
+258 \15 
+       `__bu\9et\9a_¡¼chr
+ (
+__s
+, 
+__c
+);
+
+261 
+       }
+}
+
+263 \r\ 5*
+       $¡¼chr
+ (cڡ \ 5*
+__s
+, \12
+__c
+)
+
+264 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1));
+
+266 
+__END_NAMESPACE_STD
+
+
+268 #ifdeà
+__USE_GNU
+
+
+271 #ifdeà
+__CORRECT_ISO_CPP_STRING_H_PROTO
+
+
+272 \r"C++" \ 5*
+       $¡rchºul
+ (\ 5*
+__s
+, \12
+__c
+)
+
+273 
+__THROW
+       `__asm
+ ("¡rchºul"è
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1));
+
+274 \r"C++" cڡ \ 5*
+       $¡rchºul
+ (cڡ \ 5*
+__s
+, \12
+__c
+)
+
+275 
+__THROW
+       `__asm
+ ("¡rchºul"è
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1));
+
+277 \r\ 5*
+       $¡rchºul
+ (cڡ \ 5*
+__s
+, \12
+__c
+)
+
+278 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1));
+
+282 
+__BEGIN_NAMESPACE_STD
+
+
+285 \r
+size_t
+       $¡rc¥n
+ (cڡ \ 5*
+__s
+, cڡ \ 5*
+__»jeù
+)
+
+286 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2));
+
+289 \r
+size_t
+       $¡r¥n
+ (cڡ \ 5*
+__s
+, cڡ \ 5*
+__acû±
+)
+
+290 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2));
+
+292 #ifdeà
+__CORRECT_ISO_CPP_STRING_H_PROTO
+
+
+295 \r\ 5*
+       `¡½brk
+ (\ 5*
+__s
+, cڡ \ 5*
+__acû±
+)
+
+296 
+__THROW
+       `__asm
+ ("¡½brk"è
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2));
+
+297 \rcڡ \ 5*
+       `¡½brk
+ (cڡ \ 5*
+__s
+, cڡ \ 5*
+__acû±
+)
+
+298 
+__THROW
+       `__asm
+ ("¡½brk"è
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2));
+
+300 #ifdeà
+__OPTIMIZE__
+
+
+301 
+__ex\8bº_®ways_\9al\9ae
\ 5*
+
+302 
+       `¡½brk
+ (\ 5*
+__s
+, cڡ \ 5*
+__acû±
+__THROW
+
+
+304 \15 
+       `__bu\9et\9a_¡½brk
+ (
+__s
+, 
+__acû±
+);
+
+307 
+__ex\8bº_®ways_\9al\9ae
+ const \ 5*
+
+308 
+       `¡½brk
+ (cڡ \ 5*
+__s
+, cڡ \ 5*
+__acû±
+__THROW
+
+
+310 \15 
+       `__bu\9et\9a_¡½brk
+ (
+__s
+, 
+__acû±
+);
+
+313 
+       }
+}
+
+315 \r\ 5*
+       $¡½brk
+ (cڡ \ 5*
+__s
+, cڡ \ 5*
+__acû±
+)
+
+316 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2));
+
+319 #ifdeà
+__CORRECT_ISO_CPP_STRING_H_PROTO
+
+
+322 \r\ 5*
+       `¡r¡r
+ (\ 5*
+__hay¡ack
+, cڡ \ 5*
+__ÃedË
+)
+
+323 
+__THROW
+       `__asm
+ ("¡r¡r"è
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2));
+
+324 \rcڡ \ 5*
+       `¡r¡r
+ (cڡ \ 5*
+__hay¡ack
+, cڡ \ 5*
+__ÃedË
+)
+
+325 
+__THROW
+       `__asm
+ ("¡r¡r"è
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2));
+
+327 #ifdeà
+__OPTIMIZE__
+
+
+328 
+__ex\8bº_®ways_\9al\9ae
\ 5*
+
+329 
+       `¡r¡r
+ (\ 5*
+__hay¡ack
+, cڡ \ 5*
+__ÃedË
+__THROW
+
+
+331 \15 
+       `__bu\9et\9a_¡r¡r
+ (
+__hay¡ack
+, 
+__ÃedË
+);
+
+334 
+__ex\8bº_®ways_\9al\9ae
+ const \ 5*
+
+335 
+       `¡r¡r
+ (cڡ \ 5*
+__hay¡ack
+, cڡ \ 5*
+__ÃedË
+__THROW
+
+
+337 \15 
+       `__bu\9et\9a_¡r¡r
+ (
+__hay¡ack
+, 
+__ÃedË
+);
+
+340 
+       }
+}
+
+342 \r\ 5*
+       $¡r¡r
+ (cڡ \ 5*
+__hay¡ack
+, cڡ \ 5*
+__ÃedË
+)
+
+343 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2));
+
+348 \r\ 5*
+       $¡¹ok
+ (\ 5*
+__»¡riù
+__s
+, cÚ¡ \ 5*__»¡riù 
+__d\96im
+)
+
+349 
+__THROW
+       `__nÚnuÎ
+ ((2));
+
+350 
+__END_NAMESPACE_STD
+
+
+354 \r\ 5*
+       $__¡¹ok_r
+ (\ 5*
+__»¡riù
+__s
+,
+
+355 cڡ \ 5*
+__»¡riù
+__d\96im
+,
+
+356 \ 5**
+__»¡riù
+__§ve_±r
+)
+
+357 
+__THROW
+       `__nÚnuÎ
+ ((2, 3));
+
+358 #ià
+def\9aed
+__USE_POSIX
+ || def\9aed 
+__USE_MISC
+
+
+359 \r\ 5*
+       $¡¹ok_r
+ (\ 5*
+__»¡riù
+__s
+, cÚ¡ \ 5*__»¡riù 
+__d\96im
+,
+
+360 \ 5**
+__»¡riù
+__§ve_±r
+)
+
+361 
+__THROW
+       `__nÚnuÎ
+ ((2, 3));
+
+364 #ifdeà
+__USE_GNU
+
+
+366 #ifdeà
+__CORRECT_ISO_CPP_STRING_H_PROTO
+
+
+367 \r"C++" \ 5*
+       $¡rÿ£¡r
+ (\ 5*
+__hay¡ack
+, cڡ \ 5*
+__ÃedË
+)
+
+368 
+__THROW
+       `__asm
+ ("¡rÿ£¡r"è
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2));
+
+369 \r"C++" cڡ \ 5*
+       $¡rÿ£¡r
+ (cڡ \ 5*
+__hay¡ack
+,
+
+370 cڡ \ 5*
+__ÃedË
+)
+
+371 
+__THROW
+       `__asm
+ ("¡rÿ£¡r"è
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2));
+
+373 \r\ 5*
+       $¡rÿ£¡r
+ (cڡ \ 5*
+__hay¡ack
+, cڡ \ 5*
+__ÃedË
+)
+
+374 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2));
+
+378 #ifdeà
+__USE_GNU
+
+
+382 \r\1e*
+       $memmem
+ (cڡ \1e*
+__hay¡ack
+, 
+size_t
+__hay¡ackËn
+,
+
+383 cڡ \1e*
+__ÃedË
+, 
+size_t
+__ÃedËËn
+)
+
+384 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 3));
+
+388 \r\1e*
+       $__mempýy
+ (\1e*
+__»¡riù
+__de¡
+,
+
+389 cڡ \1e*
+__»¡riù
+__¤c
+, 
+size_t
+__n
+)
+
+390 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+391 \r\1e*
+       $mempýy
+ (\1e*
+__»¡riù
+__de¡
+,
+
+392 cڡ \1e*
+__»¡riù
+__¤c
+, 
+size_t
+__n
+)
+
+393 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+397 
+__BEGIN_NAMESPACE_STD
+
+
+399 \r
+size_t
+       $¡¾\92
+ (cڡ \ 5*
+__s
+)
+
+400 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1));
+
+401 
+__END_NAMESPACE_STD
+
+
+403 #ifdef 
+__USE_XOPEN2K8
+
+
+406 \r
+size_t
+       $¡ºËn
+ (cڡ \ 5*
+__¡r\9ag
+, 
+size_t
+__maxËn
+)
+
+407 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1));
+
+411 
+__BEGIN_NAMESPACE_STD
+
+
+413 \r\ 5*
+       $¡»¼Ü
+ (\12
+__\94ºum
+__THROW
+;
+
+414 
+__END_NAMESPACE_STD
+
+
+415 #ià
+def\9aed
+__USE_XOPEN2K
+ || def\9aed 
+__USE_MISC
+
+
+423 #ià
+def\9aed
+__USE_XOPEN2K
+ && !def\9aed 
+__USE_GNU
+
+
+426 #ifdeà
+__REDIRECT_NTH
+
+
+427 \r\12
+       `__REDIRECT_NTH
+ (
+¡»¼Ü_r
+,
+
+428 (\12
+__\94ºum
+, \ 5*
+__buf
+, 
+size_t
+__buæ\92
+),
+
+429 
+__xpg_¡»¼Ü_r
+       `__nÚnuÎ
+ ((2));
+
+431 \r\12
+       $__xpg_¡»¼Ü_r
+ (\12
+__\94ºum
+, \ 5*
+__buf
+, 
+size_t
+__buæ\92
+)
+
+432 
+__THROW
+       `__nÚnuÎ
+ ((2));
+
+433 \ 1
+       #¡»¼Ü_r
+__xpg_¡»¼Ü_r
+
+
+       )
+
+438 \r\ 5*
+       $¡»¼Ü_r
+ (\12
+__\94ºum
+, \ 5*
+__buf
+, 
+size_t
+__buæ\92
+)
+
+439 
+__THROW
+       `__nÚnuÎ
+ ((2)è
+__wur
+;
+
+443 #ifdeà
+__USE_XOPEN2K8
+
+
+445 \r\ 5*
+       $¡»¼Ü_l
+ (\12
+__\94ºum
+, 
+__loÿË_t
+__l
+__THROW
+;
+
+451 \r\1e
+       $__bz\94o
+ (\1e*
+__s
+, 
+size_t
+__n
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+453 #ifdeà
+__USE_BSD
+
+
+455 \r\1e
+       $bcÝy
+ (cڡ \1e*
+__¤c
+, \1e*
+__de¡
+, 
+size_t
+__n
+)
+
+456 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+459 \r\1e
+       $bz\94o
+ (\1e*
+__s
+, 
+size_t
+__n
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+462 \r\12
+       $bcmp
+ (cڡ \1e*
+__s1
+, cڡ \1e*
+__s2
+, 
+size_t
+__n
+)
+
+463 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2));
+
+466 #ifdeà
+__CORRECT_ISO_CPP_STRING_H_PROTO
+
+
+469 \r\ 5*
+       `\9adex
+ (\ 5*
+__s
+, \12
+__c
+)
+
+470 
+__THROW
+       `__asm
+ ("\9adex"è
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1));
+
+471 \rcڡ \ 5*
+       `\9adex
+ (cڡ \ 5*
+__s
+, \12
+__c
+)
+
+472 
+__THROW
+       `__asm
+ ("\9adex"è
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1));
+
+474 #ià
+def\9aed
+__OPTIMIZE__
+ && !def\9aed 
+__CORRECT_ISO_CPP_STRINGS_H_PROTO
+
+
+475 
+__ex\8bº_®ways_\9al\9ae
\ 5*
+
+476 
+       `\9adex
+ (\ 5*
+__s
+, \12
+__c
+__THROW
+
+
+478 \15 
+       `__bu\9et\9a_\9adex
+ (
+__s
+, 
+__c
+);
+
+481 
+__ex\8bº_®ways_\9al\9ae
+ const \ 5*
+
+482 
+       `\9adex
+ (cڡ \ 5*
+__s
+, \12
+__c
+__THROW
+
+
+484 \15 
+       `__bu\9et\9a_\9adex
+ (
+__s
+, 
+__c
+);
+
+487 
+       }
+}
+
+489 \r\ 5*
+       $\9adex
+ (cڡ \ 5*
+__s
+, \12
+__c
+)
+
+490 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1));
+
+494 #ifdeà
+__CORRECT_ISO_CPP_STRING_H_PROTO
+
+
+497 \r\ 5*
+       `r\9adex
+ (\ 5*
+__s
+, \12
+__c
+)
+
+498 
+__THROW
+       `__asm
+ ("r\9adex"è
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1));
+
+499 \rcڡ \ 5*
+       `r\9adex
+ (cڡ \ 5*
+__s
+, \12
+__c
+)
+
+500 
+__THROW
+       `__asm
+ ("r\9adex"è
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1));
+
+502 #ià
+def\9aed
+__OPTIMIZE__
+ && !def\9aed 
+__CORRECT_ISO_CPP_STRINGS_H_PROTO
+
+
+503 
+__ex\8bº_®ways_\9al\9ae
\ 5*
+
+504 
+       `r\9adex
+ (\ 5*
+__s
+, \12
+__c
+__THROW
+
+
+506 \15 
+       `__bu\9et\9a_r\9adex
+ (
+__s
+, 
+__c
+);
+
+509 
+__ex\8bº_®ways_\9al\9ae
+ const \ 5*
+
+510 
+       `r\9adex
+ (cڡ \ 5*
+__s
+, \12
+__c
+__THROW
+
+
+512 \15 
+       `__bu\9et\9a_r\9adex
+ (
+__s
+, 
+__c
+);
+
+515 
+       }
+}
+
+517 \r\ 5*
+       $r\9adex
+ (cڡ \ 5*
+__s
+, \12
+__c
+)
+
+518 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1));
+
+523 \r\12
+       $ffs
+ (\12
+__i
+__THROW
+       `__©\8cibu\8b__
+ ((
+__cڡ__
+));
+
+527 #ifdef 
+__USE_GNU
+
+
+528 \r\12
+       $ff¦
+ (\13\12
+__l
+__THROW
+       `__©\8cibu\8b__
+ ((
+__cڡ__
+));
+
+529 
+__ex\8bnsiÚ__
\r\12
+       $ff¦l
+ (\13\13\12
+__Î
+)
+
+530 
+__THROW
+       `__©\8cibu\8b__
+ ((
+__cڡ__
+));
+
+534 \r\12
+       $¡rÿ£cmp
+ (cڡ \ 5*
+__s1
+, cڡ \ 5*
+__s2
+)
+
+535 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2));
+
+538 \r\12
+       $¡ºÿ£cmp
+ (cڡ \ 5*
+__s1
+, cڡ \ 5*
+__s2
+, 
+size_t
+__n
+)
+
+539 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2));
+
+542 #ifdef 
+__USE_GNU
+
+
+545 \r\12
+       $¡rÿ£cmp_l
+ (cڡ \ 5*
+__s1
+, cڡ \ 5*
+__s2
+,
+
+546 
+__loÿË_t
+__loc
+)
+
+547 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2, 3));
+
+549 \r\12
+       $¡ºÿ£cmp_l
+ (cڡ \ 5*
+__s1
+, cڡ \ 5*
+__s2
+,
+
+550 
+size_t
+__n
+, 
+__loÿË_t
+__loc
+)
+
+551 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2, 4));
+
+554 #ifdef 
+__USE_BSD
+
+
+557 \r\ 5*
+       $¡r£p
+ (\ 5**
+__»¡riù
+__¡r\9agp
+,
+
+558 cڡ \ 5*
+__»¡riù
+__d\96im
+)
+
+559 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+562 #ifdef 
+__USE_XOPEN2K8
+
+
+564 \r\ 5*
+       $¡rsigÇl
+ (\12
+__sig
+__THROW
+;
+
+567 \r\ 5*
+       $__¡pýy
+ (\ 5*
+__»¡riù
+__de¡
+, cÚ¡ \ 5*__»¡riù 
+__¤c
+)
+
+568 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+569 \r\ 5*
+       $¡pýy
+ (\ 5*
+__»¡riù
+__de¡
+, cÚ¡ \ 5*__»¡riù 
+__¤c
+)
+
+570 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+574 \r\ 5*
+       $__¡²ýy
+ (\ 5*
+__»¡riù
+__de¡
+,
+
+575 cڡ \ 5*
+__»¡riù
+__¤c
+, 
+size_t
+__n
+)
+
+576 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+577 \r\ 5*
+       $¡²ýy
+ (\ 5*
+__»¡riù
+__de¡
+,
+
+578 cڡ \ 5*
+__»¡riù
+__¤c
+, 
+size_t
+__n
+)
+
+579 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+582 #ifdef 
+__USE_GNU
+
+
+584 \r\12
+       $¡rv\94scmp
+ (cڡ \ 5*
+__s1
+, cڡ \ 5*
+__s2
+)
+
+585 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2));
+
+588 \r\ 5*
+       $¡räy
+ (\ 5*
+__¡r\9ag
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+591 \r\1e*
+       $memäob
+ (\1e*
+__s
+, 
+size_t
+__n
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+593 #iâdeà
+ba£Çme
+
+
+598 #ifdeà
+__CORRECT_ISO_CPP_STRING_H_PROTO
+
+
+599 \r"C++" \ 5*
+       $ba£Çme
+ (\ 5*
+__f\9e\92ame
+)
+
+600 
+__THROW
+       `__asm
+ ("ba£Çme"è
+       `__nÚnuÎ
+ ((1));
+
+601 \r"C++" cڡ \ 5*
+       $ba£Çme
+ (cڡ \ 5*
+__f\9e\92ame
+)
+
+602 
+__THROW
+       `__asm
+ ("ba£Çme"è
+       `__nÚnuÎ
+ ((1));
+
+604 \r\ 5*
+       $ba£Çme
+ (cڡ \ 5*
+__f\9e\92ame
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+610 #ià
+def\9aed
+__GNUC__
+ && __GNUC__ >= 2
+
+611 #ià
+def\9aed
+__OPTIMIZE__
+ && !def\9aed 
+__OPTIMIZE_SIZE__
+ \
+
+612 && !
+def\9aed
+__NO_INLINE__
+ && !def\9aed 
+__ýlu¥lus
+
+
+632 \ 2
+       ~<b\99s/¡r\9ag.h
+>
+
+635 \ 2
+       ~<b\99s/¡r\9ag2.h
+>
+
+638 #ià
+__USE_FORTIFY_LEVEL
+ > 0 && 
+def\9aed
+__fÜtify_funùiÚ
+
+
+640 \ 2
+       ~<b\99s/¡r\9ag3.h
+>
+
+644 
+__END_DECLS
+
+
+       @/usr/include/time.h
+
+22 #iâdef 
+_TIME_H
+
+
+24 #ià(! 
+def\9aed
+__Ãed_time_t
+ && !def\9aed 
+__Ãed_þock_t
+ && \
+
+25 ! 
+def\9aed
+       g__Ãed_time¥ec
+)
+
+26 \ 1
+       #_TIME_H
+ 1
+
+       )
+
+27 \ 2
+       ~<ã©u»s.h
+>
+
+29 
+       g__BEGIN_DECLS
+
+
+33 #ifdef 
+_TIME_H
+
+
+35 \ 1
+       #__Ãed_size_t
+
+
+       )
+
+36 \ 1
+       #__Ãed_NULL
+
+
+       )
+
+37 \ 2
+       ~<¡ddef.h
+>
+
+41 \ 2
+       ~<b\99s/time.h
+>
+
+44 #ià!
+def\9aed
+__STRICT_ANSI__
+ && !def\9aed 
+__USE_XOPEN2K
+
+
+45 #iâdeà
+CLK_TCK
+
+
+46 \ 1
+       #CLK_TCK
+CLOCKS_PER_SEC
+
+
+       )
+
+52 #ià!
+def\9aed
+__þock_t_def\9aed
+ && (def\9aed 
+_TIME_H
+ || def\9aed 
+__Ãed_þock_t
+)
+
+53 \ 1
+       #__þock_t_def\9aed
+ 1
+
+       )
+
+55 \ 2
+       ~<b\99s/ty³s.h
+>
+
+57 
+__BEGIN_NAMESPACE_STD
+
+
+59 \e
+__þock_t
+       tþock_t
+;
+
+60 
+       g__END_NAMESPACE_STD
+
+
+61 #ià
+def\9aed
+__USE_XOPEN
+ || def\9aed 
+__USE_POSIX
+ || def\9aed 
+__USE_MISC
+
+
+62 
+       $__USING_NAMESPACE_STD
+(
+þock_t
+)
+
+66 #undeà
+__Ãed_þock_t
+
+
+68 #ià!
+def\9aed
+__time_t_def\9aed
+ && (def\9aed 
+_TIME_H
+ || def\9aed 
+__Ãed_time_t
+)
+
+69 \ 1
+       #__time_t_def\9aed
+ 1
+
+       )
+
+71 \ 2
+       ~<b\99s/ty³s.h
+>
+
+73 
+__BEGIN_NAMESPACE_STD
+
+
+75 \e
+__time_t
+       ttime_t
+;
+
+76 
+__END_NAMESPACE_STD
+
+
+77 #ià
+def\9aed
+__USE_POSIX
+ || def\9aed 
+__USE_MISC
+ || def\9aed 
+__USE_SVID
+
+
+78 
+       $__USING_NAMESPACE_STD
+(
+time_t
+)
+
+82 #undeà
+__Ãed_time_t
+
+
+84 #ià!
+def\9aed
+__þockid_t_def\9aed
+ && \
+
+85 ((
+def\9aed
+_TIME_H
+ && def\9aed 
+__USE_POSIX199309
+è|| def\9aed 
+__Ãed_þockid_t
+)
+
+86 \ 1
+       #__þockid_t_def\9aed
+ 1
+
+       )
+
+88 \ 2
+       ~<b\99s/ty³s.h
+>
+
+91 \e
+__þockid_t
+       tþockid_t
+;
+
+94 #undeà
+__þockid_time_t
+
+
+96 #ià!
+def\9aed
+__tim\94_t_def\9aed
+ && \
+
+97 ((
+def\9aed
+_TIME_H
+ && def\9aed 
+__USE_POSIX199309
+è|| def\9aed 
+__Ãed_tim\94_t
+)
+
+98 \ 1
+       #__tim\94_t_def\9aed
+ 1
+
+       )
+
+100 \ 2
+       ~<b\99s/ty³s.h
+>
+
+103 \e
+__tim\94_t
+       ttim\94_t
+;
+
+106 #undeà
+__Ãed_tim\94_t
+
+
+109 #ià(!
+def\9aed
+__time¥ec_def\9aed
+ \
+
+110 && ((
+def\9aed
+_TIME_H
+ \
+
+111 && (
+def\9aed
+__USE_POSIX199309
+ || def\9aed 
+__USE_MISC
+ \
+
+112 || 
+def\9aed
+__USE_ISOC11
+)) \
+
+113 || 
+def\9aed
+__Ãed_time¥ec
+))
+
+114 \ 1
+       #__time¥ec_def\9aed
+ 1
+
+       )
+
+116 \ 2
+       ~<b\99s/ty³s.h
+>
+
+120 \19
+       stime¥ec
+
+
+122 
+__time_t
+tv_£c
+;
+
+123 
+__sysÿÎ_¦Úg_t
+tv_n£c
+;
+
+127 #undeà
+__Ãed_time¥ec
+
+
+130 #ifdef 
+_TIME_H
+
+
+131 
+__BEGIN_NAMESPACE_STD
+
+
+133 \19
+       stm
+
+
+135 \12
+tm_£c
+;
+
+136 \12
+tm_m\9a
+;
+
+137 \12
+tm_hour
+;
+
+138 \12
+tm_mday
+;
+
+139 \12
+tm_mÚ
+;
+
+140 \12
+tm_y\97r
+;
+
+141 \12
+tm_wday
+;
+
+142 \12
+tm_yday
+;
+
+143 \12
+tm_isd¡
+;
+
+145 #ifdef 
+__USE_BSD
+
+
+146 \13\12
+tm_gmtoff
+;
+
+147 cڡ \ 5*
+tm_zÚe
+;
+
+149 \13\12
+__tm_gmtoff
+;
+
+150 cڡ \ 5*
+__tm_zÚe
+;
+
+153 
+__END_NAMESPACE_STD
+
+
+154 #ià
+def\9aed
+__USE_XOPEN
+ || def\9aed 
+__USE_POSIX
+ || def\9aed 
+__USE_MISC
+
+
+155 
+       $__USING_NAMESPACE_STD
+(
+tm
+)
+
+159 #ifdeà
+__USE_POSIX199309
+
+
+161 \19
+       s\99im\94¥ec
+
+
+163 \19
+time¥ec
+\99_\9a\8brv®
+;
+
+164 \19
+time¥ec
+\99_v®ue
+;
+
+168 \19
+sigev\92t
+;
+
+172 #ifdeà
+__USE_XOPEN2K
+
+
+173 #iâdeà
+__pid_t_def\9aed
+
+
+174 \e
+__pid_t
+       tpid_t
+;
+
+175 \ 1
+       #__pid_t_def\9aed
+
+
+       )
+
+180 #ifdeà
+__USE_ISOC11
+
+
+182 \ 1
+       #TIME_UTC
+ 1
+
+       )
+
+186 
+__BEGIN_NAMESPACE_STD
+
+
+189 \r
+þock_t
+       $þock
+ (\1eè
+__THROW
+;
+
+192 \r
+time_t
+       $time
+ (
+time_t
+ *
+__tim\94
+__THROW
+;
+
+195 \r\b
+       $difáime
+ (
+time_t
+__time1
+,\81ime_\88
+__time0
+)
+
+196 
+__THROW
+       `__©\8cibu\8b__
+ ((
+__cڡ__
+));
+
+199 \r
+time_t
+       $mktime
+ (\19
+tm
+ *
+__\8d
+__THROW
+;
+
+205 \r
+size_t
+       $¡ráime
+ (\ 5*
+__»¡riù
+__s
+, 
+size_t
+__maxsize
+,
+
+206 cڡ \ 5*
+__»¡riù
+__fÜm©
+,
+
+207 cڡ \19
+tm
+ *
+__»¡riù
+__\8d
+__THROW
+;
+
+208 
+__END_NAMESPACE_STD
+
+
+210 #ifdeà
+__USE_XOPEN
+
+
+213 \r\ 5*
+       $¡½time
+ (cڡ \ 5*
+__»¡riù
+__s
+,
+
+214 cڡ \ 5*
+__»¡riù
+__fmt
+, \19
+tm
+ *
+__\8d
+)
+
+215 
+__THROW
+;
+
+218 #ifdeà
+__USE_XOPEN2K8
+
+
+221 \ 2
+       ~<xloÿË.h
+>
+
+223 \r
+size_t
+       $¡ráime_l
+ (\ 5*
+__»¡riù
+__s
+, 
+size_t
+__maxsize
+,
+
+224 cڡ \ 5*
+__»¡riù
+__fÜm©
+,
+
+225 cڡ \19
+tm
+ *
+__»¡riù
+__\8d
+,
+
+226 
+__loÿË_t
+__loc
+__THROW
+;
+
+229 #ifdeà
+__USE_GNU
+
+
+230 \r\ 5*
+       $¡½time_l
+ (cڡ \ 5*
+__»¡riù
+__s
+,
+
+231 cڡ \ 5*
+__»¡riù
+__fmt
+, \19
+tm
+ *
+__\8d
+,
+
+232 
+__loÿË_t
+__loc
+__THROW
+;
+
+236 
+__BEGIN_NAMESPACE_STD
+
+
+239 \r\19
+tm
+ *
+       $gmtime
+ (cڡ 
+time_t
+ *
+__tim\94
+__THROW
+;
+
+243 \r\19
+tm
+ *
+       $loÿÉime
+ (cڡ 
+time_t
+ *
+__tim\94
+__THROW
+;
+
+244 
+__END_NAMESPACE_STD
+
+
+246 #ià
+def\9aed
+__USE_POSIX
+ || def\9aed 
+__USE_MISC
+
+
+249 \r\19
+tm
+ *
+       $gmtime_r
+ (cڡ 
+time_t
+ *
+__»¡riù
+__tim\94
+,
+
+250 \19
+tm
+ *
+__»¡riù
+__\8d
+__THROW
+;
+
+254 \r\19
+tm
+ *
+       $loÿÉime_r
+ (cڡ 
+time_t
+ *
+__»¡riù
+__tim\94
+,
+
+255 \19
+tm
+ *
+__»¡riù
+__\8d
+__THROW
+;
+
+258 
+__BEGIN_NAMESPACE_STD
+
+
+261 \r\ 5*
+       $asùime
+ (cڡ \19
+tm
+ *
+__\8d
+__THROW
+;
+
+264 \r\ 5*
+       $ùime
+ (cڡ 
+time_t
+ *
+__tim\94
+__THROW
+;
+
+265 
+__END_NAMESPACE_STD
+
+
+267 #ià
+def\9aed
+__USE_POSIX
+ || def\9aed 
+__USE_MISC
+
+
+272 \r\ 5*
+       $asùime_r
+ (cڡ \19
+tm
+ *
+__»¡riù
+__\8d
+,
+
+273 \ 5*
+__»¡riù
+__buf
+__THROW
+;
+
+276 \r\ 5*
+       $ùime_r
+ (cڡ 
+time_t
+ *
+__»¡riù
+__tim\94
+,
+
+277 \ 5*
+__»¡riù
+__buf
+__THROW
+;
+
+282 \r\ 5*
+__tzÇme
+[2];
+
+283 \r\12
+__daylight
+;
+
+284 \r\13\12
+__timezÚe
+;
+
+287 #ifdef 
+__USE_POSIX
+
+
+289 \r\ 5*
+tzÇme
+[2];
+
+293 \r\1e
+       $tz£t
+ (\1eè
+__THROW
+;
+
+296 #ià
+def\9aed
+__USE_SVID
+ || def\9aed 
+__USE_XOPEN
+
+
+297 \r\12
+daylight
+;
+
+298 \r\13\12
+timezÚe
+;
+
+301 #ifdeà
+__USE_SVID
+
+
+304 \r\12
+       $¡ime
+ (cڡ 
+time_t
+ *
+__wh\92
+__THROW
+;
+
+310 \ 1
+       #__i¦\97p
+(
+y\97r
+) \
+
+311 ((
+y\97r
+è% 4 =ð0 && ((y\97rè% 100 !ð0 || (y\97rè% 400 =ð0))
+
+       )
+
+314 #ifdeà
+__USE_MISC
+
+
+319 \r
+time_t
+       $timegm
+ (\19
+tm
+ *
+__\8d
+__THROW
+;
+
+322 \r
+time_t
+       $tim\96oÿl
+ (\19
+tm
+ *
+__\8d
+__THROW
+;
+
+325 \r\12
+       $dysize
+ (\12
+__y\97r
+__THROW
+       `__©\8cibu\8b__
+ ((
+__cڡ__
+));
+
+329 #ifdeà
+__USE_POSIX199309
+
+
+334 \r\12
+       `Çno¦\93p
+ (cڡ \19
+time¥ec
+ *
+__»que¡ed_time
+,
+
+335 \19
+time¥ec
+ *
+__»ma\9a\9ag
+);
+
+339 \r\12
+       $þock_g\91»s
+ (
+þockid_t
+__þock_id
+, \19
+time¥ec
+ *
+__»s
+__THROW
+;
+
+342 \r\12
+       $þock_g\91time
+ (
+þockid_t
+__þock_id
+, \19
+time¥ec
+ *
+__\8d
+__THROW
+;
+
+345 \r\12
+       $þock_£\89ime
+ (
+þockid_t
+__þock_id
+, cڡ \19
+time¥ec
+ *
+__\8d
+)
+
+346 
+__THROW
+;
+
+348 #ifdeà
+__USE_XOPEN2K
+
+
+353 \r\12
+       `þock_Çno¦\93p
+ (
+þockid_t
+__þock_id
+, \12
+__æags
+,
+
+354 cڡ \19
+time¥ec
+ *
+__»q
+,
+
+355 \19
+time¥ec
+ *
+__»m
+);
+
+358 \r\12
+       $þock_g\91ýuþockid
+ (
+pid_t
+__pid
+, 
+þockid_t
+ *
+__þock_id
+__THROW
+;
+
+363 \r\12
+       $tim\94\97\8b
+ (
+þockid_t
+__þock_id
+,
+
+364 \19
+sigev\92t
+ *
+__»¡riù
+__evp
+,
+
+365 
+tim\94_t
+ *
+__»¡riù
+__tim\94id
+__THROW
+;
+
+368 \r\12
+       $tim\94_d\96\91e
+ (
+tim\94_t
+__tim\94id
+__THROW
+;
+
+371 \r\12
+       $tim\94\89ime
+ (
+tim\94_t
+__tim\94id
+, \12
+__æags
+,
+
+372 cڡ \19
+\99im\94¥ec
+ *
+__»¡riù
+__v®ue
+,
+
+373 \19
+\99im\94¥ec
+ *
+__»¡riù
+__ov®ue
+__THROW
+;
+
+376 \r\12
+       $tim\94_g\91time
+ (
+tim\94_t
+__tim\94id
+, \19
+\99im\94¥ec
+ *
+__v®ue
+)
+
+377 
+__THROW
+;
+
+380 \r\12
+       $tim\94_g\91ov\94run
+ (
+tim\94_t
+__tim\94id
+__THROW
+;
+
+384 #ifdeà
+__USE_ISOC11
+
+
+386 \r\12
+       $time¥ec_g\91
+ (\19
+time¥ec
+ *
+__ts
+, \12
+__ba£
+)
+
+387 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+391 #ifdeà
+__USE_XOPEN_EXTENDED
+
+
+403 \r\12
+g\91d©e_\94r
+;
+
+412 \r\19
+tm
+ *
+       `g\91d©e
+ (cڡ \ 5*
+__¡r\9ag
+);
+
+415 #ifdeà
+__USE_GNU
+
+
+426 \r\12
+       `g\91d©e_r
+ (cڡ \ 5*
+__»¡riù
+__¡r\9ag
+,
+
+427 \19
+tm
+ *
+__»¡riù
+__»sbuå
+);
+
+430 
+__END_DECLS
+
+
+       @/usr/include/unistd.h
+
+22 #iâdef 
+_UNISTD_H
+
+
+23 \ 1
+       #_UNISTD_H
+ 1
+
+       )
+
+25 \ 2
+       ~<ã©u»s.h
+>
+
+27 
+       g__BEGIN_DECLS
+
+
+32 #ifdeà
+__USE_XOPEN2K8
+
+
+34 \ 1
+       #_POSIX_VERSION
+ 200809L
+
+       )
+
+35 #\96
+def\9aed
+__USE_XOPEN2K
+
+
+37 \ 1
+       #_POSIX_VERSION
+ 200112L
+
+       )
+
+38 #\96
+def\9aed
+__USE_POSIX199506
+
+
+40 \ 1
+       #_POSIX_VERSION
+ 199506L
+
+       )
+
+41 #\96
+def\9aed
+__USE_POSIX199309
+
+
+43 \ 1
+       #_POSIX_VERSION
+ 199309L
+
+       )
+
+46 \ 1
+       #_POSIX_VERSION
+ 199009L
+
+       )
+
+52 #ifdeà
+__USE_XOPEN2K8
+
+
+53 \ 1
+       #__POSIX2_THIS_VERSION
+ 200809L
+
+       )
+
+55 #\96
+def\9aed
+__USE_XOPEN2K
+
+
+57 \ 1
+       #__POSIX2_THIS_VERSION
+ 200112L
+
+       )
+
+58 #\96
+def\9aed
+__USE_POSIX199506
+
+
+60 \ 1
+       #__POSIX2_THIS_VERSION
+ 199506L
+
+       )
+
+63 \ 1
+       #__POSIX2_THIS_VERSION
+ 199209L
+
+       )
+
+67 \ 1
+       #_POSIX2_VERSION
+__POSIX2_THIS_VERSION
+
+
+       )
+
+71 \ 1
+       #_POSIX2_C_BIND
+__POSIX2_THIS_VERSION
+
+
+       )
+
+75 \ 1
+       #_POSIX2_C_DEV
+__POSIX2_THIS_VERSION
+
+
+       )
+
+79 \ 1
+       #_POSIX2_SW_DEV
+__POSIX2_THIS_VERSION
+
+
+       )
+
+83 \ 1
+       #_POSIX2_LOCALEDEF
+__POSIX2_THIS_VERSION
+
+
+       )
+
+86 #ifdeà
+__USE_XOPEN2K8
+
+
+87 \ 1
+       #_XOPEN_VERSION
+ 700
+
+       )
+
+88 #\96
+def\9aed
+__USE_XOPEN2K
+
+
+89 \ 1
+       #_XOPEN_VERSION
+ 600
+
+       )
+
+90 #\96
+def\9aed
+__USE_UNIX98
+
+
+91 \ 1
+       #_XOPEN_VERSION
+ 500
+
+       )
+
+93 \ 1
+       #_XOPEN_VERSION
+ 4
+
+       )
+
+97 \ 1
+       #_XOPEN_XCU_VERSION
+ 4
+
+       )
+
+100 \ 1
+       #_XOPEN_XPG2
+ 1
+
+       )
+
+101 \ 1
+       #_XOPEN_XPG3
+ 1
+
+       )
+
+102 \ 1
+       #_XOPEN_XPG4
+ 1
+
+       )
+
+105 \ 1
+       #_XOPEN_UNIX
+ 1
+
+       )
+
+108 \ 1
+       #_XOPEN_CRYPT
+ 1
+
+       )
+
+112 \ 1
+       #_XOPEN_ENH_I18N
+ 1
+
+       )
+
+115 \ 1
+       #_XOPEN_LEGACY
+ 1
+
+       )
+
+202 \ 2
+       ~<b\99s/posix_Ýt.h
+>
+
+205 #ià
+def\9aed
+__USE_UNIX98
+ || def\9aed 
+__USE_XOPEN2K
+
+
+206 \ 2
+       ~<b\99s/\92v\9cÚm\92ts.h
+>
+
+210 \ 1
+       #STDIN_FILENO
+ 0
+
+       )
+
+211 \ 1
+       #STDOUT_FILENO
+ 1
+
+       )
+
+212 \ 1
+       #STDERR_FILENO
+ 2
+
+       )
+
+217 \ 2
+       ~<b\99s/ty³s.h
+>
+
+219 #iâdef 
+__ssize_t_def\9aed
+
+
+220 \e
+__ssize_t
+       tssize_t
+;
+
+221 \ 1
+       #__ssize_t_def\9aed
+
+
+       )
+
+224 \ 1
+       #__Ãed_size_t
+
+
+       )
+
+225 \ 1
+       #__Ãed_NULL
+
+
+       )
+
+226 \ 2
+       ~<¡ddef.h
+>
+
+228 #ià
+def\9aed
+__USE_XOPEN
+ || def\9aed 
+__USE_XOPEN2K
+
+
+231 #iâdeà
+__gid_t_def\9aed
+
+
+232 \e
+__gid_t
+       tgid_t
+;
+
+233 \ 1
+       #__gid_t_def\9aed
+
+
+       )
+
+236 #iâdeà
+__uid_t_def\9aed
+
+
+237 \e
+__uid_t
+       tuid_t
+;
+
+238 \ 1
+       #__uid_t_def\9aed
+
+
+       )
+
+241 #iâdeà
+__off_t_def\9aed
+
+
+242 #iâdeà
+__USE_FILE_OFFSET64
+
+
+243 \e
+__off_t
+       toff_t
+;
+
+245 \e
+__off64_t
+       toff_t
+;
+
+247 \ 1
+       #__off_t_def\9aed
+
+
+       )
+
+249 #ià
+def\9aed
+__USE_LARGEFILE64
+ && !def\9aed 
+__off64_t_def\9aed
+
+
+250 \e
+__off64_t
+       toff64_t
+;
+
+251 \ 1
+       #__off64_t_def\9aed
+
+
+       )
+
+254 #iâdeà
+__u£cÚds_t_def\9aed
+
+
+255 \e
+__u£cÚds_t
+       tu£cÚds_t
+;
+
+256 \ 1
+       #__u£cÚds_t_def\9aed
+
+
+       )
+
+259 #iâdeà
+__pid_t_def\9aed
+
+
+260 \e
+__pid_t
+       tpid_t
+;
+
+261 \ 1
+       #__pid_t_def\9aed
+
+
+       )
+
+265 #ià
+def\9aed
+__USE_MISC
+ || def\9aed 
+__USE_XOPEN_EXTENDED
+ || def\9aed 
+__USE_XOPEN2K
+
+
+266 #iâdeà
+__\9a\8d\8c_t_def\9aed
+
+
+267 \e
+__\9a\8d\8c_t
+       t\9a\8d\8c_t
+;
+
+268 \ 1
+       #__\9a\8d\8c_t_def\9aed
+
+
+       )
+
+272 #ià
+def\9aed
+__USE_BSD
+ || def\9aed 
+__USE_XOPEN
+
+
+273 #iâdeà
+__sockËn_t_def\9aed
+
+
+274 \e
+__sockËn_t
+       tsockËn_t
+;
+
+275 \ 1
+       #__sockËn_t_def\9aed
+
+
+       )
+
+281 \ 1
+       #R_OK
+ 4
+
+       )
+
+282 \ 1
+       #W_OK
+ 2
+
+       )
+
+283 \ 1
+       #X_OK
+ 1
+
+       )
+
+284 \ 1
+       #F_OK
+ 0
+
+       )
+
+287 \r\12
+       $acûss
+ (cڡ \ 5*
+__Çme
+, \12
+__ty³
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+289 #ifdeà
+__USE_GNU
+
+
+292 \r\12
+       $euidacûss
+ (cڡ \ 5*
+__Çme
+, \12
+__ty³
+)
+
+293 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+296 \r\12
+       $\97cûss
+ (cڡ \ 5*
+__Çme
+, \12
+__ty³
+)
+
+297 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+300 #ifdeà
+__USE_ATFILE
+
+
+304 \r\12
+       $çcûs§t
+ (\12
+__fd
+, cڡ \ 5*
+__f\9ee
+, \12
+__ty³
+, \12
+__æag
+)
+
+305 
+__THROW
+       `__nÚnuÎ
+ ((2)è
+__wur
+;
+
+310 #iâdef 
+_STDIO_H
+
+
+311 \ 1
+       #SEEK_SET
+ 0
+
+       )
+
+312 \ 1
+       #SEEK_CUR
+ 1
+
+       )
+
+313 \ 1
+       #SEEK_END
+ 2
+
+       )
+
+314 #ifdeà
+__USE_GNU
+
+
+315 \ 1
+       #SEEK_DATA
+ 3
+
+       )
+
+316 \ 1
+       #SEEK_HOLE
+ 4
+
+       )
+
+320 #ià
+def\9aed
+__USE_BSD
+ && !def\9aed 
+L_SET
+
+
+322 \ 1
+       #L_SET
+SEEK_SET
+
+
+       )
+
+323 \ 1
+       #L_INCR
+SEEK_CUR
+
+
+       )
+
+324 \ 1
+       #L_XTND
+SEEK_END
+
+
+       )
+
+333 #iâdeà
+__USE_FILE_OFFSET64
+
+
+334 \r
+__off_t
+       $l£ek
+ (\12
+__fd
+, 
+__off_t
+__off£t
+, \12
+__wh\92û
+__THROW
+;
+
+336 #ifdeà
+__REDIRECT_NTH
+
+
+337 \r
+__off64_t
+       `__REDIRECT_NTH
+ (
+l£ek
+,
+
+338 (\12
+__fd
+, 
+__off64_t
+__off£t
+, \12
+__wh\92û
+),
+
+339 
+l£ek64
+);
+
+341 \ 1
+       #l£ek
+l£ek64
+
+
+       )
+
+344 #ifdeà
+__USE_LARGEFILE64
+
+
+345 \r
+__off64_t
+       $l£ek64
+ (\12
+__fd
+, 
+__off64_t
+__off£t
+, \12
+__wh\92û
+)
+
+346 
+__THROW
+;
+
+353 \r\12
+       `þo£
+ (\12
+__fd
+);
+
+360 \r
+ssize_t
+       $»ad
+ (\12
+__fd
+, \1e*
+__buf
+, 
+size_t
+__nby\8bs
+__wur
+;
+
+366 \r
+ssize_t
+       $wr\99e
+ (\12
+__fd
+, cڡ \1e*
+__buf
+, 
+size_t
+__n
+__wur
+;
+
+368 #ià
+def\9aed
+__USE_UNIX98
+ || def\9aed 
+__USE_XOPEN2K8
+
+
+369 #iâdeà
+__USE_FILE_OFFSET64
+
+
+376 \r
+ssize_t
+       $´\97d
+ (\12
+__fd
+, \1e*
+__buf
+, 
+size_t
+__nby\8bs
+,
+
+377 
+__off_t
+__off£t
+__wur
+;
+
+384 \r
+ssize_t
+       $pwr\99e
+ (\12
+__fd
+, cڡ \1e*
+__buf
+, 
+size_t
+__n
+,
+
+385 
+__off_t
+__off£t
+__wur
+;
+
+387 #ifdeà
+__REDIRECT
+
+
+388 \r
+ssize_t
+       `__REDIRECT
+ (
\97d
+, (\12
+__fd
+, \1e*
+__buf
+, 
+size_t
+__nby\8bs
+,
+
+389 
+__off64_t
+__off£t
+),
+
+390 
\97d64
+__wur
+;
+
+391 \r
+ssize_t
+       `__REDIRECT
+ (
+pwr\99e
+, (\12
+__fd
+, cڡ \1e*
+__buf
+,
+
+392 
+size_t
+__nby\8bs
+, 
+__off64_t
+__off£t
+),
+
+393 
+pwr\99e64
+__wur
+;
+
+395 \ 1
+       #´\97d
\97d64
+
+
+       )
+
+396 \ 1
+       #pwr\99e
+pwr\99e64
+
+
+       )
+
+400 #ifdeà
+__USE_LARGEFILE64
+
+
+404 \r
+ssize_t
+       $´\97d64
+ (\12
+__fd
+, \1e*
+__buf
+, 
+size_t
+__nby\8bs
+,
+
+405 
+__off64_t
+__off£t
+__wur
+;
+
+408 \r
+ssize_t
+       $pwr\99e64
+ (\12
+__fd
+, cڡ \1e*
+__buf
+, 
+size_t
+__n
+,
+
+409 
+__off64_t
+__off£t
+__wur
+;
+
+417 \r\12
+       $p\9de
+ (\12
+__p\9dedes
+[2]è
+__THROW
+__wur
+;
+
+419 #ifdeà
+__USE_GNU
+
+
+422 \r\12
+       $p\9de2
+ (\12
+__p\9dedes
+[2], \12
+__æags
+__THROW
+__wur
+;
+
+432 \r\1d\12
+       $®¬m
+ (\1d\12
+__£cÚds
+__THROW
+;
+
+444 \r\1d\12
+       `¦\93p
+ (\1d\12
+__£cÚds
+);
+
+446 #ià(
+def\9aed
+__USE_XOPEN_EXTENDED
+ && !def\9aed 
+__USE_XOPEN2K8
+) \
+
+447 || 
+def\9aed
+__USE_BSD
+
+
+452 \r
+__u£cÚds_t
+       $u®¬m
+ (
+__u£cÚds_t
+__v®ue
+, __u£cÚds_\88
+__\9a\8brv®
+)
+
+453 
+__THROW
+;
+
+460 \r\12
+       `u¦\93p
+ (
+__u£cÚds_t
+__u£cÚds
+);
+
+469 \r\12
+       `·u£
+ (\1e);
+
+473 \r\12
+       $chown
+ (cڡ \ 5*
+__f\9ee
+, 
+__uid_t
+__owÃr
+, 
+__gid_t
+__group
+)
+
+474 
+__THROW
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+476 #ià
+def\9aed
+__USE_BSD
+ || def\9aed 
+__USE_XOPEN_EXTENDED
+ || def\9aed 
+__USE_XOPEN2K8
+
+
+478 \r\12
+       $fchown
+ (\12
+__fd
+, 
+__uid_t
+__owÃr
+, 
+__gid_t
+__group
+__THROW
+__wur
+;
+
+483 \r\12
+       $lchown
+ (cڡ \ 5*
+__f\9ee
+, 
+__uid_t
+__owÃr
+, 
+__gid_t
+__group
+)
+
+484 
+__THROW
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+488 #ifdeà
+__USE_ATFILE
+
+
+491 \r\12
+       $fchowÇt
+ (\12
+__fd
+, cڡ \ 5*
+__f\9ee
+, 
+__uid_t
+__owÃr
+,
+
+492 
+__gid_t
+__group
+, \12
+__æag
+)
+
+493 
+__THROW
+       `__nÚnuÎ
+ ((2)è
+__wur
+;
+
+497 \r\12
+       $chd\9c
+ (cڡ \ 5*
+__·th
+__THROW
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+499 #ià
+def\9aed
+__USE_BSD
+ || def\9aed 
+__USE_XOPEN_EXTENDED
+ || def\9aed 
+__USE_XOPEN2K8
+
+
+501 \r\12
+       $fchd\9c
+ (\12
+__fd
+__THROW
+__wur
+;
+
+511 \r\ 5*
+       $g\91cwd
+ (\ 5*
+__buf
+, 
+size_t
+__size
+__THROW
+__wur
+;
+
+513 #ifdef 
+__USE_GNU
+
+
+517 \r\ 5*
+       $g\91_cu¼\92t_d\9c_Çme
+ (\1eè
+__THROW
+;
+
+520 #ià(
+def\9aed
+__USE_XOPEN_EXTENDED
+ && !def\9aed 
+__USE_XOPEN2K8
+) \
+
+521 || 
+def\9aed
+__USE_BSD
+
+
+525 \r\ 5*
+       $g\91wd
+ (\ 5*
+__buf
+)
+
+526 
+__THROW
+       `__nÚnuÎ
+ ((1)è
+__©\8cibu\8b_d\95»ÿ\8bd__
+__wur
+;
+
+531 \r\12
+       $dup
+ (\12
+__fd
+__THROW
+__wur
+;
+
+534 \r\12
+       $dup2
+ (\12
+__fd
+, \12
+__fd2
+__THROW
+;
+
+536 #ifdeà
+__USE_GNU
+
+
+539 \r\12
+       $dup3
+ (\12
+__fd
+, \12
+__fd2
+, \12
+__æags
+__THROW
+;
+
+543 \r\ 5**
+__\92v\9cÚ
+;
+
+544 #ifdeà
+__USE_GNU
+
+
+545 \r\ 5**
+\92v\9cÚ
+;
+
+551 \r\12
+       $execve
+ (cڡ \ 5*
+__·th
+, \ 5*cڡ 
+__¬gv
+[],
+
+552 \ 5*cڡ 
+__\92vp
+[]è
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+554 #ifdeà
+__USE_XOPEN2K8
+
+
+557 \r\12
+       $ãxecve
+ (\12
+__fd
+, \ 5*cڡ 
+__¬gv
+[], \ 5*cڡ 
+__\92vp
+[])
+
+558 
+__THROW
+       `__nÚnuÎ
+ ((2));
+
+563 \r\12
+       $execv
+ (cڡ \ 5*
+__·th
+, \ 5*cڡ 
+__¬gv
+[])
+
+564 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+568 \r\12
+       $exeþe
+ (cڡ \ 5*
+__·th
+, cڡ \ 5*
+__¬g
+, ...)
+
+569 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+573 \r\12
+       $exeþ
+ (cڡ \ 5*
+__·th
+, cڡ \ 5*
+__¬g
+, ...)
+
+574 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+578 \r\12
+       $execvp
+ (cڡ \ 5*
+__f\9ee
+, \ 5*cڡ 
+__¬gv
+[])
+
+579 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+584 \r\12
+       $exeþp
+ (cڡ \ 5*
+__f\9ee
+, cڡ \ 5*
+__¬g
+, ...)
+
+585 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+587 #ifdeà
+__USE_GNU
+
+
+590 \r\12
+       $execv³
+ (cڡ \ 5*
+__f\9ee
+, \ 5*cڡ 
+__¬gv
+[],
+
+591 \ 5*cڡ 
+__\92vp
+[])
+
+592 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+596 #ià
+def\9aed
+__USE_MISC
+ || def\9aed 
+__USE_XOPEN
+
+
+598 \r\12
+       $niû
+ (\12
+__\9ac
+__THROW
+__wur
+;
+
+603 \r\1e
+       $_ex\99
+ (\12
+__¡©us
+       `__©\8cibu\8b__
+ ((
+__nÜ\91uº__
+));
+
+609 \ 2
+       ~<b\99s/cÚâame.h
+>
+
+612 \r\13\12
+       $·thcÚf
+ (cڡ \ 5*
+__·th
+, \12
+__Çme
+)
+
+613 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+616 \r\13\12
+       $å©hcÚf
+ (\12
+__fd
+, \12
+__Çme
+__THROW
+;
+
+619 \r\13\12
+       $syscÚf
+ (\12
+__Çme
+__THROW
+;
+
+621 #ifdef 
+__USE_POSIX2
+
+
+623 \r
+size_t
+       $cÚf¡r
+ (\12
+__Çme
+, \ 5*
+__buf
+, 
+size_t
+__Ën
+__THROW
+;
+
+628 \r
+__pid_t
+       $g\91pid
+ (\1eè
+__THROW
+;
+
+631 \r
+__pid_t
+       $g\91µid
+ (\1eè
+__THROW
+;
+
+634 \r
+__pid_t
+       $g\91pg½
+ (\1eè
+__THROW
+;
+
+637 \r
+__pid_t
+       $__g\91pgid
+ (
+__pid_t
+__pid
+__THROW
+;
+
+638 #ià
+def\9aed
+__USE_XOPEN_EXTENDED
+ || def\9aed 
+__USE_XOPEN2K8
+
+
+639 \r
+__pid_t
+       $g\91pgid
+ (
+__pid_t
+__pid
+__THROW
+;
+
+646 \r\12
+       $£\8dgid
+ (
+__pid_t
+__pid
+, __pid_\88
+__pgid
+__THROW
+;
+
+648 #ià
+def\9aed
+__USE_SVID
+ || def\9aed 
+__USE_BSD
+ || def\9aed 
+__USE_XOPEN_EXTENDED
+
+
+660 \r\12
+       $£\8d
+ (\1eè
+__THROW
+;
+
+667 \r
+__pid_t
+       $£tsid
+ (\1eè
+__THROW
+;
+
+669 #ià
+def\9aed
+__USE_XOPEN_EXTENDED
+ || def\9aed 
+__USE_XOPEN2K8
+
+
+671 \r
+__pid_t
+       $g\91sid
+ (
+__pid_t
+__pid
+__THROW
+;
+
+675 \r
+__uid_t
+       $g\91uid
+ (\1eè
+__THROW
+;
+
+678 \r
+__uid_t
+       $g\91euid
+ (\1eè
+__THROW
+;
+
+681 \r
+__gid_t
+       $g\91gid
+ (\1eè
+__THROW
+;
+
+684 \r
+__gid_t
+       $g\91egid
+ (\1eè
+__THROW
+;
+
+689 \r\12
+       $g\91groups
+ (\12
+__size
+, 
+__gid_t
+__li¡
+[]è
+__THROW
+__wur
+;
+
+691 #ifdef 
+__USE_GNU
+
+
+693 \r\12
+       $group_memb\94
+ (
+__gid_t
+__gid
+__THROW
+;
+
+700 \r\12
+       $£tuid
+ (
+__uid_t
+__uid
+__THROW
+__wur
+;
+
+702 #ià
+def\9aed
+__USE_BSD
+ || def\9aed 
+__USE_XOPEN_EXTENDED
+
+
+705 \r\12
+       $£\8ceuid
+ (
+__uid_t
+__ruid
+, __uid_\88
+__euid
+__THROW
+__wur
+;
+
+708 #ià
+def\9aed
+__USE_BSD
+ || def\9aed 
+__USE_XOPEN2K
+
+
+710 \r\12
+       $£\8buid
+ (
+__uid_t
+__uid
+__THROW
+__wur
+;
+
+717 \r\12
+       $£tgid
+ (
+__gid_t
+__gid
+__THROW
+__wur
+;
+
+719 #ià
+def\9aed
+__USE_BSD
+ || def\9aed 
+__USE_XOPEN_EXTENDED
+
+
+722 \r\12
+       $£\8cegid
+ (
+__gid_t
+__rgid
+, __gid_\88
+__egid
+__THROW
+__wur
+;
+
+725 #ià
+def\9aed
+__USE_BSD
+ || def\9aed 
+__USE_XOPEN2K
+
+
+727 \r\12
+       $£\8bgid
+ (
+__gid_t
+__gid
+__THROW
+__wur
+;
+
+730 #ifdeà
+__USE_GNU
+
+
+733 \r\12
+       $g\91»suid
+ (
+__uid_t
+ *
+__ruid
+, __uid_\88*
+__euid
+, __uid_\88*
+__suid
+)
+
+734 
+__THROW
+;
+
+738 \r\12
+       $g\91»sgid
+ (
+__gid_t
+ *
+__rgid
+, __gid_\88*
+__egid
+, __gid_\88*
+__sgid
+)
+
+739 
+__THROW
+;
+
+743 \r\12
+       $£\8cesuid
+ (
+__uid_t
+__ruid
+, __uid_\88
+__euid
+, __uid_\88
+__suid
+)
+
+744 
+__THROW
+__wur
+;
+
+748 \r\12
+       $£\8cesgid
+ (
+__gid_t
+__rgid
+, __gid_\88
+__egid
+, __gid_\88
+__sgid
+)
+
+749 
+__THROW
+__wur
+;
+
+756 \r
+__pid_t
+       $fÜk
+ (\1eè
+__THROWNL
+;
+
+758 #ià(
+def\9aed
+__USE_XOPEN_EXTENDED
+ && !def\9aed 
+__USE_XOPEN2K8
+) \
+
+759 || 
+def\9aed
+__USE_BSD
+
+
+764 \r
+__pid_t
+       $vfÜk
+ (\1eè
+__THROW
+;
+
+770 \r\ 5*
+       $\89yÇme
+ (\12
+__fd
+__THROW
+;
+
+774 \r\12
+       $\89yÇme_r
+ (\12
+__fd
+, \ 5*
+__buf
+, 
+size_t
+__buæ\92
+)
+
+775 
+__THROW
+       `__nÚnuÎ
+ ((2)è
+__wur
+;
+
+779 \r\12
+       $i§\89y
+ (\12
+__fd
+__THROW
+;
+
+781 #ià
+def\9aed
+__USE_BSD
+ \
+
+782 || (
+def\9aed
+__USE_XOPEN_EXTENDED
+ && !def\9aed 
+__USE_UNIX98
+)
+
+785 \r\12
+       $\89y¦Ù
+ (\1eè
+__THROW
+;
+
+790 \r\12
+       $l\9ak
+ (cڡ \ 5*
+__äom
+, cڡ \ 5*
+__to
+)
+
+791 
+__THROW
+       `__nÚnuÎ
+ ((1, 2)è
+__wur
+;
+
+793 #ifdeà
+__USE_ATFILE
+
+
+796 \r\12
+       $l\9a
+ (\12
+__äomfd
+, cڡ \ 5*
+__äom
+, \12
+__tofd
+,
+
+797 cڡ \ 5*
+__to
+, \12
+__æags
+)
+
+798 
+__THROW
+       `__nÚnuÎ
+ ((2, 4)è
+__wur
+;
+
+801 #ià
+def\9aed
+__USE_BSD
+ || def\9aed 
+__USE_XOPEN_EXTENDED
+ || def\9aed 
+__USE_XOPEN2K
+
+
+803 \r\12
+       $syml\9ak
+ (cڡ \ 5*
+__äom
+, cڡ \ 5*
+__to
+)
+
+804 
+__THROW
+       `__nÚnuÎ
+ ((1, 2)è
+__wur
+;
+
+809 \r
+ssize_t
+       $»adl\9ak
+ (cڡ \ 5*
+__»¡riù
+__·th
+,
+
+810 \ 5*
+__»¡riù
+__buf
+, 
+size_t
+__Ën
+)
+
+811 
+__THROW
+       `__nÚnuÎ
+ ((1, 2)è
+__wur
+;
+
+814 #ifdeà
+__USE_ATFILE
+
+
+816 \r\12
+       $syml\9a
+ (cڡ \ 5*
+__äom
+, \12
+__tofd
+,
+
+817 cڡ \ 5*
+__to
+__THROW
+       `__nÚnuÎ
+ ((1, 3)è
+__wur
+;
+
+820 \r
+ssize_t
+       $»adl\9a
+ (\12
+__fd
+, cڡ \ 5*
+__»¡riù
+__·th
+,
+
+821 \ 5*
+__»¡riù
+__buf
+, 
+size_t
+__Ën
+)
+
+822 
+__THROW
+       `__nÚnuÎ
+ ((2, 3)è
+__wur
+;
+
+826 \r\12
+       $uƚk
+ (cڡ \ 5*
+__Çme
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+828 #ifdeà
+__USE_ATFILE
+
+
+830 \r\12
+       $uÆ\9a
+ (\12
+__fd
+, cڡ \ 5*
+__Çme
+, \12
+__æag
+)
+
+831 
+__THROW
+       `__nÚnuÎ
+ ((2));
+
+835 \r\12
+       $rmd\9c
+ (cڡ \ 5*
+__·th
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+839 \r
+__pid_t
+       $tcg\91pg½
+ (\12
+__fd
+__THROW
+;
+
+842 \r\12
+       $tc£\8d
+ (\12
+__fd
+, 
+__pid_t
+__pg½_id
+__THROW
+;
+
+849 \r\ 5*
+       `g\91log\9a
+ (\1e);
+
+850 #ià
+def\9aed
+__USE_REENTRANT
+ || def\9aed 
+__USE_POSIX199506
+
+
+857 \r\12
+       $g\91log\9a_r
+ (\ 5*
+__Çme
+, 
+size_t
+__Çme_Ën
+       `__nÚnuÎ
+ ((1));
+
+860 #ifdef 
+__USE_BSD
+
+
+862 \r\12
+       $£\8eog\9a
+ (cڡ \ 5*
+__Çme
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+866 #ifdef 
+__USE_POSIX2
+
+
+870 \ 1
+       #__Ãed_g\91Ýt
+
+
+       )
+
+871 \ 2
+       ~<g\91Ýt.h
+>
+
+875 #ià
+def\9aed
+__USE_BSD
+ || def\9aed 
+__USE_UNIX98
+ || def\9aed 
+__USE_XOPEN2K
+
+
+879 \r\12
+       $g\91ho¡Çme
+ (\ 5*
+__Çme
+, 
+size_t
+__Ën
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+883 #ià
+def\9aed
+__USE_BSD
+ || (def\9aed 
+__USE_XOPEN
+ && !def\9aed 
+__USE_UNIX98
+)
+
+886 \r\12
+       $£tho¡Çme
+ (cڡ \ 5*
+__Çme
+, 
+size_t
+__Ën
+)
+
+887 
+__THROW
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+891 \r\12
+       $£tho¡id
+ (\13\12
+__id
+__THROW
+__wur
+;
+
+897 \r\12
+       $g\91doma\9aÇme
+ (\ 5*
+__Çme
+, 
+size_t
+__Ën
+)
+
+898 
+__THROW
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+899 \r\12
+       $£tdoma\9aÇme
+ (cڡ \ 5*
+__Çme
+, 
+size_t
+__Ën
+)
+
+900 
+__THROW
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+906 \r\12
+       $vhªgup
+ (\1eè
+__THROW
+;
+
+909 \r\12
+       $»voke
+ (cڡ \ 5*
+__f\9ee
+__THROW
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+917 \r\12
+       $´of\9e
+ (\1d\16\12*
+__§m¶e_bufãr
+, 
+size_t
+__size
+,
+
+918 
+size_t
+__off£t
+, \1d\12
+__sÿË
+)
+
+919 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+925 \r\12
+       $acù
+ (cڡ \ 5*
+__Çme
+__THROW
+;
+
+929 \r\ 5*
+       $g\91u£rsh\96l
+ (\1eè
+__THROW
+;
+
+930 \r\1e
+       $\92du£rsh\96l
+ (\1eè
+__THROW
+;
+
+931 \r\1e
+       $£tu£rsh\96l
+ (\1eè
+__THROW
+;
+
+937 \r\12
+       $d«mÚ
+ (\12
+__nochd\9c
+, \12
+__noþo£
+__THROW
+__wur
+;
+
+941 #ià
+def\9aed
+__USE_BSD
+ || (def\9aed 
+__USE_XOPEN
+ && !def\9aed 
+__USE_XOPEN2K
+)
+
+944 \r\12
+       $chroÙ
+ (cڡ \ 5*
+__·th
+__THROW
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+948 \r\ 5*
+       $g\91·ss
+ (cڡ \ 5*
+__´om±
+       `__nÚnuÎ
+ ((1));
+
+956 \r\12
+       `fsync
+ (\12
+__fd
+);
+
+959 #ifdeà
+__USE_GNU
+
+
+962 \r\12
+       $syncfs
+ (\12
+__fd
+__THROW
+;
+
+966 #ià
+def\9aed
+__USE_BSD
+ || def\9aed 
+__USE_XOPEN_EXTENDED
+
+
+969 \r\13\12
+       `g\91ho¡id
+ (\1e);
+
+972 \r\1e
+       $sync
+ (\1eè
+__THROW
+;
+
+975 #ià
+def\9aed
+__USE_BSD
+ || !def\9aed 
+__USE_XOPEN2K
+
+
+978 \r\12
+       $g\91·gesize
+ (\1eè
+__THROW
+       `__©\8cibu\8b__
+ ((
+__cڡ__
+));
+
+983 \r\12
+       $g\91d\8fbËsize
+ (\1eè
+__THROW
+;
+
+989 #ià
+def\9aed
+__USE_BSD
+ || def\9aed 
+__USE_XOPEN_EXTENDED
+ || def\9aed 
+__USE_XOPEN2K8
+
+
+992 #iâdeà
+__USE_FILE_OFFSET64
+
+
+993 \r\12
+       $\8cunÿ\8b
+ (cڡ \ 5*
+__f\9ee
+, 
+__off_t
+__Ëngth
+)
+
+994 
+__THROW
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+996 #ifdeà
+__REDIRECT_NTH
+
+
+997 \r\12
+       `__REDIRECT_NTH
+ (
+\8cunÿ\8b
+,
+
+998 (cڡ \ 5*
+__f\9ee
+, 
+__off64_t
+__Ëngth
+),
+
+999 
+\8cunÿ\8b64
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+1001 \ 1
+       #\8cunÿ\8b
+\8cunÿ\8b64
+
+
+       )
+
+1004 #ifdeà
+__USE_LARGEFILE64
+
+
+1005 \r\12
+       $\8cunÿ\8b64
+ (cڡ \ 5*
+__f\9ee
+, 
+__off64_t
+__Ëngth
+)
+
+1006 
+__THROW
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+1011 #ià
+def\9aed
+__USE_BSD
+ || def\9aed 
+__USE_POSIX199309
+ \
+
+1012 || 
+def\9aed
+__USE_XOPEN_EXTENDED
+ || def\9aed 
+__USE_XOPEN2K
+
+
+1015 #iâdeà
+__USE_FILE_OFFSET64
+
+
+1016 \r\12
+       $árunÿ\8b
+ (\12
+__fd
+, 
+__off_t
+__Ëngth
+__THROW
+__wur
+;
+
+1018 #ifdeà
+__REDIRECT_NTH
+
+
+1019 \r\12
+       `__REDIRECT_NTH
+ (
+árunÿ\8b
+, (\12
+__fd
+, 
+__off64_t
+__Ëngth
+),
+
+1020 
+árunÿ\8b64
+__wur
+;
+
+1022 \ 1
+       #árunÿ\8b
+árunÿ\8b64
+
+
+       )
+
+1025 #ifdeà
+__USE_LARGEFILE64
+
+
+1026 \r\12
+       $árunÿ\8b64
+ (\12
+__fd
+, 
+__off64_t
+__Ëngth
+__THROW
+__wur
+;
+
+1032 #ià(
+def\9aed
+__USE_XOPEN_EXTENDED
+ && !def\9aed 
+__USE_XOPEN2K
+) \
+
+1033 || 
+def\9aed
+__USE_MISC
+
+
+1037 \r\12
+       $brk
+ (\1e*
+__addr
+__THROW
+__wur
+;
+
+1043 \r\1e*
+       $sbrk
+ (
+\9a\8d\8c_t
+__d\96\8f
+__THROW
+;
+
+1047 #ifdeà
+__USE_MISC
+
+
+1058 \r\13\12
+       $sysÿÎ
+ (\13\12
+__sy¢o
+, ...è
+__THROW
+;
+
+1063 #ià(
+def\9aed
+__USE_MISC
+ || def\9aed 
+__USE_XOPEN_EXTENDED
+è&& !def\9aed 
+F_LOCK
+
+
+1075 \ 1
+       #F_ULOCK
+ 0
+
+       )
+
+1076 \ 1
+       #F_LOCK
+ 1
+
+       )
+
+1077 \ 1
+       #F_TLOCK
+ 2
+
+       )
+
+1078 \ 1
+       #F_TEST
+ 3
+
+       )
+
+1080 #iâdeà
+__USE_FILE_OFFSET64
+
+
+1081 \r\12
+       $lockf
+ (\12
+__fd
+, \12
+__cmd
+, 
+__off_t
+__Ën
+__wur
+;
+
+1083 #ifdeà
+__REDIRECT
+
+
+1084 \r\12
+       `__REDIRECT
+ (
+lockf
+, (\12
+__fd
+, \12
+__cmd
+, 
+__off64_t
+__Ën
+),
+
+1085 
+lockf64
+__wur
+;
+
+1087 \ 1
+       #lockf
+lockf64
+
+
+       )
+
+1090 #ifdeà
+__USE_LARGEFILE64
+
+
+1091 \r\12
+       $lockf64
+ (\12
+__fd
+, \12
+__cmd
+, 
+__off64_t
+__Ën
+__wur
+;
+
+1096 #ifdeà
+__USE_GNU
+
+
+1101 \ 1
+       #TEMP_FAILURE_RETRY
+(
+ex´essiÚ
+) \
+
+1102 (
+__ex\8bnsiÚ__
+ \
+
+1103 ({ \13\12
+__»suÉ
+; \
+
+1104 dØ
+__»suÉ
+ = (\13\12è(
+ex´essiÚ
+); \
+
+1105 \1f
+__»suÉ
+ =ð-1L && 
+\94ºo
+ =ð
+EINTR
+); \
+
+1106 
+__»suÉ
+; 
+       }
+}))
+
+       )
+
+1109 #ià
+def\9aed
+__USE_POSIX199309
+ || def\9aed 
+__USE_UNIX98
+
+
+1112 \r\12
+fd©async
+ (\12
+__f\9edes
+);
+
+1118 #ifdef 
+__USE_XOPEN
+
+
+1120 \r\ 5*
+       $üy±
+ (cڡ \ 5*
+__key
+, cڡ \ 5*
+__§É
+)
+
+1121 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+1125 \r\1e
+       $\92üy±
+ (\ 5*
+__glibc_block
+, \12
+__edæag
+)
+
+1126 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+1133 \r\1e
+       $swab
+ (cڡ \1e*
+__»¡riù
+__äom
+, \1e*__»¡riù 
+__to
+,
+
+1134 
+ssize_t
+__n
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+1140 #ià
+def\9aed
+__USE_XOPEN
+ && !def\9aed 
+__USE_XOPEN2K
+
+
+1142 \r\ 5*
+       $ù\94mid
+ (\ 5*
+__s
+__THROW
+;
+
+1147 #ià
+__USE_FORTIFY_LEVEL
+ > 0 && 
+def\9aed
+__fÜtify_funùiÚ
+
+
+1148 \ 2
+       ~<b\99s/uni¡d.h
+>
+
+1151 
+__END_DECLS
+
+
+       @/usr/include/alloca.h
+
+18 #iâdef 
+_ALLOCA_H
+
+
+19 \ 1
+       #_ALLOCA_H
+ 1
+
+       )
+
+21 \ 2
+       ~<ã©u»s.h
+>
+
+23 \ 1
+       #__Ãed_size_t
+
+
+       )
+
+24 \ 2
+       ~<¡ddef.h
+>
+
+26 
+       g__BEGIN_DECLS
+
+
+29 #undeà
+®loÿ
+
+
+32 \r\1e*
+       $®loÿ
+ (
+size_t
+__size
+__THROW
+;
+
+34 #ifdef 
+__GNUC__
+
+
+35 \ 1
+       #®loÿ
+(
+size
+       `__bu\9et\9a_®loÿ
+ (size)
+
+       )
+
+38 
+__END_DECLS
+
+
+       @/usr/include/endian.h
+
+18 #iâdef 
+_ENDIAN_H
+
+
+19 \ 1
+       #_ENDIAN_H
+ 1
+
+       )
+
+21 \ 2
+       ~<ã©u»s.h
+>
+
+31 \ 1
+       #__LITTLE_ENDIAN
+ 1234
+
+       )
+
+32 \ 1
+       #__BIG_ENDIAN
+ 4321
+
+       )
+
+33 \ 1
+       #__PDP_ENDIAN
+ 3412
+
+       )
+
+36 \ 2
+       ~<b\99s/\92d\9fn.h
+>
+
+40 #iâdeà
+__FLOAT_WORD_ORDER
+
+
+41 \ 1
+       #__FLOAT_WORD_ORDER
+__BYTE_ORDER
+
+
+       )
+
+44 #ifdef 
+__USE_BSD
+
+
+45 \ 1
+       #LITTLE_ENDIAN
+__LITTLE_ENDIAN
+
+
+       )
+
+46 \ 1
+       #BIG_ENDIAN
+__BIG_ENDIAN
+
+
+       )
+
+47 \ 1
+       #PDP_ENDIAN
+__PDP_ENDIAN
+
+
+       )
+
+48 \ 1
+       #BYTE_ORDER
+__BYTE_ORDER
+
+
+       )
+
+51 #ià
+__BYTE_ORDER
+ =ð
+__LITTLE_ENDIAN
+
+
+52 \ 1
+       #__LONG_LONG_PAIR
+(
+HI
+, 
+LO
+èLO, 
+       )
+HI
+
+53 #\96
+__BYTE_ORDER
+ =ð
+__BIG_ENDIAN
+
+
+54 \ 1
+       #__LONG_LONG_PAIR
+(
+HI
+, 
+LO
+èHI, 
+       )
+LO
+
+58 #ià
+def\9aed
+__USE_BSD
+ && !def\9aed 
+__ASSEMBLER__
+
+
+60 \ 2
+       ~<b\99s/by\8bsw­.h
+>
+
+62 #ià
+__BYTE_ORDER
+ =ð
+__LITTLE_ENDIAN
+
+
+63 \ 1
+       #htobe16
+(
+x
+       `__bsw­_16
+ (x)
+
+       )
+
+64 \ 1
+       #htÞe16
+(
+x
+è(x)
+
+       )
+
+65 \ 1
+       #be16toh
+(
+x
+       `__bsw­_16
+ (x)
+
+       )
+
+66 \ 1
+       #Ë16toh
+(
+x
+è(x)
+
+       )
+
+68 \ 1
+       #htobe32
+(
+x
+       `__bsw­_32
+ (x)
+
+       )
+
+69 \ 1
+       #htÞe32
+(
+x
+è(x)
+
+       )
+
+70 \ 1
+       #be32toh
+(
+x
+       `__bsw­_32
+ (x)
+
+       )
+
+71 \ 1
+       #Ë32toh
+(
+x
+è(x)
+
+       )
+
+73 \ 1
+       #htobe64
+(
+x
+       `__bsw­_64
+ (x)
+
+       )
+
+74 \ 1
+       #htÞe64
+(
+x
+è(x)
+
+       )
+
+75 \ 1
+       #be64toh
+(
+x
+       `__bsw­_64
+ (x)
+
+       )
+
+76 \ 1
+       #Ë64toh
+(
+x
+è(x)
+
+       )
+
+79 \ 1
+       #htobe16
+(
+x
+è(x)
+
+       )
+
+80 \ 1
+       #htÞe16
+(
+x
+       `__bsw­_16
+ (x)
+
+       )
+
+81 \ 1
+       #be16toh
+(
+x
+è(x)
+
+       )
+
+82 \ 1
+       #Ë16toh
+(
+x
+       `__bsw­_16
+ (x)
+
+       )
+
+84 \ 1
+       #htobe32
+(
+x
+è(x)
+
+       )
+
+85 \ 1
+       #htÞe32
+(
+x
+       `__bsw­_32
+ (x)
+
+       )
+
+86 \ 1
+       #be32toh
+(
+x
+è(x)
+
+       )
+
+87 \ 1
+       #Ë32toh
+(
+x
+       `__bsw­_32
+ (x)
+
+       )
+
+89 \ 1
+       #htobe64
+(
+x
+è(x)
+
+       )
+
+90 \ 1
+       #htÞe64
+(
+x
+       `__bsw­_64
+ (x)
+
+       )
+
+91 \ 1
+       #be64toh
+(
+x
+è(x)
+
+       )
+
+92 \ 1
+       #Ë64toh
+(
+x
+       `__bsw­_64
+ (x)
+
+       )
+
+       @/usr/include/features.h
+
+18 #iâdef 
+_FEATURES_H
+
+
+19 \ 1
+       #_FEATURES_H
+ 1
+
+       )
+
+101 #undeà
+__USE_ISOC11
+
+
+102 #undeà
+__USE_ISOC99
+
+
+103 #undeà
+__USE_ISOC95
+
+
+104 #undeà
+__USE_ISOCXX11
+
+
+105 #undeà
+__USE_POSIX
+
+
+106 #undeà
+__USE_POSIX2
+
+
+107 #undeà
+__USE_POSIX199309
+
+
+108 #undeà
+__USE_POSIX199506
+
+
+109 #undeà
+__USE_XOPEN
+
+
+110 #undeà
+__USE_XOPEN_EXTENDED
+
+
+111 #undeà
+__USE_UNIX98
+
+
+112 #undeà
+__USE_XOPEN2K
+
+
+113 #undeà
+__USE_XOPEN2KXSI
+
+
+114 #undeà
+__USE_XOPEN2K8
+
+
+115 #undeà
+__USE_XOPEN2K8XSI
+
+
+116 #undeà
+__USE_LARGEFILE
+
+
+117 #undeà
+__USE_LARGEFILE64
+
+
+118 #undeà
+__USE_FILE_OFFSET64
+
+
+119 #undeà
+__USE_BSD
+
+
+120 #undeà
+__USE_SVID
+
+
+121 #undeà
+__USE_MISC
+
+
+122 #undeà
+__USE_ATFILE
+
+
+123 #undeà
+__USE_GNU
+
+
+124 #undeà
+__USE_REENTRANT
+
+
+125 #undeà
+__USE_FORTIFY_LEVEL
+
+
+126 #undeà
+__KERNEL_STRICT_NAMES
+
+
+130 #iâdeà
+_LOOSE_KERNEL_NAMES
+
+
+131 \ 1
+       #__KERNEL_STRICT_NAMES
+
+
+       )
+
+141 #ià
+def\9aed
+__GNUC__
+ && def\9aed 
+__GNUC_MINOR__
+
+
+142 \ 1
+       #__GNUC_PREREQ
+(
+maj
+, 
+m\9a
+) \
+
+143 ((
+__GNUC__
+ << 16è+ 
+__GNUC_MINOR__
+ >ð((
+maj
+è<< 16è+ (
+m\9a
+))
+
+       )
+
+145 \ 1
+       #__GNUC_PREREQ
+(
+maj
+, 
+m\9a
+è0
+
+       )
+
+150 #ifdeà
+_GNU_SOURCE
+
+
+151 #undeà
+_ISOC95_SOURCE
+
+
+152 \ 1
+       #_ISOC95_SOURCE
+ 1
+
+       )
+
+153 #undeà
+_ISOC99_SOURCE
+
+
+154 \ 1
+       #_ISOC99_SOURCE
+ 1
+
+       )
+
+155 #undeà
+_ISOC11_SOURCE
+
+
+156 \ 1
+       #_ISOC11_SOURCE
+ 1
+
+       )
+
+157 #undeà
+_POSIX_SOURCE
+
+
+158 \ 1
+       #_POSIX_SOURCE
+ 1
+
+       )
+
+159 #undeà
+_POSIX_C_SOURCE
+
+
+160 \ 1
+       #_POSIX_C_SOURCE
+ 200809L
+
+       )
+
+161 #undeà
+_XOPEN_SOURCE
+
+
+162 \ 1
+       #_XOPEN_SOURCE
+ 700
+
+       )
+
+163 #undeà
+_XOPEN_SOURCE_EXTENDED
+
+
+164 \ 1
+       #_XOPEN_SOURCE_EXTENDED
+ 1
+
+       )
+
+165 #undeà
+_LARGEFILE64_SOURCE
+
+
+166 \ 1
+       #_LARGEFILE64_SOURCE
+ 1
+
+       )
+
+167 #undeà
+_DEFAULT_SOURCE
+
+
+168 \ 1
+       #_DEFAULT_SOURCE
+ 1
+
+       )
+
+169 #undeà
+_BSD_SOURCE
+
+
+170 \ 1
+       #_BSD_SOURCE
+ 1
+
+       )
+
+171 #undeà
+_SVID_SOURCE
+
+
+172 \ 1
+       #_SVID_SOURCE
+ 1
+
+       )
+
+173 #undeà
+_ATFILE_SOURCE
+
+
+174 \ 1
+       #_ATFILE_SOURCE
+ 1
+
+       )
+
+179 #ià(
+def\9aed
+_DEFAULT_SOURCE
+ \
+
+180 || (!
+def\9aed
+       g__STRICT_ANSI__
+ \
+
+181 && !
+def\9aed
+       g_ISOC99_SOURCE
+ \
+
+182 && !
+def\9aed
+       g_POSIX_SOURCE
+ && !def\9aed 
+       g_POSIX_C_SOURCE
+ \
+
+183 && !
+def\9aed
+       g_XOPEN_SOURCE
+ \
+
+184 && !
+def\9aed
+       g_BSD_SOURCE
+ && !def\9aed 
+       g_SVID_SOURCE
+))
+
+185 #undeà
+_DEFAULT_SOURCE
+
+
+186 \ 1
+       #_DEFAULT_SOURCE
+ 1
+
+       )
+
+187 #undeà
+_BSD_SOURCE
+
+
+188 \ 1
+       #_BSD_SOURCE
+ 1
+
+       )
+
+189 #undeà
+_SVID_SOURCE
+
+
+190 \ 1
+       #_SVID_SOURCE
+ 1
+
+       )
+
+194 #ià(
+def\9aed
+_ISOC11_SOURCE
+ \
+
+195 || (
+def\9aed
+       g__STDC_VERSION__
+ && __STDC_VERSION__ >= 201112L))
+
+196 \ 1
+       #__USE_ISOC11
+ 1
+
+       )
+
+200 #ià(
+def\9aed
+_ISOC99_SOURCE
+ || def\9aed 
+_ISOC11_SOURCE
+ \
+
+201 || (
+def\9aed
+__STDC_VERSION__
+ && __STDC_VERSION__ >= 199901L))
+
+202 \ 1
+       #__USE_ISOC99
+ 1
+
+       )
+
+206 #ià(
+def\9aed
+_ISOC99_SOURCE
+ || def\9aed 
+_ISOC11_SOURCE
+ \
+
+207 || (
+def\9aed
+__STDC_VERSION__
+ && __STDC_VERSION__ >= 199409L))
+
+208 \ 1
+       #__USE_ISOC95
+ 1
+
+       )
+
+215 #ià((
+def\9aed
+__ýlu¥lus
+ && __cplusplus >= 201103L) \
+
+216 || 
+def\9aed
+__GXX_EXPERIMENTAL_CXX0X__
+)
+
+217 \ 1
+       #__USE_ISOCXX11
+ 1
+
+       )
+
+223 #ifdeà
+_DEFAULT_SOURCE
+
+
+224 #ià!
+def\9aed
+_POSIX_SOURCE
+ && !def\9aed 
+_POSIX_C_SOURCE
+
+
+225 \ 1
+       #__USE_POSIX_IMPLICITLY
+ 1
+
+       )
+
+227 #undeà
+_POSIX_SOURCE
+
+
+228 \ 1
+       #_POSIX_SOURCE
+ 1
+
+       )
+
+229 #undeà
+_POSIX_C_SOURCE
+
+
+230 \ 1
+       #_POSIX_C_SOURCE
+ 200809L
+
+       )
+
+232 #ià((!
+def\9aed
+__STRICT_ANSI__
+ || (
+_XOPEN_SOURCE
+ - 0) >= 500) && \
+
+233 !
+def\9aed
+_POSIX_SOURCE
+ && !def\9aed 
+_POSIX_C_SOURCE
+)
+
+234 \ 1
+       #_POSIX_SOURCE
+ 1
+
+       )
+
+235 #ià
+def\9aed
+_XOPEN_SOURCE
+ && (_XOPEN_SOURCE - 0) < 500
+
+236 \ 1
+       #_POSIX_C_SOURCE
+ 2
+
+       )
+
+237 #\96
+def\9aed
+_XOPEN_SOURCE
+ && (_XOPEN_SOURCE - 0) < 600
+
+238 \ 1
+       #_POSIX_C_SOURCE
+ 199506L
+
+       )
+
+239 #\96
+def\9aed
+_XOPEN_SOURCE
+ && (_XOPEN_SOURCE - 0) < 700
+
+240 \ 1
+       #_POSIX_C_SOURCE
+ 200112L
+
+       )
+
+242 \ 1
+       #_POSIX_C_SOURCE
+ 200809L
+
+       )
+
+244 \ 1
+       #__USE_POSIX_IMPLICITLY
+ 1
+
+       )
+
+247 #ià
+def\9aed
+_POSIX_SOURCE
+ || 
+_POSIX_C_SOURCE
+ >ð1 || def\9aed 
+_XOPEN_SOURCE
+
+
+248 \ 1
+       #__USE_POSIX
+ 1
+
+       )
+
+251 #ià
+def\9aed
+_POSIX_C_SOURCE
+ && _POSIX_C_SOURCE >ð2 || def\9aed 
+_XOPEN_SOURCE
+
+
+252 \ 1
+       #__USE_POSIX2
+ 1
+
+       )
+
+255 #ià(
+_POSIX_C_SOURCE
+ - 0) >= 199309L
+
+256 \ 1
+       #__USE_POSIX199309
+ 1
+
+       )
+
+259 #ià(
+_POSIX_C_SOURCE
+ - 0) >= 199506L
+
+260 \ 1
+       #__USE_POSIX199506
+ 1
+
+       )
+
+263 #ià(
+_POSIX_C_SOURCE
+ - 0) >= 200112L
+
+264 \ 1
+       #__USE_XOPEN2K
+ 1
+
+       )
+
+265 #undeà
+__USE_ISOC95
+
+
+266 \ 1
+       #__USE_ISOC95
+ 1
+
+       )
+
+267 #undeà
+__USE_ISOC99
+
+
+268 \ 1
+       #__USE_ISOC99
+ 1
+
+       )
+
+271 #ià(
+_POSIX_C_SOURCE
+ - 0) >= 200809L
+
+272 \ 1
+       #__USE_XOPEN2K8
+ 1
+
+       )
+
+273 #undeà
+_ATFILE_SOURCE
+
+
+274 \ 1
+       #_ATFILE_SOURCE
+ 1
+
+       )
+
+277 #ifdef 
+_XOPEN_SOURCE
+
+
+278 \ 1
+       #__USE_XOPEN
+ 1
+
+       )
+
+279 #ià(
+_XOPEN_SOURCE
+ - 0) >= 500
+
+280 \ 1
+       #__USE_XOPEN_EXTENDED
+ 1
+
+       )
+
+281 \ 1
+       #__USE_UNIX98
+ 1
+
+       )
+
+282 #undeà
+_LARGEFILE_SOURCE
+
+
+283 \ 1
+       #_LARGEFILE_SOURCE
+ 1
+
+       )
+
+284 #ià(
+_XOPEN_SOURCE
+ - 0) >= 600
+
+285 #ià(
+_XOPEN_SOURCE
+ - 0) >= 700
+
+286 \ 1
+       #__USE_XOPEN2K8
+ 1
+
+       )
+
+287 \ 1
+       #__USE_XOPEN2K8XSI
+ 1
+
+       )
+
+289 \ 1
+       #__USE_XOPEN2K
+ 1
+
+       )
+
+290 \ 1
+       #__USE_XOPEN2KXSI
+ 1
+
+       )
+
+291 #undeà
+__USE_ISOC95
+
+
+292 \ 1
+       #__USE_ISOC95
+ 1
+
+       )
+
+293 #undeà
+__USE_ISOC99
+
+
+294 \ 1
+       #__USE_ISOC99
+ 1
+
+       )
+
+297 #ifdeà
+_XOPEN_SOURCE_EXTENDED
+
+
+298 \ 1
+       #__USE_XOPEN_EXTENDED
+ 1
+
+       )
+
+303 #ifdeà
+_LARGEFILE_SOURCE
+
+
+304 \ 1
+       #__USE_LARGEFILE
+ 1
+
+       )
+
+307 #ifdeà
+_LARGEFILE64_SOURCE
+
+
+308 \ 1
+       #__USE_LARGEFILE64
+ 1
+
+       )
+
+311 #ià
+def\9aed
+_FILE_OFFSET_BITS
+ && _FILE_OFFSET_BITS == 64
+
+312 \ 1
+       #__USE_FILE_OFFSET64
+ 1
+
+       )
+
+315 #ià
+def\9aed
+_BSD_SOURCE
+ || def\9aed 
+_SVID_SOURCE
+
+
+316 \ 1
+       #__USE_MISC
+ 1
+
+       )
+
+319 #ifdef 
+_BSD_SOURCE
+
+
+320 \ 1
+       #__USE_BSD
+ 1
+
+       )
+
+323 #ifdef 
+_SVID_SOURCE
+
+
+324 \ 1
+       #__USE_SVID
+ 1
+
+       )
+
+327 #ifdef 
+_ATFILE_SOURCE
+
+
+328 \ 1
+       #__USE_ATFILE
+ 1
+
+       )
+
+331 #ifdef 
+_GNU_SOURCE
+
+
+332 \ 1
+       #__USE_GNU
+ 1
+
+       )
+
+335 #ià
+def\9aed
+_REENTRANT
+ || def\9aed 
+_THREAD_SAFE
+
+
+336 \ 1
+       #__USE_REENTRANT
+ 1
+
+       )
+
+339 #ià
+def\9aed
+_FORTIFY_SOURCE
+ && _FORTIFY_SOURCE > 0 \
+
+340 && 
+__GNUC_PREREQ
+ (4, 1è&& 
+def\9aed
+       g__OPTIMIZE__
+ && __OPTIMIZE__ > 0
+
+341 #ià
+_FORTIFY_SOURCE
+ > 1
+
+342 \ 1
+       #__USE_FORTIFY_LEVEL
+ 2
+
+       )
+
+344 \ 1
+       #__USE_FORTIFY_LEVEL
+ 1
+
+       )
+
+347 \ 1
+       #__USE_FORTIFY_LEVEL
+ 0
+
+       )
+
+352 \ 2
+       ~<¡dc-´edef.h
+>
+
+360 #undeà
+__GNU_LIBRARY__
+
+
+361 \ 1
+       #__GNU_LIBRARY__
+ 6
+
+       )
+
+365 \ 1
+       #__GLIBC__
+ 2
+
+       )
+
+366 \ 1
+       #__GLIBC_MINOR__
+ 19
+
+       )
+
+368 \ 1
+       #__GLIBC_PREREQ
+(
+maj
+, 
+m\9a
+) \
+
+369 ((
+__GLIBC__
+ << 16è+ 
+__GLIBC_MINOR__
+ >ð((
+maj
+è<< 16è+ (
+m\9a
+))
+
+       )
+
+372 #iâdeà
+__ASSEMBLER__
+
+
+373 #iâdeà
+_SYS_CDEFS_H
+
+
+374 \ 2
+       ~<sys/cdefs.h
+>
+
+379 #ià
+def\9aed
+__USE_FILE_OFFSET64
+ && !def\9aed 
+__REDIRECT
+
+
+380 \ 1
+       #__USE_LARGEFILE
+ 1
+
+       )
+
+381 \ 1
+       #__USE_LARGEFILE64
+ 1
+
+       )
+
+387 #ià
+__GNUC_PREREQ
+ (2, 7è&& 
+def\9aed
+__OPTIMIZE__
+ \
+
+388 && !
+def\9aed
+       g__OPTIMIZE_SIZE__
+ && !def\9aed 
+       g__NO_INLINE__
+ \
+
+389 && 
+def\9aed
+       g__ex\8bº_\9al\9ae
+
+
+390 \ 1
+       #__USE_EXTERN_INLINES
+ 1
+
+       )
+
+398 \ 2
+       ~<gnu/¡ubs.h
+>
+
+       @/usr/include/getopt.h
+
+19 #iâdeà
+_GETOPT_H
+
+
+21 #iâdeà
+__Ãed_g\91Ýt
+
+
+22 \ 1
+       #_GETOPT_H
+ 1
+
+       )
+
+32 #ià!
+def\9aed
+__GNU_LIBRARY__
+
+
+33 \ 2
+       ~<ùy³.h
+>
+
+36 #iâdeà
+__THROW
+
+
+37 #iâdeà
+__GNUC_PREREQ
+
+
+38 \ 1
+       #__GNUC_PREREQ
+(
+maj
+, 
+m\9a
+è(0)
+
+       )
+
+40 #ià
+def\9aed
+__ýlu¥lus
+ && 
+__GNUC_PREREQ
+ (2,8)
+
+41 \ 1
+       #__THROW
+       `throw
+ ()
+
+       )
+
+43 \ 1
+       #__THROW
+
+
+       )
+
+47 #ifdef 
+__ýlu¥lus
+
+
+57 \r\ 5*
+ݏrg
+;
+
+71 \r\12
+Ýt\9ad
+;
+
+76 \r\12
\8b¼
+;
+
+80 \r\12
+ÝtÝt
+;
+
+82 #iâdeà
+__Ãed_g\91Ýt
+
+
+104 \19
+       sÝtiÚ
+
+
+106 cڡ \ 5*
+       gÇme
+;
+
+109 \12
+       ghas_¬g
+;
+
+110 \12*
+       gæag
+;
+
+111 \12
+       gv®
+;
+
+116 \ 1
+       #no_¬gum\92t
+ 0
+
+       )
+
+117 \ 1
+       #»qu\9ced_¬gum\92t
+ 1
+
+       )
+
+118 \ 1
+       #ÝtiÚ®_¬gum\92t
+ 2
+
+       )
+
+146 #ifdeà
+__GNU_LIBRARY__
+
+
+150 \r\12
+g\91Ýt
+ (\12
+___¬gc
+, \ 5*cڡ *
+___¬gv
+, cڡ \ 5*
+__shÜtÝts
+)
+
+151 
+__THROW
+;
+
+153 #ià
+def\9aed
+__Ãed_g\91Ýt
+ && def\9aed 
+__USE_POSIX2
+ \
+
+154 && !
+def\9aed
+       g__USE_POSIX_IMPLICITLY
+ && !def\9aed 
+       g__USE_GNU
+
+
+158 #ifdeà
+__REDIRECT
+
+
+159 \r\12
+__REDIRECT_NTH
+ (
+g\91Ýt
+, (\12
+___¬gc
+, \ 5*cڡ *
+___¬gv
+,
+
+160 cڡ \ 5*
+__shÜtÝts
+),
+
+161 
+__posix_g\91Ýt
+);
+
+163 \r\12
+__posix_g\91Ýt
+ (\12
+___¬gc
+, \ 5*cڡ *
+___¬gv
+,
+
+164 cڡ \ 5*
+__shÜtÝts
+__THROW
+;
+
+165 \ 1
+       #g\91Ýt
+__posix_g\91Ýt
+
+
+       )
+
+169 \r\12
+g\91Ýt
+ ();
+
+172 #iâdeà
+__Ãed_g\91Ýt
+
+
+173 \r\12
+g\91Ýt_lÚg
+ (\12
+___¬gc
+, \ 5*cڡ *
+___¬gv
+,
+
+174 cڡ \ 5*
+__shÜtÝts
+,
+
+175 cڡ \19
+ÝtiÚ
+ *
+__lÚgÝts
+, \12*
+__lÚg\9ad
+)
+
+176 
+__THROW
+;
+
+177 \r\12
+g\91Ýt_lÚg_Úly
+ (\12
+___¬gc
+, \ 5*cڡ *
+___¬gv
+,
+
+178 cڡ \ 5*
+__shÜtÝts
+,
+
+179 cڡ \19
+ÝtiÚ
+ *
+__lÚgÝts
+, \12*
+__lÚg\9ad
+)
+
+180 
+__THROW
+;
+
+184 #ifdef 
+__ýlu¥lus
+
+
+189 #undeà
+__Ãed_g\91Ýt
+
+
+       @/usr/include/libio.h
+
+28 #iâdeà
+_IO_STDIO_H
+
+
+29 \ 1
+       #_IO_STDIO_H
+
+
+       )
+
+31 \ 2
+       ~<_G_cÚfig.h
+>
+
+33 \ 1
+       #_IO_åos_t
+_G_åos_t
+
+
+       )
+
+34 \ 1
+       #_IO_åos64_t
+_G_åos64_t
+
+
+       )
+
+35 \ 1
+       #_IO_size_t
+size_t
+
+
+       )
+
+36 \ 1
+       #_IO_ssize_t
+__ssize_t
+
+
+       )
+
+37 \ 1
+       #_IO_off_t
+__off_t
+
+
+       )
+
+38 \ 1
+       #_IO_off64_t
+__off64_t
+
+
+       )
+
+39 \ 1
+       #_IO_pid_t
+__pid_t
+
+
+       )
+
+40 \ 1
+       #_IO_uid_t
+__uid_t
+
+
+       )
+
+41 \ 1
+       #_IO_icÚv_t
+_G_icÚv_t
+
+
+       )
+
+42 \ 1
+       #_IO_HAVE_ST_BLKSIZE
+_G_HAVE_ST_BLKSIZE
+
+
+       )
+
+43 \ 1
+       #_IO_BUFSIZ
+_G_BUFSIZ
+
+
+       )
+
+44 \ 1
+       #_IO_va_li¡
+_G_va_li¡
+
+
+       )
+
+45 \ 1
+       #_IO_w\9at_t
+w\9at_t
+
+
+       )
+
+48 \ 1
+       #__Ãed___va_li¡
+
+
+       )
+
+49 \ 2
+       ~<¡d¬g.h
+>
+
+50 #ifdeà
+__GNUC_VA_LIST
+
+
+51 #undeà
+_IO_va_li¡
+
+
+52 \ 1
+       #_IO_va_li¡
+__gnuc_va_li¡
+
+
+       )
+
+55 #iâdeà
+__P
+
+
+56 \ 2
+       ~<sys/cdefs.h
+>
+
+59 \ 1
+       #_IO_UNIFIED_JUMPTABLES
+ 1
+
+       )
+
+61 #iâdeà
+EOF
+
+
+62 \ 1
+       #EOF
+ (-1)
+
+       )
+
+64 #iâdeà
+NULL
+
+
+65 #ià
+def\9aed
+__GNUG__
+ && \
+
+66 (
+       g__GNUC__
+ > 2 || (__GNUC__ =ð2 && 
+__GNUC_MINOR__
+ >= 8))
+
+67 \ 1
+       #NULL
+ (
+__nuÎ
+)
+
+       )
+
+69 #ià!
+def\9aed
+(
+__ýlu¥lus
+)
+
+70 \ 1
+       #NULL
+ ((\1e*)0)
+
+       )
+
+72 \ 1
+       #NULL
+ (0)
+
+       )
+
+77 \ 1
+       #_IOS_INPUT
+ 1
+
+       )
+
+78 \ 1
+       #_IOS_OUTPUT
+ 2
+
+       )
+
+79 \ 1
+       #_IOS_ATEND
+ 4
+
+       )
+
+80 \ 1
+       #_IOS_APPEND
+ 8
+
+       )
+
+81 \ 1
+       #_IOS_TRUNC
+ 16
+
+       )
+
+82 \ 1
+       #_IOS_NOCREATE
+ 32
+
+       )
+
+83 \ 1
+       #_IOS_NOREPLACE
+ 64
+
+       )
+
+84 \ 1
+       #_IOS_BIN
+ 128
+
+       )
+
+92 \ 1
+       #_IO_MAGIC
+ 0xFBAD0000
+
+       )
+
+93 \ 1
+       #_OLD_STDIO_MAGIC
+ 0xFABC0000
+
+       )
+
+94 \ 1
+       #_IO_MAGIC_MASK
+ 0xFFFF0000
+
+       )
+
+95 \ 1
+       #_IO_USER_BUF
+ 1
+
+       )
+
+96 \ 1
+       #_IO_UNBUFFERED
+ 2
+
+       )
+
+97 \ 1
+       #_IO_NO_READS
+ 4
+
+       )
+
+98 \ 1
+       #_IO_NO_WRITES
+ 8
+
+       )
+
+99 \ 1
+       #_IO_EOF_SEEN
+ 0x10
+
+       )
+
+100 \ 1
+       #_IO_ERR_SEEN
+ 0x20
+
+       )
+
+101 \ 1
+       #_IO_DELETE_DONT_CLOSE
+ 0x40
+
+       )
+
+102 \ 1
+       #_IO_LINKED
+ 0x80
+
+       )
+
+103 \ 1
+       #_IO_IN_BACKUP
+ 0x100
+
+       )
+
+104 \ 1
+       #_IO_LINE_BUF
+ 0x200
+
+       )
+
+105 \ 1
+       #_IO_TIED_PUT_GET
+ 0x400
+
+       )
+
+106 \ 1
+       #_IO_CURRENTLY_PUTTING
+ 0x800
+
+       )
+
+107 \ 1
+       #_IO_IS_APPENDING
+ 0x1000
+
+       )
+
+108 \ 1
+       #_IO_IS_FILEBUF
+ 0x2000
+
+       )
+
+109 \ 1
+       #_IO_BAD_SEEN
+ 0x4000
+
+       )
+
+110 \ 1
+       #_IO_USER_LOCK
+ 0x8000
+
+       )
+
+112 \ 1
+       #_IO_FLAGS2_MMAP
+ 1
+
+       )
+
+113 \ 1
+       #_IO_FLAGS2_NOTCANCEL
+ 2
+
+       )
+
+114 #ifdeà
+_LIBC
+
+
+115 \ 1
+       #_IO_FLAGS2_FORTIFY
+ 4
+
+       )
+
+117 \ 1
+       #_IO_FLAGS2_USER_WBUF
+ 8
+
+       )
+
+118 #ifdeà
+_LIBC
+
+
+119 \ 1
+       #_IO_FLAGS2_SCANF_STD
+ 16
+
+       )
+
+120 \ 1
+       #_IO_FLAGS2_NOCLOSE
+ 32
+
+       )
+
+121 \ 1
+       #_IO_FLAGS2_CLOEXEC
+ 64
+
+       )
+
+125 \ 1
+       #_IO_SKIPWS
+ 01
+
+       )
+
+126 \ 1
+       #_IO_LEFT
+ 02
+
+       )
+
+127 \ 1
+       #_IO_RIGHT
+ 04
+
+       )
+
+128 \ 1
+       #_IO_INTERNAL
+ 010
+
+       )
+
+129 \ 1
+       #_IO_DEC
+ 020
+
+       )
+
+130 \ 1
+       #_IO_OCT
+ 040
+
+       )
+
+131 \ 1
+       #_IO_HEX
+ 0100
+
+       )
+
+132 \ 1
+       #_IO_SHOWBASE
+ 0200
+
+       )
+
+133 \ 1
+       #_IO_SHOWPOINT
+ 0400
+
+       )
+
+134 \ 1
+       #_IO_UPPERCASE
+ 01000
+
+       )
+
+135 \ 1
+       #_IO_SHOWPOS
+ 02000
+
+       )
+
+136 \ 1
+       #_IO_SCIENTIFIC
+ 04000
+
+       )
+
+137 \ 1
+       #_IO_FIXED
+ 010000
+
+       )
+
+138 \ 1
+       #_IO_UNITBUF
+ 020000
+
+       )
+
+139 \ 1
+       #_IO_STDIO
+ 040000
+
+       )
+
+140 \ 1
+       #_IO_DONT_CLOSE
+ 0100000
+
+       )
+
+141 \ 1
+       #_IO_BOOLALPHA
+ 0200000
+
+       )
+
+144 \19
+_IO_jump_t
+; \19
+       g_IO_FILE
+;
+
+147 #ifdeà
+_IO_MTSAFE_IO
+
+
+148 #ià
+def\9aed
+__GLIBC__
+ && __GLIBC__ >= 2
+
+149 \ 2
+       ~<b\99s/¡dio-lock.h
+>
+
+154 \e\1e
+       t_IO_lock_t
+;
+
+160 \19
+       s_IO_m¬k\94
+ {
+
+161 \19
+_IO_m¬k\94
+ *
+       m_Ãxt
+;
+
+162 \19
+_IO_FILE
+ *
+       m_sbuf
+;
+
+166 \12
+       m_pos
+;
+
+168 \1e
+£t_¡»ampos
+(
+¡»ampos
+è{ 
+       m_¥os
+ = sp; }
+
+169 \1e
+£t_off£t
+(\12
+off£t
+è{ 
+       m_pos
+ = off£t; 
+       m_¥os
+ = (
+¡»ampos
+)(-2); }
+
+170 
+       mpublic
+:
+
+171 
+¡»amm¬k\94
+(
+¡»ambuf
+ *
+sb
+);
+
+172 ~
+¡»amm¬k\94
+();
+
+173 \12
+§v\9ag
+(è{ \15 
+       m_¥os
+ == -2; }
+
+174 \12
+d\96\8f
+(
+¡»amm¬k\94
+&);
+
+175 \12
+d\96\8f
+();
+
+180 \f
+       e__codecvt_»suÉ
+
+
+182 
+       m__codecvt_ok
+,
+
+183 
+       m__codecvt_·¹\9fl
+,
+
+184 
+       m__codecvt_\94
+,
+
+185 
+       m__codecvt_nocÚv
+
+
+188 #ià
+def\9aed
+_LIBC
+ || def\9aed 
+_GLIBCPP_USE_WCHAR_T
+
+
+191 \19
+       s_IO_codecvt
+
+
+193 \1e(*
+       m__codecvt_de¡r
+è(\19
+       m_IO_codecvt
+ *);
+
+194 \f
+__codecvt_»suÉ
+ (*
+__codecvt_do_out
+è(\19
+       m_IO_codecvt
+ *,
+
+195 
+       m__mb¡©e_t
+ *,
+
+196 cڡ 
+       mwch¬_t
+ *,
+
+197 cڡ 
+       mwch¬_t
+ *,
+
+198 cڡ 
+       mwch¬_t
+ **, \ 5*,
+
+200 \f
+__codecvt_»suÉ
+ (*
+__codecvt_do_unshiá
+è(\19
+       m_IO_codecvt
+ *,
+
+201 
+       m__mb¡©e_t
+ *, \ 5*,
+
+203 \f
+__codecvt_»suÉ
+ (*
+__codecvt_do_\9a
+è(\19
+       m_IO_codecvt
+ *,
+
+204 
+       m__mb¡©e_t
+ *,
+
+206 cڡ \ 5**, 
+       mwch¬_t
+ *,
+
+207 
+       mwch¬_t
+ *, wchar_t **);
+
+208 \12(*
+       m__codecvt_do_\92cod\9ag
+è(\19
+       m_IO_codecvt
+ *);
+
+209 \12(*
+       m__codecvt_do_®ways_nocÚv
+è(\19
+       m_IO_codecvt
+ *);
+
+210 \12(*
+       m__codecvt_do_Ëngth
+è(\19
+       m_IO_codecvt
+ *, 
+       m__mb¡©e_t
+ *,
+
+211 cڡ \ 5*, cڡ \ 5*, 
+       m_IO_size_t
+);
+
+212 \12(*
+       m__codecvt_do_max_Ëngth
+è(\19
+       m_IO_codecvt
+ *);
+
+214 
+_IO_icÚv_t
+       m__cd_\9a
+;
+
+215 
+_IO_icÚv_t
+       m__cd_out
+;
+
+219 \19
+       s_IO_wide_d©a
+
+
+221 
+wch¬_t
+ *
+       m_IO_»ad_±r
+;
+
+222 
+wch¬_t
+ *
+       m_IO_»ad_\92d
+;
+
+223 
+wch¬_t
+ *
+       m_IO_»ad_ba£
+;
+
+224 
+wch¬_t
+ *
+       m_IO_wr\99e_ba£
+;
+
+225 
+wch¬_t
+ *
+       m_IO_wr\99e_±r
+;
+
+226 
+wch¬_t
+ *
+       m_IO_wr\99e_\92d
+;
+
+227 
+wch¬_t
+ *
+       m_IO_buf_ba£
+;
+
+228 
+wch¬_t
+ *
+       m_IO_buf_\92d
+;
+
+230 
+wch¬_t
+ *
+       m_IO_§ve_ba£
+;
+
+231 
+wch¬_t
+ *
+       m_IO_backup_ba£
+;
+
+233 
+wch¬_t
+ *
+       m_IO_§ve_\92d
+;
+
+235 
+__mb¡©e_t
+       m_IO_¡©e
+;
+
+236 
+__mb¡©e_t
+       m_IO_Ï¡_¡©e
+;
+
+237 \19
+_IO_codecvt
+       m_codecvt
+;
+
+239 
+wch¬_t
+       m_shÜtbuf
+[1];
+
+241 cڡ \19
+_IO_jump_t
+ *
+       m_wide_v\8f
+;
+
+245 \19
+       s_IO_FILE
+ {
+
+246 \12
+       m_æags
+;
+
+247 \ 1
+       #_IO_f\9ee_æags
+_æags
+
+
+       )
+
+251 \ 5
+       m_IO_»ad_±r
+;
+
+252 \ 5
+       m_IO_»ad_\92d
+;
+
+253 \ 5
+       m_IO_»ad_ba£
+;
+
+254 \ 5
+       m_IO_wr\99e_ba£
+;
+
+255 \ 5
+       m_IO_wr\99e_±r
+;
+
+256 \ 5
+       m_IO_wr\99e_\92d
+;
+
+257 \ 5
+       m_IO_buf_ba£
+;
+
+258 \ 5
+       m_IO_buf_\92d
+;
+
+260 \ 5*
+       m_IO_§ve_ba£
+;
+
+261 \ 5*
+       m_IO_backup_ba£
+;
+
+262 \ 5*
+       m_IO_§ve_\92d
+;
+
+264 \19
+_IO_m¬k\94
+ *
+       m_m¬k\94s
+;
+
+266 \19
+_IO_FILE
+ *
+       m_cha\9a
+;
+
+268 \12
+       m_f\9e\92o
+;
+
+270 \12
+       m_blksize
+;
+
+272 \12
+       m_æags2
+;
+
+274 
+_IO_off_t
+       m_Þd_off£t
+;
+
+276 \ 1
+       #__HAVE_COLUMN
+
+
+       )
+
+278 \1d\16
+       m_cur_cÞumn
+;
+
+279 sigÃd \ 5
+       m_v\8fbË_off£t
+;
+
+280 \ 5
+       m_shÜtbuf
+[1];
+
+284 
+_IO_lock_t
+ *
+       m_lock
+;
+
+285 #ifdeà
+_IO_USE_OLD_IO_FILE
+
+
+288 \19
+       s_IO_FILE_com¶\91e
+
+
+290 \19
+_IO_FILE
+       m_f\9ee
+;
+
+292 #ià
+def\9aed
+_G_IO_IO_FILE_VERSION
+ && _G_IO_IO_FILE_VERSION == 0x20001
+
+293 
+_IO_off64_t
+       m_off£t
+;
+
+294 #ià
+def\9aed
+_LIBC
+ || def\9aed 
+_GLIBCPP_USE_WCHAR_T
+
+
+296 \19
+_IO_codecvt
+ *
+       m_codecvt
+;
+
+297 \19
+_IO_wide_d©a
+ *
+       m_wide_d©a
+;
+
+298 \19
+_IO_FILE
+ *
+       m_ä\93»s_li¡
+;
+
+299 \1e*
+       m_䓻s_buf
+;
+
+300 
+size_t
+       m_䓻s_size
+;
+
+302 \1e*
+       m__·d1
+;
+
+303 \1e*
+       m__·d2
+;
+
+304 \1e*
+       m__·d3
+;
+
+305 \1e*
+       m__·d4
+;
+
+306 
+size_t
+       m__·d5
+;
+
+308 \12
+       m_mode
+;
+
+310 \ 5
+       m_unu£d2
+[15 * \17 (\12è- 4 * \17 (\1e*è- \17 (
+size_t
+)];
+
+314 #iâdeà
+__ýlu¥lus
+
+
+315 \e\19
+_IO_FILE
+       t_IO_FILE
+;
+
+318 \19
+       g_IO_FILE_¶us
+;
+
+320 \r\19
+_IO_FILE_¶us
+_IO_2_1_¡d\9a_
+;
+
+321 \r\19
+_IO_FILE_¶us
+_IO_2_1_¡dout_
+;
+
+322 \r\19
+_IO_FILE_¶us
+_IO_2_1_¡d\94r_
+;
+
+323 #iâdeà
+_LIBC
+
+
+324 \ 1
+       #_IO_¡d\9a
+ ((
+_IO_FILE
+*)(&
+_IO_2_1_¡d\9a_
+))
+
+       )
+
+325 \ 1
+       #_IO_¡dout
+ ((
+_IO_FILE
+*)(&
+_IO_2_1_¡dout_
+))
+
+       )
+
+326 \ 1
+       #_IO_¡d\94r
+ ((
+_IO_FILE
+*)(&
+_IO_2_1_¡d\94r_
+))
+
+       )
+
+328 \r
+_IO_FILE
+ *
+_IO_¡d\9a
\8cibu\8b_hidd\92
+;
+
+329 \r
+_IO_FILE
+ *
+_IO_¡dout
\8cibu\8b_hidd\92
+;
+
+330 \r
+_IO_FILE
+ *
+_IO_¡d\94r
\8cibu\8b_hidd\92
+;
+
+338 \e
+__ssize_t
+       t__io_»ad_â
+ (\1e*
+       t__cook\9b
+, \ 5*
+       t__buf
+, 
+       tsize_t
+       t__nby\8bs
+);
+
+346 \e
+__ssize_t
+       t__io_wr\99e_â
+ (\1e*
+       t__cook\9b
+, cڡ \ 5*
+       t__buf
+,
+
+347 
+       tsize_t
+       t__n
+);
+
+355 \e\12
+       t__io_£ek_â
+ (\1e*
+       t__cook\9b
+, 
+       t_IO_off64_t
+ *
+       t__pos
+, \12
+       t__w
+);
+
+358 \e\12
+       t__io_þo£_â
+ (\1e*
+       t__cook\9b
+);
+
+361 #ifdeà
+_GNU_SOURCE
+
+
+363 \e
+__io_»ad_â
+       tcook\9b_»ad_funùiÚ_t
+;
+
+364 \e
+__io_wr\99e_â
+       tcook\9b_wr\99e_funùiÚ_t
+;
+
+365 \e
+__io_£ek_â
+       tcook\9b_£ek_funùiÚ_t
+;
+
+366 \e
+__io_þo£_â
+       tcook\9b_þo£_funùiÚ_t
+;
+
+371 
+__io_»ad_â
+ *
+       m»ad
+;
+
+372 
+__io_wr\99e_â
+ *
+       mwr\99e
+;
+
+373 
+__io_£ek_â
+ *
+       m£ek
+;
+
+374 
+__io_þo£_â
+ *
+       mþo£
+;
+
+375 } 
+       t_IO_cook\9b_io_funùiÚs_t
+;
+
+376 \e
+_IO_cook\9b_io_funùiÚs_t
+       tcook\9b_io_funùiÚs_t
+;
+
+378 \19
+       g_IO_cook\9b_f\9ee
+;
+
+381 \r\1e
+_IO_cook\9b_\9a\99
+ (\19
+_IO_cook\9b_f\9ee
+ *
+__cf\9ee
+, \12
+__»ad_wr\99e
+,
+
+382 \1e*
+__cook\9b
+, 
+_IO_cook\9b_io_funùiÚs_t
+__âs
+);
+
+386 #ifdeà
+__ýlu¥lus
+
+
+390 \r\12
+__und\94æow
+ (
+_IO_FILE
+ *);
+
+391 \r\12
+__uæow
+ (
+_IO_FILE
+ *);
+
+392 \r\12
+__ov\94æow
+ (
+_IO_FILE
+ *, \12);
+
+393 #ià
+def\9aed
+_LIBC
+ || def\9aed 
+_GLIBCPP_USE_WCHAR_T
+
+
+394 \r
+_IO_w\9at_t
+__wund\94æow
+ (
+_IO_FILE
+ *);
+
+395 \r
+_IO_w\9at_t
+__wuæow
+ (
+_IO_FILE
+ *);
+
+396 \r
+_IO_w\9at_t
+__wov\94æow
+ (
+_IO_FILE
+ *, _IO_wint_t);
+
+399 #ià 
+__GNUC__
+ >= 3
+
+400 \ 1
+       #_IO_BE
+(
+ex´
+, 
+»s
+       `__bu\9et\9a_ex³ù
+ (Óx´),\84es)
+
+       )
+
+402 \ 1
+       #_IO_BE
+(
+ex´
+, 
+»s
+èÓx´)
+
+       )
+
+405 \ 1
+       #_IO_g\91c_uÆocked
+(
+_å
+) \
+
+406 (
+       `_IO_BE
+ ((
+_å
+)->
+_IO_»ad_±r
+ >ð(_å)->
+_IO_»ad_\92d
+, 0) \
+
+407 ? 
+       `__uæow
+ (
+_å
+è: *(\1d\ 5*è(_å)->
+_IO_»ad_±r
+++)
+
+       )
+
+408 \ 1
+       #_IO_³ekc_uÆocked
+(
+_å
+) \
+
+409 (
+       `_IO_BE
+ ((
+_å
+)->
+_IO_»ad_±r
+ >ð(_å)->
+_IO_»ad_\92d
+, 0) \
+
+410 && 
+       `__und\94æow
+ (
+_å
+è=ð
+EOF
+ ? EOF \
+
+411 : *(\1d\ 5*è(
+_å
+)->
+_IO_»ad_±r
+)
+
+       )
+
+412 \ 1
+       #_IO_putc_uÆocked
+(
+_ch
+, 
+_å
+) \
+
+413 (
+       `_IO_BE
+ ((
+_å
+)->
+_IO_wr\99e_±r
+ >ð(_å)->
+_IO_wr\99e_\92d
+, 0) \
+
+414 ? 
+       `__ov\94æow
+ (
+_å
+, (\1d\ 5è(
+_ch
+)) \
+
+415 : (\1d\ 5è(*(
+_å
+)->
+_IO_wr\99e_±r
+++ = (
+_ch
+)))
+
+       )
+
+417 #ià
+def\9aed
+_LIBC
+ || def\9aed 
+_GLIBCPP_USE_WCHAR_T
+
+
+418 \ 1
+       #_IO_g\91wc_uÆocked
+(
+_å
+) \
+
+419 (
+       `_IO_BE
+ ((
+_å
+)->
+_wide_d©a
+ =ð
+NULL
+ \
+
+420 || ((
+_å
+)->
+_wide_d©a
+->
+_IO_»ad_±r
+ \
+
+421 >ð(
+_å
+)->
+_wide_d©a
+->
+_IO_»ad_\92d
+), 0) \
+
+422 ? 
+       `__wuæow
+ (
+_å
+è: (
+_IO_w\9at_t
+è*(_å)->
+_wide_d©a
+->
+_IO_»ad_±r
+++)
+
+       )
+
+423 \ 1
+       #_IO_putwc_uÆocked
+(
+_wch
+, 
+_å
+) \
+
+424 (
+       `_IO_BE
+ ((
+_å
+)->
+_wide_d©a
+ =ð
+NULL
+ \
+
+425 || ((
+_å
+)->
+_wide_d©a
+->
+_IO_wr\99e_±r
+ \
+
+426 >ð(
+_å
+)->
+_wide_d©a
+->
+_IO_wr\99e_\92d
+), 0) \
+
+427 ? 
+       `__wov\94æow
+ (
+_å
+, 
+_wch
+) \
+
+428 : (
+_IO_w\9at_t
+è(*(
+_å
+)->
+_wide_d©a
+->
+_IO_wr\99e_±r
+++ = (
+_wch
+)))
+
+       )
+
+431 \ 1
+       #_IO_ãof_uÆocked
+(
+__å
+è(((__å)->
+_æags
+ & 
+_IO_EOF_SEEN
+è!ð0)
+
+       )
+
+432 \ 1
+       #_IO_ã¼Ü_uÆocked
+(
+__å
+è(((__å)->
+_æags
+ & 
+_IO_ERR_SEEN
+è!ð0)
+
+       )
+
+434 \r\12
+_IO_g\91c
+ (
+_IO_FILE
+ *
+__å
+);
+
+435 \r\12
+_IO_putc
+ (\12
+__c
+, 
+_IO_FILE
+ *
+__å
+);
+
+436 \r\12
+_IO_ãof
+ (
+_IO_FILE
+ *
+__å
+__THROW
+;
+
+437 \r\12
+_IO_ã¼Ü
+ (
+_IO_FILE
+ *
+__å
+__THROW
+;
+
+439 \r\12
+_IO_³ekc_locked
+ (
+_IO_FILE
+ *
+__å
+);
+
+442 \ 1
+       #_IO_PENDING_OUTPUT_COUNT
+(
+_å
+) \
+
+443 ((
+_å
+)->
+_IO_wr\99e_±r
+ - (_å)->
+_IO_wr\99e_ba£
+)
+
+       )
+
+445 \r\1e
+_IO_æockf\9ee
+ (
+_IO_FILE
+ *è
+__THROW
+;
+
+446 \r\1e
+_IO_fuÆockf\9ee
+ (
+_IO_FILE
+ *è
+__THROW
+;
+
+447 \r\12
+_IO_árylockf\9ee
+ (
+_IO_FILE
+ *è
+__THROW
+;
+
+449 #ifdeà
+_IO_MTSAFE_IO
+
+
+450 \ 1
+       #_IO_³ekc
+(
+_å
+       `_IO_³ekc_locked
+ (_å)
+
+       )
+
+451 \ 1
+       #_IO_æockf\9ee
+(
+_å
+) \
+
+452 ià(((
+_å
+)->
+_æags
+ & 
+_IO_USER_LOCK
+è=ð0è
+       `_IO_æockf\9ee
+ (_å)
+
+       )
+
+453 \ 1
+       #_IO_fuÆockf\9ee
+(
+_å
+) \
+
+454 ià(((
+_å
+)->
+_æags
+ & 
+_IO_USER_LOCK
+è=ð0è
+       `_IO_fuÆockf\9ee
+ (_å)
+
+       )
+
+456 \ 1
+       #_IO_³ekc
+(
+_å
+       `_IO_³ekc_uÆocked
+ (_å)
+
+       )
+
+457 \ 1
+       #_IO_æockf\9ee
+(
+_å
+
+       )
+
+458 \ 1
+       #_IO_fuÆockf\9ee
+(
+_å
+
+       )
+
+459 \ 1
+       #_IO_árylockf\9ee
+(
+_å
+
+       )
+
+460 \ 1
+       #_IO_þ\97nup_»giÚ_¡¬t
+(
+_fù
+, 
+_å
+
+       )
+
+461 \ 1
+       #_IO_þ\97nup_»giÚ_\92d
+(
+_Do\99
+
+       )
+
+464 \r\12
+_IO_vfsÿnf
+ (
+_IO_FILE
+ * 
+__»¡riù
+, const \ 5* __restrict,
+
+465 
+_IO_va_li¡
+, \12*
+__»¡riù
+);
+
+466 \r\12
+_IO_vår\9atf
+ (
+_IO_FILE
+ *
+__»¡riù
+, const \ 5*__restrict,
+
+467 
+_IO_va_li¡
+);
+
+468 \r
+_IO_ssize_t
+_IO_·dn
+ (
+_IO_FILE
+ *, \12, _IO_ssize_t);
+
+469 \r
+_IO_size_t
+_IO_sg\91n
+ (
+_IO_FILE
+ *, \1e*, _IO_size_t);
+
+471 \r
+_IO_off64_t
+_IO_£ekoff
+ (
+_IO_FILE
+ *, _IO_off64_t, \12\12);
+
+472 \r
+_IO_off64_t
+_IO_£ekpos
+ (
+_IO_FILE
+ *, _IO_off64_t, \12);
+
+474 \r\1e
+_IO_ä\93_backup_¬\97
+ (
+_IO_FILE
+ *è
+__THROW
+;
+
+476 #ià
+def\9aed
+_LIBC
+ || def\9aed 
+_GLIBCPP_USE_WCHAR_T
+
+
+477 \r
+_IO_w\9at_t
+_IO_g\91wc
+ (
+_IO_FILE
+ *
+__å
+);
+
+478 \r
+_IO_w\9at_t
+_IO_putwc
+ (
+wch¬_t
+__wc
+, 
+_IO_FILE
+ *
+__å
+);
+
+479 \r\12
+_IO_fwide
+ (
+_IO_FILE
+ *
+__å
+, \12
+__mode
+__THROW
+;
+
+480 #ià
+__GNUC__
+ >= 2
+
+483 #ià
+def\9aed
+_LIBC
+ && def\9aed 
+SHARED
+
+
+484 \ 2
+       ~<shlib-com·t.h
+>
+
+485 #ià
+SHLIB_COMPAT
+ (
+libc
+, 
+GLIBC_2_0
+, 
+GLIBC_2_1
+)
+
+486 \ 1
+       #_IO_fwide_maybe_\9acom·tibË
+ \
+
+487 (
+       `__bu\9et\9a_ex³ù
+ (&
+_IO_¡d\9a_u£d
+ =ð
+NULL
+, 0))
+
+       )
+
+488 \rcڡ \12
+_IO_¡d\9a_u£d
+;
+
+489 
+w\97k_ex\8bº
+ (
+_IO_¡d\9a_u£d
+);
+
+492 #iâdeà
+_IO_fwide_maybe_\9acom·tibË
+
+
+493 \ 1
+       #_IO_fwide_maybe_\9acom·tibË
+ (0)
+
+       )
+
+497 \ 1
+       #_IO_fwide
+(
+__å
+, 
+__mode
+) \
+
+498 ({ \12
+__»suÉ
+ = (
+__mode
+); \
+
+499 ià(
+__»suÉ
+ < 0 && ! 
+_IO_fwide_maybe_\9acom·tibË
+) \
+
+501 ià((
+__å
+)->
+_mode
+ == 0) \
+
+503 (
+__å
+)->
+_mode
+ = -1; \
+
+504 
+__»suÉ
+ = (
+__å
+)->
+_mode
+; \
+
+506 \vià(
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+__mode
+) && (__mode) == 0) \
+
+507 
+__»suÉ
+ = 
+_IO_fwide_maybe_\9acom·tibË
+ ? -1 : (
+__å
+)->
+_mode
+; \
+
+509 
+__»suÉ
+ = 
+       `_IO_fwide
+ (
+__å
+, __result); \
+
+510 
+__»suÉ
+; })
+
+       )
+
+513 \r\12
+_IO_vfwsÿnf
+ (
+_IO_FILE
+ * 
+__»¡riù
+, cڡ 
+wch¬_t
+ * __restrict,
+
+514 
+_IO_va_li¡
+, \12*
+__»¡riù
+);
+
+515 \r\12
+_IO_vfw´\9atf
+ (
+_IO_FILE
+ *
+__»¡riù
+, cڡ 
+wch¬_t
+ *__restrict,
+
+516 
+_IO_va_li¡
+);
+
+517 \r
+_IO_ssize_t
+_IO_w·dn
+ (
+_IO_FILE
+ *, 
+w\9at_t
+, _IO_ssize_t);
+
+518 \r\1e
+_IO_ä\93_wbackup_¬\97
+ (
+_IO_FILE
+ *è
+__THROW
+;
+
+521 #ifdeà
+__LDBL_COMPAT
+
+
+522 \ 2
+       ~<b\99s/libio-ldbl.h
+>
+
+525 #ifdeà
+__ýlu¥lus
+
+
+       @/usr/include/linux/ioctl.h
+
+1 #iâdeà
+_LINUX_IOCTL_H
+
+
+2 \ 1
+       #_LINUX_IOCTL_H
+
+
+       )
+
+4 \ 2
+       ~<asm/ioùl.h
+>
+
+       @/usr/include/linux/limits.h
+
+1 #iâdeà
+_LINUX_LIMITS_H
+
+
+2 \ 1
+       #_LINUX_LIMITS_H
+
+
+       )
+
+4 \ 1
+       #NR_OPEN
+ 1024
+
+       )
+
+6 \ 1
+       #NGROUPS_MAX
+ 65536
+
+       )
+
+7 \ 1
+       #ARG_MAX
+ 131072
+
+       )
+
+8 \ 1
+       #LINK_MAX
+ 127
+
+       )
+
+9 \ 1
+       #MAX_CANON
+ 255
+
+       )
+
+10 \ 1
+       #MAX_INPUT
+ 255
+
+       )
+
+11 \ 1
+       #NAME_MAX
+ 255
+
+       )
+
+12 \ 1
+       #PATH_MAX
+ 4096
+
+       )
+
+13 \ 1
+       #PIPE_BUF
+ 4096
+
+       )
+
+14 \ 1
+       #XATTR_NAME_MAX
+ 255
+
+       )
+
+15 \ 1
+       #XATTR_SIZE_MAX
+ 65536
+
+       )
+
+16 \ 1
+       #XATTR_LIST_MAX
+ 65536
+
+       )
+
+18 \ 1
+       #RTSIG_MAX
+ 32
+
+       )
+
+       @/usr/include/linux/types.h
+
+1 #iâdeà
+_LINUX_TYPES_H
+
+
+2 \ 1
+       #_LINUX_TYPES_H
+
+
+       )
+
+4 \ 2
+       ~<asm/ty³s.h
+>
+
+6 #iâdeà
+__ASSEMBLY__
+
+
+8 \ 2
+       ~<l\9aux/posix_ty³s.h
+>
+
+16 #ifdeà
+__CHECKER__
+
+
+17 \ 1
+       #__b\99wi£__
+       `__©\8cibu\8b__
+((
+b\99wi£
+))
+
+       )
+
+19 \ 1
+       #__b\99wi£__
+
+
+       )
+
+21 #ifdeà
+__CHECK_ENDIAN__
+
+
+22 \ 1
+       #__b\99wi£
+__b\99wi£__
+
+
+       )
+
+24 \ 1
+       #__b\99wi£
+
+
+       )
+
+27 \e
+__u16
+       t__b\99wi£
+       t__Ë16
+;
+
+28 \e
+__u16
+       t__b\99wi£
+       t__be16
+;
+
+29 \e
+__u32
+       t__b\99wi£
+       t__Ë32
+;
+
+30 \e
+__u32
+       t__b\99wi£
+       t__be32
+;
+
+31 \e
+__u64
+       t__b\99wi£
+       t__Ë64
+;
+
+32 \e
+__u64
+       t__b\99wi£
+       t__be64
+;
+
+34 \e
+__u16
+       t__b\99wi£
+       t__sum16
+;
+
+35 \e
+__u32
+       t__b\99wi£
+       t__wsum
+;
+
+46 \ 1
+       #__®igÃd_u64
+__u64
+       `__©\8cibu\8b__
+((
+       `®igÃd
+(8)))
+
+       )
+
+47 \ 1
+       #__®igÃd_be64
+__be64
+       `__©\8cibu\8b__
+((
+       `®igÃd
+(8)))
+
+       )
+
+48 \ 1
+       #__®igÃd_Ë64
+__Ë64
+       `__©\8cibu\8b__
+((
+       `®igÃd
+(8)))
+
+       )
+
+       @/usr/include/sched.h
+
+19 #iâdef 
+_SCHED_H
+
+
+20 \ 1
+       #_SCHED_H
+ 1
+
+       )
+
+22 \ 2
+       ~<ã©u»s.h
+>
+
+25 \ 2
+       ~<b\99s/ty³s.h
+>
+
+27 \ 1
+       #__Ãed_size_t
+
+
+       )
+
+28 \ 2
+       ~<¡ddef.h
+>
+
+30 \ 1
+       #__Ãed_time_t
+
+
+       )
+
+31 \ 1
+       #__Ãed_time¥ec
+
+
+       )
+
+32 \ 2
+       ~<time.h
+>
+
+34 #iâdeà
+__pid_t_def\9aed
+
+
+35 \e
+__pid_t
+       tpid_t
+;
+
+36 \ 1
+       #__pid_t_def\9aed
+
+
+       )
+
+41 \ 2
+       ~<b\99s/sched.h
+>
+
+43 \ 1
+       #sched_´iÜ\99y
+__sched_´iÜ\99y
+
+
+       )
+
+46 
+__BEGIN_DECLS
+
+
+49 \r\12
+       $sched_£\8d¬am
+ (
+__pid_t
+__pid
+, cڡ \19
+sched_·¿m
+ *
+__·¿m
+)
+
+50 
+__THROW
+;
+
+53 \r\12
+       $sched_g\91·¿m
+ (
+__pid_t
+__pid
+, \19
+sched_·¿m
+ *
+__·¿m
+__THROW
+;
+
+56 \r\12
+       $sched_£tscheduËr
+ (
+__pid_t
+__pid
+, \12
+__pÞicy
+,
+
+57 cڡ \19
+sched_·¿m
+ *
+__·¿m
+__THROW
+;
+
+60 \r\12
+       $sched_g\91scheduËr
+ (
+__pid_t
+__pid
+__THROW
+;
+
+63 \r\12
+       $sched_y\9bld
+ (\1eè
+__THROW
+;
+
+66 \r\12
+       $sched_g\91_´iÜ\99y_max
+ (\12
+__®gÜ\99hm
+__THROW
+;
+
+69 \r\12
+       $sched_g\91_´iÜ\99y_m\9a
+ (\12
+__®gÜ\99hm
+__THROW
+;
+
+72 \r\12
+       $sched_¼_g\91_\9a\8brv®
+ (
+__pid_t
+__pid
+, \19
+time¥ec
+ *
+__t
+__THROW
+;
+
+75 #ifdeà
+__USE_GNU
+
+
+77 \ 1
+       #CPU_SETSIZE
+__CPU_SETSIZE
+
+
+       )
+
+78 \ 1
+       #CPU_SET
+(
+ýu
+, 
+ýu£\8d
+       `__CPU_SET_S
+ (ýu, \17 (
+ýu_£t_t
+), cpu£\8d)
+
+       )
+
+79 \ 1
+       #CPU_CLR
+(
+ýu
+, 
+ýu£\8d
+       `__CPU_CLR_S
+ (ýu, \17 (
+ýu_£t_t
+), cpu£\8d)
+
+       )
+
+80 \ 1
+       #CPU_ISSET
+(
+ýu
+, 
+ýu£\8d
+       `__CPU_ISSET_S
+ (ýu, \17 (
+ýu_£t_t
+), \
+
+81 
+ýu£\8d
+)
+
+       )
+
+82 \ 1
+       #CPU_ZERO
+(
+ýu£\8d
+       `__CPU_ZERO_S
+ (\17 (
+ýu_£t_t
+), cpu£\8d)
+
+       )
+
+83 \ 1
+       #CPU_COUNT
+(
+ýu£\8d
+       `__CPU_COUNT_S
+ (\17 (
+ýu_£t_t
+), cpu£\8d)
+
+       )
+
+85 \ 1
+       #CPU_SET_S
+(
+ýu
+, 
+£tsize
+, 
+ýu£\8d
+       `__CPU_SET_S
+ (ýu, s\91size, cpu£\8d)
+
+       )
+
+86 \ 1
+       #CPU_CLR_S
+(
+ýu
+, 
+£tsize
+, 
+ýu£\8d
+       `__CPU_CLR_S
+ (ýu, s\91size, cpu£\8d)
+
+       )
+
+87 \ 1
+       #CPU_ISSET_S
+(
+ýu
+, 
+£tsize
+, 
+ýu£\8d
+       `__CPU_ISSET_S
+ (cpu, setsize, \
+
+88 
+ýu£\8d
+)
+
+       )
+
+89 \ 1
+       #CPU_ZERO_S
+(
+£tsize
+, 
+ýu£\8d
+       `__CPU_ZERO_S
+ (£tsize, cpu£\8d)
+
+       )
+
+90 \ 1
+       #CPU_COUNT_S
+(
+£tsize
+, 
+ýu£\8d
+       `__CPU_COUNT_S
+ (£tsize, cpu£\8d)
+
+       )
+
+92 \ 1
+       #CPU_EQUAL
+(
+ýu£\8d1
+, 
+ýu£\8d2
+) \
+
+93 
+       `__CPU_EQUAL_S
+ (\17 (
+ýu_£t_t
+), 
+ýu£\8d1
+, 
+ýu£\8d2
+)
+
+       )
+
+94 \ 1
+       #CPU_EQUAL_S
+(
+£tsize
+, 
+ýu£\8d1
+, 
+ýu£\8d2
+) \
+
+95 
+       `__CPU_EQUAL_S
+ (
+£tsize
+, 
+ýu£\8d1
+, 
+ýu£\8d2
+)
+
+       )
+
+97 \ 1
+       #CPU_AND
+(
+de¡£t
+, 
+¤c£t1
+, 
+¤c£t2
+) \
+
+98 
+       `__CPU_OP_S
+ (\17 (
+ýu_£t_t
+), 
+de¡£t
+, 
+¤c£t1
+, 
+¤c£t2
+, &)
+
+       )
+
+99 \ 1
+       #CPU_OR
+(
+de¡£t
+, 
+¤c£t1
+, 
+¤c£t2
+) \
+
+100 
+       `__CPU_OP_S
+ (\17 (
+ýu_£t_t
+), 
+de¡£t
+, 
+¤c£t1
+, 
+¤c£t2
+, |)
+
+       )
+
+101 \ 1
+       #CPU_XOR
+(
+de¡£t
+, 
+¤c£t1
+, 
+¤c£t2
+) \
+
+102 
+       `__CPU_OP_S
+ (\17 (
+ýu_£t_t
+), 
+de¡£t
+, 
+¤c£t1
+, 
+¤c£t2
+, ^)
+
+       )
+
+103 \ 1
+       #CPU_AND_S
+(
+£tsize
+, 
+de¡£t
+, 
+¤c£t1
+, 
+¤c£t2
+) \
+
+104 
+       `__CPU_OP_S
+ (
+£tsize
+, 
+de¡£t
+, 
+¤c£t1
+, 
+¤c£t2
+, &)
+
+       )
+
+105 \ 1
+       #CPU_OR_S
+(
+£tsize
+, 
+de¡£t
+, 
+¤c£t1
+, 
+¤c£t2
+) \
+
+106 
+       `__CPU_OP_S
+ (
+£tsize
+, 
+de¡£t
+, 
+¤c£t1
+, 
+¤c£t2
+, |)
+
+       )
+
+107 \ 1
+       #CPU_XOR_S
+(
+£tsize
+, 
+de¡£t
+, 
+¤c£t1
+, 
+¤c£t2
+) \
+
+108 
+       `__CPU_OP_S
+ (
+£tsize
+, 
+de¡£t
+, 
+¤c£t1
+, 
+¤c£t2
+, ^)
+
+       )
+
+110 \ 1
+       #CPU_ALLOC_SIZE
+(
+couÁ
+       `__CPU_ALLOC_SIZE
+ (couÁ)
+
+       )
+
+111 \ 1
+       #CPU_ALLOC
+(
+couÁ
+       `__CPU_ALLOC
+ (couÁ)
+
+       )
+
+112 \ 1
+       #CPU_FREE
+(
+ýu£t
+       `__CPU_FREE
+ (ýu£t)
+
+       )
+
+116 \r\12
+       $sched_£\8fff\9a\99y
+ (
+__pid_t
+__pid
+, 
+size_t
+__ýu£tsize
+,
+
+117 cڡ 
+ýu_£t_t
+ *
+__ýu£t
+__THROW
+;
+
+120 \r\12
+       $sched_g\91aff\9a\99y
+ (
+__pid_t
+__pid
+, 
+size_t
+__ýu£tsize
+,
+
+121 
+ýu_£t_t
+ *
+__ýu£t
+__THROW
+;
+
+124 
+__END_DECLS
+
+
+       @/usr/include/xlocale.h
+
+20 #iâdeà
+_XLOCALE_H
+
+
+21 \ 1
+       #_XLOCALE_H
+ 1
+
+       )
+
+27 \e\19
+       s__loÿË_¡ruù
+
+
+30 \19
+__loÿË_d©a
+ *
+       m__loÿËs
+[13];
+
+33 cڡ \1d\16\12*
+       m__ùy³_b
+;
+
+34 cڡ \12*
+       m__ùy³_tÞow\94
+;
+
+35 cڡ \12*
+       m__ùy³_touµ\94
+;
+
+38 cڡ \ 5*
+       m__Çmes
+[13];
+
+39 } *
+       t__loÿË_t
+;
+
+42 \e
+__loÿË_t
+       tloÿË_t
+;
+
+       @/usr/include/_G_config.h
+
+4 #iâdeà
+_G_cÚfig_h
+
+
+5 \ 1
+       #_G_cÚfig_h
+ 1
+
+       )
+
+9 \ 2
+       ~<b\99s/ty³s.h
+>
+
+10 \ 1
+       #__Ãed_size_t
+
+
+       )
+
+11 #ià
+def\9aed
+_LIBC
+ || def\9aed 
+_GLIBCPP_USE_WCHAR_T
+
+
+12 \ 1
+       #__Ãed_wch¬_t
+
+
+       )
+
+14 \ 1
+       #__Ãed_NULL
+
+
+       )
+
+15 \ 2
+       ~<¡ddef.h
+>
+
+16 \ 1
+       #__Ãed_mb¡©e_t
+
+
+       )
+
+17 #ià
+def\9aed
+_LIBC
+ || def\9aed 
+_GLIBCPP_USE_WCHAR_T
+
+
+18 \ 1
+       #__Ãed_w\9at_t
+
+
+       )
+
+20 \ 2
+       ~<wch¬.h
+>
+
+23 
+__off_t
+       m__pos
+;
+
+24 
+__mb¡©e_t
+       m__¡©e
+;
+
+25 } 
+       t_G_åos_t
+;
+
+28 
+__off64_t
+       m__pos
+;
+
+29 
+__mb¡©e_t
+       m__¡©e
+;
+
+30 } 
+       t_G_åos64_t
+;
+
+31 #ià
+def\9aed
+_LIBC
+ || def\9aed 
+_GLIBCPP_USE_WCHAR_T
+
+
+32 \ 2
+       ~<gcÚv.h
+>
+
+35 \19
+__gcÚv_\9afo
+       m__cd
+;
+
+38 \19
+__gcÚv_\9afo
+       m__cd
+;
+
+39 \19
+__gcÚv_¡\95_d©a
+       m__d©a
+;
+
+40 } 
+       m__comb\9aed
+;
+
+41 } 
+       t_G_icÚv_t
+;
+
+46 \ 1
+       #_G_va_li¡
+__gnuc_va_li¡
+
+
+       )
+
+48 \ 1
+       #_G_HAVE_MMAP
+ 1
+
+       )
+
+49 \ 1
+       #_G_HAVE_MREMAP
+ 1
+
+       )
+
+51 \ 1
+       #_G_IO_IO_FILE_VERSION
+ 0x20001
+
+       )
+
+54 \ 1
+       #_G_HAVE_ST_BLKSIZE
+       `def\9aed
+ (
+_STATBUF_ST_BLKSIZE
+)
+
+       )
+
+56 \ 1
+       #_G_BUFSIZ
+ 8192
+
+       )
+
+       @/usr/include/ctype.h
+
+22 #iâdef 
+_CTYPE_H
+
+
+23 \ 1
+       #_CTYPE_H
+ 1
+
+       )
+
+25 \ 2
+       ~<ã©u»s.h
+>
+
+26 \ 2
+       ~<b\99s/ty³s.h
+>
+
+28 
+       g__BEGIN_DECLS
+
+
+30 #iâdeà
+_ISb\99
+
+
+39 \ 2
+       ~<\92d\9fn.h
+>
+
+40 #ià
+__BYTE_ORDER
+ =ð
+__BIG_ENDIAN
+
+
+41 \ 1
+       #_ISb\99
+(
+b\99
+è(1 << (b\99))
+
+       )
+
+43 \ 1
+       #_ISb\99
+(
+b\99
+è((b\99è< 8 ? ((1 << (b\99)è<< 8è: ((1 << (b\99)è>> 8))
+
+       )
+
+48 
+       m_ISuµ\94
+ = 
+_ISb\99
+ (0),
+
+49 
+       m_ISlow\94
+ = 
+_ISb\99
+ (1),
+
+50 
+       m_IS®pha
+ = 
+_ISb\99
+ (2),
+
+51 
+       m_ISdig\99
+ = 
+_ISb\99
+ (3),
+
+52 
+       m_ISxdig\99
+ = 
+_ISb\99
+ (4),
+
+53 
+       m_IS¥aû
+ = 
+_ISb\99
+ (5),
+
+54 
+       m_IS´\9at
+ = 
+_ISb\99
+ (6),
+
+55 
+       m_ISg¿ph
+ = 
+_ISb\99
+ (7),
+
+56 
+       m_ISbÏnk
+ = 
+_ISb\99
+ (8),
+
+57 
+       m_ISú\8cl
+ = 
+_ISb\99
+ (9),
+
+58 
+       m_ISpunù
+ = 
+_ISb\99
+ (10),
+
+59 
+       m_IS®num
+ = 
+_ISb\99
+ (11)
+
+79 \rcڡ \1d\16\12**
+       $__ùy³_b_loc
+ (\1e)
+
+80 
+__THROW
+       `__©\8cibu\8b__
+ ((
+__cڡ__
+));
+
+81 \rcڡ 
+__\9at32_t
+ **
+       $__ùy³_tÞow\94_loc
+ (\1e)
+
+82 
+__THROW
+       `__©\8cibu\8b__
+ ((
+__cڡ__
+));
+
+83 \rcڡ 
+__\9at32_t
+ **
+       $__ùy³_touµ\94_loc
+ (\1e)
+
+84 
+__THROW
+       `__©\8cibu\8b__
+ ((
+__cڡ__
+));
+
+87 #iâdeà
+__ýlu¥lus
+
+
+88 \ 1
+       #__isùy³
+(
+c
+, 
+ty³
+) \
+
+89 ((*
+       `__ùy³_b_loc
+ ())[(\12è(
+c
+)] & (\1d\16\12è
+ty³
+)
+
+       )
+
+90 #\96
+def\9aed
+__USE_EXTERN_INLINES
+
+
+91 \ 1
+       #__isùy³_f
+(
+ty³
+) \
+
+92 
+__ex\8bº_\9al\9ae
\12\
+
+93 
+is
+##
+       `ty³
+ (\12
+__c
+__THROW
+ \
+
+95 \15 (*
+       `__ùy³_b_loc
+ ())[(\12è(
+__c
+)] & (\1d\16\12è
+_IS
+##
+ty³
+; \
+
+96 
+       }
+
+       )
+}
+
+99 \ 1
+       #__i§scii
+(
+c
+è(((cè& ~0x7fè=ð0è
+
+       )
+
+100 \ 1
+       #__tßscii
+(
+c
+è((cè& 0x7fè
+
+       )
+
+102 \ 1
+       #__exùy³
+(
+Çme
\r\12
+       `Çme
+ (\12è
+__THROW
+
+
+       )
+
+104 
+__BEGIN_NAMESPACE_STD
+
+
+110 
+__exùy³
+ (
+i§Êum
+);
+
+111 
+__exùy³
+ (
+i§Íha
+);
+
+112 
+__exùy³
+ (
+isú\8cl
+);
+
+113 
+__exùy³
+ (
+isdig\99
+);
+
+114 
+__exùy³
+ (
+i¦ow\94
+);
+
+115 
+__exùy³
+ (
+isg¿ph
+);
+
+116 
+__exùy³
+ (
+i¥r\9at
+);
+
+117 
+__exùy³
+ (
+i¥unù
+);
+
+118 
+__exùy³
+ (
+is¥aû
+);
+
+119 
+__exùy³
+ (
+isuµ\94
+);
+
+120 
+__exùy³
+ (
+isxdig\99
+);
+
+124 \r\12
+       $tÞow\94
+ (\12
+__c
+__THROW
+;
+
+127 \r\12
+       $touµ\94
+ (\12
+__c
+__THROW
+;
+
+129 
+__END_NAMESPACE_STD
+
+
+133 #ifdef 
+__USE_ISOC99
+
+
+134 
+__BEGIN_NAMESPACE_C99
+
+
+136 
+       `__exùy³
+ (
+isbÏnk
+);
+
+138 
+__END_NAMESPACE_C99
+
+
+141 #ifdeà
+__USE_GNU
+
+
+143 \r\12
+       $isùy³
+ (\12
+__c
+, \12
+__mask
+__THROW
+;
+
+146 #ià
+def\9aed
+__USE_SVID
+ || def\9aed 
+__USE_MISC
+ || def\9aed 
+__USE_XOPEN
+
+
+150 \r\12
+       $i§scii
+ (\12
+__c
+__THROW
+;
+
+154 \r\12
+       $tßscii
+ (\12
+__c
+__THROW
+;
+
+158 
+       `__exùy³
+ (
+_touµ\94
+);
+
+159 
+       `__exùy³
+ (
+_tÞow\94
+);
+
+163 \ 1
+       #__tobody
+(
+c
+, 
+f
+, 
+a
+, 
+¬gs
+) \
+
+164 (
+__ex\8bnsiÚ__
+ \
+
+165 ({ \12
+__»s
+; \
+
+166 ià(\17 (
+c
+) > 1) \
+
+168 ià(
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+c
+)) \
+
+170 \12
+__c
+ = (
+c
+); \
+
+171 
+__»s
+ = 
+__c
+ < -128 || __ø> 255 ? __ø: (
+a
+)[__c]; \
+
+174 
+__»s
+ = 
+f
+¬gs
+; \
+
+177 
+__»s
+ = (
+a
+)[(\12è(
+c
+)]; \
+
+178 
+__»s
+; 
+       }
+}))
+
+       )
+
+180 #ià!
+def\9aed
+__NO_CTYPE
+
+
+181 #ifdeà
+__isùy³_f
+
+
+182 
+       $__isùy³_f
+ (
+®num
+)
+
+183 
+       $__isùy³_f
+ (
+®pha
+)
+
+184 
+       $__isùy³_f
+ (
\8cl
+)
+
+185 
+       $__isùy³_f
+ (
+dig\99
+)
+
+186 
+       $__isùy³_f
+ (
+low\94
+)
+
+187 
+       $__isùy³_f
+ (
+g¿ph
+)
+
+188 
+       $__isùy³_f
+ (
\9at
+)
+
+189 
+       $__isùy³_f
+ (
+punù
+)
+
+190 
+       $__isùy³_f
+ (
+¥aû
+)
+
+191 
+       $__isùy³_f
+ (
+uµ\94
+)
+
+192 
+       $__isùy³_f
+ (
+xdig\99
+)
+
+193 #ifdeà
+__USE_ISOC99
+
+
+194 
+       $__isùy³_f
+ (
+bÏnk
+)
+
+196 #\96
+def\9aed
+__isùy³
+
+
+197 \ 1
+       #i§Êum
+(
+c
+       `__isùy³
+((c), 
+_IS®num
+)
+
+       )
+
+198 \ 1
+       #i§Íha
+(
+c
+       `__isùy³
+((c), 
+_IS®pha
+)
+
+       )
+
+199 \ 1
+       #isú\8cl
+(
+c
+       `__isùy³
+((c), 
+_ISú\8cl
+)
+
+       )
+
+200 \ 1
+       #isdig\99
+(
+c
+       `__isùy³
+((c), 
+_ISdig\99
+)
+
+       )
+
+201 \ 1
+       #i¦ow\94
+(
+c
+       `__isùy³
+((c), 
+_ISlow\94
+)
+
+       )
+
+202 \ 1
+       #isg¿ph
+(
+c
+       `__isùy³
+((c), 
+_ISg¿ph
+)
+
+       )
+
+203 \ 1
+       #i¥r\9at
+(
+c
+       `__isùy³
+((c), 
+_IS´\9at
+)
+
+       )
+
+204 \ 1
+       #i¥unù
+(
+c
+       `__isùy³
+((c), 
+_ISpunù
+)
+
+       )
+
+205 \ 1
+       #is¥aû
+(
+c
+       `__isùy³
+((c), 
+_IS¥aû
+)
+
+       )
+
+206 \ 1
+       #isuµ\94
+(
+c
+       `__isùy³
+((c), 
+_ISuµ\94
+)
+
+       )
+
+207 \ 1
+       #isxdig\99
+(
+c
+       `__isùy³
+((c), 
+_ISxdig\99
+)
+
+       )
+
+208 #ifdeà
+__USE_ISOC99
+
+
+209 \ 1
+       #isbÏnk
+(
+c
+       `__isùy³
+((c), 
+_ISbÏnk
+)
+
+       )
+
+213 #ifdeà
+__USE_EXTERN_INLINES
+
+
+214 
+__ex\8bº_\9al\9ae
\12
+
+215 
+       `__NTH
+ (
+       $tÞow\94
+ (\12
+__c
+))
+
+217 \15 
+__c
+ >ð-128 && __ø< 256 ? (*
+       `__ùy³_tÞow\94_loc
+ ())[__c] : __c;
+
+218 
+       }
+}
+
+220 
+__ex\8bº_\9al\9ae
\12
+
+221 
+__NTH
+ (
+       $touµ\94
+ (\12
+__c
+))
+
+223 \15 
+__c
+ >ð-128 && __ø< 256 ? (*
+       `__ùy³_touµ\94_loc
+ ())[__c] : __c;
+
+224 
+       }
+}
+
+227 #ià
+__GNUC__
+ >ð2 && 
+def\9aed
+__OPTIMIZE__
+ && !def\9aed 
+__ýlu¥lus
+
+
+228 \ 1
+       #tÞow\94
+(
+c
+       `__tobody
+ (c, 
+tÞow\94
+, *
+       `__ùy³_tÞow\94_loc
+ (), (c))
+
+       )
+
+229 \ 1
+       #touµ\94
+(
+c
+       `__tobody
+ (c, 
+touµ\94
+, *
+       `__ùy³_touµ\94_loc
+ (), (c))
+
+       )
+
+232 #ià
+def\9aed
+__USE_SVID
+ || def\9aed 
+__USE_MISC
+ || def\9aed 
+__USE_XOPEN
+
+
+233 \ 1
+       #i§scii
+(
+c
+       `__i§scii
+ (c)
+
+       )
+
+234 \ 1
+       #tßscii
+(
+c
+       `__tßscii
+ (c)
+
+       )
+
+236 \ 1
+       #_tÞow\94
+(
+c
+è((\12è(*
+       `__ùy³_tÞow\94_loc
+ ())[(\12è(c)])
+
+       )
+
+237 \ 1
+       #_touµ\94
+(
+c
+è((\12è(*
+       `__ùy³_touµ\94_loc
+ ())[(\12è(c)])
+
+       )
+
+243 #ifdeà
+__USE_XOPEN2K8
+
+
+257 \ 2
+       ~<xloÿË.h
+>
+
+261 \ 1
+       #__isùy³_l
+(
+c
+, 
+ty³
+, 
+loÿË
+) \
+
+262 ((
+loÿË
+)->
+__ùy³_b
+[(\12è(
+c
+)] & (\1d\16\12è
+ty³
+)
+
+       )
+
+264 \ 1
+       #__exùy³_l
+(
+Çme
+) \
+
+265 \r\12
+       `Çme
+ (\12
+__loÿË_t
+__THROW
+
+
+       )
+
+271 
+__exùy³_l
+ (
+i§Êum_l
+);
+
+272 
+__exùy³_l
+ (
+i§Íha_l
+);
+
+273 
+__exùy³_l
+ (
+isú\8cl_l
+);
+
+274 
+__exùy³_l
+ (
+isdig\99_l
+);
+
+275 
+__exùy³_l
+ (
+i¦ow\94_l
+);
+
+276 
+__exùy³_l
+ (
+isg¿ph_l
+);
+
+277 
+__exùy³_l
+ (
+i¥r\9at_l
+);
+
+278 
+__exùy³_l
+ (
+i¥unù_l
+);
+
+279 
+__exùy³_l
+ (
+is¥aû_l
+);
+
+280 
+__exùy³_l
+ (
+isuµ\94_l
+);
+
+281 
+__exùy³_l
+ (
+isxdig\99_l
+);
+
+283 
+__exùy³_l
+ (
+isbÏnk_l
+);
+
+287 \r\12
+       $__tÞow\94_l
+ (\12
+__c
+, 
+__loÿË_t
+__l
+__THROW
+;
+
+288 \r\12
+       $tÞow\94_l
+ (\12
+__c
+, 
+__loÿË_t
+__l
+__THROW
+;
+
+291 \r\12
+       $__touµ\94_l
+ (\12
+__c
+, 
+__loÿË_t
+__l
+__THROW
+;
+
+292 \r\12
+       $touµ\94_l
+ (\12
+__c
+, 
+__loÿË_t
+__l
+__THROW
+;
+
+294 #ià
+__GNUC__
+ >ð2 && 
+def\9aed
+__OPTIMIZE__
+ && !def\9aed 
+__ýlu¥lus
+
+
+295 \ 1
+       #__tÞow\94_l
+(
+c
+, 
+loÿË
+) \
+
+296 
+       `__tobody
+ (
+c
+, 
+__tÞow\94_l
+, (
+loÿË
+)->
+__ùy³_tÞow\94
+, (c,\86oÿË))
+
+       )
+
+297 \ 1
+       #__touµ\94_l
+(
+c
+, 
+loÿË
+) \
+
+298 
+       `__tobody
+ (
+c
+, 
+__touµ\94_l
+, (
+loÿË
+)->
+__ùy³_touµ\94
+, (c,\86oÿË))
+
+       )
+
+299 \ 1
+       #tÞow\94_l
+(
+c
+, 
+loÿË
+       `__tÞow\94_l
+ ((c), (loÿË))
+
+       )
+
+300 \ 1
+       #touµ\94_l
+(
+c
+, 
+loÿË
+       `__touµ\94_l
+ ((c), (loÿË))
+
+       )
+
+304 #iâdeà
+__NO_CTYPE
+
+
+305 \ 1
+       #__i§Êum_l
+(
+c
+,
+l
+       `__isùy³_l
+((c), 
+_IS®num
+, (l))
+
+       )
+
+306 \ 1
+       #__i§Íha_l
+(
+c
+,
+l
+       `__isùy³_l
+((c), 
+_IS®pha
+, (l))
+
+       )
+
+307 \ 1
+       #__isú\8cl_l
+(
+c
+,
+l
+       `__isùy³_l
+((c), 
+_ISú\8cl
+, (l))
+
+       )
+
+308 \ 1
+       #__isdig\99_l
+(
+c
+,
+l
+       `__isùy³_l
+((c), 
+_ISdig\99
+, (l))
+
+       )
+
+309 \ 1
+       #__i¦ow\94_l
+(
+c
+,
+l
+       `__isùy³_l
+((c), 
+_ISlow\94
+, (l))
+
+       )
+
+310 \ 1
+       #__isg¿ph_l
+(
+c
+,
+l
+       `__isùy³_l
+((c), 
+_ISg¿ph
+, (l))
+
+       )
+
+311 \ 1
+       #__i¥r\9at_l
+(
+c
+,
+l
+       `__isùy³_l
+((c), 
+_IS´\9at
+, (l))
+
+       )
+
+312 \ 1
+       #__i¥unù_l
+(
+c
+,
+l
+       `__isùy³_l
+((c), 
+_ISpunù
+, (l))
+
+       )
+
+313 \ 1
+       #__is¥aû_l
+(
+c
+,
+l
+       `__isùy³_l
+((c), 
+_IS¥aû
+, (l))
+
+       )
+
+314 \ 1
+       #__isuµ\94_l
+(
+c
+,
+l
+       `__isùy³_l
+((c), 
+_ISuµ\94
+, (l))
+
+       )
+
+315 \ 1
+       #__isxdig\99_l
+(
+c
+,
+l
+       `__isùy³_l
+((c), 
+_ISxdig\99
+, (l))
+
+       )
+
+317 \ 1
+       #__isbÏnk_l
+(
+c
+,
+l
+       `__isùy³_l
+((c), 
+_ISbÏnk
+, (l))
+
+       )
+
+319 #ià
+def\9aed
+__USE_SVID
+ || def\9aed 
+__USE_MISC
+
+
+320 \ 1
+       #__i§scii_l
+(
+c
+,
+l
+è(Ö), 
+       `__i§scii
+ (c))
+
+       )
+
+321 \ 1
+       #__tßscii_l
+(
+c
+,
+l
+è(Ö), 
+       `__tßscii
+ (c))
+
+       )
+
+324 \ 1
+       #i§Êum_l
+(
+c
+,
+l
+       `__i§Êum_l
+ ((c), (l))
+
+       )
+
+325 \ 1
+       #i§Íha_l
+(
+c
+,
+l
+       `__i§Íha_l
+ ((c), (l))
+
+       )
+
+326 \ 1
+       #isú\8cl_l
+(
+c
+,
+l
+       `__isú\8cl_l
+ ((c), (l))
+
+       )
+
+327 \ 1
+       #isdig\99_l
+(
+c
+,
+l
+       `__isdig\99_l
+ ((c), (l))
+
+       )
+
+328 \ 1
+       #i¦ow\94_l
+(
+c
+,
+l
+       `__i¦ow\94_l
+ ((c), (l))
+
+       )
+
+329 \ 1
+       #isg¿ph_l
+(
+c
+,
+l
+       `__isg¿ph_l
+ ((c), (l))
+
+       )
+
+330 \ 1
+       #i¥r\9at_l
+(
+c
+,
+l
+       `__i¥r\9at_l
+ ((c), (l))
+
+       )
+
+331 \ 1
+       #i¥unù_l
+(
+c
+,
+l
+       `__i¥unù_l
+ ((c), (l))
+
+       )
+
+332 \ 1
+       #is¥aû_l
+(
+c
+,
+l
+       `__is¥aû_l
+ ((c), (l))
+
+       )
+
+333 \ 1
+       #isuµ\94_l
+(
+c
+,
+l
+       `__isuµ\94_l
+ ((c), (l))
+
+       )
+
+334 \ 1
+       #isxdig\99_l
+(
+c
+,
+l
+       `__isxdig\99_l
+ ((c), (l))
+
+       )
+
+336 \ 1
+       #isbÏnk_l
+(
+c
+,
+l
+       `__isbÏnk_l
+ ((c), (l))
+
+       )
+
+338 #ià
+def\9aed
+__USE_SVID
+ || def\9aed 
+__USE_MISC
+
+
+339 \ 1
+       #i§scii_l
+(
+c
+,
+l
+       `__i§scii_l
+ ((c), (l))
+
+       )
+
+340 \ 1
+       #tßscii_l
+(
+c
+,
+l
+       `__tßscii_l
+ ((c), (l))
+
+       )
+
+347 
+__END_DECLS
+
+
+       @/usr/include/linux/posix_types.h
+
+1 #iâdeà
+_LINUX_POSIX_TYPES_H
+
+
+2 \ 1
+       #_LINUX_POSIX_TYPES_H
+
+
+       )
+
+4 \ 2
+       ~<l\9aux/¡ddef.h
+>
+
+21 #undeà
+__FD_SETSIZE
+
+
+22 \ 1
+       #__FD_SETSIZE
+ 1024
+
+       )
+
+25 \1d\13
+       mfds_b\99s
+[
+__FD_SETSIZE
+ / (8 * \17(\13))];
+
+26 } 
+       t__k\94Ãl_fd_£t
+;
+
+29 \e\1e(*
+       t__k\94Ãl_sighªdËr_t
+)(\12);
+
+32 \e\12
+       t__k\94Ãl_key_t
+;
+
+33 \e\12
+       t__k\94Ãl_mqd_t
+;
+
+35 \ 2
+       ~<asm/posix_ty³s.h
+>
+
+       @/usr/include/stdc-predef.h
+
+18 #iâdef 
+_STDC_PREDEF_H
+
+
+19 \ 1
+       #_STDC_PREDEF_H
+ 1
+
+       )
+
+36 #ifdeà
+__GCC_IEC_559
+
+
+37 #ià
+__GCC_IEC_559
+ > 0
+
+38 \ 1
+       #__STDC_IEC_559__
+ 1
+
+       )
+
+41 \ 1
+       #__STDC_IEC_559__
+ 1
+
+       )
+
+44 #ifdeà
+__GCC_IEC_559_COMPLEX
+
+
+45 #ià
+__GCC_IEC_559_COMPLEX
+ > 0
+
+46 \ 1
+       #__STDC_IEC_559_COMPLEX__
+ 1
+
+       )
+
+49 \ 1
+       #__STDC_IEC_559_COMPLEX__
+ 1
+
+       )
+
+54 \ 1
+       #__STDC_ISO_10646__
+ 201103L
+
+       )
+
+57 \ 1
+       #__STDC_NO_THREADS__
+ 1
+
+       )
+
+       @/usr/include/gconv.h
+
+22 #iâdeà
+_GCONV_H
+
+
+23 \ 1
+       #_GCONV_H
+ 1
+
+       )
+
+25 \ 2
+       ~<ã©u»s.h
+>
+
+26 \ 1
+       #__Ãed_mb¡©e_t
+
+
+       )
+
+27 \ 1
+       #__Ãed_w\9at_t
+
+
+       )
+
+28 \ 2
+       ~<wch¬.h
+>
+
+29 \ 1
+       #__Ãed_size_t
+
+
+       )
+
+30 \ 1
+       #__Ãed_wch¬_t
+
+
+       )
+
+31 \ 2
+       ~<¡ddef.h
+>
+
+34 \ 1
+       #__UNKNOWN_10646_CHAR
+ ((
+wch¬_t
+è0xfffd)
+
+       )
+
+39 
+       m__GCONV_OK
+ = 0,
+
+40 
+       m__GCONV_NOCONV
+,
+
+41 
+       m__GCONV_NODB
+,
+
+42 
+       m__GCONV_NOMEM
+,
+
+44 
+       m__GCONV_EMPTY_INPUT
+,
+
+45 
+       m__GCONV_FULL_OUTPUT
+,
+
+46 
+       m__GCONV_ILLEGAL_INPUT
+,
+
+47 
+       m__GCONV_INCOMPLETE_INPUT
+,
+
+49 
+       m__GCONV_ILLEGAL_DESCRIPTOR
+,
+
+50 
+       m__GCONV_INTERNAL_ERROR
+
+
+57 
+       m__GCONV_IS_LAST
+ = 0x0001,
+
+58 
+       m__GCONV_IGNORE_ERRORS
+ = 0x0002,
+
+59 
+       m__GCONV_SWAP
+ = 0x0004
+
+64 \19
+       g__gcÚv_¡\95
+;
+
+65 \19
+       g__gcÚv_¡\95_d©a
+;
+
+66 \19
+       g__gcÚv_lßded_objeù
+;
+
+67 \19
+       g__gcÚv_\8cªs_d©a
+;
+
+71 \e\12(*
+       t__gcÚv_fù
+è(\19
+       t__gcÚv_¡\95
+ *, \19
+       t__gcÚv_¡\95_d©a
+ *,
+
+73 \1d\ 5**, 
+       tsize_t
+ *, \12\12);
+
+76 \e
+       $w\9at_t
+ (*
+       t__gcÚv_btowc_fù
+è(\19
+       t__gcÚv_¡\95
+ *, \1d\ 5);
+
+79 \e\12(*
+       t__gcÚv_\9a\99_fù
+è(\19
+       t__gcÚv_¡\95
+ *);
+
+80 \e\1e(*
+       t__gcÚv_\92d_fù
+è(\19
+       t__gcÚv_¡\95
+ *);
+
+84 \e\12(*
+       t__gcÚv_\8cªs_fù
+è(\19
+       t__gcÚv_¡\95
+ *,
+
+85 \19
+       t__gcÚv_¡\95_d©a
+ *, \1e*,
+
+89 
+       tsize_t
+ *);
+
+92 \e\12(*
+       t__gcÚv_\8cªs_cÚ\8bxt_fù
+) (\1e*, const \1d\ 5*,
+
+97 \e\12(*
+       t__gcÚv_\8cªs_qu\94y_fù
+) (const \ 5*, const \ 5***,
+
+98 
+       tsize_t
+ *);
+
+101 \e\12(*
+       t__gcÚv_\8cªs_\9a\99_fù
+) (\1e**, const \ 5*);
+
+102 \e\1e(*
+       t__gcÚv_\8cªs_\92d_fù
+) (\1e*);
+
+104 \19
+       s__gcÚv_\8cªs_d©a
+
+
+107 
+__gcÚv_\8cªs_fù
+__\8cªs_fù
+;
+
+108 
+__gcÚv_\8cªs_cÚ\8bxt_fù
+__\8cªs_cÚ\8bxt_fù
+;
+
+109 
+__gcÚv_\8cªs_\92d_fù
+__\8cªs_\92d_fù
+;
+
+110 \1e*
+__d©a
+;
+
+111 \19
+__gcÚv_\8cªs_d©a
+ *
+__Ãxt
+;
+
+116 \19
+       s__gcÚv_¡\95
+
+
+118 \19
+__gcÚv_lßded_objeù
+ *
+__shlib_hªdË
+;
+
+119 cڡ \ 5*
+__modÇme
+;
+
+121 \12
+__couÁ\94
+;
+
+123 \ 5*
+__äom_Çme
+;
+
+124 \ 5*
+__to_Çme
+;
+
+126 
+__gcÚv_fù
+__fù
+;
+
+127 
+__gcÚv_btowc_fù
+__btowc_fù
+;
+
+128 
+__gcÚv_\9a\99_fù
+__\9a\99_fù
+;
+
+129 
+__gcÚv_\92d_fù
+__\92d_fù
+;
+
+133 \12
+__m\9a_Ãeded_äom
+;
+
+134 \12
+__max_Ãeded_äom
+;
+
+135 \12
+__m\9a_Ãeded_to
+;
+
+136 \12
+__max_Ãeded_to
+;
+
+139 \12
+__¡©eful
+;
+
+141 \1e*
+__d©a
+;
+
+146 \19
+       s__gcÚv_¡\95_d©a
+
+
+148 \1d\ 5*
+__outbuf
+;
+
+149 \1d\ 5*
+__outbuãnd
+;
+
+153 \12
+__æags
+;
+
+157 \12
+__\9avoÿtiÚ_couÁ\94
+;
+
+161 \12
+__\9a\8bº®_u£
+;
+
+163 
+__mb¡©e_t
+ *
+__¡©\95
+;
+
+164 
+__mb¡©e_t
+__¡©e
+;
+
+168 \19
+__gcÚv_\8cªs_d©a
+ *
+__\8cªs
+;
+
+173 \e\19
+       s__gcÚv_\9afo
+
+
+175 
+size_t
+__n¡\95s
+;
+
+176 \19
+__gcÚv_¡\95
+ *
+__¡\95s
+;
+
+177 
+__ex\8bnsiÚ__
\19
+__gcÚv_¡\95_d©a
+__d©a
+__æex¬r
+;
+
+178 } *
+       t__gcÚv_t
+;
+
+       @/usr/include/linux/stddef.h
+
+       @/usr/include/wchar.h
+
+23 #iâdeà
+_WCHAR_H
+
+
+25 #ià!
+def\9aed
+__Ãed_mb¡©e_t
+ && !def\9aed 
+__Ãed_w\9at_t
+
+
+26 \ 1
+       #_WCHAR_H
+ 1
+
+       )
+
+27 \ 2
+       ~<ã©u»s.h
+>
+
+30 #ifdeà
+_WCHAR_H
+
+
+32 \ 1
+       #__Ãed___FILE
+
+
+       )
+
+33 #ià
+def\9aed
+__USE_UNIX98
+ || def\9aed 
+__USE_XOPEN2K
+
+
+34 \ 1
+       #__Ãed_FILE
+
+
+       )
+
+36 \ 2
+       ~<¡dio.h
+>
+
+38 \ 1
+       #__Ãed___va_li¡
+
+
+       )
+
+39 \ 2
+       ~<¡d¬g.h
+>
+
+41 \ 2
+       ~<b\99s/wch¬.h
+>
+
+44 \ 1
+       #__Ãed_size_t
+
+
+       )
+
+45 \ 1
+       #__Ãed_wch¬_t
+
+
+       )
+
+46 \ 1
+       #__Ãed_NULL
+
+
+       )
+
+48 #ià
+def\9aed
+_WCHAR_H
+ || def\9aed 
+__Ãed_w\9at_t
+ || !def\9aed 
+__WINT_TYPE__
+
+
+49 #undeà
+__Ãed_w\9at_t
+
+
+50 \ 1
+       #__Ãed_w\9at_t
+
+
+       )
+
+51 \ 2
+       ~<¡ddef.h
+>
+
+55 #iâdeà
+_WINT_T
+
+
+60 \ 1
+       #_WINT_T
+
+
+       )
+
+61 \e\1d\12
+       tw\9at_t
+;
+
+65 #ià
+def\9aed
+__ýlu¥lus
+ && def\9aed 
+_GLIBCPP_USE_NAMESPACES
+ \
+
+66 && 
+def\9aed
+__WINT_TYPE__
+
+
+67 
+__BEGIN_NAMESPACE_STD
+
+
+68 \e
+__WINT_TYPE__
+       tw\9at_t
+;
+
+69 
+       g__END_NAMESPACE_STD
+
+
+74 #ià
+def\9aed
+__ýlu¥lus
+ && 
+__GNUC_PREREQ
+ (4, 4)
+
+75 \ 1
+       #__CORRECT_ISO_CPP_WCHAR_H_PROTO
+
+
+       )
+
+79 #ià(
+def\9aed
+_WCHAR_H
+ || def\9aed 
+__Ãed_mb¡©e_t
+è&& !def\9aed 
+____mb¡©e_t_def\9aed
+
+
+80 \ 1
+       #____mb¡©e_t_def\9aed
+ 1
+
+       )
+
+84 \12
+       m__couÁ
+;
+
+87 #ifdeà
+__WINT_TYPE__
+
+
+88 
+__WINT_TYPE__
+       m__wch
+;
+
+90 
+w\9at_t
+       m__wch
+;
+
+92 \ 5
+       m__wchb
+[4];
+
+93 } 
+       m__v®ue
+;
+
+94 } 
+       t__mb¡©e_t
+;
+
+96 #undeà
+__Ãed_mb¡©e_t
+
+
+101 #ifdeà
+_WCHAR_H
+
+
+103 #iâdeà
+__mb¡©e_t_def\9aed
+
+
+104 
+__BEGIN_NAMESPACE_C99
+
+
+106 \e
+__mb¡©e_t
+       tmb¡©e_t
+;
+
+107 
+       g__END_NAMESPACE_C99
+
+
+108 \ 1
+       #__mb¡©e_t_def\9aed
+ 1
+
+       )
+
+111 #ifdeà
+__USE_GNU
+
+
+112 
+       $__USING_NAMESPACE_C99
+(
+mb¡©e_t
+)
+
+115 #iâdeà
+WCHAR_MIN
+
+
+117 \ 1
+       #WCHAR_MIN
+__WCHAR_MIN
+
+
+       )
+
+118 \ 1
+       #WCHAR_MAX
+__WCHAR_MAX
+
+
+       )
+
+121 #iâdeà
+WEOF
+
+
+122 \ 1
+       #WEOF
+ (0xffffffffu)
+
+       )
+
+127 #ià
+def\9aed
+__USE_XOPEN
+ && !def\9aed 
+__USE_UNIX98
+
+
+128 \ 2
+       ~<wùy³.h
+>
+
+132 
+__BEGIN_DECLS
+
+
+134 
+__BEGIN_NAMESPACE_STD
+
+
+137 \19
+tm
+;
+
+138 
+__END_NAMESPACE_STD
+
+
+142 
+       $__USING_NAMESPACE_STD
+(
+tm
+)
+
+145 
+__BEGIN_NAMESPACE_STD
+
+
+147 \r
+wch¬_t
+ *
+       $wcsýy
+ (
+wch¬_t
+ *
+__»¡riù
+__de¡
+,
+
+148 cڡ 
+wch¬_t
+ *
+__»¡riù
+__¤c
+__THROW
+;
+
+150 \r
+wch¬_t
+ *
+       $wc¢ýy
+ (
+wch¬_t
+ *
+__»¡riù
+__de¡
+,
+
+151 cڡ 
+wch¬_t
+ *
+__»¡riù
+__¤c
+, 
+size_t
+__n
+)
+
+152 
+__THROW
+;
+
+155 \r
+wch¬_t
+ *
+       $wcsÿt
+ (
+wch¬_t
+ *
+__»¡riù
+__de¡
+,
+
+156 cڡ 
+wch¬_t
+ *
+__»¡riù
+__¤c
+__THROW
+;
+
+158 \r
+wch¬_t
+ *
+       $wc¢ÿt
+ (
+wch¬_t
+ *
+__»¡riù
+__de¡
+,
+
+159 cڡ 
+wch¬_t
+ *
+__»¡riù
+__¤c
+, 
+size_t
+__n
+)
+
+160 
+__THROW
+;
+
+163 \r\12
+       $wcscmp
+ (cڡ 
+wch¬_t
+ *
+__s1
+, cÚ¡ wch¬_\88*
+__s2
+)
+
+164 
+__THROW
+__©\8cibu\8b_pu»__
+;
+
+166 \r\12
+       $wc¢cmp
+ (cڡ 
+wch¬_t
+ *
+__s1
+, cÚ¡ wch¬_\88*
+__s2
+, 
+size_t
+__n
+)
+
+167 
+__THROW
+__©\8cibu\8b_pu»__
+;
+
+168 
+__END_NAMESPACE_STD
+
+
+170 #ifdeà
+__USE_XOPEN2K8
+
+
+172 \r\12
+       $wcsÿ£cmp
+ (cڡ 
+wch¬_t
+ *
+__s1
+, cÚ¡ wch¬_\88*
+__s2
+__THROW
+;
+
+175 \r\12
+       $wc¢ÿ£cmp
+ (cڡ 
+wch¬_t
+ *
+__s1
+, cÚ¡ wch¬_\88*
+__s2
+,
+
+176 
+size_t
+__n
+__THROW
+;
+
+180 \ 2
+       ~<xloÿË.h
+>
+
+182 \r\12
+       $wcsÿ£cmp_l
+ (cڡ 
+wch¬_t
+ *
+__s1
+, cÚ¡ wch¬_\88*
+__s2
+,
+
+183 
+__loÿË_t
+__loc
+__THROW
+;
+
+185 \r\12
+       $wc¢ÿ£cmp_l
+ (cڡ 
+wch¬_t
+ *
+__s1
+, cÚ¡ wch¬_\88*
+__s2
+,
+
+186 
+size_t
+__n
+, 
+__loÿË_t
+__loc
+__THROW
+;
+
+189 
+__BEGIN_NAMESPACE_STD
+
+
+192 \r\12
+       $wcscÞl
+ (cڡ 
+wch¬_t
+ *
+__s1
+, cÚ¡ wch¬_\88*
+__s2
+__THROW
+;
+
+196 \r
+size_t
+       $wcsxäm
+ (
+wch¬_t
+ *
+__»¡riù
+__s1
+,
+
+197 cڡ 
+wch¬_t
+ *
+__»¡riù
+__s2
+, 
+size_t
+__n
+__THROW
+;
+
+198 
+__END_NAMESPACE_STD
+
+
+200 #ifdeà
+__USE_XOPEN2K8
+
+
+206 \r\12
+       $wcscÞl_l
+ (cڡ 
+wch¬_t
+ *
+__s1
+, cÚ¡ wch¬_\88*
+__s2
+,
+
+207 
+__loÿË_t
+__loc
+__THROW
+;
+
+212 \r
+size_t
+       $wcsxäm_l
+ (
+wch¬_t
+ *
+__s1
+, cÚ¡ wch¬_\88*
+__s2
+,
+
+213 
+size_t
+__n
+, 
+__loÿË_t
+__loc
+__THROW
+;
+
+216 \r
+wch¬_t
+ *
+       $wcsdup
+ (cڡ 
+wch¬_t
+ *
+__s
+__THROW
+__©\8cibu\8b_m®loc__
+;
+
+219 
+__BEGIN_NAMESPACE_STD
+
+
+221 #ifdeà
+__CORRECT_ISO_CPP_WCHAR_H_PROTO
+
+
+222 \r"C++" 
+wch¬_t
+ *
+       $wcschr
+ (
+wch¬_t
+ *
+__wcs
+, wch¬_\88
+__wc
+)
+
+223 
+__THROW
+       `__asm
+ ("wcschr"è
+__©\8cibu\8b_pu»__
+;
+
+224 \r"C++" cڡ 
+wch¬_t
+ *
+       $wcschr
+ (cڡ 
+wch¬_t
+ *
+__wcs
+, wch¬_\88
+__wc
+)
+
+225 
+__THROW
+       `__asm
+ ("wcschr"è
+__©\8cibu\8b_pu»__
+;
+
+227 \r
+wch¬_t
+ *
+       $wcschr
+ (cڡ 
+wch¬_t
+ *
+__wcs
+, wch¬_\88
+__wc
+)
+
+228 
+__THROW
+__©\8cibu\8b_pu»__
+;
+
+231 #ifdeà
+__CORRECT_ISO_CPP_WCHAR_H_PROTO
+
+
+232 \r"C++" 
+wch¬_t
+ *
+       $wc¤chr
+ (
+wch¬_t
+ *
+__wcs
+, wch¬_\88
+__wc
+)
+
+233 
+__THROW
+       `__asm
+ ("wc¤chr"è
+__©\8cibu\8b_pu»__
+;
+
+234 \r"C++" cڡ 
+wch¬_t
+ *
+       $wc¤chr
+ (cڡ 
+wch¬_t
+ *
+__wcs
+, wch¬_\88
+__wc
+)
+
+235 
+__THROW
+       `__asm
+ ("wc¤chr"è
+__©\8cibu\8b_pu»__
+;
+
+237 \r
+wch¬_t
+ *
+       $wc¤chr
+ (cڡ 
+wch¬_t
+ *
+__wcs
+, wch¬_\88
+__wc
+)
+
+238 
+__THROW
+__©\8cibu\8b_pu»__
+;
+
+240 
+__END_NAMESPACE_STD
+
+
+242 #ifdeà
+__USE_GNU
+
+
+245 \r
+wch¬_t
+ *
+       $wcschºul
+ (cڡ 
+wch¬_t
+ *
+__s
+, wch¬_\88
+__wc
+)
+
+246 
+__THROW
+__©\8cibu\8b_pu»__
+;
+
+249 
+__BEGIN_NAMESPACE_STD
+
+
+252 \r
+size_t
+       $wcsc¥n
+ (cڡ 
+wch¬_t
+ *
+__wcs
+, cÚ¡ wch¬_\88*
+__»jeù
+)
+
+253 
+__THROW
+__©\8cibu\8b_pu»__
+;
+
+256 \r
+size_t
+       $wcs¥n
+ (cڡ 
+wch¬_t
+ *
+__wcs
+, cÚ¡ wch¬_\88*
+__acû±
+)
+
+257 
+__THROW
+__©\8cibu\8b_pu»__
+;
+
+259 #ifdeà
+__CORRECT_ISO_CPP_WCHAR_H_PROTO
+
+
+260 \r"C++" 
+wch¬_t
+ *
+       $wc¥brk
+ (
+wch¬_t
+ *
+__wcs
+, cÚ¡ wch¬_\88*
+__acû±
+)
+
+261 
+__THROW
+       `__asm
+ ("wc¥brk"è
+__©\8cibu\8b_pu»__
+;
+
+262 \r"C++" cڡ 
+wch¬_t
+ *
+       $wc¥brk
+ (cڡ 
+wch¬_t
+ *
+__wcs
+,
+
+263 cڡ 
+wch¬_t
+ *
+__acû±
+)
+
+264 
+__THROW
+       `__asm
+ ("wc¥brk"è
+__©\8cibu\8b_pu»__
+;
+
+266 \r
+wch¬_t
+ *
+       $wc¥brk
+ (cڡ 
+wch¬_t
+ *
+__wcs
+, cÚ¡ wch¬_\88*
+__acû±
+)
+
+267 
+__THROW
+__©\8cibu\8b_pu»__
+;
+
+270 #ifdeà
+__CORRECT_ISO_CPP_WCHAR_H_PROTO
+
+
+271 \r"C++" 
+wch¬_t
+ *
+       $wcs¡r
+ (
+wch¬_t
+ *
+__hay¡ack
+, cÚ¡ wch¬_\88*
+__ÃedË
+)
+
+272 
+__THROW
+       `__asm
+ ("wcs¡r"è
+__©\8cibu\8b_pu»__
+;
+
+273 \r"C++" cڡ 
+wch¬_t
+ *
+       $wcs¡r
+ (cڡ 
+wch¬_t
+ *
+__hay¡ack
+,
+
+274 cڡ 
+wch¬_t
+ *
+__ÃedË
+)
+
+275 
+__THROW
+       `__asm
+ ("wcs¡r"è
+__©\8cibu\8b_pu»__
+;
+
+277 \r
+wch¬_t
+ *
+       $wcs¡r
+ (cڡ 
+wch¬_t
+ *
+__hay¡ack
+, cÚ¡ wch¬_\88*
+__ÃedË
+)
+
+278 
+__THROW
+__©\8cibu\8b_pu»__
+;
+
+282 \r
+wch¬_t
+ *
+       $wc¡ok
+ (
+wch¬_t
+ *
+__»¡riù
+__s
+,
+
+283 cڡ 
+wch¬_t
+ *
+__»¡riù
+__d\96im
+,
+
+284 
+wch¬_t
+ **
+__»¡riù
+__±r
+__THROW
+;
+
+287 \r
+size_t
+       $wc¦\92
+ (cڡ 
+wch¬_t
+ *
+__s
+__THROW
+__©\8cibu\8b_pu»__
+;
+
+288 
+__END_NAMESPACE_STD
+
+
+290 #ifdeà
+__USE_XOPEN
+
+
+292 #ifdeà
+__CORRECT_ISO_CPP_WCHAR_H_PROTO
+
+
+293 \r"C++" 
+wch¬_t
+ *
+       $wcswcs
+ (
+wch¬_t
+ *
+__hay¡ack
+, cÚ¡ wch¬_\88*
+__ÃedË
+)
+
+294 
+__THROW
+       `__asm
+ ("wcswcs"è
+__©\8cibu\8b_pu»__
+;
+
+295 \r"C++" cڡ 
+wch¬_t
+ *
+       $wcswcs
+ (cڡ 
+wch¬_t
+ *
+__hay¡ack
+,
+
+296 cڡ 
+wch¬_t
+ *
+__ÃedË
+)
+
+297 
+__THROW
+       `__asm
+ ("wcswcs"è
+__©\8cibu\8b_pu»__
+;
+
+299 \r
+wch¬_t
+ *
+       $wcswcs
+ (cڡ 
+wch¬_t
+ *
+__hay¡ack
+, cÚ¡ wch¬_\88*
+__ÃedË
+)
+
+300 
+__THROW
+__©\8cibu\8b_pu»__
+;
+
+304 #ifdeà
+__USE_XOPEN2K8
+
+
+306 \r
+size_t
+       $wc¢Ën
+ (cڡ 
+wch¬_t
+ *
+__s
+, 
+size_t
+__maxËn
+)
+
+307 
+__THROW
+__©\8cibu\8b_pu»__
+;
+
+311 
+__BEGIN_NAMESPACE_STD
+
+
+313 #ifdeà
+__CORRECT_ISO_CPP_WCHAR_H_PROTO
+
+
+314 \r"C++" 
+wch¬_t
+ *
+       $wmemchr
+ (
+wch¬_t
+ *
+__s
+, wch¬_\88
+__c
+, 
+size_t
+__n
+)
+
+315 
+__THROW
+       `__asm
+ ("wmemchr"è
+__©\8cibu\8b_pu»__
+;
+
+316 \r"C++" cڡ 
+wch¬_t
+ *
+       $wmemchr
+ (cڡ 
+wch¬_t
+ *
+__s
+, wch¬_\88
+__c
+,
+
+317 
+size_t
+__n
+)
+
+318 
+__THROW
+       `__asm
+ ("wmemchr"è
+__©\8cibu\8b_pu»__
+;
+
+320 \r
+wch¬_t
+ *
+       $wmemchr
+ (cڡ 
+wch¬_t
+ *
+__s
+, wch¬_\88
+__c
+, 
+size_t
+__n
+)
+
+321 
+__THROW
+__©\8cibu\8b_pu»__
+;
+
+325 \r\12
+       $wmemcmp
+ (cڡ 
+wch¬_t
+ *
+__s1
+, cÚ¡ wch¬_\88*
+__s2
+, 
+size_t
+__n
+)
+
+326 
+__THROW
+__©\8cibu\8b_pu»__
+;
+
+329 \r
+wch¬_t
+ *
+       $wmemýy
+ (
+wch¬_t
+ *
+__»¡riù
+__s1
+,
+
+330 cڡ 
+wch¬_t
+ *
+__»¡riù
+__s2
+, 
+size_t
+__n
+__THROW
+;
+
+334 \r
+wch¬_t
+ *
+       $wmemmove
+ (
+wch¬_t
+ *
+__s1
+, cÚ¡ wch¬_\88*
+__s2
+, 
+size_t
+__n
+)
+
+335 
+__THROW
+;
+
+338 \r
+wch¬_t
+ *
+       $wmem£t
+ (
+wch¬_t
+ *
+__s
+, wch¬_\88
+__c
+, 
+size_t
+__n
+__THROW
+;
+
+339 
+__END_NAMESPACE_STD
+
+
+341 #ifdeà
+__USE_GNU
+
+
+344 \r
+wch¬_t
+ *
+       $wmempýy
+ (
+wch¬_t
+ *
+__»¡riù
+__s1
+,
+
+345 cڡ 
+wch¬_t
+ *
+__»¡riù
+__s2
+, 
+size_t
+__n
+)
+
+346 
+__THROW
+;
+
+350 
+__BEGIN_NAMESPACE_STD
+
+
+353 \r
+w\9at_t
+       $btowc
+ (\12
+__c
+__THROW
+;
+
+357 \r\12
+       $wùob
+ (
+w\9at_t
+__c
+__THROW
+;
+
+361 \r\12
+       $mbs\9a\99
+ (cڡ 
+mb¡©e_t
+ *
+__ps
+__THROW
+__©\8cibu\8b_pu»__
+;
+
+365 \r
+size_t
+       $mb¹owc
+ (
+wch¬_t
+ *
+__»¡riù
+__pwc
+,
+
+366 cڡ \ 5*
+__»¡riù
+__s
+, 
+size_t
+__n
+,
+
+367 
+mb¡©e_t
+ *
+__»¡riù
+__p
+__THROW
+;
+
+370 \r
+size_t
+       $wütomb
+ (\ 5*
+__»¡riù
+__s
+, 
+wch¬_t
+__wc
+,
+
+371 
+mb¡©e_t
+ *
+__»¡riù
+__ps
+__THROW
+;
+
+374 \r
+size_t
+       $__mb¾\92
+ (cڡ \ 5*
+__»¡riù
+__s
+, 
+size_t
+__n
+,
+
+375 
+mb¡©e_t
+ *
+__»¡riù
+__ps
+__THROW
+;
+
+376 \r
+size_t
+       $mb¾\92
+ (cڡ \ 5*
+__»¡riù
+__s
+, 
+size_t
+__n
+,
+
+377 
+mb¡©e_t
+ *
+__»¡riù
+__ps
+__THROW
+;
+
+378 
+__END_NAMESPACE_STD
+
+
+380 #ifdeà
+__USE_EXTERN_INLINES
+
+
+386 \r
+w\9at_t
+       $__btowc_®\9fs
+ (\12
+__c
+       `__asm
+ ("btowc");
+
+387 
+__ex\8bº_\9al\9ae
+w\9at_t
+
+
+388 
+       `__NTH
+ (
+       $btowc
+ (\12
+__c
+))
+
+389 { \15 (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+__c
+) && __c >= '\0' && __c <= '\x7f'
+
+390 ? (
+w\9at_t
+__c
+ : 
+       `__btowc_®\9fs
+ (__c)); 
+       }
+}
+
+392 \r\12
+       $__wùob_®\9fs
+ (
+w\9at_t
+__c
+       `__asm
+ ("wctob");
+
+393 
+__ex\8bº_\9al\9ae
\12
+
+394 
+       `__NTH
+ (
+       $wùob
+ (
+w\9at_t
+__wc
+))
+
+395 { \15 (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+__wc
+è&& __wø>ð
+L
+'\0' && __wc <= L'\x7f'
+
+396 ? (\12è
+__wc
+ : 
+       `__wùob_®\9fs
+ (__wc)); 
+       }
+}
+
+398 
+__ex\8bº_\9al\9ae
+size_t
+
+
+399 
+__NTH
+ (
+       $mb¾\92
+ (cڡ \ 5*
+__»¡riù
+__s
+, 
+size_t
+__n
+,
+
+400 
+mb¡©e_t
+ *
+__»¡riù
+__ps
+))
+
+401 { \15 (
+__ps
+ !ð
+NULL
+
+
+402 ? 
+       `mb¹owc
+ (
+NULL
+, 
+__s
+, 
+__n
+, 
+__ps
+è: 
+       `__mb¾\92
+ (__s, __n, NULL)); 
+       }
+}
+
+405 
+__BEGIN_NAMESPACE_STD
+
+
+408 \r
+size_t
+       $mb¤towcs
+ (
+wch¬_t
+ *
+__»¡riù
+__d¡
+,
+
+409 cڡ \ 5**
+__»¡riù
+__¤c
+, 
+size_t
+__Ën
+,
+
+410 
+mb¡©e_t
+ *
+__»¡riù
+__ps
+__THROW
+;
+
+414 \r
+size_t
+       $wc¤tombs
+ (\ 5*
+__»¡riù
+__d¡
+,
+
+415 cڡ 
+wch¬_t
+ **
+__»¡riù
+__¤c
+, 
+size_t
+__Ën
+,
+
+416 
+mb¡©e_t
+ *
+__»¡riù
+__ps
+__THROW
+;
+
+417 
+__END_NAMESPACE_STD
+
+
+420 #ifdef 
+__USE_XOPEN2K8
+
+
+423 \r
+size_t
+       $mb¢¹owcs
+ (
+wch¬_t
+ *
+__»¡riù
+__d¡
+,
+
+424 cڡ \ 5**
+__»¡riù
+__¤c
+, 
+size_t
+__nmc
+,
+
+425 
+size_t
+__Ën
+, 
+mb¡©e_t
+ *
+__»¡riù
+__ps
+__THROW
+;
+
+429 \r
+size_t
+       $wc¢¹ombs
+ (\ 5*
+__»¡riù
+__d¡
+,
+
+430 cڡ 
+wch¬_t
+ **
+__»¡riù
+__¤c
+,
+
+431 
+size_t
+__nwc
+, size_\88
+__Ën
+,
+
+432 
+mb¡©e_t
+ *
+__»¡riù
+__ps
+__THROW
+;
+
+437 #ifdeà
+__USE_XOPEN
+
+
+439 \r\12
+       $wcwidth
+ (
+wch¬_t
+__c
+__THROW
+;
+
+443 \r\12
+       $wcswidth
+ (cڡ 
+wch¬_t
+ *
+__s
+, 
+size_t
+__n
+__THROW
+;
+
+447 
+__BEGIN_NAMESPACE_STD
+
+
+450 \r\b
+       $wc¡od
+ (cڡ 
+wch¬_t
+ *
+__»¡riù
+__Ō
+,
+
+451 
+wch¬_t
+ **
+__»¡riù
+__\92d±r
+__THROW
+;
+
+452 
+__END_NAMESPACE_STD
+
+
+454 #ifdeà
+__USE_ISOC99
+
+
+455 
+__BEGIN_NAMESPACE_C99
+
+
+457 \r\ e
+       $wc¡of
+ (cڡ 
+wch¬_t
+ *
+__»¡riù
+__Ō
+,
+
+458 
+wch¬_t
+ **
+__»¡riù
+__\92d±r
+__THROW
+;
+
+459 \r\13\b
+       $wc¡Þd
+ (cڡ 
+wch¬_t
+ *
+__»¡riù
+__Ō
+,
+
+460 
+wch¬_t
+ **
+__»¡riù
+__\92d±r
+__THROW
+;
+
+461 
+__END_NAMESPACE_C99
+
+
+465 
+__BEGIN_NAMESPACE_STD
+
+
+468 \r\13\12
+       $wc¡Þ
+ (cڡ 
+wch¬_t
+ *
+__»¡riù
+__Ō
+,
+
+469 
+wch¬_t
+ **
+__»¡riù
+__\92d±r
+, \12
+__ba£
+__THROW
+;
+
+473 \r\1d\13\12
+       $wc¡oul
+ (cڡ 
+wch¬_t
+ *
+__»¡riù
+__Ō
+,
+
+474 
+wch¬_t
+ **
+__»¡riù
+__\92d±r
+, \12
+__ba£
+)
+
+475 
+__THROW
+;
+
+476 
+__END_NAMESPACE_STD
+
+
+478 #ifdeà
+__USE_ISOC99
+
+
+479 
+__BEGIN_NAMESPACE_C99
+
+
+482 
+__ex\8bnsiÚ__
+
+
+483 \r\13\13\12
+       $wc¡Þl
+ (cڡ 
+wch¬_t
+ *
+__»¡riù
+__Ō
+,
+
+484 
+wch¬_t
+ **
+__»¡riù
+__\92d±r
+, \12
+__ba£
+)
+
+485 
+__THROW
+;
+
+489 
+__ex\8bnsiÚ__
+
+
+490 \r\1d\13\13\12
+       $wc¡ouÎ
+ (cڡ 
+wch¬_t
+ *
+__»¡riù
+__Ō
+,
+
+491 
+wch¬_t
+ **
+__»¡riù
+__\92d±r
+,
+
+492 \12
+__ba£
+__THROW
+;
+
+493 
+__END_NAMESPACE_C99
+
+
+496 #ifdeà
+__USE_GNU
+
+
+499 
+__ex\8bnsiÚ__
+
+
+500 \r\13\13\12
+       $wc¡oq
+ (cڡ 
+wch¬_t
+ *
+__»¡riù
+__Ō
+,
+
+501 
+wch¬_t
+ **
+__»¡riù
+__\92d±r
+, \12
+__ba£
+)
+
+502 
+__THROW
+;
+
+506 
+__ex\8bnsiÚ__
+
+
+507 \r\1d\13\13\12
+       $wc¡ouq
+ (cڡ 
+wch¬_t
+ *
+__»¡riù
+__Ō
+,
+
+508 
+wch¬_t
+ **
+__»¡riù
+__\92d±r
+,
+
+509 \12
+__ba£
+__THROW
+;
+
+512 #ifdeà
+__USE_GNU
+
+
+526 \ 2
+       ~<xloÿË.h
+>
+
+530 \r\13\12
+       $wc¡Þ_l
+ (cڡ 
+wch¬_t
+ *
+__»¡riù
+__Ō
+,
+
+531 
+wch¬_t
+ **
+__»¡riù
+__\92d±r
+, \12
+__ba£
+,
+
+532 
+__loÿË_t
+__loc
+__THROW
+;
+
+534 \r\1d\13\12
+       $wc¡oul_l
+ (cڡ 
+wch¬_t
+ *
+__»¡riù
+__Ō
+,
+
+535 
+wch¬_t
+ **
+__»¡riù
+__\92d±r
+,
+
+536 \12
+__ba£
+, 
+__loÿË_t
+__loc
+__THROW
+;
+
+538 
+__ex\8bnsiÚ__
+
+
+539 \r\13\13\12
+       $wc¡Þl_l
+ (cڡ 
+wch¬_t
+ *
+__»¡riù
+__Ō
+,
+
+540 
+wch¬_t
+ **
+__»¡riù
+__\92d±r
+,
+
+541 \12
+__ba£
+, 
+__loÿË_t
+__loc
+__THROW
+;
+
+543 
+__ex\8bnsiÚ__
+
+
+544 \r\1d\13\13\12
+       $wc¡ouÎ_l
+ (cڡ 
+wch¬_t
+ *
+__»¡riù
+__Ō
+,
+
+545 
+wch¬_t
+ **
+__»¡riù
+__\92d±r
+,
+
+546 \12
+__ba£
+, 
+__loÿË_t
+__loc
+)
+
+547 
+__THROW
+;
+
+549 \r\b
+       $wc¡od_l
+ (cڡ 
+wch¬_t
+ *
+__»¡riù
+__Ō
+,
+
+550 
+wch¬_t
+ **
+__»¡riù
+__\92d±r
+, 
+__loÿË_t
+__loc
+)
+
+551 
+__THROW
+;
+
+553 \r\ e
+       $wc¡of_l
+ (cڡ 
+wch¬_t
+ *
+__»¡riù
+__Ō
+,
+
+554 
+wch¬_t
+ **
+__»¡riù
+__\92d±r
+, 
+__loÿË_t
+__loc
+)
+
+555 
+__THROW
+;
+
+557 \r\13\b
+       $wc¡Þd_l
+ (cڡ 
+wch¬_t
+ *
+__»¡riù
+__Ō
+,
+
+558 
+wch¬_t
+ **
+__»¡riù
+__\92d±r
+,
+
+559 
+__loÿË_t
+__loc
+__THROW
+;
+
+563 #ifdeà
+__USE_XOPEN2K8
+
+
+566 \r
+wch¬_t
+ *
+       $wýýy
+ (
+wch¬_t
+ *
+__»¡riù
+__de¡
+,
+
+567 cڡ 
+wch¬_t
+ *
+__»¡riù
+__¤c
+__THROW
+;
+
+571 \r
+wch¬_t
+ *
+       $wýnýy
+ (
+wch¬_t
+ *
+__»¡riù
+__de¡
+,
+
+572 cڡ 
+wch¬_t
+ *
+__»¡riù
+__¤c
+, 
+size_t
+__n
+)
+
+573 
+__THROW
+;
+
+580 \r
+__FILE
+ *
+       $Ý\92_wmem¡»am
+ (
+wch¬_t
+ **
+__buæoc
+, 
+size_t
+ *
+__siz\96oc
+__THROW
+;
+
+583 #ià
+def\9aed
+__USE_ISOC95
+ || def\9aed 
+__USE_UNIX98
+
+
+584 
+__BEGIN_NAMESPACE_STD
+
+
+587 \r\12
+       $fwide
+ (
+__FILE
+ *
+__å
+, \12
+__mode
+__THROW
+;
+
+594 \r\12
+       `fw´\9atf
+ (
+__FILE
+ *
+__»¡riù
+__¡»am
+,
+
+595 cڡ 
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+, ...)
+
+601 \r\12
+       `w´\9atf
+ (cڡ 
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+, ...)
+
+604 \r\12
+       $sw´\9atf
+ (
+wch¬_t
+ *
+__»¡riù
+__s
+, 
+size_t
+__n
+,
+
+605 cڡ 
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+, ...)
+
+606 
+__THROW
+ ;
+
+612 \r\12
+       `vfw´\9atf
+ (
+__FILE
+ *
+__»¡riù
+__s
+,
+
+613 cڡ 
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+,
+
+614 
+__gnuc_va_li¡
+__¬g
+)
+
+620 \r\12
+       `vw´\9atf
+ (cڡ 
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+,
+
+621 
+__gnuc_va_li¡
+__¬g
+)
+
+625 \r\12
+       $vsw´\9atf
+ (
+wch¬_t
+ *
+__»¡riù
+__s
+, 
+size_t
+__n
+,
+
+626 cڡ 
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+,
+
+627 
+__gnuc_va_li¡
+__¬g
+)
+
+628 
+__THROW
+ ;
+
+635 \r\12
+       `fwsÿnf
+ (
+__FILE
+ *
+__»¡riù
+__¡»am
+,
+
+636 cڡ 
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+, ...)
+
+642 \r\12
+       `wsÿnf
+ (cڡ 
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+, ...)
+
+645 \r\12
+       $swsÿnf
+ (cڡ 
+wch¬_t
+ *
+__»¡riù
+__s
+,
+
+646 cڡ 
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+, ...)
+
+647 
+__THROW
+ ;
+
+649 #ià
+def\9aed
+__USE_ISOC99
+ && !def\9aed 
+__USE_GNU
+ \
+
+650 && (!
+def\9aed
+__LDBL_COMPAT
+ || !def\9aed 
+__REDIRECT
+) \
+
+651 && (
+def\9aed
+__STRICT_ANSI__
+ || def\9aed 
+__USE_XOPEN2K
+)
+
+652 #ifdeà
+__REDIRECT
+
+
+656 \r\12
+       `__REDIRECT
+ (
+fwsÿnf
+, (
+__FILE
+ *
+__»¡riù
+__¡»am
+,
+
+657 cڡ 
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+, ...),
+
+658 
+__isoc99_fwsÿnf
+)
+
+660 \r\12
+       `__REDIRECT
+ (
+wsÿnf
+, (cڡ 
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+, ...),
+
+661 
+__isoc99_wsÿnf
+)
+
+663 \r\12
+       `__REDIRECT_NTH
+ (
+swsÿnf
+, (cڡ 
+wch¬_t
+ *
+__»¡riù
+__s
+,
+
+664 cڡ 
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+,
+
+665 ...), 
+__isoc99_swsÿnf
+)
+
+668 \r\12
+       `__isoc99_fwsÿnf
+ (
+__FILE
+ *
+__»¡riù
+__¡»am
+,
+
+669 cڡ 
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+, ...);
+
+670 \r\12
+       `__isoc99_wsÿnf
+ (cڡ 
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+, ...);
+
+671 \r\12
+       $__isoc99_swsÿnf
+ (cڡ 
+wch¬_t
+ *
+__»¡riù
+__s
+,
+
+672 cڡ 
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+, ...)
+
+673 
+__THROW
+;
+
+674 \ 1
+       #fwsÿnf
+__isoc99_fwsÿnf
+
+
+       )
+
+675 \ 1
+       #wsÿnf
+__isoc99_wsÿnf
+
+
+       )
+
+676 \ 1
+       #swsÿnf
+__isoc99_swsÿnf
+
+
+       )
+
+680 
+__END_NAMESPACE_STD
+
+
+683 #ifdeà
+__USE_ISOC99
+
+
+684 
+__BEGIN_NAMESPACE_C99
+
+
+689 \r\12
+       `vfwsÿnf
+ (
+__FILE
+ *
+__»¡riù
+__s
+,
+
+690 cڡ 
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+,
+
+691 
+__gnuc_va_li¡
+__¬g
+)
+
+697 \r\12
+       `vwsÿnf
+ (cڡ 
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+,
+
+698 
+__gnuc_va_li¡
+__¬g
+)
+
+701 \r\12
+       $vswsÿnf
+ (cڡ 
+wch¬_t
+ *
+__»¡riù
+__s
+,
+
+702 cڡ 
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+,
+
+703 
+__gnuc_va_li¡
+__¬g
+)
+
+704 
+__THROW
+ ;
+
+706 #ià!
+def\9aed
+__USE_GNU
+ \
+
+707 && (!
+def\9aed
+__LDBL_COMPAT
+ || !def\9aed 
+__REDIRECT
+) \
+
+708 && (
+def\9aed
+__STRICT_ANSI__
+ || def\9aed 
+__USE_XOPEN2K
+)
+
+709 #ifdeà
+__REDIRECT
+
+
+710 \r\12
+       `__REDIRECT
+ (
+vfwsÿnf
+, (
+__FILE
+ *
+__»¡riù
+__s
+,
+
+711 cڡ 
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+,
+
+712 
+__gnuc_va_li¡
+__¬g
+), 
+__isoc99_vfwsÿnf
+)
+
+714 \r\12
+       `__REDIRECT
+ (
+vwsÿnf
+, (cڡ 
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+,
+
+715 
+__gnuc_va_li¡
+__¬g
+), 
+__isoc99_vwsÿnf
+)
+
+717 \r\12
+       `__REDIRECT_NTH
+ (
+vswsÿnf
+, (cڡ 
+wch¬_t
+ *
+__»¡riù
+__s
+,
+
+718 cڡ 
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+,
+
+719 
+__gnuc_va_li¡
+__¬g
+), 
+__isoc99_vswsÿnf
+)
+
+722 \r\12
+       `__isoc99_vfwsÿnf
+ (
+__FILE
+ *
+__»¡riù
+__s
+,
+
+723 cڡ 
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+,
+
+724 
+__gnuc_va_li¡
+__¬g
+);
+
+725 \r\12
+       `__isoc99_vwsÿnf
+ (cڡ 
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+,
+
+726 
+__gnuc_va_li¡
+__¬g
+);
+
+727 \r\12
+       $__isoc99_vswsÿnf
+ (cڡ 
+wch¬_t
+ *
+__»¡riù
+__s
+,
+
+728 cڡ 
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+,
+
+729 
+__gnuc_va_li¡
+__¬g
+__THROW
+;
+
+730 \ 1
+       #vfwsÿnf
+__isoc99_vfwsÿnf
+
+
+       )
+
+731 \ 1
+       #vwsÿnf
+__isoc99_vwsÿnf
+
+
+       )
+
+732 \ 1
+       #vswsÿnf
+__isoc99_vswsÿnf
+
+
+       )
+
+736 
+__END_NAMESPACE_C99
+
+
+740 
+__BEGIN_NAMESPACE_STD
+
+
+745 \r
+w\9at_t
+       `fg\91wc
+ (
+__FILE
+ *
+__¡»am
+);
+
+746 \r
+w\9at_t
+       `g\91wc
+ (
+__FILE
+ *
+__¡»am
+);
+
+752 \r
+w\9at_t
+       `g\91wch¬
+ (\1e);
+
+759 \r
+w\9at_t
+       `åutwc
+ (
+wch¬_t
+__wc
+, 
+__FILE
+ *
+__¡»am
+);
+
+760 \r
+w\9at_t
+       `putwc
+ (
+wch¬_t
+__wc
+, 
+__FILE
+ *
+__¡»am
+);
+
+766 \r
+w\9at_t
+       `putwch¬
+ (
+wch¬_t
+__wc
+);
+
+774 \r
+wch¬_t
+ *
+       `fg\91ws
+ (wch¬_\88*
+__»¡riù
+__ws
+, \12
+__n
+,
+
+775 
+__FILE
+ *
+__»¡riù
+__¡»am
+);
+
+781 \r\12
+       `åutws
+ (cڡ 
+wch¬_t
+ *
+__»¡riù
+__ws
+,
+
+782 
+__FILE
+ *
+__»¡riù
+__¡»am
+);
+
+789 \r
+w\9at_t
+       `ung\91wc
+ (w\9at_\88
+__wc
+, 
+__FILE
+ *
+__¡»am
+);
+
+790 
+__END_NAMESPACE_STD
+
+
+793 #ifdeà
+__USE_GNU
+
+
+801 \r
+w\9at_t
+       `g\91wc_uÆocked
+ (
+__FILE
+ *
+__¡»am
+);
+
+802 \r
+w\9at_t
+       `g\91wch¬_uÆocked
+ (\1e);
+
+810 \r
+w\9at_t
+       `fg\91wc_uÆocked
+ (
+__FILE
+ *
+__¡»am
+);
+
+818 \r
+w\9at_t
+       `åutwc_uÆocked
+ (
+wch¬_t
+__wc
+, 
+__FILE
+ *
+__¡»am
+);
+
+827 \r
+w\9at_t
+       `putwc_uÆocked
+ (
+wch¬_t
+__wc
+, 
+__FILE
+ *
+__¡»am
+);
+
+828 \r
+w\9at_t
+       `putwch¬_uÆocked
+ (
+wch¬_t
+__wc
+);
+
+837 \r
+wch¬_t
+ *
+       `fg\91ws_uÆocked
+ (wch¬_\88*
+__»¡riù
+__ws
+, \12
+__n
+,
+
+838 
+__FILE
+ *
+__»¡riù
+__¡»am
+);
+
+846 \r\12
+       `åutws_uÆocked
+ (cڡ 
+wch¬_t
+ *
+__»¡riù
+__ws
+,
+
+847 
+__FILE
+ *
+__»¡riù
+__¡»am
+);
+
+851 
+__BEGIN_NAMESPACE_C99
+
+
+855 \r
+size_t
+       $wcsáime
+ (
+wch¬_t
+ *
+__»¡riù
+__s
+, 
+size_t
+__maxsize
+,
+
+856 cڡ 
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+,
+
+857 cڡ \19
+tm
+ *
+__»¡riù
+__\8d
+__THROW
+;
+
+858 
+__END_NAMESPACE_C99
+
+
+860 #ifdeà
+__USE_GNU
+
+
+861 \ 2
+       ~<xloÿË.h
+>
+
+865 \r
+size_t
+       $wcsáime_l
+ (
+wch¬_t
+ *
+__»¡riù
+__s
+, 
+size_t
+__maxsize
+,
+
+866 cڡ 
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+,
+
+867 cڡ \19
+tm
+ *
+__»¡riù
+__\8d
+,
+
+868 
+__loÿË_t
+__loc
+__THROW
+;
+
+877 #ià
+def\9aed
+__USE_UNIX98
+ && !def\9aed 
+__USE_GNU
+
+
+878 \ 1
+       #__Ãed_iswxxx
+
+
+       )
+
+879 \ 2
+       ~<wùy³.h
+>
+
+883 #ià
+__USE_FORTIFY_LEVEL
+ > 0 && 
+def\9aed
+__fÜtify_funùiÚ
+
+
+884 \ 2
+       ~<b\99s/wch¬2.h
+>
+
+887 #ifdeà
+__LDBL_COMPAT
+
+
+888 \ 2
+       ~<b\99s/wch¬-ldbl.h
+>
+
+891 
+__END_DECLS
+
+
+899 #undeà
+__Ãed_mb¡©e_t
+
+
+900 #undeà
+__Ãed_w\9at_t
+
+
+       @/usr/include/wctype.h
+
+23 #iâdeà
+_WCTYPE_H
+
+
+25 \ 2
+       ~<ã©u»s.h
+>
+
+26 \ 2
+       ~<b\99s/ty³s.h
+>
+
+28 #iâdeà
+__Ãed_iswxxx
+
+
+29 \ 1
+       #_WCTYPE_H
+ 1
+
+       )
+
+32 \ 1
+       #__Ãed_w\9at_t
+
+
+       )
+
+33 \ 2
+       ~<wch¬.h
+>
+
+37 #iâdeà
+WEOF
+
+
+38 \ 1
+       #WEOF
+ (0xffffffffu)
+
+       )
+
+41 #undeà
+__Ãed_iswxxx
+
+
+46 #iâdeà
+__iswxxx_def\9aed
+
+
+47 \ 1
+       #__iswxxx_def\9aed
+ 1
+
+       )
+
+49 
+__BEGIN_NAMESPACE_C99
+
+
+52 \e\1d\13\12
+       twùy³_t
+;
+
+53 
+       g__END_NAMESPACE_C99
+
+
+55 #iâdeà
+_ISwb\99
+
+
+60 \ 2
+       ~<\92d\9fn.h
+>
+
+61 #ià
+__BYTE_ORDER
+ =ð
+__BIG_ENDIAN
+
+
+62 \ 1
+       #_ISwb\99
+(
+b\99
+è(1 << (b\99))
+
+       )
+
+64 \ 1
+       #_ISwb\99
+(
+b\99
+) \
+
+65 ((
+b\99
+) < 8 ? (\12) ((1UL << (bit)) << 24) \
+
+66 : ((
+b\99
+) < 16 ? (\12) ((1UL << (bit)) << 8) \
+
+67 : ((
+b\99
+) < 24 ? (\12) ((1UL << (bit)) >> 8) \
+
+68 : (\12è((1UL << (
+b\99
+)è>> 24))))
+
+       )
+
+73 
+       m__ISwuµ\94
+ = 0,
+
+74 
+       m__ISwlow\94
+ = 1,
+
+75 
+       m__ISw®pha
+ = 2,
+
+76 
+       m__ISwdig\99
+ = 3,
+
+77 
+       m__ISwxdig\99
+ = 4,
+
+78 
+       m__ISw¥aû
+ = 5,
+
+79 
+       m__ISw´\9at
+ = 6,
+
+80 
+       m__ISwg¿ph
+ = 7,
+
+81 
+       m__ISwbÏnk
+ = 8,
+
+82 
+       m__ISwú\8cl
+ = 9,
+
+83 
+       m__ISwpunù
+ = 10,
+
+84 
+       m__ISw®num
+ = 11,
+
+86 
+       m_ISwuµ\94
+ = 
+_ISwb\99
+ (
+__ISwuµ\94
+),
+
+87 
+       m_ISwlow\94
+ = 
+_ISwb\99
+ (
+__ISwlow\94
+),
+
+88 
+       m_ISw®pha
+ = 
+_ISwb\99
+ (
+__ISw®pha
+),
+
+89 
+       m_ISwdig\99
+ = 
+_ISwb\99
+ (
+__ISwdig\99
+),
+
+90 
+       m_ISwxdig\99
+ = 
+_ISwb\99
+ (
+__ISwxdig\99
+),
+
+91 
+       m_ISw¥aû
+ = 
+_ISwb\99
+ (
+__ISw¥aû
+),
+
+92 
+       m_ISw´\9at
+ = 
+_ISwb\99
+ (
+__ISw´\9at
+),
+
+93 
+       m_ISwg¿ph
+ = 
+_ISwb\99
+ (
+__ISwg¿ph
+),
+
+94 
+       m_ISwbÏnk
+ = 
+_ISwb\99
+ (
+__ISwbÏnk
+),
+
+95 
+       m_ISwú\8cl
+ = 
+_ISwb\99
+ (
+__ISwú\8cl
+),
+
+96 
+       m_ISwpunù
+ = 
+_ISwb\99
+ (
+__ISwpunù
+),
+
+97 
+       m_ISw®num
+ = 
+_ISwb\99
+ (
+__ISw®num
+)
+
+102 
+__BEGIN_DECLS
+
+
+104 
+__BEGIN_NAMESPACE_C99
+
+
+111 \r\12
+       $isw®num
+ (
+w\9at_t
+__wc
+__THROW
+;
+
+117 \r\12
+       $isw®pha
+ (
+w\9at_t
+__wc
+__THROW
+;
+
+120 \r\12
+       $iswú\8cl
+ (
+w\9at_t
+__wc
+__THROW
+;
+
+124 \r\12
+       $iswdig\99
+ (
+w\9at_t
+__wc
+__THROW
+;
+
+128 \r\12
+       $iswg¿ph
+ (
+w\9at_t
+__wc
+__THROW
+;
+
+133 \r\12
+       $iswlow\94
+ (
+w\9at_t
+__wc
+__THROW
+;
+
+136 \r\12
+       $isw´\9at
+ (
+w\9at_t
+__wc
+__THROW
+;
+
+141 \r\12
+       $iswpunù
+ (
+w\9at_t
+__wc
+__THROW
+;
+
+146 \r\12
+       $isw¥aû
+ (
+w\9at_t
+__wc
+__THROW
+;
+
+151 \r\12
+       $iswuµ\94
+ (
+w\9at_t
+__wc
+__THROW
+;
+
+156 \r\12
+       $iswxdig\99
+ (
+w\9at_t
+__wc
+__THROW
+;
+
+161 #ifdeà
+__USE_ISOC99
+
+
+162 \r\12
+       $iswbÏnk
+ (
+w\9at_t
+__wc
+__THROW
+;
+
+171 \r
+wùy³_t
+       $wùy³
+ (cڡ \ 5*
+__´Ý\94ty
+__THROW
+;
+
+175 \r\12
+       $iswùy³
+ (
+w\9at_t
+__wc
+, 
+wùy³_t
+__desc
+__THROW
+;
+
+176 
+__END_NAMESPACE_C99
+
+
+183 
+__BEGIN_NAMESPACE_C99
+
+
+186 \ecڡ 
+       t__\9at32_t
+ *
+       twù¿ns_t
+;
+
+187 
+__END_NAMESPACE_C99
+
+
+188 #ifdeà
+__USE_GNU
+
+
+189 
+       $__USING_NAMESPACE_C99
+(
+wù¿ns_t
+)
+
+192 
+__BEGIN_NAMESPACE_C99
+
+
+194 \r
+w\9at_t
+       $towlow\94
+ (
+w\9at_t
+__wc
+__THROW
+;
+
+197 \r
+w\9at_t
+       $towuµ\94
+ (
+w\9at_t
+__wc
+__THROW
+;
+
+198 
+__END_NAMESPACE_C99
+
+
+200 
+__END_DECLS
+
+
+207 #ifdeà
+_WCTYPE_H
+
+
+213 
+__BEGIN_DECLS
+
+
+215 
+__BEGIN_NAMESPACE_C99
+
+
+218 \r
+wù¿ns_t
+       $wù¿ns
+ (cڡ \ 5*
+__´Ý\94ty
+__THROW
+;
+
+221 \r
+w\9at_t
+       $towù¿ns
+ (
+w\9at_t
+__wc
+, 
+wù¿ns_t
+__desc
+__THROW
+;
+
+222 
+__END_NAMESPACE_C99
+
+
+224 #ifdeà
+__USE_XOPEN2K8
+
+
+226 \ 2
+       ~<xloÿË.h
+>
+
+230 \r\12
+       $isw®num_l
+ (
+w\9at_t
+__wc
+, 
+__loÿË_t
+__loÿË
+__THROW
+;
+
+236 \r\12
+       $isw®pha_l
+ (
+w\9at_t
+__wc
+, 
+__loÿË_t
+__loÿË
+__THROW
+;
+
+239 \r\12
+       $iswú\8cl_l
+ (
+w\9at_t
+__wc
+, 
+__loÿË_t
+__loÿË
+__THROW
+;
+
+243 \r\12
+       $iswdig\99_l
+ (
+w\9at_t
+__wc
+, 
+__loÿË_t
+__loÿË
+__THROW
+;
+
+247 \r\12
+       $iswg¿ph_l
+ (
+w\9at_t
+__wc
+, 
+__loÿË_t
+__loÿË
+__THROW
+;
+
+252 \r\12
+       $iswlow\94_l
+ (
+w\9at_t
+__wc
+, 
+__loÿË_t
+__loÿË
+__THROW
+;
+
+255 \r\12
+       $isw´\9at_l
+ (
+w\9at_t
+__wc
+, 
+__loÿË_t
+__loÿË
+__THROW
+;
+
+260 \r\12
+       $iswpunù_l
+ (
+w\9at_t
+__wc
+, 
+__loÿË_t
+__loÿË
+__THROW
+;
+
+265 \r\12
+       $isw¥aû_l
+ (
+w\9at_t
+__wc
+, 
+__loÿË_t
+__loÿË
+__THROW
+;
+
+270 \r\12
+       $iswuµ\94_l
+ (
+w\9at_t
+__wc
+, 
+__loÿË_t
+__loÿË
+__THROW
+;
+
+275 \r\12
+       $iswxdig\99_l
+ (
+w\9at_t
+__wc
+, 
+__loÿË_t
+__loÿË
+__THROW
+;
+
+280 \r\12
+       $iswbÏnk_l
+ (
+w\9at_t
+__wc
+, 
+__loÿË_t
+__loÿË
+__THROW
+;
+
+284 \r
+wùy³_t
+       $wùy³_l
+ (cڡ \ 5*
+__´Ý\94ty
+, 
+__loÿË_t
+__loÿË
+)
+
+285 
+__THROW
+;
+
+289 \r\12
+       $iswùy³_l
+ (
+w\9at_t
+__wc
+, 
+wùy³_t
+__desc
+, 
+__loÿË_t
+__loÿË
+)
+
+290 
+__THROW
+;
+
+298 \r
+w\9at_t
+       $towlow\94_l
+ (
+w\9at_t
+__wc
+, 
+__loÿË_t
+__loÿË
+__THROW
+;
+
+301 \r
+w\9at_t
+       $towuµ\94_l
+ (
+w\9at_t
+__wc
+, 
+__loÿË_t
+__loÿË
+__THROW
+;
+
+305 \r
+wù¿ns_t
+       $wù¿ns_l
+ (cڡ \ 5*
+__´Ý\94ty
+, 
+__loÿË_t
+__loÿË
+)
+
+306 
+__THROW
+;
+
+309 \r
+w\9at_t
+       $towù¿ns_l
+ (
+w\9at_t
+__wc
+, 
+wù¿ns_t
+__desc
+,
+
+310 
+__loÿË_t
+__loÿË
+__THROW
+;
+
+314 
+__END_DECLS
+
+
+       @
+1
+.
+1
+/usr/include
+124
+2982
+inc/data/gl-data-type.h
+inc/data/gl-data-util.h
+inc/data/gl-data.h
+inc/data/gl-local-data.h
+inc/features/gl-albums-sel.h
+inc/features/gl-albums.h
+inc/features/gl-entry.h
+inc/features/gl-main.h
+inc/features/gl-pinchzoom.h
+inc/features/gl-thumbs-edit.h
+inc/features/gl-thumbs-sel.h
+inc/features/gl-thumbs.h
+inc/gallery.h
+inc/util/gl-db-update.h
+inc/util/gl-debug.h
+inc/util/gl-exif.h
+inc/util/gl-ext-exec.h
+inc/util/gl-ext-ug-load.h
+inc/util/gl-file-util.h
+inc/util/gl-fs.h
+inc/util/gl-icons.h
+inc/util/gl-lang.h
+inc/util/gl-strings.h
+inc/util/gl-ta.h
+inc/util/gl-thread-util.h
+inc/util/gl-ui-util.h
+inc/util/gl-util.h
+inc/widget/gl-button.h
+inc/widget/gl-controlbar.h
+inc/widget/gl-ctxpopup.h
+inc/widget/gl-editfield.h
+inc/widget/gl-gesture.h
+inc/widget/gl-nocontents.h
+inc/widget/gl-notify.h
+inc/widget/gl-popup.h
+inc/widget/gl-progressbar.h
+inc/widget/gl-rotate-bg.h
+inc/widget/gl-thumb.h
+inc/widget/gl-tile.h
+res/black_theme/edc/gallery-edc-res.h
+src/2dview/gl-albums-edit.c
+src/2dview/gl-albums-edit.h
+src/2dview/gl-albums-new.c
+src/2dview/gl-albums-new.h
+src/2dview/gl-albums-rename.c
+src/2dview/gl-albums-rename.h
+src/2dview/gl-ecore-animator.h
+src/2dview/gl-exception.h
+src/2dview/gl-timeline.c
+src/2dview/gl-timeline.h
+src/data/gl-data-type.c
+src/data/gl-data-util.c
+src/data/gl-data.c
+src/data/gl-local-data.c
+src/features/gl-albums-sel.c
+src/features/gl-albums.c
+src/features/gl-entry.c
+src/features/gl-main.c
+src/features/gl-pinchzoom.c
+src/features/gl-thumbs-edit.c
+src/features/gl-thumbs-sel.c
+src/features/gl-thumbs.c
+src/gallery.c
+src/util/gl-db-update.c
+src/util/gl-debug.c
+src/util/gl-exif.c
+src/util/gl-ext-exec.c
+src/util/gl-ext-ug-load.c
+src/util/gl-file-util.c
+src/util/gl-fs.c
+src/util/gl-lang.c
+src/util/gl-ta.c
+src/util/gl-thread-util.c
+src/util/gl-ui-util.c
+src/util/gl-util.c
+src/widget/gl-button.c
+src/widget/gl-controlbar.c
+src/widget/gl-ctxpopup.c
+src/widget/gl-editfield.c
+src/widget/gl-gesture.c
+src/widget/gl-nocontents.c
+src/widget/gl-notify.c
+src/widget/gl-popup.c
+src/widget/gl-progressbar.c
+src/widget/gl-rotate-bg.c
+src/widget/gl-thumb.c
+src/widget/gl-tile.c
+widget/include/gl_widget.h
+widget/include/gl_widget_debug.h
+widget/src/gl_widget_create.c
+widget/src/gl_widget_main.c
+/usr/include/assert.h
+/usr/include/dirent.h
+/usr/include/dlfcn.h
+/usr/include/errno.h
+/usr/include/libgen.h
+/usr/include/linux/fs.h
+/usr/include/linux/unistd.h
+/usr/include/malloc.h
+/usr/include/pthread.h
+/usr/include/signal.h
+/usr/include/stdio.h
+/usr/include/stdlib.h
+/usr/include/string.h
+/usr/include/time.h
+/usr/include/unistd.h
+/usr/include/alloca.h
+/usr/include/endian.h
+/usr/include/features.h
+/usr/include/getopt.h
+/usr/include/libio.h
+/usr/include/linux/ioctl.h
+/usr/include/linux/limits.h
+/usr/include/linux/types.h
+/usr/include/sched.h
+/usr/include/xlocale.h
+/usr/include/_G_config.h
+/usr/include/ctype.h
+/usr/include/linux/posix_types.h
+/usr/include/stdc-predef.h
+/usr/include/gconv.h
+/usr/include/linux/stddef.h
+/usr/include/wchar.h
+/usr/include/wctype.h
diff --git a/inc/data/gl-data-type.h b/inc/data/gl-data-type.h
new file mode 100755 (executable)
index 0000000..ddd5db7
--- /dev/null
@@ -0,0 +1,139 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#ifndef _GL_DATA_TYPE_H_
+#define _GL_DATA_TYPE_H_
+
+#include <stdlib.h>
+#include <media_content.h>
+#include <eina_list.h>
+#include <Elementary.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+#define GL_FREEIF(ptr) \
+       do { \
+               if(ptr != NULL) { \
+                       free(ptr); \
+                       ptr = NULL; \
+               } \
+       } while (0)
+
+#define GL_FREE(ptr) \
+       do { \
+               free(ptr); \
+               ptr = NULL; \
+       } while (0)
+
+#define GL_GFREEIF(ptr) \
+       do { \
+               if(ptr != NULL) { \
+                       g_free(ptr); \
+                       ptr = NULL; \
+               } \
+       } while (0)
+
+#define GL_GFREE(ptr) \
+       do { \
+               g_free(ptr); \
+               ptr = NULL; \
+       } while (0)
+
+#define GL_TYPE_ALBUM (0x55551)
+#define GL_TYPE_MEDIA (0x55553)
+#define GL_TYPE_WEB_MEDIA (0x55554)
+
+typedef enum {
+       GL_STORE_T_PHONE = 0,   /**< Stored only in phone */
+       GL_STORE_T_MMC,         /**< Stored only in MMC */
+       GL_STORE_T_ALL,         /**< Stored only in All albums album */
+       GL_STORE_T_FAV,         /**< Stored only in Favorites album */
+} gl_store_type_e;
+
+
+typedef struct _gl_album_t gl_album_s;
+typedef struct _gl_media_t gl_media_s;
+typedef struct _gl_image_t gl_image_s;
+typedef struct _gl_video_t gl_video_s;
+
+struct _gl_album_t {
+       int gtype;                         /*self-defination type, when free this struct space, use it*/
+       media_folder_h folder_h;           /*the handle of operating this folder*/
+       char *uuid;                        /*folder  UUID*/
+       char *display_name;                /*album name*/
+       char *path;                        /*the full path of this folder*/
+       int type;                          /*storage type*/
+       time_t mtime;                      /*modified time*/
+       int count;                         /*the media count in this folder*/
+};
+
+struct _gl_media_t {
+       void *ad;
+       int gtype;                         /*self-defination type, when free this struct space, use it*/
+       media_info_h media_h;              /*the handle of operating this media*/
+       char *uuid;                        /*meida id*/
+       int type;                          /*meida type, image or video*/
+       char *thumb_url;                   /*the thumbnail full path of this meida file*/
+       char *file_url;                    /*the full path of this meida file*/
+       time_t mtime;                      /*modified time*/
+       char *display_name;                /*item name*/
+       int mode; /* Show icon indicates different camera shot mode */
+       char *ext;
+       gl_store_type_e storage_type;      /* Storage type got from DB */
+       bool b_create_thumb;   /* Request DB to create thumbnail */
+       bool check_state;   /* store check state */
+       Elm_Object_Item *elm_item;   /*store item handle */
+
+       union {
+               gl_image_s *image_info;    /*image information*/
+               gl_video_s *video_info;    /*video information*/
+       };
+};
+
+struct _gl_image_t {
+       char *media_uuid;                  /*media uuid*/
+       image_meta_h image_h;              /*the handle of operating this image*/
+       int orientation;                   /*the orientation of this image*/
+       char *burstshot_id;                /*the tag of burst shot*/
+};
+
+struct _gl_video_t {
+       char *media_uuid;                  /*media uuid*/
+       video_meta_h video_h;              /*the handle of operating this video*/
+       char *title;                       /*the title of video*/
+       time_t last_played_pos;            /*the last played position*/
+       int duration;                      /*the duration of this video*/
+       int bookmarks;                     /*whether exist bookmarks*/
+};
+
+int _gl_data_type_new_media(gl_media_s **item);
+int _gl_data_type_new_album(gl_album_s **album);
+
+int _gl_data_type_free_media_list(Eina_List **list);
+int _gl_data_type_free_album_list(Eina_List **list);
+int _gl_data_type_free_glitem(void **item);
+
+#ifdef __cplusplus
+}
+#endif
+
+
+#endif /* _GL_DATA_TYPE_H_ */
+
diff --git a/inc/data/gl-data-util.h b/inc/data/gl-data-util.h
new file mode 100755 (executable)
index 0000000..a62f382
--- /dev/null
@@ -0,0 +1,152 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+#ifndef _GL_DATA_UTIL_H_
+#define _GL_DATA_UTIL_H_
+
+#include <eina_list.h>
+#include <glib.h>
+#include <Elementary.h>
+#include "gl-data-type.h"
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+#define GL_MAX_BYTES_FOR_CHAR 3
+#define GL_FILE_PATH_LEN_MAX (4095 * GL_MAX_BYTES_FOR_CHAR + 1)
+#define GL_FILE_NAME_LEN_MAX (255 * GL_MAX_BYTES_FOR_CHAR + 1)
+#define GL_DIR_PATH_LEN_MAX GL_FILE_PATH_LEN_MAX
+#define GL_ARRAY_LEN_MAX 256
+#define GL_FILE_EXT_LEN_MAX 256
+#define GL_FIRST_VIEW_START_POS 0
+#define GL_FIRST_VIEW_END_POS 47       //27            /*maybe 2 pages(=48 medias) is better, especially select album then drag up immediately */
+#define GL_GET_UNTIL_LAST_RECORD 65536 //-1      /* Fixme: Do not use 65536. */
+#define GL_GET_ALL_RECORDS (-1)
+#define GL_GET_ONE_RECORD 1
+#define GL_GET_ALL_RECORDS_ID NULL
+
+#define GL_ALBUM_COVER_THUMB_NUM 1
+
+/**
+* Get a new mtype item from libmedia-info,
+* if ID is NULL, libmedia-info just allocate memory for mtype item,
+* then return it, instead of loading record from DB to initialize each field.
+*/
+#define GL_NEW_RECORD_ID NULL
+#define GL_PINCH_WIDTH 4
+#define GL_PINCH_LANDSCAPE_WIDTH 9
+
+#define GL_JPEG_FILE_EXT "jpg"
+
+typedef enum {
+       GL_SORT_BY_NONE,        /**< No Sort */
+       GL_SORT_BY_NAME_DESC,   /**< Sort by display name descending */
+       GL_SORT_BY_NAME_ASC,    /**< Sort by display name ascending */
+       GL_SORT_BY_DATE_DESC,   /**< Sort by modified_date descending */
+       GL_SORT_BY_DATE_ASC,    /**< Sort by modified_date ascending */
+} gl_sort_type_e;
+
+typedef enum {
+       GL_ICON_NORMAL,
+       GL_ICON_CORRUPTED_FILE
+}gl_icon_type_e;
+
+typedef struct {
+       Eina_List *clist;
+       /* Editable albums count */
+       int edit_cnt;
+       int phone_cnt; /* Phone/MMC albums count */
+} gl_cluster_list;
+
+typedef struct _gl_thumb_data_t gl_thumb_data_s;
+typedef struct _gl_album_data_t gl_album_data_s;
+typedef struct _gl_cluster gl_cluster;
+
+typedef struct _gl_item {
+       gl_media_s *item;
+       int icon_idx;
+       int list_item_cnt;
+
+       int list_idx[GL_PINCH_LANDSCAPE_WIDTH];
+
+       Elm_Object_Item *elm_item;
+       bool preappend;
+       bool checked;
+       int sequence;
+       bool b_deleted; /* Gengrid item is deleted, to free item data */
+       /* To indicate media storage type, especially used for PTP/AllShare */
+       int store_type;
+       struct _gl_item *pre_gitem;
+       void *ad; /* Save ad to prevent use global variable */
+       gl_thumb_data_s *thumb_data;
+       gl_cluster *album;
+} gl_item;
+
+struct _gl_cluster {
+       gl_album_s *cluster;
+       int index;
+       Eina_List *elist; /* List of all selected medias of a album */
+       Eina_List *elist1; /* List of all selected medias of a album */
+       Elm_Object_Item *item;
+       bool checked;
+
+       void *ad; /* Save ad to prevent use global variable */
+       gl_item *cover;
+       int cover_thumbs_cnt;
+       gl_album_data_s *album_data;
+};
+
+struct _gl_album_data_t {
+       void *ad;
+       gl_cluster *album;
+};
+
+struct _gl_thumb_data_t {
+       void *ad;
+       gl_item *item;
+};
+
+bool _gl_data_util_get_file_dir_name(const char *file_path, char *filename,
+                                    char *dir_name, char *dir_path);
+gl_item *_gl_data_util_calloc_gitem(void);
+int _gl_data_util_free_gitem(gl_item *gitem);
+gl_cluster *_gl_data_util_calloc_gcluster(void);
+int _gl_data_util_free_gcluster(gl_cluster *gcluster);
+gl_cluster *_gl_data_util_new_gcluster_all(void *data, int count);
+gl_cluster *_gl_data_util_new_gcluster_fav(void *data, int count);
+gl_cluster_list *_gl_data_util_calloc_cluster_list(void);
+int _gl_data_util_clear_gtype_item_list(Eina_List **elist);
+int _gl_data_util_clear_item_list(Eina_List **elist);
+int _gl_data_util_clear_cluster_list(Eina_List **elist);
+int _gl_data_util_get_selected_cluster_id_list(void *data,
+                                              Eina_List **sel_id_list);
+int _gl_data_util_get_selected_str_ids(Eina_List **sel_list, Eina_List **elist);
+bool _gl_data_util_check_selected_str_id(Eina_List **sel_id_list, const char *id);
+int _gl_data_util_free_selected_str_list(Eina_List **sel_id_list);
+bool _gl_data_util_check_selected_int_id(Eina_List **sel_id_list, int id);
+int _gl_data_util_check_album_selected_files(gl_cluster *album,
+                                            int *img_cnt, int *sel_cnt,
+                                            int *web_cnt);
+int _gl_data_util_get_cond(char *cond);
+int _gl_data_util_get_fav_cond(char *cond);
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* _GL_DATA_UTIL_H_ */
+
diff --git a/inc/data/gl-data.h b/inc/data/gl-data.h
new file mode 100755 (executable)
index 0000000..d304489
--- /dev/null
@@ -0,0 +1,95 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#ifndef _GL_DATA_H_
+#define _GL_DATA_H_
+
+#include <eina_list.h>
+#include <glib.h>
+#include <Elementary.h>
+#include "gl-local-data.h"
+#include "gl-data-util.h"
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+int _gl_data_cp_item_list(void *data, Eina_List *elist, Eina_List **p_elist);
+int _gl_data_clear_cluster_list(void *data, bool b_force);
+bool _gl_data_get_cluster_list(void *data);
+int _gl_data_update_cluster_list(void *data);
+int _gl_data_cluster_list_remove(void *data, gl_cluster *item);
+bool _gl_data_exists_item(void *data, const char *id);
+int _gl_data_get_cluster_by_id(void *data, const char *cluster_id,
+                              gl_cluster **cluster);
+int _gl_data_get_cluster_by_path(void *data, const char *path,
+                                gl_cluster **cluster);
+int _gl_data_get_item_cnt(const char *cluster_id, int album_type, int *item_cnt);
+int _gl_data_update_item_cnt(gl_cluster *album);
+int _gl_data_get_items(int start_pos, int end_pos, Eina_List **list);
+int _gl_data_get_items_album(void *data, gl_cluster *album, int start_pos,
+                            int end_pos, Eina_List **p_elist);
+int _gl_data_update_item_list(void *data, Eina_List **sel_id_list,
+                             Eina_List **p_elist);
+bool _gl_data_is_item_cnt_zero(void *data, media_content_type_e type,
+                              Eina_List *elist);
+int _gl_data_get_first_item(media_content_type_e type, Eina_List *elist,
+                           gl_item **p_gitem);
+int _gl_data_get_album_cover(gl_cluster *album, gl_item **pgitem,
+                            media_content_order_e sort_type);
+gl_item *_gl_data_new_item_mitem(gl_media_s *mitem);
+int _gl_data_get_orig_item_by_index(void *data, gl_item **gitem, int idx);
+int _gl_data_delete_file(char *path, char *uuid, bool is_hide);
+int _gl_data_selected_list_append(void *data, gl_item *gitem);
+int _gl_data_selected_list_remove(void *data, gl_item *gitem);
+int _gl_data_selected_fav_list_remove(void *data, gl_item *gitem);
+int _gl_data_selected_list_remove_one(void *data, gl_item *gitem);
+gl_item *_gl_data_selected_list_get_nth(void *data, int idx);
+int _gl_data_selected_list_finalize(void *data);
+int _gl_data_clear_selected_info(void *data);
+int _gl_data_selected_list_count(void *data);
+bool _gl_data_is_albums_selected_empty(void *data);
+int _gl_data_get_albums_selected_files(void *data, void *get_cb, void *cb_data);
+int _gl_data_get_albums_selected_cnt(void *data);
+int _gl_data_selected_add_burstshot(void *data, gl_item *gitem, Eina_List *elist);
+bool _gl_data_get_burstshot_status(void *data, gl_item *gitem);
+int _gl_data_albums_selected_list_append(void *data, gl_cluster *item);
+int _gl_data_albums_selected_list_remove(void *data, gl_cluster *item);
+int _gl_data_finalize_albums_selected_list(void *data);
+int _gl_data_init(void *data);
+int _gl_data_finalize(void *data);
+gl_item *_gl_data_new_gitem(void *data, const char *item_id);
+bool _gl_data_is_root_path(const char *path);
+bool _gl_data_check_root_type(const char *path, const char *root);
+bool _gl_data_is_default_album(const char *match_folder, gl_album_s *album);
+bool _gl_data_is_screenshot_album(const char *match_folder, gl_album_s *album);
+bool _gl_data_is_camera_album(gl_album_s *album);
+int _gl_data_delete_media(void *data, gl_media_s *media_item);
+int _gl_data_create_thumb(gl_media_s *item,
+                         media_thumbnail_completed_cb callback,
+                         void *user_data);
+int _gl_data_cancel_thumb(gl_media_s *item);
+bool _gl_data_is_album_exists(void *data, gl_cluster *album);
+int _gl_data_save_selected_str_ids(void *data, Eina_List **elist);
+int _gl_data_restore_selected(Eina_List *sel_ids, gl_item *gitem);
+bool _gl_data_check_selected_id(Eina_List *sel_id_list, const char *id);
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* _GL_DATA_H_ */
diff --git a/inc/data/gl-local-data.h b/inc/data/gl-local-data.h
new file mode 100755 (executable)
index 0000000..70a3c21
--- /dev/null
@@ -0,0 +1,84 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#ifndef _GL_LOCAL_DATA_H_
+#define _GL_LOCAL_DATA_H_
+
+#include "gl-data-type.h"
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+
+/*MEDIA_TYPE 0-image, 1-video, 2-sound, 3-music*/
+#define GL_CONDITION_IMAGE_VIDEO "(MEDIA_TYPE=0 OR MEDIA_TYPE=1)"
+#define GL_CONDITION_IMAGE       "(MEDIA_TYPE=0)"
+#define GL_CONDITION_VIDEO       "(MEDIA_TYPE=1)"
+#define GL_CONDITION_ORDER "MEDIA_TIMELINE, MEDIA_DISPLAY_NAME"
+
+#define CONDITION_LENGTH 512
+#define KEYWORD_LENGTH 128
+
+typedef struct _gl_filter_t gl_filter_s;
+
+struct _gl_filter_t {
+       char cond[CONDITION_LENGTH];             /*set media type or favorite type, or other query statement*/
+       media_content_collation_e collate_type;  /*collate type*/
+       media_content_order_e sort_type;         /*sort type*/
+       char sort_keyword[KEYWORD_LENGTH];       /*sort keyword*/
+       int offset;                              /*offset*/
+       int count;                               /*count*/
+       bool with_meta;                          /*whether get image or video info*/
+};
+
+int _gl_local_data_connect(void);
+int _gl_local_data_disconnect(void);
+int _gl_local_data_get_album_by_path(char *path, gl_album_s **album);
+int _gl_local_data_get_album_list(gl_filter_s *condition, Eina_List **elist);
+int _gl_local_data_get_media_by_id(char *media_id, gl_media_s **mitem);
+int _gl_local_data_get_media_by_path(const char *path, gl_media_s **mitem);
+int _gl_local_data_get_media_count(const char *cluster_id, gl_filter_s *condition,
+                                  int *item_cnt);
+int _gl_local_data_get_all_media_count(gl_filter_s *filter, int *item_cnt);
+int _gl_local_data_get_album_media_list(gl_filter_s *condition,
+                                       const char *album_id, Eina_List **elist);
+int _gl_local_data_get_album_cover(gl_filter_s *condition, const char *album_id,
+                                  Eina_List **elist);
+int _gl_local_data_get_all_albums_media_list(gl_filter_s *condition,
+                                            Eina_List **elist);
+int _gl_local_data_get_fav_albums_media_list(gl_filter_s *condition,
+                                            Eina_List **elist);
+int _gl_local_data_get_all_albums_cover(gl_filter_s *condition,
+                                       Eina_List **elist);
+int _gl_local_data_get_fav_albums_cover(gl_filter_s *condition,
+                                       Eina_List **elist);
+int _gl_local_data_delete_album(gl_album_s *cluster, void *cb, void *data, bool is_hide);
+int _gl_local_data_add_media(const char *file_url, media_info_h *info);
+int _gl_local_data_get_thumb(gl_media_s *mitem, char **thumb);
+int _gl_local_data_move_media(gl_media_s *mitem, const char *dst);
+bool _gl_local_data_is_album_exists(char *path);
+int _gl_local_data_get_path_by_id(const char *uuid, char **path);
+
+#ifdef __cplusplus
+}
+#endif
+
+
+#endif
+
diff --git a/inc/features/gl-albums-sel.h b/inc/features/gl-albums-sel.h
new file mode 100755 (executable)
index 0000000..9f5a503
--- /dev/null
@@ -0,0 +1,30 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#ifndef _GL_ALBUMS_SEL_H_
+#define _GL_ALBUMS_SEL_H_
+
+#include <Elementary.h>
+#include "gallery.h"
+
+int _gl_albums_sel_create_view(void *data);
+int _gl_albums_sel_update_view(void *data);
+int _gl_albums_sel_pop_view(void *data);
+int _gl_albums_sel_rotate_view(void *data);
+
+#endif
+
diff --git a/inc/features/gl-albums.h b/inc/features/gl-albums.h
new file mode 100755 (executable)
index 0000000..f5b06ac
--- /dev/null
@@ -0,0 +1,48 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#ifndef _GL_ALBUMS_H_
+#define _GL_ALBUMS_H_
+
+#include <Elementary.h>
+#include "gallery.h"
+
+int _gl_albums_close_album(void *data);
+int gl_albums_update_items(void *data);
+int _gl_albums_create_view(void *data, Evas_Object *parent);
+int gl_albums_update_view(void *data);
+int gl_albums_change_to_view(void *data);
+int gl_albums_remove_nocontents(void *data);
+int gl_albums_free_data(void *data);
+int _gl_albums_show_view_tab(void *data, Evas_Object *parent);
+int _gl_albums_hide_view_tab(void *data);
+int _gl_albums_change_mode(void *data, bool b_edit);
+int _gl_albums_check_btns(void *data);
+int _gl_albums_rotate_view(void *data);
+int _gl_albums_set_current(void *data, gl_cluster *current);
+gl_cluster *_gl_albums_get_current(void *data);
+int _gl_albums_clear_cbs(Evas_Object *view);
+int gl_albums_open_album(gl_cluster * album_item);
+Evas_Object *_gl_albums_add_gengrid(void *data, Evas_Object *parent);
+Evas_Object *_gl_albums_add_view(void *data, Evas_Object *parent);
+Evas_Object *_gl_albums_sel_add_view(void *data, Evas_Object *parent);
+void __gl_albums_new_album_sel(void *data, Evas_Object *obj, void *ei);
+int _gl_albums_create_items(void *data, Evas_Object *parent);
+int _gl_split_albums_create_items(void *data, Evas_Object *parent);
+
+#endif /* _GL_ALBUMS_H_ */
+
diff --git a/inc/features/gl-entry.h b/inc/features/gl-entry.h
new file mode 100755 (executable)
index 0000000..807fdf0
--- /dev/null
@@ -0,0 +1,27 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#ifndef _GL_ENTRY_H_
+#define _GL_ENTRY_H_
+
+#include <Elementary.h>
+
+int _gl_entry_create_view(void *data, char *name, char *title);
+int _gl_entry_resume_view(void *data);
+
+#endif
+
diff --git a/inc/features/gl-main.h b/inc/features/gl-main.h
new file mode 100755 (executable)
index 0000000..a2efb5c
--- /dev/null
@@ -0,0 +1,39 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#ifndef _GL_MIAN_H_
+#define _GL_MIAN_H_
+
+#include "gallery.h"
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+int _gl_main_add_reg_idler(void *data);
+int _gl_main_create_view(gl_appdata *ad);
+int _gl_main_clear_view(gl_appdata *ad);
+Eina_Bool _gl_main_update_view(void *data);
+int _gl_main_reset_view(void *data);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // end of _GL_MIAN_H_
+
diff --git a/inc/features/gl-pinchzoom.h b/inc/features/gl-pinchzoom.h
new file mode 100755 (executable)
index 0000000..8a08cfd
--- /dev/null
@@ -0,0 +1,25 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#ifndef _GL_PINCHZOOM_H_
+#define _GL_PINCHZOOM_H_
+
+int _gl_pinch_add_event(void *data, Evas_Object *layout);
+int _gl_pinch_reset_flag(void *data);
+
+#endif /* _GL_PINCHZOOM_H_ */
+
diff --git a/inc/features/gl-thumbs-edit.h b/inc/features/gl-thumbs-edit.h
new file mode 100755 (executable)
index 0000000..e320f04
--- /dev/null
@@ -0,0 +1,34 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#ifndef _GL_THUMB_EDIT_H_
+#define _GL_THUMB_EDIT_H_
+
+#include <Elementary.h>
+#include "gallery.h"
+
+int _gl_thumbs_edit_add_btns(void *data, Evas_Object *parent,
+                            Elm_Object_Item *nf_it);
+int _gl_thumbs_edit_create_view(void *data);
+int _gl_thumbs_edit_update_view(void *data);
+int _gl_thumbs_edit_pop_view(void *data);
+int _gl_thumbs_edit_update_lang(void *data);
+int _gl_thumbs_edit_disable_btns(void *data, bool b_disable);
+int _gl_thumbs_edit_get_path(void *data, char **files);
+
+#endif
+
diff --git a/inc/features/gl-thumbs-sel.h b/inc/features/gl-thumbs-sel.h
new file mode 100755 (executable)
index 0000000..61b7b46
--- /dev/null
@@ -0,0 +1,31 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#ifndef _GL_THUMB_SEL_H_
+#define _GL_THUMB_SEL_H_
+
+#include <Elementary.h>
+#include "gallery.h"
+
+int _gl_thumbs_sel_create_view(void *data, gl_cluster *album_item);
+int _gl_thumbs_sel_update_view(void *data);
+int _gl_thumbs_sel_pop_view(void *data, bool b_pop);
+int _gl_thumbs_sel_update_lang(void *data);
+int _gl_thumbs_sel_disable_btns(void *data, bool b_disabled);
+
+#endif
+
diff --git a/inc/features/gl-thumbs.h b/inc/features/gl-thumbs.h
new file mode 100755 (executable)
index 0000000..31f106a
--- /dev/null
@@ -0,0 +1,97 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#ifndef _GL_THUMBS_H_
+#define _GL_THUMBS_H_
+
+#include <Elementary.h>
+#include "gallery.h"
+
+typedef enum _gl_thumb_mode {
+       GL_THUMB_ALL,
+       GL_THUMB_IMAGES,
+       GL_THUMB_VIDEOS,
+} gl_thumb_mode;
+
+/* Show edit view(add checkbox) when creating thumbnails */
+#define GL_THUMBS_EDIT_FIRST (0x1 << 8)
+
+typedef enum _gl_thumbs_edit_mode_t {
+       GL_THUMBS_EDIT_NONE = (0x00),
+       GL_THUMBS_EDIT_NORMAL = (0x1 << 0),
+       GL_THUMBS_EDIT_SHARE = (0x1 << 1),
+       GL_THUMBS_EDIT_COPY = (0x1 << 2),
+       GL_THUMBS_EDIT_MOVE = (0x1 << 3),
+#ifdef _USE_APP_SLIDESHOW
+       GL_THUMBS_EDIT_SLIDESHOW = (0x1 << 4) | GL_THUMBS_EDIT_FIRST,
+#endif
+} gl_thumbs_edit_e;
+
+Eina_Bool _gl_thumbs_append_items(void *data);
+int _gl_thumbs_update_realized_items(void *data);
+Evas_Object *_gl_thumbs_get_content(void *data, Evas_Object *parent,
+                                   gl_item *gitem, int w, int h);
+int _gl_thumbs_add_btns(void *data);
+void _gl_thumbs_mouse_down(void *data, Evas *e, Evas_Object *obj, void *ei);
+void _gl_thumbs_mouse_up(void *data, Evas *e, Evas_Object *obj, void *ei);
+Evas_Object *_gl_thumbs_add_grid(void *data, Evas_Object *parent,
+                                gl_thumb_mode mode);
+int _gl_thumbs_show_edit_view(void *data);
+int _gl_thumbs_show_view(void *data);
+Eina_Bool _gl_thumbs_show_items(void *data);
+int _gl_thumbs_set_list(void *data, Eina_List *elist);
+int _gl_thumbs_clear_and_set_list(void *data, Eina_List *elist);
+int _gl_thumbs_get_list(void *data, Eina_List **p_elist);
+int _gl_thumbs_create_view(void *data, int nf_mode, char *title, bool b_idler,
+                          Elm_Naviframe_Item_Pop_Cb func);
+int _gl_thumbs_update_split_view(void *data, int nf_mode, char *title, bool b_idler,
+                          Elm_Naviframe_Item_Pop_Cb func);
+int _gl_thumbs_update_edit_split_view(void *data, int nf_mode, char *title, bool b_idler,
+                          Elm_Naviframe_Item_Pop_Cb func);
+int _gl_thumbs_update_items(void *data);
+int _gl_thumbs_update_view(void *data);
+int _gl_thumbs_destroy_view(void *data, bool b_pop);
+int _gl_thumbs_destroy_view_with_cb(void *data, void *cb);
+bool _gl_thumbs_get_view(void *data, Evas_Object **view);
+bool _gl_thumbs_show_nocontents(void *data);
+int _gl_thumbs_set_nocontents(void *data, Evas_Object *noc);
+int _gl_thumbs_set_size(void *data, Evas_Object *gridview);
+int _gl_thumbs_clear_cbs(Evas_Object *grid);
+int _gl_thumbs_delete_view(void *data);
+int _gl_thumbs_update_size(void *data, Evas_Object *view);
+bool _gl_thumbs_is_append(gl_item *gitem, char **burstshot_id);
+bool _gl_thumbs_check_zero(void *data);
+int _gl_thumbs_update_label(Elm_Object_Item *nf_it, char *title);
+int _gl_thumbs_update_label_text(Elm_Object_Item *nf_it, int sel_cnt,
+                                bool b_lang);
+int _gl_thumbs_update_lang(void *data);
+int _gl_thumbs_disable_slideshow(void *data, bool b_disabled);
+int _gl_thumbs_disable_share(void *data, bool b_disabled);
+int _gl_thumbs_check_btns(void *data);
+int _gl_thumbs_update_sequence(void *data);
+int _gl_thumbs_set_edit_mode(void *data, int mode);
+int _gl_thumbs_get_edit_mode(void *data);
+int _gl_thumbs_rotate_view(void *data);
+void _gl_thumbs_sel_cb(void *data, Evas_Object *obj, void *ei);
+void _gl_thumbs_open_file(void *data);
+void _gl_thumbs_open_file_select_mode(void *data);
+int _gl_thumbs_create_thumb(gl_item *gitem);
+void _gl_thumbs_change_view(void *data, int prev_x, int current_x);
+void _gl_thumb_update_split_view(void *data);
+
+#endif /* _GL_THUMBS_H_ */
+
diff --git a/inc/gallery.h b/inc/gallery.h
new file mode 100644 (file)
index 0000000..e9aee98
--- /dev/null
@@ -0,0 +1,521 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#ifndef _GALLERY_H_
+#define _GALLERY_H_
+
+#include <pthread.h>
+#include <app.h>
+#include <efl_extension.h>
+
+#include "gl-data.h"
+
+#ifndef EXPORT_API
+#define EXPORT_API __attribute__ ((visibility("default")))
+#endif
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+#if !defined(APPDIR)
+#  define APPDIR "/usr/apps/org.tizen.gallery"
+#endif
+
+#if !defined(PACKAGE)
+#  define PACKAGE "gallery"
+#endif
+
+#if !defined(LOCALEDIR)
+#  define LOCALEDIR APPDIR"/res/locale"
+#endif
+
+#if !defined(EDJDIR)
+#  define EDJDIR APPDIR"/res/edje"
+#endif
+
+#if !defined(IMAGEDIR)
+#  define IMAGEDIR APPDIR"/res/images/"
+#endif
+
+#define PKGNAME_GALLERY "org.tizen.gallery"
+#define GL_APP_DEFAULT_ICON_DIR "/usr/share/icons/default/small"
+
+/******** EDJ File path ********/
+
+#define GL_EDJ_FILE EDJDIR "/" PACKAGE ".edj"
+
+/******** Groups name ********/
+
+#define GL_GRP_CONTROLBAR "gallery/layout"
+#define GL_GRP_GRIDVIEW "gallery/gridview"
+#define GL_GRP_PLACES_MARKER "gallery/place_marker"
+#define GL_GRP_PROGRESSBAR "gallery/progressbar"
+#define GL_GRP_PHOTOFRAME "photoframe"
+
+/******* Part name ***********/
+
+#define GL_NAVIFRAME_PREV_BTN "prev_btn"
+#define GL_NAVIFRAME_TITLE_PREV_BTN "title_prev_btn"
+#define GL_NAVIFRAME_TITLE_RIGHT_BTN "title_right_btn"
+#define GL_NAVIFRAME_TITLE_LEFT_BTN "title_left_btn"
+#define GL_NAVIFRAME_TITLE_MORE_BTN "title_more_btn"
+#define GL_NAVIFRAME_TITLE_BTN1 "title_toolbar_button1"
+#define GL_NAVIFRAME_TITLE_BTN2 "title_toolbar_button2"
+
+#define GL_NAVIFRAME_BTN1 "toolbar_button1"
+#define GL_NAVIFRAME_BTN2 "toolbar_button2"
+#define GL_NAVIFRAME_MORE "toolbar_more_btn"
+#define GL_NAVIFRAME_TOOLBAR "toolbar"
+
+#define GL_POPUP_TEXT "title,text"
+#define GL_NOCONTENTS_TEXT "elm.text"
+#define GL_NOCONTENTS_TEXT2 "elm.text.2"
+#define GL_GRID_TEXT "elm.text"
+#define GL_NAAVIFRAME_TEXT "elm.text.title"
+
+#define GL_IMF_ON "virtualkeypad,state,on"
+#define GL_IMF_OFF "virtualkeypad,state,off"
+#define GL_STA_ON "clipboard,state,on"
+#define GL_STA_OFF "clipboard,state,off"
+
+/******** Style name ********/
+
+#define GL_CLASS_GENGRID "gengrid"
+#ifdef _USE_CUSTOMIZED_GENGRID_STYLE
+#define GL_GENGRID_STYLE_GALLERY "gallery"
+#endif
+
+#define GL_BUTTON_STYLE_RENAME "rename" //"gallery/rename"
+#define GL_BUTTON_STYLE_NAVI_MORE "naviframe/more/default"
+#define GL_BUTTON_STYLE_NAVI_TITLE "naviframe/title_text"
+#define GL_BUTTON_STYLE_NAVI_TITLE_ICON "naviframe/title_icon"
+#define GL_BUTTON_STYLE_NAVI_TOOLBAR "naviframe/toolbar/default"
+#define GL_BUTTON_STYLE_NAVI_TOOLBAR_LEFT "naviframe/toolbar/left"
+#define GL_BUTTON_STYLE_NAVI_TOOLBAR_RIGHT "naviframe/toolbar/right"
+
+/* Button object style of previous button of naviframe */
+#define GL_BUTTON_STYLE_NAVI_PRE "naviframe/back_btn/default"
+#ifdef _USE_ROTATE_BG
+#define GL_BUTTON_STYLE_NAVI_CTRL "naviframe_control/multiline"
+#endif
+
+#define GL_CHECKBOX_STYLE_DEFAULT "gallery/default"
+#define GL_GENLIST_STYLE_DEFAULT GL_CHECKBOX_STYLE_DEFAULT
+#define GL_POPUP_STYLE_DEFAULT GL_CHECKBOX_STYLE_DEFAULT
+#define GL_CONTROLBAR_STYLE_NAVI "naviframe"
+#define GL_CBAR_STYLE_DEFAULT GL_CHECKBOX_STYLE_DEFAULT
+
+/******** String ********/
+
+#define GL_SEPERATOR_BT '?'
+#define GL_ARGV_MSS_TYPE "MSS_Type"
+#define GL_ARGV_MSS_3 "3"
+#define GL_ARGV_MSS_SORT_TYPE "MSS_Sort_type"
+#define GL_ARGV_MSS_SORT_1 "1"
+
+/* MIME type */
+#define GL_MIME_IMAGE_ALL      "image/*"
+#define GL_MIME_VIDEO_ALL      "video/*"
+
+#define GL_AUL_PREFIX "gallery:"
+#define GL_AUL_IMAGE "imageviewer"
+
+/******** Numerical value ********/
+
+/* Window width and height */
+#define GL_WIN_WIDTH 720
+#define GL_WIN_HEIGHT 1280
+/*naviframe title + naviframe bottom toobar */
+#define GL_FIXED_HEIGHT (111 + 98)
+
+/* Specified ID for customed items, which don't exist in DB */
+#define GL_TAG_FAVORITES_ID 0
+#define GL_ALBUM_ALL_ID "GALLERY_ALBUM_ALL_ALBUMS_ID"
+#define GL_ALBUM_FAVOURITE_ID "GALLERY_ALBUM_FAVOURITE_ALBUMS_ID"
+#define GL_ALBUM_ALLSHARE_ID "GALLERY_ALBUM_ALLSHARE_ID"
+#define GL_ALBUM_PTP_ID "GALLERY_ALBUM_PTP_ID"
+
+/* Size of thumbnails in gridview */
+#define GL_GRID_ITEM_CNT 32
+/* Thumbnail would be enlarged if medias count is less than 7 */
+#define GL_GRID_ITEM_ZOOM_LEVEL_02 2
+#define GL_GRID_ITEM_ZOOM_LEVEL_03 (1.35f)
+#define GL_GRID_ITEM_ZOOM_LEVEL_02_CNT 8
+
+#define GL_MOUSE_RANGE 10
+
+/* Range of longitude and latitude */
+#define GL_MAP_LONG_MAX 180.0
+#define GL_MAP_LONG_MIN (-180.0)
+#define GL_MAP_LAT_MAX 90.0
+#define GL_MAP_LAT_MIN (-90.0)
+#define GL_MAP_GEO_INIT 1000.0
+
+/* String length of mtye item id */
+#define GL_MTYPE_ITEN_ID_LEN_MAX 37
+
+/* String length of album name */
+#define GL_ALBUM_NAME_LEN_MAX GL_FILE_NAME_LEN_MAX
+
+#define GL_DATE_INFO_LEN_MAX 256
+#define GL_POPUP_DESC_LEN_MAX 256
+#define GL_EXT_STR_COUNT_LEN 20
+#define GL_FACE_DETECT_INFO_LEN_MAX 128
+
+/* String length for webalbum */
+#define GL_WEB_ALBUM_TITLE_LEN_MAX 256
+#define GL_WEB_ALBUM_ID_LEN_MAX GL_WEB_ALBUM_TITLE_LEN_MAX
+#define GL_WEB_WEBNODE_NAME_LEN_MAX 128
+#define GL_WEB_WEBNODE_ALBUM_ID_LEN_MAX GL_WEB_WEBNODE_NAME_LEN_MAX
+#define GL_WEB_WEBNODE_TOKEN_LEN_MAX 512
+
+#define GL_PLACE_DATA_STR_LEN_MAX 64
+
+/* String length for PTP album */
+#define GL_PTP_MODEL_LEN_MAX 128
+
+/* 1900 */
+#define GL_DEFAULT_YEAR 1900
+/* 1s=1000ms */
+#define GL_TIME_MSEC_PER_SEC 1000
+/*1s = 1000000us*/
+#define GL_TIME_USEC_PER_SEC 1000000L
+/* 1ms=1000us */
+#define GL_TIME_USEC_PER_MSEC 1000
+/* 1min=60s */
+#define GL_TIME_SEC_PER_MIN 60
+/* 1h=60min */
+#define GL_TIME_MIN_PER_HOUR 60
+/* 1h=(60x60)s */
+#define GL_TIME_SEC_PER_HOUR (GL_TIME_MIN_PER_HOUR * GL_TIME_SEC_PER_MIN)
+
+/* itoa length max ----> 1(sign) + 10(2^31) + 1(NULL) */
+#define GL_INTERGER_LEN_MAX 12
+
+#define GL_ERROR_BUF_LEN 1024
+
+/* File system related String definition */
+#define GL_ROOT_PATH_PHONE             "/opt/usr/media"
+#define GL_ROOT_PATH_MMC       "/opt/storage/sdcard"
+#define GL_DEFAULT_PATH_IMAGES GL_ROOT_PATH_PHONE"/Pictures" // refer to s4
+#define GL_DEFAULT_PATH_PICTURES GL_ROOT_PATH_PHONE"/Images"
+#define GL_DOWNLOADS_PATH GL_ROOT_PATH_PHONE"/Downloads"
+#define GL_DATA_FOLDER_PATH "/opt/usr/apps/"PKGNAME_GALLERY"/data"
+
+#define GL_NAVIFRAME_OBJ_DATA_KEY "gl_naviframe_data_key"
+#define GL_NAVIFRAME_UG_UPDATE_KEY "gl_naviframe_ug_update_key"
+#define GL_NAVIFRAME_UG_RESULT_KEY "gl_naviframe_ug_result_key"
+#define GL_NAVIFRAME_SLIDESHOW_DATA_KEY "gl_naviframe_slideshow_data_key"
+#ifdef _USE_APP_SLIDESHOW
+#define GL_NAVIFRAME_SELECTED_SLIDESHOW_KEY "gl_naviframe_selected_slideshow_key"
+#endif
+#define GL_NAVIFRAME_POP_CB_KEY "gl_naviframe_pop_cb_key"
+
+/******** Enumeration ********/
+typedef enum _gl_view_mode
+{
+       GL_VIEW_NONE,
+       GL_VIEW_ALBUMS,
+       GL_VIEW_ALBUMS_EDIT,
+       GL_VIEW_ALBUMS_RENAME,
+       GL_VIEW_ALBUMS_SELECT,
+       GL_VIEW_TIMELINE,
+       GL_VIEW_THUMBS,
+       GL_VIEW_THUMBS_EDIT,
+       GL_VIEW_THUMBS_SELECT,
+       GL_VIEW_ALBUM_REORDER,
+} gl_view_mode;
+
+typedef enum _gl_app_exit_mode
+{
+       GL_APP_EXIT_NONE,
+       GL_APP_EXIT_MASS_STORAGE,
+} gl_app_exit_mode;
+
+typedef enum _gl_entry_mode
+{
+       GL_ENTRY_NONE,
+       GL_ENTRY_NEW_ALBUM,
+       GL_ENTRY_RENAME_ALBUM,
+       GL_ENTRY_RENAME_TAG,
+} gl_entry_mode;
+
+/* Grid view created for different thumbnails view types */
+enum _gl_gird_t {
+       GL_GRID_T_NONE,
+       GL_GRID_T_LOCAL,
+       GL_GRID_T_ALLALBUMS,
+       GL_GRID_T_FAV,
+};
+typedef enum _gl_gird_t gl_grid_t_e;
+
+enum _gl_edit_mode_t {
+       GL_GRID_EDIT = 0,
+       GL_GRID_SHARE,
+};
+typedef enum _gl_edit_mode_t _gl_edit_mode_t_e;
+
+typedef enum  _gl_detail_view_display_order {
+       ORDER_ASC = 0,
+       ORDER_DESC
+}_gl_view_order;
+
+typedef enum _gl_album_detail_view_mode {
+       DETAIL_VIEW = 0,
+       SPLIT_VIEW
+}_gl_detail_view_mode;
+/******** Structure ********/
+
+typedef struct gl_db_noti_t gl_db_noti_s;
+typedef struct _gl_timeline_t gl_timeline_s;
+
+typedef struct
+{
+       Evas_Object *ctrlbar_ly;
+       /* Layout of albums view/tags view/places view */
+       Evas_Object *ctrlbar_view_ly;
+       /* Naviframe item pushed to stack */
+       Elm_Object_Item *nf_it;
+       int tab_mode;    /* State of controlbar item: Albums, Places or Tags */
+       Ecore_Timer *avoid_multi_tap;
+} gl_ctrl_info;
+
+typedef struct
+{
+       Evas_Object *gesture_sel;
+       Evas_Object *gesture;
+       int zoom_level;
+} gl_pinch_info;
+
+typedef struct _gl_mouse_t gl_mouse_s;
+struct _gl_mouse_t {
+       Evas_Coord x;
+       Evas_Coord y;
+       bool b_pressed;
+};
+
+typedef struct
+{
+       Elm_Gengrid_Item_Class date_gic; /* Gengrid item class of date view */
+       Evas_Object *layout;
+       /* Thumbnail selection view for Add tag to photo */
+       Evas_Object *select_view;
+       Evas_Object *select_layout;
+       Evas_Object *view;
+       Evas_Object *nocontents;
+       bool b_slideshow_disable;
+       /* Edit */
+       bool is_append;
+       /* It's in edit view */
+       int edit_mode;
+       /* Naviframe item pushed to stack */
+       Elm_Object_Item *nf_it;
+       Elm_Object_Item *nf_it_select;
+       char *title;
+       gl_mouse_s mouse;       /* Added for shrink effect while select thumbnail */
+       Ecore_Timer *clicked_timer;
+       /* It's thumbnails icon size, not grid item size */
+       int icon_w;
+       int icon_h;
+                                       /* if album contains more than (GL_FIRST_VIEW_END_POS+1) medias */
+       Eina_List *medias_elist;
+       int count;              /* Media items count appended to gridview including burst shot*/
+       bool back_to_normal;    /* When back from edit mode, reset checkbox state */
+       _gl_view_order media_display_order; /* keep track of the media items display order */
+       gl_grid_t_e grid_type;
+       Elm_Object_Item *it; /* Keep track of selected item in move copy popup*/
+       _gl_detail_view_mode split_view_mode;
+       bool multi_touch;
+       bool update_split_view;
+} gl_grid_info;
+
+typedef struct
+{
+       bool b_app_called; /* Indicates if any application invoked by Gallery */
+       app_control_h ug;
+       int ug_type;
+       int iv_type;
+       void *data;
+       int sort_type;  /* Types: wminfo_media_sort_type; pass it to imageviewer */
+       bool b_start_slideshow; /* Start slideshow from slideshow-setting ug */
+       bool b_ug_launched;
+#ifdef _USE_APP_SLIDESHOW
+       bool b_selected_slideshow;
+#endif
+} gl_ug_info;
+
+typedef struct
+{
+       Elm_Gengrid_Item_Class gic;     /* Gengrid item class of albums view */
+       Evas_Object *view;       /* Albums view object */
+       Evas_Object *nocontents; /* Nocontents object */
+       /* Albums view object for Add tag to photo */
+       Evas_Object *select_view;
+       /* Albums view layout object for Add tag to photo */
+       Evas_Object *select_layout;
+
+       int b_share_mode; /* Direct share mode */
+       gl_cluster *current; /* Album selected for showing thumbnails view/list view */
+       /* Album selected for rename/open locked album */
+       gl_cluster *selected;
+       /* Save destination album id while move/save */
+       char *path;
+       char new_name[GL_ALBUM_NAME_LEN_MAX];
+       bool b_new_album;
+       char *temp_album_name;
+       int file_mc_mode;
+       Eina_List *sel_elist;   /* List of all selected albums */
+       gl_cluster_list *elist; /* List of all albums */
+       int albums_cnt;          /* Albums count appended to gridview */
+       char dest_folder[GL_DIR_PATH_LEN_MAX];  /* The full path of destination album of movement */
+
+       Elm_Object_Item *nf_it_select;
+       Elm_Object_Item *grid_sel_item; /* currently selected album grid item will be stored here */
+       char *selected_uuid; /* currently selected album's uuid will be stored here */
+} gl_album_info;
+
+typedef struct
+{
+       Evas_Object *editfield;
+       Evas_Object *entry;
+       Evas_Object *popup;
+       Ecore_IMF_Context *context;
+       Elm_Entry_Filter_Limit_Size *limit_filter;
+
+       /* Type: gl_entry_mode; Indicate usage of entry */
+       int mode;
+       /* Button 'Done' in new album/tag view */
+       Evas_Object *done_btn;
+       Elm_Object_Item *nf_it;
+       void *op_cb; /* Operation after done pressed */
+       bool b_hide_toolbar;
+       bool b_hide_sip;
+} gl_entry_info;
+
+typedef struct
+{
+       Evas_Object *popup;
+       Evas_Object *memory_full_popup;
+       int mode;
+       /* Selectioninfo popup layout */
+       Ecore_Timer *del_timer;
+} gl_popup_info;
+
+typedef struct {
+       Eina_List *elist; /* List of all selected medias of a album/tag/marker */
+       Eina_List *fav_elist; /* List of fav medias of a album/tag/marker */
+       int images_cnt; /* Images count selected */
+       int jpeg_cnt;   /* JEPG files count selected */
+       int disable_hide_cnt;   /* Disable hide files count selected */
+       /* All media count */
+       int sel_cnt;
+       /* Checkbox state of select-all */
+       Eina_Bool ck_state;
+       Evas_Object *selectall_ck;
+       Eina_List *copy_elist;
+} gl_selected_info;
+
+typedef struct {
+       Evas_Object *popup;
+       Evas_Object *pbar;
+       Evas_Object *status_label;
+       Ecore_Timer *pbar_timer;
+       /**
+       * After progressbar showed completely, use timer to
+       * emit next signal to write pipe to continue to operate medias.
+       */
+       Ecore_Timer *start_thread_timer;
+       /**
+       * After thread operation done, use idler to
+       * delete progressbar after it's showed completely(status is 100%).
+       */
+       Ecore_Job *del_pbar_job;
+       Ecore_Timer *del_pbar_timer;
+       Ecore_Pipe *sync_pipe;     /* Pipe for communication between main and child thread */
+       pthread_mutex_t pbar_lock; /* Lock for state of 'Cancel' button */
+       pthread_mutex_t refresh_lock; /* Lock for progressbar refreshing */
+       pthread_cond_t refresh_cond;  /* Condition for progressbar refreshing */
+       int refresh_flag; /* Indicates progressbar updated or not while moving or deleting */
+       int pbar_cancel;  /* State of 'Cancel' button on progressbar popup */
+       /* Medias count already operated */
+       int finished_cnt;
+       int total_cnt;
+       void *op_cb;
+       void *update_cb;
+       void *del_item_cb;
+} gl_pbar_info;
+
+typedef struct
+{
+       Evas_Object *win;
+       Evas_Object *layout;
+       Evas_Object *naviframe;
+       Evas_Object *bg;
+       Evas_Object *ctxpopup;
+       Evas_Object *entry_win; /* For 3D view */
+       int rotate_mode; /* Type: appcore_rm; Indicate rotation mode of whole application */
+       int view_mode;   /* Type: gl_view_mode; Indicate view mode of whole application */
+       bool reentrant;
+       bool b_paused;
+       /* Mouse down event handle */
+       Ecore_Event_Handler *keydown_handler;
+       /* Font type change event handle */
+       Ecore_Event_Handler *font_handler;
+       void *dlopen_iv_handle; /* Handle for dlopen imageviewer lib .so */
+       /* Use idler to register ASF when launching Gallery */
+       Ecore_Timer *reg_idler;
+       bool b_reged_idler;
+
+       int all_medias_cnt;
+       time_t last_mtime;
+       int medias_op_type;      /* Type: Move or Delete medias */
+       int mmc_state;           /* MMC state(Inserted, Removed) */
+       /* SVI, for playing touch sound */
+       int svi_handle;
+       int sound_status;
+       Ecore_Idler *mmc_idler;
+       int externalStorageId;
+} gl_main_info;
+
+
+struct _gl_appdata
+{
+       gl_main_info maininfo;   /* Global variables about webalbum */
+       gl_ctrl_info ctrlinfo;   /* Global variables about controlbar */
+       gl_album_info albuminfo; /* Global variables about albums view */
+       gl_grid_info gridinfo;   /* Global variables about thumbnails view */
+       gl_pinch_info pinchinfo; /* Global variables about pinch zoom out */
+       gl_entry_info entryinfo; /* Global variables about entry */
+       gl_popup_info popupinfo; /* Global variables about popup */
+       gl_pbar_info pbarinfo;   /* Global variables about progressbar */
+       gl_ug_info uginfo;       /* Global variables about ug */
+       gl_selected_info selinfo; /* Global variables about files selected */
+       gl_timeline_s *tlinfo; /* Global variables about TIMELINE view */
+       /* Data about using inotify */
+       gl_db_noti_s *db_noti_d;
+};
+
+typedef struct _gl_appdata gl_appdata;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _GALLERY_H_ */
+
diff --git a/inc/util/gl-db-update.h b/inc/util/gl-db-update.h
new file mode 100755 (executable)
index 0000000..b583cdf
--- /dev/null
@@ -0,0 +1,34 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#ifndef _GL_DB_UPDATE_H_
+#define _GL_DB_UPDATE_H_
+
+int _gl_db_update_add_timer(void *data);
+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);
+
+#endif
+
diff --git a/inc/util/gl-debug.h b/inc/util/gl-debug.h
new file mode 100755 (executable)
index 0000000..5c3ccd4
--- /dev/null
@@ -0,0 +1,130 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#ifndef _GL_DEBUG_H_
+#define _GL_DEBUG_H_
+
+#include <dlog.h>
+#include <assert.h>
+#include "gl-ta.h"
+#include <stdio.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+#ifdef LOG_TAG
+#undef LOG_TAG
+#endif
+
+#define LOG_TAG "GALLERY"
+
+/* anci c color type */
+#define FONT_COLOR_RESET    "\033[0m"
+#define FONT_COLOR_RED      "\033[31m"
+#define FONT_COLOR_GREEN    "\033[32m"
+#define FONT_COLOR_YELLOW   "\033[33m"
+#define FONT_COLOR_BLUE     "\033[34m"
+#define FONT_COLOR_PURPLE   "\033[35m"
+#define FONT_COLOR_CYAN     "\033[36m"
+#define FONT_COLOR_GRAY     "\033[37m"
+
+#ifdef _USE_DLOG_
+
+#define gl_dbg(fmt, arg...)  LOGD(FONT_COLOR_BLUE fmt FONT_COLOR_RESET, ##arg)
+#define gl_dbgI(fmt, arg...) LOGI(FONT_COLOR_GREEN fmt FONT_COLOR_RESET, ##arg)
+#define gl_dbgW(fmt, arg...) LOGW(FONT_COLOR_CYAN fmt FONT_COLOR_RESET, ##arg)
+#define gl_dbgE(fmt, arg...) LOGE(FONT_COLOR_RED fmt FONT_COLOR_RESET, ##arg)
+
+#define GL_PROFILE_IN  LOG(LOG_DEBUG, "LAUNCH", "[gallery:Application:%s:IN]", __FUNCTION__)
+#define GL_PROFILE_OUT LOG(LOG_DEBUG, "LAUNCH", "[gallery:Application:%s:OUT]", __FUNCTION__)
+#define GL_PROFILE_F_IN(func)  LOG(LOG_DEBUG, "LAUNCH","[gallery:Application:"func":IN]")
+#define GL_PROFILE_F_OUT(func) LOG(LOG_DEBUG, "LAUNCH","[gallery:Application:"func":OUT]")
+
+#else
+
+#define gl_dbg(fmt,arg...)
+#define gl_dbgW(fmt, arg...)
+#define gl_dbgE(fmt, arg...)
+
+#define GL_PROFILE_IN
+#define GL_PROFILE_OUT
+#define GL_PROFILE_F_IN(func)
+#define GL_PROFILE_F_OUT(func)
+
+#endif
+
+#ifdef _USE_SECURE_LOG_
+#define gl_sdbg(fmt, arg...)  SECURE_LOGD(FONT_COLOR_BLUE fmt FONT_COLOR_RESET, ##arg)
+#define gl_sdbgW(fmt, arg...) SECURE_LOGI(FONT_COLOR_GREEN fmt FONT_COLOR_RESET, ##arg)
+#define gl_sdbgE(fmt, arg...) SECURE_LOGE(FONT_COLOR_RED fmt FONT_COLOR_RESET, ##arg)
+#endif
+
+
+#include <time.h>
+#include <sys/time.h>
+
+//long gl_get_debug_time(void);
+//void gl_reset_debug_time(void);
+//void gl_print_debug_time(char* time_string);
+void gl_print_debug_time_ex(long start, long end, const char *func_name, char *time_string);
+
+
+
+#define gl_retm_if(expr, fmt, arg...) do { \
+       if (expr) { \
+               gl_dbgE(fmt, ##arg); \
+               gl_dbgE("(%s) -> %s() return", #expr, __FUNCTION__); \
+               return; \
+       } \
+} while (0)
+
+#define gl_retvm_if(expr, val, fmt, arg...) do { \
+       if (expr) { \
+               gl_dbgE(fmt, ##arg); \
+               gl_dbgE("(%s) -> %s() return", #expr, __FUNCTION__); \
+               return (val); \
+       } \
+} while (0)
+
+#define GL_CHECK_EXCEP(expr) do { \
+       if (!(expr)) { \
+               gl_dbgE("Critical ERROR ########################################## Check below item.");\
+               goto gl_exception;\
+       } \
+} while (0)
+
+#define GL_CHECK_VAL(expr, val)                gl_retvm_if(!(expr), val, "Invalid parameter, return ERROR code!")
+#define GL_CHECK_NULL(expr)                    gl_retvm_if(!(expr), NULL, "Invalid parameter, return NULL!")
+#define GL_CHECK_FALSE(expr)                   gl_retvm_if(!(expr), false, "Invalid parameter, return FALSE!")
+#define GL_CHECK_CANCEL(expr)                  gl_retvm_if(!(expr), ECORE_CALLBACK_CANCEL, "Invalid parameter, return ECORE_CALLBACK_CANCEL!")
+#define GL_CHECK(expr)                                         gl_retm_if(!(expr), "Invalid parameter, return!")
+
+#define gl_assert(expr) do { \
+       if (!(expr)) { \
+               gl_dbgE("Critical ERROR ########################################## Check below item.");\
+               assert(false); \
+       } \
+} while (0)
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _GL_DEBUG_H_ */
+
diff --git a/inc/util/gl-exif.h b/inc/util/gl-exif.h
new file mode 100755 (executable)
index 0000000..7cb7f1f
--- /dev/null
@@ -0,0 +1,60 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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 _USE_ROTATE_BG
+
+#ifndef _GL_EXIF_H_
+#define _GL_EXIF_H_
+
+#include <stdbool.h>
+#include <stdio.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+/*
+Orientation - angle
+1 - 0
+3 - 180
+6 - 90
+8 - 270
+*/
+
+enum _gl_orientation_rot_t {
+       GL_ORIENTATION_ROT_ERR = 0,
+       GL_ORIENTATION_ROT_0 = 1,
+       GL_ORIENTATION_ROT_180 = 3,
+       GL_ORIENTATION_ROT_90 = 6,
+       GL_ORIENTATION_ROT_270 = 8,
+};
+typedef enum _gl_orientation_rot_t gl_orientation_rot_e;
+
+bool _gl_exif_check_img_type(char *file_path);
+int _gl_exif_get_orientation(char *file_path, unsigned int *orientation);
+int _gl_exif_set_orientation(char *file_path, unsigned int orientation);
+int _gl_exif_get_rotated_orientation(unsigned int orientation, bool b_left);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _GL_EXIF_H_ */
+
+#endif
+
diff --git a/inc/util/gl-ext-exec.h b/inc/util/gl-ext-exec.h
new file mode 100755 (executable)
index 0000000..7ea7d84
--- /dev/null
@@ -0,0 +1,49 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#ifndef _GL_EXT_EXEC_H_
+#define _GL_EXT_EXEC_H_
+
+typedef enum
+{
+       GL_LAUNCH_FAIL,
+       GL_LAUNCH_SUCCESS
+} gl_launch_status;
+
+typedef enum
+{
+       GL_APP_NONE = -1,
+       GL_APP_VIDEOPLAYER,
+       GL_APP_EMOLINK,         /* connectivity. */
+} gl_ext_app_type;
+
+int gl_ext_exec(void *data, gl_ext_app_type type);
+#ifdef GL_EXTENDED_FEATURES
+int _gl_ext_load_camera(void *data);
+int _gl_ext_load_ie(void *data, void *get_path_cb);
+int _gl_ext_load(const char *uri, const char *operation, const char *pkg, const char *pkg_id, const char *mime);
+int _gl_ext_launch_image_editor(const char *path_string);
+int _gl_ext_launch_share(void *data, int total_cnt, void *get_path_cb);
+int _gl_ext_is_larger_than_share_max(int total_cnt);
+int _gl_ext_launch_share_with_files(void *data, int total_cnt, char **files);
+#ifndef _USE_APP_SLIDESHOW
+int _gl_ext_launch_gallery_ug(void *data);
+#endif
+#endif
+
+#endif /* _GL_EXT_EXEC_H_ */
+
diff --git a/inc/util/gl-ext-ug-load.h b/inc/util/gl-ext-ug-load.h
new file mode 100755 (executable)
index 0000000..f3e837e
--- /dev/null
@@ -0,0 +1,57 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#ifndef _GL_EXT_UG_LOAD_H_
+#define _GL_EXT_UG_LOAD_H_
+
+#include "gl-data.h"
+
+typedef enum
+{
+       GL_UG_FAIL,
+       GL_UG_SUCCESS
+} gl_ug_load_status;
+
+typedef enum
+{
+       GL_UG_IMAGEVIEWER,
+       GL_UG_GALLERY_SETTING_SLIDESHOW,
+       GL_UG_GALLERY_SETTING,
+       GL_UG_CNT,
+} gl_ext_ug_type;
+
+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,
+#ifdef _USE_APP_SLIDESHOW
+       /*Invoke imageviewer to slideshow selected files */
+       GL_UG_IV_SLIDESHOW_SELECTED,
+#endif
+       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_ext_load_iv_timeline(void *data, const char *path, int sequence, int sort_type);
+
+#endif /* _GL_EXT_UG_LOAD_H_ */
diff --git a/inc/util/gl-file-util.h b/inc/util/gl-file-util.h
new file mode 100644 (file)
index 0000000..2178713
--- /dev/null
@@ -0,0 +1,59 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#ifndef _GL_FILE_UTIL_H_
+#define _GL_FILE_UTIL_H_
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <sys/stat.h>
+#include <dirent.h>
+#include <string.h>
+#include <Eina.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+int gl_file_exists(const char *path);
+
+int gl_file_is_dir(const char *path);
+
+int gl_file_unlink(const char *filename);
+
+int gl_file_size(const char *filename);
+
+int gl_file_rmdir(const char *filename);
+
+int gl_file_dir_is_empty(const char *path);
+
+Eina_List *gl_file_ls(const char *dir);
+
+int gl_file_recursive_rm(const char *dir);
+
+char* gl_file_dir_get(const char path[]);
+
+int gl_file_mkpath(const char *path);
+
+int gl_file_mv(const char *src, const char *dst);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // end of _GL_FILE_UTIL_H_
diff --git a/inc/util/gl-fs.h b/inc/util/gl-fs.h
new file mode 100755 (executable)
index 0000000..ed3b0c9
--- /dev/null
@@ -0,0 +1,77 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+#ifndef _GL_FS_H_
+#define _GL_FS_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdio.h>
+#include <stdbool.h>
+#include <string.h>
+#include <stdlib.h>
+#include <dirent.h>
+#include <sys/stat.h>
+#include <unistd.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <linux/fs.h>
+#include <Eina.h>
+#include <glib.h>
+
+typedef struct _gl_node_info_t gl_node_info_s;
+struct _gl_node_info_t {
+       /* Parent path */
+       char *path;
+       /* File/folder name */
+       char *name;
+       /* Modified time */
+       time_t mtime;
+       /* File size / folder's content size */
+       unsigned long long size;
+};
+
+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);
+#ifdef _RENAME_ALBUM_SENSITIVE
+bool _gl_fs_check_name_case(char *dir, char *exist_name);
+#endif
+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);
+Eina_Bool _gl_fs_copy(void *data, const char *src, const char *dst);
+char *_gl_fs_get_unique_full_path(char *file_path, char *ext);
+char *_gl_fs_get_unique_new_album_name(char *parent_path, char *default_name,
+                                      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
+}
+#endif
+
+#endif
+
diff --git a/inc/util/gl-icons.h b/inc/util/gl-icons.h
new file mode 100755 (executable)
index 0000000..6f30873
--- /dev/null
@@ -0,0 +1,72 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#ifndef _GL_ICONS_H_
+#define _GL_ICONS_H_
+
+#define GL_APPDIR "/usr/apps/org.tizen.gallery"
+#define GL_EDJDIR GL_APPDIR"/res/edje"
+#define GL_IMAGEDIR GL_APPDIR"/res/images/"
+#define GL_APP_DEFAULT_ICON_DIR "/usr/share/icons/default/small"
+
+/******** Image path ********/
+
+#define GL_ICON_DEFAULT GL_APP_DEFAULT_ICON_DIR"/org.tizen.gallery.png"
+#define GL_ICON_DB_DEFAULT_THUMB "/opt/usr/data/file-manager-service/.thumb/thumb_default.png"
+#define GL_ICON_NO_THUMBNAIL GL_IMAGEDIR"No_thumbnail_351X261.png"
+#define GL_ICON_CONTENTS_BROKEN GL_IMAGEDIR"Contents_broken_351X261.png"
+
+/******** Image group in EDC file ********/
+
+#define GL_IMAGES_EDJ_FILE GL_EDJDIR"/gl-images.edj"
+
+#define GL_ICON_LOCK "T01_icon_lock.png"
+#define GL_ICON_ALBUM_CAMERA "T01_album_icon_camera.png"
+#define GL_ICON_ALBUM_DOWNLOAD "T01_album_icon_download.png"
+#define GL_ICON_ALBUM_FOLDER "T01_album_icon_folder.png"
+#define GL_ICON_ALBUM_MMC "T01_album_icon_sd_card.png"
+
+#define GL_ICON_VIDEO_PLAY "T01_btn_thumbnail_play.png"
+#define GL_ICON_THUMB_BOOKMARK "T01_icon_thumbnail_bookmark.png"
+
+#define GL_ICON_SOUND_SHOT "T01_icon_sound_shot.png"
+#define GL_ICON_PANORAMA "T01_icon_panorama.png"
+#define GL_ICON_BURSTSHOT "T01_icon_bustshot_45x45.PNG"
+
+#define GL_ICON_TITLE_SELECT_ALL "T01_title_icon_select_all.png"
+#define GL_ICON_CAMERA "T01_icon_camera_all.png"
+
+#define GL_ICON_NEW_ALBUM "T01_popup_icon_new_album.png"
+#define GL_ICON_SLIDESHOW "T01_popup_icon_slideshow.png"
+#define GL_ICON_SHARE "T01_icon_share.png"
+#define GL_ICON_COPY "T01_popup_copy.png"
+#define GL_ICON_MOVE "T01_popup_move.png"
+#define GL_ICON_EDIT_IMAGE "T02_popup_icon_edit_image.png"
+#define GL_ICON_SETTINGS "T02_popup_icon_settings.png"
+#define GL_ICON_ROTATE_RIGHT "T01_popup_icon_rotate_right.png"
+#define GL_ICON_ROTATE_LEFT "T01_popup_icon_rotate_left.png"
+#define GL_ICON_EDIT "T01_popup_icon_edit.png"
+#define GL_ICON_DELETE "T01_popup_icon_delete.png"
+#define GL_ICON_DONE "T01_popup_icon_done.png"
+#define GL_ICON_RENAME "T01_popup_icon_rename.png"
+#define GL_ICON_NOCONGENTS_VIDEOS "T01_nocontents_videos.png"
+#define GL_ICON_BACK "T01_icon_back.png"
+#define GL_ICON_FOLDER "gallery_list_icon_folder.png"
+#define GL_ICON_MMC "gallery_list_icon_my_files_sd_card.png"
+
+#endif
+
diff --git a/inc/util/gl-lang.h b/inc/util/gl-lang.h
new file mode 100755 (executable)
index 0000000..580e1fd
--- /dev/null
@@ -0,0 +1,36 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#ifndef _GL_LANG_H_
+#define _GL_LANG_H_
+
+#include "gallery.h"
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+int _gl_lang_update(void *data);
+
+#ifdef __cplusplus
+}
+#endif
+
+
+#endif
+
diff --git a/inc/util/gl-strings.h b/inc/util/gl-strings.h
new file mode 100755 (executable)
index 0000000..eac958c
--- /dev/null
@@ -0,0 +1,234 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+/* This header file includes all multi language strings which need display */
+#ifndef _GL_STRINGS_H_
+#define _GL_STRINGS_H_
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+#define GL_STR_DOMAIN_SYS "sys_string"
+#define GL_STR_DOMAIN_LOCAL PACKAGE
+
+/* Special album name saved in DB  */
+#define GL_STR_ALBUM_CAMERA _("Camera")
+#define GL_STR_ALBUM_DOWNLOADS _("Downloads")
+#define GL_STR_ALBUM_SCREENSHOTS _("Screenshots")
+
+/* hard code strings and already translated strings in gallery po files */
+#define GL_STR_UNDER_IMPLEMENTATION _("Under Implementation!")
+
+#define GL_STR_INVALID_INPUT_PARAMETER _("IDS_MEDIABR_POP_INVALID_INPUT_PARAMETER")
+#define GL_STR_ENTRY_IS_EMPTY _("IDS_MEDIABR_POP_ENTRY_IS_EMPTY")
+#define GL_STR_SAME_NAME_ALREADY_IN_USE _("IDS_MEDIABR_POP_SAME_NAME_ALREADY_IN_USE")
+
+#define GL_STR_UNABLE_tO_RENAME _("IDS_MEDIABR_POP_UNABLE_TO_RENAME")
+#define GL_STR_NO_ALBUMS_SELECTED _("IDS_MEDIABR_POP_NO_ALBUMS_SELECTED")
+#define GL_STR_SELECT_ITEM _(GL_STR_ID_SELECT_ITEM)
+#define GL_STR_NO_ALBUMS _(GL_STR_ID_NO_ALBUMS)
+
+#define GL_STR_EMPTY _("")
+#define GL_STR_NO_NAME GL_STR_ID_NO_NAME
+
+#define GL_STR_MORE dgettext("sys_string", "IDS_COM_BODY_MORE")
+
+#define GL_STR_DELETE_1_FILE _("IDS_MEDIABR_POP_1_ITEM_WILL_BE_DELETED")
+#define GL_STR_DELETE_PD_FILES _("IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DELETED_ABB")
+
+#define GL_STR_DELETE_1_ALBUM _("IDS_MEDIABR_POP_1_ALBUM_WILL_BE_DELETED")
+#define GL_STR_DELETE_PD_ALBUMS _("IDS_MEDIABR_POP_PD_ALBUMS_WILL_BE_DELETED")
+
+#define GL_STR_PD_SELECTED _("IDS_GALLERY_HEADER_PD_SELECTED_ABB")
+
+#define GL_STR_CREATE_FOLDER_Q _("IDS_MEDIABR_POP_CREATE_FOLDER_Q")
+#define GL_STR_ITEMS _("items")
+#define GL_STR_ITEM _("item")
+#define GL_STR_RETRY_Q _("IDS_MEDIABR_POP_RETRY_Q")
+#define GL_STR_REMOVE_COMFIRMATION _("IDS_MEDIABR_POPUP_REMOVE_Q")
+
+/* system strings which are included in sys-string-0 po files */
+#define GL_STR_OPERATION_FAILED dgettext("sys_string", GL_STR_ID_OPERATION_FAILED)
+#define GL_STR_CAMERA dgettext("sys_string", GL_STR_ID_CAMERA)
+#define GL_STR_CANCELLED dgettext("sys_string", "IDS_COM_POP_CANCELLED")
+#define GL_STR_SUCCESS dgettext("sys_string", "IDS_COM_POP_SUCCESS")
+#define GL_STR_FAILED dgettext("sys_string", "IDS_COM_POP_FAILED")
+#define GL_STR_BACK dgettext("sys_string", "IDS_COM_SK_BACK")
+#define GL_STR_DELETE dgettext("sys_string", GL_STR_ID_DELETE)
+#define GL_STR_ALBUMS "IDS_GALLERY_BUTTON_ALBUMS"
+#define GL_STR_ID_TIME_LINE "IDS_MEDIABR_HEADER_TIMELINE_ABB"
+#define GL_STR_TIME_LINE dgettext("sys_string","IDS_MEDIABR_HEADER_TIMELINE_ABB")
+#define GL_STR_DELETED dgettext("sys_string", "IDS_COM_POP_DELETED")
+#define GL_STR_DELETE_COMFIRMATION dgettext("sys_string", "IDS_COM_POP_DELETE_Q")
+#define GL_STR_SELECTED  dgettext("sys_string", "IDS_COM_POP_SELECTED")
+#define GL_STR_ADDED dgettext("sys_string", "IDS_COM_POP_ADDED")
+#define GL_STR_MOVED dgettext("sys_string", "IDS_COM_POP_MOVED")
+#define GL_STR_COPIED dgettext("sys_string", "IDS_COM_POP_COPIED_P")
+#define GL_STR_SELECT_ALL dgettext("sys_string", "IDS_COM_BODY_SELECT_ALL")
+#define GL_STR_NO_FILES_SELECTED dgettext("sys_string", GL_STR_ID_NO_FILES_SELECTED)
+#define GL_STR_APPLICATION_NOT_INSTALLED dgettext("sys_string", "IDS_COM_BODY_APPLICATION_NOT_INSTALLED")
+#define GL_STR_PROCESSING dgettext("sys_string", "IDS_COM_POP_PROCESSING")
+#define GL_STR_TODAY dgettext("sys_string", "IDS_COM_BODY_TODAY")
+#define GL_STR_YESTERDAY dgettext("sys_string", "IDS_COM_BODY_YESTERDAY")
+#define GL_STR_SUN dgettext("sys_string", "IDS_COM_POP_SUN")
+#define GL_STR_MON dgettext("sys_string", "IDS_COM_POP_MON")
+#define GL_STR_TUE dgettext("sys_string", "IDS_COM_POP_TUE")
+#define GL_STR_WED dgettext("sys_string", "IDS_COM_POP_WED")
+#define GL_STR_THU dgettext("sys_string", "IDS_COM_POP_THU")
+#define GL_STR_FRI dgettext("sys_string", "IDS_COM_POP_FRI")
+#define GL_STR_SAT dgettext("sys_string", "IDS_COM_POP_SAT")
+#define GL_STR_HELP dgettext("sys_string", "IDS_COM_BODY_HELP")
+
+/*string for screen reader*/
+#define GL_STR_SR_TAB               _("tab")
+#define GL_STR_SR_DOUBLE_TAP        _("double tap to move to contents")
+#define GL_STR_SR_THUMBNAIL_VIEW    _("Thumbnail view")
+#define GL_STR_SR_FOUCUSED_POINT    _("Focused point")
+#define GL_STR_SR_UNFOUCUSED_POINT  _("Unfocused point")
+#define GL_STR_SR_THUMBS_DOUBLE_TAP _("double tap to preview it")
+#define GL_STR_SR_ALBUM_DOUBLE_TAP  _("double tap to open the album")
+#define GL_STR_SR_BUTTON            _("button")
+#define GL_STR_SR_TITLE _("title")
+
+/* Add ID to make update text easily if language changed */
+#define GL_STR_ID_DELETE_ACCOUNT_COMFIRMATION "IDS_MEDIABR_POP_ALL_DATA_RELATED_TO_THIS_ACCOUNT_WILL_BE_DELETED_CONTINUE_Q"
+#define GL_STR_ID_DELETE_WEB_ALBUMS "Some web albums will be deleted"
+#define GL_STR_ID_DELETE "IDS_COM_OPT_DELETE"
+#define GL_STR_ID_CANCEL "IDS_COM_SK_CANCEL"
+#define GL_STR_ID_CANCEL_ABB "IDS_MEDIABR_BUTTON_CANCEL_ABB"
+#define GL_STR_ID_MOVE_TO_ALBUM dgettext(GL_STR_DOMAIN_LOCAL, "IDS_GALLERY_OPT_MOVE_TO_ALBUM")
+#define GL_STR_ID_COPY_TO_ALBUM dgettext(GL_STR_DOMAIN_LOCAL, "IDS_GALLERY_OPT_COPY_TO_ALBUM")
+#define GL_STR_ID_MOVE "IDS_COM_BODY_MOVE"
+#define GL_STR_ID_COPY "IDS_COM_BODY_COPY"
+#define GL_STR_ID_NEW_ALBUM "IDS_GALLERY_OPT_CREATE_ALBUM"
+#define GL_STR_ID_NEW_ALBUM_CONFIRMATION "IDS_MEDIABR_POP_DO_YOU_WANT_TO_COPY_OR_MOVE_THE_PICTURES_FROM_THE_ORIGINAL_ALBUM_Q"
+#define GL_STR_ID_OPERATION_FAILED "IDS_COM_BODY_OPERATION_FAILED"
+#define GL_STR_ID_CLOSE "IDS_COM_BODY_CLOSE"
+#define GL_STR_ID_SHARE "IDS_MEDIABR_OPT_SHARE"
+#define GL_STR_ID_START "IDS_COM_BODY_START"
+#define GL_STR_ID_SETTINGS "IDS_COM_BODY_SETTINGS"
+#ifdef SUPPORT_SLIDESHOW
+#define GL_STR_ID_SLIDESHOW "IDS_MEDIABR_OPT_SLIDESHOW"
+#endif
+#define GL_STR_ID_START_SLIDESHOW "IDS_MEDIABR_OPT_START_SLIDESHOW"
+#define GL_STR_ID_SLIDESHOW_SETTINGS "IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS"
+#define GL_STR_ID_ALBUMS "IDS_COM_BODY_ALBUMS"
+
+#define GL_STR_ID_GALLERY "IDS_COM_BODY_GALLERY"
+#define GL_STR_ID_CHNAGE_NAME "IDS_COM_BODY_CHANGE_NAME"
+#define GL_STR_ID_MOVING "IDS_COM_POP_MOVING"
+#define GL_STR_ID_COPYING "IDS_COM_POP_COPYING_ING"
+#define GL_STR_ID_DELETING "IDS_COM_POP_DELETING"
+#define GL_STR_ID_YES "IDS_COM_SK_YES"
+#define GL_STR_ID_NO "IDS_COM_SK_NO"
+#define GL_STR_ID_OK "IDS_COM_SK_OK"
+#define GL_STR_ID_DONE "IDS_COM_SK_DONE"
+#define GL_STR_ID_RENAME "IDS_COM_SK_RENAME"
+#define GL_STR_ID_CAMERA "IDS_COM_BODY_CAMERA"
+#define GL_STR_ID_EDIT "IDS_COM_BODY_EDIT"
+#define GL_STR_ID_SAVE "IDS_COM_SK_SAVE"
+#define GL_STR_ID_DOWNLOADS "IDS_MF_BODY_DOWNLOADS"
+#define GL_STR_ID_SCREENSHOTS "IDS_MF_BODY_SCREENSHOTS"
+#define GL_STR_ID_NO_ITEMS dgettext(GL_STR_DOMAIN_LOCAL, "IDS_MEDIABR_POP_NO_ITEMS")
+#define GL_STR_ID_NO_ITEMS_SECOND dgettext(GL_STR_DOMAIN_LOCAL, "IDS_GALLERY_BODY_AFTER_YOU_TAKE_PICTURES_THEY_WILL_BE_SHOWN_HERE")
+#define GL_STR_ID_NO_CONTENTS "IDS_COM_BODY_NO_CONTENTS"
+#define GL_STR_ID_NO_FILES_SELECTED "IDS_COM_POP_NO_FILES_SELECTED"
+#define GL_STR_ID_NO_NAME "IDS_MEDIABR_POP_NO_NAME"
+#define GL_STR_ID_ALL_ALBUMS dgettext(GL_STR_DOMAIN_LOCAL, "IDS_MEDIABR_BODY_ALL_ALBUMS")
+#define GL_STR_ID_FAVOURITE_ALBUMS dgettext(GL_STR_DOMAIN_LOCAL, "IDS_TW_BODY_FAVORITES")
+#define GL_STR_ID_SELECT_ALBUM "IDS_MEDIABR_HEADER_SELECT_ALBUM"
+#define GL_STR_TIME_VIEW "IDS_GALLERY_HEADER_TIME"
+#define GL_STR_SCREEN_HEIGHT_HD 1280
+#define GL_STR_SCREEN_WIDTH_HD 720
+#define GL_STR_SCREEN_HEIGHT_QHD 960
+#define GL_STR_SCREEN_WIDTH_QHD 540
+#define GL_STR_SCREEN_HEIGHT_WVGA 800
+#define GL_STR_SCREEN_WIDTH_WVGA 480
+#define GL_STR_SORT "IDS_MF_OPT_SORT_BY_ABB"
+#define GL_STR_DATE_OLDEST "IDS_GALLERY_OPT_DATE_HOLDEST_ABB3"
+#define GL_STR_DATE_MOST_RECENT "IDS_GALLERY_OPT_DATE_HMOST_RECENT_ABB2"
+#define GL_STR_ID_ALBUM_DEFAULT dgettext(GL_STR_DOMAIN_LOCAL, "IDS_GALLERY_HEADER_ALBUM")
+#define GL_STR_ID_REORDER dgettext(GL_STR_DOMAIN_LOCAL, "IDS_CLOCK_HEADER_REORDER_ABB")
+#define GL_STR_ID_SAME_DESTINATION_ERROR_MSG dgettext(GL_STR_DOMAIN_LOCAL, "IDS_GALLERY_TPOP_SELECTED_ALBUM_SAME_AS_SOURCE_ALBUM_SELECT_ANOTHER_ALBUM")
+#define GL_STR_ID_VIEW_AS "IDS_GALLERY_OPT_VIEW_AS"
+#define GL_STR_ID_CANCEL_CAP   "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+#define GL_STR_ID_DONE_CAP     "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+
+#define GL_STR_ID_ALBUM dgettext(GL_STR_DOMAIN_LOCAL, "IDS_GALLERY_BUTTON_ALBUMS")
+#define GL_STR_ID_SELECT_ITEM "IDS_MEDIABR_HEADER_SELECT_ITEM"
+#define GL_STR_ID_NO_ALBUMS "IDS_MEDIABR_BODY_NO_ALBUMS"
+#define GL_STR_ID_JAN dgettext(GL_STR_DOMAIN_LOCAL, "IDS_COM_BODY_JAN_ABB")
+#define GL_STR_ID_FEB dgettext(GL_STR_DOMAIN_LOCAL, "IDS_COM_BODY_FEB_ABB")
+#define GL_STR_ID_MAR dgettext(GL_STR_DOMAIN_LOCAL, "IDS_COM_BODY_MAR_ABB")
+#define GL_STR_ID_APR dgettext(GL_STR_DOMAIN_LOCAL, "IDS_COM_BODY_APR_ABB")
+#define GL_STR_ID_MAY dgettext(GL_STR_DOMAIN_LOCAL, "IDS_COM_BODY_MAY_ABB")
+#define GL_STR_ID_JUN dgettext(GL_STR_DOMAIN_LOCAL, "IDS_COM_BODY_JUN_ABB")
+#define GL_STR_ID_JUL dgettext(GL_STR_DOMAIN_LOCAL, "IDS_COM_BODY_JUL_ABB")
+#define GL_STR_ID_AUG dgettext(GL_STR_DOMAIN_LOCAL, "IDS_COM_BODY_AUG_ABB")
+#define GL_STR_ID_SEP dgettext(GL_STR_DOMAIN_LOCAL, "IDS_COM_BODY_SEP_ABB")
+#define GL_STR_ID_OCT dgettext(GL_STR_DOMAIN_LOCAL, "IDS_COM_BODY_OCT_ABB")
+#define GL_STR_ID_NOV dgettext(GL_STR_DOMAIN_LOCAL, "IDS_COM_BODY_NOV_ABB")
+#define GL_STR_ID_DEC dgettext(GL_STR_DOMAIN_LOCAL, "IDS_COM_BODY_DEC_ABB")
+
+#define GL_STR_ID_ROTATE_LEFT "IDS_MEDIABR_OPT_ROTATE_LEFT"
+#define GL_STR_ID_ROTATE_RIGHT "IDS_MEDIABR_OPT_ROTATE_RIGHT"
+#define GL_STR_ID_EDIT_IMAGE "IDS_MEDIABR_OPT_EDIT_IMAGE"
+#define GL_STR_ID_ROTATING _("IDS_MEDIABR_POP_ROTATING_ING")
+
+/*String for slideshow*/
+#define GL_STR_ID_ALL_ITEMS "IDS_MEDIABR_OPT_ALL_ITEMS"
+#define GL_STR_ID_SELECT_ITEMS "IDS_MEDIABR_BODY_SELECT_ITEMS"
+#define GL_STR_ID_SELECT_ALL "IDS_GALLERY_HEADER_SELECT_ALL_ABB"
+
+#define GL_STR_ID_DETAILS "IDS_COM_BODY_DETAILS"
+#define GL_STR_ID_MAX_NO_CHARS_REACHED "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+
+#define GL_STR_ID_SHARE_LIMIT _("IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS")
+
+#define GL_STR_ID_UNSUPPORTED_FILE_TYPE "IDS_COM_BODY_UNSUPPORTED_FILE_TYPE"
+
+#define GL_STR_ID_DELETE_COMFIRMATION     "IDS_COM_POP_DELETE_Q"
+
+#define GL_STR_ID_DELETE_1_FILE           "IDS_MEDIABR_POP_1_ITEM_WILL_BE_DELETED"
+#define GL_STR_ID_DELETE_PD_FILES         "IDS_MEDIABR_POP_PD_ITEMS_WILL_BE_DELETED"
+#define GL_STR_PD_ITEMS _("IDS_MEDIABR_BODY_PD_ITEMS")
+
+#define GL_STR_ID_DELETE_1_ALBUM          "IDS_MEDIABR_POP_1_ALBUM_WILL_BE_DELETED"
+#define GL_STR_ID_DELETE_PD_ALBUMS        "IDS_MEDIABR_POP_PD_ALBUMS_WILL_BE_DELETED"
+
+#define GL_STR_ID_INVALID_INPUT_PARAMETER "IDS_MEDIABR_POP_INVALID_INPUT_PARAMETER"
+#define GL_STR_ID_ENTRY_IS_EMPTY "IDS_MEDIABR_POP_ENTRY_IS_EMPTY"
+#define GL_STR_ID_SAME_NAME_ALREADY_IN_USE "IDS_MEDIABR_POP_SAME_NAME_ALREADY_IN_USE"
+
+#define GL_STR_ID_THERE_IS_ONLY_ONE_ALBUM "IDS_IV_BODY_THERE_IS_ONLY_ONE_ALBUM"
+
+/* Design ID from Email and Myfiles. Only for temporary use. */
+#define GL_STR_1_ITEM _("IDS_EMAIL_BODY_1_ITEM")
+#define GL_STR_REMOVED _("IDS_MF_POP_REMOVED")
+#define GL_STR_ID_ENTER_TAG_NAME "IDS_MEDIABR_POP_ENTER_TAG_NAME"
+#define GL_STR_MEMORY_FULL "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
+#define GL_DEVICE_MEMORY_FULL "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_IN_YOUR_DEVICE_STORAGE_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+#define GL_STR_SETTINGS "IDS_MF_BUTTON_SETTINGS"
+#define GL_DATA_SAVE_FAILED "IDS_MF_HEADER_UNABLE_TO_SAVE_DATA_ABB"
+
+#ifdef __cplusplus
+}
+#endif
+#endif
+
diff --git a/inc/util/gl-ta.h b/inc/util/gl-ta.h
new file mode 100755 (executable)
index 0000000..d0718e1
--- /dev/null
@@ -0,0 +1,129 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#ifndef _GL_TA_H_
+#define _GL_TA_H_
+
+
+#ifdef _ENABLE_TA
+// defs.
+#define GL_TA_MAX_CHECKPOINT   500
+#define GL_TA_MAX_ACCUM                500
+#define GL_TA_TIME_BUF_LEN 256
+
+typedef struct _gl_ta_checkpoint
+{
+       unsigned long timestamp;
+       char *name;
+} gl_ta_checkpoint;
+
+typedef struct _gl_ta_accum_item
+{
+       unsigned long elapsed_accum;
+       unsigned long num_calls;
+       unsigned long elapsed_min;
+       unsigned long elapsed_max;
+       unsigned long first_start;
+       unsigned long last_end;
+
+       char *name;
+
+       unsigned long timestamp;
+       int on_estimate;
+       int num_unpair;
+} gl_ta_accum_item;
+
+#define GL_TA_SHOW_STDOUT      0
+#define GL_TA_SHOW_STDERR      1
+#define GL_TA_SHOW_FILE        2
+#define GL_TA_RESULT_FILE "/tmp/gallery-ta.log"
+
+/////////////////////////////
+// COMMON
+int gl_ta_init(void);
+int gl_ta_release(void);
+void gl_ta_set_enable(int enable);
+char *gl_ta_fmt(const char *fmt, ...);
+
+/////////////////////////////
+// CHECK POINT
+int gl_ta_add_checkpoint(char *name, int show, char *filename, int line);
+void gl_ta_show_checkpoints(void);
+void gl_ta_show_diff(char *name1, char *name2);
+
+int gl_ta_get_numof_checkpoints();
+unsigned long gl_ta_get_diff(char *name1, char *name2);
+char *gl_ta_get_name(int idx);
+
+
+/////////////////////////////
+// ACCUM ITEM
+int gl_ta_accum_item_begin(char *name, int show, char *filename, int line);
+int gl_ta_accum_item_end(char *name, int show, char *filename, int line);
+void gl_ta_accum_show_result(int direction);
+
+// macro.
+#define GL_TA_INIT()                                                           (       gl_ta_init()                                                                                            )
+#define GL_TA_RELEASE()                                                        (       gl_ta_release()                                                                                 )
+#define GL_TA_SET_ENABLE(enable)                               (       gl_ta_set_enable(enable)                                                                )
+
+// checkpoint handling
+#define GL_TA_ADD_CHECKPOINT(name,show)                (       gl_ta_add_checkpoint(name,show,__FILE__,__LINE__)               )
+#define GL_TA_SHOW_CHECKPOINTS()                               (       gl_ta_show_checkpoints()                                                                )
+#define GL_TA_SHOW_DIFF(name1, name2)                  (       gl_ta_show_diff(name1, name2)                                                   )
+#define GL_TA_GET_NUMOF_CHECKPOINTS()                  (       gl_ta_get_numof_checkpoints()                                                   )
+#define GL_TA_GET_DIFF(name1, name2)                   (       gl_ta_get_diff(name1, name2)                                                    )
+#define GL_TA_GET_NAME(idx)                                            (       gl_ta_get_name(idx)                                                                     )
+
+// accum item handling
+#define GL_TA_ACUM_ITEM_BEGIN(name,show)               (       gl_ta_accum_item_begin(name,show,__FILE__,__LINE__)     )
+#define GL_TA_ACUM_ITEM_END(name,show)         (       gl_ta_accum_item_end(name,show,__FILE__,__LINE__)               )
+#define GL_TA_ACUM_ITEM_SHOW_RESULT()          (       gl_ta_accum_show_result(GL_TA_SHOW_STDOUT)                      )
+#define GL_TA_ACUM_ITEM_SHOW_RESULT_TO(x)      (       gl_ta_accum_show_result(x)                                                      )
+
+#define __gl_ta__(name, x) \
+GL_TA_ACUM_ITEM_BEGIN(name, 0); \
+x \
+GL_TA_ACUM_ITEM_END(name, 0);
+
+#define __gl_tafmt__(fmt, args...)                     (       gl_ta_fmt(fmt, ##args)  )
+
+#else // _ENABLE_TA
+
+#define GL_TA_INIT()
+#define GL_TA_RELEASE()
+#define GL_TA_SET_ENABLE(enable)
+
+// checkpoint handling
+#define GL_TA_ADD_CHECKPOINT(name,show)
+#define GL_TA_SHOW_CHECKPOINTS()
+#define GL_TA_SHOW_DIFF(name1, name2)
+#define GL_TA_GET_NUMOF_CHECKPOINTS()
+#define GL_TA_GET_DIFF(name1, name2)
+#define GL_TA_GET_NAME(idx)
+
+// accum item handling
+#define GL_TA_ACUM_ITEM_BEGIN(name,show)
+#define GL_TA_ACUM_ITEM_END(name,show)
+#define GL_TA_ACUM_ITEM_SHOW_RESULT()
+#define GL_TA_ACUM_ITEM_SHOW_RESULT_TO(x)
+#define __gl_ta__(name, x) x
+#define __gl_tafmt__(fmt, args...)
+
+#endif // _ENABLE_TA
+
+#endif // _GALLERY_TA_H_
diff --git a/inc/util/gl-thread-util.h b/inc/util/gl-thread-util.h
new file mode 100755 (executable)
index 0000000..4efcab8
--- /dev/null
@@ -0,0 +1,53 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#ifndef _GL_THREAD_UTIL_H_
+#define _GL_THREAD_UTIL_H_
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+typedef enum
+{
+       GL_PB_CANCEL_NONE,              /* Initial state */
+       GL_PB_CANCEL_NORMAL,    /* Moving or deleting is in process */
+       GL_PB_CANCEL_BUTTON,    /* Cancel button tapped while moving or deleting */
+       GL_PB_CANCEL_MMC,               /* MMC removed, src album or dest album vanished while moving or deleting */
+       GL_PB_CANCEL_ERROR,     /* Error happened while moving or deleting */
+       GL_PB_CANCEL_RESET,     /* Reset gallery while moving or deleting */
+} gl_pb_cancel_mode;
+
+int gl_thread_emit_next_signal(void *data);
+int gl_thread_wait_next_signal(void *data);
+int gl_thread_set_cancel_state(void *data, int val);
+int gl_thread_get_cancel_state(void *data, int *val);
+void gl_thread_write_pipe(void *data, int finished_cnt, int popup_op);
+int gl_thread_gen_data_thread(void *data);
+int gl_thread_destroy_lock(void *data);
+int gl_thread_init_lock(void *data);
+int _gl_thread_set_op_cb(void *data, void *op_cb);
+int _gl_thread_set_update_cb(void *data, void *update_cb);
+int _gl_thread_set_del_item_cb(void *data, void *del_item_cb);
+int _gl_thread_set_total_cnt(void *data, int total_cnt);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _GL_THREAD_UTIL_H_ */
diff --git a/inc/util/gl-ui-util.h b/inc/util/gl-ui-util.h
new file mode 100755 (executable)
index 0000000..4a26894
--- /dev/null
@@ -0,0 +1,137 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#ifndef _GL_UI_UTIL_H_
+#define _GL_UI_UTIL_H_
+
+#include "gallery.h"
+#include "gl-icons.h"
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+#define _EDJ(o)         elm_layout_edje_get(o)
+#define _GET_ICON(_path) \
+               ((1 == gl_file_exists(_path) && (gl_file_size(_path) > 0)) ? _path : GL_ICON_NO_THUMBNAIL)
+#define _GET_APP_ICON(_path) \
+               ((1 == gl_file_exists(_path) && (gl_file_size(_path) > 0)) ? _path : GL_ICON_DEFAULT)
+
+/* Signals used in Gallery's views */
+#define GL_SIGNAL_GESTURE_DEFAULT "elm,gesture,state,default"
+#define GL_SIGNAL_GESTURE_DISABLED "elm,gesture,state,disabled"
+#define GL_TRANS_FINISHED "transition,finished"
+
+typedef enum
+{
+       GL_NAVI_ALBUMS,
+       GL_NAVI_ALBUMS_EDIT,
+       GL_NAVI_ALBUMS_RENAME,
+       GL_NAVI_ALBUMS_NEW,
+       GL_NAVI_ALBUMS_SELECT,
+       GL_NAVI_PLACES,
+       GL_NAVI_TAGS,
+       GL_NAVI_TAGS_EDIT,
+       GL_NAVI_TAGS_NEW,
+       GL_NAVI_TAGS_RENAME,
+       GL_NAVI_THUMBS,
+       GL_NAVI_THUMBS_EDIT,
+       GL_NAVI_THUMBS_SELECT,
+       GL_NAVI_WEB,
+       GL_NAVI_WEB_EDIT,
+} gl_navi_mode;
+
+typedef enum
+{
+       GL_POPUP_ADDHOME_SIZE_1,
+       GL_POPUP_ADDHOME_SIZE_2,
+       GL_POPUP_ADDHOME_SIZE_NUM,
+} gl_popup_addhome_size;
+
+typedef enum _gl_ui_xpt_btn_t gl_ui_xpt_btn_e;
+
+enum _gl_ui_xpt_btn_t {
+       GL_UI_XPT_CAMERA = (0x1 << 0),
+       GL_UI_XPT_SEL_ALL = (0x1 << 1),
+       GL_UI_XPT_SHARE = (0x1 << 2),
+       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);
+#if 0
+int _gl_ui_add_xpt_btns(Elm_Object_Item *nf_it, gl_ui_xpt_btn_e xpt_btn,
+                       Evas_Smart_Cb r_cb, Evas_Smart_Cb l_cb, void *data);
+Evas_Object *_gl_ui_get_xpt_btn(Elm_Object_Item *nf_it, gl_ui_xpt_btn_e ui_btn);
+int _gl_ui_disable_xpt_btn(Elm_Object_Item *nf_it, gl_ui_xpt_btn_e ui_btn, bool b_disabled);
+int _gl_ui_clear_xpt_btns(Elm_Object_Item *nf_it);
+#endif
+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,
+                                     const char *str);
+int _gl_ui_set_translate_part_str(Evas_Object *obj, const char *part,
+                                 const char *str);
+int _gl_ui_change_title(Elm_Object_Item *nf_it, const char *text);
+int _gl_ui_update_label_text(Elm_Object_Item *nf_it, int sel_cnt, bool b_lang);
+int _gl_ui_change_navi_title(Elm_Object_Item *nf_it, char *text, bool b_dropdown);
+int _gl_ui_update_navi_title_text(Elm_Object_Item *nf_it, int sel_cnt, bool b_lang);
+int _gl_ui_add_selall_ck(Evas_Object *parent, char *part, char *part_btn,
+                         Evas_Smart_Cb cb_func, void *data);
+#ifdef _USE_GRID_CHECK
+int _gl_show_grid_checks(Evas_Object *view, const char *ck_part);
+int _gl_show_grid_checks_dual(Evas_Object *view, const char *ck_part, const char *ck_part2);
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // end of _GL_UI_UTIL_H_
diff --git a/inc/util/gl-util.h b/inc/util/gl-util.h
new file mode 100755 (executable)
index 0000000..4bfdbc6
--- /dev/null
@@ -0,0 +1,265 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#ifndef _GL_UTIL_H_
+#define _GL_UTIL_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "gl-data.h"
+#include "gallery.h"
+
+/*     File system related String definition   */
+
+#define GL_HOME_ALBUM_COVER_NUM 1
+
+#define GL_FILE_EXISTS(path) \
+       (path && (1 == gl_file_exists(path)) && (gl_file_size(path) > 0))
+#define GL_ICON_SET_FILE(icon, img) \
+       elm_image_file_set(icon, GL_IMAGES_EDJ_FILE, img)
+
+#define GL_BG_SET_FILE(icon, img) \
+       elm_bg_file_set(icon, GL_IMAGES_EDJ_FILE, img)
+
+#define GL_IF_DEL_TIMER(timer) \
+       do { \
+               if(timer != NULL) { \
+                       ecore_timer_del(timer); \
+                       timer = NULL; \
+               } \
+       } while (0)
+
+#define GL_IF_DEL_IDLER(idler) \
+       do { \
+               if(idler != NULL) { \
+                       ecore_idler_del(idler); \
+                       idler = NULL; \
+               } \
+       } while (0)
+
+#define GL_IF_DEL_JOB(job) \
+       do { \
+               if(job != NULL) { \
+                       ecore_job_del(job); \
+                       job = NULL; \
+               } \
+       } while (0)
+
+#define GL_IF_DEL_ANIMATOR(animator) \
+       do { \
+               if(animator != NULL) { \
+                       ecore_animator_del(animator); \
+                       animator = NULL; \
+               } \
+       } while (0)
+
+#define GL_IF_DEL_TRANSIT(transit) \
+       do { \
+               if(transit != NULL) { \
+                       elm_transit_del(transit); \
+                       transit = NULL; \
+               } \
+       } while (0)
+
+#define GL_IF_DEL_PIPE(pipe) \
+       do { \
+               if(pipe != NULL) { \
+                       ecore_pipe_del(pipe); \
+                       pipe = NULL; \
+               } \
+       } while (0)
+
+#define GL_IF_DEL_EVENT_HANDLER(handler) \
+       do { \
+               if(handler != NULL) { \
+                       ecore_event_handler_del(handler); \
+                       handler = NULL; \
+               } \
+       } while (0)
+
+#define GL_IF_DEL_OBJ(obj) \
+       do { \
+               if(obj != NULL) { \
+                       evas_object_del(obj); \
+                       obj = NULL; \
+               } \
+       } while (0)
+
+#define GL_IF_FREE_ELIST(elist) \
+       do { \
+               if(elist != NULL) { \
+                       eina_list_free(elist); \
+                       elist = NULL; \
+               } \
+       } while (0)
+
+
+typedef enum
+{
+       GL_MMC_STATE_NONE,
+       GL_MMC_STATE_ADDED,
+       GL_MMC_STATE_ADDED_MOVING,      /* Move medias to MMC or from MMC */
+       GL_MMC_STATE_ADDING_MOVING,     /* Insert MMC while operate medias */
+       GL_MMC_STATE_REMOVED,
+       GL_MMC_STATE_REMOVED_MOVING,    /* Remove MMC while move medias to MMC or from MMC */
+} gl_mmc_state_mode;
+
+typedef enum
+{
+       GL_UPDATE_VIEW_NONE,
+       GL_UPDATE_VIEW_NORMAL,
+       GL_UPDATE_VIEW_MMC_REMOVED, /* Update view when MMC removed */
+       GL_UPDATE_VIEW_MMC_ADDED,   /* Update view when MMC inserted */
+       GL_UPDATE_VIEW_INOTIFY,     /* Data changed, update view from inotify request */
+} gl_update_view_mode;
+
+typedef enum
+{
+       GL_MEDIA_OP_NONE,
+       GL_MEDIA_OP_MOVE,
+       GL_MEDIA_OP_COPY,
+       GL_MEDIA_OP_DELETE,
+       /*Delete albums*/
+       GL_MEDIA_OP_DELETE_ALBUM,
+#ifdef _USE_ROTATE_BG
+       GL_MEDIA_OP_ROTATING_LEFT,
+       GL_MEDIA_OP_ROTATING_RIGHT,
+#endif
+       GL_MEDIA_OP_MOVE_TIMELINE,
+       GL_MEDIA_OP_COPY_TIMELINE,
+       GL_MEDIA_OP_DELETE_TIMELINE,
+#ifdef _USE_ROTATE_BG
+       GL_MEDIA_OP_ROTATING_LEFT_TIMELINE,
+       GL_MEDIA_OP_ROTATING_RIGHT_TIMELINE,
+#endif
+} gl_media_op_mode;
+
+typedef enum
+{
+       GL_POPUP_OP_NONE,
+       GL_POPUP_OP_SAME_ALBUM,
+       GL_POPUP_OP_DUPLICATED_NAME,
+       GL_POPUP_OP_PROTECTED_FILE,
+} gl_popup_op_mode;
+
+typedef enum
+{
+       GL_SHARE_NONE,
+       GL_SHARE_IMAGE_ONE,             /* One image selection */
+       GL_SHARE_IMAGE_ONE_JPEG,                /* One jpeg image selection */
+       GL_SHARE_IMAGE_MULTI,   /* Multiple images selection */
+       GL_SHARE_IMAGE_MULTI_JPEG,      /* Multiple jpeg images selection */
+       GL_SHARE_IMAGE_VIDEO,   /* Image(s) and Video(s) selection */
+       GL_SHARE_VIDEO_ONE,             /* One video selection */
+       GL_SHARE_VIDEO_MULTI,   /* Multiple videos selection */
+} gl_share_mode;
+
+typedef enum
+{
+       GL_INVALID_NONE,
+       GL_INVALID_NEW_ENTRY,
+       GL_INVALID_NEW_ENTRY_NOC,       /* Show nocontents view */
+} gl_invalid_mode;
+
+enum _gl_mc_mode {
+       GL_MC_NONE,
+       GL_MC_MOVE,
+       GL_MC_COPY,
+};
+typedef enum _gl_mc_mode gl_mc_mode_e;
+
+/* Get images of album */
+struct _gl_get_album_images_path_t {
+       int index;
+       char **files;
+};
+typedef struct _gl_get_album_images_path_t gl_get_album_images_path_s;
+
+int gl_get_view_mode(void *data);
+int gl_set_view_mode(void *data, int mode);
+int _gl_use_thread_operate_medias(void *data, char *pbar_title, int all_cnt,
+                                 int op_type);
+int _gl_move_media_thumb(void *data, gl_item *gitem, char *new_dir_name,
+                        bool is_full_path, int *popup_op, int mc_mode);
+int _gl_move_media_thumb_by_id(void *data, const char *uuid, char *new_dir_name,
+                              int *popup_op, int mc_mode);
+int _gl_move_media(gl_item *gitem, char *new_dir_name, bool is_full_path);
+int gl_move_copy_to_album(void *data);
+int gl_move_root_album(void* data, gl_cluster* cur_album, char* dest_path);
+int gl_del_medias(void *data);
+int _gl_del_media_by_id(void *data, const char *uuid);
+int gl_check_mmc_state(void *data, char *dest_folder);
+int _gl_del_albums(void *data);
+int _gl_refresh_albums_list(void *data, bool b_path, bool b_select);
+int _gl_update_albums_data(void *data);
+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);
+#ifdef _USE_ROTATE_BG
+int _gl_delay(double sec);
+int _gl_rotate_images(void *data, bool b_left);
+int _gl_rotate_image_by_id(void *data, const char *uuid, bool b_left);
+#endif
+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_get_share_mode(void *data);
+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);
+int _gl_get_font_size(void);
+#ifdef _USE_SVI
+int _gl_init_svi(void *data);
+int _gl_fini_svi(void *data);
+int _gl_play_sound(void *data);
+int _gl_play_vibration(void *data);
+#endif
+int _gl_reg_storage_state_change_notify(void *data);
+int _gl_dereg_storage_state_change_notify(void *data);
+int _gl_set_file_op_cbs(void *data, void *op_cb, void *del_item_cb,
+                       void *update_cb, int total_cnt);
+int _gl_append_album_images_path(void *data, gl_media_s *item);
+int _gl_get_album_images_path(void *data, char **files, bool b_hide);
+char *_gl_delete_folder(char *path);
+int gl_remove_album(void *data, gl_cluster *album_item, bool is_hide);
+int _gl_free_selected_list(void *data);
+int _gl_dlopen_imageviewer(void *data);
+int _gl_dlclose_imageviewer(void *data);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _GL_UTIL_H_ */
+
diff --git a/inc/widget/gl-button.h b/inc/widget/gl-button.h
new file mode 100755 (executable)
index 0000000..3942554
--- /dev/null
@@ -0,0 +1,35 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#ifndef _GL_BUTTON_H_
+#define _GL_BUTTON_H_
+
+#include <Elementary.h>
+#include "gallery.h"
+
+Evas_Object *_gl_but_create_but(Evas_Object *parent, const char *icon,
+                               const char *text, const char *style,
+                               Evas_Smart_Cb cb_func, const void *data);
+Evas_Object *_gl_but_create_but_popup(Evas_Object *parent, const char *text,
+                                     Evas_Smart_Cb cb_func, const void *data);
+Evas_Object *_gl_but_create_image_but(Evas_Object *parent, const char *icon,
+                                      const char *text, const char *style,
+                                      Evas_Smart_Cb cb_func, void *data,
+                                      Eina_Bool flag_propagate);
+
+#endif /* _GL_BUTTON_H_ */
+
diff --git a/inc/widget/gl-controlbar.h b/inc/widget/gl-controlbar.h
new file mode 100644 (file)
index 0000000..bfb8108
--- /dev/null
@@ -0,0 +1,58 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#ifndef _GL_CONTROLBAR_H_
+#define _GL_CONTROLBAR_H_
+
+#include <Elementary.h>
+#include "gallery.h"
+
+#define GL_CBAR_OCCUPIED_PBAR 4
+#define GL_CBAR_OCCUPIED_SEGMENT 4
+
+/* INITIAL control mode for app */
+#define GL_CTRL_TAB_INIT (-1)
+
+typedef enum _gl_ctrl_tab_mode
+{
+       GL_CTRL_TAB_ALBUMS,
+       GL_CTRL_TAB_TIMELINE,
+       GL_CTRL_TAB_CNT,
+} gl_ctrl_tab_mode;
+
+int _gl_ctrl_show_title(void *data, int tab_mode);
+int _gl_ctrl_show_view(void *data, const char *label);
+Evas_Object *_gl_ctrl_add_layout(Evas_Object *parent);
+Evas_Object *_gl_ctrl_add_main_layout(Evas_Object *parent);
+int _gl_ctrl_sel_tab(void *data, int tab_mode);
+int _gl_ctrl_set_tab_mode(void *data, int mode);
+int _gl_ctrl_get_tab_mode(void *data);
+int _gl_ctrl_change_easymode(void *data);
+int _gl_ctrl_enable_btns(void *data, Elm_Object_Item *nf_it);
+Evas_Object *_gl_ctrl_add_toolbar(Evas_Object *parent);
+Elm_Object_Item *_gl_ctrl_append_item(Evas_Object *obj, const char *icon,
+                                     const char *label, Evas_Smart_Cb func,
+                                     const void *data);
+int _gl_ctrl_disable_items(Elm_Object_Item *nf_it, bool b_disabled);
+int _gl_ctrl_disable_items_with_check(Elm_Object_Item *nf_it, bool b_disabled,
+                                     char *check_str, bool b_check_disabled);
+int _gl_ctrl_disable_item_with_check(Elm_Object_Item *nf_it, char *check_str,
+                                    bool b_disabled);
+int _gl_ctrl_disable_item(Elm_Object_Item *it, Eina_Bool b_disabled);
+
+#endif /* _GL_CONTROLBAR_H_ */
+
diff --git a/inc/widget/gl-ctxpopup.h b/inc/widget/gl-ctxpopup.h
new file mode 100644 (file)
index 0000000..5bdd233
--- /dev/null
@@ -0,0 +1,31 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#ifndef _GL_CTXPOPUP_H_
+#define _GL_CTXPOPUP_H_
+
+typedef int (*ctx_append_cb) (void *data, Evas_Object *parent);
+
+Elm_Object_Item *_gl_ctxpopup_append(Evas_Object *obj, char *label_id,
+                                    Evas_Smart_Cb func, const void *data);
+Elm_Object_Item *_gl_ctxpopup_append_with_icon(Evas_Object *obj, char *label,
+                                    char *icon_path, Evas_Smart_Cb func, const void *data);
+int _gl_ctxpopup_create(void *data, Evas_Object *but, ctx_append_cb append_cb);
+int _gl_ctxpopup_del(void *data);
+
+#endif
+
diff --git a/inc/widget/gl-editfield.h b/inc/widget/gl-editfield.h
new file mode 100644 (file)
index 0000000..9a8c18c
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#ifndef _GL_EDITFIELD_H_
+#define _GL_EDITFIELD_H_
+
+#include "gallery.h"
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+Evas_Object *_gl_editfield_create(void *data, Evas_Object *parent,
+                                 char *default_label);
+Evas_Object *_gl_editfield_create_genlist(void *data, Evas_Object *parent,
+                                          Elm_Object_Item *it, char *label);
+Evas_Object *_gl_editfield_create_entry(void *data, Evas_Object *layout, char *text);
+int _gl_editfield_hide_imf(void *data);
+int _gl_editfield_show_imf(void *data);
+int _gl_editfield_destroy_imf(void *data);
+int _gl_editfield_change_navi_title(void *data, int r);
+Evas_Object *_gl_editfield_get_entry(void *data);
+int __gl_editfield_set_entry(void *data, Evas_Object *layout,
+                                   Evas_Object *entry, char *default_label);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // end of _GL_EDITFIELD_H_
+
diff --git a/inc/widget/gl-gesture.h b/inc/widget/gl-gesture.h
new file mode 100644 (file)
index 0000000..7a95ca5
--- /dev/null
@@ -0,0 +1,45 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#ifndef _GL_GESTURE_H_
+#define _GL_GESTURE_H_
+
+#include <Elementary.h>
+#include "gallery.h"
+
+#define GL_GESTURE_KEY_PINCH_LEVEL "pinch_level"
+
+typedef enum _gl_zoom_mode {
+       GL_ZOOM_NONE,
+       GL_ZOOM_DEFAULT,
+       GL_ZOOM_IN_ONE,
+       GL_ZOOM_IN_TWO,
+       GL_ZOOM_MAX,
+} gl_zoom_mode;
+
+typedef Eina_Bool (*gl_gesture_cb) (Evas_Object *gesture, void *data);
+
+Evas_Object *_gl_gesture_add(void *data, Evas_Object *parent);
+int _gl_gesture_set_zoom_in_cb(Evas_Object *gesture, gl_gesture_cb cb,
+                              void *data);
+int _gl_gesture_set_zoom_out_cb(Evas_Object *gesture, gl_gesture_cb cb,
+                               void *data);
+int _gl_gesture_reset_flags(Evas_Object *gesture);
+Evas_Object *_gl_gesture_get_parent(Evas_Object *gesture);
+
+#endif /* _GL_GESTURE_H_ */
+
diff --git a/inc/widget/gl-nocontents.h b/inc/widget/gl-nocontents.h
new file mode 100644 (file)
index 0000000..e138d40
--- /dev/null
@@ -0,0 +1,35 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#ifndef _GL_NOCONTENTS_H_
+#define _GL_NOCONTENTS_H_
+
+#include "gallery.h"
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+Evas_Object *_gl_nocontents_create(Evas_Object *parent);
+bool _gl_nocontents_update_label(Evas_Object *noc, const char *new_label);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // end of _GL_NOCONTENTS_H_
diff --git a/inc/widget/gl-notify.h b/inc/widget/gl-notify.h
new file mode 100644 (file)
index 0000000..6300770
--- /dev/null
@@ -0,0 +1,40 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#ifndef _GL_NOTIFY_H_
+#define _GL_NOTIFY_H_
+
+#include "gallery.h"
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+int _gl_notify_create_notiinfo(const char *text);
+int _gl_notify_check_selall(void *data, Elm_Object_Item *nf_it, int all_cnt,
+                           int selected_cnt);
+int _gl_notify_destroy(void *noti);
+int _gl_notify_update_size(void *noti, unsigned long long total);
+int _gl_notify_update_progress(void *noti, unsigned long long total,
+                              unsigned long long byte);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // end of _GL_NOTIFY_H_
diff --git a/inc/widget/gl-popup.h b/inc/widget/gl-popup.h
new file mode 100644 (file)
index 0000000..2877b34
--- /dev/null
@@ -0,0 +1,69 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#ifndef _GL_POPUP_H_
+#define _GL_POPUP_H_
+
+#define GL_POPUP_STRING_MAX 256
+
+typedef enum _gl_popup_mode {
+       GL_POPUP_NOBUT,
+       GL_POPUP_NOBUT_TITLE,
+       GL_POPUP_NOBUT_APPEXIT,
+       GL_POPUP_ONEBUT,
+       GL_POPUP_ALBUM_NEW_EMPTY,
+       GL_POPUP_ALBUM_NEW_DUPLICATE,
+       GL_POPUP_ALBUM_NEW_INVALID,
+       GL_POPUP_ALBUM_RENAME_EMPTY,
+       GL_POPUP_ALBUM_RENAME_DUPLICATE,
+       GL_POPUP_ALBUM_RENAME_INVALID,
+       GL_POPUP_ALBUM_DELETE,
+       GL_POPUP_MEDIA_MOVE,
+       GL_POPUP_MEDIA_DELETE,
+       GL_POPUP_SLIDESHOW,
+       GL_POPUP_LONGPRESSED,
+       GL_POPUP_ALBUM_MEMORY_FULL
+} gl_popup_mode;
+
+typedef enum _gl_popup_del_m_t {
+       GL_POPUP_DEL_FILE,
+       GL_POPUP_DEL_ALBUM,
+       GL_POPUP_DEL_MAX
+} gl_popup_del_m_e;
+
+int _gl_popup_create(void *data, const char *title, const char *text,
+                    const char *str1, Evas_Smart_Cb cb1, const void *data1,
+                    const char *str2, Evas_Smart_Cb cb2, const void *data2,
+                    const char *str3, Evas_Smart_Cb cb3, const void *data3);
+int _gl_popup_create_del(void *data, int mode, void *sel_cb, void *del_cb,
+                        void *cb_data);
+int gl_popup_create_popup(void *data, gl_popup_mode mode, char *desc);
+Evas_Object *_gl_popup_create_local(void *data, gl_popup_mode mode, char *desc);
+int _gl_popup_create_slideshow(void *data, void *op_func);
+int _gl_popup_create_move(void *data, void *op_func);
+int _gl_popup_create_copy(void *data, void *op_func);
+int _gl_popup_create_move_with_append(void *data, void *op_func, void *append_func, const char *title);
+int _gl_popup_create_longpressed_album(void *data, void *op_func, char *album_name);
+int _gl_popup_create_longpressed_thumb(void *data, void *op_func, char *file_name);
+int _gl_popup_create_longpressed_album_with_append(void *data, void *op_func, void *append_func, const char *title);
+int _gl_popup_add_buttons(void *data, const char *text, Evas_Smart_Cb cb_func);
+int _gl_popup_add_block_callback(void *data);
+void _gl_list_pop_create(void *data, Evas_Object *obj, void *ei, char *title, char *first_text, char *second_text, int state_index);
+int _gl_popup_create_copy_move(void *data, void *sel_cb, void *cb_data);
+
+#endif /* _GL_POPUP_H_ */
+
diff --git a/inc/widget/gl-progressbar.h b/inc/widget/gl-progressbar.h
new file mode 100644 (file)
index 0000000..ba30919
--- /dev/null
@@ -0,0 +1,33 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#ifndef _GL_PROGRESSBAR_H_
+#define _GL_PROGRESSBAR_H_
+
+/* Font style for show label of popup */
+#define GL_FONT_STYLE_POP_S "<color=#eec900><font=Tizen:style=Medium text_class=tizen><font_size=30>"
+#define GL_FONT_STYLE_POP_E "</font_size></font></color>"
+
+int gl_pb_add_pbar_timer(void *data);
+int gl_pb_make_thread_pbar_wheel(void *data, Evas_Object * parent, char *title);
+int gl_pb_refresh_thread_pbar(void *data, int cur_cnt, int total_cnt);
+int gl_pb_del_pbar(void *data);
+Evas_Object *gl_pb_make_pbar(void *data, Evas_Object * parent, char *state);
+Evas_Object *_gl_pb_make_place_pbar(Evas_Object *parent);
+
+#endif /* _GL_PROGRESSBAR_H_ */
+
diff --git a/inc/widget/gl-rotate-bg.h b/inc/widget/gl-rotate-bg.h
new file mode 100644 (file)
index 0000000..9d7ad01
--- /dev/null
@@ -0,0 +1,35 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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 _USE_ROTATE_BG
+
+#ifndef _GL_ROTATE_BG_H_
+#define _GL_ROTATE_BG_H_
+
+#include "gallery.h"
+
+Evas_Object *_gl_rotate_bg_add(Evas_Object *parent, bool b_preload);
+int _gl_rotate_bg_set_data(Evas_Object *bg, void *data);
+int _gl_rotate_bg_get_data(Evas_Object *bg, void **data);
+int _gl_rotate_bg_set_file(Evas_Object *bg, const char *file, int w, int h);
+int _gl_rotate_bg_get_file(Evas_Object *bg, char **file);
+int _gl_rotate_bg_rotate_image(Evas_Object *bg, unsigned int orient);
+int _gl_rotate_bg_add_image(Evas_Object *bg, int w, int h);
+int _gl_rotate_bg_set_image_file(Evas_Object *bg, const char *file);
+
+#endif
+
+#endif
diff --git a/inc/widget/gl-thumb.h b/inc/widget/gl-thumb.h
new file mode 100644 (file)
index 0000000..411320c
--- /dev/null
@@ -0,0 +1,63 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#ifndef _GL_THUMB_H_
+#define _GL_THUMB_H_
+
+#include "gl-data.h"
+
+#define GL_GENGRID_ITEM_STYLE_THUMBNAIL "gallery/thumbnail_view"
+#define GL_GENGRID_ITEM_STYLE_DATE "gallery/date_view"
+#define GL_THUMB_ICON "elm.swallow.icon"
+#define GL_THUMB_CHECKBOX "elm.swallow.check"
+#define GL_THUMB_MODE "elm.swallow.mode"
+#define GL_THUMB_YEAR "year"
+#define GL_THUMB_MONTH "month"
+#define GL_CHECKBOX_STYLE_THUMB "gallery/thumbs"
+
+typedef enum _gl_cm_mode_t {
+       GL_CM_MODE_NORMAL               = 0,
+       GL_CM_MODE_PANORAMA             = 1,
+       GL_CM_MODE_SOUND                = 2,
+       GL_CM_MODE_ANIMATE              = 3,
+       GL_CM_MODE_BEST                 = 4,
+       GL_CM_MODE_FB                   = 5,
+       GL_CM_MODE_VOICE_REC    = 10,
+       GL_CM_MODE_BURSTSHOT    = 11, /* burstshot mode is not defined media content db */
+       GL_CM_MODE_MAX,
+} gl_cm_mode_e;
+
+Evas_Object *_gl_thumb_show_image(Evas_Object *obj, char *path, int orient,
+                                 int w, int h, int zoom_level);
+Evas_Object *_gl_thumb_show_burstshot(Evas_Object *obj, char *path1,
+                                     char *path2, char *path3,
+                                     unsigned int orient, int w, int h,
+                                     int zoom_level);
+Evas_Object *_gl_thumb_show_video(Evas_Object *obj, char *path,
+                                 unsigned int v_dur, int w, int h,
+                                 int zoom_level);
+Evas_Object *_gl_thumb_show_checkbox(Evas_Object *obj, bool checked,
+                                    Evas_Smart_Cb func, const void *data);
+Evas_Object *_gl_thumb_show_mode(Evas_Object *obj, gl_cm_mode_e mode);
+Evas_Object *_gl_thumb_add_gengrid(Evas_Object *parent);
+int _gl_thumb_update_gengrid(Evas_Object *view);
+int _gl_thumb_set_size(void *data, Evas_Object *view, int *size_w, int *size_h);
+int _gl_thumb_split_set_size(void *data, Evas_Object *view);
+bool _gl_thumb_insert_date(void *data, Evas_Object *parent);
+
+#endif
+
diff --git a/inc/widget/gl-tile.h b/inc/widget/gl-tile.h
new file mode 100644 (file)
index 0000000..d219e83
--- /dev/null
@@ -0,0 +1,62 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#ifndef _GL_TILE_H_
+#define _GL_TILE_H_
+
+#include "gl-data.h"
+
+#define GL_TILE_ICON "elm.swallow.icon"
+#define GL_TILE_CHECKBOX "elm.swallow.check"
+#define GL_TILE_CHECKBOX_GRID "elm.swallow.check_grid"
+#define GL_TILE_TYPE_ICON "elm.swallow.type_icon"
+#define GL_TILE_SD_ICON "elm.swallow.sd_icon"
+#define GL_TILE_PABR "elm.swallow.progressbar"
+#define GL_TILE_DIM "elm.swallow.dim"
+
+#define GL_GENGRID_STYLE_ALBUM_VIEW  "gallery/albums_view"
+#define GL_GENGRID_STYLE_ALBUM_SPLIT_VIEW  "gallery/albums_split_view"
+
+/* Album type for showing different icon in snsicon part in edc */
+typedef enum _gl_tile_type {
+       GL_TILE_TYPE_NONE,
+       GL_TILE_TYPE_MMC_STORAGE,                      /* MMC album */
+       GL_TILE_TYPE_CAMERA, /* Camera album */
+       GL_TILE_TYPE_DOWNLOAD, /* Download album */
+       GL_TILE_TYPE_FOLDER, /* Folder album */
+} gl_tile_type;
+
+typedef int (*bg_file_set_cb) (Evas_Object *bg, void *data);
+
+Evas_Object *_gl_tile_show_part_icon(Evas_Object *obj, const char *part,
+                                    bg_file_set_cb func, void *data);
+Evas_Object *_gl_tile_show_part_dim(Evas_Object *obj);
+Evas_Object *_gl_tile_show_part_checkbox_grid(Evas_Object *obj, bool checked,
+                                             Evas_Smart_Cb func,
+                                             const void *data);
+Evas_Object *_gl_tile_show_part_checkbox(Evas_Object *obj, bool checked,
+                                        Evas_Smart_Cb func, const void *data);
+Evas_Object *_gl_tile_show_part_rename(Evas_Object *obj, Evas_Smart_Cb func,
+                                      const void *data);
+Evas_Object *_gl_tile_show_part_type_icon(Evas_Object *obj, int sns_type);
+int _gl_tile_get_mtime(time_t *mtime1, time_t *mtime2, char *buf, int max_len);
+Evas_Object *_gl_tile_add_gengrid(Evas_Object *parent);
+int _gl_tile_update_item_size(void *data, Evas_Object *grid, bool b_update);
+Evas_Object *_gl_tile_add_gesture(void *data, Evas_Object *parent);
+
+#endif
+
diff --git a/org.tizen.gallery.efl b/org.tizen.gallery.efl
new file mode 100755 (executable)
index 0000000..af078da
--- /dev/null
@@ -0,0 +1,113 @@
+org.tizen.gallery system::home rwxat- ------
+org.tizen.gallery system::media rwxat- ------
+org.tizen.gallery system::homedir rwxat- ------
+org.tizen.gallery system::share rwxat- ------
+org.tizen.gallery dali rwxat- ------
+org.tizen.gallery pulseaudio rwxat- ------
+org.tizen.gallery sys-assert::core rwxat- ------
+org.tizen.gallery device::hwcodec rw---- ------
+org.tizen.gallery device::video r----- ------
+org.tizen.gallery device::camera r----- ------
+org.tizen.gallery system::crash -wx--- ------
+org.tizen.gallery pkgmgr::db rw---- ------
+org.tizen.gallery media-data::db rw---- ------
+org.tizen.gallery app-svc::db rw---- ------
+org.tizen.gallery notification::db rw---- ------
+org.tizen.gallery org.tizen.indicator rw---- ------
+org.tizen.gallery com.samsung.email r-x--- ------
+org.tizen.gallery com.samsung.message r-x--- ------
+org.tizen.gallery org.tizen.camera-app-lite rw---- ------
+org.tizen.gallery com.samsung.group-cast rw---- ------
+org.tizen.gallery com.samsung.cluster-home rw---- ------
+org.tizen.gallery com.samsung.smemo rwx--- ------
+org.tizen.gallery com.samsung.contacts --x--- ------
+org.tizen.gallery com.samsung.setting-lite -w---- ------
+org.tizen.gallery wifi_direct_manager -w---- ------
+org.tizen.gallery power_manager -w---- ------
+org.tizen.gallery email-service rw---- ------
+org.tizen.gallery contacts-service -wx--- ------
+org.tizen.gallery media-server rwx--- ------
+org.tizen.gallery sound_server rw---- ------
+org.tizen.gallery system-server rw-a-- ------
+org.tizen.gallery mdm-server -w---- ------
+org.tizen.gallery xorg rw---- ------
+org.tizen.gallery isf rwx--- ------
+org.tizen.gallery immvibed rw---- ------
+org.tizen.gallery dbus rwx--- ------
+org.tizen.gallery smemo r-x--- ------
+org.tizen.gallery crash-worker r-x--- ------
+org.tizen.gallery msg-service -w---- ------
+org.tizen.gallery ug-image-viewer-efl rwxa-- ------
+org.tizen.gallery sys-assert::info -wx--- ------
+org.tizen.gallery drmfw rw---- ------
+org.tizen.gallery deviced rwx--- ------
+org.tizen.gallery nfc-manager::p2p rw---- ------
+org.tizen.gallery tizen::vconf::public::r::platform::rw r----- ------
+e17 org.tizen.gallery -w---- ------
+com.samsung.contacts org.tizen.gallery rwx--- ------
+org.tizen.camera-app-lite org.tizen.gallery rwx--- ------
+com.samsung.email org.tizen.gallery rwx--- ------
+com.samsung.app-tray org.tizen.gallery r-x--- ------
+org.tizen.music-player-lite org.tizen.gallery rw---- ------
+com.samsung.dailybriefing-agent org.tizen.gallery --x--- ------
+org.tizen.volume-lite org.tizen.gallery --x--- ------
+org.tizen.quickpanel-lite org.tizen.gallery r-x--- ------
+org.tizen.lockscreen-lite org.tizen.gallery r-x--- ------
+com.samsung.cluster-home org.tizen.gallery --x--- ------
+org.tizen.indicator org.tizen.gallery rwx--- ------
+context-service org.tizen.gallery r-x--- ------
+media-server org.tizen.gallery -w---- ------
+webkit2-efl org.tizen.gallery --x--- ------
+nfc-share-service org.tizen.gallery rw---- ------
+isf org.tizen.gallery --x--- ------
+net.wifi-qs org.tizen.gallery --x--- ------
+org.tizen.gallery wrt-setting --x--- ------
+org.tizen.gallery aul::launch --x--- ------
+org.tizen.gallery system::ext_storage rwx--- ------
+ui-gadget::client ug-image-viewer-efl --x--- ------
+org.tizen.gallery::widget device::app_logging -w---- ------
+org.tizen.gallery::widget system::use_internet r----- ------
+org.tizen.gallery::widget system::media rwxat-
+org.tizen.gallery::widget net-config r----- ------
+org.tizen.gallery::widget xorg rw---- ------
+org.tizen.gallery::widget isf rwx--- ------
+org.tizen.gallery::widget sound_server rw---- ------
+org.tizen.gallery::widget syspopup::db rw---- ------
+org.tizen.gallery::widget dbus rwx--- ------
+org.tizen.gallery::widget pulseaudio rwxat- ------
+org.tizen.gallery::widget connman r----- ------
+org.tizen.gallery::widget system rwx--- ------
+org.tizen.gallery::widget immvibed rw---- ------
+org.tizen.gallery::widget svi-data r-x--- ------
+org.tizen.gallery::widget org.tizen.clocksetting rwx--- ------
+org.tizen.gallery::widget org.tizen.clocksetting::default-resources r-x--- ------
+org.tizen.gallery::widget e17 r-x--- ------
+org.tizen.gallery::widget deviced rwx--- ------
+org.tizen.gallery::widget deviced::display rw---- ------
+org.tizen.gallery::widget data-provider-master::data --x--- ------
+org.tizen.gallery::widget data-provider-master::db rw---- ------
+org.tizen.gallery::widget data-provider-master::share rwxat- ------
+org.tizen.gallery::widget data-provider-master::data r-x--- ------
+org.tizen.gallery::widget data-provider-master::provider rw---- ------
+org.tizen.gallery::widget org.tizen.add-viewer rwxat- ------
+org.tizen.gallery::widget pkgmgr::db rwx--- ------
+org.tizen.gallery::widget efreet rwx--- ------
+org.tizen.gallery::widget litewhome rwx--- ------
+org.tizen.gallery::widget aul::launch --x--- ------
+org.tizen.gallery::widget aul::terminate --x--- ------
+org.tizen.gallery::widget system::ext_storage rwx--- ------
+aul org.tizen.gallery::widget rwx--- ------
+dbus org.tizen.gallery::widget rwx--- ------
+system org.tizen.gallery::widget -w---- ------
+org.tizen.data-provider-slave org.tizen.gallery::widget rwx--- ------
+org.tizen.gallery::widget system::homedir r-x--- ------
+org.tizen.gallery::widget device::sys_logging -w---- ------
+org.tizen.gallery::widget sys-assert::core -wx--- ------
+org.tizen.gallery::widget org.tizen.homescreen -w---- ------
+org.tizen.gallery::widget org.tizen.gallery rwxat- ------
+crash-worker org.tizen.gallery::widget r----- ------
+org.tizen.gallery::widget tizen::vconf::public::r::platform::rw rwxatl ------
+org.tizen.gallery::widget tizen::vconf::public::rw rwxatl ------
+org.tizen.gallery::widget tizen::vconf::setting::admin rwxatl ------
+org.tizen.gallery::widget tizen::vconf::setting rwx--- ------
+org.tizen.gallery::widget tizen::vconf::camcorder rwx--- ------
diff --git a/org.tizen.gallery.manifest b/org.tizen.gallery.manifest
new file mode 100644 (file)
index 0000000..884dc30
--- /dev/null
@@ -0,0 +1,20 @@
+<manifest>
+       <define>
+               <domain name="org.tizen.gallery" />
+       </define>
+       <assign>
+               <filesystem path="/usr/share/icons/default/small/org.tizen.gallery.png" label="_" />
+               <filesystem path="/usr/share/icons/default/small/preview_gallery_4x4.png" label="_" />
+               <filesystem path="/usr/share/applications/org.tizen.gallery.desktop" label="_" />
+               <filesystem path="/usr/apps/org.tizen.gallery/res/script/image/*" label="_" />
+               <filesystem path="/opt/usr/apps/org.tizen.gallery/data/.web_media.db*" label="org.tizen.gallery::web-media.db"/>
+               <filesystem path="/opt/usr/apps/org.tizen.gallery/data/.gallery_media.db*" label="org.tizen.gallery::gallery-media.db"/>
+               <filesystem path="/opt/usr/apps/org.tizen.gallery/data/.face.db*" label="org.tizen.gallery::face-svc.db"/>
+               <filesystem path="/usr/apps/org.tizen.gallery/bin/gallery-widget" label="org.tizen.gallery::widget" 
+               exec_label="org.tizen.gallery::widget" />
+               <filesystem path="/usr/apps/org.tizen.gallery/res/locale/*" label="_" />
+       </assign>
+       <request>
+               <domain name="org.tizen.gallery" />
+       </request>
+</manifest>
diff --git a/org.tizen.gallery.xml b/org.tizen.gallery.xml
new file mode 100755 (executable)
index 0000000..b100318
--- /dev/null
@@ -0,0 +1,125 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns="http://tizen.org/ns/packages" package="org.tizen.gallery" version="1.1.25-1" install-location="internal-only" api-version="2.4">
+        <label>Gallery</label>
+        <author email="jiansong.jin@samsung.com" href="www.samsung.com">Jiansong Jin</author>
+        <description>Gallery</description>
+        <ui-application  type="capp"  multiple="false" taskmanage="true" nodisplay="false" exec="/usr/apps/org.tizen.gallery/bin/gallery" appid="org.tizen.gallery">
+                <icon>org.tizen.gallery.png</icon>
+                <label>Gallery</label>
+                <label xml:lang="hy-am">Պատկերասրահ</label>
+               <label xml:lang="az-az">Qalereya</label>
+               <label xml:lang="eu-es">Galeria</label>
+               <label xml:lang="bg-bg">Галерия</label>
+               <label xml:lang="ca-es">Galeria</label>
+               <label xml:lang="zh-cn">相册</label>
+               <label xml:lang="zh-hk">媒體瀏覽器</label>
+               <label xml:lang="zh-tw">媒體瀏覽器</label>
+               <label xml:lang="hr-hr">Album</label>
+               <label xml:lang="cs-cz">Galerie</label>
+               <label xml:lang="da-dk">Galleri</label>
+               <label xml:lang="nl-nl">Galerij</label>
+               <label xml:lang="en-gb">Gallery</label>
+               <label xml:lang="en-us">Gallery</label>
+               <label xml:lang="et-ee">Galerii</label>
+               <label xml:lang="fi-fi">Galleria</label>
+               <label xml:lang="fr-fr">Galerie</label>
+               <label xml:lang="gl-es">Galería</label>
+               <label xml:lang="ka-ge">გალერეა</label>
+               <label xml:lang="de-de">Galerie</label>
+               <label xml:lang="el-gr">Συλλογή</label>
+               <label xml:lang="hu-hu">Galéria</label>
+               <label xml:lang="is-is">Gallerí</label>
+               <label xml:lang="ga-ie">Gailearaí</label>
+               <label xml:lang="it-it">Galleria</label>
+               <label xml:lang="ja-jp">ギャラリー</label>
+               <label xml:lang="kk-kz">Галерея</label>
+               <label xml:lang="ko-kr">갤러리</label>
+               <label xml:lang="lv-lv">Galerija</label>
+               <label xml:lang="lt-lt">Galerija</label>
+               <label xml:lang="mk-mk">Галерија</label>
+               <label xml:lang="nb-no">Galleri</label>
+               <label xml:lang="pl-pl">Galeria</label>
+               <label xml:lang="pt-pt">Galeria</label>
+               <label xml:lang="pt-br">Galeria</label>
+               <label xml:lang="ro-ro">Galerie</label>
+               <label xml:lang="ru-ru">Галерея</label>
+               <label xml:lang="sr-rs">Galerija</label>
+               <label xml:lang="sk-sk">Galéria</label>
+               <label xml:lang="sl-si">Galerija</label>
+               <label xml:lang="es-es">Galería</label>
+               <label xml:lang="es-us">Galería</label>
+               <label xml:lang="sv-se">Galleri</label>
+               <label xml:lang="tr-tr">Galeri</label>
+               <label xml:lang="uk-ua">Галерея</label>
+               <label xml:lang="uz-uz">Galereya</label>
+               <label xml:lang="ar-ae">ﺎﺴﺗﻭﺪﻳﻭ</label>
+               <label xml:lang="zh-sg">画廊</label>
+               <label xml:lang="hi-in">गैलरी</label>
+               <label xml:lang="en-ph">Gallery</label>
+               <label xml:lang="fr-ca">Galerie</label>
+                <application-service>
+                        <operation name="http://tizen.org/appcontrol/operation/view"/>
+                </application-service>
+                <application-service>
+                        <operation name="http://tizen.org/appcontrol/operation/wallpaper"/>
+                </application-service>
+        </ui-application>
+
+    <widget-application appid="org.tizen.gallery.widget" exec="/usr/apps/org.tizen.gallery/bin/gallery-widget" main="true" update-period="60" nodisplay="false">
+        <label xml:lang="az-az">Qalereya</label>
+               <label xml:lang="eu-es">Galeria</label>
+               <label xml:lang="bg-bg">Галерия</label>
+               <label xml:lang="ca-es">Galeria</label>
+               <label xml:lang="zh-cn">相册</label>
+               <label xml:lang="zh-hk">媒體瀏覽器</label>
+               <label xml:lang="zh-tw">媒體瀏覽器</label>
+               <label xml:lang="hr-hr">Album</label>
+               <label xml:lang="cs-cz">Galerie</label>
+               <label xml:lang="da-dk">Galleri</label>
+               <label xml:lang="nl-nl">Galerij</label>
+               <label xml:lang="en-gb">Gallery</label>
+               <label xml:lang="en-us">Gallery</label>
+               <label xml:lang="et-ee">Galerii</label>
+               <label xml:lang="fi-fi">Galleria</label>
+               <label xml:lang="fr-fr">Galerie</label>
+               <label xml:lang="gl-es">Galería</label>
+               <label xml:lang="ka-ge">გალერეა</label>
+               <label xml:lang="de-de">Galerie</label>
+               <label xml:lang="el-gr">Συλλογή</label>
+               <label xml:lang="hu-hu">Galéria</label>
+               <label xml:lang="is-is">Gallerí</label>
+               <label xml:lang="ga-ie">Gailearaí</label>
+               <label xml:lang="it-it">Galleria</label>
+               <label xml:lang="ja-jp">ギャラリー</label>
+               <label xml:lang="kk-kz">Галерея</label>
+               <label xml:lang="ko-kr">갤러리</label>
+               <label xml:lang="lv-lv">Galerija</label>
+               <label xml:lang="lt-lt">Galerija</label>
+               <label xml:lang="mk-mk">Галерија</label>
+               <label xml:lang="nb-no">Galleri</label>
+               <label xml:lang="pl-pl">Galeria</label>
+               <label xml:lang="pt-pt">Galeria</label>
+               <label xml:lang="pt-br">Galeria</label>
+               <label xml:lang="ro-ro">Galerie</label>
+               <label xml:lang="ru-ru">Галерея</label>
+               <label xml:lang="sr-rs">Galerija</label>
+               <label xml:lang="sk-sk">Galéria</label>
+               <label xml:lang="sl-si">Galerija</label>
+               <label xml:lang="es-es">Galería</label>
+               <label xml:lang="es-us">Galería</label>
+               <label xml:lang="sv-se">Galleri</label>
+               <label xml:lang="tr-tr">Galeri</label>
+               <label xml:lang="uk-ua">Галерея</label>
+               <label xml:lang="uz-uz">Galereya</label>
+               <label xml:lang="ar-ae">ﺎﺴﺗﻭﺪﻳﻭ</label>
+               <label xml:lang="zh-sg">画廊</label>
+               <label xml:lang="hi-in">गैलरी</label>
+               <label xml:lang="en-ph">Gallery</label>
+               <label xml:lang="fr-ca">Galerie</label>
+        <label xml:lang="ko-kr">앱DBox</label>
+        <icon>org.tizen.gallery.png</icon>
+        <category name="http://tizen.org/widget/default"></category>
+        <support-size preview="/usr/share/icons/default/small/preview_gallery_4x4.png">4x4</support-size>
+    </widget-application>
+
+</manifest>
diff --git a/packaging/org.tizen.gallery.spec b/packaging/org.tizen.gallery.spec
new file mode 100755 (executable)
index 0000000..9a160b8
--- /dev/null
@@ -0,0 +1,97 @@
+%define _optdir        /opt/usr
+%define _usrdir        /usr
+%define _appdir        %{_usrdir}/apps
+%define _appdatadir    %{_optdir}/apps
+
+%define _datadir /opt%{_ugdir}/data
+%define _sharedir /opt/usr/media/.iv
+Name:       org.tizen.gallery
+Summary:    org.tizen.gallery UX
+Version:    1.3.21
+Release:    1
+Group:      Applications
+License:    Apache-2.0
+Source0:    %{name}-%{version}.tar.gz
+
+%if "%{?tizen_profile_name}" == "wearable" || "%{?tizen_profile_name}" == "tv"
+ExcludeArch: %{arm} %ix86 x86_64
+%endif
+
+BuildRequires:  cmake
+BuildRequires:  gettext-tools
+BuildRequires:  edje-tools
+BuildRequires:  prelink
+BuildRequires:  libicu-devel
+
+BuildRequires: pkgconfig(appsvc)
+BuildRequires: pkgconfig(appcore-efl)
+BuildRequires: pkgconfig(elementary)
+BuildRequires: pkgconfig(evas)
+BuildRequires: pkgconfig(efl-extension)
+BuildRequires: pkgconfig(glib-2.0)
+BuildRequires: pkgconfig(notification)
+BuildRequires: pkgconfig(storage)
+BuildRequires: pkgconfig(capi-appfw-application)
+BuildRequires: pkgconfig(capi-appfw-widget-application)
+BuildRequires: capi-appfw-widget-application-devel
+BuildRequires: pkgconfig(capi-content-media-content)
+BuildRequires: pkgconfig(capi-system-system-settings)
+BuildRequires: pkgconfig(widget_service)
+#BuildRequires: pkgconfig(widget)
+#BuildRequires: pkgconfig(widget_provider)
+#BuildRequires: pkgconfig(widget_provider_app)
+
+%description
+Description: org.tizen.gallery UX
+
+%prep
+%setup -q
+
+%build
+
+%if 0%{?tizen_build_binary_release_type_eng}
+export CFLAGS="$CFLAGS -DTIZEN_ENGINEER_MODE"
+export CXXFLAGS="$CXXFLAGS -DTIZEN_ENGINEER_MODE"
+export FFLAGS="$FFLAGS -DTIZEN_ENGINEER_MODE"
+%endif
+
+%ifarch %{arm}
+CXXFLAGS+=" -D_ARCH_ARM_ -mfpu=neon"
+%endif
+
+cmake . -DCMAKE_INSTALL_PREFIX=%{_appdir}/org.tizen.gallery  -DCMAKE_DATA_DIR=%{_datadir} -DARCH=%{ARCH}
+
+make %{?jobs:-j%jobs}
+
+%install
+rm -rf %{buildroot}
+if [ ! -d %{buildroot}/opt/usr/apps/org.tizen.gallery/data ]
+then
+        mkdir -p %{buildroot}/opt/usr/apps/org.tizen.gallery/data
+fi
+
+%make_install
+
+mkdir -p %{buildroot}/usr/share/license
+mkdir -p %{buildroot}%{_sharedir}
+cp LICENSE %{buildroot}/usr/share/license/org.tizen.gallery
+
+%post
+chown -R 5000:5000 %{_appdatadir}/org.tizen.gallery/data
+%postun
+
+%files -n org.tizen.gallery
+%manifest org.tizen.gallery.manifest
+%defattr(-,root,root,-)
+%{_appdir}/org.tizen.gallery/bin/*
+%{_appdir}/org.tizen.gallery/res/locale/*
+/usr/share/icons/default/small/org.tizen.gallery.png
+/usr/share/icons/default/small/preview_gallery_4x4.png
+/etc/smack/accesses.d/org.tizen.gallery.efl
+%{_appdir}/org.tizen.gallery/res/images/*
+%{_appdir}/org.tizen.gallery/res/edje/*
+%{_appdatadir}/org.tizen.gallery/data
+/usr/share/packages/org.tizen.gallery.xml
+/usr/share/miregex/*
+/usr/share/license/org.tizen.gallery
+
diff --git a/project_def.prop b/project_def.prop
new file mode 100644 (file)
index 0000000..ad83879
--- /dev/null
@@ -0,0 +1,11 @@
+APPNAME = gallery
+
+type = app
+profile = mobile-2.4
+
+USER_SRCS = src/gallery.c
+USER_DEFS =
+USER_INC_DIRS = inc
+USER_OBJS =
+USER_LIBS =
+USER_EDCS =
diff --git a/res/black_theme/edc/gallery-edc-res.h b/res/black_theme/edc/gallery-edc-res.h
new file mode 100755 (executable)
index 0000000..9b7337b
--- /dev/null
@@ -0,0 +1,112 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#define GL_RES_IMG(image_name) image: image_name COMP
+
+/* Definition of image path used in edc file */
+
+/* gl-nocontents.edc */
+#define GALLERY_EDC_IMAGE_NOCONTENTS_PIC "T01_nocontents_videos.png"
+
+/* gl-places-marker.edc */
+#define        GALLERY_EDC_IMAGE_PLACES_MARKER1 "T01_places_marker_01.png"
+
+/* gl-selection-notification.edc */
+#define        GALLERY_EDC_IMAGE_BUTTON_REVEAL  "00_button_reveal.png"
+#define        GALLERY_EDC_IMAGE_BUTTON_REVEAL_PRESS "00_button_reveal_press.png"
+#define        GALLERY_EDC_IMAGE_BTN_CIRCLE_BG_NORMAL "T01_button_circle_bg_normal.png"
+#define        GALLERY_EDC_IMAGE_BTN_CIRCLE_BG_PRESS "T01_button_circle_bg_normal_press.png"
+
+/* gl-gengrid.edc */
+#define        GALLERY_EDC_IMAGE_OS_LEFT "00_overscrolling_left.png"
+#define        GALLERY_EDC_IMAGE_OS_RIGHT "00_overscrolling_right.png"
+
+/* gl-gengrid-item-albums.edc */
+#define        GALLERY_EDC_IMAGE_EDIT_EFFECT_BG "T01_editl_effect.png"
+#define        GALLERY_EDC_IMAGE_ALBUM_BG "T01_album_folder_bg.png"
+
+/* gl-gengrid-item-thumbview.edc */
+#define GALLERY_EDC_IMAGE_BUTTON_PLAY "T01_btn_play.png"
+#define GALLERY_EDC_IMAGE_BUTTON_VIDEO_PLAY "T01_video_play.png"
+#define GALLERY_EDC_IMAGE_BUSTSHOT "T01_thumbs_bustshot_bg.png"
+#define GALLERY_EDC_IMAGE_THUMBS_BG_FOCUS "00_thumbs_bg_focus.png"
+#define GALLERY_EDC_IMAGE_BADGE_BG "00_badge_bg.png"
+
+/* gl-places-ctxpopup.edc */
+#define GALLERY_EDC_IMAGE_POPUP_SCROLL "00_popup_scroll.png"
+#define GALLERY_EDC_IMAGE_PLACES_THUMB_BG "T01_places_thumbnail_bg.png"
+
+/* gl-genlist-group-webalbum.edc */
+
+/* gallery.edc */
+#define        GALLERY_EDC_IMAGE_CONTROL_TABBAR_BG "00_winset_title_tabbar_bg.png"
+
+/* gl-button.edc */
+#define        GALLERY_EDC_IMAGE_BTN_GRIDVIEW "T01_bubble_icon_gridview.png"
+#define        GALLERY_EDC_IMAGE_BTN_FOOTSTEPS "T01_bubble_icon_footsteps.png"
+
+#define        GALLERY_EDC_IMAGE_BTN_CIRCLE_BG "T01_album_edit_rename_bg.png"
+#define        GALLERY_EDC_IMAGE_BTN_CIRCLE_BG_PRESSED "T01_album_edit_rename_bg_press.png"
+#define        GALLERY_EDC_IMAGE_BTN_RENAME "T01_album_edit_rename.png"
+#define        GALLERY_EDC_IMAGE_BTN_RENAME_PRESS "T01_album_edit_rename_press.png"
+
+#define        GALLERY_EDC_SOUND_TOUCH_30MS "S_Touch_30ms.wav"
+
+/* gl-check.edc */
+#define        GALLERY_EDC_IMAGE_CHECK_BG "T01_checkbox.png"
+#define        GALLERY_EDC_IMAGE_CHECK_ALBUM_BG "T01_album_edit_check_bg.png"
+#define        GALLERY_EDC_IMAGE_CHECK_BG_DIM "00_check_bg_dim.png"
+#define        GALLERY_EDC_IMAGE_CHECK_BG_CHECKING "T01_check.png"
+#define        GALLERY_EDC_IMAGE_CHECK_ALBUM_EDIT_CHECKON "T01_album_edit_check_on.png"
+
+/* gl-entry.edc */
+#define GALLERY_EDC_IMAGE_EDITFIELD_CLEAR "00_EditField_clear.png"
+#define GALLERY_EDC_IMAGE_SEARCH_EDIT_FIELD_BG "00_search_edit_field_bg.png"
+#define GALLERY_EDC_IMAGE_SEARCH_EDIT_FIELD_BG_FOCUS "00_search_edit_field_bg_focus.png"
+
+/* gl-progressbar.edc */
+#define GALLERY_EDC_IMAGE_LIST_PROGRESS_BG "00_winset_list_progress_bg.png"
+#define GALLERY_EDC_IMAGE_LIST_PROGRESS_BAR "T01_gallery_album_progress_bar.png"
+
+/* gl-slider.edc */
+#define GALLERY_EDC_IMAGE_GIRD_OS_TOP "00_grid_overscrolling_top.png"
+#define GALLERY_EDC_IMAGE_GIRD_OS_BOT "00_grid_overscrolling_bottom.png"
+#define GALLERY_EDC_IMAGE_GIRD_OS_LEFT "00_grid_overscrolling_left.png"
+#define GALLERY_EDC_IMAGE_GIRD_OS_RIGHT "00_grid_overscrolling_right.png"
+
+/* gl-ctxpopup.edc */
+#define GALLERY_EDC_IMAGE_POPUP_SCROLL_V "00_popup_scroll_v.png"
+#define GALLERY_EDC_IMAGE_POPUP_SCROLL_H "00_popup_scroll_h.png"
+#define GALLERY_EDC_IMAGE_POPUP_DORPDOWN_BG "00_popup_dropdown_bg.png"
+#define GALLERY_EDC_IMAGE_MORE_POPUP_PRESS "00_more_popup_press.png"
+#define GALLERY_EDC_IMAGE_POPUP_OVERSCROLLING_TOP "00_popup_overscrolling_top.png"
+#define GALLERY_EDC_IMAGE_POPUP_OVERSCROLLING_BOTTOM "00_popup_overscrolling_bottom.png"
+#define GALLERY_EDC_IMAGE_POPUP_OVERSCROLLING_RIGHT "00_popup_overscrolling_right.png"
+#define GALLERY_EDC_IMAGE_POPUP_OVERSCROLLING_LEFT "00_popup_overscrolling_left.png"
+#define GALLERY_EDC_IMAGE_OS_TOP "00_overscrolling_top.png"
+
+/* gl-expanded-title.edc */
+#define GALLERY_EDC_IMAGE_TITLE_BG "00_title_bg.png"
+#define GALLERY_EDC_IMAGE_POPUP_DROPDOWN_TITLE_BG "00_popup_dropdown_title_bg.png"
+#define GALLERY_EDC_IMAGE_POPUP_DROPDOWN_TITLE_BG_PRESS "00_popup_dropdown_title_bg_press.png"
+#define GALLERY_EDC_IMAGE_POPUP_DROPDOWN_TITLE_BG_FOCUS "00_popup_dropdown_title_bg_focus.png"
+#define GALLERY_EDC_IMAGE_BUTTON_ICON_ARROW_PRESS "00_button_icon_arrow_press.png"
+#define GALLERY_EDC_IMAGE_BUTTON_ICON_ARROW "00_button_icon_arrow.png"
+#define GALLERY_EDC_IMAGE_BACK_BUTTON "T01_icon_back.png"
+#define GALLERY_EDC_DELETE_SHOW_IMAGE_BG "gallery_icon_container.png"
+#define GALLERY_EDC_DELETE_SHOW_IMAGE "gallery_icon_full.png"
+#define GALLERY_EDC_SD_CARD_ICON "T01_album_icon_sd_card.png"
diff --git a/res/black_theme/edc/gallery.edc b/res/black_theme/edc/gallery.edc
new file mode 100755 (executable)
index 0000000..3393e4d
--- /dev/null
@@ -0,0 +1,1078 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+/* Use genlist style for pinch out */
+
+#define INDICATOR_H    27
+#define NAVI_H         67
+#define GALLERY_EDC_COLOR_THEME_GRAY  91 91 91 255
+#define GALLERY_EDC_COLOR_BG  0 0 0 255
+#define ENTRY_H                112
+#define ENTRY_MAX_W            1280
+#define TABBAR_DEFAULT_HEIGHT_INC 111
+#define TABBAR_HORIZONTAL_HEIGHT_INC 91
+/* Set select all bg color same as genlist */
+#define SELECT_ALL_BG_HEIGHT_INC 112
+#define NAVIFRAME_TITLE_BG_COLOR_INC 248 246 239 255
+
+#define POPUP_CONTENT_DEFAULT_PADDING_LEFT_MIN_INC 15
+#define POPUP_EDITFIELD_LAYOUT_MINMAX_HEIGHT_INC 56
+
+#include "gallery-edc-res.h"
+#define LAYOUT_WIDTH 500
+#define LAYOUT_HEIGHT 300
+#define CENTER_PADDING_WIDTH 5
+#define YOUR_THEME_BASE_SCALE 1 // 2.6 is default base scale for Tizen 2.4 HD.
+externals {
+       external: "elm";
+       external: "feedback";
+}
+
+collections {
+       plugins {
+               plugin {
+                       name: "touch_sound_plugin";
+                       source: "feedback";
+                       param: "FEEDBACK_TYPE_SOUND FEEDBACK_PATTERN_TAP"; // FEEDBACK_TYPE_SOUND, FEEDBACK_PATTERN_TOUCH_TAP
+                       /* 2014.06.11 updated from libsvi(feedback)
+                       Above plugin will run below external function:
+                       int feedback_play_type(feedback_type_e type, feedback_pattern_e pattern);
+                       param1: feedback_type_e
+                       FEEDBACK_TYPE_NONE = 0,
+                       FEEDBACK_TYPE_SOUND = 1,
+                       FEEDBACK_TYPE_VIBRATION,
+                       FEEDBACK_TYPE_LED,
+                       FEEDBACK_TYPE_END
+
+                       * param2 enumeration:
+                       FEEDBACK_PATTERN_TAP = 0,
+                       FEEDBACK_PATTERN_SIP,
+                       FEEDBACK_PATTERN_SIP_BACKSPACE,
+                       FEEDBACK_PATTERN_SIP_FUNCTION,
+                       FEEDBACK_PATTERN_SIP_FJKEY,
+                       ...
+
+                       * For more information please refer libsvi.
+                       */
+               }
+       }
+
+       #include "gl-macro.edc"
+       #include "gl-expanded-title.edc"
+       #include "gl-ctxpopup.edc"
+       #include "gl-gengrid.edc"
+       #include "gl-gengrid-item-ctxpopup.edc"
+       #include "gl-gengrid-item-thumbview.edc"
+       #include "gl-gengrid-item-albums.edc"
+       #include "gl-selection-notification.edc"
+       #include "gl-naviframe.edc"
+       #include "gl-button.edc"
+       #include "gl-check.edc"
+       #include "gl-label.edc"
+       #include "gl-nocontents.edc"
+       #include "gl-entry.edc"
+       #include "gl-timeline.edc"
+       #include "gl-progressbar.edc"
+       #include "gl-popup-entry.edc"
+       base_scale: YOUR_THEME_BASE_SCALE;
+
+       group{ name: "list_popup_swallow_ly";
+               parts {
+                       part { name: "bg";
+                               type: RECT;
+                               description {
+                                       rel1.relative : 0 0;
+                                       rel2.relative : 1 1;
+                                       color: 255 255 255 255;
+                               }
+                       }
+                       part { name: "list";
+                               type: SWALLOW;
+                               description {
+                                       rel1.relative : 0 0;
+                                       rel1.to : "bg";
+                                       rel2.relative : 1 1;
+                                       rel2.to : "bg";
+                               }
+                       }
+               }
+               script {
+                       public message(Msg_Type:type,id, ...)
+                       {
+                               if((type == MSG_INT) && (id == 2))
+                               {
+                                       new a;
+                                       new x, y;
+                                       a = getarg(2);
+                                       custom_state(PART:"bg","default",0.0);
+                                       get_state_val(PART:"bg",STATE_MIN,x,y);
+                                       set_state_val(PART:"bg",STATE_MIN,x,a);
+                                       get_state_val(PART:"bg",STATE_MAX,x,y);
+                                       set_state_val(PART:"bg",STATE_MAX,x,a);
+                                       set_state(PART:"bg","custom",0.0);
+                               }
+                       }
+               }
+       }
+
+       group { name: "list_popup_content_ly";
+               parts {
+                       part { name : "bg";
+                                       type: RECT;
+                                       description {
+                                               state: "default" 0.0;
+                                               rel1.relative: 0.0 0.0;
+                                               rel2.relative: 1.0 1.0;
+                                               color: 255 255 255 255;
+                                       }
+                       }
+                       part {  name : "bg1";
+                                       type: RECT;
+                                       description {
+                                               state: "default" 0.0;
+                                               rel1.relative: 0.0 0.0;
+                                               rel1.to: "bg";
+                                               rel2.relative: 1.0 0.5;
+                                               rel2.to: "bg";
+                                               color: 255 255 255 255;
+                                       }
+                                       description {
+                                               state: "pressed" 0.0;
+                                               inherit: "default" 0.0;
+                                               color: 165 197 210 255;
+                                       }
+                       }
+                       part {  name : "bg2";
+                                       type: RECT;
+                                       description {
+                                               state: "default" 0.0;
+                                               rel1.relative: 0.0 0.5;
+                                               rel1.to: "bg";
+                                               rel1.offset: 0 2;
+                                               rel2.relative: 1.0 1.0;
+                                               rel2.to: "bg";
+                                               color: 255 255 255 255;
+                                       }
+                                       description {
+                                               state: "pressed" 0.0;
+                                               inherit: "default" 0.0;
+                                               color: 165 197 210 255;
+                                       }
+                       }
+                       part {  name : "septator";
+                                       type: RECT;
+                                       description {
+                                               state: "default" 0.0;
+                                               rel1.relative: 0.0 0.5;
+                                               rel1.to: "bg";
+                                               //rel1.offset: 0 2;
+                                               rel2.relative: 1.0 0.5;
+                                               rel2.to: "bg";
+                                               min: 0 2;
+                                               max: -1 2;
+                                               align: 0 0.5;
+                                               color: 165 197 210 255;
+                                       }
+                       }
+                       part {
+                               name: "elm.text";
+                               type: TEXT;
+                               mouse_events: 1;
+                               repeat_events: 1;
+                               scale: 1;
+                               description {
+                                       state: "default" 0.0;
+                                       rel1.relative: 0.0 0.0;
+                                       rel1.to: "bg1";
+                                       rel2.relative: 0.0 1.0;
+                                       rel2.to: "bg1";
+                                       min: 200 55;
+                                       max: 200 55;
+                                       align: 0 0;
+                                       text {
+                                               text: "Time";
+                                               size: 16;
+                                               align: 0.1 0.5;
+                                       }
+                                       color: 23 23 23 255;
+                               }
+                       }
+                       part {
+                               name: "elm.swallow";
+                               type: SWALLOW;
+                               mouse_events: 1;
+                               repeat_events: 1;
+                               description {
+                                       state: "default" 0.0;
+                                       rel1.relative: 0.8 0.3;
+                                       rel1.to: "bg1";
+                                       rel2.relative: 1.0 0.7;
+                                       rel2.to: "bg1";
+                                       align: 1.0 0.5;
+                               }
+                       }
+                       part {
+                               name: "elm.text.second";
+                               type: TEXT;
+                               mouse_events: 1;
+                               repeat_events: 1;
+                               scale: 1;
+                               description {
+                                       state: "default" 0.0;
+                                       rel1.relative: 0.0 0.0;
+                                       rel1.to: "bg2";
+                                       rel2.relative: 0.0 1.0;
+                                       rel2.to: "bg2";
+                                       min: 200 55;
+                                       max: 200 55;
+                                       align: 0 0;
+                                       text {
+                                               text: "Album";
+                                               size: 16;
+                                               align: 0.1 0.5;
+                                       }
+                                       color: 23 23 23 255;
+                               }
+                       }
+                       part {
+                               name: "elm.swallow.second";
+                               type: SWALLOW;
+                               mouse_events: 1;
+                               repeat_events: 1;
+                               description {
+                                       state: "default" 0.0;
+                                       rel1.relative: 0.8 0.3;
+                                       rel1.to: "bg2";
+                                       rel2.relative: 1.0 0.7;
+                                       rel2.to: "bg2";
+                                       align: 1.0 0.5;
+                               }
+                       }
+                       part {  name : "button1";
+                                       type: SWALLOW;
+                                       mouse_events: 1;
+                                       repeat_events: 1;
+                                       description {
+                                               state: "default" 0.0;
+                                               rel1.relative: 0.0 0.0;
+                                               rel1.to: "bg";
+                                               rel2.relative: 1.0 0.5;
+                                               rel2.to: "bg";
+                                       }
+                       }
+                       part {  name : "button2";
+                                       type: SWALLOW;
+                                       mouse_events: 1;
+                                       repeat_events: 1;
+                                       description {
+                                               state: "default" 0.0;
+                                               rel1.relative: 0.0 0.5;
+                                               rel1.to: "bg";
+                                               rel1.offset: 0 2;
+                                               rel2.relative: 1.0 1.0;
+                                               rel2.to: "bg";
+                                       }
+                       }
+               }
+               programs {
+                       program{ name: "item_1_clicked";
+                               source: "bg1";
+                               signal: "mouse,down,1";
+                               action: STATE_SET "pressed" 0.0;
+                               target: "bg1";
+                       }
+                       program{ name: "item_2_clicked";
+                               source: "bg2";
+                               signal: "mouse,down,1";
+                               action: STATE_SET "pressed" 0.0;
+                               target: "bg2";
+                       }
+                       program{ name: "item_1_released";
+                               source: "bg1";
+                               signal: "mouse,up,1";
+                               action: STATE_SET "default" 0.0;
+                               target: "bg1";
+                       }
+                       program{ name: "item_2_released";
+                               source: "bg2";
+                               signal: "mouse,up,1";
+                               action: STATE_SET "default" 0.0;
+                               target: "bg2";
+                       }
+               }
+
+       }
+
+       group { name: "popup_input_text";
+               parts {
+                       part { name: "pad_l";
+                               type: SPACER;
+                               scale: 1;
+                               description { state: "default" 0.0;
+                                       min: POPUP_CONTENT_DEFAULT_PADDING_LEFT_MIN_INC 0;
+                                       fixed: 1 0;
+                                       rel1.relative: 0.0 0.0;
+                                       rel2.relative: 0.0 1.0;
+                                       align: 0.0 0.0;
+                               }
+                       }
+                       part { name: "pad_r";
+                               type: SPACER;
+                               scale: 1;
+                               description { state: "default" 0.0;
+                                       min: POPUP_CONTENT_DEFAULT_PADDING_LEFT_MIN_INC 0;
+                                       fixed: 1 0;
+                                       rel1.relative: 1.0 0.0;
+                                       rel2.relative: 1.0 1.0;
+                                       align: 1.0 0.0;
+                               }
+                       }
+                       part { name: "elm.swallow.content";
+                               type: SWALLOW;
+                               scale: 1;
+                               description { state: "default" 0.0;
+                                       min: 0 POPUP_EDITFIELD_LAYOUT_MINMAX_HEIGHT_INC;
+                                       max: -1 POPUP_EDITFIELD_LAYOUT_MINMAX_HEIGHT_INC;
+                                       align: 0.5 0.5;
+                                       rel1{
+                                               relative: 1.0 0.0 ;
+                                               to_x: "pad_l";
+                                       }
+                                       rel2{
+                                               relative: 0.0 1.0;
+                                               to_x: "pad_r";
+                                       }
+                               }
+                       }
+               }
+       }
+
+       group
+               {
+                       name: "gallery/gridview";
+                       images {
+                               image: GALLERY_EDC_IMAGE_CONTROL_TABBAR_BG COMP;
+                       }
+                       parts {
+                               part {
+                                       name: "background";
+                                       type, RECT;
+                                       //mouse_events: 1;
+                                       //scale: 1;
+                                       description {
+                                               state: "default" 0.0;
+                                               rel1 { relative: 0.0 0.0; }
+                                               rel2 { relative: 1.0 1.0; }
+                                       }
+                               }
+                               part {
+                                       name: "contents";
+                                       type: SWALLOW;
+                                       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";}
+                                       }
+                               }
+                               part {
+                                       name: "gesture";
+                                       type: SWALLOW;
+                                       mouse_events: 1;
+                                       repeat_events: 1;
+                                       description {
+                                               state: "default" 0.0;
+                                               rel1 { relative: 0.0 0.0; to: "contents";}
+                                               rel2 { relative: 1.0 1.0; to: "contents";}
+                                       }
+
+                               }
+                       }
+               }
+
+       group {
+               name: "gallery/layout";
+               parts {
+                       part {
+                               name: "background";
+                               type: RECT;
+                               mouse_events: 0;
+                               description {
+                                       state: "default" 0.0;
+                                       rel1 { relative: 0.0 0.0; }
+                                       rel2 { relative: 1.0 1.0; }
+                                       color: 255 255 255 0;
+                               }
+                       }
+                       part {
+                               name: "split.view.bg.color";
+                               type: RECT;
+                               mouse_events: 1;
+                               description {
+                                       state: "default" 0.0;
+                                       rel1 { relative: 0.0 0.0; to: split.view; }
+                                       rel2 { relative: 1.0 1.0; to: split.view; }
+                                       color: 230 230 230 255;
+                               }
+                       }
+                       part {
+                               name: "split.view";
+                               type: SWALLOW;
+                               mouse_events: 1;
+                               description {
+                                       state: "default" 0.0;
+                                       min: 0 0;
+                                       max: 0 0;
+                                       align: 0 0;
+                                       rel1 { relative: 0.0 0.0; }
+                                       rel2 { relative: 1.0 1.0; }
+                               }
+                               description {
+                                       state: "visible" 0.0;
+                                       rel1 { relative: 0.0 0.0; }
+                                       rel2 { relative: 179/540 1.0; }
+                                       fixed: 1 0;
+                                       min: 0 0;
+                                       max: -1 -1;
+                               }
+                       }
+                       part {
+                               name: "select.all.area.bg";
+                               type: RECT;
+                               mouse_events: 0;
+                               description {
+                                       state: "default" 0.0;
+                                       min: 0 0;
+                                       max: 0 0;
+                                       align: 0 0;
+                                       rel1 { relative: 1.0 0.0; to: "split.view"; }
+                                       rel2 { relative: 1.0 1.0; }
+                                       color: 255 255 255 255;
+                               }
+                               description {
+                                       state: "visible" 0.0;
+                                       inherit: "default" 0.0;
+                                       min: 0 0;
+                                       max: -1 60;
+                               }
+                       }
+                       part {
+                               name: "select.all.area.label";
+                               type: TEXT;
+                               mouse_events: 0;
+                               scale: 1;
+                               description {
+                                       state: "default" 0.0;
+                                       rel1 { relative: 24/540 0.0; to: "select.all.area.bg";}
+                                       rel2 { relative: 0.6 1.0; to: "select.all.area.bg";}
+                                       text {
+                                               text: "Select All";
+                                               size: 16;
+                                               align: 0.0 0.5;
+                                       }
+                                       color: 0 0 255 255;
+                                       visible: 0;
+                               }
+                               description {
+                                       state: "visible" 0.0;
+                                       inherit: "default" 0.0;
+                                       visible: 1;
+                               }
+                       }
+                       part {
+                               name: "select.all.area.check";
+                               type: SWALLOW;
+                               mouse_events: 0;
+                               description {
+                                       state: "default" 0.0;
+                                       fixed: 1 1;
+                                       rel1 { relative: 1.0 0.1; to: "select.all.area.bg"; offset: -60 0;}
+                                       rel2 { relative: 1.0 0.9; to: "select.all.area.bg";}
+                                       visible: 0;
+                               }
+                               description {
+                                       state: "visible" 0.0;
+                                       inherit: "default" 0.0;
+                                       visible: 1;
+                               }
+                       }
+                       part {
+                               name: "select.all.area.check.fg";
+                               type: SWALLOW;
+                               mouse_events: 1;
+                               repeat_events: 0;
+                               description {
+                                       state: "default" 0.0;
+                                       rel1 { relative: 0 0; to: "select.all.area.check";}
+                                       rel2 { relative: 1 1; to: "select.all.area.check";}
+                                       align: 1 0.5;
+                                       visible: 0;
+                               }
+                               description {
+                                       state: "visible" 0.0;
+                                       inherit: "default" 0.0;
+                                       visible: 1;
+                               }
+
+                       }
+                       part {
+                                       name: "contents";
+                                       type: SWALLOW;
+                                       mouse_events: 1;
+                                       scale: 1;
+                                       description {
+                                                       state: "default" 0.0;
+                                                       rel1 { relative: 0.0 0.0; to: "background"; }
+                                                       rel2 { relative: 1.0 1.0; }
+                                       }
+                       }
+                       part {
+                               name: "elm.swallow.view";
+                               type: SWALLOW;
+                               mouse_events: 1;
+                               description {
+                                       state: "default" 0.0;
+                                       rel1 { relative: 0.0 1.0; to: "select.all.area.bg";}
+                                       rel2 { relative: 1.0 1.0; }
+                               }
+                       }
+                       part {
+                               name: "elm.swallow.date.layout";
+                               type: SWALLOW;
+                               mouse_events: 1;
+                               repeat_events: 1;
+                               description {
+                                       state: "default" 0.0;
+                                       rel1 { relative: 0.3 0.4; to: "elm.swallow.view";}
+                                       rel2 { relative: 0.7 0.5; to: "elm.swallow.view";}
+                               }
+                               description {
+                                       state: "landscape" 0.0;
+                                       rel1 { relative: 0.38 0.41; to: "elm.swallow.view";}
+                                       rel2 { relative: 0.61 0.58; to: "elm.swallow.view";}
+                               }
+                       }
+                       part {
+                               name: "gesture";
+                               type: SWALLOW;
+                               mouse_events: 1;
+                               repeat_events: 1;
+                               description {
+                                       state: "default" 0.0;
+                                       rel1 { relative: 0.0 0.0; to: "elm.swallow.view";}
+                                       rel2 { relative: 1.0 1.0; to: "elm.swallow.view";}
+                               }
+                               description {
+                                       state: "disabled" 0.0;
+                                                       inherit: "default" 0.0;
+                                       visible: 0;
+                                               }
+                       }
+               }
+               script {
+                       public message(Msg_Type:type,id, ...)
+                       {
+                               if((type == MSG_INT) && (id == 1))
+                               {
+                                       new a;
+                                       a = getarg(2);
+                                       custom_state(PART:"split.view","default",0.0);
+                                       set_state_val(PART:"split.view",STATE_MAX,a,-1);
+                                       set_state(PART:"split.view","custom",0.0);
+                               }
+                               if((type == MSG_INT) && (id == 2))
+                               {
+                                       new a;
+                                       new x, y;
+                                       a = getarg(2);
+                                       custom_state(PART:"select.all.area.bg","default",0.0);
+                                       get_state_val(PART:"select.all.area.bg",STATE_MAX,x,y);
+                                       set_state_val(PART:"select.all.area.bg",STATE_MIN,0,60);
+                                       set_state_val(PART:"select.all.area.bg",STATE_MAX,a,60);
+                                       set_state(PART:"select.all.area.bg","custom",0.0);
+                               }
+                       }
+               }
+
+               programs
+               {
+                       program {
+                               name: "rotate_timeline_view_info_landscape";
+                               signal: "timelineview,landscape";
+                               source: "*";
+                               action: STATE_SET "landscape" 0.0;
+                               target: "elm.swallow.date.layout";
+                       }
+                       program {
+                               name: "rotate_timeline_view_info_portrait";
+                               signal: "timelineview,portrait";
+                               source: "*";
+                               action: STATE_SET "default" 0.0;
+                               target: "elm.swallow.date.layout";
+                       }
+                       program {
+                               name: "swallow_view_default";
+                               signal: "elm,swallow_view,state,default";
+                               source: "elm";
+                               script {
+                                       set_state(PART:"elm.swallow.view", "default", 0.0);
+                               }
+                       }
+                       program {
+                               name: "gesture_default";
+                               signal: "elm,gesture,state,default";
+                               source: "elm";
+                               script {
+                                       set_state(PART:"gesture", "default", 0.0);
+                               }
+                       }
+                       program {
+                               name: "gesture_disabled";
+                               signal: "elm,gesture,state,disabled";
+                               source: "elm";
+                               script {
+                                       set_state(PART:"gesture", "disabled", 0.0);
+                               }
+                       }
+                       program {
+                               name: "selectall_visible";
+                               signal: "elm,selectall,state,visible";
+                               source: "elm";
+                               script {
+                                       set_state(PART:"select.all.area.label", "visible", 0.0);
+                                       set_state(PART:"select.all.area.check", "visible", 0.0);
+                                       set_state(PART:"select.all.area.check.fg", "visible", 0.0);
+                               }
+                       }
+                       program {
+                               name: "selectall_visible_bg";
+                               signal: "elm,selectall,state,visible,bg";
+                               source: "elm";
+                               script {
+                                       set_state(PART:"select.all.area.bg", "visible", 0.0);
+                               }
+                       }
+                       program {
+                               name: "selectall_default";
+                               signal: "elm,selectall,state,default";
+                               source: "elm";
+                               script {
+                                       set_state(PART:"select.all.area.label", "default", 0.0);
+                                       set_state(PART:"select.all.area.check", "default", 0.0);
+                                       set_state(PART:"select.all.area.bg", "default", 0.0);
+                                       set_state(PART:"select.all.area.check", "default", 0.0);
+                               }
+                       }
+                       program {
+                               name: "split_view_default";
+                               signal: "elm,splitview,state,default";
+                               source: "elm";
+                               action: STATE_SET "default" 0.0;
+                               target: "split.view";
+                               transition : LINEAR 0.5;
+                       }
+                       program {
+                               name: "split_view_visible";
+                               signal: "elm,splitview,state,visible";
+                               source: "elm";
+                               action: STATE_SET "custom" 0.0;
+                               target: "split.view";
+                               transition : LINEAR 0.5;
+                       }
+                       program {
+                               name: "touch_snd";
+                               signal : "mouse,clicked,1";
+                               source : "select.all.area.check.fg";
+                               action: RUN_PLUGIN "touch_sound_plugin";
+                       }
+               }
+       }
+
+       #define GL_ALBUMS_PBAR_BG_COLOR_INC 0 0 0 0
+
+       group
+       {
+         name: "gallery/progressbar";
+         parts {
+                       part {
+                               name: "bg";
+                               mouse_events: 0;
+                               type: RECT;
+                               description {
+                                       state: "default" 0.0;
+                                       color: 0 0 0 0;
+                                       visible: 1;
+                                       rel1 { relative: 0.0 0.0;}
+                                       rel2 { relative: 1.0 1.0;}
+                               }
+                       }
+                       part { name: "elm.pad.top";
+                               type: RECT;
+                               scale: 1;
+                               description {
+                                       state: "default" 0.0;
+                                       fixed: 1 0;
+                                       rel1 { relative: 0.0  0.0; to: "bg";}
+                                       rel2 { relative: 1.0  0.0; to: "bg"; offset: -2 1;}
+                                       align: 0.0 0.0;
+                                       color: GL_ALBUMS_PBAR_BG_COLOR_INC;
+                               }
+                       }
+                       part { name: "elm.pad.bottom";
+                               type: RECT;
+                               scale: 1;
+                               description {
+                                       state: "default" 0.0;
+                                       fixed: 1 0;
+                                       rel1 { relative: 0.0  1.0; to: "bg"; offset: 0 -1;}
+                                       rel2 { relative: 1.0  1.0; to: "bg"; offset: -2 0;}
+                                       align: 0.0 0.0;
+                                       color: GL_ALBUMS_PBAR_BG_COLOR_INC;
+                               }
+                       }
+                       part { name: "base";
+                               type: RECT;
+                               scale: 1;
+                               mouse_events: 0;
+                               description {
+                                       state: "default" 0.0;
+                                       visible: 1;
+                                       rel1 { relative: 0.0  0.0; to: "elm.pad.top";}
+                                       rel2 { relative: 1.0  1.0; to: "elm.pad.bottom";}
+                                       color: GL_ALBUMS_PBAR_BG_COLOR_INC;
+                               }
+                       }
+                       part { name: "elm.swallow.progressbar";
+                               type: SWALLOW;
+                               scale: 1;
+                               description {
+                                       state: "default" 0.0;
+                                       fixed: 1 0;
+                                       rel1 { relative: 0.0  0.0; to: "base"; offset: 12 0;}
+                                       rel2 { relative: 1.0  0.5; to: "base"; offset: -14 0;}
+                                       align: 0.0 0.0;
+                               }
+                       }
+                       part { name: "elm.swallow.label";
+                               type: SWALLOW;
+                               scale: 1;
+                               description {
+                                       state: "default" 0.0;
+                                       fixed: 1 0;
+                                       rel1 { relative: 0.0  0.5; to: "base"; offset: 12 0;}
+                                       rel2 { relative: 1.0  1.0; to: "base"; offset: -14 0;}
+                                       align: 0.0 0.0;
+                               }
+                        }
+               }
+       }
+
+       group { name: "gl_bg_layout";
+               parts {
+                       part { name: "bg";
+                               type: RECT;
+                               mouse_events:  0;
+                               description { state: "default" 0.0;
+                                       color: 255 255 255 45;
+                               }
+                       }
+                       part { name: "elm.swallow.image";
+                               type: SWALLOW;
+                               description {
+                                       state: "default" 0.0;
+                               }
+                       }
+               }
+       }
+
+       group { name: "ceter_algined_text_layout";
+               styles {
+                       style { name: "my_textblock_name_style";
+                       base: "font=Sans:style=Regular font_size=20 color=#000000 ellipsis=1.0";
+                       }
+                       style { name: "my_textblock_count_style";
+                       base: "font=Sans:style=Regular font_size=20 color=#000000";
+                       }
+               }
+               script {
+                       public scale_value;
+                       public pw;
+                       public tw;
+                       public calc_text_size() {
+                               new x, y, w, h;
+                               new bx, by, bw, bh;
+                               new cx, cy, cw, ch;
+                               get_geometry(PART:"elm.sub.text", x, y, w, h);
+                               get_geometry(PART:"base", bx, by, bw, bh);
+                               get_geometry(PART:"center_padding", cx, cy, cw, ch);
+                               if (get_float(scale_value) != 0) {
+                                       // Reverting scale multiplied width.
+                                       set_float(pw, (w + cw) * (YOUR_THEME_BASE_SCALE / get_float(scale_value)));
+                                       set_float(tw, (bw - cw - w) * (YOUR_THEME_BASE_SCALE / get_float(scale_value)));
+                               } else {
+                                       set_float(pw, w + cw);
+                                       set_float(tw, bw - cw - w);
+                               }
+                               custom_state(PART:"right_dynamic_padding", "default", 0.0);
+                               set_state_val(PART:"right_dynamic_padding", STATE_MIN, get_int(pw), 0);
+                               set_state(PART:"right_dynamic_padding", "custom", 0.0);
+                               custom_state(PART:"elm.text", "default", 0.0);
+                               set_state_val(PART:"elm.text", STATE_MAX, get_int(tw), -1);
+                               set_state(PART:"elm.text", "custom", 0.0);
+                       }
+                       public message(Msg_Type:type, id, ...) {
+                               if (type == MSG_FLOAT) {
+                               new Float:scale_v;
+                               scale_v = getfarg(2);
+                               set_float(scale_value, scale_v);
+                               calc_text_size();
+                               }
+                       }
+               }
+               parts {
+                       part { name: "base";
+                               type: RECT;
+                               scale: 1;
+                               description { state: "default" 0.0;
+                                       rel1.relative: 0 0;
+                                       rel2.relative: 1 1;
+                                       color: 0 0 0 0;
+                               }
+                       }
+                       part { name: "right_dynamic_padding";
+                               type: SPACER;
+                               scale: 1;
+                               description { state: "default" 0.0;
+                                       fixed: 1 1;
+                                       align: 1.0 0.5;
+                                       min: 0 0;
+                                       rel1.relative: 1.0 0.0;
+                               }
+                       }
+                       part { name: "elm.text.bg";
+                               type: SPACER;
+                               scale: 1;
+                               description { state: "default" 0.0;
+                                       fixed: 1 1;
+                                       rel2 {
+                                               to_x: "right_dynamic_padding";
+                                               relative: 0.0 1.0;
+                                       }
+                               }
+                       }
+                       part { name: "elm.text";
+                               type: TEXTBLOCK;
+                               scale: 1;
+                               description { state: "default" 0.0;
+                                       fixed: 1 1;
+                                       min: 0 0;
+                                       rel1 {
+                                               to_x: "elm.text.bg";
+                                               relative: 0.5 0.0;
+                                       }
+                                       rel2 {
+                                               to_x: "elm.text.bg";
+                                               relative: 0.5 1.0;
+                                       }
+                                       text {
+                                               style: "my_textblock_name_style";
+                                               min: 1 1;
+                                               max: 0 1;
+                                       }
+                               }
+                       }
+                       part { name: "center_padding";
+                               type: SPACER;
+                               scale: 1;
+                               description { state: "default" 0.0;
+                                       fixed: 1 1;
+                                       align: 0.0 0.5;
+                                       min: CENTER_PADDING_WIDTH 0;
+                                       rel1 {
+                                               to_x: "elm.text";
+                                               relative: 1.0 0.0;
+                                       }
+                                       rel2 {
+                                               to_x: "elm.text";
+                                               relative: 1.0 1.0;
+                                       }
+                               }
+                       }
+                       part { name: "elm.sub.text";
+                               type: TEXTBLOCK;
+                               scale: 1;
+                               description { state: "default" 0.0;
+                                       fixed: 1 1;
+                                       min: 0 0;
+                                       align: 0.0 0.5;
+                                       rel1 {
+                                               to_x: "center_padding";
+                                               relative: 1.0 0.0;
+                                       }
+                                       rel2 {
+                                               to_x: "center_padding";
+                                               relative: 1.0 1.0;
+                                       }
+                                       text {
+                                               style: "my_textblock_count_style";
+                                               min: 1 1;
+                                               max: 0 1;
+                                       }
+                               }
+                       }
+               }
+       }
+       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";
+                       }
+                       style { name: "my_textblock_count_style_split_view";
+                       base: "font=Sans:style=Regular font_size=12 color=#000000";
+                       }
+               }
+               script {
+                       public scale_value;
+                       public pw;
+                       public tw;
+                       public calc_text_size() {
+                               new x, y, w, h;
+                               new bx, by, bw, bh;
+                               new cx, cy, cw, ch;
+                               get_geometry(PART:"elm.sub.text", x, y, w, h);
+                               get_geometry(PART:"base", bx, by, bw, bh);
+                               get_geometry(PART:"center_padding", cx, cy, cw, ch);
+                               if (get_float(scale_value) != 0) {
+                                       // Reverting scale multiplied width.
+                                       set_float(pw, (w + cw) * (YOUR_THEME_BASE_SCALE / get_float(scale_value)));
+                                       set_float(tw, (bw - cw - w) * (YOUR_THEME_BASE_SCALE / get_float(scale_value)));
+                               } else {
+                                       set_float(pw, w + cw);
+                                       set_float(tw, bw - cw - w);
+                               }
+                               custom_state(PART:"right_dynamic_padding", "default", 0.0);
+                               set_state_val(PART:"right_dynamic_padding", STATE_MIN, get_int(pw), 0);
+                               set_state(PART:"right_dynamic_padding", "custom", 0.0);
+                               custom_state(PART:"elm.text", "default", 0.0);
+                               set_state_val(PART:"elm.text", STATE_MAX, get_int(tw), -1);
+                               set_state(PART:"elm.text", "custom", 0.0);
+                       }
+                       public message(Msg_Type:type, id, ...) {
+                               if (type == MSG_FLOAT) {
+                               new Float:scale_v;
+                               scale_v = getfarg(2);
+                               set_float(scale_value, scale_v);
+                               calc_text_size();
+                               }
+                       }
+               }
+               parts {
+                       part { name: "base";
+                               type: RECT;
+                               scale: 1;
+                               description { state: "default" 0.0;
+                                       rel1.relative: 0 0;
+                                       rel2.relative: 1 1;
+                                       color: 0 0 0 0;
+                               }
+                       }
+                       part { name: "right_dynamic_padding";
+                               type: SPACER;
+                               scale: 1;
+                               description { state: "default" 0.0;
+                                       fixed: 1 1;
+                                       align: 1.0 0.5;
+                                       min: 0 0;
+                                       rel1.relative: 1.0 0.0;
+                               }
+                       }
+                       part { name: "elm.text.bg";
+                               type: SPACER;
+                               scale: 1;
+                               description { state: "default" 0.0;
+                                       fixed: 1 1;
+                                       rel2 {
+                                               to_x: "right_dynamic_padding";
+                                               relative: 0.0 1.0;
+                                       }
+                               }
+                       }
+                       part { name: "elm.text";
+                               type: TEXTBLOCK;
+                               scale: 1;
+                               description { state: "default" 0.0;
+                                       fixed: 1 1;
+                                       min: 0 0;
+                                       rel1 {
+                                               to_x: "elm.text.bg";
+                                               relative: 0.5 0.0;
+                                       }
+                                       rel2 {
+                                               to_x: "elm.text.bg";
+                                               relative: 0.5 1.0;
+                                       }
+                                       text {
+                                               style: "my_textblock_name_style_split_view";
+                                               min: 1 1;
+                                               max: 0 1;
+                                       }
+                               }
+                       }
+                       part { name: "center_padding";
+                               type: SPACER;
+                               scale: 1;
+                               description { state: "default" 0.0;
+                                       fixed: 1 1;
+                                       align: 0.0 0.5;
+                                       min: CENTER_PADDING_WIDTH 0;
+                                       rel1 {
+                                               to_x: "elm.text";
+                                               relative: 1.0 0.0;
+                                       }
+                                       rel2 {
+                                               to_x: "elm.text";
+                                               relative: 1.0 1.0;
+                                       }
+                               }
+                       }
+                       part { name: "elm.sub.text";
+                               type: TEXTBLOCK;
+                               scale: 1;
+                               description { state: "default" 0.0;
+                                       fixed: 1 1;
+                                       min: 0 0;
+                                       align: 0.0 0.5;
+                                       rel1 {
+                                               to_x: "center_padding";
+                                               relative: 1.0 0.0;
+                                       }
+                                       rel2 {
+                                               to_x: "center_padding";
+                                               relative: 1.0 1.0;
+                                       }
+                                       text {
+                                               style: "my_textblock_count_style_split_view";
+                                               min: 1 1;
+                                               max: 0 1;
+                                       }
+                               }
+                       }
+               }
+       }
+}
+
diff --git a/res/black_theme/edc/gl-button.edc b/res/black_theme/edc/gl-button.edc
new file mode 100755 (executable)
index 0000000..4d01a2c
--- /dev/null
@@ -0,0 +1,297 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#define BUTTON_STATE_ENABLED  0
+#define BUTTON_STATE_DISABLED 1
+
+#define BUTTON_EDIT_STYLE_BORDER_INC 8 0 5 5
+
+   sounds {
+      sample {
+         name: "touch_sound" AS_IS;
+         source: GALLERY_EDC_SOUND_TOUCH_30MS;
+      }
+   }
+
+///////////////////////////////////////////////////////////////////////////////////////
+#define BUTTON_STYLES(style_name, image_normal, min_width, min_height) \
+   group { name: "elm/button/base/"style_name; \
+      images { \
+         image: image_normal COMP; \
+      } \
+       parts { \
+               part { name: "button_image"; \
+                       type: RECT; \
+                       scale: 1; \
+                       description { \
+                               state: "default" 0.0; \
+                               color: 0 0 0 0; \
+                               visible: 1; \
+                       } \
+                       description { \
+                               visible: 0; \
+                               state: "clicked" 0.0; \
+                               inherit: "default" 0.0; \
+                               color: 42 137 194 255; \
+                       } \
+                       description { \
+                               visible: 0; \
+                               state: "disabled" 0.0; \
+                               inherit: "default" 0.0; \
+                       } \
+               } \
+               part { name: "button_image_bg"; \
+                       type: IMAGE; \
+                       mouse_events: 1; \
+                       repeat_events:1; \
+                       scale: 1; \
+                       description { state: "default" 0.0; \
+                               min: min_width min_height; \
+                               max: min_width min_height; \
+                               image { \
+                                       normal: image_normal; \
+                                       border: BUTTON_EDIT_STYLE_BORDER_INC; \
+                                       border_scale: 1; \
+                               } \
+                       } \
+               } \
+               part { name: "over1"; \
+                       type: RECT; \
+                       repeat_events: 1; \
+                       ignore_flags: ON_HOLD; \
+                       description { state: "default" 0.0; \
+                               color: 0 0 0 0; \
+                               min: min_width min_height; \
+                       } \
+               } \
+               part { name: "over2"; \
+                       type: RECT; \
+                       repeat_events: 1; \
+                       description { state: "default" 0.0; \
+                               color: 0 0 0 0; \
+                       } \
+               } \
+               part { name: "disabler"; \
+                       type: RECT; \
+                       description { state: "default" 0.0; \
+                               color: 0 0 0 0; \
+                               visible: 0; \
+                       } \
+                       description { state: "disabled" 0.0; \
+                               inherit: "default" 0.0; \
+                               visible: 1; \
+                       } \
+               } \
+       } \
+       programs { \
+               program { name: "button_click"; \
+                       signal: "mouse,down,1"; \
+                       source: "over1"; \
+                       action: SIGNAL_EMIT "elm,action,press" ""; \
+                       after: "button_click_anim"; \
+               } \
+               program { name: "button_click_anim"; \
+                       action: STATE_SET "clicked" 0.0; \
+                       target: "button_image"; \
+               } \
+               program { name: "button_unclick"; \
+                       signal: "mouse,up,1"; \
+                       source: "over2"; \
+                       action: SIGNAL_EMIT "elm,action,unpress" ""; \
+                       after: "button_unclick_anim"; \
+               } \
+               program { name: "button_unclick_anim"; \
+                       action: STATE_SET "default" 0.0; \
+                       target: "button_image"; \
+               } \
+               program { name: "touch_snd"; \
+                       signal: "mouse,clicked,1"; \
+                       source: "over1"; \
+                       action: PLAY_SAMPLE "touch_sound" 1.0; \
+                       after: button_unclick3; \
+               } \
+               program { name: "button_unclick3"; \
+                       action: SIGNAL_EMIT "elm,action,click" ""; \
+               } \
+               program { name: "disable"; \
+                       signal: "elm,state,disabled"; \
+                       source: "elm"; \
+                       action: STATE_SET "disabled" 0.0; \
+                       target: "disabler"; \
+                       target: "button_image"; \
+               } \
+               program { name: "enable"; \
+                       signal: "elm,state,enabled"; \
+                       source: "elm"; \
+                       action: STATE_SET "default" 0.0; \
+                       target: "disabler"; \
+                       target: "button_image"; \
+               } \
+       } \
+}
+
+///////////////////////////////////////////////////////////////////////////////////////
+   BUTTON_STYLES("gallery/gridview", GALLERY_EDC_IMAGE_BTN_GRIDVIEW, 45, 45)
+   BUTTON_STYLES("gallery/footsteps", GALLERY_EDC_IMAGE_BTN_FOOTSTEPS, 45, 45)
+
+///////////////////////////////////////////////////////////////////////////////////////
+#define BUTTON_CIRCLE_STYLES(style_name, image_normal, image_press, min_width, min_height) \
+   group { name: "elm/button/base/"style_name; \
+      images { \
+         image: GALLERY_EDC_IMAGE_BTN_CIRCLE_BG COMP; \
+         image: GALLERY_EDC_IMAGE_BTN_CIRCLE_BG_PRESSED COMP; \
+         image: GALLERY_EDC_IMAGE_BTN_CIRCLE_BG COMP; \
+         image: image_normal COMP; \
+         image: image_press COMP; \
+      } \
+      parts { \
+         part { name: "button_image"; \
+            scale: 1; \
+            description { state: "default" 0.0; \
+               min: 64 64; \
+               max: 64 64; \
+               image.normal: GALLERY_EDC_IMAGE_BTN_CIRCLE_BG; \
+            } \
+            description { \
+               state: "clicked" 0.0; \
+               inherit: "default" 0.0; \
+               image.normal: GALLERY_EDC_IMAGE_BTN_CIRCLE_BG_PRESSED; \
+            } \
+            description { \
+               state: "disabled" 0.0; \
+               inherit: "default" 0.0; \
+               image.normal: GALLERY_EDC_IMAGE_BTN_CIRCLE_BG; \
+            } \
+         } \
+         part { name: "button_center_part"; \
+            scale: 1; \
+            clip_to: "icon_clipper"; \
+            description { state: "default" 0.0; \
+               min: min_width min_height; \
+               max: min_width min_height; \
+               image.normal: image_normal; \
+            } \
+            description { state: "clicked" 0.0; \
+               inherit: "default"; \
+               image.normal: image_press; \
+            } \
+            description { state: "disabled" 0.0; \
+               inherit: "default"; \
+            } \
+         } \
+         part { name: "icon_clipper"; \
+            type: RECT; \
+            scale: 1; \
+            description { state: "default" 0.0; \
+               color: 250 250 250 255; \
+            } \
+            description { state: "clicked" 0.0; \
+               color: 250 250 250 255; \
+            } \
+            description { state: "disabled" 0.0; \
+               color: 250 250 250 128; \
+            } \
+         } \
+         part { name: "over1"; \
+            type: RECT; \
+            ignore_flags: ON_HOLD; \
+            description { state: "default" 0.0; \
+               color: 0 0 0 0; \
+               min: min_width min_height; \
+            } \
+         } \
+         part { name: "over2"; \
+            type: RECT; \
+            repeat_events: 1; \
+            description { state: "default" 0.0; \
+               color: 0 0 0 0; \
+            } \
+         } \
+         part { name: "disabler"; \
+            type: RECT; \
+            description { state: "default" 0.0; \
+               color: 0 0 0 0; \
+               visible: 0; \
+            } \
+            description { state: "disabled" 0.0; \
+               inherit: "default" 0.0; \
+               visible: 1; \
+            } \
+         } \
+      } \
+      programs { \
+         program { name: "button_click"; \
+            signal: "mouse,down,1"; \
+            source: "over1"; \
+            action: SIGNAL_EMIT "elm,action,press" ""; \
+            after: "button_click_anim"; \
+         } \
+         program { name: "button_click_anim"; \
+            action: STATE_SET "clicked" 0.0; \
+            target: "button_image"; \
+            target: "button_center_part"; \
+            target: "icon_clipper"; \
+         } \
+         program { name: "button_unclick"; \
+            signal: "mouse,up,1"; \
+            source: "over2"; \
+            action: SIGNAL_EMIT "elm,action,unpress" ""; \
+            after: "button_unclick_anim"; \
+         } \
+         program { name: "button_unclick_anim"; \
+            action: STATE_SET "default" 0.0; \
+            target: "button_image"; \
+            target: "button_center_part"; \
+            target: "icon_clipper"; \
+         } \
+         program { name: "touch_snd"; \
+            signal: "mouse,clicked,1"; \
+            source: "over1"; \
+            action: PLAY_SAMPLE "touch_sound" 1.0; \
+            after: button_unclick3; \
+         } \
+         program { name: "button_unclick3"; \
+            action: SIGNAL_EMIT "elm,action,click" ""; \
+         } \
+         program { name: "disable"; \
+            signal: "elm,state,disabled"; \
+            source: "elm"; \
+            action: STATE_SET "disabled" 0.0; \
+            target: "disabler"; \
+            target: "button_image"; \
+            target: "button_center_part"; \
+            target: "icon_clipper"; \
+         } \
+         program { name: "enable"; \
+            signal: "elm,state,enabled"; \
+            source: "elm"; \
+            action: STATE_SET "default" 0.0; \
+            target: "disabler"; \
+            target: "button_image"; \
+            target: "button_center_part"; \
+            target: "icon_clipper"; \
+         } \
+      } \
+   }
+
+///////////////////////////////////////////////////////////////////////////////////////
+BUTTON_CIRCLE_STYLES("gallery/rename", GALLERY_EDC_IMAGE_BTN_RENAME, GALLERY_EDC_IMAGE_BTN_RENAME_PRESS, 64, 64)
+///////////////////////////////////////////////////////////////////////////////////////
+
+#undef BUTTON_STATE_ENABLED
+#undef BUTTON_STATE_DISABLED
+
diff --git a/res/black_theme/edc/gl-check.edc b/res/black_theme/edc/gl-check.edc
new file mode 100755 (executable)
index 0000000..9cb8f4e
--- /dev/null
@@ -0,0 +1,646 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#define CHECK_STYLE_DEFAULT_BG_NORMAL_MIN_MAX_INC 32 32
+
+#define CHECK_DEFAULT_TEXT_NORMAL_COLOR_INC        255 255 255 255
+#define CHECK_DEFAULT_TEXT_PRESSED_COLOR_INC      255 255 255 255
+#define CHECK_DEFAULT_TEXT_DISABLED_COLOR_INC          136 136 136 136
+
+////////////////////////////////////////////////////////////////////////////////////////
+//
+// check default textblock style
+//
+///////////////////////////////////////////////////////////////////////////////////////
+       styles {
+               style { name: "check_label_textblock_style";
+                       base: "font=Tizen:style=Roman text_class=tizen font_size=32 color=#ffffff wrap=char";
+                       tag: "br" "\n";
+                       tag: "ps" "ps";
+                       tag: "hilight" "+ font=Tizen:style=Bold text_class=tizen";
+                       tag: "b" "+ font=Tizen:style=Bold text_class=tizen";
+                       tag: "whitecolor" "+ color=#ffffff";
+                       tag: "tab" "\t";
+               }
+       }
+
+#define CHECK_STATE_DEFAULT 0
+#define CHECK_STATE_VISIBLE 1
+#define CHECK_STATE_DISABLED_VISIBLE 2
+#define CHECK_STATE_DISABLED 3
+
+////////////////////////////////////////////////////////////////////////////////
+#define CHECK_STYLE_DEFAULT(style_name, image_bg, image_checking, image_nocheck, min_width, min_height, check_visible) \
+ group { name: "elm/check/base/"style_name; \
+      images { \
+         image: image_bg COMP; \
+         image: GALLERY_EDC_IMAGE_CHECK_BG_DIM COMP; \
+         image: image_checking COMP; \
+         image: image_nocheck COMP; \
+      } \
+      script { \
+         public check_state = CHECK_STATE_DEFAULT; \
+      } \
+      parts { \
+         part { name: "back_bg"; \
+            type: RECT; \
+            scale: 1; \
+            description { state: "default" 0.0; \
+               rel2.relative: 1.0 1.0; \
+               align: 0 0.5; \
+               min: min_width min_height; \
+               fixed: 1 1; \
+               color: 0 0 0 0; \
+            } \
+         } \
+         part { name: "bg"; \
+            mouse_events: 0; \
+            scale: 1; \
+            description { state: "default" 0.0; \
+               min: CHECK_STYLE_DEFAULT_BG_NORMAL_MIN_MAX_INC; \
+               max: CHECK_STYLE_DEFAULT_BG_NORMAL_MIN_MAX_INC; \
+               fixed: 1 1; \
+               rel1.to: "back_bg"; \
+               rel2.to: "back_bg"; \
+               image.normal: image_bg; \
+               fill.smooth : 0; \
+            } \
+            description { state: "disabled" 0.0; \
+               inherit: "default" 0.0; \
+               image.normal: GALLERY_EDC_IMAGE_CHECK_BG_DIM; \
+               fill.smooth : 0; \
+            } \
+         } \
+         part { name: "check"; \
+            mouse_events: 0; \
+            scale: 1; \
+            description { state: "default" 0.0; \
+               rel1.to: "bg"; \
+               rel2.to: "bg"; \
+               visible: check_visible; \
+               image.normal: image_nocheck; \
+            } \
+            description { state: "visible" 0.0; \
+               inherit: "default" 0.0; \
+               visible: 1; \
+               image.normal: image_checking; \
+            } \
+            description { state: "disabled_visible" 0.0; \
+               inherit: "default" 0.0; \
+               image.normal: image_checking; \
+               visible: 1; \
+            } \
+         } \
+         part { name: "elm.swallow.content"; \
+            type: SWALLOW; \
+            description { state: "default" 0.0; \
+               fixed: 1 0; \
+               visible: 0; \
+               color: 255 255 255 255; \
+               align: 0.0 0.5; \
+               rel1 { \
+                  to_x: "bg"; \
+                  relative: 1.0 0.0; \
+                  offset: 1 1; \
+               } \
+               rel2 { \
+                  to_x: "bg"; \
+                  relative: 1.0 1.0; \
+                  offset: 2 -2; \
+               } \
+            } \
+            description { state: "visible" 0.0; \
+               inherit: "default" 0.0; \
+               fixed: 1 1; \
+               visible: 1; \
+               aspect: 1.0 1.0; \
+               aspect_preference: VERTICAL; \
+            } \
+            description { state: "disabled" 0.0; \
+               inherit: "default" 0.0; \
+               color: 128 128 128 128; \
+            } \
+            description { state: "disabled_visible" 0.0; \
+               inherit: "default" 0.0; \
+               color: 128 128 128 128; \
+               fixed: 1 1; \
+               visible: 1; \
+               aspect: 1.0 1.0; \
+            } \
+         } \
+         part { name: "elm.text"; \
+            type: TEXTBLOCK; \
+            mouse_events: 0; \
+            scale: 1; \
+            description { state: "default" 0.0; \
+               visible: 0; \
+               fixed: 0 1; \
+               rel1 { \
+                  relative: 1.0 0.5; \
+                  offset: 1 1; \
+                  to_x: "elm.swallow.content"; \
+               } \
+               rel2 { \
+                  relative: 1.0 0.5; \
+                  offset: -2 -2; \
+               } \
+               align: 0.0 0.5; \
+               text { \
+                  style: "check_label_textblock_style"; \
+                  min: 0 0; \
+               } \
+               color: CHECK_DEFAULT_TEXT_NORMAL_COLOR_INC; \
+            } \
+            description { state: "visible" 0.0; \
+               inherit: "default" 0.0; \
+               visible: 1; \
+               text.min: 1 1; \
+            } \
+            description { state: "disabled" 0.0; \
+               inherit: "default" 0.0; \
+            } \
+            description { state: "disabled_visible" 0.0; \
+               inherit: "default" 0.0; \
+               visible: 1; \
+               text.min: 1 1; \
+               color: CHECK_DEFAULT_TEXT_DISABLED_COLOR_INC; \
+            } \
+         } \
+         part { name: "events1"; \
+            type: RECT; \
+            ignore_flags: ON_HOLD; \
+            description { state: "default" 0.0; \
+               color: 0 0 0 0; \
+            } \
+         } \
+         part { name: "events2"; \
+            type: RECT; \
+            repeat_events: 1; \
+            description { state: "default" 0.0; \
+               color: 0 0 0 0; \
+            } \
+         } \
+         part { name: "disabler"; \
+            type: RECT; \
+            description { state: "default" 0.0; \
+               color: 0 0 0 0; \
+               visible: 0; \
+            } \
+            description { state: "disabled" 0.0; \
+               inherit: "default" 0.0; \
+               visible: 1; \
+            } \
+         } \
+      } \
+      programs { \
+         program { name: "click"; \
+            signal: "mouse,clicked,1"; \
+            source: "events1"; \
+            action: SIGNAL_EMIT "elm,action,check,toggle" ""; \
+         } \
+         program { name: "check_on"; \
+            signal: "elm,state,check,on"; \
+            source: "elm"; \
+            script { \
+               set_int(check_state, CHECK_STATE_VISIBLE); \
+               set_state(PART:"check", "visible", 0.0); \
+            } \
+         } \
+         program { name: "check_off"; \
+            signal: "elm,state,check,off"; \
+            source: "elm"; \
+            action: STATE_SET "default" 0.0; \
+            target: "check"; \
+            script { \
+               if (get_int(check_state) == CHECK_STATE_VISIBLE) \
+                 { \
+                    set_int(check_state, CHECK_STATE_DEFAULT); \
+                    set_state(PART:"check", "default", 0.0); \
+                 } \
+            } \
+         } \
+         program { name: "text_show"; \
+            signal: "elm,state,text,visible"; \
+            source: "elm"; \
+            action: STATE_SET "visible" 0.0; \
+            target: "elm.text"; \
+         } \
+         program { name: "text_hide"; \
+            signal: "elm,state,text,hidden"; \
+            source: "elm"; \
+            action: STATE_SET "default" 0.0; \
+            target: "elm.text"; \
+         } \
+         program { name: "icon_show"; \
+            signal: "elm,state,icon,visible"; \
+            source: "elm"; \
+            action: STATE_SET "visible" 0.0; \
+            target: "elm.swallow.content"; \
+         } \
+         program { name: "icon_hide"; \
+            signal: "elm,state,icon,hidden"; \
+            source: "elm"; \
+            action: STATE_SET "default" 0.0; \
+            target: "elm.swallow.content"; \
+         } \
+         program { name: "disable"; \
+            signal: "elm,state,disabled"; \
+            source: "elm"; \
+            action: STATE_SET "disabled" 0.0; \
+            target: "disabler"; \
+            target: "bg"; \
+            after: "disable_text"; \
+         } \
+         program { name: "disable_text"; \
+            script { \
+               new st[31]; \
+               new Float:vl; \
+               get_state(PART:"elm.text", st, 30, vl); \
+               if (!strcmp(st, "visible")) \
+                 set_state(PART:"elm.text", "disabled_visible", 0.0); \
+               else \
+                 set_state(PART:"elm.text", "disabled", 0.0); \
+               get_state(PART:"elm.swallow.content", st, 30, vl); \
+               if (!strcmp(st, "visible")) \
+                 set_state(PART:"elm.swallow.content", "disabled_visible", 0.0); \
+               else \
+                 set_state(PART:"elm.swallow.content", "disabled", 0.0); \
+               get_state(PART:"check", st, 30, vl); \
+               if (!strcmp(st, "visible")) \
+                 { \
+                    set_state(PART:"check", "disabled_visible", 0.0); \
+                    set_int(check_state, CHECK_STATE_DISABLED_VISIBLE); \
+                 } \
+            } \
+         } \
+         program { name: "enable"; \
+            signal: "elm,state,enabled"; \
+            source: "elm"; \
+            action: STATE_SET "default" 0.0; \
+            target: "disabler"; \
+            target: "bg"; \
+            after: "enable_text"; \
+         } \
+         program { name: "enable_text"; \
+            script { \
+               new st[31]; \
+               new Float:vl; \
+               get_state(PART:"elm.text", st, 30, vl); \
+               if (!strcmp(st, "disabled_visible")) \
+                 set_state(PART:"elm.text", "visible", 0.0); \
+               else \
+                 set_state(PART:"elm.text", "default", 0.0); \
+               get_state(PART:"elm.swallow.content", st, 30, vl); \
+               if (!strcmp(st, "visible")) \
+                 set_state(PART:"elm.swallow.content", "visible", 0.0); \
+               else \
+                 set_state(PART:"elm.swallow.content", "default", 0.0); \
+               get_state(PART:"check", st, 30, vl); \
+               if (!strcmp(st, "disabled_visible")) \
+                 { \
+                    set_state(PART:"check", "visible", 0.0); \
+                    set_int(check_state, CHECK_STATE_VISIBLE); \
+                 } \
+               else \
+                 set_int(check_state, CHECK_STATE_DEFAULT); \
+            } \
+         } \
+      } \
+   }
+
+////////////////////////////////////////////////////////////////////////////////
+       CHECK_STYLE_DEFAULT("gallery/default", GALLERY_EDC_IMAGE_CHECK_BG, GALLERY_EDC_IMAGE_CHECK_BG_CHECKING, GALLERY_EDC_IMAGE_CHECK_BG_CHECKING, 42, 42, 0)
+
+////////////////////////////////////////////////////////////////////////////////
+       CHECK_STYLE_DEFAULT("gallery/album", GALLERY_EDC_IMAGE_CHECK_ALBUM_BG, GALLERY_EDC_IMAGE_CHECK_ALBUM_EDIT_CHECKON,GALLERY_EDC_IMAGE_CHECK_ALBUM_BG, 32, 32, 1)
+       CHECK_STYLE_DEFAULT("gallery/thumbs", GALLERY_EDC_IMAGE_CHECK_ALBUM_BG, GALLERY_EDC_IMAGE_CHECK_ALBUM_EDIT_CHECKON,GALLERY_EDC_IMAGE_CHECK_ALBUM_BG, 32, 32, 1)
+
+////////////////////////////////////////////////////////////////////////////////
+   group { name: "elm/check/base/gallery/album/grid";
+      images {
+         image: GALLERY_EDC_IMAGE_EDIT_EFFECT_BG COMP;
+      }
+      parts {
+         part { name: "bg";
+            type: RECT;
+            scale: 1;
+            description { state: "default" 0.0;
+               color: 0 0 0 0;
+            }
+            description { state: "pressed" 0.0;
+               inherit: "default" 0.0;
+            }
+            description { state: "disabled" 0.0;
+               inherit: "default" 0.0;
+               visible: 0;
+            }
+         }
+         part { name: "bg2";
+            type: RECT;
+            mouse_events: 0;
+            scale: 1;
+            description { state: "default" 0.0;
+               rel1.to: "bg";
+               rel2.to: "bg";
+               align: 0.5 0.5;
+               min: 40 40;
+               max: 40 40;
+               color:  0 0 0 0;
+            }
+            description { state: "pressed" 0.0;
+               inherit: "default" 0.0;
+            }
+            description { state: "disabled" 0.0;
+               inherit: "default" 0.0;
+               visible: 0;
+            }
+         }
+         part { name: "selected_bg";
+            type: RECT;
+            scale: 1;
+            description { state: "default" 0.0;
+               rel1.to: "bg";
+               rel2.to: "bg";
+               color: 0 0 0 0;
+               visible: 0;
+            }
+            description { state: "visible" 0.0;
+               inherit: "default" 0.0;
+               color: 0 0 0 153;
+               visible: 0;
+            }
+         }
+
+         part { name: "check";
+            type: RECT;
+            mouse_events: 0;
+            scale: 1;
+            description { state: "default" 0.0;
+               rel1.to: "bg2";
+               rel2.to: "bg2";
+               color: 0 0 0 0;
+               visible: 0;
+            }
+            description { state: "visible" 0.0;
+               inherit: "default" 0.0;
+            }
+            description { state: "pressed" 0.0;
+               inherit: "default" 0.0;
+            }
+            description { state: "disabled_visible" 0.0;
+               inherit: "default" 0.0;
+            }
+         }
+         part { name: "elm.swallow.content";
+            type: SWALLOW;
+            description {
+               state: "default" 0.0;
+               fixed: 1 0;
+               visible: 0;
+               color: 255 255 255 255;
+               align: 0.0 0.5;
+               rel1 {
+                  to_x: "bg2";
+                  relative: 1.0 0.0;
+                  offset: 1 1;
+               }
+               rel2 {
+                  to_x: "bg2";
+                  relative: 1.0 1.0;
+                  offset: 2 -2;
+               }
+            }
+            description { state: "visible" 0.0;
+               inherit: "default" 0.0;
+               fixed: 1 1;
+               visible: 1;
+               aspect: 1.0 1.0;
+               aspect_preference: VERTICAL;
+            }
+            description { state: "disabled" 0.0;
+               inherit: "default" 0.0;
+               color: 128 128 128 128;
+            }
+            description { state: "disabled_visible" 0.0;
+               inherit: "default" 0.0;
+               color: 128 128 128 128;
+               fixed: 1 1;
+               visible: 1;
+               aspect: 1.0 1.0;
+            }
+         }
+         part { name: "elm.text";
+            type: TEXTBLOCK;
+            mouse_events: 0;
+            scale: 1;
+            description { state: "default" 0.0;
+               visible: 0;
+               fixed: 0 1;
+               rel1 {
+                  relative: 1.0 0.5;
+                  offset: 1 1;
+                  to_x: "elm.swallow.content";
+               }
+               rel2 {
+                  relative: 1.0 0.5;
+                  offset: -2 -2;
+               }
+               color: 255 255 255 255;
+               align: 0.0 0.5;
+               text {
+                  style: "check_label_textblock_style";
+                  min: 0 0;
+               }
+               color: CHECK_DEFAULT_TEXT_NORMAL_COLOR_INC;
+            }
+            description { state: "visible" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               text.min: 1 1;
+            }
+            description { state: "disabled" 0.0;
+               inherit: "default" 0.0;
+            }
+            description { state: "disabled_visible" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               text.min: 1 1;
+               color: CHECK_DEFAULT_TEXT_DISABLED_COLOR_INC;
+            }
+         }
+         part { name: "events";
+            type: RECT;
+            ignore_flags: ON_HOLD;
+            description { state: "default" 0.0;
+               color: 0 0 0 0;
+            }
+         }
+         part { name: "disabler";
+            type: RECT;
+            description { state: "default" 0.0;
+               color: 0 0 0 0;
+               visible: 0;
+            }
+            description { state: "disabled" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+            }
+         }
+      }
+      programs {
+         program { name: "click";
+            signal: "mouse,up,1";
+            source: "events";
+            action: SIGNAL_EMIT "elm,action,check,toggle" "";
+            after: "bg_normal";
+         }
+         program { name: "bg_normal";
+            script {
+               set_state(PART:"bg", "default", 0.0);
+               set_state(PART:"bg2", "default", 0.0);
+            }
+         }
+         program { name: "mouseout";
+            signal: "mouse,out";
+            source: "events";
+            after: "bg_check_normal";
+         }
+         program { name: "bg_check_normal";
+            script {
+               new st[31];
+               new Float:vl;
+               get_state(PART:"check", st, 30, vl);
+               if (!strcmp(st, "pressed"))
+                 set_state(PART:"check", "visible", 0.0);
+               set_state(PART:"bg", "default", 0.0);
+               set_state(PART:"bg2", "default", 0.0);
+            }
+         }
+         program { name: "pressed";
+            signal: "mouse,down,1";
+            source: "events";
+            script {
+               new st[31];
+               new Float:vl;
+               get_state(PART:"check", st, 30, vl);
+               if (!strcmp(st, "visible"))
+                 set_state(PART:"check", "pressed", 0.0);
+               set_state(PART:"bg", "pressed", 0.0);
+               set_state(PART:"bg2", "pressed", 0.0);
+            }
+         }
+         program { name: "check_on";
+            signal: "elm,state,check,on";
+            source: "elm";
+            action: STATE_SET "visible" 0.0;
+            target: "check";
+            target: "selected_bg";
+         }
+         program { name: "check_off";
+            signal: "elm,state,check,off";
+            source: "elm";
+            action: STATE_SET "default" 0.0;
+            target: "check";
+            target: "selected_bg";
+         }
+         program { name: "text_show";
+            signal: "elm,state,text,visible";
+            source: "elm";
+            action: STATE_SET "visible" 0.0;
+            target: "elm.text";
+         }
+         program { name: "text_hide";
+            signal: "elm,state,text,hidden";
+            source: "elm";
+            action: STATE_SET "default" 0.0;
+            target: "elm.text";
+         }
+         program { name: "icon_show";
+            signal: "elm,state,icon,visible";
+            source: "elm";
+            action: STATE_SET "visible" 0.0;
+            target: "elm.swallow.content";
+         }
+         program { name: "icon_hide";
+            signal: "elm,state,icon,hidden";
+            source: "elm";
+            action: STATE_SET "default" 0.0;
+            target: "elm.swallow.content";
+         }
+         program { name: "disable";
+            signal: "elm,state,disabled";
+            source: "elm";
+            action: STATE_SET "disabled" 0.0;
+            target: "disabler";
+            target: "bg";
+            target: "bg2";
+            after: "disable_text";
+         }
+         program { name: "disable_text";
+            script {
+               new st[31];
+               new Float:vl;
+               get_state(PART:"elm.text", st, 30, vl);
+               if (!strcmp(st, "visible"))
+                 set_state(PART:"elm.text", "disabled_visible", 0.0);
+               else
+                 set_state(PART:"elm.text", "disabled", 0.0);
+               get_state(PART:"elm.swallow.content", st, 30, vl);
+               if (!strcmp(st, "visible"))
+                 set_state(PART:"elm.swallow.content", "disabled_visible", 0.0);
+               else
+                 set_state(PART:"elm.swallow.content", "disabled", 0.0);
+               get_state(PART:"check", st, 30, vl);
+               if (!strcmp(st, "visible"))
+                 set_state(PART:"check", "disabled_visible", 0.0);
+            }
+         }
+         program { name: "enable";
+            signal: "elm,state,enabled";
+            source: "elm";
+            action: STATE_SET "default" 0.0;
+            target: "disabler";
+            target: "bg";
+            target: "bg2";
+            after: "enable_text";
+         }
+         program { name: "enable_text";
+            script {
+               new st[31];
+               new Float:vl;
+               get_state(PART:"elm.text", st, 30, vl);
+               if (!strcmp(st, "disabled_visible"))
+                 set_state(PART:"elm.text", "visible", 0.0);
+               else
+                 set_state(PART:"elm.text", "default", 0.0);
+               get_state(PART:"elm.swallow.content", st, 30, vl);
+               if (!strcmp(st, "visible"))
+                 set_state(PART:"elm.swallow.content", "visible", 0.0);
+               else
+                 set_state(PART:"elm.swallow.content", "default", 0.0);
+               get_state(PART:"check", st, 30, vl);
+               if (!strcmp(st, "disabled_visible"))
+                 set_state(PART:"check", "visible", 0.0);
+            }
+         }
+      }
+   }
+
+#undef CHECK_STATE_DEFAULT
+#undef CHECK_STATE_VISIBLE
+#undef CHECK_STATE_DISABLED_VISIBLE
+#undef CHECK_STATE_DISABLED
diff --git a/res/black_theme/edc/gl-ctxpopup.edc b/res/black_theme/edc/gl-ctxpopup.edc
new file mode 100755 (executable)
index 0000000..7693031
--- /dev/null
@@ -0,0 +1,1731 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#define CTXPOPUP_WIDTH_MIN_INC 386
+#define CTXPOPUP_WIDTH_MAX_INC 692
+#define CTXPOPUP_TEXT_MAX_INC 652
+#define CTXPOPUP_ICON_TEXT_MAX_INC 595
+#define CTXPOPUP_MORE_TEXT_MAX_INC 599
+#define CTXPOPUP_BUBBLE_BG_IMAGE_BORDER 26 26 26 26
+#define CTXPOPUP_BUBBLE_MORE_BG_IMAGE_BORDER 26 26 0 25
+#define CTXPOPUP_BUBBLE_BG_PRESSED_IMAGE_BORDER 8 8 8 8
+#define CTXPOPUP_SHADOW_LEFT_PADDING 14
+#define CTXPOPUP_SHADOW_RIGHT_PADDING 14
+#define CTXPOPUP_SHADOW_TOP_PADDING 14
+#define CTXPOPUP_SHADOW_BOTTOM_PADDING 14
+#define CTXPOPUP_CONTENT_PADDING_WIDTH 1
+#define CTXPOPUP_CONTENT_PADDING_HEIGHT 1
+#define CTXPOPUP_PRESS_PADDING 4
+#define CTXPOPUP_PRESS_PADDING2 3
+#define CTXPOPUP_ARROW_PADDING 1
+#define CTXPOPUP_SCROLLER_PADDING 8
+#define CTXPOPUP_SCROLLER_HORIZONTAL_PADDING 16
+#define CTXPOPUP_SCROLLER_VERTICAL_PADDING 16
+#define CTXPOPUP_SCROLLER_TOP_PADDING 8
+#define CTXPOPUP_SCROLLER_BOTTOM_PADDING 8
+#define CTXPOPUP_SCROLLER_LEFT_PADDING 8
+#define CTXPOPUP_SCROLLER_RIGHT_PADDING 8
+#define CTXPOPUP_SCROLLER_V_MIN_SIZE_INC 9 18
+#define CTXPOPUP_SCROLLER_H_MIN_SIZE_INC 18 9
+#define CTXPOPUP_FRAME_CORNER_ARROW_PADDING 18
+#define CTXPOPUP_ICON_CLIP_DEFAULT_COLOR_INC 255 255 255 255
+#define CTXPOPUP_ICON_CLIP_DIM_COLOR_INC 162 165 174 255
+#define CTXPOPUP_MAIN_TEXT_COLOR_INC 255 255 255 255
+#define CTXPOPUP_MAIN_TEXT_DIM_COLOR_INC 162 165 174 255
+#define CTXPOPUP_MAIN_TEXT_PRESS_COLOR_INC 255 255 255 255
+#define CTXPOPUP_LIST_MAIN_TEXT_COLOR_INC 255 255 255 255
+#define CTXPOPUP_LIST_MAIN_TEXT_DIM_COLOR_INC 162 165 174 255
+#define CTXPOPUP_LIST_MAIN_TEXT_PRESS_COLOR_INC 255 255 255 255
+#define CTXPOPUP_SEPARATOR_PXLINE_SIZE_INC 1
+#define CTXPOPUP_SEPARATOR_PADDING_INC 20
+#define CTXPOPUP_SEPARATOR_COLOR_INC 29 38 60 255
+#define CTXPOPUP_SEPARATOR2_COLOR_INC 86 92 109 255
+#define CTXPOPUP_HORIZONTAL_SEPARATOR_1_COLOR_INC 29 38 60 255
+#define CTXPOPUP_HORIZONTAL_SEPARATOR_2_COLOR_INC 98 102 117 255
+#define CTXPOPUP_HORIZONTAL_SEPARATOR_MIN_SIZE_INC 1 96
+#define CTXPOPUP_HORIZONTAL_SEPARATOR_MAX_SIZE_INC 1 96
+#define CTXPOPUP_ITEM_DISABLED_COLOR 0 0 0 0
+#define CTXPOPUP_LIST_MAIN_TEXT_SIZE_INC 40
+#define CTXPOPUP_LIST_MAIN_TEXT_MAX_SIZE_INC (CTXPOPUP_LIST_MAIN_TEXT_SIZE_INC * 2)
+#define CTXPOPUP_MAIN_TEXT_SIZE_INC 32
+#define CTXPOPUP_ITEM_HEIGHT_MIN_INC 110
+#define CTXPOPUP_ITEM_HEIGHT_MAX_INC 130
+#define CTXPOPUP_TEXT_ITEM_HORIZONTAL_WIDTH_INC 128
+#define CTXPOPUP_ICON_ITEM_HORIZONTAL_WIDTH_INC 112
+#define CTXPOPUP_ITEM_HORIZONTAL_HEIGHT_INC 96
+#define CTXPOPUP_ICON_WIDTH_INC 45
+#define CTXPOPUP_ICON_HEIGHT_INC 45
+#define CTXPOPUP_ICON_HORIZONTAL_WIDTH_INC 45
+#define CTXPOPUP_ICON_HORIZONTAL_HEIGHT_INC 45
+#define CTXPOPUP_ARROW_SIZE_INC 36 36
+#define CTXPOPUP_ITEM_TEXT_PADDING_INC 20
+#define CTXPOPUP_ITEM_ICON_PADDING_INC 16
+#define CTXPOPUP_TP_BG_IMAGE_BORDER 8 8 8 8
+#define CTXPOPUP_TP_ARROW_SIZE_INC 27 18
+#define CTXPOPUP_TP_HEIGHT_INC 102
+#define CTXPOPUP_MORE_WIDTH_MIN_INC 412
+#define CTXPOPUP_MORE_WIDTH_MAX_INC 720
+#define CTXPOPUP_MORE_ITEM_PADDING_INC 16
+#define CTXPOPUP_MORE_ITEM_HEIGHT_MIN_INC 110
+#define CTXPOPUP_MORE_ITEM_HEIGHT_MAX_INC 130
+#define CTXPOPUP_MORE_ICON_WIDTH_INC 45
+#define CTXPOPUP_MORE_ICON_HEIGHT_INC 45
+#define CTXPOPUP_MORE_ITEM_TEXT_SIZE_INC 40
+#define CTXPOPUP_MOVE_PAD_INC 40
+#define CTXPOPUP_TOOLBAR_SEGMENTEDCONTROL_WIDTH_MIN_INC 334
+#define CTXPOPUP_TOOLBAR_SEGMENTEDCONTROL_WIDTH_MAX_INC 720
+#define CTXPOPUP_TOOLBAR_SEGMENTEDCONTROL_HEIGHT_MIN_INC 90
+#define CTXPOPUP_TOOLBAR_SEGMENTEDCONTROL_HEIGHT_MAX_INC 130
+
+
+///////////////////////////////////////////////////////////////////////////////////////
+//
+// ctxpopup
+//
+///////////////////////////////////////////////////////////////////////////////////////
+
+#define CTXPOPUP_SHADOW_PADDING 10
+#define CTXPOPUP_FRAME_CORNER_SIZE 4 4
+#define CTXPOPUP_FONT_COLOR 0 0 0 255
+#define CTXPOPUP_CLICKED_FONT_COLOR 255 255 255 255
+#define CTXPOPUP_LIST_PADDING 10
+#define CTXPOPUP_LIST_SHADOW_PADDING 3
+
+///////////////////////////////////////////////////////////////////////////////
+sounds {
+   sample {
+      name: "touch_sound" RAW;
+      source: "button-pressed.wav";
+   }
+}
+
+///////////////////////////////////////////////////////////////////////////////
+group {
+   name: "elm/ctxpopup/layout/more_gallery/default";
+   max: CTXPOPUP_MORE_WIDTH_MAX_INC ((CTXPOPUP_ITEM_HEIGHT_MIN_INC*7.5)+CTXPOPUP_SHADOW_TOP_PADDING+(CTXPOPUP_SEPARATOR_PXLINE_SIZE_INC*14)+1);
+   parts {
+      part {
+         name:"top_padding";
+         type: SPACER;
+         scale: 1;
+         description {
+            state: "default" 0.0;
+            min: 0 CTXPOPUP_MOVE_PAD_INC;
+            fixed: 0 1;
+            align: 0.5 0.0;
+            rel1.relative: 0.0 0.0;
+            rel2.relative: 1.0 0.0;
+         }
+         description {
+            state: "show_up" 0.0;
+            inherit: "default" 0.0;
+         }
+         description {
+            state: "visible" 0.0;
+            inherit: "default" 0.0;
+            min: 0 0;
+         }
+      }
+      part {
+         name:"bottom_padding";
+         type: SPACER;
+         scale: 1;
+         description {
+            state: "default" 0.0;
+            min: 0 CTXPOPUP_MOVE_PAD_INC;
+            fixed: 0 1;
+            align: 0.5 1.0;
+            rel1.relative: 0.0 1.0;
+            rel2.relative: 1.0 1.0;
+         }
+         description {
+            state: "show_down" 0.0;
+            inherit: "default" 0.0;
+         }
+         description {
+            state: "visible" 0.0;
+            inherit: "default" 0.0;
+            min: 0 0;
+         }
+      }
+      part {
+         name:"left_padding";
+         type: SPACER;
+         scale: 1;
+         description {
+            state: "default" 0.0;
+            min: CTXPOPUP_MOVE_PAD_INC 0;
+            fixed: 1 0;
+            align: 0.0 0.5;
+            rel1.relative: 0.0 0.0;
+            rel2.relative: 0.0 1.0;
+         }
+         description {
+            state: "show_left" 0.0;
+            inherit: "default" 0.0;
+         }
+         description {
+            state: "visible" 0.0;
+            inherit: "default" 0.0;
+            min: 0 0;
+         }
+      }
+      part {
+         name:"right_padding";
+         type: SPACER;
+         scale: 1;
+         description {
+            state: "default" 0.0;
+            min: CTXPOPUP_MOVE_PAD_INC 0;
+            fixed: 1 0;
+            align: 1 0.5;
+            rel1.relative: 1.0 0.0;
+            rel2.relative: 1.0 1.0;
+         }
+         description {
+            state: "show_right" 0.0;
+            inherit: "default" 0.0;
+         }
+         description {
+            state: "visible" 0.0;
+            inherit: "default" 0.0;
+            min: 0 0;
+         }
+      }
+      part {
+         name: "swallow";
+         type: SWALLOW;
+         clip_to: "layout_clip";
+         scale: 1;
+         description {
+            state: "default" 0.0;
+            visible: 0;
+         }
+         description {
+            state: "show_up" 0.0;
+            rel1 {to_x:"left_padding"; to_y:"top_padding"; relative: 1.0 1.0;}
+            rel2 {to_x:"right_padding"; to_y:"top_padding"; relative: 0.0 1.0;}
+            align: 0.5 0.0;
+         }
+         description {
+            state: "show_down" 0.0;
+            rel1 {to_x:"left_padding"; to_y:"bottom_padding"; relative: 1.0 0.0;}
+            rel2 {to_x:"right_padding"; to_y:"bottom_padding"; relative: 0.0 0.0;}
+            align: 0.5 1.0;
+         }
+         description {
+            state: "show_left" 0.0;
+            rel1 {to_x:"left_padding"; to_y:"top_padding"; relative: 1.0 1.0;}
+            rel2 {to_x:"left_padding"; to_y:"bottom_padding"; relative: 1.0 0.0;}
+            align: 0.0 0.5;
+         }
+         description {
+            state: "show_right" 0.0;
+            rel1 {to_x:"right_padding"; to_y:"top_padding"; relative: 0.0 1.0;}
+            rel2 {to_x:"right_padding"; to_y:"bottom_padding"; relative: 0.0 0.0;}
+            align: 1.0 0.5;
+         }
+      }
+      part {
+         name: "event_blocker";
+         type: RECT;
+         scale: 1;
+         description {
+            state: "default" 0.0;
+            visible: 1;
+            color: 0 0 0 0;
+         }
+         description {
+            state: "visible" 0.0;
+            inherit: "default" 0.0;
+            visible: 0;
+         }
+      }
+      part {
+         name: "layout_clip";
+         type: RECT;
+         scale: 1;
+         description {
+            state: "default" 0.0;
+            color: 255 255 255 0;
+            rel1 {to: "swallow"; relative: -0.2 -0.2; }
+            rel2 {to: "swallow"; relative: 1.2 1.2;}
+         }
+         description {
+            state: "visible" 0.0;
+            inherit: "default" 0.0;
+            color: 255 255 255 255;
+         }
+      }
+   }
+   programs {
+      program {
+         name:   "showup";
+         signal: "elm,state,show,up";
+         source: "elm";
+         script {
+            new st[31];
+            new Float:vl;
+            get_state(PART:"swallow", st, 30, vl);
+            if (strcmp(st, "show_up")) {
+              set_state(PART:"swallow", "show_up", 0.0);
+              set_state(PART:"top_padding", "show_up", 0.0);
+            }
+         }
+         after: "showupend";
+      }
+      program {
+         name:   "showdown";
+         signal: "elm,state,show,down";
+         source: "elm";
+         script {
+            new st[31];
+            new Float:vl;
+            get_state(PART:"swallow", st, 30, vl);
+            if (strcmp(st, "show_down")) {
+              set_state(PART:"swallow", "show_down", 0.0);
+              set_state(PART:"bottom_padding", "show_down", 0.0);
+            }
+         }
+         after: "showdownend";
+      }
+      program {
+         name:   "showleft";
+         signal: "elm,state,show,left";
+         source: "elm";
+         script {
+            new st[31];
+            new Float:vl;
+            get_state(PART:"swallow", st, 30, vl);
+            if (strcmp(st, "show_left")) {
+              set_state(PART:"swallow", "show_left", 0.0);
+              set_state(PART:"left_padding", "show_left", 0.0);
+            }
+         }
+         after: "showleftend";
+      }
+      program {
+         name:   "showright";
+         signal: "elm,state,show,right";
+         source: "elm";
+         script {
+            new st[31];
+            new Float:vl;
+            get_state(PART:"swallow", st, 30, vl);
+            if (strcmp(st, "show_right")) {
+              set_state(PART:"swallow", "show_right", 0.0);
+              set_state(PART:"right_padding", "show_right", 0.0);
+            }
+         }
+         after: "showrightend";
+      }
+      program {
+         name: "show_clip_blocker";
+         signal: "elm,state,show,*";
+         source: "elm";
+         action: STATE_SET "visible" 0.0;
+         transition: SIN_FAC 0.33 1.1;
+         target: "layout_clip";
+         target: "event_blocker";
+      }
+      program {
+         name:   "showupend";
+         action: STATE_SET "visible" 0.0;
+         transition: SIN_FAC 0.33 1.1;
+         target: "top_padding";
+      }
+      program {
+         name:   "showdownend";
+         action: STATE_SET "visible" 0.0;
+         transition: SIN_FAC 0.33 1.1;
+         target: "bottom_padding";
+      }
+      program {
+         name:   "showleftend";
+         action: STATE_SET "visible" 0.0;
+         transition: SIN_FAC 0.33 1.1;
+         target: "left_padding";
+      }
+      program {
+         name:   "showrightend";
+         action: STATE_SET "visible" 0.0;
+         transition: SIN_FAC 0.33 1.1;
+         target: "right_padding";
+      }
+      program {
+         name:   "hideup";
+         signal: "elm,state,hide,up";
+         source: "elm";
+         action: STATE_SET "show_up" 0.0;
+         target: "swallow";
+         target: "top_padding";
+         transition: SIN_FAC 0.33 1.1;
+         after: "be_default";
+      }
+      program {
+         name:   "hidedown";
+         signal: "elm,state,hide,down";
+         source: "elm";
+         action: STATE_SET "show_down" 0.0;
+         target: "swallow";
+         target: "bottom_padding";
+         transition: SIN_FAC 0.33 1.1;
+         after: "be_default";
+      }
+      program {
+         name:   "hideleft";
+         signal: "elm,state,hide,left";
+         source: "elm";
+         action: STATE_SET "show_left" 0.0;
+         target: "swallow";
+         target: "left_padding";
+         transition: SIN_FAC 0.33 1.1;
+         after: "be_default";
+      }
+      program {
+         name:   "hideright";
+         signal: "elm,state,hide,right";
+         source: "elm";
+         action: STATE_SET "show_right" 0.0;
+         target: "swallow";
+         target: "right_padding";
+         transition: SIN_FAC 0.33 1.1;
+         after: "be_default";
+      }
+      program {
+         name:   "hide_clip";
+         signal: "elm,state,hide,*";
+         source: "elm";
+         action: STATE_SET "default" 0.0;
+         target: "layout_clip";
+         transition: SIN_FAC 0.33 1.1;
+         after: "be_default";
+      }
+      program {
+         name: "hide_event_blocker";
+         signal: "elm,state,hide,*";
+         source: "elm";
+         action: STATE_SET "default" 0.0;
+         target: "event_blocker";
+      }
+      program {
+         name: "be_default";
+         action: STATE_SET "default" 0.0;
+         target: "swallow";
+         target: "top_padding";
+         target: "bottom_padding";
+         target: "left_padding";
+         target: "right_padding";
+         after: "hidefinished";
+      }
+      program {
+         name: "hidefinished";
+         action: SIGNAL_EMIT "elm,action,hide,finished" "";
+      }
+   }
+}
+///////////////////////////////////////////////////////////////////////////////
+group {
+   name: "elm/ctxpopup/layout/landscape/more_gallery/default";
+   inherit: "elm/ctxpopup/layout/more_gallery/default";
+   max: CTXPOPUP_MORE_WIDTH_MAX_INC ((CTXPOPUP_ITEM_HEIGHT_MIN_INC*4.5)+CTXPOPUP_SHADOW_TOP_PADDING+(CTXPOPUP_SEPARATOR_PXLINE_SIZE_INC*8)+1);
+}
+///////////////////////////////////////////////////////////////////////////////
+group {
+   name: "elm/scroller/base/ctxpopup";
+   script {
+      public sbvis_v, sbvis_h, sbalways_v, sbalways_h, sbvis_timer, edge_timer;
+      public timer0(val) {
+         new v;
+         v = get_int(sbvis_v);
+         if (v) {
+            v = get_int(sbalways_v);
+            if(!v) {
+               emit("do-hide-vbar", "");
+               set_int(sbvis_v, 0);
+            }
+         }
+         v = get_int(sbvis_h);
+         if (v) {
+            v = get_int(sbalways_h);
+            if(!v) {
+               emit("do-hide-hbar", "");
+               set_int(sbvis_h, 0);
+            }
+         }
+         set_int(sbvis_timer, 0);
+         return 0;
+      }
+      public timer2(val) {
+         emit("do-hide-vshadow", "");
+         emit("do-hide-hshadow", "");
+         set_int(edge_timer, 0);
+         return 0;
+      }
+   }
+   images {
+      GL_RES_IMG(GALLERY_EDC_IMAGE_POPUP_SCROLL_V);
+      GL_RES_IMG(GALLERY_EDC_IMAGE_POPUP_SCROLL_H);
+      GL_RES_IMG(GALLERY_EDC_IMAGE_POPUP_OVERSCROLLING_TOP);
+      GL_RES_IMG(GALLERY_EDC_IMAGE_POPUP_OVERSCROLLING_BOTTOM);
+      GL_RES_IMG(GALLERY_EDC_IMAGE_POPUP_OVERSCROLLING_RIGHT);
+      GL_RES_IMG(GALLERY_EDC_IMAGE_POPUP_OVERSCROLLING_LEFT);
+   }
+   parts {
+      part { name: "vshadow_clip";
+         type: RECT;
+         mouse_events: 0;
+         scale: 1;
+         description { state: "default" 0.0;
+         }
+         description { state: "hidden" 0.0;
+            visible: 0;
+            color: 255 255 255 0;
+         }
+      }
+      part { name: "hshadow_clip";
+         type: RECT;
+         mouse_events: 0;
+         scale: 1;
+         description { state: "default" 0.0;
+         }
+         description { state: "hidden" 0.0;
+            visible: 0;
+            color: 255 255 255 0;
+         }
+      }
+      part { name: "shadow_top";
+         clip_to: "vshadow_clip";
+         type: IMAGE;
+         scale: 1;
+         mouse_events: 0;
+         description { state: "default" 0.0;
+            min: 0 30;
+            fixed: 1 1;
+            align: 0.5 0.0;
+            color: 255 255 255 100;
+            rel1.relative: 0.0 0.0;
+            rel2.relative: 1.0 0.0;
+            image.normal: "00_popup_overscrolling_top.png";
+            image.border: 17 17 0 0;
+         }
+         description { state: "edge" 0.0;
+            inherit: "default" 0.0;
+            color: 255 255 255 255;
+         }
+         description { state: "hidden" 0.0;
+            inherit: "default" 0.0;
+            visible: 0;
+         }
+      }
+      part { name: "shadow_bottom";
+         clip_to: "vshadow_clip";
+         type: IMAGE;
+         scale: 1;
+         mouse_events: 0;
+         description { state: "default" 0.0;
+            min: 0 30;
+            fixed: 1 1;
+            align: 0.5 1.0;
+            color: 255 255 255 100;
+            rel1.relative: 0.0 1.0;
+            rel2.relative: 1.0 1.0;
+            image.normal: "00_popup_overscrolling_bottom.png";
+            image.border: 17 17 0 0;
+         }
+         description { state: "edge" 0.0;
+            inherit: "default" 0.0;
+            color: 255 255 255 255;
+         }
+         description { state: "hidden" 0.0;
+            inherit: "default" 0.0;
+            visible: 0;
+         }
+      }
+      part { name: "shadow_left";
+         clip_to: "hshadow_clip";
+         type: IMAGE;
+         scale: 1;
+         mouse_events: 0;
+         description { state: "default" 0.0;
+            min: 30 0;
+            fixed: 1 1;
+            align: 0.0 0.5;
+            color: 255 255 255 100;
+            rel1.relative: 0.0 0.0;
+            rel2.relative: 0.0 1.0;
+            image.normal: "00_popup_overscrolling_left.png";
+            image.border: 0 0 17 17;
+         }
+         description { state: "edge" 0.0;
+            inherit: "default" 0.0;
+            color: 255 255 255 255;
+         }
+         description { state: "hidden" 0.0;
+            inherit: "default" 0.0;
+            visible: 0;
+         }
+      }
+      part { name: "shadow_right";
+         clip_to: "hshadow_clip";
+         type: IMAGE;
+         scale: 1;
+         mouse_events: 0;
+         description { state: "default" 0.0;
+            min: 30 0;
+            fixed: 1 1;
+            align: 1.0 0.5;
+            color: 255 255 255 100;
+            rel1.relative: 1.0 0.0;
+            rel2.relative: 1.0 1.0;
+            image.normal: "00_popup_overscrolling_right.png";
+            image.border: 0 0 17 17;
+         }
+         description { state: "edge" 0.0;
+            inherit: "default" 0.0;
+            color: 255 255 255 255;
+         }
+         description { state: "hidden" 0.0;
+            inherit: "default" 0.0;
+            visible: 0;
+         }
+      }
+      part {
+         name: "clipper";
+         type: RECT;
+         mouse_events: 0;
+         scale: 1;
+         description {
+            state: "default" 0.0;
+         }
+      }
+      part {
+         name: "elm.swallow.content";
+         clip_to: "clipper";
+         type: SWALLOW;
+         scale: 1;
+         description {
+            state: "default" 0.0;
+            align: 0.5 0.5;
+         }
+      }
+      part {
+         name: "sb_vbar_clip_master";
+         type: RECT;
+         mouse_events: 0;
+         description {
+            state: "default" 0.0;
+         }
+         description {
+            state: "hidden" 0.0;
+            visible: 0;
+         }
+      }
+      part {
+         name: "sb_vbar_clip";
+         clip_to:"sb_vbar_clip_master";
+         type: RECT;
+         mouse_events: 0;
+         scale: 1;
+         description {
+            state: "default" 0.0;
+            align: 0.0 0.0;
+            rel2{ to:"clipper"; relative: 1.0 1.0;}
+         }
+         description {
+            state: "hidden" 0.0;
+            visible: 0;
+         }
+      }
+      part {
+         name: "sb_vbar_padding";
+         type: SPACER;
+         scale: 1;
+         description {
+            state: "default" 0.0;
+            fixed: 1 1;
+            min: (CTXPOPUP_SCROLLER_PADDING-CTXPOPUP_CONTENT_PADDING_WIDTH) 0;
+            max: (CTXPOPUP_SCROLLER_PADDING-CTXPOPUP_CONTENT_PADDING_WIDTH) 0;
+            align: 1.0 0.0;
+            rel1 { to:"clipper"; relative: 1.0 0.0; }
+            rel2 { to:"clipper"; relative: 1.0 1.0; }
+         }
+      }
+      part {
+         name: "sb_vbar_bg";
+         type: SPACER;
+         scale: 1;
+         description {
+            state: "default" 0.0;
+            fixed: 1 1;
+            align: 1.0 0.0;
+            rel1 { to_x:"sb_vbar_padding"; to_y:"clipper"; relative: 0.0 0.0; }
+            rel2 { to_x:"sb_vbar_padding"; to_y:"clipper"; relative: 0.0 1.0; }
+         }
+      }
+      part {
+         name: "sb_vbar_top_padding";
+         type: SPACER;
+         scale: 1;
+         description {
+            state: "default" 0.0;
+            fixed: 1 1;
+            min: (CTXPOPUP_SCROLLER_HORIZONTAL_PADDING-CTXPOPUP_CONTENT_PADDING_WIDTH) CTXPOPUP_SCROLLER_TOP_PADDING;
+            max: (CTXPOPUP_SCROLLER_HORIZONTAL_PADDING-CTXPOPUP_CONTENT_PADDING_WIDTH) CTXPOPUP_SCROLLER_TOP_PADDING;
+            align: 0.0 0.0;
+            rel1 { to:"sb_vbar_bg"; relative: 0.0 0.0; }
+            rel2 { to:"sb_vbar_bg"; relative: 1.0 0.0; }
+         }
+      }
+      part {
+         name: "sb_vbar_bottom_padding";
+         type: SPACER;
+         scale: 1;
+         description {
+            state: "default" 0.0;
+            fixed: 1 1;
+            min: (CTXPOPUP_SCROLLER_HORIZONTAL_PADDING-CTXPOPUP_CONTENT_PADDING_WIDTH) CTXPOPUP_SCROLLER_BOTTOM_PADDING;
+            max: (CTXPOPUP_SCROLLER_HORIZONTAL_PADDING-CTXPOPUP_CONTENT_PADDING_WIDTH) CTXPOPUP_SCROLLER_BOTTOM_PADDING;
+            align: 0.0 1.0;
+            rel1 { to:"sb_vbar_bg"; relative: 0.0 1.0; }
+            rel2 { to:"sb_vbar_bg"; relative: 1.0 1.0; }
+         }
+      }
+      part {
+         name: "sb_vbar";
+         type: SPACER;
+         scale: 1;
+         description {
+            state: "default" 0.0;
+            fixed: 1 1;
+            align: 1.0 0.0;
+            rel1 { to_x:"sb_vbar_bg"; to_y:"sb_vbar_top_padding"; relative: 0.0 1.0; }
+            rel2 { to_x:"sb_vbar_bg"; to_y:"sb_vbar_bottom_padding"; relative: 1.0 0.0; }
+         }
+      }
+      part {
+         name: "elm.dragable.vbar";
+         clip_to: "sb_vbar_clip";
+         mouse_events: 0;
+         scale: 1;
+         dragable {
+            x: 0 0 0;
+            y: 1 1 0;
+            confine: "sb_vbar";
+         }
+         description {
+            state: "default" 0.0;
+            fixed: 1 1;
+            min: CTXPOPUP_SCROLLER_V_MIN_SIZE_INC;
+            rel1 {
+               relative: 0.5  0.5;
+               to: "sb_vbar";
+            }
+            rel2 {
+               relative: 0.5  0.5;
+               to: "sb_vbar";
+            }
+            image {
+               normal: GALLERY_EDC_IMAGE_POPUP_SCROLL_V;
+               border: 0 0 8 8;
+               border_scale: 1;
+            }
+         }
+      }
+      part {
+         name: "sb_hbar_clip_master";
+         type: RECT;
+         mouse_events: 0;
+         description {
+            state: "default" 0.0;
+         }
+         description {
+            state: "hidden" 0.0;
+            visible: 0;
+         }
+      }
+      part {
+         name: "sb_hbar_clip";
+         clip_to: "sb_hbar_clip_master";
+         type: RECT;
+         mouse_events: 0;
+         scale: 1;
+         description {
+            state: "default" 0.0;
+            align: 0.0 0.0;
+            rel2{ to:"clipper"; relative: 1.0 1.0;}
+         }
+         description {
+            state: "hidden" 0.0;
+            visible: 0;
+         }
+      }
+      part {
+         name: "sb_hbar_padding";
+         type: SPACER;
+         scale: 1;
+         description {
+            state: "default" 0.0;
+            fixed: 1 1;
+            min: 0 (CTXPOPUP_SCROLLER_PADDING-CTXPOPUP_CONTENT_PADDING_HEIGHT);
+            max: 0 (CTXPOPUP_SCROLLER_PADDING-CTXPOPUP_CONTENT_PADDING_HEIGHT);
+            align: 0.0 1.0;
+            rel1 { to:"clipper"; relative: 0.0 1.0; }
+            rel2 { to:"clipper"; relative: 1.0 1.0; }
+         }
+      }
+      part {
+         name: "sb_hbar_bg";
+         type: SPACER;
+         scale: 1;
+         description {
+            state: "default" 0.0;
+            fixed: 1 1;
+            align: 0.0 1.0;
+            rel1 {to_x:"clipper"; to_y: "sb_hbar_padding"; relative: 0.0 0.0;}
+            rel2 {to_x:"clipper"; to_y: "sb_hbar_padding"; relative: 1.0 0.0;}
+         }
+      }
+      part {
+         name: "sb_hbar_left_padding";
+         type: SPACER;
+         scale: 1;
+         description {
+            state: "default" 0.0;
+            fixed: 1 1;
+            min: CTXPOPUP_SCROLLER_LEFT_PADDING (CTXPOPUP_SCROLLER_VERTICAL_PADDING-CTXPOPUP_CONTENT_PADDING_HEIGHT);
+            max: CTXPOPUP_SCROLLER_LEFT_PADDING (CTXPOPUP_SCROLLER_VERTICAL_PADDING-CTXPOPUP_CONTENT_PADDING_HEIGHT);
+            align: 0.0 1.0;
+            rel1 { to:"sb_hbar_bg"; relative: 0.0 0.0; }
+            rel2 { to:"sb_hbar_bg"; relative: 0.0 1.0; }
+         }
+      }
+      part {
+         name: "sb_hbar_right_padding";
+         type: SPACER;
+         scale: 1;
+         description {
+            state: "default" 0.0;
+            fixed: 1 1;
+            min: CTXPOPUP_SCROLLER_RIGHT_PADDING (CTXPOPUP_SCROLLER_VERTICAL_PADDING-CTXPOPUP_CONTENT_PADDING_HEIGHT);
+            max: CTXPOPUP_SCROLLER_RIGHT_PADDING (CTXPOPUP_SCROLLER_VERTICAL_PADDING-CTXPOPUP_CONTENT_PADDING_HEIGHT);
+            align: 1.0 1.0;
+            rel1 { to:"sb_hbar_bg"; relative: 1.0 0.0; }
+            rel2 { to:"sb_hbar_bg"; relative: 1.0 1.0; }
+         }
+      }
+      part {
+         name: "sb_hbar";
+         type: SPACER;
+         scale: 1;
+         description {
+            state: "default" 0.0;
+            fixed: 1 1;
+            align: 0.0 1.0;
+            rel1 {to_x:"sb_hbar_left_padding"; to_y: "sb_hbar_padding"; relative: 1.0 0.0;}
+            rel2 {to_x:"sb_hbar_right_padding"; to_y: "sb_hbar_padding"; relative: 0.0 0.0;}
+         }
+      }
+      part {
+         name: "elm.dragable.hbar";
+         clip_to: "sb_hbar_clip";
+         mouse_events: 0;
+         scale: 1;
+         dragable {
+            x: 1 1 0;
+            y: 0 0 0;
+            confine: "sb_hbar";
+         }
+         description {
+            state: "default" 0.0;
+            fixed: 1 1;
+            min: CTXPOPUP_SCROLLER_H_MIN_SIZE_INC;
+            rel1 {relative: 0.5  0.5; to: "sb_hbar";}
+            rel2 {relative: 0.5  0.5; to: "sb_hbar";}
+            image {
+               normal: GALLERY_EDC_IMAGE_POPUP_SCROLL_H;
+               border: 8 8 0 0;
+               border_scale: 1;
+            }
+         }
+      }
+   }
+   programs {
+      program {
+         name: "load";
+         signal: "load";
+         source: "";
+         script {
+            set_state(PART:"sb_vbar_clip", "hidden", 0.0);
+            set_state(PART:"sb_hbar_clip", "hidden", 0.0);
+            set_state(PART:"vshadow_clip", "hidden", 0.0);
+            set_state(PART:"hshadow_clip", "hidden", 0.0);
+            set_int(sbvis_v, 0);
+            set_int(sbvis_h, 0);
+            set_int(sbalways_v, 0);
+            set_int(sbalways_h, 0);
+            set_int(sbvis_timer, 0);
+            set_int(edge_timer, 0);
+            emit("reload", "elm");
+         }
+      }
+      program { name: "vshadow_show";
+         signal: "do-show-vshadow";
+         source: "";
+         action:  STATE_SET "default" 0.0;
+         transition: LINEAR 0.5;
+         target: "vshadow_clip";
+      }
+      program { name: "vshadow_hide";
+         signal: "do-hide-vshadow";
+         source: "";
+         action:  STATE_SET "hidden" 0.0;
+         transition: LINEAR 0.2;
+         target: "vshadow_clip";
+      }
+      program { name: "hshadow_show";
+         signal: "do-show-hshadow";
+         source: "";
+         action:  STATE_SET "default" 0.0;
+         transition: LINEAR 0.5;
+         target: "hshadow_clip";
+      }
+      program { name: "hshadow_hide";
+         signal: "do-hide-hshadow";
+         source: "";
+         action:  STATE_SET "hidden" 0.0;
+         transition: LINEAR 0.2;
+         target: "hshadow_clip";
+      }
+      program {
+         name: "vbar_show";
+         signal: "elm,action,show,vbar";
+         source: "elm";
+         action: STATE_SET "default" 0.0;
+         target: "sb_vbar_clip_master";
+      }
+      program {
+         name: "vbar_hide";
+         signal: "elm,action,hide,vbar";
+         source: "elm";
+         action:  STATE_SET "hidden" 0.0;
+         target: "sb_vbar_clip_master";
+      }
+      program {
+         name: "vbar_show_always";
+         signal: "elm,action,show_always,vbar";
+         source: "elm";
+         script {
+            new v;
+            v = get_int(sbalways_v);
+            if (!v) {
+               set_int(sbalways_v, 1);
+               v = get_int(sbvis_v);
+               if (!v) {
+                  emit("do-show-vbar", "");
+                  set_int(sbvis_v, 1);
+               }
+            }
+         }
+      }
+      program {
+         name: "vbar_show_notalways";
+         signal: "elm,action,show_notalways,vbar";
+         source: "elm";
+         script {
+            new v;
+            v = get_int(sbalways_v);
+            if (v) {
+               set_int(sbalways_v, 0);
+               v = get_int(sbvis_v);
+               if (!v) {
+                  emit("do-hide-vbar", "");
+                  set_int(sbvis_v, 0);
+               }
+            }
+         }
+      }
+      program {
+         name: "sb_vbar_show";
+         signal: "do-show-vbar";
+         source: "";
+         action:  STATE_SET "default" 0.0;
+         transition: LINEAR 1.0;
+         target: "sb_vbar_clip";
+      }
+      program {
+         name: "sb_vbar_hide";
+         signal: "do-hide-vbar";
+         source: "";
+         action:  STATE_SET "hidden" 0.0;
+         transition: LINEAR 1.0;
+         target: "sb_vbar_clip";
+      }
+      program {
+         name: "hbar_show";
+         signal: "elm,action,show,hbar";
+         source: "elm";
+         action:  STATE_SET "default" 0.0;
+         target: "sb_hbar_clip_master";
+      }
+      program {
+         name: "hbar_hide";
+         signal: "elm,action,hide,hbar";
+         source: "elm";
+         action:  STATE_SET "hidden" 0.0;
+         target: "sb_hbar_clip_master";
+      }
+      program {
+         name: "hbar_show_always";
+         signal: "elm,action,show_always,hbar";
+         source: "elm";
+         script {
+            new v;
+            v = get_int(sbalways_h);
+            if (!v) {
+               set_int(sbalways_h, 1);
+               v = get_int(sbvis_h);
+               if (!v) {
+                  emit("do-show-hbar", "");
+                  set_int(sbvis_h, 1);
+               }
+            }
+         }
+      }
+      program {
+         name: "hbar_show_notalways";
+         signal: "elm,action,show_notalways,hbar";
+         source: "elm";
+         script {
+            new v;
+            v = get_int(sbalways_h);
+            if (v) {
+               set_int(sbalways_h, 0);
+               v = get_int(sbvis_h);
+               if (!v) {
+                  emit("do-hide-hbar", "");
+                  set_int(sbvis_h, 0);
+               }
+            }
+         }
+      }
+      program {
+         name: "sb_hbar_show";
+         signal: "do-show-hbar";
+         source: "";
+         action:  STATE_SET "default" 0.0;
+         transition: LINEAR 1.0;
+         target: "sb_hbar_clip";
+      }
+      program {
+         name: "sb_hbar_hide";
+         signal: "do-hide-hbar";
+         source: "";
+         action:  STATE_SET "hidden" 0.0;
+         transition: LINEAR 1.0;
+         target: "sb_hbar_clip";
+      }
+      program {
+         name: "scroll";
+         signal: "elm,action,scroll";
+         source: "elm";
+         action:  STATE_SET "default" 0.0;
+         script {
+            new v;
+            v = get_int(sbvis_v);
+            v |= get_int(sbalways_v);
+            if (!v) {
+               emit("do-show-vbar", "");
+               set_int(sbvis_v, 1);
+            }
+            v = get_int(sbvis_h);
+            v |= get_int(sbalways_h);
+            if(!v) {
+               emit("do-show-hbar", "");
+               set_int(sbvis_h, 1);
+            }
+            v = get_int(sbvis_timer);
+            if (v > 0) cancel_timer(v);
+            v = timer(2.0, "timer0", 0);
+            set_int(sbvis_timer, v);
+         }
+      }
+      program { name: "show";
+         signal: "show";
+         source: "";
+         script {
+            new v;
+            emit("do-show-vbar", "");
+            set_int(sbvis_v, 1);
+            v = get_int(sbalways_v);
+            if (!v) {
+               v = get_int(sbvis_timer);
+               if (v > 0) cancel_timer(v);
+               v = timer(1.0, "timer0", 0);
+               set_int(sbvis_timer, v);
+            }
+            emit("do-show-hbar", "");
+            set_int(sbvis_h, 1);
+            v = get_int(sbalways_h);
+            if (!v) {
+               v = get_int(sbvis_timer);
+               if (v > 0) cancel_timer(v);
+               v = timer(1.0, "timer0", 0);
+               set_int(sbvis_timer, v);
+            }
+         }
+      }
+      program { name: "edge_top";
+         signal: "elm,edge,top";
+         source: "elm";
+         script {
+            set_state(PART:"shadow_top", "edge", 0.0);
+            set_state(PART:"shadow_bottom", "hidden", 0.0);
+         }
+         after: "edge_vertical";
+      }
+      program { name: "edge_bottom";
+         signal: "elm,edge,bottom";
+         source: "elm";
+         script {
+            set_state(PART:"shadow_top", "hidden", 0.0);
+            set_state(PART:"shadow_bottom", "edge", 0.0);
+         }
+         after: "edge_vertical";
+      }
+      program { name: "edge_left";
+         signal: "elm,edge,left";
+         source: "elm";
+         script {
+            set_state(PART:"shadow_left", "edge", 0.0);
+            set_state(PART:"shadow_right", "hidden", 0.0);
+         }
+         after: "edge_horizontal";
+      }
+      program { name: "edge_right";
+         signal: "elm,edge,right";
+         source: "elm";
+         script {
+            set_state(PART:"shadow_left", "hidden", 0.0);
+            set_state(PART:"shadow_right", "edge", 0.0);
+         }
+         after: "edge_horizontal";
+      }
+      program { name: "edge_vertical";
+         script {
+            new v;
+            v = get_int(edge_timer);
+            if (!v) {
+                emit("do-show-vshadow", "");
+            }
+            if (v > 0) cancel_timer(v);
+            v = timer(0.1, "timer2", 0);
+            set_int(edge_timer, v);
+         }
+      }
+      program { name: "edge_horizontal";
+         script {
+            new v;
+            v = get_int(edge_timer);
+            if (!v) {
+                emit("do-show-hshadow", "");
+            }
+            if (v > 0) cancel_timer(v);
+            v = timer(0.1, "timer2", 0);
+            set_int(edge_timer, v);
+         }
+      }
+   }
+}
+///////////////////////////////////////////////////////////////////////////////
+group {
+   name: "elm/scroller/base/more_gallery/default";
+   inherit: "elm/scroller/base/ctxpopup";
+   GL_RES_IMG(GALLERY_EDC_IMAGE_OS_TOP);
+
+   parts {
+      part { name: "shadow_top";
+         clip_to: "vshadow_clip";
+         type: IMAGE;
+         scale: 1;
+         mouse_events: 0;
+         description { state: "default" 0.0;
+            min: 0 30;
+            fixed: 1 1;
+            align: 0.5 0.0;
+            color: 255 255 255 100;
+            rel1.relative: 0.0 0.0;
+            rel2.relative: 1.0 0.0;
+            image.normal: GALLERY_EDC_IMAGE_OS_TOP;
+            image.border: 0 0 0 0;
+         }
+         description { state: "edge" 0.0;
+            inherit: "default" 0.0;
+            color: 255 255 255 255;
+         }
+         description { state: "hidden" 0.0;
+            inherit: "default" 0.0;
+            visible: 0;
+         }
+      }
+   }
+}
+
+///////////////////////////////////////////////////////////////////////////////
+group { name: "elm/ctxpopup/arrow/more_gallery/default"; }
+
+///////////////////////////////////////////////////////////////////////////////
+group {
+   name: "elm/ctxpopup/base/more_gallery/default";
+   images {
+      GL_RES_IMG(GALLERY_EDC_IMAGE_POPUP_DORPDOWN_BG);
+   }
+   parts {
+      part {
+         name:"frame_shadow_left_top_padding";
+         type: SPACER;
+         scale: 1;
+         description {
+            state: "default" 0.0;
+            min: CTXPOPUP_SHADOW_LEFT_PADDING 0;//CTXPOPUP_SHADOW_TOP_PADDING;
+            max: CTXPOPUP_SHADOW_LEFT_PADDING 0;//CTXPOPUP_SHADOW_TOP_PADDING;
+            rel2 { relative: 0 0; }
+            align: 0 0;
+            fixed: 1 1;
+         }
+      }
+      part {
+         name:"frame_shadow_right_bottom_padding";
+         type: SPACER;
+         scale: 1;
+         description {
+            state: "default" 0.0;
+            min: CTXPOPUP_SHADOW_RIGHT_PADDING CTXPOPUP_SHADOW_TOP_PADDING;
+            max: CTXPOPUP_SHADOW_RIGHT_PADDING CTXPOPUP_SHADOW_TOP_PADDING;
+            rel1{relative: 1 1;}
+            align: 1 1;
+            fixed: 1 1;
+         }
+      }
+      part {
+         name: "frame_bg";
+         type: IMAGE;
+         scale: 1;
+         mouse_events: 0;
+         description {
+            state: "default" 0.0;
+            rel1 {to:"frame_shadow_left_top_padding";}
+            rel2 {to:"frame_shadow_right_bottom_padding";}
+            min: CTXPOPUP_MORE_WIDTH_MIN_INC 0;
+            image {
+               normal: GALLERY_EDC_IMAGE_POPUP_DORPDOWN_BG;
+               border: CTXPOPUP_BUBBLE_MORE_BG_IMAGE_BORDER;
+               border_scale: 1;
+            }
+         }
+      }
+      part {
+         name:"content_left_top_padding";
+         type: SPACER;
+         scale: 1;
+         description {
+            state: "default" 0.0;
+            min: CTXPOPUP_CONTENT_PADDING_WIDTH CTXPOPUP_CONTENT_PADDING_HEIGHT;
+            max: CTXPOPUP_CONTENT_PADDING_WIDTH CTXPOPUP_CONTENT_PADDING_HEIGHT;
+            rel1 {to:"frame_shadow_left_top_padding";  relative: 1.0 1.0;}
+            align: 0 0;
+            fixed: 1 1;
+         }
+      }
+      part {
+         name:"content_right_bottom_padding";
+         type: SPACER;
+         scale: 1;
+         description {
+            state: "default" 0.0;
+            min: CTXPOPUP_CONTENT_PADDING_WIDTH 0;
+            max: CTXPOPUP_CONTENT_PADDING_WIDTH 0;
+            rel2 {to:"frame_shadow_right_bottom_padding";  relative: 0.0 0.0;}
+            align: 1 1;
+            fixed: 1 1;
+         }
+      }
+      part {
+         name: "elm.swallow.content";
+         type: SWALLOW;
+         description {
+            state: "default" 0.0;
+            align: 0 0;
+            rel1 {to:"content_left_top_padding";  relative: 1.0 1.0;}
+            rel2 {to:"content_right_bottom_padding";  relative: 0.0 0.0;}
+         }
+      }
+      part { name: "access.outline";
+         type: RECT;
+         repeat_events: 1;
+         description { state: "default" 0.0;
+            fixed: 1 1;
+            rel1.to: "frame_bg";
+            rel2.to: "frame_bg";
+            color: 0 0 0 0;
+         }
+      }
+   }
+}
+///////////////////////////////////////////////////////////////////////////////
+group {
+   name: "elm/ctxpopup/icon_text_style_item/more_gallery/default";
+
+   images {
+      GL_RES_IMG(GALLERY_EDC_IMAGE_MORE_POPUP_PRESS);
+   }
+
+   script {
+      public mouse_down = 0;
+      public multi_down = 0;
+   }
+
+   data.item: "item_max_size" CTXPOPUP_MORE_TEXT_MAX_INC;
+
+   parts {
+      part {
+         name: "event_blocker";
+         type: RECT;
+         mouse_events: 1;
+         description {
+            state: "default" 0.0;
+            color: 0 0 0 0;
+         }
+      }
+      part {
+         name: "bg";
+         mouse_events: 0;
+         type: IMAGE;
+         scale: 1;
+         description {
+            state: "default" 0.0;
+            visible: 0;
+            min: (CTXPOPUP_MORE_WIDTH_MIN_INC-CTXPOPUP_SHADOW_LEFT_PADDING-CTXPOPUP_SHADOW_RIGHT_PADDING-CTXPOPUP_CONTENT_PADDING_WIDTH*2-CTXPOPUP_PRESS_PADDING*2) 1;
+            max: (CTXPOPUP_MORE_WIDTH_MAX_INC-CTXPOPUP_SHADOW_LEFT_PADDING-CTXPOPUP_SHADOW_RIGHT_PADDING-CTXPOPUP_CONTENT_PADDING_WIDTH*2-CTXPOPUP_PRESS_PADDING*2) (CTXPOPUP_MORE_ITEM_HEIGHT_MAX_INC-CTXPOPUP_PRESS_PADDING*2);
+            rel1 {to_x: "bg_press_left_padding"; to_y: "bg_press_top_padding"; relative: 1.0 1.0;}
+            rel2 {to_x: "bg_press_right_padding"; to_y: "bg_press_bottom_padding"; relative: 0.0 0.0;}
+            image {
+               normal: GALLERY_EDC_IMAGE_MORE_POPUP_PRESS;
+               border: CTXPOPUP_BUBBLE_BG_PRESSED_IMAGE_BORDER;
+               border_scale: 1;
+            }
+         }
+         description {
+            state: "clicked" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+         }
+      }
+      part {
+         name: "bg_press_left_padding";
+         type: SPACER;
+         scale: 1;
+         description {
+            state: "default" 0.0;
+            min: CTXPOPUP_PRESS_PADDING CTXPOPUP_ITEM_HEIGHT_MIN_INC;
+            max: CTXPOPUP_PRESS_PADDING CTXPOPUP_ITEM_HEIGHT_MAX_INC;
+            rel1 {to: "bg_press_top_padding"; relative: 0.0 0.0;}
+            align: 0 0.5;
+         }
+      }
+      part {
+         name: "bg_press_right_padding";
+         type: SPACER;
+         scale: 1;
+         description {
+            state: "default" 0.0;
+            min: CTXPOPUP_PRESS_PADDING CTXPOPUP_ITEM_HEIGHT_MIN_INC;
+            max: CTXPOPUP_PRESS_PADDING CTXPOPUP_ITEM_HEIGHT_MAX_INC;
+            rel2 {to: "bg_press_bottom_padding"; relative: 1.0 1.0;}
+            align: 1 0.5;
+         }
+      }
+      part {
+         name: "bg_press_top_padding";
+         type: SPACER;
+         scale: 1;
+         description {
+            state: "default" 0.0;
+            min: (CTXPOPUP_WIDTH_MIN_INC-CTXPOPUP_CONTENT_PADDING_WIDTH*2) CTXPOPUP_PRESS_PADDING2;
+            max: (CTXPOPUP_WIDTH_MAX_INC-CTXPOPUP_CONTENT_PADDING_WIDTH*2) CTXPOPUP_PRESS_PADDING2;
+            rel1 {to: "separator2"; relative: 0.0 1.0;}
+            align: 0.5 0;
+         }
+      }
+      part {
+         name: "bg_press_bottom_padding";
+         type: SPACER;
+         scale: 1;
+         description {
+            state: "default" 0.0;
+            min: (CTXPOPUP_WIDTH_MIN_INC-CTXPOPUP_CONTENT_PADDING_WIDTH*2) CTXPOPUP_PRESS_PADDING2;
+            max: (CTXPOPUP_WIDTH_MAX_INC-CTXPOPUP_CONTENT_PADDING_WIDTH*2) CTXPOPUP_PRESS_PADDING2;
+            align: 0.5 1;
+         }
+      }
+      part {
+         name: "icon_left_padding";
+         type: SPACER;
+         scale: 1;
+         description {
+            state: "default" 0.0;
+            min: (CTXPOPUP_MORE_ITEM_PADDING_INC-CTXPOPUP_CONTENT_PADDING_WIDTH) CTXPOPUP_MORE_ITEM_HEIGHT_MIN_INC;
+            max: (CTXPOPUP_MORE_ITEM_PADDING_INC-CTXPOPUP_CONTENT_PADDING_WIDTH) CTXPOPUP_MORE_ITEM_HEIGHT_MAX_INC;
+            align: 0 0;
+            fixed: 1 1;
+         }
+      }
+      part {
+         name: "separator1";
+         mouse_events: 0;
+         type: RECT;
+         scale: 1;
+         description {
+            state: "default" 0.0;
+            color: CTXPOPUP_SEPARATOR_COLOR_INC;
+            rel1 { relative: 0.0 0.0; }
+            rel2 { relative: 1.0 1.0; }
+            align: 0.5 0;
+            fixed: 0 1;
+            min: 0 CTXPOPUP_SEPARATOR_PXLINE_SIZE_INC;
+            max: 999999 CTXPOPUP_SEPARATOR_PXLINE_SIZE_INC;
+            visible: 0;
+         }
+         description {
+            state: "visible" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+         }
+      }
+      part {
+         name: "separator2";
+         mouse_events: 0;
+         type: RECT;
+         scale: 1;
+         description {
+            state: "default" 0.0;
+            color: CTXPOPUP_SEPARATOR2_COLOR_INC;
+            rel1 { relative: 0.0 1.0; to: "separator1"; }
+            rel2.to: "separator1";
+            rel2.offset: 0 0;
+            align: 0.5 0;
+            fixed: 0 1;
+            min: 0 CTXPOPUP_SEPARATOR_PXLINE_SIZE_INC;
+            max: 999999 CTXPOPUP_SEPARATOR_PXLINE_SIZE_INC;
+            visible: 0;
+         }
+         description {
+            state: "visible" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+         }
+      }
+      part {
+         name: "elm.swallow.icon";
+         type: SWALLOW;
+         clip_to: "icon_clip";
+         scale: 1;
+         description {
+            state: "default" 0.0;
+            min: CTXPOPUP_MORE_ICON_WIDTH_INC CTXPOPUP_MORE_ICON_HEIGHT_INC;
+            max: CTXPOPUP_MORE_ICON_WIDTH_INC CTXPOPUP_MORE_ICON_HEIGHT_INC;
+            align: 0 0.5;
+            aspect: 1.0 1.0;
+            rel1 { to:"icon_left_padding"; relative: 1 0; }
+         }
+      }
+      part {
+         name: "icon_clip";
+         type: RECT;
+         scale: 1;
+         description {
+            state: "default" 0.0;
+            rel1.to: "elm.swallow.icon";
+            rel2.to: "elm.swallow.icon";
+            color: CTXPOPUP_ICON_CLIP_DEFAULT_COLOR_INC;
+         }
+         description {
+            state: "disabled" 0.0;
+            inherit: "default" 0.0;
+            color: CTXPOPUP_ICON_CLIP_DIM_COLOR_INC;
+         }
+      }
+      part {
+         name: "icon_right_padding";
+         type: SPACER;
+         scale: 1;
+         description {
+            state: "default" 0.0;
+            min: CTXPOPUP_MORE_ITEM_PADDING_INC CTXPOPUP_MORE_ITEM_HEIGHT_MIN_INC;
+            max: CTXPOPUP_MORE_ITEM_PADDING_INC CTXPOPUP_MORE_ITEM_HEIGHT_MAX_INC;
+            align: 0 0.5;
+            fixed: 1 1;
+            rel1 { to:"elm.swallow.icon"; relative: 1 1; }
+         }
+      }
+      part {
+         name: "elm.text";
+         type:  TEXT;
+         mouse_events:  0;
+         scale: 1;
+         description {
+            state: "default" 0.0;
+            min: 1 (CTXPOPUP_MORE_ITEM_HEIGHT_MIN_INC-CTXPOPUP_PRESS_PADDING*2);
+            max: CTXPOPUP_MORE_TEXT_MAX_INC CTXPOPUP_MORE_ITEM_HEIGHT_MAX_INC;
+            align: 0.5 0.5;
+            rel1 {relative: 1.0 0.0; to_x: "icon_right_padding"; to_y: "bg";}
+            rel2 {relative: 0.0 1.0; to_x: "text_right_padding"; to_y: "bg";}
+            color: CTXPOPUP_LIST_MAIN_TEXT_COLOR_INC;
+            text {
+               font: "Tizen:style=Regular";
+               size: CTXPOPUP_MORE_ITEM_TEXT_SIZE_INC;
+               size_range: CTXPOPUP_LIST_MAIN_TEXT_SIZE_INC CTXPOPUP_LIST_MAIN_TEXT_MAX_SIZE_INC;
+               align: 0.0 0.5;
+               min: 1 1;
+               text_class: "list_item";
+            }
+         }
+         description {
+            state: "clicked" 0.0;
+            inherit: "default" 0.0;
+            color: CTXPOPUP_LIST_MAIN_TEXT_PRESS_COLOR_INC;
+            text.min: 0 1;
+         }
+         description {
+            state: "disabled" 0.0;
+            inherit: "default" 0.0;
+            color: CTXPOPUP_LIST_MAIN_TEXT_DIM_COLOR_INC;
+         }
+         description {
+            state: "ellipsis" 0.0;
+            inherit: "default" 0.0;
+            min: CTXPOPUP_MORE_TEXT_MAX_INC CTXPOPUP_MORE_ITEM_HEIGHT_MIN_INC;
+            text.min: 0 1;
+         }
+         description {
+            state: "ellipsis_disabled" 0.0;
+            inherit: "ellipsis" 0.0;
+            color: CTXPOPUP_LIST_MAIN_TEXT_DIM_COLOR_INC;
+         }
+      }
+      part {
+         name: "text_right_padding";
+         type: SPACER;
+         scale: 1;
+         description {
+            state: "default" 0.0;
+            min: (CTXPOPUP_MORE_ITEM_PADDING_INC-CTXPOPUP_CONTENT_PADDING_WIDTH) CTXPOPUP_MORE_ITEM_HEIGHT_MIN_INC;
+            max: (CTXPOPUP_MORE_ITEM_PADDING_INC-CTXPOPUP_CONTENT_PADDING_WIDTH) CTXPOPUP_MORE_ITEM_HEIGHT_MAX_INC;
+            fixed: 1 0;
+            align: 1.0 0.5;
+         }
+      }
+      part {
+         name: "over1";
+         type: RECT;
+         mouse_events: 1;
+         repeat_events: 1;
+         description {
+            state: "default" 0.0;
+            color: 0 0 0 0;
+         }
+      }
+      part {
+         name: "over2";
+         type: RECT;
+         mouse_events: 1;
+         repeat_events: 1;
+         dragable {
+            x: 1 1 0;
+            y: 1 1 0;
+         }
+         description {
+            state: "default" 0.0;
+            rel1.to:"bg";
+            rel2.to:"bg";
+            color: 0 0 0 0;
+         }
+      }
+      part {
+         name: "disclip";
+         type: RECT;
+         description {
+            state: "default" 0.0;
+            visible: 0;
+         }
+         description {
+            state: "disabled" 0.0;
+            visible: 1;
+            color: CTXPOPUP_ITEM_DISABLED_COLOR;
+         }
+      }
+   }
+   programs {
+      program {
+         name: "text_default";
+         signal: "elm,state,text,default";
+         source: "elm";
+         script {
+            new st[31];
+            new Float:vl;
+            get_state(PART:"elm.text", st, 30, vl);
+            if ((!strcmp(st, "disabled")) || (!strcmp(st, "ellipsis_disabled")))
+              set_state(PART:"elm.text", "disabled", 0.0);
+            else
+              set_state(PART:"elm.text", "default", 0.0);
+         }
+      }
+      program {
+         name: "text_ellipsis";
+         signal: "elm,state,text,ellipsis";
+         source: "elm";
+         script {
+            new st[31];
+            new Float:vl;
+            get_state(PART:"elm.text", st, 30, vl);
+            if (!strcmp(st, "disabled") || !strcmp(st, "ellipsis_disabled"))
+              set_state(PART:"elm.text", "ellipsis_disabled", 0.0);
+            else
+              set_state(PART:"elm.text", "ellipsis", 0.0);
+         }
+      }
+      program {
+         name: "item_unclick";
+         signal: "mouse,clicked,1";
+         source: "over1";
+         script {
+            if (get_int(multi_down) == 0) {
+               emit("elm,action,click", "");
+               run_program(PROGRAM:"touch_snd");
+            }
+         }
+      }
+      program {
+         name: "touch_snd";
+         action: PLAY_SAMPLE "touch_sound" 1.0;
+      }
+      program {
+         name: "disable";
+         signal: "elm,state,disabled";
+         source: "elm";
+         script {
+            new st[31];
+            new Float:vl;
+            get_state(PART:"elm.text", st, 30, vl);
+            if ((!strcmp(st, "ellipsis")) || (!strcmp(st, "ellipsis_disabled")))
+              set_state(PART:"elm.text", "ellipsis_disabled", 0.0);
+            else
+              set_state(PART:"elm.text", "disabled", 0.0);
+            set_state(PART:"icon_clip", "disabled", 0.0);
+            set_state(PART:"disclip", "disabled", 0.0);
+         }
+      }
+      program {
+         name: "enable";
+         signal: "elm,state,enabled";
+         source: "elm";
+         script {
+            new st[31];
+            new Float:vl;
+            get_state(PART:"elm.text", st, 30, vl);
+            if ((!strcmp(st, "ellipsis")) || (!strcmp(st, "ellipsis_disabled")))
+              set_state(PART:"elm.text", "ellipsis", 0.0);
+            else
+              set_state(PART:"elm.text", "default", 0.0);
+            set_state(PART:"icon_clip", "default", 0.0);
+            set_state(PART:"disclip", "default", 0.0);
+         }
+      }
+      program {
+         name: "default";
+         signal: "elm,state,default";
+         source: "elm";
+         script {
+            set_state(PART:"separator1", "default", 0.0);
+            set_state(PART:"separator2", "default", 0.0);
+         }
+      }
+      program {
+         name: "separator";
+         signal: "elm,state,separator";
+         source: "elm";
+         script {
+            set_state(PART:"separator1", "visible", 0.0);
+            set_state(PART:"separator2", "visible", 0.0);
+         }
+      }
+      program {
+         name: "item_click2";
+         signal: "mouse,down,1";
+         source: "over2";
+         script {
+            if (get_int(multi_down) == 0 && get_int(mouse_down) == 0) {
+               set_int(mouse_down, 1);
+               set_state(PART:"elm.text", "clicked", 0.0);
+               set_state(PART:"bg", "clicked", 0.0);
+            }
+         }
+      }
+      program {
+         name: "drag";
+         signal: "drag";
+         source: "over2";
+         script {
+            new Float:dx, Float:dy;
+            get_drag(PART:"over2", dx, dy);
+            if ((abs(dx) > 20) || (abs(dy) > 20)) {
+               set_drag(PART:"over2", 0.0, 0.0);
+               set_state(PART:"bg", "default", 0.0);
+            }
+            set_drag(PART:"over2", 0.0, 0.0);
+         }
+      }
+      program {
+         name: "item_unclick2";
+         signal: "mouse,up,1";
+         source: "over2";
+         script {
+            if (get_int(mouse_down) == 1) {
+               set_int(mouse_down, 0);
+               set_drag(PART:"over2", 0.0, 0.0);
+               set_state(PART:"bg", "default", 0.0);
+            }
+         }
+      }
+      program {
+         name: "multi_down";
+         signal: "elm,action,multi,down";
+         source: "elm";
+         script {
+            set_int(multi_down, 1);
+         }
+      }
+      program {
+         name: "multi_up";
+         signal: "elm,action,multi,up";
+         source: "elm";
+         script {
+            set_int(multi_down, 0);
+         }
+      }
+   }
+}
diff --git a/res/black_theme/edc/gl-entry.edc b/res/black_theme/edc/gl-entry.edc
new file mode 100755 (executable)
index 0000000..3f9f228
--- /dev/null
@@ -0,0 +1,711 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+/* Refer to: "elm/layout/searchbar/cancel_button" */
+
+#define ENTRY_TEXT_SIZE_INC 44
+
+#define SEARCHBAR_CANCEL_BUTTON_W_INC 136
+#define SEARCHBAR_CANCEL_BUTTON_WITH_DOUBLE_PADDING_W_INC 166
+#define SEARCHBAR_CANCEL_BUTTON_LEFT_PADDING_INC 10
+#define SEARCHBAR_TOP_PADDING_INC 10
+#define SEARCHBAR_BOTTOM_PADDING_INC 10
+#define SEARCHBAR_HEIGHT_INC 66
+#define SEARCHBAR_LEFT_PADDING_INC 26
+#define SEARCHBAR_RIGHT_PADDING_INC 26
+#define SEARCHBAR_INPUTFIELD_BORDER_INC 12 13 12 13
+#define SEARCHBAR_LEFT_ICON_PADDING_INC 0 // 16
+#define SEARCHBAR_LEFT_PADDING_SEARCHFIELD_INC 16
+#define SEARCHBAR_RIGHT_PADDING_SEARCHFIELD_INC 8
+#define SEARCHBAR_SEARCH_TEXTFIELD_H_INC 60
+
+#define EDITFIELD_TITLE_SIZE_INC 32
+#define EDITFIELD_TITLE_COLOR_INC 59 115 182 255
+#define EDITFIELD_GUIDE_TEXT_COLOR_INC 121 131 138 255
+#define EDITFIELD_SEARCHBAR_TOP1_SINGLE_INC 6
+#define EDITFIELD_SEARCHBAR_TOP1_MULTI_INC 10
+#define EDITFIELD_SEARCHBAR_TOP2_INC 10
+#define EDITFIELD_SEARCHBAR_LEFT1_INC 0
+#define EDITFIELD_SEARCHBAR_LEFT2_INC 0
+#define EDITFIELD_SEARCHBAR_RIGHT1_ERASER_SHOW_INC 56
+#define EDITFIELD_SEARCHBAR_RIGHT2_INC 5
+#define EDITFIELD_SEARCHBAR_BOTTOM1_SINGLE_INC 8
+#define EDITFIELD_SEARCHBAR_BOTTOM1_MULTI_INC 2
+#define EDITFIELD_SEARCHBAR_BOTTOM2_SINGLE_INC 16
+#define EDITFIELD_SEARCHBAR_BOTTOM2_MULTI_INC 2
+#define EDITFIELD_SEARCHBAR_BOTTOM3_SINGLE_INC 50
+#define EDITFIELD_SEARCHBAR_BOTTOM3_MULTI_INC 50
+#define EDITFIELD_SEARCHBAR_ERASER_MINW_INC 38
+#define EDITFIELD_SEARCHBAR_ERASER_MINH_INC 38
+#define EDITFIELD_SEARCHBAR_ERASER_EVENT_MINW_INC 38
+#define EDITFIELD_SEARCHBAR_ERASER_EVENT_MINH_INC 50
+#define EDITFIELD_ERASER_DEFAULT_COLOR_INC 128 128 128 255
+#define EDITFIELD_ERASER_PRESSED_COLOR_INC 59 115 182 255
+
+group { name: "elm/layout/searchbar/gallery";
+   images {
+      image: GALLERY_EDC_IMAGE_EDITFIELD_CLEAR COMP;
+      image: GALLERY_EDC_IMAGE_SEARCH_EDIT_FIELD_BG COMP;
+      image: GALLERY_EDC_IMAGE_SEARCH_EDIT_FIELD_BG_FOCUS COMP;
+   }
+   parts {
+     part { name: "top_padding_rect";
+         type: RECT;
+         scale: 1;
+         description { state: "default" 0.0;
+            visible: 0;
+            min: 0 SEARCHBAR_TOP_PADDING_INC;
+            fixed: 0 1;
+            align: 0 0;
+            rel2.relative: 1.0 0.0;
+         }
+      }
+      part { name: "bottom_padding_rect";
+         type: RECT;
+         scale: 1;
+         description { state: "default" 0.0;
+            visible: 0;
+            min: 0 SEARCHBAR_BOTTOM_PADDING_INC;
+            fixed: 0 1;
+            align: 0 1;
+            rel1.relative: 0.0 1.0;
+         }
+      }
+      part { name: "base_bg";
+         type: RECT;
+         scale: 1;
+         description { state: "default" 0.0;
+            visible: 0;
+            min: 0 SEARCHBAR_HEIGHT_INC;
+            align: 0 0.5;
+            fixed: 0 1;
+            rel1 {
+               relative: 0.0 1.0;
+               to: "top_padding_rect";
+            }
+            rel2 {
+               relative: 1.0 0.0;
+               to: "bottom_padding_rect";
+            }
+         }
+      }
+      part { name: "left_padding_rect";
+         type: RECT;
+         scale: 1;
+         description { state: "default" 0.0;
+            visible: 0;
+            min: SEARCHBAR_LEFT_PADDING_INC 0;
+            fixed: 1 0;
+            align: 0 0;
+            rel2.relative: 0.0 1.0;
+         }
+      }
+      part { name: "right_padding_rect";
+         type: RECT;
+         scale: 1;
+         description { state: "default" 0.0;
+            visible: 0;
+            min: SEARCHBAR_RIGHT_PADDING_INC 0;
+            fixed: 1 0;
+            align: 1.0 0.0;
+            rel1.relative: 1.0 0.0;
+         }
+         /*description { state: "in" 0.0;
+            inherit: "default" 0.0;
+            min: SEARCHBAR_CANCEL_BUTTON_WITH_DOUBLE_PADDING_W_INC 0;
+         }*/
+      }
+      part { name: "inputfield_rect";
+         type: IMAGE;
+         scale: 1;
+         description { state: "default" 0.0;
+            align: 0.0 0.5;
+            rel1 {
+               relative: 1.0 0.0;
+               to_x: "left_padding_rect";
+               to_y: "base_bg";
+            }
+            rel2 {
+               relative: 0.0 1.0;
+               to_x: "right_padding_rect";
+               to_y: "base_bg";
+            }
+            image {
+               normal: GALLERY_EDC_IMAGE_SEARCH_EDIT_FIELD_BG;
+               border: SEARCHBAR_INPUTFIELD_BORDER_INC;
+            }
+         }
+      }
+      part {
+         name: "focus_image";
+         mouse_events:1;
+         scale: 1;
+         description {
+            state: "default" 0.0;
+            visible: 0;
+            image.normal: GALLERY_EDC_IMAGE_SEARCH_EDIT_FIELD_BG_FOCUS;
+            image.border: SEARCHBAR_INPUTFIELD_BORDER_INC;
+            image.border_scale: 1;
+            rel1.to: "inputfield_rect";
+            rel2.to: "inputfield_rect";
+         }
+         description {
+            state: "in" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+         }
+      }
+      part { name: "right_btn_padding_rect";
+         type: RECT;
+         scale: 1;
+         description { state: "default" 0.0;
+            visible: 0;
+            min: SEARCHBAR_RIGHT_PADDING_INC 0;
+            fixed: 1 0;
+            align: 0.0 0.0;
+            rel1.relative: 1.0 0.0;
+            rel1.to: "inputfield_rect";
+            rel2.relative: 1.0 1.0;
+            rel2.to: "inputfield_rect";
+         }
+         /*description { state: "in" 0.0;
+            inherit: "default" 0.0;
+            min: SEARCHBAR_CANCEL_BUTTON_LEFT_PADDING_INC 0;
+         }*/
+      }
+      part { name: "left_icon_padding_rect";
+         type: RECT;
+         scale: 1;
+         description { state: "default" 0.0;
+            visible: 0;
+            min: SEARCHBAR_LEFT_ICON_PADDING_INC 0;
+            fixed: 1 0;
+            align: 0 0;
+            rel1.to: "inputfield_rect";
+            rel2 {
+               relative: 0.0 1.0;
+               to: "inputfield_rect";
+            }
+         }
+      }
+      part { name: "left_padding_search_textfield";
+         type: RECT;
+         scale: 1;
+         description { state: "default" 0.0;
+            visible: 0;
+            min: SEARCHBAR_LEFT_PADDING_SEARCHFIELD_INC 0;
+            fixed: 1 0;
+            align: 0.0 0.5;
+            rel1 {
+               relative: 1.0 0.0;
+               to_x: "left_icon_padding_rect";
+               to_y: "inputfield_rect";
+            }
+            rel2 {
+               relative: 1.0 1.0;
+               to_x: "left_icon_padding_rect";
+               to_y: "inputfield_rect";
+            }
+         }
+      }
+      part { name: "right_padding_search_textfield";
+         type: RECT;
+         scale: 1;
+         description { state: "default" 0.0;
+            visible: 0;
+            min: SEARCHBAR_RIGHT_PADDING_SEARCHFIELD_INC 0;
+            fixed: 1 0;
+            align: 1.0 0.5;
+            rel1 {
+               relative: 1.0 0.0;
+               to: "inputfield_rect";
+            }
+            rel2 {
+               relative: 1.0 1.0;
+               to: "inputfield_rect";
+            }
+         }
+      }
+      part { name: "search_textfield";
+         type: RECT;
+         mouse_events: 1;
+         scale: 1;
+         ignore_flags: ON_HOLD;
+         description { state: "default" 0.0;
+            visible: 0;
+            min: 0 SEARCHBAR_SEARCH_TEXTFIELD_H_INC;
+            fixed: 0 1;
+            align: 0.0 0.5;
+            rel1 {
+               relative: 1.0 0.0;
+               to: "left_padding_search_textfield";
+            }
+            rel2 {
+               relative: 0.0 1.0;
+               to: "right_padding_search_textfield";
+            }
+         }
+      }
+      part { name: "button_cancel";
+         type: SWALLOW;
+         mouse_events: 1;
+         scale: 1;
+         description { state: "default" 0.0;
+            fixed: 1 1;
+            min: SEARCHBAR_CANCEL_BUTTON_W_INC 0;
+            align: 0.0 0.5;
+            state: "default" 0.0;
+            rel1 {
+               relative: 1.0 1.0;
+               to_x: "right_btn_padding_rect";
+               to_y: "top_padding_rect";
+            }
+            rel2 {
+               relative: 1.0 0.0;
+               to_x: "right_btn_padding_rect";
+               to_y: "bottom_padding_rect";
+            }
+         }
+      }
+      part { name: "top1";
+         type: RECT;
+         scale: 1;
+         ignore_flags: ON_HOLD;
+         description { state: "default" 0.0;
+            visible: 0;
+            min: 0 EDITFIELD_SEARCHBAR_TOP1_SINGLE_INC;
+            fixed: 1 1;
+            rel1 {
+               relative: 0.0 0.0;
+               to: "search_textfield";
+            }
+            rel2 {
+               relative: 1.0 0.0;
+               to: "search_textfield";
+            }
+            align: 0.5 0;
+         }
+         description { state: "elm.text.show" 0.0;
+            inherit: "default" 0.0;
+            min: 0 EDITFIELD_SEARCHBAR_TOP1_MULTI_INC;
+         }
+      }
+      part { name: "top2";
+         type: RECT;
+         scale: 1;
+         ignore_flags: ON_HOLD;
+         description { state: "default" 0.0;
+            visible: 0;
+            min: 0 EDITFIELD_SEARCHBAR_TOP2_INC;
+            fixed: 1 1;
+            rel1 {
+               relative: 0.0 0.0;
+               to: "search_textfield";
+            }
+            rel2 {
+               relative: 1.0 0.0;
+               to: "search_textfield";
+            }
+            align: 0.5 0;
+         }
+      }
+      part { name: "left1";
+         type: RECT;
+         scale: 1;
+         ignore_flags: ON_HOLD;
+         description { state: "default" 0.0;
+            visible: 0;
+            min: EDITFIELD_SEARCHBAR_LEFT1_INC 0;
+            fixed: 1 1;
+            align: 0 0;
+            rel1 {
+               relative: 0.0 0.0;
+               to: "search_textfield";
+            }
+            rel2 {
+               relative: 0.0 1.0;
+               to: "search_textfield";
+            }
+         }
+      }
+      part { name: "left2";
+         type: RECT;
+         scale: 1;
+         ignore_flags: ON_HOLD;
+         description { state: "default" 0.0;
+            visible: 0;
+            min: EDITFIELD_SEARCHBAR_LEFT2_INC 0;
+            fixed: 1 1;
+            align: 0 0;
+            rel1 {
+               relative: 0.0 0.0;
+               to: "search_textfield";
+            }
+            rel2 {
+               relative: 0.0 1.0;
+               to: "search_textfield";
+            }
+         }
+      }
+      part { name: "right1";
+         type: RECT;
+         scale: 1;
+         ignore_flags: ON_HOLD;
+         description { state: "default" 0.0;
+            visible: 0;
+            min: EDITFIELD_SEARCHBAR_RIGHT1_ERASER_SHOW_INC 0;
+            fixed: 1 1;
+            align: 1 0;
+            rel1 {
+               relative: 1.0 0.0;
+               to: "search_textfield";
+            }
+            rel2.to: "search_textfield";
+         }
+      }
+      part { name: "right2";
+         type: RECT;
+         scale: 1;
+         ignore_flags: ON_HOLD;
+         description { state: "default" 0.0;
+            visible: 0;
+            min: EDITFIELD_SEARCHBAR_RIGHT2_INC 0;
+            fixed: 1 1;
+            align: 1 0;
+            rel1 {
+               relative: 1.0 0.0;
+               to: "search_textfield";
+            }
+            rel2.to: "search_textfield";
+         }
+      }
+      part { name: "bottom1";
+         type: RECT;
+         scale: 1;
+         ignore_flags: ON_HOLD;
+         description { state: "default" 0.0;
+            visible: 0;
+            min: 0 EDITFIELD_SEARCHBAR_BOTTOM1_SINGLE_INC;
+            fixed: 1 1;
+            align: 0 1;
+            rel1 {
+               relative: 0.0 1.0;
+               to: "search_textfield";
+            }
+            rel2.to: "search_textfield";
+         }
+         description { state: "elm.text.show" 0.0;
+            inherit: "default" 0.0;
+            min: 0 EDITFIELD_SEARCHBAR_BOTTOM1_MULTI_INC;
+         }
+      }
+      part { name: "bottom2";
+         type: RECT;
+         scale: 1;
+         ignore_flags: ON_HOLD;
+         description { state: "default" 0.0;
+            visible: 0;
+            min: 0 EDITFIELD_SEARCHBAR_BOTTOM2_SINGLE_INC;
+            fixed: 0 1;
+            rel1 {
+               relative: 0.0 1.0;
+               to: "search_textfield";
+            }
+            rel2.to: "search_textfield";
+            align: 0 1;
+         }
+         description { state: "elm.text.show" 0.0;
+            inherit: "default" 0.0;
+            min: 0 EDITFIELD_SEARCHBAR_BOTTOM2_MULTI_INC;
+         }
+      }
+      part { name: "bottom3";
+         type: RECT;
+         scale: 1;
+         ignore_flags: ON_HOLD;
+         description { state: "default" 0.0;
+            visible: 0;
+            min: 0 EDITFIELD_SEARCHBAR_BOTTOM3_SINGLE_INC;
+            fixed: 0 1;
+            rel1 {
+               relative: 0.0 1.0;
+               to: "search_textfield";
+            }
+            rel2.to: "search_textfield";
+            align: 0 1;
+         }
+         description { state: "elm.text.show" 0.0;
+            inherit: "default" 0.0;
+            min: 0 EDITFIELD_SEARCHBAR_BOTTOM3_MULTI_INC;
+         }
+      }
+      part { name: "elm.text";
+         type: TEXT;
+         scale: 1;
+         ignore_flags: ON_HOLD;
+         description { state: "default" 0.0;
+            visible: 0;
+            align: 0.0 0.0;
+            min: 0 34;
+            fixed: 1 1;
+            rel1 {
+               relative: 1.0 1.0;
+               to_x: "left2";
+               to_y: "top2";
+            }
+            rel2 {
+               relative: 1.0 1.0;
+               to_x: "left2";
+               to_y: "top2";
+            }
+            color: EDITFIELD_TITLE_COLOR_INC;
+            text {
+               font: "Tizen:style=Medium";
+               size: EDITFIELD_TITLE_SIZE_INC;
+               min: 1 1;
+               align: 0.0 0.0;
+               text_class: "tizen";
+            }
+         }
+         description { state: "elm.text.show" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+         }
+      }
+      part { name: "elm.guidetext";
+         type: TEXT;
+         scale: 1;
+         ignore_flags: ON_HOLD;
+         description { state: "default" 0.0;
+            align: 0.0 0.0;
+            fixed: 1 1;
+            rel1.to: "elm.swallow.content";
+            rel2.to: "elm.swallow.content";
+            color: EDITFIELD_GUIDE_TEXT_COLOR_INC;
+            text {
+               font: "Tizen:style=Roman";
+               size: ENTRY_TEXT_SIZE_INC;
+               min: 0 0;
+               align: 0.0 0.5;
+               text_class: "tizen";
+            }
+         }
+         description { state: "hidden" 0.0;
+            inherit: "default" 0.0;
+            visible: 0;
+         }
+      }
+      part {
+         name: "elm.swallow.content";
+         type: SWALLOW;
+         scale: 1;
+         ignore_flags: ON_HOLD;
+         description { state: "default" 0.0;
+            min: 0 40;
+            rel1 {
+               relative : 1.0 1.0;
+               to_x: "left1";
+               to_y: "top1";
+            }
+            rel2 {
+               relative : 0.0 0.0;
+               to_x: "right1";
+               to_y: "bottom1";
+            }
+            align: 0.0 0.5;
+         }
+      }
+      part { name: "eraser_image";
+         scale: 1;
+         clip_to: "eraser_image.clipper";
+         description { state: "default" 0.0;
+            visible: 0;
+            min: EDITFIELD_SEARCHBAR_ERASER_MINW_INC EDITFIELD_SEARCHBAR_ERASER_MINH_INC;
+            fixed: 1 1;
+            align: 1 0.5;
+            rel1 {
+               relative: 0.0 0.5;
+               to_x : "right2";
+            }
+            rel2 {
+               relative: 0.0 0.5;
+               to_x : "right2";
+            }
+            image.normal: GALLERY_EDC_IMAGE_EDITFIELD_CLEAR;
+         }
+         description { state: "elm.eraser.show" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+         }
+      }
+      part { name: "eraser_image.clipper";
+         type: RECT;
+         description { state: "default" 0.0;
+            color: 0 0 0 0;
+         }
+         description { state: "elm.eraser.show" 0.0;
+            color: EDITFIELD_ERASER_DEFAULT_COLOR_INC;
+         }
+         description { state: "elm.eraser.pressed" 0.0;
+            color: EDITFIELD_ERASER_PRESSED_COLOR_INC;
+         }
+      }
+      part { name: "eraser";
+         type: RECT;
+         scale: 1;
+         mouse_events: 1;
+         description { state: "default" 0.0;
+            visible: 0;
+            min: EDITFIELD_SEARCHBAR_ERASER_EVENT_MINW_INC EDITFIELD_SEARCHBAR_ERASER_EVENT_MINH_INC;
+            fixed: 1 1;
+            align: 1 0.5;
+            color: 0 0 0 0;
+            rel1 {
+               relative: 0.0 0.5;
+               to_x : "right2";
+            }
+            rel2 {
+               relative: 0.0 0.5;
+               to_x : "right2";
+            }
+         }
+         description { state: "elm.eraser.show" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+         }
+      }
+   }
+   programs {
+      program {
+         name: "guidetext_show";
+         signal: "elm,state,guidetext,show";
+         source: "elm";
+         action: STATE_SET "default" 0.0;
+         target: "elm.guidetext";
+      }
+      program {
+         name: "guidetext_hide";
+         signal: "elm,state,guidetext,hide";
+         source: "elm";
+         action: STATE_SET "hidden" 0.0;
+         target: "elm.guidetext";
+      }
+      program {
+         name: "eraser_show";
+         signal: "elm,state,eraser,show";
+         source: "elm";
+         action: STATE_SET "elm.eraser.show" 0.0;
+         target: "eraser_image";
+         target: "eraser_image.clipper";
+         target: "eraser";
+      }
+      program {
+         name: "eraser_hide";
+         signal: "elm,state,eraser,hide";
+         source: "elm";
+         action: STATE_SET "default" 0.0;
+         target: "eraser_image";
+         target: "eraser_image.clipper";
+         target: "eraser";
+      }
+      program {
+         name: "label_show";
+         signal: "elm,state,title,show";
+         source: "elm";
+         action: STATE_SET "elm.text.show" 0.0;
+         target: "elm.text";
+         target: "top1";
+         target: "bottom1";
+         target: "bottom2";
+         target: "bottom3";
+      }
+      program {
+         name: "label_hide";
+         signal: "elm,state,title,hide";
+         source: "elm";
+         action: STATE_SET "default" 0.0;
+         target: "elm.text";
+         target: "top1";
+         target: "bottom1";
+         target: "bottom2";
+         target: "bottom3";
+      }
+     program {
+         name: "eraser_clicked";
+         signal: "mouse,clicked,1";
+         source: "eraser";
+         action: SIGNAL_EMIT "elm,eraser,clicked" "elm";
+      }
+     program {
+         name: "bg_clicked";
+         signal: "mouse,clicked,1";
+         source: "search_textfield";
+         action: SIGNAL_EMIT "elm,bg,clicked" "elm";
+      }
+      program { name: "cancel_in";
+         signal: "cancel,in";
+         source: "";
+         action: STATE_SET "in" 0.0;
+         //target: "right_padding_rect";
+         //target: "right_btn_padding_rect";
+         target: "focus_image";
+         transition: LINEAR 0.3;
+      }
+      program { name: "cancel_out";
+         signal: "cancel,out";
+         source: "";
+         action: STATE_SET "default" 0.0;
+         //target: "right_padding_rect";
+         //target: "right_btn_padding_rect";
+         target: "focus_image";
+         transition: LINEAR 0.3;
+      }
+      program { name: "cancel_show";
+         signal: "cancel,show";
+         source: "";
+         action: STATE_SET "in" 0.0;
+         target: "focus_image";
+         target: "right_padding_rect";
+         target: "right_btn_padding_rect";
+      }
+      program { name: "cancel_hide";
+         signal: "cancel,hide";
+         source: "";
+         action: STATE_SET "default" 0.0;
+         target: "focus_image";
+         target: "right_padding_rect";
+         target: "right_btn_padding_rect";
+      }
+      program {
+         name: "eraser_pressed";
+         signal: "mouse,down,1";
+         source: "eraser";
+         action: STATE_SET "elm.eraser.pressed" 0.0;
+         target: "eraser_image.clipper";
+      }
+      program {
+         name: "eraser_unpressed";
+         signal: "mouse,up,1";
+         source: "eraser";
+         action: STATE_SET "elm.eraser.show" 0.0;
+         target: "eraser_image.clipper";
+      }
+      GL_GENGRID_SOUND("eraser")
+      GL_GENGRID_PLARY_SOUND
+   }
+}
+
diff --git a/res/black_theme/edc/gl-expanded-title.edc b/res/black_theme/edc/gl-expanded-title.edc
new file mode 100755 (executable)
index 0000000..2bdc1e3
--- /dev/null
@@ -0,0 +1,1222 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#define BUTTON_STATE_ENABLED  0
+#define BUTTON_STATE_DISABLED 1
+
+#define BUTTON_EDIT_STYLE_BORDER_INC 8 0 5 5
+
+   sounds {
+      sample {
+         name: "touch_sound" AS_IS;
+         source: GALLERY_EDC_SOUND_TOUCH_30MS;
+      }
+   }
+
+#define NAVIFRAME_TITLE_TEXT_BG_H_INC 88
+#define NAVIFRAME_LANDSCAPE_TITLE_TEXT_BG_H_INC 84 
+#define NAVIFRAME_TITLE_BG_IMAGE_BORDER_INC 8 8 2 2
+#define NAVIFRAME_TITLE_H_INC 40
+#define NAVIFRAME_LANDSCAPE_TITLE_H_INC 40
+#define NAVIFRAME_TAB_TITLE_H_INC 165
+#define NAVIFRAME_LANDSCAPE_TAB_TITLE_H_INC 145
+#define NAVIFRAME_TAB_TITLE_H2_INC 126
+#define NAVIFRAME_TOOLBAR_HEIGHT_INC 98
+#define NAVIFRAME_LANDSCAPE_TOOLBAR_HEIGHT_INC 85
+#define NAVIFRAME_TITLE_FUNC_BTN_SIZE_INC 115 96
+#define NAVIFRAME_LANDSCAPE_TITLE_FUNC_BTN_SIZE_INC 115 91
+#define NAVIFRAME_PREV_FUNC_BTN_SIZE_INC 85 98
+#define NAVIFRAME_LANDSCAPE_PREV_FUNC_BTN_SIZE_INC 85 85
+#define NAVIFRAME_TITLE_TAB_H_INC 75
+#define NAVIFRAME_TITLE_TAB_FONT_SIZE_INC 44
+#define NAVIFRAME_LANDSCAPE_TITLE_TAB_FONT_SIZE_INC 38
+#define NAVIFRAME_TITLE_TAB_TEXT_H_INC 90
+#define NAVIFRAME_LANDSCAPE_TITLE_TAB_TEXT_H_INC 70
+#define NAVIFRAME_TITLE_FONT_SIZE_INC 30
+#define NAVIFRAME_TITLE_FONT_MIN_SIZE_INC 26
+#define NAVIFRAME_LANDSCAPE_TITLE_FONT_SIZE_INC 50
+#define NAVIFRAME_TITLE_SMALL_FONT_SIZE_INC 44
+#define NAVIFRAME_LANDSCAPE_TITLE_SMALL_FONT_SIZE_INC 38
+#define NAVIFRAME_ICON_SIZE_INC 45 45
+#define NAVIFRAME_PADDING_INC 26 0
+#define NAVIFRAME_PADDING2_INC 16 0
+#define NAVIFRAME_BADGE_LEFT_PADDING_INC 8 0
+#define NAVIFRAME_BADGE_TOP_PADDING_INC 0 10
+#define NAVIFRAME_BADGE_TEXT_LEFT_PADDING_INC 12 54
+#define NAVIFRAME_BADGE_TEXT_RIGHT_PADDING_INC 10 54
+#define NAVIFRAME_BADGE_TEXT_H_INC 34
+#define NAVIFRAME_BADGE_TEXT_MIN_W_INC 30
+#define NAVIFRAME_BADGE_TEXT_MAX_W_INC 60
+#define NAVIFRAME_BADGE_BG_IMAGE_SIZE_INC 54 54
+#define NAVIFRAME_BADGE_BG_IMAGE_BORDER_INC 26 26 0 0
+#define NAVIFRAME_TOOLBAR_BUTTON_BG_PADDING_INC 112 0
+#define NAVIFRAME_ICON_PADDING_INC 77 0
+#define NAVIFRAME_TITLE_TEXT_COLOR_INC 250 250 250 255
+#define NAVIFRAME_TITLE_STYLE_COLOR_INC "#FAFAFA"
+#define NAVIFRAME_SUBTITLE_TEXT_COLOR_INC 250 250 250 255
+#define NAVIFRAME_SUBTITLE_FONT_SIZE_INC 32
+#define NAVIFRAME_LANDSCAPE_SUBTITLE_FONT_SIZE_INC 28
+#define NAVIFRAME_SUBTITLE_H_INC 37
+#define NAVIFRAME_LANDSCAPE_SUBTITLE_H_INC 30
+#define NAVIFRAME_SUBTITLE_TOP_PADDING_H_INC 6
+#define NAVIFRAME_LANDSCAPE_SUBTITLE_TOP_PADDING_H_INC 4
+#define NAVIFRAME_TITLE_TEXT_UNSELECTED_COLOR_INC 153 153 153 255
+#define NAVIFRAME_BADGE_TEXT_COLOR_INC 250 250 250 255;
+#define NAVIFRAME_TITLE_BUTTON_DIVIDER_COLOR_INC 255 255 255 82
+
+
+#define GL_TITLE_DROPDOWN \
+       part { name: "dropdown_padding"; \
+               type: RECT; \
+               scale: 1; \
+               mouse_events: 0; \
+               description { state: "default" 0.0; \
+                       align: 0.0 0.0; \
+                       rel1 { \
+                               to: "maintitle_text_bg"; \
+                               relative: 0.0 0.0; \
+                       } \
+                       rel2 { \
+                               to: "maintitle_text_bg"; \
+                               relative: 0.0 1.0; \
+                       } \
+                       min: 6 0; \
+                       fixed: 1 0; \
+                       visible: 0; \
+               } \
+       } \
+       part { name: "elm.image.dropdown"; \
+               mouse_events: 0; \
+               description { state: "default" 0.0; \
+                       visible: 1; \
+                       min: 200 30; \
+                       max: 280 150; \
+                       fixed: 1 1; \
+                       rel1 { \
+                               to: "left.padding.text"; \
+                               relative: 0.0 0.0; \
+                       } \
+                       rel2 { \
+                               to: "right.padding.text"; \
+                               relative: 1.0 1.0; \
+                       } \
+                       image { \
+                               normal: GALLERY_EDC_IMAGE_POPUP_DROPDOWN_TITLE_BG; \
+                               border: 8 8 8 8; \
+                               border_scale: 1; \
+                       } \
+               } \
+               description { state: "clicked" 0.0; \
+                       inherit: "default" 0.0; \
+                       image.normal: GALLERY_EDC_IMAGE_POPUP_DROPDOWN_TITLE_BG_PRESS; \
+               } \
+               description { state: "disabled" 0.0; \
+                       inherit: "default" 0.0; \
+                       image.normal: GALLERY_EDC_IMAGE_POPUP_DROPDOWN_TITLE_BG; \
+                       visible: 0; \
+               } \
+               description { state: "focused" 0.0; \
+                       inherit: "default" 0.0; \
+                       image.normal: GALLERY_EDC_IMAGE_POPUP_DROPDOWN_TITLE_BG_PRESS; \
+               } \
+               description { state: "hide" 0.0; \
+                       inherit: "default" 0.0; \
+                       visible: 0; \
+               } \
+       } \
+       part { name: "focus_image"; \
+               scale: 1; \
+               mouse_events: 0; \
+               repeat_events: 1; \
+               description { state: "default" 0.0; \
+                       min: 54 54; \
+                       max: 54 54; \
+                       visible: 0; \
+                       rel1.to : "elm.image.dropdown"; \
+                       rel2.to : "elm.image.dropdown"; \
+                       image { \
+                               normal: GALLERY_EDC_IMAGE_POPUP_DROPDOWN_TITLE_BG_FOCUS; \
+                               border: 8 8 8 8; \
+                               border_scale: 1; \
+                       } \
+               } \
+               description { state: "focused" 0.0; \
+                       inherit: "default" 0.0; \
+                       visible: 1; \
+               } \
+               description { state: "hide" 0.0; \
+                       inherit: "default" 0.0; \
+                       visible: 0; \
+               } \
+       } \
+       part { name: "left.padding.text"; \
+               type: RECT; \
+               mouse_events: 0; \
+               scale: 1; \
+               description { \
+                       state: "default" 0.0; \
+                       visible: 0; \
+                       fixed: 1 0; \
+                       min: 16 54; \
+                       rel1 { \
+                               to: "dropdown_padding"; \
+                               relative: 0.0 0.0; \
+                       } \
+                       rel2 { \
+                               to: "dropdown_padding"; \
+                               relative: 0.0 1.0; \
+                       } \
+                       align: 0.0 0.0; \
+               } \
+       } \
+       part { name: "right.padding.text"; \
+               type: RECT; \
+               mouse_events: 0; \
+               scale: 1; \
+               description { \
+                       state: "default" 0.0; \
+                       visible: 0; \
+                       fixed: 1 1; \
+                       min: 12 0; \
+                       rel1 { \
+                               to_x: "arrow_icon"; \
+                               to_y: "elm.text.dropdown"; \
+                               relative: 1.0 0.0; \
+                       } \
+                       rel2 { \
+                               to_x: "arrow_icon"; \
+                               to_y: "elm.text.dropdown"; \
+                               relative: 1.0 1.0; \
+                       } \
+                       align: 0.0 0.0; \
+               } \
+       } \
+       part { name: "elm.text.dropdown"; \
+               type: TEXT; \
+               mouse_events: 0; \
+               effect: FAR_SHADOW BOTTOM; \
+               scale: 1; \
+               description { \
+                       state: "default" 0.0; \
+                       visible: 1; \
+                       rel1 { \
+                               to: "left.padding.text"; \
+                               relative: 1.0 0.0; \
+                       } \
+                       rel2 { \
+                               to: "left.padding.text"; \
+                               relative: 1.0 1.0; \
+                       } \
+                       min: 30 0; \
+                       fixed: 1 0; \
+                       align: 0.0 0.5; \
+                       color: 250 250 250 255; \
+                       color2: 0 0 0 192; \
+                       text { \
+                               font: "Tizen:style=Regular"; \
+                               size: 20; \
+                               min: 1 0; \
+                               text_class: "tizen"; \
+                       } \
+               } \
+               description { state: "visible" 0.0; \
+                       inherit: "default" 0.0; \
+                       visible: 1; \
+               } \
+               description { state: "clicked" 0.0; \
+                       inherit: "default" 0.0; \
+                       visible: 1; \
+                       color: 250 250 250 255; \
+               } \
+               description { state: "disabled" 0.0; \
+                       inherit: "default" 0.0; \
+                       visible: 0; \
+               } \
+               description { state: "focused" 0.0; \
+                       inherit: "default" 0.0; \
+                       visible: 1; \
+                       color: 250 250 250 255; \
+               } \
+               description { state: "hide" 0.0; \
+                       inherit: "default" 0.0; \
+                       visible: 0; \
+               } \
+       } \
+       part { name: "arrow_icon_padding"; \
+               scale: 1; \
+               mouse_events: 0; \
+               type: RECT; \
+               description { state: "default" 0.0; \
+                       min: 6 5; \
+                       fixed: 1 1; \
+                       align: 0.0 0.5; \
+                       rel1 { \
+                               relative: 1.0 0.0; \
+                               to: "elm.text.dropdown"; \
+                       } \
+                       visible: 0; \
+                       rel2.to: "elm.text.dropdown"; \
+               } \
+       } \
+       part { name: "arrow_icon_bottom_padding"; \
+               scale: 1; \
+               mouse_events: 0; \
+               type: RECT; \
+               description { state: "default" 0.0; \
+                       min: 18 26; \
+                       max: 18 26; \
+                       fixed: 1 1; \
+                       align: 0.0 1.0; \
+                       rel1 { \
+                               relative: 1.0 1.0; \
+                               to_x: "arrow_icon_padding"; \
+                               to_y: "elm.text.dropdown"; \
+                       } \
+                       rel2 { \
+                               relative: 1.0 1.0; \
+                               to_x: "arrow_icon_padding"; \
+                               to_y: "elm.text.dropdown"; \
+                       } \
+                       visible: 0; \
+               } \
+       } \
+       part { name: "arrow_icon"; \
+               scale: 1; \
+               mouse_events: 0; \
+               description { state: "default" 0.0; \
+                       min: 18 18; \
+                       max: 18 18; \
+                       fixed: 1 1; \
+                       align: 0.0 1.0; \
+                       rel1 { \
+                               relative: 1.0 0.0; \
+                               to_x: "arrow_icon_padding"; \
+                               to_y: "arrow_icon_bottom_padding"; \
+                               offset: 0 6; \
+                       } \
+                       rel2 { \
+                               relative: 1.0 0.0; \
+                               to_x: "arrow_icon_padding"; \
+                               to_y: "arrow_icon_bottom_padding"; \
+                       } \
+                       image.normal: GALLERY_EDC_IMAGE_BUTTON_ICON_ARROW; \
+               } \
+               description { state: "clicked" 0.0; \
+                       inherit: "default" 0.0; \
+                       image.normal: GALLERY_EDC_IMAGE_BUTTON_ICON_ARROW_PRESS; \
+               } \
+               description { state: "hide" 0.0; \
+                       inherit: "default" 0.0; \
+                       visible: 0; \
+               } \
+       } \
+       part { name: "access.title"; \
+               type: RECT; \
+               scale: 1; \
+               repeat_events: 1; \
+               description { state: "default" 0.0; \
+                       fixed: 1 1; \
+                       rel1.to: "elm.image.dropdown"; \
+                       rel2.to: "elm.image.dropdown"; \
+                       color: 0 0 0 0; \
+               } \
+       } \
+       part { name: "over2"; \
+               type: RECT; \
+               scale: 1; \
+               repeat_events: 1; \
+               ignore_flags: ON_HOLD; \
+               description { state: "default" 0.0; \
+                       rel1.to: "elm.image.dropdown"; \
+                       rel2.to: "elm.image.dropdown"; \
+                       color: 0 0 0 0; \
+               } \
+       } \
+       part { name: "over3"; \
+               type: RECT; \
+               scale: 1; \
+               repeat_events: 1; \
+               description { state: "default" 0.0; \
+                       rel1.to: "elm.image.dropdown"; \
+                       rel2.to: "elm.image.dropdown"; \
+                       color: 0 0 0 0; \
+               } \
+       } \
+       part { name: "disabler"; \
+               type: RECT; \
+               scale: 1; \
+               description { state: "default" 0.0; \
+                       rel1.to: "elm.image.dropdown"; \
+                       rel2.to: "elm.image.dropdown"; \
+                       color: 0 0 0 0; \
+                       visible: 0; \
+               } \
+               description { state: "disabled" 0.0; \
+                       inherit: "default" 0.0; \
+                       visible: 1; \
+               } \
+       }
+
+#define GL_TITLE_DROPDOWN_PGS \
+   program { name: "button_click"; \
+      signal: "mouse,down,1"; \
+      source: "over2"; \
+      action: SIGNAL_EMIT "elm,action,press" ""; \
+      after: "button_click_anim"; \
+   } \
+   program { name: "button_click_anim"; \
+      action: STATE_SET "clicked" 0.0; \
+      target: "elm.image.dropdown"; \
+      target: "elm.text.dropdown"; \
+      target: "arrow_icon"; \
+   } \
+   program { name: "button_double_click"; \
+      signal: "mouse,down,1,double"; \
+      source: "over2"; \
+      after: "button_click_anim"; \
+   } \
+   program { name: "button_unpress"; \
+      action: SIGNAL_EMIT "elm,action,unpress" ""; \
+   } \
+   program { name: "button_mouseout_clicked"; \
+      signal: "mouse,up,1"; \
+      source: "over3"; \
+      script { \
+        new st[31]; \
+        new Float:vl; \
+        get_state(PART:"elm.text.dropdown", st, 30, vl); \
+        if (!strcmp(st, "clicked") || !strcmp(st, "focused")) \
+          { \
+             emit("elm,action,default,text,set", ""); \
+             set_state(PART:"elm.text.dropdown", "visible", 0.0); \
+          } \
+        if (get_int(button_state) != BUTTON_STATE_DISABLED) \
+          set_state(PART:"elm.image.dropdown", "default", 0.0); \
+        set_state(PART:"arrow_icon", "default", 0.0); \
+      } \
+      after: button_unpress; \
+   } \
+   program { name: "touch_snd"; \
+      signal: "mouse,clicked,1"; \
+      source: "over2"; \
+      action: PLAY_SAMPLE "touch_sound" 1.0; \
+      after: button_unclick3; \
+   } \
+   program { name: "button_unclick3"; \
+      action: SIGNAL_EMIT "elm,action,click" ""; \
+   } \
+   program { name: "disable"; \
+      signal: "elm,state,disabled"; \
+      source: "elm"; \
+      action: STATE_SET "disabled" 0.0; \
+      target: "elm.image.dropdown"; \
+      target: "disabler"; \
+      after: "disable_text"; \
+   } \
+   program { name: "disable_text"; \
+      script { \
+        new st[31]; \
+        new Float:vl; \
+        get_state(PART:"elm.text.dropdown", st, 30, vl); \
+        if (!strcmp(st, "visible")) \
+          set_state(PART:"elm.text.dropdown", "disabled_visible", 0.0); \
+        else \
+          set_state(PART:"elm.text.dropdown", "disabled", 0.0); \
+        set_int(button_state, BUTTON_STATE_DISABLED); \
+      } \
+   } \
+   program { name: "enable"; \
+      signal: "elm,state,enabled"; \
+      source: "elm"; \
+      action: STATE_SET "default" 0.0; \
+      target: "elm.image.dropdown"; \
+      target: "disabler"; \
+      after: "enable_text"; \
+   } \
+   program { name: "enable_text"; \
+      script { \
+        new st[31]; \
+        new Float:vl; \
+        get_state(PART:"elm.text.dropdown", st, 30, vl); \
+        if (!strcmp(st, "disabled_visible")) \
+          set_state(PART:"elm.text.dropdown", "visible", 0.0); \
+        else \
+          set_state(PART:"elm.text.dropdown", "default", 0.0); \
+        set_int(button_state, BUTTON_STATE_ENABLED); \
+      } \
+   } \
+   program { name: "expn_title_show"; \
+      signal: "elm,action,dropdown,show"; \
+      source: "elm"; \
+      action: STATE_SET "default" 0.0; \
+      target: "elm.image.dropdown"; \
+      target: "focus_image"; \
+      target: "elm.text.dropdown"; \
+      target: "arrow_icon"; \
+      target: "elm.text.title"; \
+       after: enable; \
+   } \
+   program { name: "expn_title_hide"; \
+      signal: "elm,action,dropdown,hide"; \
+      source: "elm"; \
+      action: STATE_SET "hide" 0.0; \
+      target: "elm.image.dropdown"; \
+      target: "focus_image"; \
+      target: "elm.text.dropdown"; \
+      target: "arrow_icon"; \
+      target: "elm.text.title"; \
+       after: disable; \
+   } \
+   program { name: "action_focus"; \
+      signal: "elm,action,focus_highlight,show"; \
+      source: "elm"; \
+      action: STATE_SET "focused" 0.0; \
+      target: "focus_image"; \
+   } \
+   program { name: "action_unfocus"; \
+      signal: "elm,action,focus_highlight,hide"; \
+      source: "elm"; \
+      action: STATE_SET "default" 0.0; \
+      target: "focus_image"; \
+   }
+
+
+
+group {
+   name: "gl_naviframe_expanded_title";
+   GL_RES_IMG(GALLERY_EDC_IMAGE_TITLE_BG);
+   GL_RES_IMG(GALLERY_EDC_IMAGE_POPUP_DROPDOWN_TITLE_BG);
+   GL_RES_IMG(GALLERY_EDC_IMAGE_POPUP_DROPDOWN_TITLE_BG_PRESS);
+   GL_RES_IMG(GALLERY_EDC_IMAGE_POPUP_DROPDOWN_TITLE_BG_FOCUS);
+   GL_RES_IMG(GALLERY_EDC_IMAGE_BUTTON_ICON_ARROW_PRESS);
+   GL_RES_IMG(GALLERY_EDC_IMAGE_BUTTON_ICON_ARROW);
+   GL_RES_IMG(GALLERY_EDC_IMAGE_BACK_BUTTON);
+
+   script {
+      public button_state = BUTTON_STATE_ENABLED;
+      public landscape = 0; //Landscape mode status
+   }
+
+   parts {
+         part { name: "base";
+            type: RECT;
+            mouse_events:  0;
+            scale: 1;
+            description { state: "default" 0.0;
+               visible: 0;
+              min: 0 NAVIFRAME_TITLE_H_INC;
+              rel1 { relative: 0.0 0.0; }
+              rel2 { relative: 1.0 1.0; }
+              align: 0.0 0.0;
+            }
+           description { state: "landscape" 0.0;
+               inherit: "default" 0.0;
+               min: 0 NAVIFRAME_LANDSCAPE_TITLE_H_INC;
+            }
+         }
+         part { name: "title_bg";
+            type: IMAGE;
+            scale: 1;
+            description { state: "default" 0.0;
+               min: 0 NAVIFRAME_TITLE_H_INC;
+               max: -1 NAVIFRAME_TITLE_H_INC;
+               align: 0.0 0.0;
+               fixed: 0 1;
+               rel1 { relative: 0.0 0.0; to: "base"; }
+               rel2 { relative: 1.0 0.0; to: "base"; }
+               image {
+                  normal: GALLERY_EDC_IMAGE_TITLE_BG;
+                  border: NAVIFRAME_TITLE_BG_IMAGE_BORDER_INC;
+                  border_scale: 1;
+               }
+            }
+            description { state: "landscape" 0.0;
+               inherit: "default" 0.0;
+               min: 0 NAVIFRAME_LANDSCAPE_TITLE_H_INC;
+               max: -1 NAVIFRAME_LANDSCAPE_TITLE_H_INC;
+            }
+            description { state: "hide" 0.0;
+               inherit: "default" 0.0;
+               min: 0 0;
+               max: 0 0;
+               fixed: 1 1;
+            }
+         }
+         part { name: "title_right_padding";
+            type: RECT;
+            mouse_events: 0;
+            scale: 1;
+            description { state: "default" 0.0;
+               min: NAVIFRAME_PADDING_INC;
+               fixed: 1 0;
+               align: 1.0 0.0;
+               rel1 { relative: 1.0 0.0; to: "divider2"; }
+               rel2 { relative: 1.0 1.0; to: "divider2"; }
+               visible: 0;
+            }
+            description { state: "title_left_btn_set" 0.0;
+               inherit: "default" 0.0;
+               rel1 { relative: 1.0 0.0; to: "divider1"; }
+               rel2 { relative: 1.0 1.0; to: "divider1"; }
+            }
+         }
+         part { name: "title_left_padding";
+            type: RECT;
+            scale: 1;
+            mouse_events: 0;
+            description { state: "default" 0.0;
+               min: 10 0;
+               fixed: 1 0;
+               align: 0.0 0.0;
+               rel1 { relative: 0.0 0.0; to: "title_bg"; }
+               rel2 { relative: 0.0 1.0; to: "title_bg"; }
+               visible: 0;
+            }
+            description { state: "icon" 0.0;
+               inherit: "default" 0.0;
+               min: NAVIFRAME_ICON_PADDING_INC;
+            }
+         }
+         part { name: "title_left_padding2";
+            type: RECT;
+            scale: 1;
+            mouse_events: 0;
+            description { state: "default" 0.0;
+               min: 26 0;
+               fixed: 1 0;
+               align: 0.0 0.0;
+               rel1 { relative: 0.0 0.0; to: "title_bg"; }
+               rel2 { relative: 0.0 1.0; to: "title_bg"; }
+               visible: 0;
+            }
+            description { state: "icon" 0.0;
+               inherit: "default" 0.0;
+               min: NAVIFRAME_ICON_PADDING_INC;
+            }
+         }
+         part { name: "title_text_bg";
+            type: RECT;
+            scale: 1;
+            mouse_events: 0;
+            description { state: "default" 0.0;
+               visible: 0;
+               min: 0 NAVIFRAME_TITLE_TEXT_BG_H_INC;
+               max: -1 NAVIFRAME_TITLE_TEXT_BG_H_INC;
+               fixed: 0 1;
+               rel1 { relative: 1.0 0.0; to_x: "title_left_padding"; to_y: "title_bg"; }
+               rel2 { relative: 0.0 1.0; to_x: "title_right_padding"; to_y: "title_bg"; }
+            }
+           description { state: "landscape" 0.0;
+               inherit: "default" 0.0;
+               min: 0 NAVIFRAME_LANDSCAPE_TITLE_TEXT_BG_H_INC;
+               max: -1 NAVIFRAME_LANDSCAPE_TITLE_TEXT_BG_H_INC;
+            }
+         }
+         part { name: "maintitle_text_bg";
+            type: RECT;
+            scale: 1;
+            mouse_events: 0;
+            description { state: "default" 0.0;
+               visible: 0;
+               rel1 { relative: 0.0 0.0; to: "title_text_bg"; }
+               rel2 { relative: 0.0 1.0; to_x: "title_right_padding"; to_y: "title_text_bg"; }
+            }
+         }
+         part { name: "maintitle_text_bg2";
+            type: RECT;
+            scale: 1;
+            mouse_events: 0;
+            description { state: "default" 0.0;
+               visible: 0;
+               rel1 { relative: 1.0 0.0; to_x: "title_left_padding2"; to_y: "title_text_bg"; }
+               rel2 { relative: 0.0 1.0; to_x: "title_right_padding"; to_y: "title_text_bg"; }
+            }
+         }
+           part { name: "elm.title.text";
+            type: TEXT;
+            effect: FAR_SHADOW BOTTOM;
+            scale: 1;
+            description { state: "default" 0.0;
+               text { font: "Tizen:style=normal";
+                  size: NAVIFRAME_TITLE_FONT_SIZE_INC;
+                  size_range: NAVIFRAME_TITLE_FONT_MIN_SIZE_INC NAVIFRAME_TITLE_FONT_SIZE_INC;
+                  fit: 1 0;
+                  min: 0 0;
+                  max: 1 0;
+                  align: 0.0 0.5;
+                  text_class: "tizen";
+               }
+               color: NAVIFRAME_TITLE_TEXT_COLOR_INC;
+               color3: 0 0 0 255;
+               align: 0.5 0.5;
+               rel1.to: "title_bg";
+               rel2.to: "title_bg";
+               visible: 1;
+            }
+            description { state: "hide" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+            }
+         }
+         part { name: "padding_before_text";
+            type: RECT;
+            scale: 1;
+            mouse_events: 0;
+            description { state: "default" 0.0;
+               align: 1.0 0.5;
+               rel1 { relative: 0.0 0.0; to: "title_text_bg"; }
+               rel2 { relative: 0.0 1.0; to: "title_text_bg"; }
+               fixed: 1 0;
+               min: NAVIFRAME_PADDING2_INC;
+               visible: 0;
+            }
+         }
+         part { name: "divider1";
+            type: RECT;
+            scale: 1;
+            description { state: "default" 0.0;
+               min: 0 0;
+               max: 0 -1;
+               fixed: 1 1;
+               color: NAVIFRAME_TITLE_BUTTON_DIVIDER_COLOR_INC;
+               rel1 { relative: 0.0 0.0; to: "title_left_btn"; }
+               rel2 { relative: 0.0 1.0; to: "title_left_btn"; }
+               align: 1.0 0.5;
+               visible : 0;
+            }
+            description { state: "visible" 0.0;
+               inherit: "default" 0.0;
+               min: 2 64;
+               max: 2 64;
+               visible : 0;
+            }
+         }
+         part { name: "title_left_btn";
+            type: SWALLOW;
+            scale: 1;
+            description { state: "default" 0.0;
+               max: NAVIFRAME_TITLE_FUNC_BTN_SIZE_INC;
+               fixed: 1 1;
+               align: 1.0 0.5;
+               rel1 { relative: 0.0 0.0; to: "divider2"; }
+               rel2 { relative: 0.0 1.0; to: "divider2"; }
+               visible : 0;
+            }
+            description { state: "landscape" 0.0;
+               inherit: "default" 0.0;
+               max: NAVIFRAME_LANDSCAPE_TITLE_FUNC_BTN_SIZE_INC;
+            }
+         }
+         part { name: "divider2";
+            type: RECT;
+            scale: 1;
+            description { state: "default" 0.0;
+               min: 0 0;
+               max: 0 -1;
+               fixed: 1 1;
+               color: NAVIFRAME_TITLE_BUTTON_DIVIDER_COLOR_INC;
+               rel1 { relative: 0.0 0.0; to: "title_right_btn"; }
+               rel2 { relative: 0.0 1.0; to: "title_right_btn"; }
+               align: 1.0 0.5;
+               visible : 0;
+            }
+            description { state: "visible" 0.0;
+               inherit: "default" 0.0;
+               min: 2 64;
+               max: 2 64;
+               visible : 0;
+            }
+         }
+         part { name: "elm.swallow.icon";
+            type: SWALLOW;
+            scale: 1;
+            description { state: "default" 0.0;
+               max: NAVIFRAME_ICON_SIZE_INC;
+               fixed: 1 1;
+               rel1 { relative: 0.0 0.0; to: "padding_before_text"; }
+               rel2 { relative: 0.0 1.0; to: "padding_before_text"; }
+               aspect: 1.0 1.0;
+               aspect_preference: VERTICAL;
+               align: 1.0 0.5;
+            }
+         }
+         part { name: "title_right_btn";
+            type: SWALLOW;
+            scale: 1;
+            description { state: "default" 0.0;
+               max: NAVIFRAME_TITLE_FUNC_BTN_SIZE_INC;
+               align: 1.0 0.5;
+               fixed: 1 1;
+               rel1 { relative: 1.0 0.0; to: "title_bg"; }
+               rel2 { relative: 1.0 1.0; to: "title_bg"; }
+               visible : 0;
+            }
+            description { state: "landscape" 0.0;
+               inherit: "default" 0.0;
+               max: NAVIFRAME_LANDSCAPE_TITLE_FUNC_BTN_SIZE_INC;
+            }
+         }
+      }
+      programs {
+               program { name: "title_show";
+                       signal: "elm,state,title,show";
+                       source: "elm";
+                       script {
+                               if (!get_int(landscape)) {
+                                       set_state(PART:"base", "default", 0.0);
+                                       set_state(PART:"title_bg", "default", 0.0);
+                               } else {
+                                       set_state(PART:"base", "landscape", 0.0);
+                                       set_state(PART:"title_bg", "landscape", 0.0);
+                               }
+                       }
+               }
+               program {
+                       name: "change_to_landscape";
+                       script {
+                               if (!get_int(landscape)) {
+                                       set_state(PART:"base", "landscape", 0.0);
+                                       set_state(PART:"title_text_bg", "landscape", 0.0);
+                                       set_state(PART:"title_left_btn", "landscape", 0.0);
+                                       set_state(PART:"title_right_btn", "landscape", 0.0);
+
+                                       new st[31];
+                                       new Float:vl;
+                                       get_state(PART:"title_bg", st, 30, vl);
+                                       if (!strcmp(st, "default"))
+                                               set_state(PART:"title_bg", "landscape", 0.0);
+
+                                       set_int(landscape, 1);
+                               }
+                       }
+               }
+               program {
+                       name: "change_to_portrait";
+                       script {
+                               if (get_int(landscape)) {
+                                       set_state(PART:"base", "default", 0.0);
+                                       set_state(PART:"title_text_bg", "default", 0.0);
+                                       set_state(PART:"title_left_btn", "default", 0.0);
+                                       set_state(PART:"title_right_btn", "default", 0.0);
+
+                                       new st[31];
+                                       new Float:vl;
+                                       get_state(PART:"title_bg", st, 30, vl);
+                                       if (!strcmp(st, "landscape"))
+                                               set_state(PART:"title_bg", "default", 0.0);
+
+                                       set_int(landscape, 0);
+                               }
+                       }
+               }
+             program { name: "landscape_mode";
+                source: "elm";
+                signal: "elm,state,orient,90";
+                after: "change_to_landscape";
+             }
+             program { name: "landscape_mode2";
+                source: "elm";
+                signal: "elm,state,orient,270";
+                after: "change_to_landscape";
+             }
+             program { name: "portrait_mode";
+                source: "elm";
+                signal: "elm,state,orient,0";
+                after: "change_to_portrait";
+             }
+             program { name: "portrait_mode2";
+                source: "elm";
+                signal: "elm,state,orient,180";
+                after: "change_to_portrait";
+             }
+             program { name: "title_left_btn_show";
+                signal: "elm,state,title_left_btn,show";
+                source: "elm";
+                script {
+                   set_state(PART:"divider1", "visible", 0.0);
+                   set_state(PART:"title_right_padding", "title_left_btn_set", 0.0);
+                }
+             }
+             program { name: "title_left_btn_hide";
+                signal: "elm,state,title_left_btn,hide";
+                source: "elm";
+                script {
+                   set_state(PART:"divider1", "default", 0.0);
+                   set_state(PART:"title_right_padding", "default", 0.0);
+                }
+             }
+             program { name: "title_right_btn_show";
+                signal: "elm,state,title_right_btn,show";
+                source: "elm";
+                action: STATE_SET "visible" 0.0;
+                target: "divider2";
+             }
+             program { name: "title_right_btn_hide";
+                signal: "elm,state,title_right_btn,hide";
+                source: "elm";
+                action: STATE_SET "default" 0.0;
+                target: "divider2";
+             }
+
+      }
+   }
+   group { name : "title_bar";
+         parts {
+         part{ name : "bg";
+            type: RECT;
+            description{
+               rel1.relative: 0.0 0.0;
+               rel2.relative: 1.0 1.0;
+               color: 61 184 203 255;
+            }
+         }
+         part { name: "elm.title.text";
+            type: TEXT;
+            scale: 1;
+            description { state: "default" 0.0;
+               text {
+                  size : 20;
+                  align: 0.5 0.5;
+               }
+               color: NAVIFRAME_TITLE_TEXT_COLOR_INC;
+               color3: 0 0 0 255;
+               align: 0.5 0.5;
+               rel1.relative: 0.3 0.0;
+               rel1.to: "bg";
+               rel2.relative: 0.7 1.0;
+               rel2.to: "bg";
+               visible: 1;
+            }
+            description { state: "hide" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+            }
+         }
+         part { name: "title_btn_left";
+            type: RECT;
+            mouse_events: 1;
+            repeat_events: 0;
+            scale: 1;
+            description { state: "default" 0.0;
+               color: 61 184 203 255;
+               rel1 { relative: 0.0 0.0; to: "bg"; }
+               rel2 { relative: 0.3 1.0; to: "bg"; }
+               visible: 0;
+            }
+            description { state: "visible" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+            }
+            description { state: "pressed" 0.0;
+               inherit: "visible" 0.0;
+               color: 46 140 154 255;
+            }
+         }
+         part { name: "title_btn_right";
+            type: RECT;
+            mouse_events: 1;
+            repeat_events: 0;
+            scale: 1;
+            description { state: "default" 0.0;
+               color: 61 184 203 255;
+               rel1 { relative: 0.7 0.0; to: "bg"; }
+               rel2 { relative: 1.0 1.0; to: "bg"; }
+               visible: 0;
+            }
+            description { state: "visible" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+            }
+              description { state: "hidden" 0.0;
+               inherit: "default" 0.0;
+               visible: 0;
+            }
+            description { state: "pressed" 0.0;
+               inherit: "visible" 0.0;
+               color: 46 140 154 255;
+            }
+         }
+          part { name: "title_left_text";
+            type: TEXT;
+            effect: FAR_SHADOW BOTTOM;
+            scale: 1;
+            mouse_events: 1;
+            repeat_events: 1;
+            description {
+               state: "default" 0.0;
+               rel1.relative: 0.148 0.0;
+               rel1.to: "title_btn_left";
+               rel2.relative: 1.0 1.0;
+               rel2.to: "title_btn_left";
+               visible: 0;
+               text {
+                  text: "CANCEL";
+                  size: 20;
+                  align: 0.0 0.5;
+               }
+               color: NAVIFRAME_TITLE_TEXT_COLOR_INC;
+            }
+            description { state: "visible" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+            }
+         }
+         part { name: "title_right_text";
+            type: TEXT;
+            mouse_events: 1;
+            repeat_events: 1;
+            effect: FAR_SHADOW BOTTOM;
+            scale: 1;
+            description {
+               state: "default" 0.0;
+               rel1.relative: 0.0 0.0;
+               rel1.to: "title_btn_right";
+               rel2.relative: 0.89 1.0;
+               rel2.to: "title_btn_right";
+               visible: 0;
+               text {
+                  text: "DONE";
+                  size: 20;
+                  align: 1.0 0.5;
+               }
+               color: NAVIFRAME_TITLE_TEXT_COLOR_INC;
+            }
+            description { state: "visible" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+            }
+         }
+         part {
+                       name: "elm.swallow.left";
+                       type: SWALLOW;
+                       mouse_events: 1;
+                       repeat_events: 1;
+                       description {
+                               state: "default" 0.0;
+                               rel1.relative: 0.0 0.0;
+                               rel1.to: "title_btn_left";
+                               rel2.relative: 1.0 1.0;
+                               rel2.to: "title_btn_left";
+                               visible: 0;
+                       }
+                       description { state: "visible" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+            }
+               }
+               part { name: "title_image_btn_left";
+            type: RECT;
+            mouse_events: 1;
+            repeat_events: 0;
+            scale: 1;
+            description { state: "default" 0.0;
+               color:61 184 203 255;
+               rel1 { relative: 0.0 0.0; to: "left_image"; }
+               rel2 { relative: 1.0 1.0; to: "left_image"; }
+               visible: 0;
+            }
+            description { state: "visible" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+            }
+            description { state: "pressed" 0.0;
+               inherit: "visible" 0.0;
+               color: 46 140 154 255;
+            }
+         }
+                part { name: "left_image";
+            type: RECT;
+            mouse_events: 1;
+            repeat_events: 1;
+            description {
+               state: "default" 0.0;
+               rel1.relative: 0.0 0.0;
+               rel1.to: "elm.swallow.left";
+               rel2.relative: 0.5 1.0;
+               rel2.to: "elm.swallow.left";
+               visible: 0;
+               color: 0 0 0 0;
+            }
+            description { state: "visible" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+            }
+         }
+         part { name: "left_back_image";
+            type: IMAGE;
+            mouse_events: 1;
+            repeat_events: 1;
+            description {
+               state: "default" 0.0;
+               rel1.relative: 0.1 0.3;
+               rel1.to: "elm.swallow.left";
+               rel2.relative: 0.3 0.7;
+               rel2.to: "elm.swallow.left";
+               visible: 0;
+               image.normal: GALLERY_EDC_IMAGE_BACK_BUTTON;
+            }
+            description { state: "visible" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+            }
+         }
+         part {
+                       name: "elm.swallow.image.left";
+                       type: SWALLOW;
+                       mouse_events: 1;
+                       repeat_events: 1;
+                       description {
+                               state: "default" 0.0;
+                               rel1.relative: 0.0 0.0;
+                               rel1.to: "left_image";
+                               rel2.relative: 1.0 1.0;
+                               rel2.to: "left_image";
+                               visible: 0;
+                       }
+                       description { state: "visible" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+            }
+               }
+               part {
+                       name: "elm.swallow.right";
+                       type: SWALLOW;
+                       mouse_events: 1;
+                       repeat_events: 1;
+                       description {
+                               state: "default" 0.0;
+                               rel1.relative: 0.0 0.0;
+                               rel1.to: "title_btn_right";
+                               rel2.relative: 1.0 1.0;
+                               rel2.to: "title_btn_right";
+                               visible: 0;
+                       }
+                       description { state: "visible" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 1;
+                       }
+               }
+       }
+               programs{
+                       program{
+                               name : "press_left";
+                               signal: "mouse,down,1";
+                               source: "title_btn_left";
+                               action: STATE_SET "pressed" 0.0;
+                               target: "title_btn_left";
+                       }
+                       program{
+                               name : "unpress_left";
+                               signal: "mouse,up,1";
+                               source: "title_btn_left";
+                               action: STATE_SET "visible" 0.0;
+                               target: "title_btn_left";
+                       }
+                       program{
+                               name : "press_right";
+                               signal: "mouse,down,1";
+                               source: "title_btn_right";
+                               action: STATE_SET "pressed" 0.0;
+                               target: "title_btn_right";
+                       }
+                       program{
+                               name : "unpress_right";
+                               signal: "mouse,up,1";
+                               source: "title_btn_right";
+                               action: STATE_SET "visible" 0.0;
+                               target: "title_btn_right";
+                       }
+                       program{
+                               name : "press_image_left";
+                               signal: "mouse,down,1";
+                               source: "title_image_btn_left";
+                               action: STATE_SET "pressed" 0.0;
+                               target: "title_image_btn_left";
+                       }
+                       program{
+                               name : "unpress_image_left";
+                               signal: "mouse,up,1";
+                               source: "title_image_btn_left";
+                               action: STATE_SET "visible" 0.0;
+                               target: "title_image_btn_left";
+                       }
+                       program {
+                               name: "button_show";
+                               signal: "elm,button,state,visible";
+                               source: "elm";
+                               script {
+                                       set_state(PART:"title_btn_left", "visible", 0.0);
+                                       set_state(PART:"title_btn_right", "visible", 0.0);
+                                       set_state(PART:"title_left_text", "visible", 0.0);
+                                       set_state(PART:"title_right_text", "visible", 0.0);
+                                       set_state(PART:"elm.swallow.left", "visible", 0.0);
+                                       set_state(PART:"title_image_btn_left", "default", 0.0);
+                                       set_state(PART:"left_back_image", "hidden", 0.0);
+                                       set_state(PART:"elm.swallow.image.left", "default", 0.0);
+                                       set_state(PART:"elm.swallow.right", "visible", 0.0);
+                               }
+                       }
+                       program {
+                               name: "right_button_hide";
+                               signal: "elm,button,state,hidden";
+                               source: "elm";
+                               script {
+                                       set_state(PART:"title_btn_right", "hidden", 0.0);
+                                       set_state(PART:"title_right_text", "hidden", 0.0);
+                                       set_state(PART:"elm.swallow.right", "hidden", 0.0);
+                               }
+                       }
+                       program {
+                               name: "left_button_show";
+                               signal: "elm,button,state,show";
+                               source: "elm";
+                               script {
+                                       set_state(PART:"title_image_btn_left", "visible", 0.0);
+                                       set_state(PART:"left_back_image", "visible", 0.0);
+                                       set_state(PART:"elm.swallow.image.left", "visible", 0.0);
+                               }
+                       }
+                       program {
+                               name: "left_button_hide";
+                               signal: "elm,button,state,hide";
+                               source: "elm";
+                               script {
+                                       set_state(PART:"title_image_btn_left", "default", 0.0);
+                                       set_state(PART:"left_back_image", "default", 0.0);
+                                       set_state(PART:"elm.swallow.image.left", "default", 0.0);
+                               }
+                       }
+
+                       program {
+                               name: "button_hide";
+                               signal: "elm,button,state,default";
+                               source: "elm";
+                               script {
+                                       set_state(PART:"title_btn_left", "default", 0.0);
+                                       set_state(PART:"title_btn_right", "default", 0.0);
+                                       set_state(PART:"title_left_text", "default", 0.0);
+                                       set_state(PART:"title_right_text", "default", 0.0);
+                                       set_state(PART:"elm.swallow.left", "default", 0.0);
+                                       set_state(PART:"elm.swallow.right", "default", 0.0);
+                               }
+                       }
+               }
+       }
+
+#undef BUTTON_STATE_ENABLED
+#undef BUTTON_STATE_DISABLED
+
diff --git a/res/black_theme/edc/gl-gengrid-item-albums.edc b/res/black_theme/edc/gl-gengrid-item-albums.edc
new file mode 100755 (executable)
index 0000000..53d184e
--- /dev/null
@@ -0,0 +1,746 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+/* 720/2 */
+#define ALBUM_ITEM_W 360
+/* 720/2 */
+#define ALBUM_ITEM_H 360
+
+#define CHECK_GAP_L (0)
+#define CHECK_GAP_R (0)
+#define CHECK_GAP_T (15)
+
+#define ALBUM_ICON_GAP_L (0)
+#define ALBUM_ICON_GAP_R (0)
+#define ALBUM_ICON_GAP_T (0)
+#define ALBUM_ICON_GAP_B (0)
+
+#define ALBUM_ICON_W (ALBUM_ITEM_W-ALBUM_ICON_GAP_L-ALBUM_ICON_GAP_R)
+#define ALBUM_ICON_H (ALBUM_ITEM_H-ALBUM_ICON_GAP_T-ALBUM_ICON_GAP_B)
+
+#define ALBUM_RENAME_R_PAD 2
+#define ALBUM_RENAME_B_PAD 2
+
+#define ALBUM_TEXT_BG_W 195
+/* 7 + 31 + 31*/
+#define ALBUM_TEXT_BG_H 70
+#define ALBUM_TEXT_GAP_L 10
+#define ALBUM_TEXT_GAP_R 8
+#define ALBUM_TEXT_GAP_T 6
+#define ALBUM_TEXT_SNS_X 60
+#define ALBUM_TEXT_DATE_H 31
+
+#define ALBUM_TYPE_GAP_T 8
+
+#define ALBUM_NAME_COLOR_INC 0 0 0 255
+#define ALBUM_COUNT_SHADOW_COLOR_INC 0 0 0 0
+
+#define ALBUM_NAME_TEXT_SIZE 18
+#define SPLIT_ALBUM_NAME_TEXT_SIZE 10
+
+#define ALBUM_COUNT_COLOR_INC 0 0 0 255
+#define ALBUM_COUNT_TEXT_SIZE 15
+
+#define ALBUM_TYPE_ICON_W 48
+#define ALBUM_TYPE_ICON_H 48
+
+#define ALBUM_PBAR_W 183
+#define ALBUM_PBAR_H 0
+#define ALBUM_PBAR_GAP_L 6
+#define ALBUM_PBAR_GAP_T 8
+
+#define ALBUM_RENAME_BTN_W 63
+#define ALBUM_RENAME_BTN_H 63
+
+#define ALBUM_CHECKBOX_W 10
+#define ALBUM_CHECKBOX_H 10
+#define ALBUM_CHECKBOX_GAP_L 6
+#define ALBUM_CHECKBOX_GAP_T (6+4)
+
+#define PARTS_PADDING_LEFT(param_padding_name, param_padding_size ) \
+         part { name: param_padding_name; \
+            type: RECT; \
+            scale: 1; \
+            description { \
+               state: "default" 0.0; \
+               min: param_padding_size 0; \
+               fixed: 1 0; \
+               visible: 0; \
+               rel2.relative: 1.0 0.0; \
+               rel2.offset: -35 0; \
+               align: 0.0 0.0; \
+            } \
+         }
+
+#define PARTS_PADDING_RIGHT(param_padding_name, param_padding_size ) \
+       part { name: param_padding_name; \
+            type: RECT; \
+            scale: 1; \
+            description { state: "default" 0.0; \
+               min: param_padding_size 0; \
+               max: param_padding_size 0; \
+               fixed: 1 0; \
+               visible: 0; \
+               rel1.relative: 1.0  0.0; \
+               align: 1.0 0.0; \
+            } \
+         }
+#define PARTS_PADDING_TOP(param_padding_name, param_padding_size ) \
+       part { name: param_padding_name; \
+            type: RECT; \
+            scale: 1; \
+            description { \
+               state: "default" 0.0; \
+               min: 0 param_padding_size; \
+               fixed: 0 1; \
+               visible: 0; \
+               rel2.relative: 1.0 0.0; \
+               align: 1.0 0.0; \
+            } \
+         }
+
+#define GL_ALBUM_BG \
+               part { \
+                       name: "bg"; \
+                       type: RECT; \
+                       description { \
+                               state: "default" 0.0; \
+                               color: 0 0 0 0; \
+                               rel1 { relative: 0.0 0.0; } \
+                               rel2 { relative: 1.0 1.0; } \
+                       } \
+               }
+#define GL_ALBUM_BG_IMAGE \
+               part { \
+                       name: "bg_image"; \
+                       type: IMAGE; \
+                       description { \
+                               state: "default" 0.0; \
+                               visible: 1; \
+                               rel1 { relative: 0.0 0.0; to:"bg"; } \
+                               rel2 { relative: 1.0 1.0; to:"bg"; } \
+                               image.normal: GALLERY_EDC_IMAGE_ALBUM_BG; \
+                               image.middle: 0; \
+                       } \
+               }
+
+#define GL_ALBUM_ICON_BG \
+               part { name: "icon_bg"; \
+                       type: RECT; \
+                       mouse_events: 1; \
+                       repeat_events: 1; \
+                       scale : 1; \
+                       description { \
+                               state: "default" 0.0; \
+                               color: 0 0 0 0; \
+                               rel1 { relative: 0.0 0.0; to:"elm.swallow.icon"; } \
+                               rel2 { relative: 1.0 1.0; to:"elm.swallow.icon"; } \
+                       } \
+               }
+
+#define GL_ALBUM_ICON \
+               part { \
+                       name: "elm.swallow.icon"; \
+                       type: SWALLOW; \
+                       clip_to: "elm.icon.clipper"; \
+                       mouse_events: 1; \
+                       description { \
+                       state: "default" 0.0; \
+                               rel1.to: "elm.icon.clipper"; \
+                               rel2.to: "elm.icon.clipper"; \
+                       } \
+               } \
+               part { \
+                       name: "elm.icon.clipper"; \
+                       type: RECT; \
+                       description { \
+                               state: "default" 0.0; \
+                               rel1 { relative: 0 0; offset: 2 2; to:"bg_image"; } \
+                               rel2 { relative: 1 270/330; offset: -2 -2; to:"bg_image"; } \
+                       } \
+               }
+
+#define GL_ALBUM_LABEL_BG \
+               part { \
+                       name: "label_bg"; \
+                       type: RECT; \
+                       mouse_events: 1; \
+                       repeat_events: 1; \
+                       description { \
+                               state: "default" 0.0; \
+                               color: 0 0 0 0; \
+                               rel1 { relative: 0 270/330; to:"bg_image"; } \
+                               rel2 { relative: 1 1; to:"bg_image"; } \
+                       } \
+               }
+
+#define GL_ALBUM_TYPE_ICON \
+               part { \
+                       name: "elm.swallow.type_icon"; \
+                       type: RECT; \
+                       mouse_events: 1; \
+                       repeat_events: 1; \
+                       description { \
+                               state: "default" 0.0; \
+                               align: 0.5 0.5; \
+                               rel1 { relative: (ALBUM_TEXT_GAP_L+ALBUM_ICON_GAP_L)/ALBUM_ICON_W  0.0; to: "label_bg"; } \
+                               rel2 { relative: (ALBUM_TYPE_ICON_W+ALBUM_TEXT_GAP_L+ALBUM_ICON_GAP_L)/ALBUM_ICON_W 1.0; to: "label_bg"; } \
+                               color: 0 0 0 0 ; \
+                       } \
+               }
+
+#define GL_ALBUM_SD_ICON \
+               part { \
+                       name: "elm.swallow.sd_icon"; \
+                       type: SWALLOW; \
+                       mouse_events: 1; \
+                       repeat_events: 1; \
+                       description { \
+                               state: "default" 0.0; \
+                               align: 0.5 0.5; \
+                               rel1 { relative: 0.82 0.82; to: "elm.icon.clipper"; } \
+                               rel2 { relative: 0.98 0.98; to: "elm.icon.clipper"; } \
+                       } \
+               }
+
+#define GL_ALBUM_COUNT \
+               part { \
+                       name: "elm.pad.right_count"; \
+                       type: RECT; \
+                       mouse_events: 1; \
+                       repeat_events: 1; \
+                       scale: 1; \
+                       description { \
+                               state: "default" 0.0; \
+                               color: 0 0 0 0; \
+                               rel1 { relative: 1.0 0.0; to: "label_bg"; } \
+                               rel2 { relative: 1.0 1.0; to: "label_bg"; } \
+                               min: 20 0; \
+                               max: 20 0; \
+                               fixed: 1 0; \
+                               align: 1.0 0.0; \
+                       } \
+               } \
+               part { \
+                       name: "elm.text.count"; \
+                       type: TEXT; \
+                       mouse_events: 1; \
+                       effect: FAR_SHADOW TOP; \
+                       repeat_events: 1; \
+                       scale: 1; \
+                       description { \
+                               state: "default" 0.0; \
+                               visible: 1; \
+                               rel1 { relative: 0.0 0.0; to_x: "elm.pad.right_count"; to_y: "label_bg";} \
+                               rel2 { relative: 0.0 1.0; to_x: "elm.pad.right_count"; to_y: "label_bg";} \
+                               min: 10 0; \
+                               fixed: 1 0; \
+                               align: 1.0 0.5; \
+                               color: ALBUM_COUNT_COLOR_INC; \
+                               color2: ALBUM_COUNT_SHADOW_COLOR_INC; \
+                               text { \
+                                       font: "Tizen:style=Bold"; \
+                                       text_class: "tizen"; \
+                                       size: ALBUM_COUNT_TEXT_SIZE; \
+                                       min: 1 0; \
+                                       align: 1.0 0.5; \
+                               } \
+                       } \
+               }
+
+#define GL_ALBUM_NAME \
+               part { \
+                       name: "elm.text.name"; \
+                       type: TEXT; \
+                       mouse_events: 1; \
+                       repeat_events: 1; \
+                       scale: 1; \
+                       description { \
+                               state: "default" 0.0; \
+                               rel1 { relative: 0.0 1.0; to: "elm.icon.clipper"; } \
+                               rel2 { relative: 1.0 1.0; offset: 0 48;  to: "elm.icon.clipper"; } \
+                               color: ALBUM_NAME_COLOR_INC; \
+                               align: 0.5 0.5; \
+                               text { \
+                                       font: "Tizen:style=Bold"; \
+                                       size: ALBUM_NAME_TEXT_SIZE; \
+                                       align: 0.5 0.5; \
+                               } \
+                       } \
+               }
+
+#define GL_ALBUM_PBAR \
+               part { \
+                       name: "elm.swallow.progressbar"; \
+                       type: SWALLOW; \
+                       mouse_events: 1; \
+                       repeat_events: 1; \
+                       scale: 1; \
+                       description { \
+                               state: "default" 0.0; \
+                               align: 0.0 1.0; \
+                               rel1 { relative: 0.0 (ALBUM_ICON_H-ALBUM_PBAR_H)/ALBUM_ICON_H; to: "elm.swallow.icon"; offset: -1 0; } \
+                               rel2 { relative: 1.0 1.0; to: "elm.swallow.icon";  offset: -2 0; } \
+                       } \
+               }
+
+#define GL_ALBUM_CHECK_GRID \
+               part { \
+                       name: "elm.swallow.check_grid"; \
+                       type: SWALLOW; \
+                       mouse_events: 1; \
+                       repeat_events: 1; \
+                       description { \
+                               state: "default" 0.0; \
+                               rel1 { relative: 0.0 0.0; to:"elm.swallow.icon"; } \
+                               rel2 { relative: 1.0 1.0; to:"elm.swallow.icon"; } \
+                       } \
+               }
+
+#define GL_ALBUM_CHECK \
+               part { \
+                       name: "elm.swallow.check"; \
+                       mouse_events: 1; \
+                       type: SWALLOW; \
+                       description { \
+                               state: "default" 0.0; \
+                               rel1 {relative: 1.0 1.0; to_x: "padding.check.left"; to_y: "padding.check.top"; }\
+                               rel2 {relative: 1.0 1.0; to_x: "padding.check.right"; to_y: "padding.check.bottom"; }\
+                       } \
+               }
+
+#define GL_ALBUM_DIM \
+               part { \
+                       name: "elm.swallow.dim"; \
+                       type: SWALLOW; \
+                       description { \
+                               state: "default" 0.0; \
+                               rel1 { relative: 0.0 0.0; to: "elm.swallow.icon"; } \
+                               rel2 { relative: 1.0 1.0; to: "elm.swallow.icon"; } \
+                       } \
+               }
+
+group {
+       name: "elm/gengrid/item/gallery/albums_view/default";
+
+       data.item: "texts" "elm.text.date elm.text.count";
+       data.item: "contents" "elm.swallow.icon elm.swallow.check elm.swallow.type_icon elm.swallow.sd_icon elm.swallow.progressbar elm.swallow.check_grid elm.swallow.dim elm.text.name.swallow";
+       images {
+               image: GALLERY_EDC_IMAGE_ALBUM_BG COMP;
+               image: GALLERY_EDC_IMAGE_THUMBS_BG_FOCUS COMP;
+       }
+       parts {
+               PARTS_PADDING_LEFT("padding.check.left", CHECK_GAP_L)
+               PARTS_PADDING_LEFT("padding.check.right", CHECK_GAP_L+ALBUM_CHECKBOX_W)
+               PARTS_PADDING_RIGHT("padding.rename.left", CHECK_GAP_R+ALBUM_RENAME_BTN_W)
+               PARTS_PADDING_RIGHT("padding.rename.right", CHECK_GAP_R)
+               PARTS_PADDING_TOP("padding.rename.top", CHECK_GAP_T)
+               PARTS_PADDING_TOP("padding.rename.bottom", CHECK_GAP_T+ALBUM_RENAME_BTN_H)
+               PARTS_PADDING_TOP("padding.check.top", CHECK_GAP_T)
+               PARTS_PADDING_TOP("padding.check.bottom", CHECK_GAP_T+ALBUM_CHECKBOX_H)
+               part { name: "padding.top";
+                       type: RECT;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               visible: 1;
+                               min: 0 0;
+                               max: 0 0;
+                               fixed: 1 1;
+                               align: 0.0 0.0;
+                       }
+                       description {
+                               state: "show" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 0;
+                               min: 0 0;
+                               max: 0 0;
+                               fixed: 0 1;
+                               rel2 { relative: 1.0 0.0;}
+                               align: 0.0 0.0;
+                       }
+               }
+               GL_ALBUM_BG
+               part { name: "focus_bg";
+                       type: IMAGE;
+                       mouse_events: 1;
+                       repeat_events: 1;
+                       description { state: "default" 0.0;
+                               visible: 0;
+                               image.normal: GALLERY_EDC_IMAGE_THUMBS_BG_FOCUS;
+                               image.border: 13 13 13 13;
+                               rel1 { relative: 0.0 0.0; to: "bg_image"; }
+                               rel2 { relative: 1.0 270/330; to: "bg_image"; }
+                       }
+                       description { state: "enabled" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 1;
+                       }
+               }
+               part {
+                       name: "bg_color";
+                       type: RECT;
+                       description {
+                               state: "default" 0.0;
+                               rel1.relative: 0 0;
+                               rel1.to : "elm.swallow.icon";
+                               rel1.offset : 2 2;
+                               rel2.relative: 1 1;
+                               rel2.to : "elm.swallow.icon";
+                               color: 230 230 230 255;
+                       }
+               }
+               GL_ALBUM_BG_IMAGE
+               GL_ALBUM_ICON_BG
+               GL_ALBUM_ICON
+               GL_ALBUM_LABEL_BG
+               GL_ALBUM_TYPE_ICON
+               GL_ALBUM_SD_ICON
+               GL_ALBUM_COUNT
+               part {
+                       name: "elm.text.name.swallow";
+                       type: SWALLOW;
+                       mouse_events: 1;
+                       repeat_events: 1;
+                       description {
+                               state: "default" 0.0;
+                               rel1 { relative: 0.0 1.0; to: "elm.icon.clipper"; }
+                               rel2 { relative: 1.0 1.0; to: "label_bg"; }
+                               color: ALBUM_NAME_COLOR_INC;
+                               align: 0.5 0.5;
+                       }
+               }
+               GL_ALBUM_PBAR
+
+               GL_ALBUM_CHECK_GRID
+               GL_GENGRID_FOCUS_EVENT("elm.swallow.icon");
+               GL_ALBUM_CHECK
+               GL_ALBUM_DIM
+       }
+       programs {
+               program {
+                       name: "show_top_pad";
+                       signal: "show_top_pad";
+                       source: "padding.top";
+                       action: STATE_SET "show" 0.0;
+                       target: "padding.top";
+               }
+               program {
+                       name: "hide_sd_icon";
+                       signal: "hide_sd_icon";
+                       source: "elm.swallow.sd_icon";
+                       action: STATE_SET "default" 0.0;
+                       target: "elm.swallow.sd_icon";
+               }
+               GL_GENGRID_FOCUS("focus_event")
+               GL_GENGRID_SOUND("focus_event")
+               GL_GENGRID_SOUND("elm.swallow.check")
+               GL_GENGRID_PLARY_SOUND
+       }
+}
+group {
+       name: "elm/gengrid/item/gallery/albums_split_view/default";
+
+       data.item: "texts" "elm.text.date elm.text.badge";
+       data.item: "contents" "elm.swallow.icon elm.swallow.delete.count elm.swallow.check_grid elm.swallow.sd_icon elm.text.name.swallow";
+       images {
+               image: GALLERY_EDC_IMAGE_ALBUM_BG COMP;
+               image: GALLERY_EDC_IMAGE_THUMBS_BG_FOCUS COMP;
+               image: GALLERY_EDC_IMAGE_BADGE_BG COMP;
+       }
+       parts {
+               part {
+                       name: "bg";
+                       type: RECT;
+                       description {
+                               state: "default" 0.0;
+                               rel1.relative: 0 0;
+                               rel2.relative: 1 1;
+                               color: 0 0 0 0;
+                       }
+               }
+               part { name: "padding.top";
+                       type: RECT;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               visible: 1;
+                               min: 0 0;
+                               max: 0 0;
+                               fixed: 1 1;
+                               align: 0.0 0.0;
+                       }
+                       description {
+                               state: "show" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 0;
+                               min: 0 0;
+                               max: 0 0;
+                               fixed: 0 1;
+                               rel2 { relative: 1.0 0.0;}
+                               align: 0.0 0.0;
+                       }
+               }
+               part { name: "focus_bg";
+                       type: IMAGE;
+                       mouse_events: 1;
+                       repeat_events: 1;
+                       description { state: "default" 0.0;
+                               visible: 0;
+                               image.normal: GALLERY_EDC_IMAGE_THUMBS_BG_FOCUS;
+                               image.border: 13 13 13 13;
+                               rel1 { relative: 0.0 0.0; to: "bg"; }
+                               rel2 { relative: 1.0 270/330; to: "bg"; }
+                       }
+                       description { state: "enabled" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 1;
+                       }
+               }
+               part {
+                       name: "elm.icon.clipper";
+                       type: RECT;
+                       description {
+                               state: "default" 0.0;
+                               rel1 { relative: 0 0; offset: 4 4; to:"bg"; }
+                               rel2 { relative: 1 270/330; offset: -4 -4; to:"bg"; }
+                       }
+               }
+               part {
+                       name: "elm.swallow.icon";
+                       type: SWALLOW;
+                       clip_to: "elm.icon.clipper";
+                       mouse_events: 1;
+                       description {
+                       state: "default" 0.0;
+                               rel1.to: "elm.icon.clipper";
+                               rel2.to: "elm.icon.clipper";
+                       }
+               }
+           part {
+                       name: "elm.swallow.check_grid";
+                       type: SWALLOW;
+                       clip_to: "elm.icon.clipper";
+                       mouse_events: 1;
+                       description {
+                       state: "default" 0.0;
+                               rel1.to: "elm.icon.clipper";
+                               rel2.to: "elm.icon.clipper";
+                       }
+               }
+               part {
+                       name: "elm.text.name.swallow";
+                       type: SWALLOW;
+                       mouse_events: 1;
+                       repeat_events: 1;
+                       description {
+                               state: "default" 0.0;
+                               rel1 { relative: 0.0 1.0; to: elm.swallow.icon; }
+                               rel2 { relative: 1.0 1.27; to: elm.swallow.icon; }
+                               color: 0 0 0 0;
+                               align: 0.5 0.5;
+                       }
+               }
+               part {
+                       name: "elm.swallow.sd_icon";
+                       type: SWALLOW;
+                       mouse_events: 1;
+                       repeat_events: 1;
+                       description {
+                               state: "default" 0.0;
+                               align: 0.5 0.5;
+                               rel1 { relative: 0.78 0.75; to: "elm.swallow.icon"; }
+                               rel2 { relative: 0.98 0.95; to: "elm.swallow.icon"; }
+                       }
+               }
+               part {
+                       name: "elm.swallow.delete.count";
+                       type: SWALLOW;
+                       mouse_events: 1;
+                       repeat_events: 1;
+                       description {
+                               state: "default" 0.0;
+                               align: 0.5 0.5;
+                               rel1 { relative: 0.75 0.05; to: "elm.icon.clipper"; }
+                               rel2 { relative: 0.95 0.25; to: "elm.icon.clipper"; }
+                               color: 255 0 0 255;
+                       }
+               }
+               part {
+                       name: "padding.badge";
+                       type: RECT;
+                       scale: 1;
+                       mouse_events: 0;
+                       description {
+                               state: "default" 0.0;
+                               align: 1.0 0.0;
+                               rel1 {
+                                       relative: 1.0 0.0;
+                               }
+                               rel2 {
+                                       relative: 1.0 0.03;
+                               }
+                               min: 6 2;
+                               fixed: 1 1;
+                               visible: 0;
+                       }
+                       description {
+                               state: "default" 0.10;
+                               inherit: "default" 0.0;
+                               min: 10 10;
+                       }
+                       description {
+                               state: "default" 0.06;
+                               inherit: "default" 0.0;
+                               min: 6 10;
+                       }
+                       description {
+                               state: "default" 0.04;
+                               inherit: "default" 0.0;
+                               min: 4 10;
+                       }
+               }
+               part {
+                       name: "elm.image.badge";
+                       mouse_events: 0;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               visible: 0;
+                               min: 25 25;
+                               fixed: 1 1;
+                               rel1 {
+                                       to: "left.padding.text";
+                                       relative: 0.0 0.0;
+                               }
+                               rel2 {
+                                       to: "right.padding.text";
+                                       relative: 1.0 1.0;
+                               }
+                               image {
+                                       normal: GALLERY_EDC_IMAGE_BADGE_BG;
+                                       border_scale: 1;
+                               }
+                       }
+                       description {
+                               state: "visible" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 1;
+                       }
+               }
+               part {
+                       name: "left.padding.text";
+                       type: RECT;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               visible: 0;
+                               fixed: 1 1;
+                               min: 5 25;
+                               rel1 {
+                                       to: "elm.text.badge";
+                                       relative: 0.0 0.0;
+                               }
+                               rel2 {
+                                       to: "elm.text.badge";
+                                       relative: 0.0 1.0;
+                               }
+                               align: 1.0 0.0;
+                       }
+               }
+               part {
+                       name: "right.padding.text";
+                       type: RECT;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               visible: 0;
+                               fixed: 1 1;
+                               min: 5 25;
+                               rel1 {
+                                       to: "padding.badge";
+                                       relative: 0.0 1.0;
+                               }
+                               rel2 {
+                                       to: "padding.badge";
+                                       relative: 0.0 1.0;
+                               }
+                               align: 1.0 0.0;
+                       }
+               }
+               part {
+                       name: "elm.text.badge";
+                       type: TEXT;
+                       mouse_events: 0;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               visible: 0;
+                               rel1 {
+                                       to: "right.padding.text";
+                                       relative: 0.0 0.0;
+                               }
+                               rel2 {
+                                       to: "right.padding.text";
+                                       relative: 0.0 1.0;
+                               }
+                               min: 12 0;
+                               fixed: 1 0;
+                               align: 1.0 0.5;
+                               color: 250 250 250 255;
+                               text {
+                                       font: "Tizen:style=Bold";
+                                       size: 12;
+                                       min: 1 0;
+                                       text_class: "tizen";
+                               }
+                       }
+                       description {
+                               state: "visible" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 1;
+                       }
+               }
+               GL_GENGRID_FOCUS_EVENT("elm.swallow.icon");
+       }
+       programs {
+               program {
+                       name: "show_top_pad";
+                       signal: "show_top_pad";
+                       source: "padding.top";
+                       action: STATE_SET "show" 0.0;
+                       target: "padding.top";
+               }
+               program { name: "badge_show";
+                       signal: "elm,state,elm.text.badge,visible";
+                       source: "elm";
+                       action: STATE_SET "visible" 0.0;
+                       target: "elm.text.badge";
+                       target: "elm.image.badge";
+               }
+               program { name: "badge_hide";
+                       signal: "elm,state,elm.text.badge,hidden";
+                       source: "elm";
+                       action:  STATE_SET "default" 0.0;
+                       target: "elm.text.badge";
+                       target: "elm.image.badge";
+               }
+               GL_GENGRID_FOCUS("focus_event")
+               GL_GENGRID_SOUND("focus_event")
+               GL_GENGRID_PLARY_SOUND
+       }
+}
diff --git a/res/black_theme/edc/gl-gengrid-item-ctxpopup.edc b/res/black_theme/edc/gl-gengrid-item-ctxpopup.edc
new file mode 100755 (executable)
index 0000000..c823bec
--- /dev/null
@@ -0,0 +1,225 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+#define PLACE_GIRD_ITEM_WIDTH 246
+#define PLACE_GIRD_ITEM_HEIGHT 180
+#define PLACE_GIRD_ITEM_VIDEO_X (PLACE_GIRD_ITEM_WIDTH-30)/(2*PLACE_GIRD_ITEM_WIDTH)
+#define PLACE_GIRD_ITEM_VIDEO_Y (PLACE_GIRD_ITEM_HEIGHT-30)/(2*PLACE_GIRD_ITEM_HEIGHT)
+
+//griditem style used in gridview of ctxpopup if marker clicked
+group {
+       name: "elm/gengrid/item/gallery_map/default";
+       data.item: "contents" "elm.swallow.icon";
+       parts {
+               part {
+                       name: "bg";
+                       type: RECT;
+                       description {
+                               state: "default" 0.0;
+                               color: 0 0 0 0;
+                               visible: 0;
+                               rel1 { relative: 0.0 0.0;}
+                               rel2 { relative: 1.0 1.0;}
+                       }
+               }
+               part {
+                       name: "elm.swallow.icon";
+                       type: SWALLOW;
+                       mouse_events: 1;
+                       description {
+                               state: "default" 0.0;
+                               align: 0.5 0.5;
+                               visible: 1;
+                               rel1 { relative: 2/PLACE_GIRD_ITEM_WIDTH 0.0; to: "bg";}
+                               rel2 { relative: (PLACE_GIRD_ITEM_WIDTH-2)/PLACE_GIRD_ITEM_WIDTH 1.0; to: "bg";}
+                       }
+               }
+               GL_GENGRID_OVER("elm.swallow.icon");
+       }
+       programs {
+               GL_GENGRID_OVER_SOUND("elm.swallow.icon")
+               GL_GENGRID_PLARY_SOUND
+       }
+}
+
+group
+{
+       name: "elm/gengrid/photoframe/map_default_layout";
+       images {
+               image: GALLERY_EDC_IMAGE_PLACES_THUMB_BG COMP;
+       }
+       parts {
+               part {
+                       name: "bg";
+                       type: RECT;
+                       description {
+                               state: "default" 0.0;
+                               rel1 { relative: 0.0 0.0;}
+                               rel2 { relative: 1.0 1.0;}
+                               color: 0 0 0 0;
+                       }
+               }
+               part {
+                       name: "elm.swallow.icon";
+                       type: SWALLOW;
+                       description {
+                               state: "default" 0.0;
+                               rel1 { relative: 0.0 0.0;}
+                               rel2 { relative: 1.0 1.0;}
+                       }
+                       description {
+                               state: "shrink" 0.0;
+                               rel1 { relative: 0.0 0.0;}
+                               rel2 { relative: 1.0 1.0;}
+                       }
+               }
+       }
+
+       programs {
+               program {
+                       name: "mouse_down_shrink";
+                       signal: "mouse,down,shrink";
+                       source: "bg";
+                       action: STATE_SET "shrink" 0.0;
+                       target: "elm.swallow.icon";
+                       transition: LINEAR 0.1;
+               }
+               program {
+                       name: "mouse_up_expand";
+                       signal: "mouse,up,expand";
+                       source: "bg";
+                       action: STATE_SET "default" 0.0;
+                       target: "elm.swallow.icon";
+                       transition: LINEAR 0.05;
+                       after: "shrink,expand,done,icon";
+               }
+
+               program {
+                       name: "shrink";
+                       signal: "shrink";
+                       source: "bg";
+                       action: STATE_SET "shrink" 0.0;
+                       target: "elm.swallow.icon";
+                       after: "expand";
+                       transition: LINEAR 0.1;
+               }
+               program {
+                       name: "expand";
+                       action: STATE_SET "default" 0.0;
+                       target: "elm.swallow.icon";
+                       transition: LINEAR 0.05;
+                       after: "shrink,expand,done,icon";
+               }
+               program {
+                       name: "shrink,expand,done,icon";
+                       action: SIGNAL_EMIT "shrink,expand,done" "bg";
+               }
+       }
+}
+
+group
+{
+       name: "elm/gengrid/photoframe/map_default_layout_video";
+
+       images {
+               image: GALLERY_EDC_IMAGE_BUTTON_PLAY COMP;
+               image: GALLERY_EDC_IMAGE_PLACES_THUMB_BG COMP;
+       }
+
+       parts {
+               part {
+                       name: "bg";
+                       type: RECT;
+                       description {
+                               state: "default" 0.0;
+                               rel1 { relative: 0.0 0.0;}
+                               rel2 { relative: 1.0 1.0;}
+                               color: 0 255 0 0;
+                       }
+               }
+               part {
+                       name: "elm.swallow.icon";
+                       type: SWALLOW;
+                       description {
+                               state: "default" 0.0;
+                               rel1 { relative: 0.0 0.0;}
+                               rel2 { relative: 1.0 1.0;}
+                       }
+                       description {
+                               state: "shrink" 0.0;
+                               rel1 { relative: 0.0 0.0;}
+                               rel2 { relative: 1.0 1.0;}
+                       }
+               }
+               part {
+                       name: "elm.swallow.videoicon";
+                       type: IMAGE;
+                       mouse_events: 0;
+                       repeat_events: 0;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               visible: 1;
+                               align: 0.5 0.5;
+                               aspect: 1.0 1.0;
+                               rel1 { relative: PLACE_GIRD_ITEM_VIDEO_X PLACE_GIRD_ITEM_VIDEO_Y;}
+                               rel2 { relative: PLACE_GIRD_ITEM_VIDEO_X+30/PLACE_GIRD_ITEM_WIDTH PLACE_GIRD_ITEM_VIDEO_X+30/PLACE_GIRD_ITEM_HEIGHT;}
+                               image.normal: GALLERY_EDC_IMAGE_BUTTON_PLAY;
+                       }
+               }
+       }
+       programs {
+               program {
+                       name: "mouse_down_shrink";
+                       signal: "mouse,down,shrink";
+                       source: "bg";
+                       action: STATE_SET "shrink" 0.0;
+                       target: "elm.swallow.icon";
+                       transition: LINEAR 0.1;
+               }
+               program {
+                       name: "mouse_up_expand";
+                       signal: "mouse,up,expand";
+                       source: "bg";
+                       action: STATE_SET "default" 0.0;
+                       target: "elm.swallow.icon";
+                       transition: LINEAR 0.05;
+                       after: "shrink,expand,done,icon";
+               }
+
+               program {
+                       name: "shrink";
+                       signal: "shrink";
+                       source: "bg";
+                       action: STATE_SET "shrink" 0.0;
+                       target: "elm.swallow.icon";
+                       after: "expand";
+                       transition: LINEAR 0.1;
+               }
+               program {
+                       name: "expand";
+                       action: STATE_SET "default" 0.0;
+                       target: "elm.swallow.icon";
+                       transition: LINEAR 0.05;
+                       after: "shrink,expand,done,icon";
+               }
+               program {
+                       name: "shrink,expand,done,icon";
+                       action: SIGNAL_EMIT "shrink,expand,done" "bg";
+               }
+       }
+}
+
diff --git a/res/black_theme/edc/gl-gengrid-item-thumbview.edc b/res/black_theme/edc/gl-gengrid-item-thumbview.edc
new file mode 100755 (executable)
index 0000000..18e69f0
--- /dev/null
@@ -0,0 +1,558 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#define W 180
+#define H 126
+#define W2 240
+#define H2 168
+#define W3 360
+#define H3 252
+#define GAP_W 3
+#define GAP_H 3
+#define THUMB_CHECK_W 10
+#define THUMB_CHECK_H 10
+#define THUMB_CHECK_BORDER_L 1
+#define THUMB_CHECK_BORDER_T 10
+#define MODE_W 64
+#define MODE_H 64
+
+#define BURST_W 16
+#define BURST_H 12
+#define BURST_PAD_R 4
+#define BURST_PAD_L 1
+
+/* Favourites icon boundary size */
+#define FAVOR_ICON_W 30
+#define FAVOR_ICON_H 30
+
+#define THUMBS_PARTS_PADDING_LEFT(param_padding_name, param_padding_size) \
+         part { name: param_padding_name; \
+            type: RECT; \
+            scale: 1; \
+            description { \
+               state: "default" 0.0; \
+               min: param_padding_size 0; \
+               fixed: 1 0; \
+               visible: 0; \
+               rel2.relative: 1.0 0.0; \
+               rel2.offset: -35 0; \
+               align: 0.0 0.0; \
+            } \
+         }
+
+#define THUMBS_PARTS_PADDING_TOP(param_padding_name, param_padding_size) \
+       part { name: param_padding_name; \
+            type: RECT; \
+            scale: 1; \
+            description { \
+               state: "default" 0.0; \
+               min: 0 param_padding_size; \
+               fixed: 0 1; \
+               visible: 0; \
+               rel2.relative: 1.0 0.0; \
+               align: 1.0 0.0; \
+            } \
+         }
+
+#define PARTS_PADDING_BOT(param_padding_name, param_padding_size) \
+       part { name: param_padding_name; \
+            type: RECT; \
+            scale: 1; \
+            description { \
+               state: "default" 0.0; \
+               min: 0 param_padding_size; \
+               fixed: 0 1; \
+               visible: 0; \
+               rel1.relative: 0.0 1.0; \
+               align: 0.0 1.0; \
+            } \
+         }
+
+#define GL_GRID_PART_ICON_SIZE(w, h) \
+       part { \
+               name: "elm.swallow.icon"; \
+               type: SWALLOW; \
+               clip_to: "elm.icon.clipper"; \
+               description { \
+                       state: "default" 0.0; \
+                       rel1.to: "elm.icon.clipper"; \
+                       rel2.to: "elm.icon.clipper"; \
+               } \
+       } \
+       part { \
+               name: "elm.icon.clipper"; \
+               type: RECT; \
+               description { \
+                       state: "default" 0.0; \
+                       rel1 { relative: GAP_W/w GAP_H/h;} \
+                       rel2 { relative: (w-GAP_W)/w (h-GAP_H)/h;} \
+               } \
+       }
+
+#define GL_GRID_PART_ICON GL_GRID_PART_ICON_SIZE(W, H)
+
+#define GL_GRID_PART_BG \
+       part { \
+               name: "bg"; \
+               type: RECT; \
+               description { \
+                       state: "default" 0.0; \
+                       color: 0 0 0 0; \
+               } \
+       }
+
+group {
+       name: "elm/gengrid/item/gallery/thumbnail_view/default";
+       data.item: "contents" "elm.swallow.icon elm.swallow.mode elm.swallow.check elm_image_open_icon_swallow elm_image_open_icon_swallow_blocker";
+       images {
+          image : GALLERY_EDC_IMAGE_THUMBS_BG_FOCUS COMP;
+          image: GALLERY_EDC_DELETE_SHOW_IMAGE_BG COMP;
+          image: GALLERY_EDC_DELETE_SHOW_IMAGE COMP;
+          image: GALLERY_EDC_SD_CARD_ICON COMP;
+       }
+
+       parts {
+               THUMBS_PARTS_PADDING_LEFT("padding.end.left", THUMB_CHECK_BORDER_L);
+               THUMBS_PARTS_PADDING_LEFT("padding.end.right", THUMB_CHECK_BORDER_L+THUMB_CHECK_W);
+               THUMBS_PARTS_PADDING_TOP("padding.end.top", THUMB_CHECK_BORDER_T);
+               THUMBS_PARTS_PADDING_TOP("padding.end.bottom", THUMB_CHECK_BORDER_T+THUMB_CHECK_H);
+               THUMBS_PARTS_PADDING_LEFT("padding.end.left2", GAP_W);
+               THUMBS_PARTS_PADDING_LEFT("padding.end.right2", GAP_W+MODE_W);
+               PARTS_PADDING_BOT("padding.end.top2", GAP_H+MODE_H);
+               PARTS_PADDING_BOT("padding.end.bottom2", GAP_H);
+               GL_GRID_PART_BG
+               part {
+                       name: "icon_bg";
+                       type: RECT;
+                       scale : 1;
+                       description {
+                               state: "default" 0.0;
+                               align: 0.5 0.5;
+                               visible: 0;
+                               color: 0 0 0 0;
+                       }
+               }
+               part {
+                       name: "icon_bg_color";
+                       type: RECT;
+                       scale : 1;
+                       description {
+                               state: "default" 0.0;
+                               align: 0.5 0.5;
+                               visible: 1;
+                               rel1.to : "elm.swallow.icon";
+                               rel1.offset : 2 2;
+                               rel2.to : "elm.swallow.icon";
+                               color: 230 230 230 255;
+                       }
+               }
+               part {
+                       name: "elm.swallow.icon";
+                       type: SWALLOW;
+                       mouse_events: 1;
+                       description {
+                               state: "default" 0.0;
+                               color: 0 0 0 0;
+                       }
+               }
+               part {
+                       name: "elm.swallow.mode";
+                       type: SWALLOW;
+                       repeat_events: 1;
+                       description {
+                               state: "default" 0.0;
+                               rel1 {relative: 1.0 0.0; to_x: "padding.end.left2"; to_y: "padding.end.top2"; }
+                               rel2 {relative: 1.0 0.0; to_x: "padding.end.right2"; to_y: "padding.end.bottom2"; }
+                       }
+               }
+               GL_GENGRID_FOCUS_BG
+               part {
+                       name: "elm.swallow.check";
+                       type: SWALLOW;
+                       description {
+                               state: "default" 0.0;
+                               rel1 {relative: 1.0 1.0; to_x: "padding.end.left"; to_y: "padding.end.top"; }
+                               rel2 {relative: 1.0 1.0; to_x: "padding.end.right"; to_y: "padding.end.bottom"; }
+                       }
+               }
+               part {
+                       name: "sd_card_icon_rect";
+                       type: RECT;
+                       mouse_events: 1;
+                       repeat_events: 1;
+                       description {
+                               state: "default" 0.0;
+                               visible: 1;
+                               rel1 {relative: 1 1; offset: -42 -42; to: bg; }
+                               rel2 {relative: 1 1; offset: -8 -8; to: bg; }
+                               min: 36 36;
+                               max: 36 36;
+                               color: 0 0 0 0;
+                       }
+               }
+               part {
+                       name: "sd_card_icon_img";
+                       type: IMAGE;
+                       mouse_events: 1;
+                       repeat_events: 1;
+                       description {
+                               state: "default" 0.0;
+                               visible: 0;
+                               rel1 {relative: 0 0; to: sd_card_icon_rect; }
+                               rel2 {relative: 1 1; to: sd_card_icon_rect; }
+                               image.normal: GALLERY_EDC_SD_CARD_ICON;
+                       }
+                       description {
+                               state: "show" 0.0;
+                               visible: 1;
+                               rel1 {relative: 0 0; to: sd_card_icon_rect; }
+                               rel2 {relative: 1 1; to: sd_card_icon_rect; }
+                               image.normal: GALLERY_EDC_SD_CARD_ICON;
+                       }
+               }
+               part {
+                       name: "elm_image_open_icon_rect";
+                       type: RECT;
+                       mouse_events: 1;
+                       repeat_events: 1;
+                       description {
+                               state: "default" 0.0;
+                               visible: 1;
+                               rel1 {relative: 0 1; offset: 8 -42; to: bg; }
+                               rel2 {relative: 0 1; offset: 42 -8; to: bg; }
+                               min: 36 36;
+                               max: 36 36;
+                               color: 0 0 0 0;
+                       }
+               }
+               part {
+                       name: "elm_image_open_icon_bg";
+                       type: IMAGE;
+                       mouse_events: 1;
+                       repeat_events: 1;
+                       description {
+                               state: "default" 0.0;
+                               visible: 0;
+                               rel1 {relative: 0 0; to: elm_image_open_icon_rect; }
+                               rel2 {relative: 1 1; to: elm_image_open_icon_rect; }
+                               image.normal: GALLERY_EDC_DELETE_SHOW_IMAGE_BG;
+                               color : 0 0 0 100;
+                       }
+                       description {
+                               state: "show" 0.0;
+                               visible: 1;
+                               rel1 {relative: 0 0; to: elm_image_open_icon_rect; }
+                               rel2 {relative: 1 1; to: elm_image_open_icon_rect; }
+                               image.normal: GALLERY_EDC_DELETE_SHOW_IMAGE_BG;
+                               color : 0 0 0 100;
+                       }
+               }
+               part {
+                       name: "elm_image_open_icon_image";
+                       type: IMAGE;
+                       mouse_events: 1;
+                       repeat_events: 1;
+                       description {
+                               state: "default" 0.0;
+                               visible: 0;
+                               rel1 {relative: 0 0; to: elm_image_open_icon_rect; }
+                               rel2 {relative: 1 1; to: elm_image_open_icon_rect; }
+                               image.normal: GALLERY_EDC_DELETE_SHOW_IMAGE;
+                       }
+                       description {
+                               state: "show" 0.0;
+                               visible: 1;
+                               rel1 {relative: 0 0; to: elm_image_open_icon_rect; }
+                               rel2 {relative: 1 1; to: elm_image_open_icon_rect; }
+                               image.normal: GALLERY_EDC_DELETE_SHOW_IMAGE;
+                       }
+               }
+               part {
+                       name: "elm_image_open_icon_swallow_blocker";
+                       type: SWALLOW;
+                       mouse_events: 1;
+                       repeat_events : 0;
+                       description {
+                               state: "default" 0.0;
+                               visible: 1;
+                               rel1 {relative: 0 0.55; to: bg; }
+                               rel2 {relative: 0.45 1.0; to: bg; }
+                       }
+               }
+               part {
+                       name: "elm_image_open_icon_swallow";
+                       type: SWALLOW;
+                       mouse_events: 1;
+                       repeat_events : 0;
+                       description {
+                               state: "default" 0.0;
+                               visible: 1;
+                               rel1 {relative: 0 0.55; to: bg; }
+                               rel2 {relative: 0.45 1.0; to: bg; }
+                       }
+               }
+       }
+       programs {
+               GL_GENGRID_FOCUS("elm.swallow.icon")
+               GL_GENGRID_SOUND("elm.swallow.check")
+               GL_GENGRID_SOUND("elm.swallow.icon")
+               GL_GENGRID_SOUND("elm_image_open_icon_swallow")
+               GL_GENGRID_PLARY_SOUND
+               program {
+                       name: "show_image";
+                       signal: "show_image_icon";
+                       source: "elm_image_open_icon_rect";
+                       action: STATE_SET "show" 0.0;
+                       target: "elm_image_open_icon_bg";
+                       target: "elm_image_open_icon_image";
+               }
+               program {
+                       name: "hide_image";
+                       signal: "hide_image_icon";
+                       source: "elm_image_open_icon_rect";
+                       action: STATE_SET "default" 0.0;
+                       target: "elm_image_open_icon_bg";
+                       target: "elm_image_open_icon_image";
+               }
+               program {
+                       name: "show_sd_icon";
+                       signal: "show_sd_card_icon";
+                       source: "sd_card_icon_img";
+                       action: STATE_SET "show" 0.0;
+                       target: "sd_card_icon_img";
+               }
+               program {
+                       name: "hide_sd_icon";
+                       signal: "hide_sd_card_icon";
+                       source: "sd_card_icon_img";
+                       action: STATE_SET "default" 0.0;
+                       target: "sd_card_icon_img";
+               }
+       }
+}
+
+group {
+       name: "elm/gengrid/item/gallery/date_view/default";
+
+       data.item: "texts" "year month";
+
+       parts {
+               GL_GRID_PART_BG
+               part {
+                       name: "year";
+                       type: TEXT;
+                       scale : 1;
+                       description {
+                               state: "default" 0.0;
+                               color: 88 88 88 255;
+                               rel1 { relative: 0.0 0.0;}
+                               rel2 { relative: 1.0 24/127;}
+                               text {
+                                       font: "Tizen:style=Regular";
+                                       text_class: "tizen";
+                                       size: 24;
+                                       align: 1.0 0.5;
+                               }
+                       }
+               }
+
+               part {
+                       name: "month";
+                       type: TEXT;
+                       scale : 1;
+                       description {
+                               state: "default" 0.0;
+                               color: 88 88 88 255;
+                               rel1 { relative: 0.0 1.0; to: "year"; }
+                               rel2 { relative: 1.0 48/127; to_x: "year"; }
+                               text {
+                                       font: "Tizen:style=Bold";
+                                       text_class: "tizen";
+                                       size: 26;
+                                       align: 1.0 0.5;
+                               }
+                       }
+               }
+       }
+}
+
+#define GL_GENGRID_PHOTOFRAME_DEFAULT(NAME, w, h) \
+group \
+{ \
+       name: "elm/gengrid/photoframe/"NAME; \
+       parts { \
+               GL_GRID_PART_BG \
+               GL_GRID_PART_ICON_SIZE(w, h) \
+       } \
+}
+
+GL_GENGRID_PHOTOFRAME_DEFAULT("layout", W, H)
+GL_GENGRID_PHOTOFRAME_DEFAULT("layout2", W2, H2)
+GL_GENGRID_PHOTOFRAME_DEFAULT("layout3", W3, H3)
+
+#define GL_GENGRID_BURSTSHOT(icon_name, w, h, n, p1x, p1y, p2x, p2y) \
+       part { \
+               name: icon_name".bg"; \
+               type: IMAGE; \
+               description { \
+                       state: "default" 0.0; \
+                       rel1 { relative: (GAP_W+n*BURST_W)/w (GAP_H+n*BURST_H)/h;} \
+                       rel2 { relative: (w-GAP_W-(2-n)*BURST_W)/w (h-GAP_H-(2-n)*BURST_H)/h;} \
+                       image {normal: GALLERY_EDC_IMAGE_BUSTSHOT; border: 5 5 5 5;} \
+               } \
+       } \
+       part { \
+               name: icon_name".bg2"; \
+               type: RECT; \
+               description { \
+                       state: "default" 0.0; \
+                       color: GALLERY_EDC_COLOR_BG; \
+                       rel1 { relative: 0.0 0.0; to: icon_name".clipper"; } \
+                       rel2 { relative: 1.0 1.0; to: icon_name".clipper"; } \
+               } \
+       } \
+       part { \
+               name: icon_name".bg3"; \
+               type: RECT; \
+               description { \
+                       state: "default" 0.0; \
+                       color: 0 0 0 45; \
+                       rel1 { relative: 0.0 0.0; to: icon_name".clipper"; } \
+                       rel2 { relative: 1.0 1.0; to: icon_name".clipper"; } \
+               } \
+       } \
+       part { \
+               name: icon_name; \
+               type: SWALLOW; \
+               clip_to: icon_name".clipper"; \
+               description { \
+                       state: "default" 0.0; \
+                       rel1.to: icon_name".clipper"; \
+                       rel2.to: icon_name".clipper"; \
+               } \
+       } \
+       part { \
+               name: icon_name".clipper"; \
+               type: RECT; \
+               description { \
+                       state: "default" 0.0; \
+                       align: 1.0 1.0; \
+                       rel1 { relative: p1x/(w-2*GAP_W-2*BURST_W) p1y/(h-2*GAP_H-2*BURST_H); to: icon_name".bg"; } \
+                       rel2 { relative: (w-2*GAP_W-2*BURST_W-p2x)/(w-2*GAP_W-2*BURST_W) (h-2*GAP_H-2*BURST_H-p2y)/(h-2*GAP_H-2*BURST_H); to: icon_name".bg"; } \
+               } \
+       }
+
+group {
+        name: "elm/gengrid/photoframe/burstshot2";
+        images {
+                image: GALLERY_EDC_IMAGE_BUSTSHOT COMP;
+        }
+        parts {
+               GL_GRID_PART_BG
+               GL_GENGRID_BURSTSHOT("elm.swallow.icon3", W3, H3, 2, (BURST_PAD_L+0.5), BURST_PAD_L, (BURST_PAD_R+0.5), BURST_PAD_R)
+               GL_GENGRID_BURSTSHOT("elm.swallow.icon2", W3, H3, 1, (BURST_PAD_L+1.0), BURST_PAD_L, BURST_PAD_R, BURST_PAD_R)
+               GL_GENGRID_BURSTSHOT("elm.swallow.icon1", W3, H3, 0, (BURST_PAD_L+0.5), BURST_PAD_L, (BURST_PAD_R+0.5), BURST_PAD_R)
+        }
+}
+
+group {
+        name: "elm/gengrid/photoframe/burstshot1";
+        images {
+                image: GALLERY_EDC_IMAGE_BUSTSHOT COMP;
+        }
+        parts {
+               GL_GRID_PART_BG
+               GL_GENGRID_BURSTSHOT("elm.swallow.icon3", W2, H2, 2, (BURST_PAD_L+0.5), BURST_PAD_L, BURST_PAD_R, BURST_PAD_R)
+               GL_GENGRID_BURSTSHOT("elm.swallow.icon2", W2, H2, 1, (BURST_PAD_L+1.0), BURST_PAD_L, BURST_PAD_R, BURST_PAD_R)
+               GL_GENGRID_BURSTSHOT("elm.swallow.icon1", W2, H2, 0, (BURST_PAD_L+0.5), BURST_PAD_L, BURST_PAD_R, BURST_PAD_R)
+        }
+}
+
+group {
+        name: "elm/gengrid/photoframe/burstshot";
+        images {
+                image: GALLERY_EDC_IMAGE_BUSTSHOT COMP;
+        }
+        parts {
+               GL_GRID_PART_BG
+               GL_GENGRID_BURSTSHOT("elm.swallow.icon3", W, H, 2, (BURST_PAD_L+0.5), BURST_PAD_L, (BURST_PAD_R+0.5), BURST_PAD_R)
+               GL_GENGRID_BURSTSHOT("elm.swallow.icon2", W, H, 1, (BURST_PAD_L+1.0), BURST_PAD_L, BURST_PAD_R, BURST_PAD_R)
+               GL_GENGRID_BURSTSHOT("elm.swallow.icon1", W, H, 0, (BURST_PAD_L+0.5), BURST_PAD_L, (BURST_PAD_R+0.5), BURST_PAD_R)
+        }
+}
+
+
+#define GL_GENGRID_PHOTOFRAME_VIDEO(NAME, w, h, time_h) \
+group \
+{ \
+       name: "elm/gengrid/photoframe/"NAME; \
+       images { \
+               image: GALLERY_EDC_IMAGE_BUTTON_VIDEO_PLAY COMP; \
+       } \
+               parts { \
+                       part { \
+                       name: "bg"; \
+                       type: RECT; \
+                       mouse_events: 1; \
+                       description { \
+                               state: "default" 0.0; \
+                               rel1 { relative: 0.0 0.0;} \
+                               rel2 { relative: 1.0 1.0;} \
+                               color: 0 0 0 0; \
+                       } \
+               } \
+               part { \
+                       name: "elm.swallow.icon"; \
+                       type: SWALLOW; \
+                       clip_to: "elm.icon.clipper"; \
+                       description { \
+                               state: "default" 0.0; \
+                               rel1.to: "elm.icon.clipper"; \
+                               rel2.to: "elm.icon.clipper"; \
+                       } \
+               } \
+               part { \
+                       name: "elm.icon.clipper"; \
+                       type: RECT; \
+                       description { \
+                               state: "default" 0.0; \
+                               rel1 { relative: GAP_W/w GAP_H/h;} \
+                               rel2 { relative: (w-GAP_W)/w (h-GAP_H)/h;} \
+                       } \
+               } \
+               part { \
+                       name: "elm.swallow.videoicon"; \
+                       type: IMAGE; \
+                       mouse_events: 0; \
+                       repeat_events: 0; \
+                       scale: 1; \
+                       description { \
+                               state: "default" 0.0; \
+                               min: 24 24; \
+                               max: 48 48; \
+                               align: 0.5 0.5; \
+                               aspect: 1.0 1.0; \
+                               image.normal: GALLERY_EDC_IMAGE_BUTTON_VIDEO_PLAY; \
+                       } \
+               } \
+       } \
+}
+
+GL_GENGRID_PHOTOFRAME_VIDEO("video", W, H, 20.5)
+GL_GENGRID_PHOTOFRAME_VIDEO("video2", W2, H2, 27.3)
+GL_GENGRID_PHOTOFRAME_VIDEO("video3", W3, H3, 41)
+
diff --git a/res/black_theme/edc/gl-gengrid.edc b/res/black_theme/edc/gl-gengrid.edc
new file mode 100644 (file)
index 0000000..881619f
--- /dev/null
@@ -0,0 +1,880 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+//////////Copied from scroller.edc//////////////////////
+
+sounds {
+       sample {
+               name: "touch_sound" RAW;
+               source: "button-pressed.wav";
+       }
+}
+
+#define GL_GENGRID_OVER(to_obj) \
+       part { name: "over_"to_obj; \
+               type: RECT; \
+               repeat_events: 1; \
+               ignore_flags: ON_HOLD; \
+               description { \
+                       state: "default" 0.0; \
+                       color: 0 0 0 0; \
+                       rel1 { relative: 0.0 0.0; to: to_obj; }\
+                       rel2 { relative: 1.0 1.0; to: to_obj; }\
+               } \
+       }
+
+#define GL_GENGRID_OVER_SOUND(src) \
+       program { name: src"_mouse_clicked"; \
+               signal: "mouse,clicked,1"; \
+               source: "over_"src; \
+               transition: DECELERATE 0.2; \
+               after: "touch_snd"; \
+       }
+
+#define GL_GENGRID_SOUND(src) \
+       program { name: src"_mouse_clicked"; \
+               signal: "mouse,clicked,1"; \
+               source: src; \
+               transition: DECELERATE 0.2; \
+               after: "touch_snd"; \
+       }
+
+#define GL_GENGRID_PLARY_SOUND \
+       program { name: "touch_snd"; \
+               action: RUN_PLUGIN "touch_sound_plugin"; \
+       }
+
+#define GL_GENGRID_FOCUS_BG \
+       part { name: "focus_bg"; \
+               type: IMAGE; \
+               mouse_events: 1; \
+               repeat_events: 1; \
+               description { state: "default" 0.0; \
+                       visible: 0; \
+                       image.normal: GALLERY_EDC_IMAGE_THUMBS_BG_FOCUS; \
+                       image.border: 13 13 13 13; \
+               } \
+               description { state: "enabled" 0.0; \
+                       inherit: "default" 0.0; \
+                       visible: 1; \
+               } \
+       }
+
+#define GL_GENGRID_FOCUS_EVENT(to_obj) \
+       part { name: "focus_event"; \
+               type: RECT; \
+               mouse_events: 1; \
+               repeat_events: 1; \
+               description { \
+                       state: "default" 0.0; \
+                       color: 0 0 0 0; \
+                       rel1 { relative: 0.0 0.0; to: to_obj; }\
+                       rel2 { relative: 1.0 1.0; to: to_obj; }\
+               } \
+       }
+
+#define GL_GENGRID_FOCUS(src) \
+       program { \
+               name: "go_mouse_down_"src; \
+               signal: "mouse,down,1"; \
+               source: src; \
+               action: STATE_SET "enabled" 0.0; \
+               target: "focus_bg"; \
+               transition: ACCELERATE 0.2; \
+       } \
+       program { \
+               name: "go_mouse_up_"src; \
+               signal: "mouse,up,1"; \
+               source: src; \
+               action: STATE_SET "default" 0.0; \
+               target: "focus_bg"; \
+               transition: DECELERATE 0.2; \
+       } \
+       program { name: "focus_in"; \
+               signal: "elm,state,focused"; \
+               source: "elm"; \
+               action: STATE_SET "enabled" 0.0; \
+               target: "focus_bg"; \
+       } \
+       program { name: "focus_out"; \
+               signal: "elm,state,unfocused"; \
+               source: "elm"; \
+               action: STATE_SET "default" 0.0; \
+               target: "focus_bg"; \
+       }
+
+#define SCROLLER_DEFAULT_SCROLLBAR_VBAR_IMAGE "00_scroll_bar.png"
+#define SCROLLER_DEFAULT_SCROLLBAR_HBAR_IMAGE "00_scroll_bar.png"
+#define SCROLLER_DEFAULT_SCROLLBAR_VBAR_IMAGE_BORDER 5 10 5 10
+#define SCROLLER_DEFAULT_SCROLLBAR_HBAR_IMAGE_BORDER 5 10 5 10
+#define SCROLLER_DEFAULT_SCROLLBAR_VBAR_MIN_SIZE_INC 16 238
+#define SCROLLER_DEFAULT_SCROLLBAR_VBAR_MAX_SIZE_INC 16 99999
+#define SCROLLER_DEFAULT_SCROLLBAR_HBAR_MIN_SIZE_INC 208 16
+#define SCROLLER_DEFAULT_SCROLLBAR_HBAR_MAX_SIZE_INC 99999 16
+#define SCROLLER_DEFAULT_SCROLLBAR_VBAR_PADDING_SIZE 6
+#define SCROLLER_DEFAULT_SCROLLBAR_HBAR_PADDING_SIZE 6
+
+/*
+ * vim:ts=3
+*/
+group { name: "elm/scroller/base/gallery";
+
+   data {
+      item: "focus_highlight" "on";
+   }
+
+   script {
+      public sbvis_v, sbvis_h, sbalways_v, sbalways_h, sbvis_timer;
+      public sh_v, sh_h, sh_timer, edge_timer;
+      public timer0(val) {
+         new v;
+         v = get_int(sbvis_v);
+         if (v) {
+            v = get_int(sbalways_v);
+            if (!v) {
+               emit("do-hide-vbar", "");
+               set_int(sbvis_v, 0);
+            }
+         }
+         v = get_int(sbvis_h);
+         if (v) {
+            v = get_int(sbalways_h);
+            if (!v) {
+               emit("do-hide-hbar", "");
+               set_int(sbvis_h, 0);
+            }
+         }
+         set_int(sbvis_timer, 0);
+         return 0;
+      }
+      public timer1(val) {
+         emit("do-hide-vshadow", "");
+         emit("do-hide-hshadow", "");
+         set_int(sh_timer, 0);
+         return 0;
+      }
+      public timer2(val) {
+         emit("do-hide-vshadow", "");
+         emit("do-hide-hshadow", "");
+         set_int(edge_timer, 0);
+         return 0;
+      }
+   }
+   images {
+      image: SCROLLER_DEFAULT_SCROLLBAR_VBAR_IMAGE COMP;
+      image: SCROLLER_DEFAULT_SCROLLBAR_HBAR_IMAGE COMP;
+   }
+   parts {
+      part { name: "bg";
+         type: RECT;
+         scale: 1;
+         description { state: "default" 0.0;
+            rel1.offset: 0 0;
+            rel2.offset: -1 -1;
+            color: 255 255 255 0;
+         }
+      }
+      part { name: "clipper";
+         type: RECT;
+         mouse_events: 0;
+         scale: 1;
+         description { state: "default" 0.0;
+            rel1.to: "bg";
+            rel2.to: "bg";
+            rel1.offset: 0 0;
+            rel2.offset: -1 -1;
+         }
+      }
+      part { name: "elm.swallow.content";
+         clip_to: "clipper";
+         type: SWALLOW;
+         scale: 1;
+         description { state: "default" 0.0;
+            rel1.to: "bg";
+            rel2.to: "bg";
+            rel1.offset: 0 0;
+            rel2.offset: -1 -1;
+         }
+      }
+      part { name: "sb_vbar_clip_master";
+         type: RECT;
+         mouse_events: 0;
+         scale: 1;
+         description { state: "default" 0.0;
+         }
+         description { state: "hidden" 0.0;
+            visible: 0;
+            color: 255 255 255 0;
+         }
+      }
+      part { name: "sb_vbar_clip";
+         clip_to: "sb_vbar_clip_master";
+         type: RECT;
+         mouse_events: 0;
+         scale: 1;
+         description { state: "default" 0.0;
+         }
+         description { state: "hidden" 0.0;
+            visible: 0;
+            color: 255 255 255 0;
+         }
+      }
+      part { name: "sb_vbar";
+         type: RECT;
+         mouse_events: 0;
+         scale: 1;
+         description { state: "default" 0.0;
+            fixed: 1 1;
+            visible: 0;
+            min: SCROLLER_DEFAULT_SCROLLBAR_VBAR_MIN_SIZE_INC;
+            align: 1.0 0.0;
+            rel1 {
+               relative: 1.0 0.0;
+               offset:   0 0;
+               to_y:     "elm.swallow.content";
+               to_x:     "elm.swallow.content";
+            }
+            rel2 {
+               relative: 1.0 1.0;
+               offset:   -1 1;
+               to_y:     "elm.swallow.content";
+               to_x:     "elm.swallow.content";
+            }
+         }
+      }
+      part { name: "elm.dragable.vbar";
+         clip_to: "sb_vbar_clip";
+         mouse_events: 0;
+         scale: 1;
+         dragable {
+            x: 0 0 0;
+            y: 1 1 0;
+            confine: "sb_vbar";
+         }
+         description { state: "default" 0.0;
+            fixed: 1 1;
+            min: SCROLLER_DEFAULT_SCROLLBAR_VBAR_MIN_SIZE_INC;
+            max: SCROLLER_DEFAULT_SCROLLBAR_VBAR_MAX_SIZE_INC;
+            rel1 {
+               relative: 0.5  0.5;
+               offset:   0    0;
+               to: "sb_vbar";
+            }
+            rel2 {
+               relative: 0.5  0.5;
+               offset:   0    0;
+               to: "sb_vbar";
+            }
+            image {
+               normal: SCROLLER_DEFAULT_SCROLLBAR_VBAR_IMAGE;
+               border: SCROLLER_DEFAULT_SCROLLBAR_VBAR_IMAGE_BORDER;
+               border_scale: 1;
+               middle: DEFAULT;
+            }
+         }
+      }
+      part { name: "sb_hbar_clip_master";
+         type: RECT;
+         mouse_events: 0;
+         scale: 1;
+         description { state: "default" 0.0;
+         }
+         description { state: "hidden" 0.0;
+            visible: 0;
+            color: 255 255 255 0;
+         }
+      }
+      part { name: "sb_hbar_clip";
+         clip_to: "sb_hbar_clip_master";
+         type: RECT;
+         mouse_events: 0;
+         scale: 1;
+         description { state: "default" 0.0;
+         }
+         description { state: "hidden" 0.0;
+            visible: 0;
+            color: 255 255 255 0;
+         }
+      }
+      part { name: "sb_hbar";
+         type: RECT;
+         mouse_events: 0;
+         scale: 1;
+         description { state: "default" 0.0;
+            fixed: 1 1;
+            visible: 0;
+            min: SCROLLER_DEFAULT_SCROLLBAR_HBAR_MIN_SIZE_INC;
+            align: 0.0 1.0;
+            rel1 {
+               relative: 0.0 1.0;
+               offset:   0 0;
+               to_x:     "elm.swallow.content";
+               to_y:     "elm.swallow.content";
+            }
+            rel2 {
+               relative: 1.0 1.0;
+               offset:   -1 -1;
+               to_x:     "elm.swallow.content";
+               to_y:     "elm.swallow.content";
+            }
+         }
+      }
+      part { name: "elm.dragable.hbar";
+         clip_to: "sb_hbar_clip";
+         mouse_events: 0;
+         scale: 1;
+         dragable {
+            x: 1 1 0;
+            y: 0 0 0;
+            confine: "sb_hbar";
+         }
+         description { state: "default" 0.0;
+            fixed: 1 1;
+            min: SCROLLER_DEFAULT_SCROLLBAR_HBAR_MIN_SIZE_INC;
+            max: SCROLLER_DEFAULT_SCROLLBAR_HBAR_MAX_SIZE_INC;
+            rel1 {
+               relative: 0.5  0.5;
+               offset:   0    0;
+               to: "sb_hbar";
+            }
+            rel2 {
+               relative: 0.5  0.5;
+               offset:   0    0;
+               to: "sb_hbar";
+            }
+            image {
+               normal: SCROLLER_DEFAULT_SCROLLBAR_HBAR_IMAGE;
+               border: SCROLLER_DEFAULT_SCROLLBAR_HBAR_IMAGE_BORDER;
+               border_scale: 1;
+               middle: DEFAULT;
+            }
+         }
+      }
+      part { name: "disabler";
+         type: RECT;
+         scale: 1;
+         description { state: "default" 0.0;
+            rel1.to: "clipper";
+            rel2.to: "clipper";
+            color: 0 0 0 0;
+            visible: 0;
+         }
+         description { state: "disabled" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+            color: 128 128 128 128;
+         }
+      }
+   }
+   programs {
+      program { name: "load";
+         signal: "load";
+         source: "";
+         script {
+            set_state(PART:"sb_hbar_clip", "hidden", 0.0);
+            set_state(PART:"sb_vbar_clip", "hidden", 0.0);
+            set_int(sbvis_h, 0);
+            set_int(sbvis_v, 0);
+            set_int(sbalways_v, 0);
+            set_int(sbalways_h, 0);
+            set_int(sbvis_timer, 0);
+         }
+      }
+
+      program { name: "vbar_show";
+         signal: "elm,action,show,vbar";
+         source: "elm";
+         action:  STATE_SET "default" 0.0;
+         target: "sb_vbar_clip_master";
+      }
+      program { name: "vbar_hide";
+         signal: "elm,action,hide,vbar";
+         source: "elm";
+         action:  STATE_SET "hidden" 0.0;
+         target: "sb_vbar_clip_master";
+      }
+      program { name: "vbar_show_always";
+         signal: "elm,action,show_always,vbar";
+         source: "elm";
+         script {
+            new v;
+            v = get_int(sbvis_v);
+            v |= get_int(sbalways_v);
+            if (!v) {
+               set_int(sbalways_v, 1);
+               emit("do-show-vbar", "");
+               set_int(sbvis_v, 1);
+            }
+         }
+      }
+      program { name: "vbar_show_notalways";
+         signal: "elm,action,show_notalways,vbar";
+         source: "elm";
+         script {
+            new v;
+            v = get_int(sbalways_v);
+            if (v) {
+               set_int(sbalways_v, 0);
+               v = get_int(sbvis_v);
+               if (!v) {
+                  emit("do-hide-vbar", "");
+                  set_int(sbvis_v, 0);
+               }
+            }
+         }
+      }
+      program { name: "sb_vbar_show";
+         signal: "do-show-vbar";
+         source: "";
+         action:  STATE_SET "default" 0.0;
+         transition: LINEAR 0.5;
+         target: "sb_vbar_clip";
+      }
+      program { name: "sb_vbar_hide";
+         signal: "do-hide-vbar";
+         source: "";
+         action:  STATE_SET "hidden" 0.0;
+         transition: LINEAR 0.5;
+         target: "sb_vbar_clip";
+      }
+
+      program { name: "hbar_show";
+         signal: "elm,action,show,hbar";
+         source: "elm";
+         action:  STATE_SET "default" 0.0;
+         target: "sb_hbar_clip_master";
+      }
+      program { name: "hbar_hide";
+         signal: "elm,action,hide,hbar";
+         source: "elm";
+         action:  STATE_SET "hidden" 0.0;
+         target: "sb_hbar_clip_master";
+      }
+      program { name: "hbar_show_always";
+         signal: "elm,action,show_always,hbar";
+         source: "elm";
+         script {
+            new v;
+            v = get_int(sbvis_h);
+            v |= get_int(sbalways_h);
+            if (!v) {
+               set_int(sbalways_h, 1);
+               emit("do-show-hbar", "");
+               set_int(sbvis_h, 1);
+            }
+         }
+      }
+      program { name: "hbar_show_notalways";
+         signal: "elm,action,show_notalways,hbar";
+         source: "elm";
+         script {
+            new v;
+            v = get_int(sbalways_h);
+            if (v) {
+               set_int(sbalways_h, 0);
+               v = get_int(sbvis_h);
+               if (!v) {
+                  emit("do-hide-hbar", "");
+                  set_int(sbvis_h, 0);
+               }
+            }
+         }
+      }
+      program { name: "sb_hbar_show";
+         signal: "do-show-hbar";
+         source: "";
+         action:  STATE_SET "default" 0.0;
+         transition: LINEAR 0.5;
+         target: "sb_hbar_clip";
+      }
+      program { name: "sb_hbar_hide";
+         signal: "do-hide-hbar";
+         source: "";
+         action:  STATE_SET "hidden" 0.0;
+         transition: LINEAR 0.5;
+         target: "sb_hbar_clip";
+      }
+
+      program { name: "scroll";
+         signal: "elm,action,scroll";
+         source: "elm";
+         script {
+            new v;
+            v = get_int(sbvis_v);
+            v |= get_int(sbalways_v);
+            if (!v) {
+               emit("do-show-vbar", "");
+               set_int(sbvis_v, 1);
+            }
+            v = get_int(sbvis_h);
+            v |= get_int(sbalways_h);
+            if (!v) {
+               emit("do-show-hbar", "");
+               set_int(sbvis_h, 1);
+            }
+            v = get_int(sbvis_timer);
+            if (v > 0) cancel_timer(v);
+            v = timer(1.0, "timer0", 0);
+            set_int(sbvis_timer, v);
+         }
+      }
+      program { name: "disable";
+         signal: "elm,state,disabled";
+         source: "elm";
+         action: STATE_SET "disabled" 0.0;
+         target: "disabler";
+      }
+      program { name: "enable";
+         signal: "elm,state,enabled";
+         source: "elm";
+         action: STATE_SET "default" 0.0;
+         target: "disabler";
+      }
+   }
+}
+
+group { name: "elm/gengrid/base/gallery";
+   inherit: "elm/scroller/base/gallery";
+
+   images {
+      /*image: GALLERY_EDC_IMAGE_OS_TOP COMP;
+      image: GALLERY_EDC_IMAGE_OS_BOTTOM COMP;*/
+      image: GALLERY_EDC_IMAGE_OS_LEFT COMP;
+      image: GALLERY_EDC_IMAGE_OS_RIGHT COMP;
+   }
+
+   parts {
+      part { name: "shadow_clip";
+         type: RECT;
+         mouse_events: 0;
+         scale: 1;
+         description { state: "default" 0.0;
+         }
+         description { state: "hidden" 0.0;
+            visible: 0;
+            color: 255 255 255 0;
+         }
+      }
+      /*part { name: "shadow_top";
+         clip_to: "shadow_clip";
+         type: IMAGE;
+         scale: 1;
+         mouse_events: 0;
+         description { state: "default" 0.0;
+            min: 0 30;
+            fixed: 1 1;
+            align: 0.5 0.0;
+            color: 255 255 255 100;
+            rel1.relative: 0.0 0.0;
+            rel2.relative: 1.0 0.0;
+            rel1.to: "elm.swallow.content";
+            rel2.to: "elm.swallow.content";
+            image.normal: GALLERY_EDC_IMAGE_OS_TOP;
+         }
+         description { state: "edge" 0.0;
+            inherit: "default" 0.0;
+            color: 255 255 255 255;
+         }
+      }
+      part { name: "shadow_bottom";
+         clip_to: "shadow_clip";
+         type: IMAGE;
+         scale: 1;
+         mouse_events: 0;
+         description { state: "default" 0.0;
+            min: 0 30;
+            fixed: 1 1;
+            align: 0.5 1.0;
+            color: 255 255 255 100;
+            rel1.relative: 0.0 1.0;
+            rel2.relative: 1.0 1.0;
+            rel1.to: "elm.swallow.content";
+            rel2.to: "elm.swallow.content";
+            image.normal: GALLERY_EDC_IMAGE_OS_BOTTOM;
+         }
+         description { state: "edge" 0.0;
+            inherit: "default" 0.0;
+            color: 255 255 255 255;
+         }
+      }*/
+      part { name: "shadow_left";
+         clip_to: "shadow_clip";
+         type: IMAGE;
+         scale: 1;
+         mouse_events: 0;
+         description { state: "default" 0.0;
+            min: 30 0;
+            fixed: 1 1;
+            align: 0.0 0.5;
+            color: 255 255 255 0;
+            rel1.relative: 0.0 0.0;
+            rel2.relative: 0.0 1.0;
+            rel1.to: "elm.swallow.content";
+            rel2.to: "elm.swallow.content";
+            image.normal: GALLERY_EDC_IMAGE_OS_LEFT;
+         }
+         description { state: "edge" 0.0;
+            inherit: "default" 0.0;
+            color: 255 255 255 255;
+         }
+      }
+      part { name: "shadow_right";
+         clip_to: "shadow_clip";
+         type: IMAGE;
+         scale: 1;
+         mouse_events: 0;
+         description { state: "default" 0.0;
+            min: 30 0;
+            fixed: 1 1;
+            align: 1.0 0.5;
+            color: 255 255 255 0;
+            rel1.relative: 1.0 0.0;
+            rel2.relative: 1.0 1.0;
+            rel1.to: "elm.swallow.content";
+            rel2.to: "elm.swallow.content";
+            image.normal: GALLERY_EDC_IMAGE_OS_RIGHT;
+         }
+         description { state: "edge" 0.0;
+            inherit: "default" 0.0;
+            color: 255 255 255 255;
+         }
+      }
+      /*part { name: "padding_jump_to_top";
+         type: SPACER;
+         scale: 1;
+         description { state: "default" 0.0;
+            min: BUTTON_JUMP_TOP_PADDING_TO_SCROLLER_MIN_MAX_INC;
+            max: BUTTON_JUMP_TOP_PADDING_TO_SCROLLER_MIN_MAX_INC;
+            rel1.relative: 1.0 0.0;
+            rel2.relative: 1.0 0.0;
+            rel1.to: "elm.swallow.content";
+            rel2.to: "elm.swallow.content";
+            fixed: 1 1;
+            align: 1.0 0.0;
+         }
+      }
+      part { name: "elm.swallow.jump_to_top";
+         type: SWALLOW;
+         scale: 1;
+         description { state: "default" 0.0;
+            rel1 {
+               to: "padding_jump_to_top";
+               relative: 0.0 1.0;
+            }
+            rel2 {
+               to: "padding_jump_to_top";
+               relative: 0.0 1.0;
+            }
+            fixed: 1 1;
+            align: 1.0 0.0;
+         }
+      }
+      part { name: "padding_jump_to_left";
+         type: SPACER;
+         scale: 1;
+         description { state: "default" 0.0;
+            min: BUTTON_JUMP_LEFT_PADDING_TO_SCROLLER_MIN_MAX_INC;
+            max: BUTTON_JUMP_LEFT_PADDING_TO_SCROLLER_MIN_MAX_INC;
+            rel1.relative: 0.0 1.0;
+            rel2.relative: 0.0 1.0;
+            rel1.to: "elm.swallow.content";
+            rel2.to: "elm.swallow.content";
+            fixed: 1 1;
+            align: 0.0 1.0;
+         }
+      }
+      part { name: "elm.swallow.jump_to_left";
+         type: SWALLOW;
+         scale: 1;
+         description { state: "default" 0.0;
+            rel1 {
+               to: "padding_jump_to_left";
+               relative: 1.0 0.0;
+            }
+            rel2 {
+               to: "padding_jump_to_left";
+               relative: 1.0 0.0;
+            }
+            fixed: 1 1;
+            align: 0.0 1.0;
+         }
+      }*/
+   }
+   programs {
+      program { name: "load";
+         script {
+            set_state(PART:"sb_hbar_clip", "hidden", 0.0);
+            set_state(PART:"sb_vbar_clip", "hidden", 0.0);
+            set_state(PART:"shadow_clip", "hidden", 0.0);
+            set_int(sbvis_h, 0);
+            set_int(sbvis_v, 0);
+            set_int(sbalways_v, 0);
+            set_int(sbalways_h, 0);
+            set_int(sbvis_timer, 0);
+            set_int(sh_v, 0);
+            set_int(sh_timer, 0);
+            set_int(edge_timer, 0);
+         }
+      }
+      program { name: "vshadow_show";
+         signal: "do-show-vshadow";
+         source: "";
+         action:  STATE_SET "default" 0.0;
+         transition: LINEAR 0.5;
+         target: "shadow_clip";
+      }
+      program { name: "vshadow_hide";
+         signal: "do-hide-vshadow";
+         source: "";
+         action:  STATE_SET "hidden" 0.0;
+         transition: LINEAR 0.5;
+         target: "shadow_clip";
+      }
+      program { name: "scroll";
+         signal: "elm,action,scroll";
+         source: "elm";
+         script {
+            new v;
+            v = get_int(sbvis_v);
+            v |= get_int(sbalways_v);
+            if (!v) {
+               emit("do-show-vbar", "");
+               set_int(sbvis_v, 1);
+            }
+            v = get_int(sbvis_h);
+            v |= get_int(sbalways_h);
+            if (!v) {
+               emit("do-show-hbar", "");
+               set_int(sbvis_h, 1);
+            }
+            v = get_int(sbvis_timer);
+            if (v > 0) cancel_timer(v);
+            v = timer(1, "timer0", 0);
+            set_int(sbvis_timer, v);
+
+            /*v = get_int(edge_timer);
+            if (!v) {
+               set_state(PART:"shadow_top", "default", 0.0);
+               set_state(PART:"shadow_bottom", "default", 0.0);
+               set_state(PART:"shadow_left", "default", 0.0);
+               set_state(PART:"shadow_right", "default", 0.0);
+               emit("do-show-vshadow", "");
+               v = get_int(sh_timer);
+               if (v > 0) cancel_timer(v);
+               v = timer(0.2, "timer1", 0);
+               set_int(sh_timer, v);
+            }*/
+         }
+      }
+      /*program { name: "edge_top";
+         signal: "elm,edge,top";
+         source: "elm";
+         after: "edge";
+      }
+      program { name: "edge_bottom";
+         signal: "elm,edge,bottom";
+         source: "elm";
+         after: "edge";
+      }*/
+      program { name: "edge_left";
+         signal: "elm,edge,left";
+         source: "elm";
+         after: "edge_shadow_left";
+      }
+      program { name: "edge_right";
+         signal: "elm,edge,right";
+         source: "elm";
+         after: "edge_shadow_right";
+      }
+      /*program { name: "edge";
+         script {
+            new v;
+            v = get_int(sh_timer);
+            if (v > 0) cancel_timer(v);
+            set_state(PART:"shadow_top", "edge", 0.0);
+            set_state(PART:"shadow_bottom", "edge", 0.0);
+            set_state(PART:"shadow_left", "edge", 0.0);
+            set_state(PART:"shadow_right", "edge", 0.0);
+            v = get_int(edge_timer);
+            if (!v) {
+                emit("do-show-vshadow", "");
+            }
+            if (v > 0) cancel_timer(v);
+            v = timer(0.2, "timer2", 0);
+            set_int(edge_timer, v);
+         }
+      }*/
+      program { name: "edge_shadow_left"; /* newly added */
+         script {
+            new v;
+            v = get_int(sh_timer);
+            if (v > 0) cancel_timer(v);
+            set_state(PART:"shadow_left", "edge", 0.0);
+            set_state(PART:"shadow_right", "default", 0.0);
+            v = get_int(edge_timer);
+            if (!v) {
+                emit("do-show-vshadow", "");
+            }
+            if (v > 0) cancel_timer(v);
+            v = timer(0.2, "timer2", 0);
+            set_int(edge_timer, v);
+         }
+      }
+      program { name: "edge_shadow_right"; /* newly added */
+         script {
+            new v;
+            v = get_int(sh_timer);
+            if (v > 0) cancel_timer(v);
+            set_state(PART:"shadow_right", "edge", 0.0);
+            set_state(PART:"shadow_left", "default", 0.0);
+            v = get_int(edge_timer);
+            if (!v) {
+                emit("do-show-vshadow", "");
+            }
+            if (v > 0) cancel_timer(v);
+            v = timer(0.2, "timer2", 0);
+            set_int(edge_timer, v);
+         }
+      }
+      program { name: "show";
+         signal: "show";
+         source: "";
+         script {
+            new v;
+            emit("do-show-vbar", "");
+            set_int(sbvis_v, 1);
+            v = get_int(sbalways_v);
+            if (!v) {
+              v = get_int(sbvis_timer);
+              if (v > 0) cancel_timer(v);
+              v = timer(1.0, "timer0", 0);
+              set_int(sbvis_timer, v);
+            }
+            emit("do-show-hbar", "");
+            set_int(sbvis_h, 1);
+            v = get_int(sbalways_h);
+            if (!v) {
+              v = get_int(sbvis_timer);
+              if (v > 0) cancel_timer(v);
+              v = timer(1.0, "timer0", 0);
+              set_int(sbvis_timer, v);
+            }
+         }
+      }
+   }
+}
+
diff --git a/res/black_theme/edc/gl-label.edc b/res/black_theme/edc/gl-label.edc
new file mode 100644 (file)
index 0000000..ade0f7f
--- /dev/null
@@ -0,0 +1,191 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+//added for progressbar label
+
+//nbeat-inc.edc
+#define LABEL_TEXT_BLOCK_STYLE_COLOR_INC "#000000"
+
+#define TEXT_SLIDE_DURATION 10
+
+      styles {
+         style { name: "textblock_style";
+            base: "font=Tizen:style=Medium text_class=tizen font_size=24 color="LABEL_TEXT_BLOCK_STYLE_COLOR_INC" text_class=label";
+            tag:  "br" "\n";
+            tag:  "ps" "ps";
+            tag:  "hilight" "+ font=Tizen:style=Bold text_class=tizen";
+            tag:  "b" "+ font=Tizen:style=Bold text_class=tizen";
+            tag:  "tab" "\t";
+         }
+      }
+
+      /* label doesn't use it */
+      styles {
+         style { name: "textblock_charwrap_style";
+            base: "font=Tizen:style=Medium text_class=tizen font_size=24 color="LABEL_TEXT_BLOCK_STYLE_COLOR_INC;
+            tag:  "br" "\n";
+            tag:  "ps" "ps";
+            tag:  "hilight" "+ font=Tizen:style=Bold text_class=tizen";
+            tag:  "b" "+ font=Tizen:style=Bold text_class=tizen";
+            tag:  "tab" "\t";
+         }
+      }
+
+      group { name: "elm/label/base/default";
+      alias: "elm/label/base/gallery/default";
+         data.item: "default_font_size" "24";
+         data.item: "min_font_size" "18";
+         data.item: "max_font_size" "60";
+         parts {
+            part { name: "label.swallow.background";
+               type: SWALLOW;
+               description { state: "default" 0.0;
+                  visible: 1;
+               }
+            }
+            part { name: "label.text.clip";
+               type: RECT;
+               description { state: "default" 0.0;
+                  visible: 1;
+                  color: 255 255 255 255;
+                  rel1 { relative: 0 0; to: "label.swallow.background"; }
+                  rel2 { relative: 1 1; to: "label.swallow.background"; }
+               }
+            }
+            part { name: "elm.text";
+               type: TEXTBLOCK;
+               mouse_events: 0;
+               scale: 1;
+               clip_to: "label.text.clip";
+               description { state: "default" 0.0;
+                  rel1.relative: 0.0 0.0;
+                  rel2.relative: 1.0 1.0;
+                  text {
+                     style: "textblock_style";
+                     min: 0 1;
+                  }
+               }
+            }
+         }
+      }
+
+      /* default label doesn't use it */
+      group { name: "elm/label/base_wrap/default";
+         alias: "elm/label/base_wrap/gallery/default";
+         data.item: "default_font_size" "24";
+         data.item: "min_font_size" "18";
+         data.item: "max_font_size" "60";
+         parts {
+            part { name: "label.swallow.background";
+               type: SWALLOW;
+               description { state: "default" 0.0;
+                  visible: 1;
+                  rel1 { relative: 0 0; to: "elm.text"; }
+                  rel2 { relative: 1 1; to: "elm.text"; }
+               }
+            }
+            part { name: "elm.text";
+               type: TEXTBLOCK;
+               mouse_events: 1;
+               scale: 1;
+               multiline: 1;
+               description { state: "default" 0.0;
+                  text {
+                       style: "textblock_style";
+                       min: 0 1;
+                  }
+               }
+               description { state: "charwrap_mode" 0.0;
+                  text {
+                     style: "textblock_charwrap_style";
+                     min: 0 1;
+                  }
+               }
+            }
+         }
+         programs {
+            program { name: "default_on";
+               signal: "elm,state,default";
+               source: "elm";
+               action: STATE_SET "default" 0.0;
+               target: "elm.text";
+            }
+            program { name: "charwrap_on";
+               signal: "elm,state,charwrap";
+               source: "elm";
+               action: STATE_SET "charwrap_mode" 0.0;
+               target: "elm.text";
+            }
+         } // end programs
+      } // end group
+
+      /* default label doesn't use it */
+      group { name: "elm/label/base_wrap_ellipsis/default";
+           alias: "elm/label/base_wrap_ellipsis/gallery/default";
+         data.item: "default_font_size" "24";
+         data.item: "min_font_size" "18";
+         data.item: "max_font_size" "60";
+         parts {
+            part { name: "label.swallow.background";
+               type: SWALLOW;
+               description { state: "default" 0.0;
+               visible: 1;
+                  rel1 { relative: 0 0; to: "elm.text"; }
+                  rel2 { relative: 1 1; to: "elm.text"; }
+               }
+            }
+            part { name: "elm.text";
+               type: TEXTBLOCK;
+               mouse_events: 0;
+               scale: 1;
+               multiline: 1;
+               description { state: "default" 0.0;
+                  // FIXME : fixed for multiline ellipsis.
+                  //         does it need to make another ellipsis style?
+                  fixed: 0 1;
+                  text {
+                     style: "textblock_style";
+                     min: 0 1;
+                  }
+               }
+               description { state: "charwrap_mode" 0.0;
+                  // FIXME : fixed for multiline ellipsis.
+                  //         does it need to make another ellipsis style?
+                  fixed: 0 1;
+                  text {
+                     style: "textblock_charwrap_style";
+                     min: 0 1;
+                  }
+               }
+            }
+         }
+         programs {
+            program { name: "default_on";
+               signal: "elm,state,default";
+               source: "elm";
+               action: STATE_SET "default" 0.0;
+               target: "elm.text";
+            }
+            program { name: "charwrap_on";
+               signal: "elm,state,charwrap";
+               source: "elm";
+               action: STATE_SET "charwrap_mode" 0.0;
+               target: "elm.text";
+            }
+         } // end programs
+      } // end group
+
diff --git a/res/black_theme/edc/gl-macro.edc b/res/black_theme/edc/gl-macro.edc
new file mode 100644 (file)
index 0000000..bb2269a
--- /dev/null
@@ -0,0 +1,494 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+/********Used for showing overscrolling images start*********/
+
+#define GL_CRIPT_SCROLLER \
+       script { \
+               public sbvis_v, sbvis_h, sbalways_v, sbalways_h, sbvis_timer; \
+               public sh_v, sh_h, sh_timer, edge_timer; \
+               public timer0(val) { \
+                       new v; \
+                       v = get_int(sbvis_v); \
+                       if (v) { \
+                               v = get_int(sbalways_v); \
+                               if (!v) { \
+                                       emit("do-hide-vbar", ""); \
+                                       set_int(sbvis_v, 0); \
+                               } \
+                       } \
+                       v = get_int(sbvis_h); \
+                       if (v) { \
+                               v = get_int(sbalways_h); \
+                               if (!v) { \
+                                       emit("do-hide-hbar", ""); \
+                                       set_int(sbvis_h, 0); \
+                               } \
+                       } \
+                       set_int(sbvis_timer, 0); \
+                       return 0; \
+               } \
+               public timer1(val) { \
+                       emit("do-hide-vshadow", ""); \
+                       emit("do-hide-hshadow", ""); \
+                       set_int(sh_timer, 0); \
+                       return 0; \
+               } \
+               public timer2(val) { \
+                       emit("do-hide-vshadow", ""); \
+                       emit("do-hide-hshadow", ""); \
+                       set_int(edge_timer, 0); \
+                       return 0; \
+               } \
+       }
+
+#define GL_IMAGES_GRID_OVERSCROLL \
+       images { \
+               image: GALLERY_EDC_IMAGE_GIRD_OS_TOP COMP; \
+               image: GALLERY_EDC_IMAGE_GIRD_OS_BOT COMP; \
+               image: GALLERY_EDC_IMAGE_GIRD_OS_LEFT COMP; \
+               image: GALLERY_EDC_IMAGE_GIRD_OS_RIGHT COMP; \
+       }
+
+#define GL_SHADOW_SCROLLER(CONTENT) \
+       part { name: "vshadow_clip"; \
+               type: RECT; \
+               mouse_events: 0; \
+               scale: 1; \
+               description { state: "default" 0.0; \
+               } \
+               description { state: "hidden" 0.0; \
+                       visible: 0; \
+                       color: 255 255 255 0; \
+               } \
+       } \
+       part { name: "hshadow_clip"; \
+               type: RECT; \
+               mouse_events: 0; \
+               scale: 1; \
+               description { state: "default" 0.0; \
+               } \
+               description { state: "hidden" 0.0; \
+                       visible: 0; \
+                       color: 255 255 255 0; \
+               } \
+       } \
+       part { name: "shadow_top"; \
+               clip_to: "vshadow_clip"; \
+               type: IMAGE; \
+               scale: 1; \
+               mouse_events: 0; \
+               description { state: "default" 0.0; \
+                       min: 0 405; \
+                       fixed: 1 1; \
+                       align: 0.5 0.0; \
+                       color: 255 255 255 100; \
+                       rel1.relative: 0.0 0.0; \
+                       rel2.relative: 1.0 0.0; \
+                       rel1.to: CONTENT; \
+                       rel2.to: CONTENT; \
+                       image.normal: GALLERY_EDC_IMAGE_GIRD_OS_TOP; \
+               } \
+               description { state: "edge" 0.0; \
+                       inherit: "default" 0.0; \
+                       color: 255 255 255 255; \
+               } \
+               description { state: "hidden" 0.0; \
+                       inherit: "default" 0.0; \
+                       visible: 0; \
+               } \
+       } \
+       part { name: "shadow_bottom"; \
+               clip_to: "vshadow_clip"; \
+               type: IMAGE; \
+               scale: 1; \
+               mouse_events: 0; \
+               description { state: "default" 0.0; \
+                       min: 0 405; \
+                       fixed: 1 1; \
+                       align: 0.5 1.0; \
+                       color: 255 255 255 100; \
+                       rel1.relative: 0.0 1.0; \
+                       rel2.relative: 1.0 1.0; \
+                       rel1.to: CONTENT; \
+                       rel2.to: CONTENT; \
+                       image.normal: GALLERY_EDC_IMAGE_GIRD_OS_BOT; \
+               } \
+               description { state: "edge" 0.0; \
+                       inherit: "default" 0.0; \
+                       color: 255 255 255 255; \
+               } \
+               description { state: "hidden" 0.0; \
+                       inherit: "default" 0.0; \
+                       visible: 0; \
+               } \
+       } \
+       part { name: "shadow_left"; \
+               clip_to: "hshadow_clip"; \
+               type: IMAGE; \
+               scale: 1; \
+               mouse_events: 0; \
+               description { state: "default" 0.0; \
+                       min: 405 0; \
+                       fixed: 1 1; \
+                       align: 0.0 0.5; \
+                       color: 255 255 255 100; \
+                       rel1.relative: 0.0 0.0; \
+                       rel2.relative: 0.0 1.0; \
+                       rel1.to: CONTENT; \
+                       rel2.to: CONTENT; \
+                       image.normal: GALLERY_EDC_IMAGE_GIRD_OS_LEFT; \
+               } \
+               description { state: "edge" 0.0; \
+                       inherit: "default" 0.0; \
+                       color: 255 255 255 255; \
+               } \
+               description { state: "hidden" 0.0; \
+                       inherit: "default" 0.0; \
+                       visible: 0; \
+               } \
+       } \
+       part { name: "shadow_right"; \
+               clip_to: "hshadow_clip"; \
+               type: IMAGE; \
+               scale: 1; \
+               mouse_events: 0; \
+               description { state: "default" 0.0; \
+                       min: 405 0; \
+                       fixed: 1 1; \
+                       align: 1.0 0.5; \
+                       color: 255 255 255 100; \
+                       rel1.relative: 1.0 0.0; \
+                       rel2.relative: 1.0 1.0; \
+                       rel1.to: CONTENT; \
+                       rel2.to: CONTENT; \
+                       image.normal: GALLERY_EDC_IMAGE_GIRD_OS_RIGHT; \
+               } \
+               description { state: "edge" 0.0; \
+                       inherit: "default" 0.0; \
+                       color: 255 255 255 255; \
+               } \
+               description { state: "hidden" 0.0; \
+                       inherit: "default" 0.0; \
+                       visible: 0; \
+               } \
+       }
+
+#define GL_PROGRAM_SCROLLER \
+       program { name: "load"; \
+               signal: "load"; \
+               source: ""; \
+               script { \
+                       set_state(PART:"vshadow_clip", "hidden", 0.0); \
+                       set_state(PART:"hshadow_clip", "hidden", 0.0); \
+                       set_int(sbvis_h, 0); \
+                       set_int(sbvis_v, 0); \
+                       set_int(sbalways_v, 0); \
+                       set_int(sbalways_h, 0); \
+                       set_int(sbvis_timer, 0); \
+                       set_int(sh_timer, 0); \
+                       set_int(edge_timer, 0); \
+                       emit("reload", "elm"); \
+               } \
+       } \
+       program { name: "vbar_show_always"; \
+               signal: "elm,action,show_always,vbar"; \
+               source: "elm"; \
+               script { \
+                       new v; \
+                       v = get_int(sbvis_v); \
+                       v |= get_int(sbalways_v); \
+                       if (!v) { \
+                               set_int(sbalways_v, 1); \
+                               emit("do-show-vbar", ""); \
+                               set_int(sbvis_v, 1); \
+                       } \
+               } \
+       } \
+       program { name: "vbar_show_notalways"; \
+               signal: "elm,action,show_notalways,vbar"; \
+               source: "elm"; \
+               script { \
+                       new v; \
+                       v = get_int(sbalways_v); \
+                       if (v) { \
+                               set_int(sbalways_v, 0); \
+                               v = get_int(sbvis_v); \
+                               if (!v) { \
+                                       emit("do-hide-vbar", ""); \
+                                       set_int(sbvis_v, 0); \
+                               } \
+                       } \
+               } \
+       } \
+       program { name: "hbar_show_always"; \
+               signal: "elm,action,show_always,hbar"; \
+               source: "elm"; \
+               script { \
+                       new v; \
+                       v = get_int(sbvis_h); \
+                       v |= get_int(sbalways_h); \
+                       if (!v) { \
+                               set_int(sbalways_h, 1); \
+                               emit("do-show-hbar", ""); \
+                               set_int(sbvis_h, 1); \
+                        } \
+               } \
+       } \
+       program { name: "hbar_show_notalways"; \
+               signal: "elm,action,show_notalways,hbar"; \
+               source: "elm"; \
+               script { \
+                       new v; \
+                       v = get_int(sbalways_h); \
+                       if (v) { \
+                               set_int(sbalways_h, 0); \
+                               v = get_int(sbvis_h); \
+                               if (!v) { \
+                                       emit("do-hide-hbar", ""); \
+                                       set_int(sbvis_h, 0); \
+                               } \
+                       } \
+               } \
+       } \
+       program { name: "vshadow_show"; \
+               signal: "do-show-vshadow"; \
+               source: ""; \
+               action:  STATE_SET "default" 0.0; \
+               transition: LINEAR 0.5; \
+               target: "vshadow_clip"; \
+       } \
+       program { name: "vshadow_hide"; \
+               signal: "do-hide-vshadow"; \
+               source: ""; \
+               action:  STATE_SET "hidden" 0.0; \
+               transition: LINEAR 0.5; \
+               target: "vshadow_clip"; \
+       } \
+       program { name: "hshadow_show"; \
+               signal: "do-show-hshadow"; \
+               source: ""; \
+               action:  STATE_SET "default" 0.0; \
+               transition: LINEAR 0.5; \
+               target: "hshadow_clip"; \
+       } \
+       program { name: "hshadow_hide"; \
+               signal: "do-hide-hshadow"; \
+               source: ""; \
+               action:  STATE_SET "hidden" 0.0; \
+               transition: LINEAR 0.5; \
+               target: "hshadow_clip"; \
+       } \
+       program { name: "scroll"; \
+               signal: "elm,action,scroll"; \
+               source: "elm"; \
+               script { \
+                       new v; \
+                       v = get_int(sbvis_v); \
+                       v |= get_int(sbalways_v); \
+                       if (!v) { \
+                               emit("do-show-vbar", ""); \
+                               set_int(sbvis_v, 1); \
+                       } \
+                       v = get_int(sbvis_h); \
+                       v |= get_int(sbalways_h); \
+                       if (!v) { \
+                               emit("do-show-hbar", ""); \
+                               set_int(sbvis_h, 1); \
+                       } \
+                       v = get_int(sbvis_timer); \
+                       if (v > 0) \
+                               cancel_timer(v); \
+                       v = timer(1, "timer0", 0); \
+                       set_int(sbvis_timer, v); \
+               } \
+       } \
+       program { name: "scroll_up"; \
+               signal: "elm,action,scroll,up"; \
+               source: "elm"; \
+               after: "scroll_vertical"; \
+       } \
+       program { name: "scroll_down"; \
+               signal: "elm,action,scroll,down"; \
+               source: "elm"; \
+               after: "scroll_vertical"; \
+       } \
+       program { name: "scroll_vertical"; \
+               script { \
+                       new v; \
+                       v = get_int(edge_timer); \
+                       if (!v) { \
+                               set_state(PART:"shadow_top", "default", 0.0); \
+                               set_state(PART:"shadow_bottom", "default", 0.0); \
+                               emit("do-show-vshadow", ""); \
+                               v = get_int(sh_timer); \
+                               if (v > 0) \
+                                       cancel_timer(v); \
+                               v = timer(0.2, "timer1", 0); \
+                               set_int(sh_timer, v); \
+                       } \
+               } \
+       } \
+       program { name: "scroll_left"; \
+               signal: "elm,action,scroll,left"; \
+               source: "elm"; \
+               after: "scroll_horizontal"; \
+       } \
+       program { name: "scroll_right"; \
+               signal: "elm,action,scroll,right"; \
+               source: "elm"; \
+               after: "scroll_horizontal"; \
+       } \
+       program { name: "scroll_horizontal"; \
+               script { \
+                       new v; \
+                       v = get_int(edge_timer); \
+                       if (!v) { \
+                               set_state(PART:"shadow_left", "default", 0.0); \
+                               set_state(PART:"shadow_right", "default", 0.0); \
+                               emit("do-show-hshadow", ""); \
+                               v = get_int(sh_timer); \
+                               if (v > 0) \
+                                       cancel_timer(v); \
+                               v = timer(0.2, "timer1", 0); \
+                               set_int(sh_timer, v); \
+                       } \
+               } \
+       } \
+       program { name: "edge_top"; \
+               signal: "elm,edge,top"; \
+               source: "elm"; \
+               script { \
+                       set_state(PART:"shadow_top", "edge", 0.0); \
+                       set_state(PART:"shadow_bottom", "hidden", 0.0); \
+               } \
+               after: "edge_vertical"; \
+       } \
+       program { name: "edge_bottom"; \
+               signal: "elm,edge,bottom"; \
+               source: "elm"; \
+               script { \
+                       set_state(PART:"shadow_top", "hidden", 0.0); \
+                       set_state(PART:"shadow_bottom", "edge", 0.0); \
+               } \
+               after: "edge_vertical"; \
+       } \
+       program { name: "edge_left"; \
+               signal: "elm,edge,left"; \
+               source: "elm"; \
+               script { \
+                       set_state(PART:"shadow_left", "edge", 0.0); \
+                       set_state(PART:"shadow_right", "hidden", 0.0); \
+               } \
+               after: "edge_horizontal"; \
+       } \
+       program { name: "edge_right"; \
+               signal: "elm,edge,right"; \
+               source: "elm"; \
+               script { \
+                       set_state(PART:"shadow_left", "hidden", 0.0); \
+                       set_state(PART:"shadow_right", "edge", 0.0); \
+               } \
+               after: "edge_horizontal"; \
+       } \
+       program { name: "edge_all"; \
+               signal: "elm,edge,all"; \
+               source: "elm"; \
+               script { \
+                       set_state(PART:"shadow_top", "edge", 0.0); \
+                       set_state(PART:"shadow_bottom", "edge", 0.0); \
+                       set_state(PART:"shadow_left", "edge", 0.0); \
+                       set_state(PART:"shadow_right", "edge", 0.0); \
+               } \
+               after: "edge_hori_verti"; \
+       } \
+       program { name: "edge_vertical"; \
+               script { \
+                       new v; \
+                       v = get_int(sh_timer); \
+                       if (v > 0) \
+                               cancel_timer(v); \
+                       v = get_int(edge_timer); \
+                       if (!v) { \
+                               emit("do-show-vshadow", ""); \
+                       } \
+                       if (v > 0) \
+                               cancel_timer(v); \
+                       v = timer(0.2, "timer2", 0); \
+                       set_int(edge_timer, v); \
+               } \
+       } \
+       program { name: "edge_horizontal"; \
+               script { \
+                       new v; \
+                       v = get_int(sh_timer); \
+                       if (v > 0) \
+                               cancel_timer(v); \
+                       v = get_int(edge_timer); \
+                       if (!v) { \
+                               emit("do-show-hshadow", ""); \
+                       } \
+                       if (v > 0) \
+                               cancel_timer(v); \
+                       v = timer(0.2, "timer2", 0); \
+                       set_int(edge_timer, v); \
+               } \
+       } \
+       program { name: "edge_hori_verti"; \
+               script { \
+                       new v; \
+                       v = get_int(sh_timer); \
+                       if (v > 0) \
+                               cancel_timer(v); \
+                       v = get_int(edge_timer); \
+                       if (!v) { \
+                               emit("do-show-hshadow", ""); \
+                               emit("do-show-vshadow", ""); \
+                       } \
+                       if (v > 0) \
+                               cancel_timer(v); \
+                       v = timer(0.2, "timer2", 0); \
+                       set_int(edge_timer, v); \
+               } \
+       } \
+       program { name: "show"; \
+               signal: "show"; \
+               source: ""; \
+               script { \
+                       new v; \
+                       emit("do-show-vbar", ""); \
+                       set_int(sbvis_v, 1); \
+                       v = get_int(sbalways_v); \
+                       if (!v) { \
+                               v = get_int(sbvis_timer); \
+                               if (v > 0) cancel_timer(v); \
+                               v = timer(1.0, "timer0", 0); \
+                               set_int(sbvis_timer, v); \
+                       } \
+                       emit("do-show-hbar", ""); \
+                       set_int(sbvis_h, 1); \
+                       v = get_int(sbalways_h); \
+                       if (!v) { \
+                               v = get_int(sbvis_timer); \
+                               if (v > 0) cancel_timer(v); \
+                               v = timer(1.0, "timer0", 0); \
+                               set_int(sbvis_timer, v); \
+                       } \
+               } \
+       }
+/********Used for showing overscrolling images done*********/
+
diff --git a/res/black_theme/edc/gl-naviframe.edc b/res/black_theme/edc/gl-naviframe.edc
new file mode 100644 (file)
index 0000000..1b744f7
--- /dev/null
@@ -0,0 +1,531 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#define NAVIFRAME_VIEW_TRANS_TIME 0.3
+#define NAVIFRAME_TITLE_TRANS_TIME 0.5
+
+group { name: "elm/naviframe/item/gallery_empty/default";
+   script {
+      public tbar_close = 0; //Toolbar lastest Open/Close status
+      public landscape = 0; //Landscape mode status
+   }
+   parts {
+      part { name: "clipper";
+        type: RECT;
+        description { state: "default" 0.0;
+           visible: 1;
+        }
+        description { state: "left" 0.0;
+           visible: 0;
+        }
+      }
+      part { name: "base";
+        type: RECT;
+        scale: 1;
+        mouse_events:  0;
+        description { state: "default" 0.0;
+           visible: 0;
+        }
+        description { state: "left" 0.0;
+           inherit: "default" 0.0;
+           rel1.relative: -1.0 0.0;
+           rel2.relative: 0.0 1.0;
+        }
+        description { state: "right" 0.0;
+           inherit: "default" 0.0;
+           rel1.relative: 1.0 0.0;
+           rel2.relative: 2.0 1.0;
+        }
+      }
+      part { name: "title_bg";
+        type: RECT;
+        scale: 1;
+        description { state: "default" 0.0;
+           min: 0 NAVIFRAME_TITLE_H_INC;
+           max: -1 NAVIFRAME_TITLE_H_INC;
+           align: 0.0 0.0;
+           fixed: 0 1;
+           rel1 { relative: 0.0 0.0; to: "base"; }
+           rel2 { relative: 1.0 0.0; to: "base"; }
+        }
+        description { state: "landscape" 0.0;
+           inherit: "default" 0.0;
+           min: 0 NAVIFRAME_LANDSCAPE_TITLE_H_INC;
+           max: -1 NAVIFRAME_LANDSCAPE_TITLE_H_INC;
+        }
+        description { state: "hide_trans" 0.0;
+           inherit: "default" 0.0;
+           align: 0.5 1.0;
+        }
+        description { state: "hide_trans_landscape" 0.0;
+           inherit: "landscape" 0.0;
+           align: 0.5 1.0;
+        }
+        description { state: "hide" 0.0;
+           inherit: "default" 0.0;
+           visible: 0;
+           min: 0 0;
+           max: -1 0;
+        }
+      }
+      part { name: "title_clip";
+        type: RECT;
+        mouse_events: 0;
+        clip_to: "clipper";
+        description { state: "default" 0.0;
+           rel1 { to_y: "title_bg"; }
+           rel2 { to_y: "title_bg"; }
+        }
+      }
+      part { name: "elm.swallow.content";
+        type: SWALLOW;
+        scale: 1;
+        repeat_events: 0;
+        clip_to: "content_clip";
+        description { state: "default" 0.0;
+           align: 0.0 0.0;
+           rel1.relative: 0.0 1.0;
+           rel1.to_x: "base";
+           rel1.to_y: "title_bg";
+           rel2.relative: 1.0 0.0;
+           rel2.to_x: "base";
+           rel2.to_y: "toolbar";
+        }
+      }
+      part { name: "content_clip";
+        type: RECT;
+        scale: 1;
+        mouse_events: 0;
+        clip_to: "clipper";
+        description { state: "default" 0.0;
+           rel1.to: "elm.swallow.content";
+           rel2.to: "elm.swallow.content";
+        }
+      }
+      part { name: "title";
+        type: SWALLOW;
+        scale: 1;
+        clip_to: "title_clip";
+        description { state: "default" 0.0;
+           min: 0 NAVIFRAME_TITLE_H_INC;
+           max: -1 NAVIFRAME_TITLE_H_INC;
+           align: 0.0 0.0;
+           fixed: 0 1;
+           rel1 { relative: 0.0 0.0; to: "base"; }
+           rel2 { relative: 1.0 0.0; to: "base"; }
+        }
+        description { state: "landscape" 0.0;
+           inherit: "default" 0.0;
+           min: 0 NAVIFRAME_LANDSCAPE_TITLE_H_INC;
+           max: -1 NAVIFRAME_LANDSCAPE_TITLE_H_INC;
+        }
+        description { state: "hide_trans" 0.0;
+           inherit: "default" 0.0;
+           align: 0.5 1.0;
+        }
+        description { state: "hide_trans_landscape" 0.0;
+           inherit: "landscape" 0.0;
+           align: 0.5 1.0;
+        }
+        description { state: "hide" 0.0;
+           inherit: "default" 0.0;
+           visible: 0;
+           min: 0 0;
+           max: -1 0;
+        }
+      }
+      part { name: "toolbar";
+        type: SWALLOW;
+        scale: 1;
+        clip_to: "toolbar_clip";
+        description { state: "default" 0.0;
+           min: 0 0;
+           max: 999999 0;
+           fixed: 0 1;
+           align: 0.0 1.0;
+           visible: 0;
+           rel1 { to: "base"; }
+           rel2 { to: "base"; }
+        }
+        description { state: "visible" 0.0;
+           inherit: "default" 0.0;
+           min: 0 NAVIFRAME_TOOLBAR_HEIGHT_INC;
+           max: 999999 NAVIFRAME_TOOLBAR_HEIGHT_INC;
+           visible: 1;
+        }
+        description { state: "visible_landscape" 0.0;
+           inherit: "default" 0.0;
+           min: 0 NAVIFRAME_LANDSCAPE_TOOLBAR_HEIGHT_INC;
+           max: 999999 NAVIFRAME_LANDSCAPE_TOOLBAR_HEIGHT_INC;
+           visible: 1;
+        }
+      }
+      part { name: "more_btn_bg";
+        type: SPACER;
+        scale: 1;
+        description { state: "default" 0.0;
+           min: NAVIFRAME_TOOLBAR_BUTTON_BG_PADDING_INC;
+           fixed: 1 0;
+           align: 0.0 0.0;
+           rel1 { relative: 0.0 0.0; to: "toolbar"; }
+           rel2 { relative: 0.0 1.0; to: "toolbar"; }
+        }
+      }
+      part { name: "toolbar_more_btn";
+        type: SWALLOW;
+        scale: 1;
+        clip_to: "toolbar_clip";
+        description { state: "default" 0.0;
+           max: NAVIFRAME_PREV_FUNC_BTN_SIZE_INC;
+           fixed: 1 1;
+           rel1.to: "more_btn_bg";
+           rel2.to: "more_btn_bg";
+           visible: 0;
+        }
+        description { state: "landscape" 0.0;
+           inherit: "default" 0.0;
+           max: NAVIFRAME_LANDSCAPE_PREV_FUNC_BTN_SIZE_INC;
+        }
+      }
+      part { name: "prev_btn_bg";
+        type: SPACER;
+        scale: 1;
+        description { state: "default" 0.0;
+           min: NAVIFRAME_TOOLBAR_BUTTON_BG_PADDING_INC;
+           fixed: 1 0;
+           align: 1.0 0.0;
+           rel1 { relative: 1.0 0.0; to: "toolbar"; }
+           rel2.to: "toolbar";
+        }
+      }
+      part { name: "elm.swallow.prev_btn";
+        type: SWALLOW;
+        scale: 1;
+        clip_to: "toolbar_clip";
+        description { state: "default" 0.0;
+           max: NAVIFRAME_PREV_FUNC_BTN_SIZE_INC;
+           fixed: 1 1;
+           align: 0.5 0.5;
+           rel1.to: "prev_btn_bg";
+           rel2.to: "prev_btn_bg";
+           visible: 0;
+        }
+        description { state: "landscape" 0.0;
+           inherit: "default" 0.0;
+           max: NAVIFRAME_LANDSCAPE_PREV_FUNC_BTN_SIZE_INC;
+        }
+      }
+      part { name: "toolbar_clip";
+        type: RECT;
+        mouse_events: 0;
+        clip_to: "clipper";
+        description { state: "default" 0.0;
+           rel1 { to: "toolbar"; }
+           rel2 { to: "toolbar"; }
+        }
+      }
+   }
+   programs {
+      program { name: "content_new_pushed";
+        signal: "elm,state,new,pushed,deferred";
+        source: "elm";
+        action: STATE_SET "default" 0.0;
+        target: "base";
+        transition: DECELERATE NAVIFRAME_VIEW_TRANS_TIME;
+        after: "show_finished";
+      }
+      program { name: "content_cur_pushed";
+        signal: "elm,state,cur,pushed,deferred";
+        source: "elm";
+        action: STATE_SET "left" 0.0;
+        target: "base";
+        target: "clipper";
+        transition: DECELERATE NAVIFRAME_VIEW_TRANS_TIME;
+        after: "pushed_finished";
+      }
+      program { name: "content_prev_popped";
+        signal: "elm,state,prev,popped,deferred";
+        source: "elm";
+        action: STATE_SET "default" 0.0;
+        target: "base";
+        target: "clipper";
+        transition: DECELERATE NAVIFRAME_VIEW_TRANS_TIME;
+        after: "show_finished";
+      }
+      program { name: "content_cur_popped";
+        signal: "elm,state,cur,popped,deferred";
+        source: "elm";
+        action: STATE_SET "right" 0.0;
+        target: "base";
+        transition: DECELERATE NAVIFRAME_VIEW_TRANS_TIME;
+        after: "popped_finished";
+      }
+      program { name: "cur_pushed";
+        signal: "elm,state,cur,pushed";
+        source: "elm";
+        action: STATE_SET "default" 0.0;
+        target: "base";
+      }
+      program { name: "new_pushed";
+        signal: "elm,state,new,pushed";
+        source: "elm";
+        action: STATE_SET "right" 0.0;
+        target: "base";
+      }
+      program { name: "prev_popped";
+        signal: "elm,state,prev,popped";
+        source: "elm";
+        action: STATE_SET "left" 0.0;
+        target: "base";
+      }
+      program { name: "cur_popped";
+        signal: "elm,state,cur,popped";
+        source: "elm";
+        action: STATE_SET "default" 0.0;
+        target: "base";
+      }
+      program { name: "visible";
+        signal: "elm,state,visible";
+        source: "elm";
+        action: STATE_SET "default" 0.0;
+        target: "base";
+        target: "clipper";
+      }
+      program { name: "title_show";
+        signal: "elm,state,title,show";
+        source: "elm";
+        script {
+           if (!get_int(landscape)) {
+              set_state(PART:"title", "default", 0.0);
+              set_state(PART:"title_bg", "default", 0.0);
+           } else {
+              set_state(PART:"title", "landscape", 0.0);
+              set_state(PART:"title_bg", "landscape", 0.0);
+           }
+        }
+      }
+      program { name: "title_hide";
+        signal: "elm,state,title,hide";
+        source: "elm";
+        script {
+           set_state(PART:"title_bg", "hide", 0.0);
+           set_state(PART:"title", "hide", 0.0);
+        }
+      }
+      program { name: "title_show_anim";
+        signal: "elm,action,title,show";
+        source: "elm";
+        script {
+           if (!get_int(landscape)) {
+                   set_state(PART:"title", "hide_trans", 0.0);
+                   set_state(PART:"title_bg", "hide_trans", 0.0);
+           } else {
+              set_state(PART:"title", "hide_trans_landscape", 0.0);
+              set_state(PART:"title_bg", "hide_trans_landscape", 0.0);
+           }
+           run_program(PROGRAM:"title_show_anim_start");
+        }
+      }
+      program { name: "title_show_anim_start";
+        action: STATE_SET "default" 0.0;
+        target: "title";
+        target: "title_bg";
+        transition: SIN_FAC NAVIFRAME_TITLE_TRANS_TIME 1.7;
+        after: "title_show_anim_finished";
+      }
+      program { name: "title_show_anim_finished";
+        script {
+           emit("elm,action,title,transition,finished", "");
+        }
+      }
+      program { name: "title_hide_trans";
+        signal: "elm,action,title,hide";
+        source: "elm";
+        script {
+           if (!get_int(landscape)) {
+              set_state(PART:"title", "default", 0.0);
+              set_state(PART:"title_bg", "default", 0.0);
+           } else {
+              set_state(PART:"title", "landscape", 0.0);
+              set_state(PART:"title_bg", "landscape", 0.0);
+           }
+           run_program(PROGRAM:"title_hide_trans_start");
+        }
+      }
+      program { name: "title_hide_trans_start";
+        action: STATE_SET "hide_trans" 0.0;
+        target: "title";
+        target: "title_bg";
+        transition: SIN_FAC NAVIFRAME_TITLE_TRANS_TIME 1.7;
+        after: "title_hide_trans_finished";
+      }
+      program { name: "title_hide_trans_finished";
+        script {
+           set_state(PART:"title_bg", "hide", 0.0);
+           set_state(PART:"title", "hide", 0.0);
+           emit("elm,action,title,transition,finished", "");
+        }
+      }
+      program { name: "toolbar_show";
+        signal: "elm,state,toolbar,show";
+        source: "elm";
+        script {
+           if (!get_int(landscape))
+             set_state(PART:"toolbar", "visible", 0.0);
+           else
+             set_state(PART:"toolbar", "visible_landscape", 0.0);
+        }
+      }
+      program { name: "toolbar_hide";
+        signal: "elm,state,toolbar,hide";
+        source: "elm";
+        script {
+           set_state(PART:"toolbar", "default", 0.0);
+        }
+      }
+      program { name: "toolbar_open_internal";
+        signal: "elm,state,toolbar,open,internal";
+        source: "elm";
+        script {
+           set_int(tbar_close, 0);
+           if (!get_int(landscape))
+             set_state(PART:"toolbar", "visible", 0.0);
+           else
+             set_state(PART:"toolbar", "visible_landscape", 0.0);
+        }
+      }
+      program { name: "toolbar_close_internal";
+        signal: "elm,state,toolbar,close,internal";
+        source: "elm";
+        script {
+           set_int(tbar_close, 1);
+           set_state(PART:"toolbar", "default", 0.0);
+        }
+      }
+      program { name: "toolbar_open";
+        signal: "elm,state,toolbar,open";
+        source: "";
+        script {
+           if (!get_int(landscape))
+             set_state(PART:"toolbar", "visible", 0.0);
+           else
+             set_state(PART:"toolbar", "visible_landscape", 0.0);
+        }
+        transition: LINEAR 0.2;
+        after: "toolbar_open_internal";
+      }
+      program { name: "toolbar_close";
+        signal: "elm,state,toolbar,close";
+        source: "";
+        action: STATE_SET "default" 0.0;
+        target: "toolbar";
+        transition: LINEAR 0.2;
+        after: "toolbar_close_internal";
+      }
+      program { name: "toolbar_instant_open";
+        signal: "elm,state,toolbar,instant_open";
+        source: "";
+        script {
+           emit("elm,state,toolbar,open,internal", "elm");
+        }
+      }
+      program { name: "toolbar_instant_close";
+        signal: "elm,state,toolbar,instant_close";
+        source: "";
+        script {
+           emit("elm,state,toolbar,close,internal", "elm");
+        }
+      }
+      program { name: "show_finished";
+        action: SIGNAL_EMIT "elm,action,show,finished" "";
+      }
+      program { name: "pushed_finished";
+        action: SIGNAL_EMIT "elm,action,pushed,finished" "";
+      }
+      program { name: "popped_finished";
+        action: SIGNAL_EMIT "elm,action,popped,finished" "";
+      }
+      program {
+        name: "change_to_landscape";
+        script {
+           if (!get_int(landscape)) {
+              set_state(PART:"toolbar_more_btn", "landscape", 0.0);
+              set_state(PART:"elm.swallow.prev_btn", "landscape", 0.0);
+
+              new st[31];
+              new Float:vl;
+              get_state(PART:"title", st, 30, vl);
+              if (!strcmp(st, "default"))
+                set_state(PART:"title", "landscape", 0.0);
+              get_state(PART:"title_bg", st, 30, vl);
+              if (!strcmp(st, "default"))
+                set_state(PART:"title_bg", "landscape", 0.0);
+
+              get_state(PART:"toolbar", st, 30, vl);
+              if (!strcmp(st, "visible"))
+                set_state(PART:"toolbar", "visible_landscape", 0.0);
+
+              set_int(landscape, 1);
+           }
+        }
+      }
+      program {
+        name: "change_to_portrait";
+        script {
+           if (get_int(landscape)) {
+              set_state(PART:"toolbar_more_btn", "default", 0.0);
+              set_state(PART:"elm.swallow.prev_btn", "default", 0.0);
+
+              new st[31];
+              new Float:vl;
+              get_state(PART:"title", st, 30, vl);
+              if (!strcmp(st, "landscape"))
+                set_state(PART:"title", "default", 0.0);
+              get_state(PART:"title_bg", st, 30, vl);
+              if (!strcmp(st, "landscape"))
+                set_state(PART:"title_bg", "default", 0.0);
+
+              get_state(PART:"toolbar", st, 30, vl);
+              if (!strcmp(st, "visible_landscape"))
+                set_state(PART:"toolbar", "visible", 0.0);
+
+              set_int(landscape, 0);
+           }
+        }
+      }
+      program { name: "landscape_mode";
+        source: "elm";
+        signal: "elm,state,orient,90";
+        after: "change_to_landscape";
+      }
+      program { name: "landscape_mode2";
+        source: "elm";
+        signal: "elm,state,orient,270";
+        after: "change_to_landscape";
+      }
+      program { name: "portrait_mode";
+        source: "elm";
+        signal: "elm,state,orient,0";
+        after: "change_to_portrait";
+      }
+      program { name: "portrait_mode2";
+        source: "elm";
+        signal: "elm,state,orient,180";
+        after: "change_to_portrait";
+      }
+   }
+}
diff --git a/res/black_theme/edc/gl-nocontents.edc b/res/black_theme/edc/gl-nocontents.edc
new file mode 100644 (file)
index 0000000..ca2ebaf
--- /dev/null
@@ -0,0 +1,234 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#define NOCONTENT_TEXT_BLOCK_TEXT_SIZE_INC 36
+#define NOCONTENT_TEXT_BLOCK_TEXT_SIZE_INC_WHITE 20
+#define NOCONTENT_TEXT_BLOCK_STYLE_COLOR_INC 250 250 250 255
+#define NO_CONTENT_BG_HEIGHT_INC 185
+#define NO_CONTENT_BG_LANDSCAPE_HEIGHT_INC 132
+#define NO_CONTENT_MAX_HEIGHT_INC 244
+#define NO_CONTENT_LEFT_RIGHT_PADDING_WIDTH_INC 10
+
+   group {
+      name: "elm/layout/nocontents/gallery";
+      styles{
+         style { name: "nocontent_style";
+            base: "font=Tizen:style=Roman text_class=tizen font_size="NOCONTENT_TEXT_BLOCK_TEXT_SIZE_INC" align=center color=#ffffff wrap=word";
+            tag:  "br" "\n";
+            tag:  "hilight" "+ font=Tizen:style=Bold text_class=tizen";
+            tag:  "b" "+ font=Tizen:style=Bold text_class=tizen";
+            tag:  "tab" "\t";
+         }
+      }
+      images {
+         image: GALLERY_EDC_IMAGE_NOCONTENTS_PIC COMP;
+      }
+      parts {
+         part { name: "bg";
+            scale: 1;
+            type: RECT;
+            description { state: "default" 0.0;
+               visible: 1;
+               rel1 { relative: 0.0 0.0;}
+               rel2 { relative: 1.0 1.0;}
+               color: 0 0 0 0;
+            }
+         }
+         part { name: "nocontents.image";
+            description { state: "default" 0.0;
+               visible: 1;
+               align: 0.5 0.0;
+               rel1 { relative: 234/720 466/1184; to: "bg";}
+               rel2 { relative: (234+252)/720 (466+252)/1184; to: "bg";}
+               image {
+                  normal: GALLERY_EDC_IMAGE_NOCONTENTS_PIC;
+                  border: 1 1 1 1;
+                  border_scale: 1;
+               }
+               aspect: 1.0 1.0;
+               aspect_preference: BOTH;
+            }
+         }
+         part { name: "middle.padding";
+            scale: 1;
+            type: RECT;
+            description { state: "default" 0.0;
+               visible: 0;
+               align: 0.5 0.0;
+               rel1 { relative: 0.0 1.0; to_y: "nocontents.image";}
+               rel2 { relative: 1.0 (466+252+0)/1184; to: "bg";}
+            }
+         }
+         part { name: "elm.text";
+            type: TEXTBLOCK;
+            description { state: "default" 0.0;
+               fixed: 0 1;
+               align: 0.5 0.0;
+               visible: 1;
+               rel1 { relative: 0.0 1.0; to_x: "bg"; to_y: "middle.padding";}
+               rel2 { relative: 1.0 (466+252+68)/1184; to: "bg";}
+               color: NOCONTENT_TEXT_BLOCK_STYLE_COLOR_INC;
+               text {
+                  style: "nocontent_style";
+                  align: 0.5 0.5;
+                  min: 0 0;
+                  max: 0 1;
+               }
+            }
+         }
+        part { name: "middle.padding.2";
+            scale: 1;
+            type: RECT;
+            description { state: "default" 0.0;
+               visible: 0;
+               align: 0.5 0.0;
+               rel1 { relative: 0.0 1.0; to_y: "elm.text";}
+               rel2 { relative: 1.0 (466+252+68+38)/1184; to: "bg";}
+            }
+         }
+        part { name: "elm.text.2";
+            type: TEXTBLOCK;
+            description { state: "default" 0.0;
+               fixed: 0 1;
+               align: 0.5 0.0;
+               visible: 1;
+               rel1 { relative: 0.0 1.0; to_x: "bg"; to_y: "middle.padding.2";}
+               rel2 { relative: 1.0 1.0; to: "bg";}
+               color: NOCONTENT_TEXT_BLOCK_STYLE_COLOR_INC;
+               text {
+                  style: "nocontent_style";
+                  align: 0.5 0.5;
+                  min: 0 0;
+                  max: 0 1;
+               }
+            }
+         }
+      }
+   }
+
+
+   group {
+      name: "elm/layout/nocontents/gallery_white";
+      images {
+         image: "core_pattern_empty_bg.png" COMP;
+         image: "core_pattern_empty_bg_h.png" COMP;
+      }
+      styles{
+         style { name: "nocontent_style_white";
+            base: "font=Tizen:style=Regular font_size="NOCONTENT_TEXT_BLOCK_TEXT_SIZE_INC_WHITE" align=center color=#000000 wrap=word";
+            tag:  "br" "\n";
+            tag:  "hilight" "+ font=Tizen:style=Bold text_class=tizen";
+            tag:  "b" "+ font=Tizen:style=Bold text_class=tizen";
+            tag:  "tab" "\t";
+         }
+      }
+      parts {
+         part { name: "bg";
+           type: RECT;
+            scale: 1;
+            description { state: "default" 0.0;
+               color_class: B011;
+            }
+         }
+         part { name: "bg_con";
+            type: RECT;
+            scale: 1;
+            description { state: "default" 0.0;
+               rel1.to: "bg";
+               rel2.to: "bg";
+               color_class: "B238L1";
+            }
+         }
+         part { name: "bg_image";
+            type: IMAGE;
+            scale: 1;
+            description { state: "default" 0.0;
+               min: 0 NO_CONTENT_BG_HEIGHT_INC;
+               rel1.to: "bg";
+               rel2 {
+                  to: "bg";
+                  relative: 1.0 0.0;
+               }
+               align: 0.0 0.0;
+               fixed: 0 1;
+               color_class: "B238L2";
+               image.normal: "core_pattern_empty_bg.png";
+            }
+            description { state: "landscape" 0.0;
+               inherit: "default" 0.0;
+               min: 0 NO_CONTENT_BG_LANDSCAPE_HEIGHT_INC;
+               image.normal: "core_pattern_empty_bg_h.png";
+            }
+         }
+         part { name: "text_bg";
+            type: SPACER;
+            scale: 1;
+            description { state: "default" 0.0;
+               max: -1 NO_CONTENT_MAX_HEIGHT_INC;
+               rel1.to: "bg";
+               rel2.to: "bg";
+            }
+         }
+         part { name: "left_padding";
+            type: SPACER;
+            scale: 1;
+            description { state: "default" 0.0;
+               min: NO_CONTENT_LEFT_RIGHT_PADDING_WIDTH_INC 0;
+               fixed: 1 0;
+               align: 0.0 0.0;
+               rel1.to: "text_bg";
+               rel2.to: "text_bg";
+               rel2.relative: 0.0 1.0;
+            }
+         }
+         part{ name: "right_padding";
+            type: SPACER;
+            scale: 1;
+            description { state: "default" 0.0;
+               min: NO_CONTENT_LEFT_RIGHT_PADDING_WIDTH_INC 0;
+               fixed: 1 0;
+               align: 1.0 0.0;
+               rel1 {
+                  to: "text_bg";
+                  relative: 1.0 0.0;
+               }
+               rel2.to: "text_bg";
+            }
+         }
+         part { name: "elm.text";
+            type: TEXTBLOCK;
+            scale: 1;
+            description { state: "default" 0.0;
+               rel1 {
+                  to_x: "left_padding";
+                  to_y: "text_bg";
+                  relative: 1.0 0.0;
+               }
+               rel2 {
+                  to_x: "right_padding";
+                  to_y: "text_bg";
+                  relative: 0.0 1.0;
+               }
+               text {
+                  style: "nocontent_style_white";
+                  min: 0 1;
+                  max: 0 1;
+               }
+            }
+         }
+      }
+   }
diff --git a/res/black_theme/edc/gl-popup-entry.edc b/res/black_theme/edc/gl-popup-entry.edc
new file mode 100644 (file)
index 0000000..0604cf4
--- /dev/null
@@ -0,0 +1,121 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+group { name: "gl_popup_entry";
+   parts {
+      part { name: "base";
+        type: SPACER;
+        scale: 1;
+        description { state: "default" 0.0;
+           min: 0 160;
+           fixed: 1 0;
+        }
+      }
+      part { name: "t_pad";
+        type: SPACER;
+        scale: 1;
+        description { state: "default" 0.0;
+           rel1.to: "base";
+           rel2.to: "base";
+           align: 0.0 0.0;
+           min: 0 10;
+           max: 0 10;
+           fixed: 1 1;
+        }
+      }
+      part { name: "top_content_padding";
+        type: SPACER;
+        scale: 1;
+        description { state: "default" 0.0;
+           min: 0 30;
+           max: 0 40;
+           rel1 {
+              to_x: "base";
+              to_y: "t_pad";
+              relative: 0.0 1.0;
+           }
+           rel2 {
+              to_x: "base";
+              to_y: "t_pad";
+              relative: 1.0 1.0;
+           }
+           align: 0.0 0.0;
+           fixed: 1 1;
+        }
+      }
+      part { name: "left_swallow_padding";
+        type: SPACER;
+        scale: 1;
+        description { state: "default" 0.0;
+           min: 30 40;
+           max: 30 40;
+           rel1 {
+              to_x: "base";
+              to_y: "top_content_padding";
+              relative: 0.0 1.0;
+           }
+           rel2 {
+              to_x: "base";
+              to_y: "top_content_padding";
+              relative: 0.0 1.0;
+           }
+           align: 0.0 0.0;
+           fixed: 1 1;
+        }
+      }
+      part { name: "right_swallow_padding";
+        type: SPACER;
+        scale: 1;
+        description {
+           min: 30 40;
+           max: 30 40;
+           rel1 {
+              to_x: "base";
+              to_y: "top_content_padding";
+              relative: 1.0 1.0;
+           }
+           rel2 {
+              to_x: "base";
+              to_y: "top_content_padding";
+              relative: 1.0 1.0;
+           }
+           align: 1.0 0.0;
+           fixed: 1 1;
+        }
+      }
+      part {
+        name: "elm.swallow.content";
+        type: SWALLOW;
+        scale: 1;
+        ignore_flags: ON_HOLD;
+        description { state: "default" 0.0;
+                min: 0 80;
+                fixed: 0 1;
+           rel1 {
+              to: "left_swallow_padding";
+              relative : 1.0 1.0;
+           }
+           rel2 {
+              to: "right_swallow_padding";
+              relative: 0.0 1.0;
+           }
+           align: 0.0 0.5;
+        }
+      }
+   }
+}
+
diff --git a/res/black_theme/edc/gl-progressbar.edc b/res/black_theme/edc/gl-progressbar.edc
new file mode 100644 (file)
index 0000000..d89fef1
--- /dev/null
@@ -0,0 +1,654 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#define PROGRESSBAR_STATUS_TEXT_FONT_SIZE_INC 20
+#define PROGRESSBAR_LIST_PROGRESS_STYLE_TEXT_COLOR_INC 0 0 0 255
+#define PROGRESSBAR_LIST_PROGRESS_STYLE_STATUS_TEXT_COLOR_INC 224 224 224 255
+#define PROGRESSBAR_LIST_PROGRESS_HEIGHT_INC 8
+
+   group { name: "elm/progressbar/horizontal/gallery/list_progress";
+      images {
+         image: GALLERY_EDC_IMAGE_LIST_PROGRESS_BG COMP;
+         image: GALLERY_EDC_IMAGE_LIST_PROGRESS_BAR COMP;
+      }
+      parts {
+         part { name: "elm.padding.left";
+            type: RECT;
+            scale: 1;
+            description {
+               state: "default" 0.0;
+               min: 0 0;
+               fixed: 1 0;
+               rel1 {
+                  relative: 0.0  0.0;
+                  offset: 0 0;
+               }
+               rel2 {
+                  relative: 0.0  1.0;
+                  offset: 0 0;
+               }
+               color: 0 0 0 0;
+               align: 0.0 0.0;
+            }
+         }
+         part { name: "elm.padding.right";
+            type: RECT;
+            scale: 1;
+            description {
+               state: "default" 0.0;
+               min: 0 0;
+               fixed: 1 0;
+               rel1 {
+                  relative: 1.0  0.0;
+                  offset: 0 0;
+               }
+               rel2 {
+                  relative: 1.0  1.0;
+                  offset:   0   0;
+               }
+               color: 0 0 0 0;
+               align: 1.0 0.0;
+            }
+         }
+         part { name: "elm.background.progressbar";
+            type: RECT;
+            mouse_events: 0;
+            scale: 1;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  to_x: "elm.padding.left";
+                  relative: 1.0 0.0;
+                  offset: 0 0;
+               }
+               rel2 {
+                  to_x: "elm.padding.right";
+                  relative: 0.0 1.0;
+                  offset: 0 0;
+               }
+            }
+         }
+         part { name: "elm.swallow.bar";
+            mouse_events: 0;
+            scale: 1;
+            type: SWALLOW;
+            description {
+               min: 1 PROGRESSBAR_LIST_PROGRESS_HEIGHT_INC;
+               max: 99999 PROGRESSBAR_LIST_PROGRESS_HEIGHT_INC;
+               state: "default" 0.0;
+               rel1 {
+                  to: "elm.background.progressbar";
+                  relative: 0.0 0.0;
+               }
+               rel2 {
+                  to: "elm.background.progressbar";
+                  relative: 1.0 1.0;
+               }
+            }
+         }
+         part { name: "elm.swallow.content";
+            type: SWALLOW;
+            scale: 1;
+            description { state: "default" 0.0;
+               visible: 0;
+               align: 0.0 0.5;
+               rel1 {
+                  offset: 0 0;
+                  to_y: "elm.background.progressbar";
+               }
+               rel2 {
+                  offset: 0 -1;
+                  relative: 0.0 1.0;
+                  to_y: "elm.background.progressbar";
+               }
+            }
+            description { state: "visible" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               aspect: 1.0 1.0;
+               aspect_preference: VERTICAL;
+               rel2.offset: 4 -1;
+            }
+         }
+         part { name: "elm.text";
+            type: TEXT;
+            mouse_events: 0;
+            scale: 1;
+            description { state: "default" 0.0;
+               visible: 0;
+               fixed: 1 1;
+               align: 0.0 0.5;
+               rel1.to_x: "elm.swallow.content";
+               rel1.relative: 1.0 0.0;
+               rel2.to_x: "elm.swallow.content";
+               rel2.relative: 1.0 1.0;
+               color: PROGRESSBAR_LIST_PROGRESS_STYLE_TEXT_COLOR_INC;
+               text {
+                  font: "SLP:style=Medium";
+                  text_class: "slp";
+                  size: PROGRESSBAR_STATUS_TEXT_FONT_SIZE_INC;
+                  min: 0 0;
+                  align: 0.0 0.5;
+               }
+            }
+            description { state: "visible" 0.0;
+               inherit: "default" 0.0;
+               visible: 0;
+               text.min: 1 1;
+            }
+         }
+         part { name: "background";
+            mouse_events: 0;
+            scale: 1;
+            clip_to: "elm.background.progressbar";
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  to: "elm.swallow.bar";
+                  relative: 0.0 0.0;
+               }
+               rel2 {
+                  to: "elm.swallow.bar";
+                  relative: 1.0 1.0;
+               }
+               image {
+                  normal: GALLERY_EDC_IMAGE_LIST_PROGRESS_BG;
+                  border: 0 0 1 1;
+               }
+            }
+         }
+         part { name: "elm.text.status";
+            type: TEXT;
+            mouse_events: 0;
+            scale: 1;
+            description { state: "default" 0.0;
+               fixed: 1 1;
+               visible: 0;
+               rel1 {
+                  to: "background";
+                  relative: 0.5 0.5;
+               }
+               rel2 {
+                  to: "background";
+                  relative: 0.5 0.5;
+               }
+               text {
+                  font: "SLP:style=Medium";
+                  text_class: "slp";
+                  size: PROGRESSBAR_STATUS_TEXT_FONT_SIZE_INC;
+                  min: 0 0;
+                  align: 0.5 0.0;
+               }
+               color: PROGRESSBAR_LIST_PROGRESS_STYLE_TEXT_COLOR_INC;
+            }
+            description { state: "show" 0.0;
+               inherit: "default" 0.0;
+               visible: 0;
+               text.min: 1 1;
+            }
+         }
+         part { name: "elm.progress.progressbar";
+            mouse_events: 0;
+            scale: 1;
+            clip_to: "elm.background.progressbar";
+            description {
+               state: "default" 0.0;
+               min: 0 0;
+               fixed: 1 1;
+               rel1 {
+                  to: "elm.swallow.bar";
+                  relative: 0.0 0.0;
+               }
+               rel2 {
+                  to_y: "elm.swallow.bar";
+                  to_x: "elm.cur.progressbar";
+                  offset: -1 -1;
+               }
+               image {
+                  normal: GALLERY_EDC_IMAGE_LIST_PROGRESS_BAR;
+                  border: 0 0 1 1;
+               }
+            }
+            description {
+               state: "invert" 0.0;
+               inherit: "default" 0.0;
+               rel1 {
+                  to_y: "elm.swallow.bar";
+                  to_x: "elm.cur.progressbar";
+               }
+               rel2 {
+                  to: "elm.swallow.bar";
+                  relative: 1.0 1.0;
+               }
+            }
+            description {
+               state: "state_begin" 0.0;
+               inherit: "default" 0.0;
+               rel1 {
+                  to: "elm.swallow.bar";
+                  relative: 0.0 0.0;
+               }
+               rel2 {
+                  to: "elm.swallow.bar";
+                  relative: 0.1 1.0;
+               }
+            }
+            description {
+               state: "state_end" 0.0;
+               inherit: "default" 0.0;
+               rel1 {
+                  to: "elm.swallow.bar";
+                  relative: 0.9 0.0;
+               }
+               rel2 {
+                  to: "elm.swallow.bar";
+                  relative: 1.0 1.0;
+               }
+            }
+         }
+         part { name: "text-bar";
+            type: TEXT;
+            mouse_events: 0;
+            scale: 1;
+            clip_to: "progress-rect";
+            //effect: SOFT_SHADOW;
+            scale: 0;
+            description { state: "default" 0.0;
+               align: 0.0 0.0;
+               fixed: 1 1;
+               visible: 0;
+               rel1.to: "elm.text.status";
+               rel1.offset: -1 -1;
+               rel2.to: "elm.text.status";
+               text {
+                  text_source: "elm.text.status";
+                  font: "SLP:style=Medium";
+                  text_class: "slp";
+                  size: PROGRESSBAR_STATUS_TEXT_FONT_SIZE_INC;
+                  min: 0 0;
+                  align: 0.0 0.0;
+               }
+               color: PROGRESSBAR_LIST_PROGRESS_STYLE_STATUS_TEXT_COLOR_INC;
+            }
+            description { state: "show" 0.0;
+               inherit: "default" 0.0;
+               visible: 0;
+               text.min: 1 1;
+            }
+         }
+         part { name: "elm.cur.progressbar";
+            mouse_events: 0;
+            scale: 1;
+            dragable {
+               confine: "background";
+               x: 1 1 1;
+               y: 0 0 0;
+            }
+            description { state: "default" 0.0;
+               min: 0 28;
+               fixed: 1 1;
+               visible: 0;
+               rel1 {
+                  to: "background";
+                  relative: 0 0;
+               }
+               rel2.to: "background";
+           }
+         }
+         part { name: "progress-rect";
+            type: RECT;
+            mouse_events: 0;
+            scale: 1;
+            description {
+               state: "default" 0.0;
+               rel1.to: "elm.progress.progressbar";
+               rel2.to: "elm.progress.progressbar";
+            }
+         }
+      }
+      programs {
+         program { name: "label_show";
+            signal: "elm,state,text,visible";
+            source: "elm";
+            action:  STATE_SET "visible" 0.0;
+            target: "elm.text";
+         }
+         program { name: "label_hide";
+            signal: "elm,state,text,hidden";
+            source: "elm";
+            action:  STATE_SET "default" 0.0;
+            target: "elm.text";
+         }
+         program { name: "icon_show";
+            signal: "elm,state,icon,visible";
+            source: "elm";
+            action:  STATE_SET "visible" 0.0;
+            target: "elm.swallow.content";
+         }
+         program { name: "icon_hide";
+            signal: "elm,state,icon,hidden";
+            source: "elm";
+            action:  STATE_SET "default" 0.0;
+            target: "elm.swallow.content";
+         }
+         program { name: "units_show";
+            signal: "elm,state,units,visible";
+            source: "elm";
+            action:  STATE_SET "show" 0.0;
+            target: "text-bar";
+            target: "elm.text.status";
+         }
+         program { name: "units_hide";
+            signal: "elm,state,units,hidden";
+            source: "elm";
+            action:  STATE_SET "default" 0.0;
+            target: "text-bar";
+            target: "elm.text.status";
+         }
+         program { name: "slide_to_end";
+            action:  STATE_SET "state_end" 0.0;
+            transition: LINEAR 0.5;
+            target: "elm.progress.progressbar";
+            after: "slide_to_begin";
+         }
+         program { name: "slide_to_begin";
+            signal: "elm,state,slide,begin";
+            action: STATE_SET "state_begin" 0.0;
+            target: "elm.progress.progressbar";
+            transition: LINEAR 0.5;
+            after: "slide_to_end";
+         }
+         program { name: "start_pulse";
+            signal: "elm,state,pulse,start";
+            source: "elm";
+           // after: "slide_to_end";
+         }
+         program { name: "stop_pulse";
+            signal: "elm,state,pulse,stop";
+            source: "elm";
+            action: ACTION_STOP;
+            target: "slide_to_begin";
+            target: "slide_to_end";
+            target: "start_pulse";
+            //after: "state_pulse";
+         }
+         program { name: "state_pulse";
+            signal: "elm,state,pulse";
+            source: "elm";
+            action: STATE_SET "state_begin" 0.0;
+            target: "elm.progress.progressbar";
+            after: "units_hide";
+         }
+         program { name: "state_fraction";
+            signal: "elm,state,fraction";
+            source: "elm";
+            action: ACTION_STOP;
+            target: "slide_to_begin";
+            target: "slide_to_end";
+            target: "start_pulse";
+            action: STATE_SET "default" 0.0;
+            target: "elm.progress.progressbar";
+         }
+         program { name: "set_invert_on";
+            signal: "elm,state,inverted,on";
+            source: "elm";
+            action:  STATE_SET "invert" 0.0;
+            target: "elm.progress.progressbar";
+         }
+         program { name: "set_invert_off";
+            signal: "elm,state,inverted,off";
+            source: "elm";
+            action:  STATE_SET "default" 0.0;
+            target: "elm.progress.progressbar";
+         }
+      }
+   }
+
+
+/////Processing popup layout with label and progressbar //////
+//568 = 378 + 190
+group { name: "popup_processing";
+#define GL_POPUP_PROCESSINGVIEW_CONTENT_MIN 568 188
+   parts {
+      part { name: "base";
+         type: SPACER;
+         scale: 1;
+         description { state: "default" 0.0;
+            min: GL_POPUP_PROCESSINGVIEW_CONTENT_MIN;
+            fixed: 1 0;
+         }
+      }
+      part { name:"pad_t";
+         type: SPACER;
+         scale: 1;
+         description { state: "default" 0.0;
+            min: 0 30;
+            fixed: 0 1;
+            align: 0 0;
+            rel1.to: "base";
+            rel2 {
+               relative: 1.0 0.0;
+               to: "base";
+            }
+         }
+      }
+      part { name: "pad_l";
+         type: SPACER;
+         scale: 1;
+         description { state: "default" 0.0;
+            min: 45 0;
+            max: 45 0;
+            fixed: 1 1;
+            rel1.to: "base";
+            rel2.to: "base";
+            align: 0.0 0.0;
+         }
+      }
+      part { name: "pad_r";
+         type: SPACER;
+         scale: 1;
+         description { state: "default" 0.0;
+            min: 45 0;
+            max: 45 0;
+            fixed: 1 1;
+            rel1.to: "base";
+            rel2.to: "base";
+            align: 1.0 1.0;
+         }
+      }
+      part { name:"elm.swallow.content";
+         type: SWALLOW;
+         scale: 1;
+         description { state: "default" 0.0;
+            min: 60 0;
+            align: 0.0 0.0;
+            fixed: 1 1;
+            rel1 {
+               relative: 1.0 1.0;
+               to_x: "pad_l";
+               to_y: "pad_t";
+            }
+            rel2 {
+               relative: 1.0 0.0;
+               to_x: "pad_l";
+               to_y: "pad_b";
+            }
+         }
+      }
+      part { name:"pad_after_content";
+         type: SPACER;
+         scale: 1;
+         description { state: "default" 0.0;
+            min: 45 0;
+            fixed: 1 0;
+            rel1 {
+               relative: 1.0 0.0;
+               to: "elm.swallow.content";
+            }
+            rel2 {
+               relative: 1.0 1.0;
+               to: "elm.swallow.content";
+            }
+         }
+      }
+      part { name:"elm.swallow.text";
+         type: SWALLOW;
+         scale: 1;
+         description { state: "default" 0.0;
+            min: 350 0;
+            align: 0.0 0.0;
+            fixed: 1 1;
+            rel1 {
+               relative: 1.0 0.0;
+               to: "pad_after_content";
+            }
+            rel2 {
+               relative: 0.0 0.0;
+               to_x: "pad_r";
+               to_y: "pad_b";
+            }
+         }
+      }
+      part { name:"pad_b";
+         type: SPACER;
+         scale: 1;
+         description { state: "default" 0.0;
+            min: 0 30;
+            fixed: 0 1;
+            align: 1 1;
+            rel1 {
+               relative: 0.0 1.0;
+               to: "base";
+            }
+            rel2.to: "base";
+         }
+      }
+   }
+#undef GL_POPUP_PROCESSINGVIEW_CONTENT_MIN
+}
+
+#define POPUP_PROGRESSBAR_VIEW_LAYOUT_BG_MIN_INC 0 70
+#define POPUP_PROGRESSBAR_VIEW_LAYOUT_PADDING_INC 15 27
+#define POPUP_PROGRESSBAR_VIEW_LAYOUT_TEXT_FONT_SIZE_INC 0 38
+#define POPUP_PROGRESSBAR_VIEW_LAYOUT_BG_INC 0 69
+#define POPUP_TEXT_FONT_SIZE 15
+
+
+group { name: "popup_text_progressbar_view_layout";
+   styles {
+      style { name: "popup_progress_style";
+         base: "font=Tizen:style=Regular align=right font_size="14" color=#FFFFFF wrap=mixed ellipsis=1.0";
+         tag:  "br" "\n";
+         tag:  "tab" "\t";
+      }
+  style { name: "popup_processing_style";
+         base: "font=Tizen:style=Regular align=left font_size="POPUP_TEXT_FONT_SIZE" color=#000000 wrap=mixed ellipsis=1.0";
+         tag:  "br" "\n";
+         tag:  "tab" "\t";
+      }
+   }
+
+   parts {
+      part { name: "bg";
+         type: SPACER;
+         scale: 1;
+         description { state: "default" 0.0;
+            min: POPUP_PROGRESSBAR_VIEW_LAYOUT_BG_MIN_INC;
+            fixed: 1 0;
+         }
+      }
+      part { name: "pad_l_t";
+         type: SPACER;
+         scale: 1;
+         description { state: "default" 0.0;
+            min: POPUP_PROGRESSBAR_VIEW_LAYOUT_PADDING_INC;
+            max: POPUP_PROGRESSBAR_VIEW_LAYOUT_PADDING_INC;
+            fixed: 1 1;
+            rel2.relative: 0.0 0.0;
+            align: 0.0 0.0;
+         }
+      }
+      part { name: "pad_r_t";
+         type: SPACER;
+         scale: 1;
+         description { state: "default" 0.0;
+            min: POPUP_PROGRESSBAR_VIEW_LAYOUT_PADDING_INC;
+            max: POPUP_PROGRESSBAR_VIEW_LAYOUT_PADDING_INC;
+            fixed: 1 1;
+            rel1.relative: 1.0 1.0;
+            align: 1.0 1.0;
+         }
+      }
+      part { name: "elm.text.description";
+         type: TEXTBLOCK;
+         scale: 1;
+         description { state: "default" 0.0;
+            fixed: 0 1;
+            min: POPUP_PROGRESSBAR_VIEW_LAYOUT_TEXT_FONT_SIZE_INC;
+            rel1 {
+               relative: 0.2 0.4;
+               to: "bg";
+            }
+            rel2 {
+               relative: 0.0 0.6;
+               to_x: "pad_r_t";
+               to_y: "bg";
+            }
+            text {
+               style: "popup_processing_style";
+               min: 0 1;
+            }
+         }
+      }
+      part { name: "progressbar_bg";
+         type: SPACER;
+         scale: 1;
+         description { state: "default" 0.0;
+            fixed: 0 1;
+            min: POPUP_PROGRESSBAR_VIEW_LAYOUT_BG_INC;
+            rel1 {
+               relative: 0.0 0.0;
+               to_x: "bg";
+               to_y: "elm.text.description";
+            }
+            rel2 {
+               relative: 0.2 1.0;
+               to_x: "bg";
+               to_y: "elm.text.description";
+            }
+         }
+      }
+      part { name: "progressbar";
+         type: SWALLOW;
+         scale: 1;
+         description { state: "default" 0.0;
+            fixed: 0 1;
+            rel1.to: "bg";
+            rel2.to: "bg";
+         }
+      }
+      part { name: "progressbar_left";
+         type: SWALLOW;
+         scale: 1;
+         description { state: "default" 0.0;
+            fixed: 0 1;
+            rel1.to: "progressbar_bg";
+            rel2.to: "progressbar_bg";
+         }
+      }
+   }
+}
diff --git a/res/black_theme/edc/gl-selection-notification.edc b/res/black_theme/edc/gl-selection-notification.edc
new file mode 100644 (file)
index 0000000..d593bc8
--- /dev/null
@@ -0,0 +1,154 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#define SELINFO_H 48
+#define SELINFO_ARROW_H (SELINFO_H-9)
+#define SELINFO_COLOR 0 0 0 0
+#define SELINFO_PAD_R 20
+
+       group
+       {
+               name: "elm/standard/selectioninfo/gallery";
+
+               images {
+                       image : GALLERY_EDC_IMAGE_BTN_CIRCLE_BG_NORMAL COMP;
+                       image : GALLERY_EDC_IMAGE_BTN_CIRCLE_BG_PRESS COMP;
+                       image : GALLERY_EDC_IMAGE_BUTTON_REVEAL COMP;
+                       image : GALLERY_EDC_IMAGE_BUTTON_REVEAL_PRESS COMP;
+               }
+
+               parts {
+                       part {
+                               name: "bg";
+                               type: RECT;
+                               mouse_events: 1;
+                               repeat_events: 1;
+                               scale : 1;
+                               description {
+                                       state: "default" 0.0;
+                                       min: 0 SELINFO_H;
+                                       fixed: 0 1;
+                                       align: 0.5 1.0;
+                                       rel1.relative: 0.0 1.0;
+                                       color: SELINFO_COLOR;
+                               }
+                       }
+                       part { name: "right_padding";
+                               type: RECT;
+                               scale : 1;
+                               description {
+                                       state: "default" 0.0;
+                                       min: SELINFO_PAD_R SELINFO_H;
+                                       fixed: 1 1;
+                                       align: 0.5 1.0;
+                                       rel1 { relative: 1.0 0.0; to: "bg"; }
+                                       rel2 { relative: 1.0 1.0; to: "bg"; }
+                                       color: 0 0 0 0;
+                               }
+                       }
+                       part { name: "arrow_image";
+                               scale: 1;
+                               description {
+                                       state: "default" 0.0;
+                                       visible: 0;
+                                       max: SELINFO_ARROW_H SELINFO_ARROW_H;
+                                       align: 1.0 0.8;
+                                       aspect: 1.0 1.0;
+                                       fixed: 1 1;
+                                       rel1 {relative: 0.0 0.0; to: "right_padding"; }
+                                       rel2 {relative: 0.0 1.0; to: "right_padding"; }
+                               }
+                               description {
+                                       state: "arrow_reveal" 0.0;
+                                       inherit: "default" 0.0;
+                                       visible: 1;
+                                       image.normal: GALLERY_EDC_IMAGE_BTN_CIRCLE_BG_NORMAL;
+                               }
+                               description {
+                                       state: "arrow_press" 0.0;
+                                       inherit: "default" 0.0;
+                                       visible: 1;
+                                       image.normal: GALLERY_EDC_IMAGE_BTN_CIRCLE_BG_PRESS;
+                               }
+                       }
+                       part {
+                               name: "arrow_center";
+                               scale: 1;
+                               description {
+                                       state: "default" 0.0;
+                                       visible: 0;
+                                       max: SELINFO_ARROW_H SELINFO_ARROW_H;
+                                       align: 1.0 0.8;
+                                       aspect: 1.0 1.0;
+                                       fixed: 1 1;
+                                       rel1 {relative: 0.0 0.0; to: "arrow_image";}
+                                       rel2 {relative: 1.0 1.0; to: "arrow_image"; }
+                               }
+                               description {
+                                       state: "arrow_reveal" 0.0;
+                                       inherit: "default" 0.0;
+                                       image.normal: GALLERY_EDC_IMAGE_BUTTON_REVEAL;
+                                       visible: 1;
+                               }
+                               description {
+                                       state: "arrow_press" 0.0;
+                                       inherit: "default" 0.0;
+                                       image.normal: GALLERY_EDC_IMAGE_BUTTON_REVEAL_PRESS;
+                                       visible: 1;
+                               }
+                       }
+               }
+
+               programs {
+                       program { name: "arrow_click";
+                               signal: "mouse,down,1";
+                               source: "arrow_center";
+                               after: "arrow_click_anim";
+                       }
+                       program { name: "arrow_click_anim";
+                               script {
+                                       set_state(PART:"arrow_image", "arrow_press", 0.0);
+                                       set_state(PART:"arrow_center", "arrow_press", 0.0);
+                               }
+                       }
+                       program { name: "arrow_mouseout_clicked";
+                               signal: "mouse,up,1";
+                               source: "arrow_center";
+                               script {
+                                       set_state(PART:"arrow_image", "arrow_reveal", 0.0);
+                                       set_state(PART:"arrow_center", "arrow_reveal", 0.0);
+                               }
+                       }
+                       program { name: "arrow_click2";
+                               signal: "mouse,clicked,1";
+                               source: "arrow_center";
+                               action: SIGNAL_EMIT "elm,action,click" "arrow";
+                       }
+                       program {//show arrow
+                               name: "arrow_center_reveal";
+                               signal: "elm,selectioninfo,arrow_show";
+                               source: "elm";
+                               script {
+                                       set_state(PART:"arrow_image", "arrow_reveal", 0.0);
+                                       set_state(PART:"arrow_center", "arrow_reveal", 0.0);
+                               }
+                       }
+                       GL_GENGRID_SOUND("arrow_center")
+                       GL_GENGRID_PLARY_SOUND
+               }
+       }
+
diff --git a/res/black_theme/edc/gl-timeline.edc b/res/black_theme/edc/gl-timeline.edc
new file mode 100644 (file)
index 0000000..cc75d52
--- /dev/null
@@ -0,0 +1,1551 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#define GL_TL_TITLE_H 46
+
+#define TIME_VIEW_GENLIST_STYLE(NAME, Y) \
+               group{ \
+                       name: "elm/genlist/item/"#NAME"/default"; \
+                       data.item: "contents" "elm.swallow"; \
+                       data.item: "selectraise" "on"; \
+                       data.item: "stacking" "above"; \
+                       parts{ \
+                               part{ \
+                                       name: "bg"; \
+                                       type: RECT; \
+                                       description{ \
+                                               state: "default" 0.0; \
+                                               color: 255 255 255 255; \
+                                               rel1.relative: 0.0 0.0; \
+                                               rel2.relative: 1.0 1.0; \
+                                               min: 0 Y; \
+                                               max: -1 Y; \
+                                               visible: 1; \
+                                       } \
+                               } \
+                               part{ \
+                                       name: "elm.swallow"; \
+                                       type: SWALLOW; \
+                                       description{ \
+                                               state: "default" 0.0; \
+                                               rel1 { relative: 0.0 0.0; to: "bg"; } \
+                                               rel2 { relative: 1.0 1.0; to: "bg"; } \
+                                               align: 0.5 0.5; \
+                                       } \
+                               } \
+                       } \
+               }
+
+#define PART_PADDING_LEFT( param_padding_size ) \
+         part { name: "elm.padding.left"; \
+            type: RECT; \
+            scale: 1; \
+            description { \
+               state: "default" 0.0; \
+               min: param_padding_size 0; \
+               fixed: 1 0; \
+               visible: 0; \
+               rel2.relative: 0.0 1.0; \
+               align: 0.0 0.0; \
+            } \
+         }
+
+#define PART_PADDING_RIGHT( param_padding_size ) \
+       part { name: "elm.padding.right"; \
+            type: RECT; \
+            scale: 1; \
+            description { state: "default" 0.0; \
+               min: param_padding_size 0; \
+               fixed: 1 0; \
+               visible: 0; \
+               rel1.relative: 1.0  0.0; \
+               align: 1.0 0.0; \
+            } \
+         }
+
+#define TL_BG \
+       part { \
+               name: "bg"; \
+               type: RECT; \
+               mouse_events: 1; \
+               scale: 1; \
+               description { \
+                       state: "default" 0.0; \
+                       rel1 { relative: 0.0 0.0; } \
+                       rel2 { relative: 1.0 1.0; } \
+                       color: GALLERY_EDC_COLOR_BG; \
+               } \
+       }
+
+#define TL_BG_C \
+       part { \
+               name: "bg_c"; \
+               type: SWALLOW; \
+               scale: 1; \
+               mouse_events: 1; \
+               description { \
+                       state: "default" 0.0; \
+                       rel1 { relative: 0.0 0.0; to: "bg"; } \
+                       rel2 { relative: 1.0 1.0; to: "bg"; } \
+                       visible: 0; \
+               } \
+       }
+
+#define TL_TITLE_BG_TOP \
+       part { name: "title_bg"; \
+               type: RECT; \
+               scale: 1; \
+               description { \
+                       state: "default" 0.0; \
+                       min: 1 GL_TL_TITLE_H; \
+                       fixed: 0 1; \
+                       visible: 1; \
+                       rel2.relative: 1.0 0.0; \
+                       align: 0.0 0.0; \
+                       color: GALLERY_EDC_COLOR_BG; \
+               } \
+               description { \
+                       state: "hide" 0.0; \
+                       min: 0 0; \
+                       fixed: 0 1; \
+                       visible: 0; \
+                       rel2.relative: 1.0 0.0; \
+                       align: 0.0 0.0; \
+               } \
+       }
+
+#define TL_TITLE_TOP \
+       part { name: "title2"; \
+               type: SWALLOW; \
+               scale: 1; \
+               clip_to: "title_clip2"; \
+               description { \
+                       state: "default" 0.0; \
+                       min: 0 GL_TL_TITLE_H; \
+                       min: 999999 GL_TL_TITLE_H; \
+                       fixed: 1 1; \
+                       visible: 1; \
+                       rel1.relative: 0.0 0.0; \
+                       rel1.to: "title_bg"; \
+                       rel2.relative: 1.0 0.0; \
+                       rel2.to: "title_bg"; \
+                       align: 0.0 0.0; \
+               } \
+               description { \
+                       state: "hide" 0.0; \
+                       min: 0 0; \
+                       fixed: 0 1; \
+                       visible: 0; \
+                       rel2.relative: 1.0 0.0; \
+                       align: 0.0 0.0; \
+               } \
+               description { \
+                       state: "top" 0.0; \
+                       inherit: "default" 0.0; \
+                       rel1.relative: 0.0 -1.0; \
+                       rel1.to: "title_bg"; \
+                       rel2.relative: 1.0 0.0; \
+                       rel2.to: "title_bg"; \
+               } \
+               description { \
+                       state: "bottom" 0.0; \
+                       inherit: "default" 0.0; \
+                       rel1.relative: 0.0 0.4; \
+                       rel1.to: "title_bg"; \
+                       rel2.relative: 1.0 1.4; \
+                       rel2.to: "title_bg"; \
+               } \
+       } \
+       part { name: "title_clip2"; \
+               type: RECT; \
+               mouse_events: 0; \
+               description { state: "default" 0.0; \
+                       rel1 { to: "title_bg"; } \
+                       rel2 { to: "title_bg"; } \
+                       color: 255 255 255 0; \
+               } \
+               description { state: "fade_in" 0.0; \
+                       rel1 { to: "title_bg"; } \
+                       rel2 { to: "title_bg"; } \
+                       color: 255 255 255 255; \
+               } \
+       } \
+       part { name: "title"; \
+               type: SWALLOW; \
+               scale: 1; \
+               clip_to: "title_clip"; \
+               description { \
+                       state: "default" 0.0; \
+                       min: 0 GL_TL_TITLE_H; \
+                       min: 999999 GL_TL_TITLE_H; \
+                       fixed: 1 1; \
+                       visible: 1; \
+                       rel1.relative: 0.0 0.0; \
+                       rel1.to: "title_bg"; \
+                       rel2.relative: 1.0 0.0; \
+                       rel2.to: "title_bg"; \
+                       align: 0.0 0.0; \
+               } \
+               description { \
+                       state: "hide" 0.0; \
+                       min: 0 0; \
+                       fixed: 0 1; \
+                       visible: 0; \
+                       rel2.relative: 1.0 0.0; \
+                       align: 0.0 0.0; \
+               } \
+               description { \
+                       state: "top" 0.0; \
+                       inherit: "default" 0.0; \
+                       rel1.relative: 0.0 -0.6; \
+                       rel1.to: "title_bg"; \
+                       rel2.relative: 1.0 0.4; \
+                       rel2.to: "title_bg"; \
+               } \
+               description { \
+                       state: "bottom" 0.0; \
+                       inherit: "default" 0.0; \
+                       rel1.relative: 0.0 1.0; \
+                       rel1.to: "title_bg"; \
+                       rel2.relative: 1.0 2.0; \
+                       rel2.to: "title_bg"; \
+               } \
+       } part { name: "title_clip"; \
+               type: RECT; \
+               mouse_events: 0; \
+               description { \
+                       state: "default" 0.0; \
+                       rel1 { to: "title_bg"; } \
+                       rel2 { to: "title_bg"; } \
+                       color: 255 255 255 255; \
+               } \
+               description { \
+                       state: "fade_out" 0.0; \
+                       rel1 { to: "title_bg"; } \
+                       rel2 { to: "title_bg"; } \
+                       color: 255 255 255 0; \
+               } \
+       }
+
+#define TL_SLIDER_PAD_BOT \
+       part { name: "slider_padding_b"; \
+               type: RECT; \
+               scale: 1; \
+               description { \
+                       state: "default" 0.0; \
+                       min: 0 8; \
+                       fixed: 0 1; \
+                       visible: 0; \
+                       rel1.relative: 0.0 1.0; \
+                       align: 0.0 1.0; \
+               } \
+               description { \
+                       state: "hide" 0.0; \
+                       inherit: "default" 0.0; \
+                       min: 0 0; \
+               } \
+       }
+
+#define TL_TITLE_BOTTOM \
+       part { name: "title"; \
+               type: SWALLOW; \
+               scale: 1; \
+               description { \
+                       state: "default" 0.0; \
+                       min: 0 GL_TL_TITLE_H; \
+                       fixed: 0 1; \
+                       rel1.relative: 0.0 1.0; \
+                       align: 0.0 1.0; \
+               } \
+       }
+
+#define TL_TITLE_PAD_BOTTOM \
+       part { name: "title_padding"; \
+               type: RECT; \
+               scale: 1; \
+               description { \
+                       state: "default" 0.0; \
+                       min: 0 8; \
+                       fixed: 0 1; \
+                       visible: 0; \
+                       rel1 { relative: 0.0 0.0; to: "title"; } \
+                       rel2 { relative: 1.0 0.0; to: "title"; } \
+                       align: 0.0 1.0; \
+               } \
+       }
+
+#define TL_OVER_SOUND(src)
+#define TL_VARIABLE
+#define GL_TL_PLAY_SOUND
+#define GL_TL_OVER(to_obj)
+
+#define TL_FOCUS_BG(N) \
+       part {  \
+               name: N"_focus_bg"; \
+               type: IMAGE; \
+               repeat_events: 1; \
+               description {  \
+                       state: "default" 0.0; \
+                       visible: 0; \
+                       rel1 { relative: 0.0 0.0; to: N; } \
+                       rel2 { relative: 1.0 1.0; to: N; } \
+                       image.normal: GALLERY_EDC_IMAGE_THUMBS_BG_FOCUS; \
+                       image.border: 13 13 13 13; \
+               } \
+               description {  \
+                       state: "enabled" 0.0; \
+                       inherit: "default" 0.0; \
+                       visible: 1; \
+               } \
+       }
+
+#define TL_PG_FOCUS_BG(N) \
+       program { \
+               name: N"_go_mouse_down"; \
+               signal: "mouse,down,1"; \
+               source: N; \
+               action: STATE_SET "enabled" 0.0; \
+               target: N"_focus_bg"; \
+               transition: ACCELERATE 0.2; \
+       } \
+       program { \
+               name: N"_go_mouse_up"; \
+               signal: "mouse,up,1"; \
+               source: N; \
+               action: STATE_SET "default" 0.0; \
+               target: N"_focus_bg"; \
+               transition: DECELERATE 0.2; \
+       }
+
+#define TL_PADDING_LEFT(param_padding_name, param_padding_size, to_part) \
+         part { name: to_part"_"param_padding_name; \
+            type: RECT; \
+            scale: 1; \
+            description { \
+               state: "default" 0.0; \
+               min: param_padding_size 0; \
+               fixed: 1 0; \
+               visible: 0; \
+               rel1.to: to_part; \
+               rel2.to: to_part; \
+               rel2.relative: 1.0 0.0; \
+               rel2.offset: -30 0; \
+               align: 0.0 0.0; \
+            } \
+         }
+
+#define TL_PADDING_TOP(param_padding_name, param_padding_size, to_part) \
+       part { name: to_part"_"param_padding_name; \
+            type: RECT; \
+            scale: 1; \
+            description { \
+               state: "default" 0.0; \
+               min: 0 param_padding_size; \
+               fixed: 0 1; \
+               visible: 0; \
+               rel1.to: to_part; \
+               rel2.to: to_part; \
+               rel2.relative: 1.0 0.0; \
+               align: 0.0 0.0; \
+            } \
+         }
+
+#define TL_PADDING_BOT(param_padding_name, param_padding_size, to_part) \
+       part { name: to_part"_"param_padding_name; \
+            type: RECT; \
+            scale: 1; \
+            description { \
+               state: "default" 0.0; \
+               min: 0 param_padding_size; \
+               fixed: 0 1; \
+               visible: 0; \
+               rel1.to: to_part; \
+               rel2.to: to_part; \
+               rel1.relative: 0.0 1.0; \
+               align: 0.0 1.0; \
+            } \
+         }
+
+#define TL_PADDINGS(to_part) \
+       TL_PADDING_LEFT("padding.left", 2, to_part); \
+       TL_PADDING_LEFT("padding.right", 2+THUMB_CHECK_W, to_part); \
+       TL_PADDING_TOP("padding.top", 10, to_part); \
+       TL_PADDING_TOP("padding.bottom", 10+THUMB_CHECK_H, to_part); \
+       TL_PADDING_LEFT("padding.left2", 2, to_part); \
+       TL_PADDING_LEFT("padding.right2", 2+MODE_W, to_part); \
+       TL_PADDING_BOT("padding.top2", 2+MODE_H, to_part); \
+       TL_PADDING_BOT("padding.bottom2", 2, to_part); \
+
+#define TL_PART(part_name, rel1_x, rel1_y, rel1_to_x, rel1_to_y, rel2_x, rel2_y, rel2_to_x, rel2_to_y) \
+       part { \
+               name: part_name; \
+               type: SWALLOW; \
+               scale: 1; \
+               description { \
+                       state: "default" 0.0; \
+                       rel1 { relative: rel1_x rel1_y; to_x: rel1_to_x; to_y: rel1_to_y; } \
+                       rel2 { relative: rel2_x rel2_y; to_x: rel2_to_x; to_y: rel2_to_y; } \
+               } \
+       } \
+       TL_PADDINGS(part_name) \
+       part { \
+               name: part_name"_checkbox"; \
+               type: SWALLOW; \
+               description { \
+                       state: "default" 0.0; \
+                       rel1 {relative: 1.0 1.0; to_x: part_name"_padding.left"; to_y: part_name"_padding.top"; } \
+                       rel2 {relative: 1.0 1.0; to_x: part_name"_padding.right"; to_y: part_name"_padding.bottom"; } \
+               } \
+       } \
+       TL_FOCUS_BG(part_name) \
+       GL_TL_OVER(part_name)
+
+
+images {
+   image : GALLERY_EDC_IMAGE_THUMBS_BG_FOCUS COMP;
+}
+
+group {
+       name: "gallery/timeline_1";
+
+       TL_VARIABLE
+
+       parts {
+               TL_BG
+               TL_BG_C
+               PART_PADDING_LEFT(11)
+               PART_PADDING_RIGHT(11)
+               TL_PART("contents_1_1", 1.0, 0.0, "elm.padding.left", "bg", 0.0, 1.0, "elm.padding.right", "bg");
+       }
+       programs {
+               TL_PG_FOCUS_BG("contents_1_1");
+               TL_OVER_SOUND("contents_1_1")
+               GL_TL_PLAY_SOUND
+       }
+}
+
+group {
+       name: "gallery/timeline_1l";
+
+       TL_VARIABLE
+
+       parts {
+               TL_BG
+               TL_BG_C
+               PART_PADDING_LEFT(11)
+               PART_PADDING_RIGHT(11)
+               TL_PART("contents_1_1", 1.0, 0.0, "elm.padding.left", "bg", 0.0, 1.0, "elm.padding.right", "bg");
+       }
+       programs {
+               TL_PG_FOCUS_BG("contents_1_1");
+               TL_OVER_SOUND("contents_1_1")
+               GL_TL_PLAY_SOUND
+       }
+}
+
+group {
+       name: "gallery/timeline_2";
+
+       TL_VARIABLE
+
+       parts {
+               TL_BG
+               TL_BG_C
+               PART_PADDING_LEFT(11)
+               PART_PADDING_RIGHT(11)
+               TL_PART("contents_2_1", 1.0, 0.0, "elm.padding.left", "bg", 0.0, 450/956, "elm.padding.right", "bg");
+               TL_PART("contents_2_2", 1.0, (450+11)/956, "elm.padding.left", "bg", 0.0, 1.0, "elm.padding.right", "bg");
+       }
+       programs {
+               TL_PG_FOCUS_BG("contents_2_1");
+               TL_PG_FOCUS_BG("contents_2_2");
+               TL_OVER_SOUND("contents_2_1")
+               TL_OVER_SOUND("contents_2_2")
+               GL_TL_PLAY_SOUND
+       }
+}
+
+group {
+       name: "gallery/timeline_2l";
+
+       TL_VARIABLE
+
+       parts {
+               TL_BG
+               TL_BG_C
+               PART_PADDING_LEFT(11)
+               PART_PADDING_RIGHT(11)
+               TL_PART("contents_2_1", 1.0, 0.0, "elm.padding.left", "bg", (11+830)/1280, 1.0, "bg", "bg");
+               TL_PART("contents_2_2", (11+830+11)/1280, 0.0, "bg", "bg", 0.0, 1.0, "elm.padding.right", "bg");
+       }
+       programs {
+               TL_PG_FOCUS_BG("contents_2_1");
+               TL_PG_FOCUS_BG("contents_2_2");
+               TL_OVER_SOUND("contents_2_1")
+               TL_OVER_SOUND("contents_2_2")
+               GL_TL_PLAY_SOUND
+       }
+}
+
+group {
+       name: "gallery/timeline_3";
+
+       TL_VARIABLE
+
+       parts {
+               TL_BG
+               TL_BG_C
+               PART_PADDING_LEFT(11)
+               PART_PADDING_RIGHT(11)
+               TL_PART("contents_3_1", 1.0, 0.0, "elm.padding.left", "bg", 0.0, 450/956, "elm.padding.right", "bg");
+               TL_PART("contents_3_2", 1.0, (450+11)/956, "elm.padding.left", "bg", 450/720, 1.0, "bg", "bg");
+               TL_PART("contents_3_3", (450+12)/720, (450+11)/956, "bg", "bg", 0.0, 1.0, "elm.padding.right", "bg");
+       }
+       programs {
+               TL_PG_FOCUS_BG("contents_3_1");
+               TL_PG_FOCUS_BG("contents_3_2");
+               TL_PG_FOCUS_BG("contents_3_3");
+               TL_OVER_SOUND("contents_3_1")
+               TL_OVER_SOUND("contents_3_2")
+               TL_OVER_SOUND("contents_3_3")
+               GL_TL_PLAY_SOUND
+       }
+}
+
+group {
+       name: "gallery/timeline_3l";
+
+       TL_VARIABLE
+
+       parts {
+               TL_BG
+               TL_BG_C
+               PART_PADDING_LEFT(11)
+               PART_PADDING_RIGHT(11)
+               TL_PART("contents_3_1", 1.0, 0.0, "elm.padding.left", "bg", (11+830)/1280, 1.0, "bg", "bg");
+               TL_PART("contents_3_2", (11+830+11)/1280, 0.0, "bg", "bg", 0.0, (GL_TL_TITLE_H+8+181)/451, "elm.padding.right", "bg");
+               TL_PART("contents_3_3", (11+830+11)/1280, (GL_TL_TITLE_H+8+181+11)/451, "bg", "bg", 0.0, 1.0, "elm.padding.right", "bg");
+       }
+       programs {
+               TL_PG_FOCUS_BG("contents_3_1");
+               TL_PG_FOCUS_BG("contents_3_2");
+               TL_PG_FOCUS_BG("contents_3_3");
+               TL_OVER_SOUND("contents_3_1")
+               TL_OVER_SOUND("contents_3_2")
+               TL_OVER_SOUND("contents_3_3")
+               GL_TL_PLAY_SOUND
+       }
+}
+
+group {
+       name: "gallery/timeline_4";
+
+       TL_VARIABLE
+
+       parts {
+               TL_BG
+               TL_BG_C
+               PART_PADDING_LEFT(11)
+               PART_PADDING_RIGHT(11)
+               TL_PART("contents_4_1", 1.0, 0.0, "elm.padding.left", "bg", 450/720, 450/956, "bg", "bg");
+               TL_PART("contents_4_2", (450+12)/720, 0.0, "bg", "contents_4_1", 0.0, 542/956, "elm.padding.right", "bg");
+               TL_PART("contents_4_3", 1.0, (450+11)/956, "elm.padding.left", "bg", 450/720, 1.0, "bg", "bg");
+               TL_PART("contents_4_4", (450+12)/720, (542+11)/956, "bg", "bg", 0.0, 1.0, "elm.padding.right", "bg");
+       }
+       programs {
+               TL_PG_FOCUS_BG("contents_4_1");
+               TL_PG_FOCUS_BG("contents_4_2");
+               TL_PG_FOCUS_BG("contents_4_3");
+               TL_PG_FOCUS_BG("contents_4_4");
+               TL_OVER_SOUND("contents_4_1")
+               TL_OVER_SOUND("contents_4_2")
+               TL_OVER_SOUND("contents_4_3")
+               TL_OVER_SOUND("contents_4_4")
+               GL_TL_PLAY_SOUND
+       }
+}
+
+group {
+       name: "gallery/timeline_4l";
+
+       TL_VARIABLE
+
+       parts {
+               TL_BG
+               TL_BG_C
+               PART_PADDING_LEFT(11)
+               PART_PADDING_RIGHT(11)
+               TL_PART("contents_4_1", 1.0, 0.0, "elm.padding.left", "bg", (11+415)/1280, 1.0, "bg", "bg");
+               TL_PART("contents_4_2", (11+415+11)/1280, 0.0, "bg", "bg", (11+415*2+11)/1280, 1.0, "bg", "bg");
+               TL_PART("contents_4_3", (11+415*2+11*2)/1280, 0.0, "bg", "bg", 0.0, (GL_TL_TITLE_H+8+181)/451, "elm.padding.right", "bg");
+               TL_PART("contents_4_4", (11+415*2+11*2)/1280, (GL_TL_TITLE_H+8+181+11)/451, "bg", "bg", 0.0, 1.0, "elm.padding.right", "bg");
+       }
+       programs {
+               TL_PG_FOCUS_BG("contents_4_1");
+               TL_PG_FOCUS_BG("contents_4_2");
+               TL_PG_FOCUS_BG("contents_4_3");
+               TL_PG_FOCUS_BG("contents_4_4");
+               TL_OVER_SOUND("contents_4_1")
+               TL_OVER_SOUND("contents_4_2")
+               TL_OVER_SOUND("contents_4_3")
+               TL_OVER_SOUND("contents_4_4")
+               GL_TL_PLAY_SOUND
+       }
+}
+
+group {
+       name: "gallery/timeline_5";
+
+       TL_VARIABLE
+
+       parts {
+               TL_BG
+               TL_BG_C
+               PART_PADDING_LEFT(11)
+               PART_PADDING_RIGHT(11)
+               TL_PART("contents_5_1", 1.0, 0.0, "elm.padding.left", "bg", 450/720, 450/956, "bg", "bg");
+               TL_PART("contents_5_2", (450+12)/720, 0.0, "bg", "contents_5_1", 0.0, 1.0, "elm.padding.right", "contents_5_1");
+               TL_PART("contents_5_3", 1.0, (450+11)/956, "elm.padding.left", "bg", 236/720, 1.0, "bg", "bg");
+               TL_PART("contents_5_4", (236+12)/720, 0.0, "bg", "contents_5_3", 0.0, 240/495, "elm.padding.right", "contents_5_3");
+               TL_PART("contents_5_5", (236+12)/720, (240+11)/495, "bg", "contents_5_3", 0.0, 1.0, "elm.padding.right", "bg");
+       }
+       programs {
+               TL_PG_FOCUS_BG("contents_5_1");
+               TL_PG_FOCUS_BG("contents_5_2");
+               TL_PG_FOCUS_BG("contents_5_3");
+               TL_PG_FOCUS_BG("contents_5_4");
+               TL_PG_FOCUS_BG("contents_5_5");
+               TL_OVER_SOUND("contents_5_1")
+               TL_OVER_SOUND("contents_5_2")
+               TL_OVER_SOUND("contents_5_3")
+               TL_OVER_SOUND("contents_5_4")
+               TL_OVER_SOUND("contents_5_5")
+               GL_TL_PLAY_SOUND
+       }
+}
+
+group {
+       name: "gallery/timeline_5l";
+
+       TL_VARIABLE
+
+       parts {
+               TL_BG
+               TL_BG_C
+               PART_PADDING_LEFT(11)
+               PART_PADDING_RIGHT(11)
+               TL_PART("contents_5_1", 1.0, 0.0, "elm.padding.left", "bg", (11+415)/1280, 1.0, "bg", "bg");
+               TL_PART("contents_5_2", (11+415+11)/1280, 0.0, "bg", "bg", (11+415*2+11)/1280, (GL_TL_TITLE_H+8+181)/451, "bg", "bg");
+               TL_PART("contents_5_3", (11+415+11)/1280, (GL_TL_TITLE_H+8+181+11)/451, "bg", "bg", (11+415*2+11)/1280, 1.0, "bg", "bg");
+               TL_PART("contents_5_4", (11+415*2+11*2)/1280, 0.0, "bg", "bg", 0.0, (GL_TL_TITLE_H+8+203)/451, "elm.padding.right", "bg");
+               TL_PART("contents_5_5", (11+415*2+11*2)/1280, (GL_TL_TITLE_H+8+203+11)/451, "bg", "bg", 0.0, 1.0, "elm.padding.right", "bg");
+       }
+       programs {
+               TL_PG_FOCUS_BG("contents_5_1");
+               TL_PG_FOCUS_BG("contents_5_2");
+               TL_PG_FOCUS_BG("contents_5_3");
+               TL_PG_FOCUS_BG("contents_5_4");
+               TL_PG_FOCUS_BG("contents_5_5");
+               TL_OVER_SOUND("contents_5_1")
+               TL_OVER_SOUND("contents_5_2")
+               TL_OVER_SOUND("contents_5_3")
+               TL_OVER_SOUND("contents_5_4")
+               TL_OVER_SOUND("contents_5_5")
+               GL_TL_PLAY_SOUND
+       }
+}
+
+group {
+        name: "gallery/timeline_6";
+
+       TL_VARIABLE
+
+       parts {
+               TL_BG
+               TL_BG_C
+               PART_PADDING_LEFT(11)
+               PART_PADDING_RIGHT(11)
+               TL_PART("contents_6_1", 1.0, 0.0, "elm.padding.left", "bg", 450/720, 380/956, "bg", "bg");
+               TL_PART("contents_6_2", (450+12)/720, 0.0, "bg", "contents_6_1", 0.0, 450/956, "elm.padding.right", "bg");
+               TL_PART("contents_6_3", 1.0, (380+11)/956, "elm.padding.left", "bg", 236/720, 1.0, "bg", "bg");
+               TL_PART("contents_6_4", (236+12)/720, (380+11)/956, "bg", "bg", 450/720, (380+11+380)/956, "bg", "bg");
+               TL_PART("contents_6_5", (450+12)/720, (450+11)/956, "bg", "bg", 0.0, 1.0, "elm.padding.right", "contents_6_4");
+               TL_PART("contents_6_6", (236+12)/720, (380+11+380+11)/956, "bg", "bg", 0.0, 1.0, "elm.padding.right", "bg");
+       }
+       programs {
+               TL_PG_FOCUS_BG("contents_6_1");
+               TL_PG_FOCUS_BG("contents_6_2");
+               TL_PG_FOCUS_BG("contents_6_3");
+               TL_PG_FOCUS_BG("contents_6_4");
+               TL_PG_FOCUS_BG("contents_6_5");
+               TL_PG_FOCUS_BG("contents_6_6");
+               TL_OVER_SOUND("contents_6_1")
+               TL_OVER_SOUND("contents_6_2")
+               TL_OVER_SOUND("contents_6_3")
+               TL_OVER_SOUND("contents_6_4")
+               TL_OVER_SOUND("contents_6_5")
+               TL_OVER_SOUND("contents_6_6")
+               GL_TL_PLAY_SOUND
+       }
+}
+
+group {
+        name: "gallery/timeline_6l";
+
+       TL_VARIABLE
+
+       parts {
+               TL_BG
+               TL_BG_C
+               PART_PADDING_LEFT(11)
+               PART_PADDING_RIGHT(11)
+               TL_PART("contents_6_1", 1.0, 0.0, "elm.padding.left", "bg", (11+415)/1280, 1.0, "bg", "bg");
+               TL_PART("contents_6_2", (11+415+11)/1280, 0.0, "bg", "bg", (11+415*2+11)/1280, (GL_TL_TITLE_H+8+181)/451, "bg", "bg");
+               TL_PART("contents_6_3", (11+415+11)/1280, (GL_TL_TITLE_H+8+181+11)/451, "bg", "bg", (11+415*2+11)/1280, 1.0, "bg", "bg");
+               TL_PART("contents_6_4", (11+415*2+11*2)/1280, 0.0, "bg", "bg", 0.0, (GL_TL_TITLE_H+8+203)/451, "elm.padding.right", "bg");
+               TL_PART("contents_6_5", (11+415*2+11*2)/1280, (GL_TL_TITLE_H+8+203+11)/451, "bg", "bg", (11+415*2+11*2+202)/1280, 1.0, "bg", "bg");
+               TL_PART("contents_6_6", (11+415*2+11*3+202)/1280, (GL_TL_TITLE_H+8+203+11)/451, "bg", "bg", 0.0, 1.0, "elm.padding.right", "bg");
+       }
+       programs {
+               TL_PG_FOCUS_BG("contents_6_1");
+               TL_PG_FOCUS_BG("contents_6_2");
+               TL_PG_FOCUS_BG("contents_6_3");
+               TL_PG_FOCUS_BG("contents_6_4");
+               TL_PG_FOCUS_BG("contents_6_5");
+               TL_PG_FOCUS_BG("contents_6_6");
+               TL_OVER_SOUND("contents_6_1")
+               TL_OVER_SOUND("contents_6_2")
+               TL_OVER_SOUND("contents_6_3")
+               TL_OVER_SOUND("contents_6_4")
+               TL_OVER_SOUND("contents_6_5")
+               TL_OVER_SOUND("contents_6_6")
+               GL_TL_PLAY_SOUND
+       }
+}
+
+group {
+        name: "gallery/timeline_7";
+
+       TL_VARIABLE
+
+       parts {
+               TL_BG
+               TL_BG_C
+               PART_PADDING_LEFT(11)
+               PART_PADDING_RIGHT(11)
+               TL_PART("contents_7_1", 1.0, 0.0, "elm.padding.left", "bg", 450/720, 380/956, "bg", "bg");
+               TL_PART("contents_7_2", (450+12)/720, 0.0, "bg", "contents_7_1", 0.0, 450/956, "elm.padding.right", "bg");
+               TL_PART("contents_7_3", 1.0, (380+11)/956, "elm.padding.left", "bg", 236/720, (380+11+280)/956, "bg", "bg");
+               TL_PART("contents_7_4", (236+12)/720, (380+11)/956, "bg", "bg", 450/720, (380+11+380)/956, "bg", "bg");
+               TL_PART("contents_7_5", (450+12)/720, (450+11)/956, "bg", "bg", 0.0, 1.0, "elm.padding.right", "contents_7_4");
+               TL_PART("contents_7_6", 1.0, (380+11+280+11)/956, "elm.padding.left", "bg", 236/720, 1.0, "bg", "bg");
+               TL_PART("contents_7_7", (236+12)/720, (380+11+380+11)/956, "bg", "bg", 0.0, 1.0, "elm.padding.right", "bg");
+       }
+       programs {
+               TL_PG_FOCUS_BG("contents_7_1");
+               TL_PG_FOCUS_BG("contents_7_2");
+               TL_PG_FOCUS_BG("contents_7_3");
+               TL_PG_FOCUS_BG("contents_7_4");
+               TL_PG_FOCUS_BG("contents_7_5");
+               TL_PG_FOCUS_BG("contents_7_6");
+               TL_PG_FOCUS_BG("contents_7_7");
+               TL_OVER_SOUND("contents_7_1")
+               TL_OVER_SOUND("contents_7_2")
+               TL_OVER_SOUND("contents_7_3")
+               TL_OVER_SOUND("contents_7_4")
+               TL_OVER_SOUND("contents_7_5")
+               TL_OVER_SOUND("contents_7_6")
+               TL_OVER_SOUND("contents_7_7")
+               GL_TL_PLAY_SOUND
+       }
+}
+
+group {
+        name: "gallery/timeline_7l";
+
+       TL_VARIABLE
+
+       parts {
+               TL_BG
+               TL_BG_C
+               PART_PADDING_LEFT(11)
+               PART_PADDING_RIGHT(11)
+               TL_PART("contents_7_1", 1.0, 0.0, "elm.padding.left", "bg", (11+415)/1280, 1.0, "bg", "bg");
+               TL_PART("contents_7_2", (11+415+11)/1280, 0.0, "bg", "bg", (11+415*2+11)/1280, (GL_TL_TITLE_H+8+181)/451, "bg", "bg");
+               TL_PART("contents_7_3", (11+415+11)/1280, (GL_TL_TITLE_H+8+181+11)/451, "bg", "bg", (11+415*2+11)/1280, 1.0, "bg", "bg");
+               TL_PART("contents_7_4", (11+415*2+11*2)/1280, 0.0, "bg", "bg", (11+415*2+11*2+202)/1280, (GL_TL_TITLE_H+8+203)/451, "bg", "bg");
+               TL_PART("contents_7_5", (11+415*2+11*3+202)/1280, 0.0, "bg", "bg", 0.0, (GL_TL_TITLE_H+8+203)/451, "elm.padding.right", "bg");
+               TL_PART("contents_7_6", (11+415*2+11*2)/1280, (GL_TL_TITLE_H+8+203+11)/451, "bg", "bg", (11+415*2+11*2+202)/1280, 1.0, "bg", "bg");
+               TL_PART("contents_7_7", (11+415*2+11*3+202)/1280, (GL_TL_TITLE_H+8+203+11)/451, "bg", "bg", 0.0, 1.0, "elm.padding.right", "bg");
+       }
+       programs {
+               TL_PG_FOCUS_BG("contents_7_1");
+               TL_PG_FOCUS_BG("contents_7_2");
+               TL_PG_FOCUS_BG("contents_7_3");
+               TL_PG_FOCUS_BG("contents_7_4");
+               TL_PG_FOCUS_BG("contents_7_5");
+               TL_PG_FOCUS_BG("contents_7_6");
+               TL_PG_FOCUS_BG("contents_7_7");
+               TL_OVER_SOUND("contents_7_1")
+               TL_OVER_SOUND("contents_7_2")
+               TL_OVER_SOUND("contents_7_3")
+               TL_OVER_SOUND("contents_7_4")
+               TL_OVER_SOUND("contents_7_5")
+               TL_OVER_SOUND("contents_7_6")
+               TL_OVER_SOUND("contents_7_7")
+               GL_TL_PLAY_SOUND
+       }
+}
+
+group {
+       name: "gallery/timeline_8";
+
+       TL_VARIABLE
+
+       parts {
+               TL_BG
+               TL_BG_C
+               PART_PADDING_LEFT(11)
+               PART_PADDING_RIGHT(11)
+               TL_PART("contents_8_1", 1.0, 0.0, "elm.padding.left", "bg", 450/720, 380/956, "bg", "bg");
+               TL_PART("contents_8_2", (450+12)/720, 0.0, "bg", "contents_8_1", 0.0, 450/956, "elm.padding.right", "bg");
+               TL_PART("contents_8_3", 1.0, (380+11)/956, "elm.padding.left", "bg", 236/720, (380+11+280)/956, "bg", "bg");
+               TL_PART("contents_8_4", (236+12)/720, (380+11)/956, "bg", "bg", 450/720, (380+11+380)/956, "bg", "bg");
+               TL_PART("contents_8_5", (450+12)/720, (450+11)/956, "bg", "bg", 0.0, 1.0, "elm.padding.right", "contents_8_4");
+               TL_PART("contents_8_6", 1.0, (380+11+280+11)/956, "elm.padding.left", "bg", 236/720, 1.0, "bg", "bg");
+               TL_PART("contents_8_7", (236+12)/720, (380+11+380+11)/956, "bg", "bg", (236+12+150)/720, 1.0, "bg", "bg");
+               TL_PART("contents_8_8", (236+12+150+12)/720, 0.0, "bg", "contents_8_7", 0.0, 1.0, "elm.padding.right", "bg");
+       }
+       programs {
+               TL_PG_FOCUS_BG("contents_8_1");
+               TL_PG_FOCUS_BG("contents_8_2");
+               TL_PG_FOCUS_BG("contents_8_3");
+               TL_PG_FOCUS_BG("contents_8_4");
+               TL_PG_FOCUS_BG("contents_8_5");
+               TL_PG_FOCUS_BG("contents_8_6");
+               TL_PG_FOCUS_BG("contents_8_7");
+               TL_PG_FOCUS_BG("contents_8_8");
+               TL_OVER_SOUND("contents_8_1")
+               TL_OVER_SOUND("contents_8_2")
+               TL_OVER_SOUND("contents_8_3")
+               TL_OVER_SOUND("contents_8_4")
+               TL_OVER_SOUND("contents_8_5")
+               TL_OVER_SOUND("contents_8_6")
+               TL_OVER_SOUND("contents_8_7")
+               TL_OVER_SOUND("contents_8_8")
+               GL_TL_PLAY_SOUND
+       }
+}
+
+group {
+        name: "gallery/timeline_8l";
+
+       TL_VARIABLE
+
+       parts {
+               TL_BG
+               TL_BG_C
+               PART_PADDING_LEFT(11)
+               PART_PADDING_RIGHT(11)
+               TL_PART("contents_8_1", 1.0, 0.0, "elm.padding.left", "bg", (11+415)/1280, 1.0, "bg", "bg");
+               TL_PART("contents_8_2", (11+415+11)/1280, 0.0, "bg", "bg", (11+415*2+11)/1280, (GL_TL_TITLE_H+8+181)/451, "bg", "bg");
+               TL_PART("contents_8_3", (11+415+11)/1280, (GL_TL_TITLE_H+8+181+11)/451, "bg", "bg", (11+415+11+202)/1280, 1.0, "bg", "bg");
+               TL_PART("contents_8_4", (11+415+11+202+11)/1280, (GL_TL_TITLE_H+8+181+11)/451, "bg", "bg", (11+415*2+11)/1280, 1.0, "bg", "bg");
+               TL_PART("contents_8_5", (11+415*2+11*2)/1280, 0.0, "bg", "bg", (11+415*2+11*2+202)/1280, (GL_TL_TITLE_H+8+203)/451, "bg", "bg");
+               TL_PART("contents_8_6", (11+415*2+11*3+202)/1280, 0.0, "bg", "bg", 0.0, (GL_TL_TITLE_H+8+203)/451, "elm.padding.right", "bg");
+               TL_PART("contents_8_7", (11+415*2+11*2)/1280, (GL_TL_TITLE_H+8+203+11)/451, "bg", "bg", (11+415*2+11*2+202)/1280, 1.0, "bg", "bg");
+               TL_PART("contents_8_8", (11+415*2+11*3+202)/1280, (GL_TL_TITLE_H+8+203+11)/451, "bg", "bg", 0.0, 1.0, "elm.padding.right", "bg");
+       }
+       programs {
+               TL_PG_FOCUS_BG("contents_8_1");
+               TL_PG_FOCUS_BG("contents_8_2");
+               TL_PG_FOCUS_BG("contents_8_3");
+               TL_PG_FOCUS_BG("contents_8_4");
+               TL_PG_FOCUS_BG("contents_8_5");
+               TL_PG_FOCUS_BG("contents_8_6");
+               TL_PG_FOCUS_BG("contents_8_7");
+               TL_PG_FOCUS_BG("contents_8_8");
+               TL_OVER_SOUND("contents_8_1")
+               TL_OVER_SOUND("contents_8_2")
+               TL_OVER_SOUND("contents_8_3")
+               TL_OVER_SOUND("contents_8_4")
+               TL_OVER_SOUND("contents_8_5")
+               TL_OVER_SOUND("contents_8_6")
+               TL_OVER_SOUND("contents_8_7")
+               TL_OVER_SOUND("contents_8_8")
+               GL_TL_PLAY_SOUND
+       }
+}
+
+#define TL_15_ITEM(N, X, Y) \
+       TL_PART("contents_15_"N, (224.6*(X-1)+(X-1)*12)/698, (181.6*(Y-1)+(Y-1)*12)/956, "contents_bg", "contents_bg", (224.6*X+(X-1)*12)/698, (181.6*Y+(Y-1)*12)/956, "contents_bg", "contents_bg");
+
+
+#define TL_15_PGS \
+       TL_PG_FOCUS_BG("contents_15_1") \
+       TL_PG_FOCUS_BG("contents_15_2") \
+       TL_PG_FOCUS_BG("contents_15_3") \
+       TL_PG_FOCUS_BG("contents_15_4") \
+       TL_PG_FOCUS_BG("contents_15_5") \
+       TL_PG_FOCUS_BG("contents_15_6") \
+       TL_PG_FOCUS_BG("contents_15_7") \
+       TL_PG_FOCUS_BG("contents_15_8") \
+       TL_PG_FOCUS_BG("contents_15_9") \
+       TL_PG_FOCUS_BG("contents_15_10") \
+       TL_PG_FOCUS_BG("contents_15_11") \
+       TL_PG_FOCUS_BG("contents_15_12") \
+       TL_PG_FOCUS_BG("contents_15_13") \
+       TL_PG_FOCUS_BG("contents_15_14") \
+       TL_PG_FOCUS_BG("contents_15_15") \
+       TL_OVER_SOUND("contents_15_1") \
+       TL_OVER_SOUND("contents_15_2") \
+       TL_OVER_SOUND("contents_15_3") \
+       TL_OVER_SOUND("contents_15_4") \
+       TL_OVER_SOUND("contents_15_5") \
+       TL_OVER_SOUND("contents_15_6") \
+       TL_OVER_SOUND("contents_15_7") \
+       TL_OVER_SOUND("contents_15_8") \
+       TL_OVER_SOUND("contents_15_9") \
+       TL_OVER_SOUND("contents_15_10") \
+       TL_OVER_SOUND("contents_15_11") \
+       TL_OVER_SOUND("contents_15_12") \
+       TL_OVER_SOUND("contents_15_13") \
+       TL_OVER_SOUND("contents_15_14") \
+       TL_OVER_SOUND("contents_15_15") \
+       GL_TL_PLAY_SOUND
+
+
+group {
+       name: "gallery/timeline_15";
+
+       TL_VARIABLE
+
+       parts {
+               TL_BG
+               TL_BG_C
+               PART_PADDING_LEFT(11)
+               PART_PADDING_RIGHT(11)
+
+               part {
+                       name: "contents_bg";
+                       type: SWALLOW;
+                       mouse_events: 1;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               rel1 { relative: 1.0 0.0; to_x: "elm.padding.left"; to_y: "bg"; }
+                               rel2 { relative: 0.0 1.0; to_x: "elm.padding.right"; to_y: "bg"; }
+                       }
+               }
+
+               TL_15_ITEM(1, 1, 1)
+               TL_15_ITEM(2, 2, 1)
+               TL_15_ITEM(3, 3, 1)
+               TL_15_ITEM(4, 1, 2)
+               TL_15_ITEM(5, 2, 2)
+               TL_15_ITEM(6, 3, 2)
+               TL_15_ITEM(7, 1, 3)
+               TL_15_ITEM(8, 2, 3)
+               TL_15_ITEM(9, 3, 3)
+               TL_15_ITEM(10, 1, 4)
+               TL_15_ITEM(11, 2, 4)
+               TL_15_ITEM(12, 3, 4)
+               TL_15_ITEM(13, 1, 5)
+               TL_15_ITEM(14, 2, 5)
+               TL_15_ITEM(15, 3, 5)
+       }
+       programs {
+               TL_15_PGS
+       }
+}
+
+
+#define TL_15_ITEM_L(N, X, Y) \
+       TL_PART("contents_15_"N, (242*(X-1)+(X-1)*12)/1258, (142.3*(Y-1)+(Y-1)*12)/451, "contents_bg", "contents_bg", (242*X+(X-1)*12)/1258, (142.3*Y+(Y-1)*12)/451, "contents_bg", "contents_bg");
+
+group {
+        name: "gallery/timeline_15l";
+
+       TL_VARIABLE
+
+       parts {
+               TL_BG
+               TL_BG_C
+               PART_PADDING_LEFT(11)
+               PART_PADDING_RIGHT(11)
+
+               part {
+                       name: "contents_bg";
+                       type: SWALLOW;
+                       mouse_events: 1;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               rel1 { relative: 1.0 0.0; to_x: "elm.padding.left"; to_y: "bg"; }
+                               rel2 { relative: 0.0 1.0; to_x: "elm.padding.right"; to_y: "bg"; }
+                               color: 255 0 0 100;
+                       }
+               }
+
+               TL_15_ITEM_L(1, 1, 1)
+               TL_15_ITEM_L(2, 2, 1)
+               TL_15_ITEM_L(3, 3, 1)
+               TL_15_ITEM_L(4, 4, 1)
+               TL_15_ITEM_L(5, 5, 1)
+               TL_15_ITEM_L(6, 1, 2)
+               TL_15_ITEM_L(7, 2, 2)
+               TL_15_ITEM_L(8, 3, 2)
+               TL_15_ITEM_L(9, 4, 2)
+               TL_15_ITEM_L(10, 5, 2)
+               TL_15_ITEM_L(11, 1, 3)
+               TL_15_ITEM_L(12, 2, 3)
+               TL_15_ITEM_L(13, 3, 3)
+               TL_15_ITEM_L(14, 4, 3)
+               TL_15_ITEM_L(15, 5, 3)
+       }
+       programs {
+               TL_15_PGS
+       }
+}
+
+group {
+       name: "elm/gengrid/item/gallery/timeline_page/default";
+
+       data.item: "contents" "elm.swallow.icon";
+
+       parts {
+               part {
+                       name: "bg";
+                       type: RECT;
+                       description {
+                               state: "default" 0.0;
+                               color: 0 0 0 0;
+                               rel1 { relative: 0.0 0.0; offset: 0 0;}
+                               rel2 { relative: 1.0 1.0; offset: 0 0;}
+                       }
+               }
+               part {
+                       name: "icon_bg";
+                       type: RECT;
+                       scale : 1;
+                       description {
+                               state: "default" 0.0;
+                               align: 0.5 0.5;
+                               visible: 0;
+                               color: 0 0 0 0;
+                               rel1 { relative: 0.0 0.0;to:"bg"; }
+                               rel2 { relative: 1.0 1.0;to:"bg"; }
+
+                       }
+               }
+               part {
+                       name: "elm.swallow.icon";
+                       type: SWALLOW;
+                       mouse_events: 1;
+                       description {
+                               state: "default" 0.0;
+                               rel1 { relative: 0.0 0.0; to: "icon_bg"; }
+                               rel2 { relative: 1.0 1.0; to: "icon_bg"; }
+                       }
+               }
+       }
+}
+
+group {
+       name: "naviframe_title";
+       parts {
+               part { name: "title_bg";
+                       type: RECT;
+                       mouse_events: 1;
+                       scale: 0;
+                       description {
+                               state: "default" 0.0;
+                               min: 0 111;
+                               align: 0.0 0.0;
+                               visible: 0;
+                       }
+                       description { state: "hide" 0.0;
+                               inherit: "default" 0.0;
+                               min: 0 0;
+                               max: 0 0;
+                               fixed: 1 1;
+                       }
+               }
+               part { name: "top_left_padding";
+                       type: RECT;
+                       mouse_events: 0;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               min: 16 32;
+                               fixed: 1 1;
+                               align: 0.0 0.0;
+                               rel1 { relative: 0.0 0.0; to: "title_bg"; }
+                               rel2 { relative: 0.0 0.0; to: "title_bg"; }
+                               visible: 0;
+                       }
+                       description { state: "hide" 0.0;
+                               inherit: "default" 0.0;
+                               min: 0 0;
+                               max: 0 0;
+                               fixed: 1 1;
+                       }
+               }
+               part { name: "bottom_right_padding";
+                       type: RECT;
+                       mouse_events: 0;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               min: 16 11;
+                               fixed: 1 1;
+                               align: 1.0 1.0;
+                               rel1 { relative: 1.0 1.0; to: "title_bg"; }
+                               rel2 { relative: 1.0 1.0; to: "title_bg"; }
+                               visible: 0;
+                       }
+                       description { state: "hide" 0.0;
+                               inherit: "default" 0.0;
+                               min: 0 0;
+                               max: 0 0;
+                               fixed: 1 1;
+                       }
+               }
+               part { name: "title";
+                       type: SWALLOW;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               align: 0.0 0.0;
+                               rel1 { relative: 1.0 1.0; to: "top_left_padding"; }
+                               rel2 { relative: 0.0 0.0; to: "bottom_right_padding"; }
+                       }
+                       description { state: "hide" 0.0;
+                               inherit: "default" 0.0;
+                               min: 0 0;
+                               max: 0 0;
+                               fixed: 1 1;
+                       }
+               }
+       }
+       programs {
+               program { name: "title_show";
+                       signal: "elm,state,title,show";
+                       source: "elm";
+                       script {
+                               set_state(PART:"title_bg", "default", 0.0);
+                               set_state(PART:"top_left_padding", "default", 0.0);
+                               set_state(PART:"bottom_right_padding", "default", 0.0);
+                               set_state(PART:"title", "default", 0.0);
+                       }
+               }
+               program { name: "title_hide";
+                       signal: "elm,state,title,hide";
+                       source: "elm";
+                       script {
+                               set_state(PART:"title_bg", "hide", 0.0);
+                               set_state(PART:"top_left_padding", "hide", 0.0);
+                               set_state(PART:"bottom_right_padding", "hide", 0.0);
+                               set_state(PART:"title", "hide", 0.0);
+                       }
+               }
+       }
+}
+
+group {
+       name: "naviframe_title_text";
+       parts {
+               part { name: "title_bg";
+                       type: RECT;
+                       mouse_events: 1;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               min: 126 68;
+                               fixed: 0 1;
+                               visible: 1;
+                               color: 255 0 255 155;
+                       }
+               }
+               part {
+                       name: "text";
+                       type: TEXT;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               visible: 1;
+                               align: 0.0 0.5;
+                               rel1 { relative: 0.0 0.0; to: "title_bg"; }
+                               rel2 { relative: 1.0 1.0; to: "title_bg"; }
+                               color: 0 0 0 255;
+                               text {
+                                       font: "Tizen:style=Medium";
+                                       text_class: "tizen";
+                                       size: 56;
+                                       text: "";
+                                       align: 0.0 0.5;
+                               }
+                       }
+               }
+       }
+}
+
+/* View layout to hold slider */
+group {
+       name: "gallery/timeline";
+
+       parts {
+               TL_BG
+               TL_BG_C
+               TL_TITLE_BG_TOP
+               TL_TITLE_TOP
+               TL_SLIDER_PAD_BOT
+
+               part {
+                       name: "elm.swallow.slider";
+                       type: SWALLOW;
+                       mouse_events: 1;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               rel1 { relative: 0.0 1.0; to_x: "bg"; to_y: "title_bg"; }
+                               rel2 { relative: 1.0 0.0; to_x: "bg"; to_y: "slider_padding_b"; }
+                       }
+               }
+       }
+       programs {
+               program {
+                       name: "swallow_title_show";
+                       signal: "elm,swallow_title,state,show";
+                       source: "elm";
+                       script {
+                               set_state(PART:"title_bg", "default", 0.0);
+                               set_state(PART:"slider_padding_b", "default", 0.0);
+                       }
+               }
+               program {
+                       name: "swallow_slider_hide";
+                       signal: "elm,swallow_title,state,hide";
+                       source: "elm";
+                       script {
+                               set_state(PART:"title_bg", "hide", 0.0);
+                               set_state(PART:"slider_padding_b", "hide", 0.0);
+                       }
+               }
+               program {
+                       name: "title_fade_out";
+                       signal: "elm,action,title,fade_out";
+                       source: "elm";
+                       action: STATE_SET "fade_out" 0.0;
+                       transition: DECELERATE 0.5;
+                       target: "title_clip";
+               }
+               program {
+                       name: "title2_fade_in";
+                       signal: "elm,action,title2,fade_in";
+                       source: "elm";
+                       action: STATE_SET "fade_in" 0.0;
+                       transition: DECELERATE 0.5;
+                       target: "title_clip2";
+               }
+               program {
+                       name: "title2_show";
+                       signal: "elm,state,title2,show,deferred";
+                       source: "elm";
+                       action: STATE_SET "default" 0.0;
+                       target: "title2";
+                       transition: DECELERATE 0.5;
+                       after: "show_finished";
+               }
+               program {
+                       name: "title_hide";
+                       signal: "elm,state,title,hide,deferred";
+                       source: "elm";
+                       action: STATE_SET "top" 0.0;
+                       target: "title";
+                       transition: DECELERATE 0.5;
+                       after: "hide_finished";
+               }
+               program {
+                       name: "title_show";
+                       signal: "elm,state,title,show";
+                       source: "elm";
+                       script {
+                               set_state(PART:"title_clip2", "default", 0.0);
+                               set_state(PART:"title_clip", "default", 0.0);
+                               set_state(PART:"title", "default", 0.0);
+                       }
+               }
+               program {
+                       name: "title2_created";
+                       signal: "elm,state,title2,created";
+                       source: "elm";
+                       script {
+                               set_state(PART:"title_clip2", "bottom", 0.0);
+                               set_state(PART:"title_clip", "top", 0.0);
+                               set_state(PART:"title2", "bottom", 0.0);
+                       }
+               }
+               program { name: "show_finished";
+                       action: SIGNAL_EMIT "elm,action,title2,show,finished" "";
+               }
+               program { name: "hide_finished";
+                       action: SIGNAL_EMIT "elm,action,title,hide,finished" "";
+               }
+       }
+}
+
+group{ name: "timeline_gridview";
+       parts {
+               part { name: "group_date_bg";
+                          type: RECT;
+                          description {
+                                 rel1.relative : 0 0;
+                                 rel2.relative : 1 1;
+                                 min : 0 60;
+                                 max: -1 60;
+                                 align : 0 0;
+                                 color: 255 255 255 255;
+                       }
+               }
+               part { name: "group_date";
+                          type: TEXT;
+                          scale: 1;
+                          description {
+                                 rel1.relative : 0 0;
+                                 rel1.to: "group_date_bg";
+                                 rel2.relative : 1 1;
+                                 rel2.to: "group_date_bg";
+                                 text {
+                                       text: "Select All";
+                                       size: 16;
+                                       align: 0.05 0.8;
+                                 }
+                                 color: 0 0 0 255;
+                       }
+               }
+               part { name: "grid";
+                          type: SWALLOW;
+                          description {
+                                 rel1.relative : 0 1;
+                                 rel1.to : "group_date_bg";
+                                 rel2.relative : 1 1;
+                                 align : 0 0;
+                       }
+               }
+       }
+       script {
+         public message(Msg_Type:type,id, ...)
+         {
+           if((type == MSG_INT) && (id == 2))
+           {
+             new a;
+             new x, y;
+             a = getarg(2);
+             custom_state(PART:"grid","default",0.0);
+             get_state_val(PART:"grid",STATE_MIN,x,y);
+             set_state_val(PART:"grid",STATE_MIN,x,a);
+             get_state_val(PART:"grid",STATE_MAX,x,y);
+             set_state_val(PART:"grid",STATE_MAX,x,a);
+             set_state(PART:"grid","custom",0.0);
+           }
+         }
+       }
+}
+
+group{ name: "timeline_gridview_date_toast";
+       parts {
+               part{
+                       name: "bg";
+                       type: RECT;
+                       mouse_events: 1;
+                       repeat_events: 1;
+                       description {
+                               rel1.relative: 0 0;
+                               rel2.relative: 1 1;
+                               color: 255 255 255 255;
+                       }
+               }
+               part{
+                       name: "bg_left_vertical_line";
+                       type: RECT;
+                       mouse_events: 1;
+                       repeat_events: 1;
+                       description {
+                               rel1.relative: 0 0;
+                               rel2.relative: 0 1;
+                               rel1.to: "bg";
+                               rel2.to: "bg";
+                               min: 2 0;
+                               color: 0 0 255 255;
+                       }
+               }
+               part{
+                       name: "bg_right_vertical_line";
+                       type: RECT;
+                       mouse_events: 1;
+                       repeat_events: 1;
+                       description {
+                               rel1.relative: 1 0;
+                               rel2.relative: 1 1;
+                               rel1.to: "bg";
+                               rel2.to: "bg";
+                               min: 2 0;
+                               align: 0.5 0.5;
+                               color: 0 0 255 255;
+                       }
+               }
+               part{
+                       name: "bg_up_horizontal_line";
+                       type: RECT;
+                       mouse_events: 1;
+                       repeat_events: 1;
+                       description {
+                               rel1.relative: 0 0;
+                               rel2.relative: 1 0;
+                               rel1.to: "bg";
+                               rel2.to: "bg";
+                               min: 0 2;
+                               color: 0 0 255 255;
+                       }
+               }
+               part{
+                       name: "bg_down_horizontal_line";
+                       type: RECT;
+                       mouse_events: 1;
+                       repeat_events: 1;
+                       description {
+                               rel1.relative: 0 1;
+                               rel2.relative: 1 1;
+                               rel1.to: "bg";
+                               rel2.to: "bg";
+                               min: 0 2;
+                               color: 0 0 255 255;
+                       }
+               }
+               part{
+                       name: "text";
+                       type: TEXT;
+                       mouse_events: 1;
+                       repeat_events: 1;
+                       description {
+                               rel1.relative: 0 0;
+                               rel1.to: "bg";
+                               rel2.relative: 1 1;
+                               rel2.to: "bg";
+                               text {
+                                       text: "Day";
+                                       size: 32;
+                                       align: 0.5 0.5;
+                               }
+                               color: 0 0 255 255;
+                       }
+               }
+       }
+}
+
+group{
+       name: "elm/genlist/item/genlist_group_date/default";
+       data.item: "texts" "elm.text";
+       data.item: "contents" "elm.swallow";
+       data.item: "selectraise" "on";
+       data.item: "stacking" "above";
+       parts{
+               part{
+                       name: "bg";
+                       type: RECT;
+                       description{
+                               state: "default" 0.0;
+                               color: 255 255 255 255;
+                               rel1.relative: 0.0 0.0;
+                               rel2.relative: 1.0 1.0;
+                               min: 0 60;
+                               max: -1 200;
+                               visible: 1;
+                       }
+               }
+               part{
+                       name: "elm.text";
+                       type: TEXT;
+                       scale: 1;
+                       description{
+                               state: "default" 0.0;
+                               rel1 { relative: 0.05 0.0; to: "bg"; }
+                               rel2 { relative: 1.0 1.0; to: "bg"; }
+                               color: 0 0 0 255;
+                               text{
+                                       size: 16;
+                                       align: 0.0 0.5;
+                               }
+                       }
+               }
+               part{
+                       name: "elm.swallow";
+                       type: SWALLOW;
+                       description{
+                               state: "default" 0.0;
+                               rel1 { relative: 0.6 0.0; to: "bg"; }
+                               rel2 { relative: 1.0 1.0; to: "bg"; }
+                               align: 0.5 0.5;
+                       }
+               }
+       }
+}
+
+TIME_VIEW_GENLIST_STYLE(content_180, 180)
+TIME_VIEW_GENLIST_STYLE(content_240, 240)
+TIME_VIEW_GENLIST_STYLE(content_90, 90)
+TIME_VIEW_GENLIST_STYLE(content_214, 214)
+TIME_VIEW_GENLIST_STYLE(content_183,183)
+TIME_VIEW_GENLIST_STYLE(content_128, 128)
+TIME_VIEW_GENLIST_STYLE(content_135, 135)
+TIME_VIEW_GENLIST_STYLE(content_68, 68)
+TIME_VIEW_GENLIST_STYLE(content_160, 160)
+TIME_VIEW_GENLIST_STYLE(content_138, 138)
+TIME_VIEW_GENLIST_STYLE(content_96, 96)
+TIME_VIEW_GENLIST_STYLE(content_120, 120)
+TIME_VIEW_GENLIST_STYLE(content_60, 60)
+TIME_VIEW_GENLIST_STYLE(content_134, 134)
+TIME_VIEW_GENLIST_STYLE(content_115, 115)
+TIME_VIEW_GENLIST_STYLE(content_80, 80)
+
+group {
+       name: "timeline";
+       parts {
+               part {
+                               name : "elm.rect";
+                               type: RECT;
+                               description {
+                                       state : "default" 0.0;
+                                       rel1.relative: 0 0;
+                                       rel2.relative: 1 1;
+                                       align : 0 0;
+                                       color : 255 255 255 255;
+                               }
+                       }
+               part {
+                       name : "elm.swallow";
+                       type: SWALLOW;
+                       description {
+                               state : "default" 0.0;
+                               rel1.relative: 0 0;
+                               rel2.relative: 1 1;
+                               align : 0 0;
+                       }
+               }
+       }
+}
\ No newline at end of file
diff --git a/res/black_theme/edc/images/00_EditField_clear.png b/res/black_theme/edc/images/00_EditField_clear.png
new file mode 100755 (executable)
index 0000000..ef5945d
Binary files /dev/null and b/res/black_theme/edc/images/00_EditField_clear.png differ
diff --git a/res/black_theme/edc/images/00_badge_bg.png b/res/black_theme/edc/images/00_badge_bg.png
new file mode 100644 (file)
index 0000000..15d94a4
Binary files /dev/null and b/res/black_theme/edc/images/00_badge_bg.png differ
diff --git a/res/black_theme/edc/images/00_button_icon_arrow.png b/res/black_theme/edc/images/00_button_icon_arrow.png
new file mode 100755 (executable)
index 0000000..22e180b
Binary files /dev/null and b/res/black_theme/edc/images/00_button_icon_arrow.png differ
diff --git a/res/black_theme/edc/images/00_button_icon_arrow_press.png b/res/black_theme/edc/images/00_button_icon_arrow_press.png
new file mode 100755 (executable)
index 0000000..f622c7b
Binary files /dev/null and b/res/black_theme/edc/images/00_button_icon_arrow_press.png differ
diff --git a/res/black_theme/edc/images/00_button_reveal.png b/res/black_theme/edc/images/00_button_reveal.png
new file mode 100755 (executable)
index 0000000..39acc3b
Binary files /dev/null and b/res/black_theme/edc/images/00_button_reveal.png differ
diff --git a/res/black_theme/edc/images/00_button_reveal_press.png b/res/black_theme/edc/images/00_button_reveal_press.png
new file mode 100755 (executable)
index 0000000..06dd866
Binary files /dev/null and b/res/black_theme/edc/images/00_button_reveal_press.png differ
diff --git a/res/black_theme/edc/images/00_check_bg_dim.png b/res/black_theme/edc/images/00_check_bg_dim.png
new file mode 100755 (executable)
index 0000000..d95649c
Binary files /dev/null and b/res/black_theme/edc/images/00_check_bg_dim.png differ
diff --git a/res/black_theme/edc/images/00_circle_thumbnail_bg.png b/res/black_theme/edc/images/00_circle_thumbnail_bg.png
new file mode 100755 (executable)
index 0000000..0bbb035
Binary files /dev/null and b/res/black_theme/edc/images/00_circle_thumbnail_bg.png differ
diff --git a/res/black_theme/edc/images/00_grid_overscrolling_bottom.png b/res/black_theme/edc/images/00_grid_overscrolling_bottom.png
new file mode 100755 (executable)
index 0000000..46bb9b8
Binary files /dev/null and b/res/black_theme/edc/images/00_grid_overscrolling_bottom.png differ
diff --git a/res/black_theme/edc/images/00_grid_overscrolling_left.png b/res/black_theme/edc/images/00_grid_overscrolling_left.png
new file mode 100755 (executable)
index 0000000..2fb5ef5
Binary files /dev/null and b/res/black_theme/edc/images/00_grid_overscrolling_left.png differ
diff --git a/res/black_theme/edc/images/00_grid_overscrolling_right.png b/res/black_theme/edc/images/00_grid_overscrolling_right.png
new file mode 100755 (executable)
index 0000000..6d08148
Binary files /dev/null and b/res/black_theme/edc/images/00_grid_overscrolling_right.png differ
diff --git a/res/black_theme/edc/images/00_grid_overscrolling_top.png b/res/black_theme/edc/images/00_grid_overscrolling_top.png
new file mode 100755 (executable)
index 0000000..d0ba116
Binary files /dev/null and b/res/black_theme/edc/images/00_grid_overscrolling_top.png differ
diff --git a/res/black_theme/edc/images/00_more_popup_press.png b/res/black_theme/edc/images/00_more_popup_press.png
new file mode 100755 (executable)
index 0000000..a1ce14f
Binary files /dev/null and b/res/black_theme/edc/images/00_more_popup_press.png differ
diff --git a/res/black_theme/edc/images/00_overscrolling_left.png b/res/black_theme/edc/images/00_overscrolling_left.png
new file mode 100755 (executable)
index 0000000..b7da1ad
Binary files /dev/null and b/res/black_theme/edc/images/00_overscrolling_left.png differ
diff --git a/res/black_theme/edc/images/00_overscrolling_right.png b/res/black_theme/edc/images/00_overscrolling_right.png
new file mode 100755 (executable)
index 0000000..ce5a939
Binary files /dev/null and b/res/black_theme/edc/images/00_overscrolling_right.png differ
diff --git a/res/black_theme/edc/images/00_overscrolling_top.png b/res/black_theme/edc/images/00_overscrolling_top.png
new file mode 100755 (executable)
index 0000000..940f559
Binary files /dev/null and b/res/black_theme/edc/images/00_overscrolling_top.png differ
diff --git a/res/black_theme/edc/images/00_popup_dropdown_bg.png b/res/black_theme/edc/images/00_popup_dropdown_bg.png
new file mode 100755 (executable)
index 0000000..af28e59
Binary files /dev/null and b/res/black_theme/edc/images/00_popup_dropdown_bg.png differ
diff --git a/res/black_theme/edc/images/00_popup_dropdown_title_bg.png b/res/black_theme/edc/images/00_popup_dropdown_title_bg.png
new file mode 100755 (executable)
index 0000000..a8d29c8
Binary files /dev/null and b/res/black_theme/edc/images/00_popup_dropdown_title_bg.png differ
diff --git a/res/black_theme/edc/images/00_popup_dropdown_title_bg_focus.png b/res/black_theme/edc/images/00_popup_dropdown_title_bg_focus.png
new file mode 100755 (executable)
index 0000000..0570886
Binary files /dev/null and b/res/black_theme/edc/images/00_popup_dropdown_title_bg_focus.png differ
diff --git a/res/black_theme/edc/images/00_popup_dropdown_title_bg_press.png b/res/black_theme/edc/images/00_popup_dropdown_title_bg_press.png
new file mode 100755 (executable)
index 0000000..48f0730
Binary files /dev/null and b/res/black_theme/edc/images/00_popup_dropdown_title_bg_press.png differ
diff --git a/res/black_theme/edc/images/00_popup_overscrolling_bottom.png b/res/black_theme/edc/images/00_popup_overscrolling_bottom.png
new file mode 100755 (executable)
index 0000000..ded48ee
Binary files /dev/null and b/res/black_theme/edc/images/00_popup_overscrolling_bottom.png differ
diff --git a/res/black_theme/edc/images/00_popup_overscrolling_left.png b/res/black_theme/edc/images/00_popup_overscrolling_left.png
new file mode 100755 (executable)
index 0000000..a371da3
Binary files /dev/null and b/res/black_theme/edc/images/00_popup_overscrolling_left.png differ
diff --git a/res/black_theme/edc/images/00_popup_overscrolling_right.png b/res/black_theme/edc/images/00_popup_overscrolling_right.png
new file mode 100755 (executable)
index 0000000..01ec695
Binary files /dev/null and b/res/black_theme/edc/images/00_popup_overscrolling_right.png differ
diff --git a/res/black_theme/edc/images/00_popup_overscrolling_top.png b/res/black_theme/edc/images/00_popup_overscrolling_top.png
new file mode 100755 (executable)
index 0000000..c6e34c6
Binary files /dev/null and b/res/black_theme/edc/images/00_popup_overscrolling_top.png differ
diff --git a/res/black_theme/edc/images/00_popup_scroll.png b/res/black_theme/edc/images/00_popup_scroll.png
new file mode 100755 (executable)
index 0000000..525a7f4
Binary files /dev/null and b/res/black_theme/edc/images/00_popup_scroll.png differ
diff --git a/res/black_theme/edc/images/00_popup_scroll_h.png b/res/black_theme/edc/images/00_popup_scroll_h.png
new file mode 100755 (executable)
index 0000000..af613fb
Binary files /dev/null and b/res/black_theme/edc/images/00_popup_scroll_h.png differ
diff --git a/res/black_theme/edc/images/00_popup_scroll_v.png b/res/black_theme/edc/images/00_popup_scroll_v.png
new file mode 100755 (executable)
index 0000000..c1cbddb
Binary files /dev/null and b/res/black_theme/edc/images/00_popup_scroll_v.png differ
diff --git a/res/black_theme/edc/images/00_scroll_bar.png b/res/black_theme/edc/images/00_scroll_bar.png
new file mode 100755 (executable)
index 0000000..9930bbf
Binary files /dev/null and b/res/black_theme/edc/images/00_scroll_bar.png differ
diff --git a/res/black_theme/edc/images/00_search_edit_field_bg.png b/res/black_theme/edc/images/00_search_edit_field_bg.png
new file mode 100755 (executable)
index 0000000..8424339
Binary files /dev/null and b/res/black_theme/edc/images/00_search_edit_field_bg.png differ
diff --git a/res/black_theme/edc/images/00_search_edit_field_bg_focus.png b/res/black_theme/edc/images/00_search_edit_field_bg_focus.png
new file mode 100755 (executable)
index 0000000..836ae1b
Binary files /dev/null and b/res/black_theme/edc/images/00_search_edit_field_bg_focus.png differ
diff --git a/res/black_theme/edc/images/00_thumbs_bg_focus.png b/res/black_theme/edc/images/00_thumbs_bg_focus.png
new file mode 100755 (executable)
index 0000000..29bfe6a
Binary files /dev/null and b/res/black_theme/edc/images/00_thumbs_bg_focus.png differ
diff --git a/res/black_theme/edc/images/00_title_bg.png b/res/black_theme/edc/images/00_title_bg.png
new file mode 100755 (executable)
index 0000000..51fc782
Binary files /dev/null and b/res/black_theme/edc/images/00_title_bg.png differ
diff --git a/res/black_theme/edc/images/00_winset_list_progress_bg.png b/res/black_theme/edc/images/00_winset_list_progress_bg.png
new file mode 100755 (executable)
index 0000000..5e83560
Binary files /dev/null and b/res/black_theme/edc/images/00_winset_list_progress_bg.png differ
diff --git a/res/black_theme/edc/images/00_winset_title_tabbar_bg.png b/res/black_theme/edc/images/00_winset_title_tabbar_bg.png
new file mode 100755 (executable)
index 0000000..aafefef
Binary files /dev/null and b/res/black_theme/edc/images/00_winset_title_tabbar_bg.png differ
diff --git a/res/black_theme/edc/images/T01_Nocontents_picture.png b/res/black_theme/edc/images/T01_Nocontents_picture.png
new file mode 100755 (executable)
index 0000000..6c52698
Binary files /dev/null and b/res/black_theme/edc/images/T01_Nocontents_picture.png differ
diff --git a/res/black_theme/edc/images/T01_album_edit_check_bg.png b/res/black_theme/edc/images/T01_album_edit_check_bg.png
new file mode 100755 (executable)
index 0000000..efda6ba
Binary files /dev/null and b/res/black_theme/edc/images/T01_album_edit_check_bg.png differ
diff --git a/res/black_theme/edc/images/T01_album_edit_check_off.png b/res/black_theme/edc/images/T01_album_edit_check_off.png
new file mode 100755 (executable)
index 0000000..d2c3348
Binary files /dev/null and b/res/black_theme/edc/images/T01_album_edit_check_off.png differ
diff --git a/res/black_theme/edc/images/T01_album_edit_check_on.png b/res/black_theme/edc/images/T01_album_edit_check_on.png
new file mode 100755 (executable)
index 0000000..c2a6b3c
Binary files /dev/null and b/res/black_theme/edc/images/T01_album_edit_check_on.png differ
diff --git a/res/black_theme/edc/images/T01_album_edit_rename.png b/res/black_theme/edc/images/T01_album_edit_rename.png
new file mode 100755 (executable)
index 0000000..e284ede
Binary files /dev/null and b/res/black_theme/edc/images/T01_album_edit_rename.png differ
diff --git a/res/black_theme/edc/images/T01_album_edit_rename_bg.png b/res/black_theme/edc/images/T01_album_edit_rename_bg.png
new file mode 100755 (executable)
index 0000000..7092ea9
Binary files /dev/null and b/res/black_theme/edc/images/T01_album_edit_rename_bg.png differ
diff --git a/res/black_theme/edc/images/T01_album_edit_rename_bg_press.png b/res/black_theme/edc/images/T01_album_edit_rename_bg_press.png
new file mode 100755 (executable)
index 0000000..9b10315
Binary files /dev/null and b/res/black_theme/edc/images/T01_album_edit_rename_bg_press.png differ
diff --git a/res/black_theme/edc/images/T01_album_edit_rename_press.png b/res/black_theme/edc/images/T01_album_edit_rename_press.png
new file mode 100755 (executable)
index 0000000..e284ede
Binary files /dev/null and b/res/black_theme/edc/images/T01_album_edit_rename_press.png differ
diff --git a/res/black_theme/edc/images/T01_album_folder_bg.png b/res/black_theme/edc/images/T01_album_folder_bg.png
new file mode 100755 (executable)
index 0000000..e6a3852
Binary files /dev/null and b/res/black_theme/edc/images/T01_album_folder_bg.png differ
diff --git a/res/black_theme/edc/images/T01_album_icon_sd_card.png b/res/black_theme/edc/images/T01_album_icon_sd_card.png
new file mode 100755 (executable)
index 0000000..f0803db
Binary files /dev/null and b/res/black_theme/edc/images/T01_album_icon_sd_card.png differ
diff --git a/res/black_theme/edc/images/T01_btn_play.png b/res/black_theme/edc/images/T01_btn_play.png
new file mode 100755 (executable)
index 0000000..0e61ed0
Binary files /dev/null and b/res/black_theme/edc/images/T01_btn_play.png differ
diff --git a/res/black_theme/edc/images/T01_bubble_icon_footsteps.png b/res/black_theme/edc/images/T01_bubble_icon_footsteps.png
new file mode 100755 (executable)
index 0000000..1ef1178
Binary files /dev/null and b/res/black_theme/edc/images/T01_bubble_icon_footsteps.png differ
diff --git a/res/black_theme/edc/images/T01_bubble_icon_gridview.png b/res/black_theme/edc/images/T01_bubble_icon_gridview.png
new file mode 100755 (executable)
index 0000000..a62a49c
Binary files /dev/null and b/res/black_theme/edc/images/T01_bubble_icon_gridview.png differ
diff --git a/res/black_theme/edc/images/T01_button_circle_bg_normal.png b/res/black_theme/edc/images/T01_button_circle_bg_normal.png
new file mode 100755 (executable)
index 0000000..981d624
Binary files /dev/null and b/res/black_theme/edc/images/T01_button_circle_bg_normal.png differ
diff --git a/res/black_theme/edc/images/T01_button_circle_bg_normal_press.png b/res/black_theme/edc/images/T01_button_circle_bg_normal_press.png
new file mode 100755 (executable)
index 0000000..bc5f8b2
Binary files /dev/null and b/res/black_theme/edc/images/T01_button_circle_bg_normal_press.png differ
diff --git a/res/black_theme/edc/images/T01_check.png b/res/black_theme/edc/images/T01_check.png
new file mode 100755 (executable)
index 0000000..d5057e4
Binary files /dev/null and b/res/black_theme/edc/images/T01_check.png differ
diff --git a/res/black_theme/edc/images/T01_checkbox.png b/res/black_theme/edc/images/T01_checkbox.png
new file mode 100755 (executable)
index 0000000..61dc76a
Binary files /dev/null and b/res/black_theme/edc/images/T01_checkbox.png differ
diff --git a/res/black_theme/edc/images/T01_controlbar_icon_slideshow.png b/res/black_theme/edc/images/T01_controlbar_icon_slideshow.png
new file mode 100755 (executable)
index 0000000..79c2ebd
Binary files /dev/null and b/res/black_theme/edc/images/T01_controlbar_icon_slideshow.png differ
diff --git a/res/black_theme/edc/images/T01_editl_effect.png b/res/black_theme/edc/images/T01_editl_effect.png
new file mode 100755 (executable)
index 0000000..d7d468c
Binary files /dev/null and b/res/black_theme/edc/images/T01_editl_effect.png differ
diff --git a/res/black_theme/edc/images/T01_gallery_album_progress_bar.png b/res/black_theme/edc/images/T01_gallery_album_progress_bar.png
new file mode 100755 (executable)
index 0000000..cc9c1bc
Binary files /dev/null and b/res/black_theme/edc/images/T01_gallery_album_progress_bar.png differ
diff --git a/res/black_theme/edc/images/T01_icon_back.png b/res/black_theme/edc/images/T01_icon_back.png
new file mode 100644 (file)
index 0000000..f8e4d01
Binary files /dev/null and b/res/black_theme/edc/images/T01_icon_back.png differ
diff --git a/res/black_theme/edc/images/T01_nocontents_videos.png b/res/black_theme/edc/images/T01_nocontents_videos.png
new file mode 100755 (executable)
index 0000000..105566b
Binary files /dev/null and b/res/black_theme/edc/images/T01_nocontents_videos.png differ
diff --git a/res/black_theme/edc/images/T01_thumbs_bustshot_bg.png b/res/black_theme/edc/images/T01_thumbs_bustshot_bg.png
new file mode 100755 (executable)
index 0000000..5241376
Binary files /dev/null and b/res/black_theme/edc/images/T01_thumbs_bustshot_bg.png differ
diff --git a/res/black_theme/edc/images/T01_video_play.png b/res/black_theme/edc/images/T01_video_play.png
new file mode 100755 (executable)
index 0000000..cff1c74
Binary files /dev/null and b/res/black_theme/edc/images/T01_video_play.png differ
diff --git a/res/black_theme/edc/images/core_pattern_empty_bg.png b/res/black_theme/edc/images/core_pattern_empty_bg.png
new file mode 100755 (executable)
index 0000000..fff3c00
Binary files /dev/null and b/res/black_theme/edc/images/core_pattern_empty_bg.png differ
diff --git a/res/black_theme/edc/images/core_pattern_empty_bg_h.png b/res/black_theme/edc/images/core_pattern_empty_bg_h.png
new file mode 100755 (executable)
index 0000000..e2888da
Binary files /dev/null and b/res/black_theme/edc/images/core_pattern_empty_bg_h.png differ
diff --git a/res/black_theme/edc/images/gallery_icon_container.png b/res/black_theme/edc/images/gallery_icon_container.png
new file mode 100644 (file)
index 0000000..779e83c
Binary files /dev/null and b/res/black_theme/edc/images/gallery_icon_container.png differ
diff --git a/res/black_theme/edc/images/gallery_icon_full.png b/res/black_theme/edc/images/gallery_icon_full.png
new file mode 100644 (file)
index 0000000..f7d5842
Binary files /dev/null and b/res/black_theme/edc/images/gallery_icon_full.png differ
diff --git a/res/black_theme/edc/sounds/S_Touch_30ms.wav b/res/black_theme/edc/sounds/S_Touch_30ms.wav
new file mode 100755 (executable)
index 0000000..99ba74d
Binary files /dev/null and b/res/black_theme/edc/sounds/S_Touch_30ms.wav differ
diff --git a/res/black_theme/edc/sounds/button-pressed.wav b/res/black_theme/edc/sounds/button-pressed.wav
new file mode 100755 (executable)
index 0000000..99ba74d
Binary files /dev/null and b/res/black_theme/edc/sounds/button-pressed.wav differ
diff --git a/res/black_theme/images/Contents_broken_351X261.png b/res/black_theme/images/Contents_broken_351X261.png
new file mode 100755 (executable)
index 0000000..033ce0f
Binary files /dev/null and b/res/black_theme/images/Contents_broken_351X261.png differ
diff --git a/res/black_theme/images/No_thumbnail_351X261.png b/res/black_theme/images/No_thumbnail_351X261.png
new file mode 100755 (executable)
index 0000000..f16aaf2
Binary files /dev/null and b/res/black_theme/images/No_thumbnail_351X261.png differ
diff --git a/res/black_theme/images/T01_btn_play.png b/res/black_theme/images/T01_btn_play.png
new file mode 100755 (executable)
index 0000000..b25d19c
Binary files /dev/null and b/res/black_theme/images/T01_btn_play.png differ
diff --git a/res/black_theme/images_edc/T01_album_icon_camera.png b/res/black_theme/images_edc/T01_album_icon_camera.png
new file mode 100755 (executable)
index 0000000..9308c1a
Binary files /dev/null and b/res/black_theme/images_edc/T01_album_icon_camera.png differ
diff --git a/res/black_theme/images_edc/T01_album_icon_download.png b/res/black_theme/images_edc/T01_album_icon_download.png
new file mode 100755 (executable)
index 0000000..f16ecc1
Binary files /dev/null and b/res/black_theme/images_edc/T01_album_icon_download.png differ
diff --git a/res/black_theme/images_edc/T01_album_icon_folder.png b/res/black_theme/images_edc/T01_album_icon_folder.png
new file mode 100755 (executable)
index 0000000..a301f42
Binary files /dev/null and b/res/black_theme/images_edc/T01_album_icon_folder.png differ
diff --git a/res/black_theme/images_edc/T01_album_icon_sd_card.png b/res/black_theme/images_edc/T01_album_icon_sd_card.png
new file mode 100755 (executable)
index 0000000..f0803db
Binary files /dev/null and b/res/black_theme/images_edc/T01_album_icon_sd_card.png differ
diff --git a/res/black_theme/images_edc/T01_btn_thumbnail_play.png b/res/black_theme/images_edc/T01_btn_thumbnail_play.png
new file mode 100755 (executable)
index 0000000..2ea3599
Binary files /dev/null and b/res/black_theme/images_edc/T01_btn_thumbnail_play.png differ
diff --git a/res/black_theme/images_edc/T01_icon_add_folder.png b/res/black_theme/images_edc/T01_icon_add_folder.png
new file mode 100755 (executable)
index 0000000..a7177ea
Binary files /dev/null and b/res/black_theme/images_edc/T01_icon_add_folder.png differ
diff --git a/res/black_theme/images_edc/T01_icon_back.png b/res/black_theme/images_edc/T01_icon_back.png
new file mode 100644 (file)
index 0000000..f8e4d01
Binary files /dev/null and b/res/black_theme/images_edc/T01_icon_back.png differ
diff --git a/res/black_theme/images_edc/T01_icon_bustshot_45x45.PNG b/res/black_theme/images_edc/T01_icon_bustshot_45x45.PNG
new file mode 100755 (executable)
index 0000000..99516df
Binary files /dev/null and b/res/black_theme/images_edc/T01_icon_bustshot_45x45.PNG differ
diff --git a/res/black_theme/images_edc/T01_icon_camera_all.png b/res/black_theme/images_edc/T01_icon_camera_all.png
new file mode 100755 (executable)
index 0000000..4e830cd
Binary files /dev/null and b/res/black_theme/images_edc/T01_icon_camera_all.png differ
diff --git a/res/black_theme/images_edc/T01_icon_lock.png b/res/black_theme/images_edc/T01_icon_lock.png
new file mode 100755 (executable)
index 0000000..44c98da
Binary files /dev/null and b/res/black_theme/images_edc/T01_icon_lock.png differ
diff --git a/res/black_theme/images_edc/T01_icon_panorama.png b/res/black_theme/images_edc/T01_icon_panorama.png
new file mode 100755 (executable)
index 0000000..6aeb9c2
Binary files /dev/null and b/res/black_theme/images_edc/T01_icon_panorama.png differ
diff --git a/res/black_theme/images_edc/T01_icon_share.png b/res/black_theme/images_edc/T01_icon_share.png
new file mode 100755 (executable)
index 0000000..fdc6fa1
Binary files /dev/null and b/res/black_theme/images_edc/T01_icon_share.png differ
diff --git a/res/black_theme/images_edc/T01_icon_sound_shot.png b/res/black_theme/images_edc/T01_icon_sound_shot.png
new file mode 100755 (executable)
index 0000000..98f090f
Binary files /dev/null and b/res/black_theme/images_edc/T01_icon_sound_shot.png differ
diff --git a/res/black_theme/images_edc/T01_icon_thumbnail_bookmark.png b/res/black_theme/images_edc/T01_icon_thumbnail_bookmark.png
new file mode 100755 (executable)
index 0000000..bdb690a
Binary files /dev/null and b/res/black_theme/images_edc/T01_icon_thumbnail_bookmark.png differ
diff --git a/res/black_theme/images_edc/T01_nocontents_videos.png b/res/black_theme/images_edc/T01_nocontents_videos.png
new file mode 100755 (executable)
index 0000000..d8393dd
Binary files /dev/null and b/res/black_theme/images_edc/T01_nocontents_videos.png differ
diff --git a/res/black_theme/images_edc/T01_popup_copy.png b/res/black_theme/images_edc/T01_popup_copy.png
new file mode 100755 (executable)
index 0000000..dd6ce8e
Binary files /dev/null and b/res/black_theme/images_edc/T01_popup_copy.png differ
diff --git a/res/black_theme/images_edc/T01_popup_icon_delete.png b/res/black_theme/images_edc/T01_popup_icon_delete.png
new file mode 100755 (executable)
index 0000000..4735e21
Binary files /dev/null and b/res/black_theme/images_edc/T01_popup_icon_delete.png differ
diff --git a/res/black_theme/images_edc/T01_popup_icon_done.png b/res/black_theme/images_edc/T01_popup_icon_done.png
new file mode 100755 (executable)
index 0000000..fc2c110
Binary files /dev/null and b/res/black_theme/images_edc/T01_popup_icon_done.png differ
diff --git a/res/black_theme/images_edc/T01_popup_icon_edit.png b/res/black_theme/images_edc/T01_popup_icon_edit.png
new file mode 100755 (executable)
index 0000000..6899240
Binary files /dev/null and b/res/black_theme/images_edc/T01_popup_icon_edit.png differ
diff --git a/res/black_theme/images_edc/T01_popup_icon_new_album.png b/res/black_theme/images_edc/T01_popup_icon_new_album.png
new file mode 100755 (executable)
index 0000000..b6de815
Binary files /dev/null and b/res/black_theme/images_edc/T01_popup_icon_new_album.png differ
diff --git a/res/black_theme/images_edc/T01_popup_icon_rename.png b/res/black_theme/images_edc/T01_popup_icon_rename.png
new file mode 100755 (executable)
index 0000000..b0d230e
Binary files /dev/null and b/res/black_theme/images_edc/T01_popup_icon_rename.png differ
diff --git a/res/black_theme/images_edc/T01_popup_icon_rotate_left.png b/res/black_theme/images_edc/T01_popup_icon_rotate_left.png
new file mode 100755 (executable)
index 0000000..7d95047
Binary files /dev/null and b/res/black_theme/images_edc/T01_popup_icon_rotate_left.png differ
diff --git a/res/black_theme/images_edc/T01_popup_icon_rotate_right.png b/res/black_theme/images_edc/T01_popup_icon_rotate_right.png
new file mode 100755 (executable)
index 0000000..5bb59c8
Binary files /dev/null and b/res/black_theme/images_edc/T01_popup_icon_rotate_right.png differ
diff --git a/res/black_theme/images_edc/T01_popup_icon_slideshow.png b/res/black_theme/images_edc/T01_popup_icon_slideshow.png
new file mode 100755 (executable)
index 0000000..acd73c2
Binary files /dev/null and b/res/black_theme/images_edc/T01_popup_icon_slideshow.png differ
diff --git a/res/black_theme/images_edc/T01_popup_move.png b/res/black_theme/images_edc/T01_popup_move.png
new file mode 100755 (executable)
index 0000000..ff71d38
Binary files /dev/null and b/res/black_theme/images_edc/T01_popup_move.png differ
diff --git a/res/black_theme/images_edc/T01_title_icon_select_all.png b/res/black_theme/images_edc/T01_title_icon_select_all.png
new file mode 100755 (executable)
index 0000000..e4699d2
Binary files /dev/null and b/res/black_theme/images_edc/T01_title_icon_select_all.png differ
diff --git a/res/black_theme/images_edc/T02_popup_icon_edit_image.png b/res/black_theme/images_edc/T02_popup_icon_edit_image.png
new file mode 100755 (executable)
index 0000000..1bbddbc
Binary files /dev/null and b/res/black_theme/images_edc/T02_popup_icon_edit_image.png differ
diff --git a/res/black_theme/images_edc/T02_popup_icon_settings.png b/res/black_theme/images_edc/T02_popup_icon_settings.png
new file mode 100755 (executable)
index 0000000..e817b21
Binary files /dev/null and b/res/black_theme/images_edc/T02_popup_icon_settings.png differ
diff --git a/res/black_theme/images_edc/gallery_list_icon_folder.png b/res/black_theme/images_edc/gallery_list_icon_folder.png
new file mode 100644 (file)
index 0000000..cce3646
Binary files /dev/null and b/res/black_theme/images_edc/gallery_list_icon_folder.png differ
diff --git a/res/black_theme/images_edc/gallery_list_icon_my_files_sd_card.png b/res/black_theme/images_edc/gallery_list_icon_my_files_sd_card.png
new file mode 100644 (file)
index 0000000..85df50a
Binary files /dev/null and b/res/black_theme/images_edc/gallery_list_icon_my_files_sd_card.png differ
diff --git a/res/black_theme/images_edc/gl-images.edc b/res/black_theme/images_edc/gl-images.edc
new file mode 100644 (file)
index 0000000..31ac001
--- /dev/null
@@ -0,0 +1,85 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+
+ #define RESOURCE_IMAGE( FILE_NAME ) \
+   group { \
+      name: FILE_NAME; \
+      images.image: FILE_NAME COMP; \
+      parts { \
+         part { name: "image"; \
+            description { \
+               state: "default" 0.0; \
+               image.normal: FILE_NAME; \
+               aspect: 1 1; \
+               aspect_preference: BOTH; \
+            } \
+         } \
+      } \
+   }
+
+#define RESOURCE_IMAGE_LOSSY( FILE_NAME ) \
+   group { \
+      name: FILE_NAME; \
+      images.image: FILE_NAME LOSSY 85; \
+      parts { \
+         part { name: "image"; \
+            description { \
+               state: "default" 0.0; \
+               image.normal: FILE_NAME; \
+               aspect: 1 1; \
+               aspect_preference: BOTH; \
+            } \
+         } \
+      } \
+   }
+
+collections {
+       RESOURCE_IMAGE("T01_icon_lock.png");
+       RESOURCE_IMAGE("T01_album_icon_camera.png");
+       RESOURCE_IMAGE("T01_album_icon_download.png");
+       RESOURCE_IMAGE("T01_album_icon_folder.png");
+       RESOURCE_IMAGE("T01_album_icon_sd_card.png");
+       RESOURCE_IMAGE("T01_icon_camera_all.png");
+       RESOURCE_IMAGE("T01_icon_add_folder.png");
+       RESOURCE_IMAGE("T01_title_icon_select_all.png");
+       RESOURCE_IMAGE("T01_btn_thumbnail_play.png");
+       RESOURCE_IMAGE("T01_icon_thumbnail_bookmark.png");
+
+       RESOURCE_IMAGE("T01_icon_sound_shot.png");
+       RESOURCE_IMAGE("T01_icon_panorama.png");
+       RESOURCE_IMAGE("T01_icon_bustshot_45x45.PNG");
+
+       RESOURCE_IMAGE("T01_popup_icon_new_album.png");
+       RESOURCE_IMAGE("T01_popup_icon_slideshow.png");
+       RESOURCE_IMAGE("T01_icon_share.png");
+       RESOURCE_IMAGE("T01_popup_copy.png");
+       RESOURCE_IMAGE("T01_popup_move.png");
+       RESOURCE_IMAGE("T02_popup_icon_edit_image.png");
+       RESOURCE_IMAGE("T02_popup_icon_settings.png");
+       RESOURCE_IMAGE("T01_popup_icon_rotate_right.png");
+       RESOURCE_IMAGE("T01_popup_icon_rotate_left.png");
+       RESOURCE_IMAGE("T01_popup_icon_edit.png");
+       RESOURCE_IMAGE("T01_popup_icon_delete.png");
+       RESOURCE_IMAGE("T01_popup_icon_done.png");
+       RESOURCE_IMAGE("T01_popup_icon_rename.png");
+       RESOURCE_IMAGE("T01_nocontents_videos.png");
+       RESOURCE_IMAGE("T01_icon_back.png");
+       RESOURCE_IMAGE("gallery_list_icon_folder.png");
+       RESOURCE_IMAGE("gallery_list_icon_my_files_sd_card.png");
+}
+
diff --git a/res/gallery.uri b/res/gallery.uri
new file mode 100755 (executable)
index 0000000..721d80e
--- /dev/null
@@ -0,0 +1,2 @@
+(^( )*gallery:)([a-zA-Z0-9]+)
+Gallery Album Shortcut Internal
diff --git a/res/icon/org.tizen.gallery.png b/res/icon/org.tizen.gallery.png
new file mode 100644 (file)
index 0000000..8be71c8
Binary files /dev/null and b/res/icon/org.tizen.gallery.png differ
diff --git a/res/po/CMakeLists.txt b/res/po/CMakeLists.txt
new file mode 100755 (executable)
index 0000000..e444a07
--- /dev/null
@@ -0,0 +1,28 @@
+# for i18n
+
+
+
+
+#SET(POFILES bn.po en.po en_US.po gu.po hi.po kn.po ko_KR.po ml.po mr.po or.po pa.po si.po ta.po te.po)
+
+SET(POFILES ar.po az.po bg.po ca.po cs.po da.po de.po el_GR.po en_PH.po en.po en_US.po es_ES.po es_US.po et.po eu.po fi.po fr_CA.po fr.po ga.po gl.po hi.po hr.po hu.po hy.po is.po it_IT.po ja_JP.po ka.po kk.po ko_KR.po lt.po lv.po mk.po nb.po nl.po pl.po pt_BR.po pt_PT.po ro.po ru_RU.po sk.po sl.po sr.po sv.po tr_TR.po uk.po uz.po zh_CN.po zh_HK.po zh_TW.po)
+
+SET(MSGFMT "/usr/bin/msgfmt")
+
+FOREACH(pofile ${POFILES})
+       SET(pofile ${CMAKE_CURRENT_SOURCE_DIR}/${pofile})
+       MESSAGE("PO: ${pofile}")
+       GET_FILENAME_COMPONENT(absPofile ${pofile} ABSOLUTE)
+       GET_FILENAME_COMPONENT(lang ${absPofile} NAME_WE)
+       SET(moFile ${CMAKE_CURRENT_BINARY_DIR}/${lang}.mo)
+       ADD_CUSTOM_COMMAND(
+                       OUTPUT ${moFile}
+                       COMMAND ${MSGFMT} -o ${moFile} ${absPofile}
+                       DEPENDS ${absPofile}
+       )
+       INSTALL(FILES ${moFile} DESTINATION res/locale/${lang}/LC_MESSAGES RENAME ${PROJECT_NAME}.mo)
+       SET(moFiles ${moFiles} ${moFile})
+ENDFOREACH(pofile)
+
+MESSAGE(".mo files: ${moFiles}")
+ADD_CUSTOM_TARGET(po ALL DEPENDS ${moFiles})
diff --git a/res/po/POTFILES.in b/res/po/POTFILES.in
new file mode 100755 (executable)
index 0000000..e8ad1de
--- /dev/null
@@ -0,0 +1,28 @@
+# List of source files containing translatable strings.
+../src/gallery.c
+../src/features/gl-albums.c
+../src/features/gl-gridview.c
+../src/features/gl-listview.c
+../src/features/gl-places-footsteps.c
+../src/features/gl-places.c
+../src/features/gl-tags.c
+../src/features/gl-webalbum.c
+../src/widget/gl-button.c
+../src/widget/gl-controlbar.c
+../src/widget/gl-nocontents.c
+../src/widget/gl-popup.c
+../src/widget/gl-progressbar.c
+../src/util/gl-2d-util.c
+../src/util/gl-allshare-util.c
+../src/util/gl-db-handler.c
+../src/util/gl-debug.c
+../src/util/gl-ext-exec.c
+../src/util/gl-ext-ug-load.c
+../src/util/gl-net-if.c
+../src/util/gl-ptp-util.c
+../src/util/gl-share-login.c
+../src/util/gl-sns-util.c
+../src/util/gl-ta.c
+../src/util/gl-thread-util.c
+../src/util/gl-ui-util.c
+../src/util/gl-util.c
diff --git a/res/po/ar.po b/res/po/ar.po
new file mode 100644 (file)
index 0000000..e0f0af3
--- /dev/null
@@ -0,0 +1,759 @@
+msgid "IDS_MF_POP_YOUR_DEVICE_IS_NOT_CONNECTED_TO_A_WI_FI_NETWORK_CONNECTING_TO_A_MOBILE_NETWORK_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "جهازك غير متصل بشبكة Wi-Fi. قد يترتب على الاتصال بشبكة هاتف محمول فرض تكاليف إضافية وفقا لخطة الدفع."
+
+msgid "IDS_VIDEO_TPOP_MOBILE_DATA_TURNED_OFF_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_TURN_ON_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "تم إيقاف تشغيل بيانات الهاتف المحمول. بدلاً من ذلك، اتصل بشبكة Wi-Fi، أو شغّل بيانات الهاتف المحمول وحاول مرة أخرى."
+
+msgid "IDS_VIDEO_BODY_AFTER_YOU_RECORD_VIDEOS_USING_THE_CAMERA_THEY_WILL_BE_SHOWN_HERE"
+msgstr "سيتم عرض مقاطع فيديو التي تم تسجيلها باستخدام الكاميرا هنا."
+
+msgid "IDS_VIDEO_TPOP_FILE_NAME_ALREADY_IN_USE"
+msgstr "اسم الملف مستخدم بالفعل"
+
+msgid "IDS_MF_POP_DELETE_PD_ITEMS_Q"
+msgstr "هل تريد حذف %d عنصر (عناصر)؟"
+
+msgid "IDS_ST_HEADER_PRIVACY"
+msgstr "الخصوصية"
+
+msgid "IDS_COM_BODY_SEP_ABB"
+msgstr "سبت"
+
+msgid "IDS_COM_BODY_OCT_ABB"
+msgstr "أكت"
+
+msgid "IDS_COM_BODY_NOV_ABB"
+msgstr "نوف"
+
+msgid "IDS_COM_BODY_MAY_ABB"
+msgstr "مايو"
+
+msgid "IDS_COM_BODY_MAR_ABB"
+msgstr "مار"
+
+msgid "IDS_COM_BODY_JUN_ABB"
+msgstr "يون"
+
+msgid "IDS_COM_BODY_JUL_ABB"
+msgstr "يول"
+
+msgid "IDS_COM_BODY_JAN_ABB"
+msgstr "ينا"
+
+msgid "IDS_COM_BODY_FEB_ABB"
+msgstr "٠‎٢‎"
+
+msgid "IDS_COM_BODY_DEC_ABB"
+msgstr "ديس"
+
+msgid "IDS_COM_BODY_AUG_ABB"
+msgstr "أغس"
+
+msgid "IDS_COM_BODY_APR_ABB"
+msgstr "إبر"
+
+msgid "IDS_GALLERY_HEADER_ALBUM"
+msgstr "الألبوم"
+
+msgid "IDS_MEDIABR_OPT_MORE"
+msgstr "المزيد"
+
+msgid "IDS_MEDIABR_POP_INVALID_INPUT_PARAMETER"
+msgstr "متغير إدخال غير صحيح."
+
+msgid "IDS_MEDIABR_POP_ENTRY_IS_EMPTY"
+msgstr "المدخل خالي."
+
+msgid "IDS_MEDIABR_POP_SAME_NAME_ALREADY_IN_USE"
+msgstr "تم استخدام نفس الاسم مسبقا."
+
+msgid "IDS_MEDIABR_POP_UNABLE_TO_RENAME"
+msgstr "يتعذر تغيير الاسم. جاري استخدام الملف."
+
+msgid "IDS_MEDIABR_POP_NO_ALBUMS_SELECTED"
+msgstr "لا توجد ألبومات محددة."
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ITEM"
+msgstr "اختيار عنصر"
+
+msgid "IDS_MEDIABR_BODY_NO_ALBUMS"
+msgstr "لا توجد ألبومات"
+
+msgid "IDS_MEDIABR_POP_CREATE_FOLDER_Q"
+msgstr "إنشاء مجلد؟"
+
+msgid "IDS_MEDIABR_POP_RETRY_Q"
+msgstr "هل تريد إعادة المحاولة؟"
+
+msgid "IDS_MEDIABR_POPUP_REMOVE_Q"
+msgstr "حذف؟"
+
+msgid "IDS_MEDIABR_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "سيتم حذف %d ألبومات"
+
+msgid "IDS_MEDIABR_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "سيتم حذف ألبوم واحد"
+
+msgid "IDS_MEDIABR_BODY_CAMERA"
+msgstr "الكاميرا"
+
+msgid "IDS_MEDIABR_BUTTON_START"
+msgstr "بدء"
+
+msgid "IDS_MEDIABR_OPT_SETTINGS"
+msgstr "الضبط"
+
+msgid "IDS_MEDIABR_OPT_YES"
+msgstr "نعم"
+
+msgid "IDS_MEDIABR_OPT_NO"
+msgstr "لا"
+
+msgid "IDS_MEDIABR_BUTTON_OK"
+msgstr "موافق"
+
+msgid "IDS_MEDIABR_BUTTON_SAVE"
+msgstr "حفظ"
+
+msgid "IDS_MEDIABR_POP_DELETE_Q"
+msgstr "مسح؟"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_ALBUM"
+msgstr "انتقال إلى الألبوم"
+
+msgid "IDS_GALLERY_OPT_COPY_TO_ALBUM"
+msgstr "نسخ إلى ألبوم"
+
+msgid "IDS_GALLERY_HEADER_VIEW_BY_ABB"
+msgstr "عرض حسب"
+
+msgid "IDS_GALLERY_HEADER_ENTER_NAME"
+msgstr "أدخل الاسم"
+
+msgid "IDS_MEDIABR_POP_ALL_DATA_RELATED_TO_THIS_ACCOUNT_WILL_BE_DELETED_CONTINUE_Q"
+msgstr "سيتم حذف جميع البيانات المتعلقة بهذا الحساب. متابعة؟"
+
+msgid "IDS_MEDIABR_BUTTON_CANCEL_ABB"
+msgstr "إلغاء"
+
+msgid "IDS_MEDIABR_TAB4_NEW_ALBUM"
+msgstr "ألبوم جديد"
+
+msgid "IDS_MEDIABR_POP_DO_YOU_WANT_TO_COPY_OR_MOVE_THE_PICTURES_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "هل تريد نسخ الصور أو نقلها من الألبوم الأصلي؟"
+
+msgid "IDS_MEDIABR_OPT_SHARE"
+msgstr "مشاركة"
+
+msgid "IDS_MEDIABR_OPT_SLIDESHOW"
+msgstr "عرض الشرائح"
+
+msgid "IDS_MEDIABR_OPT_START_SLIDESHOW"
+msgstr "بدء عرض الشرائح"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS"
+msgstr "إعدادات عرض الشرائح"
+
+msgid "IDS_MEDIABR_POP_NO_NAME"
+msgstr "لا يوجد اسم"
+
+msgid "IDS_MEDIABR_BODY_ALL_ALBUMS"
+msgstr "كافة الألبومات"
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ALBUM"
+msgstr "تحديد ألبوم‬"
+
+msgid "IDS_MEDIABR_POP_1_ITEM_WILL_BE_DELETED"
+msgstr "سيتم حذف عنصر واحد."
+
+msgid "IDS_MEDIABR_OPT_ALL_ITEMS"
+msgstr "جميع العناصر"
+
+msgid "IDS_MEDIABR_BODY_PD_ITEMS"
+msgstr "%d عناصر"
+
+msgid "IDS_IV_BODY_THERE_IS_ONLY_ONE_ALBUM"
+msgstr "يوجد ألبوم واحد فقط."
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "يمكنك تحديد ما يصل إلى %d عناصر."
+
+msgid "IDS_MF_BODY_DOWNLOADS"
+msgstr "ملفات محملة"
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "مسح؟"
+
+msgid "IDS_MF_SK_MOVE"
+msgstr "نقل"
+
+msgid "IDS_MF_POP_DELETING_ING"
+msgstr "جاري المسح..."
+
+msgid "IDS_CAM_BODY_OPERATION_FAILED"
+msgstr "فشلت العملية."
+
+msgid "IDS_MSG_BODY_CANCELLED_M_CONTENT"
+msgstr "تم الإلغاء"
+
+msgid "IDS_MF_OPT_DELETE_SELECTED"
+msgstr "محدد"
+
+msgid "IDS_MF_POP_MOVED"
+msgstr "تم النقل."
+
+msgid "IDS_MF_POP_COPIED"
+msgstr "تم النسخ."
+
+msgid "IDS_VPL_POP_NO_FILES_SELECTED"
+msgstr "لم يتم تحديد ملفات."
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "إغلاق"
+
+msgid "IDS_MF_OPT_SORT_BY_ABB"
+msgstr "فرز حسب"
+
+msgid "IDS_CAM_POP_LATEST"
+msgstr "الأحدث"
+
+msgid "IDS_MEDIABR_POP_OLDEST_M_DATE"
+msgstr "الأقدم"
+
+msgid "IDS_MSG_BUTTON2_CREATE"
+msgstr "إنشاء"
+
+msgid "IDS_MEDIABR_POP_NO_ITEMS"
+msgstr "لا توجد عناصر"
+
+msgid "IDS_MEDIABR_OPT_EDIT_IMAGE"
+msgstr "تعديل صورة"
+
+msgid "IDS_MEDIABR_BODY_SELECT_PICTURE"
+msgstr "تحديد صورة"
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ITEM_Q"
+msgstr "هل تريد حذف هذا العنصر؟"
+
+msgid "IDS_GALLERY_OPT_SCENERY"
+msgstr "مشهد"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PRIVATE"
+msgstr "إزالة من الخاص"
+
+msgid "IDS_GALLERY_OPT_PETS"
+msgstr "حيوانات أليفة"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_PRIVATE"
+msgstr "نقل إلى الخاص"
+
+msgid "IDS_GALLERY_OPT_FOOD"
+msgstr "أطعمة"
+
+msgid "IDS_GALLERY_OPT_FLOWERS"
+msgstr "زهور"
+
+msgid "IDS_GALLERY_OPT_DOCUMENTS"
+msgstr "المستندات"
+
+msgid "IDS_GALLERY_MBODY_VEHICLES"
+msgstr "مركبات"
+
+msgid "IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED"
+msgstr "تم بلوغ أقصى عدد من الأحرف (%d)."
+
+msgid "IDS_IV_BODY_UNABLE_TO_LOAD_PHOTO_ABB"
+msgstr "يتعذر تحميل الصورة."
+
+msgid "IDS_IV_BODY_SHARE_VIA"
+msgstr "مشاركة عبر"
+
+msgid "IDS_IV_BODY_DONT_ASK_AGAIN"
+msgstr "عدم السؤال مرة أخرى"
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "تم الوصول إلى أقصى عدد من الحروف."
+
+msgid "IDS_GALLERY_HEADER_TIME"
+msgstr "التوقيت"
+
+msgid "IDS_EMAIL_BODY_FAILED_M_STATUS"
+msgstr "فشل"
+
+msgid "IDS_EMAIL_BODY_DELETED"
+msgstr "تم المسح."
+
+msgid "IDS_EMAIL_POP_DELETE_Q"
+msgstr "مسح؟"
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "جاري الحذف..."
+
+msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS"
+msgstr "إظهار %d عناصر"
+
+msgid "IDS_GALLERY_OPT_CREATE_ALBUM"
+msgstr "إنشاء ألبوم"
+
+msgid "IDS_GALLERY_OPT_GALLERY_ABB"
+msgstr "الاستوديو‬"
+
+msgid "IDS_EMAIL_BUTTON_MORE"
+msgstr "المزيد"
+
+msgid "IDS_EMAIL_OPT_ACCOUNTS"
+msgstr "حسابات"
+
+msgid "IDS_EMAIL_POP_OPERATION_FAILED"
+msgstr "فشلت العملية."
+
+msgid "IDS_GALLERY_BODY_DOWNLOAD"
+msgstr "تنزيل"
+
+msgid "IDS_GALLERY_BODY_SEARCH"
+msgstr "بحث"
+
+msgid "IDS_GALLERY_BUTTON_BACK"
+msgstr "رجوع"
+
+msgid "IDS_GALLERY_BUTTON_CAMERA"
+msgstr "الكاميرا"
+
+msgid "IDS_GALLERY_HEADER_ALL"
+msgstr "الكل"
+
+msgid "IDS_GALLERY_OPT_REFRESH"
+msgstr "تحديث"
+
+msgid "IDS_GALLERY_OPT_REMOVE"
+msgstr "حذف"
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_DROPBOX_ITEMS_WILL_BE_SHOWN"
+msgstr "بعد تحميل الصور إلى Dropbox، يتم عرض العناصر."
+
+msgid "IDS_KEEPIT_BODY_GROUP_PLAY_ABB"
+msgstr "التشغيل الجماعي"
+
+msgid "IDS_MEDIABR_HEADER_CONTACTS"
+msgstr "جهات الاتصال"
+
+msgid "IDS_MEDIABR_OPT_CREATE"
+msgstr "إنشاء"
+
+msgid "IDS_MEDIABR_OPT_DETAILS"
+msgstr "التفاصيل"
+
+msgid "IDS_MEDIABR_OPT_PRINT"
+msgstr "طباعة"
+
+msgid "IDS_MEDIABR_OPT_RENAME"
+msgstr "تغيير الاسم"
+
+msgid "IDS_MEDIABR_POP_DOWNLOADED"
+msgstr "تم التنزيل."
+
+msgid "IDS_MEDIABR_POP_DOWNLOADING_ING"
+msgstr "جاري التنزيل..."
+
+msgid "IDS_MF_HEADER_ENTER_NAME"
+msgstr "أدخل الاسم."
+
+msgid "IDS_MF_HEADER_MYFILES"
+msgstr "ملفاتي"
+
+msgid "IDS_MF_POP_ADDED"
+msgstr "تمت الإضافة."
+
+msgid "IDS_MF_POP_PROCESSING_ING"
+msgstr "جاري المعالجة..."
+
+msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
+msgstr "نوع ملف غير مدعوم."
+
+msgid "IDS_IMGE_BODY_AFTER_YOU_TAKE_PICTURES_PICTURES_WILL_BE_SHOWN"
+msgstr "بعد التقاط الصور، يتم عرضها."
+
+msgid "IDS_IME_BODY_LANDSCAPE_MODE"
+msgstr "الوضع الأفقي"
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_CLOSE_DRAWER_MENU_TTS"
+msgstr "انقر نقرا مزدوجا لإغلاق قائمة الدرج."
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_OPEN_DRAWER_MENU_TTS"
+msgstr "انقر نقرا مزدوجا لفتح قائمة الدرج."
+
+msgid "IDS_EMAIL_BODY_DRAG_AND_DROP"
+msgstr "سحب وإسقاط"
+
+msgid "IDS_EMAIL_OPT_DRAWER_ABB"
+msgstr "الدرج"
+
+msgid "IDS_EMAIL_POP_MOBILE_DATA_IS_DISABLED_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_ENABLE_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "تم إلغاء تفعيل بيانات الهاتف المحمول. اتصل بشبكة Wi-Fi بدلا من ذلك أو قم بتفعيل بيانات الهاتف المحمول، ثم أعد المحاولة."
+
+msgid "IDS_EMAIL_POP_WI_FI_CONNECTION_REQUIRED_CONNECT_TO_WI_FI_NETWORK_AND_TRY_AGAIN"
+msgstr "‏‫يلزم توفر اتصال Wi-Fi‬. اتصل بشبكة Wi-Fi وحاول مرة أخرى."
+
+msgid "IDS_GALLERY_HEADER_ADD_PICTURES_FROM_ABB"
+msgstr "إضافة صور من"
+
+msgid "IDS_GALLERY_HEADER_CONNECTED_DEVICES_ABB"
+msgstr "الأجهزة المتصلة"
+
+msgid "IDS_GALLERY_OPT_PRIVATE_CONTENT"
+msgstr "محتوى خاص"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PS"
+msgstr "إزالة من %s"
+
+msgid "IDS_GALLERY_OPT_REMOVE_NAME_TAG"
+msgstr "إزالة علامة الاسم"
+
+msgid "IDS_GALLERY_POP_THERE_ARE_NO_EVENTS_TO_DISPLAY_CREATE_A_NEW_EVENT"
+msgstr "لا توجد أحداث يمكن عرضها. إنشاء حدث جديد."
+
+msgid "IDS_GALLERY_POP_TO_SCROLL_QUICKLY_TO_OTHER_DATES_TAP_AND_HOLD_THE_DATE_INDICATOR_AT_THE_TOP_RIGHT_OF_THE_SCREEN"
+msgstr "للتمرير بسرعة وصولاً إلى التواريخ الأخرى، انقر مع الاستمرار فوق مؤشر التاريخ في الجانب العلوي الأيمن من الشاشة."
+
+msgid "IDS_GP_POP_REMOVE_PD_ITEMS_Q"
+msgstr "هل تريد إزالة %d عنصر (عناصر)؟"
+
+msgid "IDS_GP_POP_REMOVE_THIS_ITEM_Q"
+msgstr "هل تريد إزالة هذا العنصر؟"
+
+msgid "IDS_HELP_BODY_GALLERY"
+msgstr "استوديو"
+
+msgid "IDS_HELP_OPT_SHUFFLED_PICTURES"
+msgstr "الصور العشوائية"
+
+msgid "IDS_IV_BODY_ADD_PICTURES"
+msgstr "إضافة صور"
+
+msgid "IDS_IV_BODY_AFTER_YOU_TAG_PICTURES_AS_YOUR_FAVOURITES_PICTURES_WILL_BE_SHOWN"
+msgstr "بعد تحديد الصور كمفضلة، يتم عرضها."
+
+msgid "IDS_IV_BODY_REMOVE_FACE_IDENTIFICATION_Q"
+msgstr "هل تريد إزالة التعرف على الوجوه؟"
+
+msgid "IDS_IV_OPT_ASSIGN_NAME"
+msgstr "تعيين‬ اسم"
+
+msgid "IDS_IV_OPT_CONFIRM_AS_PS"
+msgstr "تأكيد على أنه %s"
+
+msgid "IDS_IV_OPT_LAYOUT_M_PICTUERS"
+msgstr "التخطيط"
+
+msgid "IDS_IV_OPT_PD_PICTURES_ADDED"
+msgstr "تمت إضافة %d صور"
+
+msgid "IDS_IV_POP_THE_ALBUM_WILL_BE_CANCELLED"
+msgstr "سيتم إلغاء الألبوم."
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEM_ABB"
+msgstr "حذف العنصر"
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEMS"
+msgstr "حذف عناصر"
+
+msgid "IDS_MEDIABR_BODY_1_ITEM"
+msgstr "عنصر واحد"
+
+msgid "IDS_MEDIABR_BODY_10_SECONDS"
+msgstr "١٠ ثوان"
+
+msgid "IDS_MEDIABR_BODY_5_SECONDS"
+msgstr "٥ ثوان"
+
+msgid "IDS_MEDIABR_BODY_NOT_ASSIGNED"
+msgstr "غير محددة"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL"
+msgstr "فاصل عرض الشرائح"
+
+msgid "IDS_MEDIABR_BODY_UNTAGGED"
+msgstr "بدون علامة"
+
+msgid "IDS_MEDIABR_OPT_3_SECONDS"
+msgstr "٣ ثوان"
+
+msgid "IDS_MEDIABR_OPT_ALL_CONTENT"
+msgstr "المحتوى بأكمله"
+
+msgid "IDS_MEDIABR_OPT_CONTENT_TO_DISPLAY"
+msgstr "المحتوى المطلوب عرضه"
+
+msgid "IDS_MEDIABR_OPT_DELETE_TAG"
+msgstr "حذف العلامة"
+
+msgid "IDS_MEDIABR_OPT_DEVICE_CONTENT"
+msgstr "محتوى الجهاز"
+
+msgid "IDS_MEDIABR_OPT_DROPBOX_CONTENT"
+msgstr "محتوى Dropbox"
+
+msgid "IDS_MEDIABR_OPT_FACEBOOK_CONTENT"
+msgstr "محتوى Facebook"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_LEFT"
+msgstr "تدوير لليسار"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_RIGHT"
+msgstr "تدوير لليمين"
+
+msgid "IDS_MEDIABR_POP_IMPORT"
+msgstr "استيراد"
+
+msgid "IDS_MEDIABR_POP_IMPORTED"
+msgstr "تم الاستيراد."
+
+msgid "IDS_MEDIABR_POP_IMPORTING_ING"
+msgstr "جاري الاستيراد..."
+
+msgid "IDS_MEDIABR_POP_LOADING_ING"
+msgstr "جاري التحميل ..."
+
+msgid "IDS_MEDIABR_POP_NEARBY_DEVICES_FOUND"
+msgstr "تم العثور على أجهزة مجاورة."
+
+msgid "IDS_MEDIABR_POP_NO_DEVICES_FOUND_SCANNING_FOR_NEARBY_DEVICES_WILL_CONTINUE_IN_BACKGROUND"
+msgstr "لم يتم العثور على أي أجهزة. سيستمر البحث عن الأجهزة القريبة في الخلفية."
+
+msgid "IDS_MEDIABR_POP_REFRESHED"
+msgstr "تم التحديث."
+
+msgid "IDS_MEDIABR_POP_ROTATING_ING"
+msgstr "جار التدوير..."
+
+msgid "IDS_MEDIABR_POP_SCAN_STARTED_DEVICE_LIST_WILL_BE_UPDATED_AUTOMATICALLY"
+msgstr "بدأ البحث. سيتم تحديث قائمة الأجهزة بشكل تلقائي."
+
+msgid "IDS_MEDIABR_POP_STARTING_DOWNLOAD_ABB"
+msgstr "جار بدء التنزيل..."
+
+msgid "IDS_MF_OPT_COPY_TO"
+msgstr "نسخ إلى"
+
+msgid "IDS_MF_OPT_MOVE_TO"
+msgstr "نقل إلى"
+
+msgid "IDS_MF_POP_FAILED_TO_ADD_SHORTCUT"
+msgstr "فشلت إضافة اختصار."
+
+msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
+msgstr "لا يوجد ذاكرة كافية. امسح بعض العناصر."
+
+msgid "IDS_MF_POP_REMOVED"
+msgstr "تم الحذف."
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "جاري الإضافة..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "هل تريد حذف %d من الألبومات؟"
+
+msgid "IDS_ST_BODY_PRIVATE_STORAGE"
+msgstr "وحدة التخزين الخاصة"
+
+msgid "IDS_IV_BODY_DRAG_HERE"
+msgstr "اسحب هنا."
+
+msgid "IDS_GALLERY_BODY_NEW_M_ALBUM_ABB"
+msgstr "جديد"
+
+msgid "IDS_GALLERY_HEADER_UNGROUPEDM_PEOPLE_ABB"
+msgstr "غير المصنفين"
+
+msgid "IDS_KEEPIT_OPT_SCREENSHOTS_ABB"
+msgstr "لقطات"
+
+msgid "IDS_MEDIABR_OPT_PHOTOS"
+msgstr "صور فوتوغرافية"
+
+msgid "IDS_MEDIABR_POP_DOWNLOAD_FAILED"
+msgstr "التنزيل غير متوفر."
+
+msgid "IDS_MEDIABR_POP_UNSUPPORTED_FILE"
+msgstr "ملف غير مدعوم."
+
+msgid "IDS_SEARCH_BODY_1_RESULT"
+msgstr "نتيجة واحدة"
+
+msgid "IDS_SEARCH_BODY_PD_RESULTS"
+msgstr "%d نتيجة (نتائج)"
+
+msgid "IDS_TW_BODY_FAVORITES"
+msgstr "تفضيلات"
+
+msgid "IDS_EMAIL_POP_DOWNLOAD_CANCELLED"
+msgstr "تم إلغاء التنزيل."
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ALBUM_Q"
+msgstr "هل تريد حذف هذا الألبوم؟"
+
+msgid "IDS_CAM_HEADER_WARNING_ABB"
+msgstr "تحذير"
+
+msgid "IDS_ALM_OPT_SORT_BY"
+msgstr "فرز بواسطة"
+
+msgid "IDS_CLD_OPT_TODAY"
+msgstr "اليوم"
+
+msgid "IDS_GALLERY_BODY_DATE"
+msgstr "التاريخ"
+
+msgid "IDS_EMAIL_BODY_NO_ITEMS_TO_DISPLAY"
+msgstr "لا توجد أي عناصر لعرضها."
+
+msgid "IDS_PBR_BODY_TAP_HERE_TO_TAKE_PICTURES_OR_VIDEOS"
+msgstr "انقر هنا لالتقاط صور أو مقاطع فيديو‬."
+
+msgid "IDS_NFC_TPOP_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SHARED_HPD_EXCEEDED"
+msgstr "تم تجاوز الحد الأقصى لعدد العناصر التي يمكن مشاركتها (%d)."
+
+msgid "IDS_IV_BODY_TAP_TO_ADD_IMAGES"
+msgstr "انقر لإضافة صور."
+
+msgid "IDS_GALLERY_POP_COPY_OR_MOVE_THE_SELECTED_ITEMS_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "هل تريد نسخ العناصر المحددة أو نقلها من الألبوم الأصلي؟"
+
+msgid "IDS_GALLERY_HEADER_SELECT"
+msgstr "تحديد"
+
+msgid "IDS_VIDEO_POP_FILE_ALREADY_EXISTS"
+msgstr "الملف موجود بالفعل."
+
+msgid "IDS_VIDEO_POP_THIS_ITEM_WILL_BE_DELETED"
+msgstr "سيتم حذف هذا العنصر."
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_FACEBOOK_ITEMS_WILL_BE_SHOWN"
+msgstr "بعد تحميل الصور إلى Facebook، يتم عرض العناصر."
+
+msgid "IDS_GALLERY_HEADER_SELECT_ALL_ABB"
+msgstr "تحديد الكل"
+
+msgid "IDS_GALLERY_HEADER_PD_SELECTED_ABB"
+msgstr "تم تحديد %d"
+
+msgid "IDS_GALLERY_OPT_VIEW_AS"
+msgstr "عرض كـ"
+
+msgid "IDS_GALLERY_OPT_DATE_HMOST_RECENT_ABB2"
+msgstr "التاريخ (الأحدث)"
+
+msgid "IDS_GALLERY_OPT_DATE_HOLDEST_ABB3"
+msgstr "التاريخ (الأقدم)"
+
+msgid "IDS_GALLERY_BODY_AFTER_YOU_TAKE_PICTURES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "ستظهر الصور هنا بعد التقاطها."
+
+msgid "IDS_CLOUD_TPOP_CANCELLING_ING"
+msgstr "جاري الإلغاء..."
+
+msgid "IDS_GALLERY_OPT_FROM_DEVICE_ABB"
+msgstr "من الجهاز"
+
+msgid "IDS_GALLERY_OPT_FROM_DROPBOX_ABB"
+msgstr "من Dropbox"
+
+msgid "IDS_GALLERY_OPT_FROM_FACEBOOK_ABB"
+msgstr "من Facebook"
+
+msgid "IDS_MUSIC_BODY_DOWNLOAD_COMPLETED"
+msgstr "تم التنزيل."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DELETED"
+msgstr "سيتم حذف كل العناصر."
+
+msgid "IDS_GALLERY_POP_1_ITEM_WILL_BE_DOWNLOADED"
+msgstr "سيتم تنزيل عنصر واحد."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "سيتم تنزيل %d من العناصر."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "سيتم تنزيل كل العناصر."
+
+msgid "IDS_GALLERY_TPOP_SELECTED_ALBUM_SAME_AS_SOURCE_ALBUM_SELECT_ANOTHER_ALBUM"
+msgstr "إن الألبوم المحدد هو نفسه الألبوم المصدر. حدد ألبوماً آخر."
+
+msgid "IDS_HS_NPBODY_TAP_HERE_TO_ADD_IMAGES"
+msgstr "النقر هنا لإضافة الصور"
+
+msgid "IDS_MF_HEADER_UNABLE_TO_SAVE_DATA_ABB"
+msgstr "يتعذر حفظ البيانات"
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_IN_YOUR_DEVICE_STORAGE_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "ما من مساحة كافية على وحدة تخزين الجهاز. انتقل إلى الضبط > الطاقة ووحدة التخزين > وحدة التخزين، ثم احذف بعض الملفات وحاول مرة أخرى."
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_YOUR_SD_CARD_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "ما من مساحة كافية على بطاقة SD. انتقل إلى الضبط > الطاقة ووحدة التخزين > وحدة التخزين، ثم احذف بعض الملفات وحاول مرة أخرى."
+
+msgid "IDS_MF_BUTTON_CANCEL_ABB3"
+msgstr "إلغاء"
+
+msgid "IDS_MF_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "عدم الإظهار مرة أخرى"
+
+msgid "IDS_MF_POP_USING_MOBILE_DATA_WHILE_ROAMING_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "قد يترتب على استخدام بيانات الهاتف المحمول أثناء التجوال فرض رسوم إضافية وفقًا لخطة الدفع."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DELETED_ABB"
+msgstr "سيتم حذف %d من العناصر."
+
+msgid "IDS_GALLERY_OPT_DELETE"
+msgstr "حذف"
+
+msgid "IDS_GALLERY_BODY_YESTERDAY"
+msgstr "أمس"
+
+msgid "IDS_BR_MBODY_DOWNLOADS"
+msgstr "التنزيلات"
+
+msgid "IDS_GALLERY_HEADER_COPY"
+msgstr "نسخ"
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "حذف"
+
+msgid "IDS_GALLERY_BUTTON_ALBUMS"
+msgstr "الألبومات"
+
+msgid "IDS_GALLERY_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_HPD_HAS_BEEN_EXCEEDED"
+msgstr "تم تجاوز الحد الأقصى لعدد العناصر (%d)."
+
+msgid "IDS_GALLERY_BUTTON_CANCEL"
+msgstr "إلغاء"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "تم"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "إلغاء"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "حذف"
+
+msgid "IDS_GALLERY_POP_COPYING_ING"
+msgstr "جاري النسخ..."
+
+msgid "IDS_GALLERY_POP_MOVING_ING"
+msgstr "جاري النقل..."
+
+msgid "IDS_STORYALBUM_POP_IF_YOU_CREATE_CONTENT_THAT_INCLUDES_ITEMS_FROM_PERSONAL_STORAGE_IT_MAY_NOT_BE_HIDDEN_AUTOMATICALLY_MSG"
+msgstr "في حالة إنشاء محتوى يتضمن عناصر من مساحة التخزين الشخصية، قد لا يتم إخفاؤه تلقائيًا. يمكن رؤية المحتوى الشخصي المحدد عند عرض المحتوى الجديد."
+
+msgid "IDS_HS_ACBUTTON_EDIT"
+msgstr "تعديل"
+
+msgid "IDS_MF_BUTTON_SETTINGS"
+msgstr "الضبط"
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "تعديل"
+
+msgid "IDS_CLOCK_HEADER_REORDER_ABB"
+msgstr "إعادة ترتيب"
+
diff --git a/res/po/az.po b/res/po/az.po
new file mode 100644 (file)
index 0000000..92d999f
--- /dev/null
@@ -0,0 +1,759 @@
+msgid "IDS_MF_POP_YOUR_DEVICE_IS_NOT_CONNECTED_TO_A_WI_FI_NETWORK_CONNECTING_TO_A_MOBILE_NETWORK_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "Sizin cihazınız Wi-Fi şəbəkəsinə qoşulmayıb. Tarif planınızdan asılı olaraq mobil şəbəkəyə qoşulmaq əlavə xərclərə səbəb ola bilər"
+
+msgid "IDS_VIDEO_TPOP_MOBILE_DATA_TURNED_OFF_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_TURN_ON_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Mobil tarif söndürüldü. Əvəzinə Wi-Fi şəbəkəsinə qoşulun və ya Mobil tarifi aktivləşdirin və yenidən cəhd edin."
+
+msgid "IDS_VIDEO_BODY_AFTER_YOU_RECORD_VIDEOS_USING_THE_CAMERA_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Kamera vasitəsilə videoları çəkdikdən sonra onlar burada görünəcək."
+
+msgid "IDS_VIDEO_TPOP_FILE_NAME_ALREADY_IN_USE"
+msgstr "Fayl adı artıq istifadədədir"
+
+msgid "IDS_MF_POP_DELETE_PD_ITEMS_Q"
+msgstr "%d element silinsin?"
+
+msgid "IDS_ST_HEADER_PRIVACY"
+msgstr "Gizlilik"
+
+msgid "IDS_COM_BODY_SEP_ABB"
+msgstr "Sen."
+
+msgid "IDS_COM_BODY_OCT_ABB"
+msgstr "Okt."
+
+msgid "IDS_COM_BODY_NOV_ABB"
+msgstr "Noy."
+
+msgid "IDS_COM_BODY_MAY_ABB"
+msgstr "May"
+
+msgid "IDS_COM_BODY_MAR_ABB"
+msgstr "Mart"
+
+msgid "IDS_COM_BODY_JUN_ABB"
+msgstr "İyun"
+
+msgid "IDS_COM_BODY_JUL_ABB"
+msgstr "İyul"
+
+msgid "IDS_COM_BODY_JAN_ABB"
+msgstr "Yan."
+
+msgid "IDS_COM_BODY_FEB_ABB"
+msgstr "Fev."
+
+msgid "IDS_COM_BODY_DEC_ABB"
+msgstr "Dek."
+
+msgid "IDS_COM_BODY_AUG_ABB"
+msgstr "Avq."
+
+msgid "IDS_COM_BODY_APR_ABB"
+msgstr "Apr."
+
+msgid "IDS_GALLERY_HEADER_ALBUM"
+msgstr "Albom"
+
+msgid "IDS_MEDIABR_OPT_MORE"
+msgstr "Daha çox"
+
+msgid "IDS_MEDIABR_POP_INVALID_INPUT_PARAMETER"
+msgstr "Yanlış daxiletmə parametrləri."
+
+msgid "IDS_MEDIABR_POP_ENTRY_IS_EMPTY"
+msgstr "Boş qeyd."
+
+msgid "IDS_MEDIABR_POP_SAME_NAME_ALREADY_IN_USE"
+msgstr "Eyni ad hazırda istifadə edilir."
+
+msgid "IDS_MEDIABR_POP_UNABLE_TO_RENAME"
+msgstr "Yenidən adlandırmaq mümkün deyildir."
+
+msgid "IDS_MEDIABR_POP_NO_ALBUMS_SELECTED"
+msgstr "Albom seçilməyib."
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ITEM"
+msgstr "Element seç"
+
+msgid "IDS_MEDIABR_BODY_NO_ALBUMS"
+msgstr "Albom yoxdur"
+
+msgid "IDS_MEDIABR_POP_CREATE_FOLDER_Q"
+msgstr "Qovluq yaradılsın?"
+
+msgid "IDS_MEDIABR_POP_RETRY_Q"
+msgstr "Yenidən cəhd edilsin?"
+
+msgid "IDS_MEDIABR_POPUP_REMOVE_Q"
+msgstr "Silinsin?"
+
+msgid "IDS_MEDIABR_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "%d albom silinəcək."
+
+msgid "IDS_MEDIABR_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "1 albom silinəcək."
+
+msgid "IDS_MEDIABR_BODY_CAMERA"
+msgstr "Kamera"
+
+msgid "IDS_MEDIABR_BUTTON_START"
+msgstr "Başla"
+
+msgid "IDS_MEDIABR_OPT_SETTINGS"
+msgstr "Parametrlər"
+
+msgid "IDS_MEDIABR_OPT_YES"
+msgstr "Bəli"
+
+msgid "IDS_MEDIABR_OPT_NO"
+msgstr "Xeyr"
+
+msgid "IDS_MEDIABR_BUTTON_OK"
+msgstr "OK"
+
+msgid "IDS_MEDIABR_BUTTON_SAVE"
+msgstr "Saxla"
+
+msgid "IDS_MEDIABR_POP_DELETE_Q"
+msgstr "Silinsin?"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_ALBUM"
+msgstr "Alboma köçür"
+
+msgid "IDS_GALLERY_OPT_COPY_TO_ALBUM"
+msgstr "Alboma kopyala"
+
+msgid "IDS_GALLERY_HEADER_VIEW_BY_ABB"
+msgstr "Baxış qaydası"
+
+msgid "IDS_GALLERY_HEADER_ENTER_NAME"
+msgstr "Xahiş olunur adı daxil edin"
+
+msgid "IDS_MEDIABR_POP_ALL_DATA_RELATED_TO_THIS_ACCOUNT_WILL_BE_DELETED_CONTINUE_Q"
+msgstr "Bu hesabla bağlı bütün məlumatlar silinəcək. Davam edilsin?"
+
+msgid "IDS_MEDIABR_BUTTON_CANCEL_ABB"
+msgstr "Ləğv et"
+
+msgid "IDS_MEDIABR_TAB4_NEW_ALBUM"
+msgstr "Yeni albom"
+
+msgid "IDS_MEDIABR_POP_DO_YOU_WANT_TO_COPY_OR_MOVE_THE_PICTURES_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Siz orijinal albomdan şəkilləri köçürmək və ya yerini dəyişdirmək istəyirsinizmi?"
+
+msgid "IDS_MEDIABR_OPT_SHARE"
+msgstr "Paylaş"
+
+msgid "IDS_MEDIABR_OPT_SLIDESHOW"
+msgstr "Slaydşou"
+
+msgid "IDS_MEDIABR_OPT_START_SLIDESHOW"
+msgstr "Slayd nümayişini dayandır"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS"
+msgstr "Slaydşou parametrləri"
+
+msgid "IDS_MEDIABR_POP_NO_NAME"
+msgstr "Ad yoxdur"
+
+msgid "IDS_MEDIABR_BODY_ALL_ALBUMS"
+msgstr "Bütün albomlar"
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ALBUM"
+msgstr "Albom seç"
+
+msgid "IDS_MEDIABR_POP_1_ITEM_WILL_BE_DELETED"
+msgstr "1 element silinəcək."
+
+msgid "IDS_MEDIABR_OPT_ALL_ITEMS"
+msgstr "Bütün elementlər"
+
+msgid "IDS_MEDIABR_BODY_PD_ITEMS"
+msgstr "%d element"
+
+msgid "IDS_IV_BODY_THERE_IS_ONLY_ONE_ALBUM"
+msgstr "Yalnız bir albom mövcuddur."
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "Siz maksimum %d element seçə bilərsiniz."
+
+msgid "IDS_MF_BODY_DOWNLOADS"
+msgstr "Yükləmələr"
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Silinsin?"
+
+msgid "IDS_MF_SK_MOVE"
+msgstr "Apar"
+
+msgid "IDS_MF_POP_DELETING_ING"
+msgstr "Silinmə"
+
+msgid "IDS_CAM_BODY_OPERATION_FAILED"
+msgstr "Əməliyyat alınmadı."
+
+msgid "IDS_MSG_BODY_CANCELLED_M_CONTENT"
+msgstr "Ləğv edildi"
+
+msgid "IDS_MF_OPT_DELETE_SELECTED"
+msgstr "Seçilmişi"
+
+msgid "IDS_MF_POP_MOVED"
+msgstr "Göndərildi."
+
+msgid "IDS_MF_POP_COPIED"
+msgstr "Surəti saxlanıldı."
+
+msgid "IDS_VPL_POP_NO_FILES_SELECTED"
+msgstr "Heç bir fayl seçilməyib."
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Bağla"
+
+msgid "IDS_MF_OPT_SORT_BY_ABB"
+msgstr "Nizamla"
+
+msgid "IDS_CAM_POP_LATEST"
+msgstr "Ən son"
+
+msgid "IDS_MEDIABR_POP_OLDEST_M_DATE"
+msgstr "Ən köhnə"
+
+msgid "IDS_MSG_BUTTON2_CREATE"
+msgstr "Yarat"
+
+msgid "IDS_MEDIABR_POP_NO_ITEMS"
+msgstr "Elementlər yoxdur"
+
+msgid "IDS_MEDIABR_OPT_EDIT_IMAGE"
+msgstr "Şəkli redaktə et"
+
+msgid "IDS_MEDIABR_BODY_SELECT_PICTURE"
+msgstr "Şəkil seç"
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ITEM_Q"
+msgstr "Bu element silinsin?"
+
+msgid "IDS_GALLERY_OPT_SCENERY"
+msgstr "Mənzərə"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PRIVATE"
+msgstr "Şəxsi rejimdən sil"
+
+msgid "IDS_GALLERY_OPT_PETS"
+msgstr "Ev heyvanları"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_PRIVATE"
+msgstr "Şəxsiyə köçür"
+
+msgid "IDS_GALLERY_OPT_FOOD"
+msgstr "Ərzaq"
+
+msgid "IDS_GALLERY_OPT_FLOWERS"
+msgstr "Güllər"
+
+msgid "IDS_GALLERY_OPT_DOCUMENTS"
+msgstr "Sənədlər"
+
+msgid "IDS_GALLERY_MBODY_VEHICLES"
+msgstr "Nəqliyyat vasitələri"
+
+msgid "IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED"
+msgstr "Simvolların sayı maksimuma (%d) çatıb."
+
+msgid "IDS_IV_BODY_UNABLE_TO_LOAD_PHOTO_ABB"
+msgstr "Şəkli yükləmək mümkün deyil."
+
+msgid "IDS_IV_BODY_SHARE_VIA"
+msgstr "Paylaş"
+
+msgid "IDS_IV_BODY_DONT_ASK_AGAIN"
+msgstr "Təkrar soruşma"
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Simvol sayı maksimuma çatıb."
+
+msgid "IDS_GALLERY_HEADER_TIME"
+msgstr "Vaxt"
+
+msgid "IDS_EMAIL_BODY_FAILED_M_STATUS"
+msgstr "Mümkün olmadı"
+
+msgid "IDS_EMAIL_BODY_DELETED"
+msgstr "Silindi."
+
+msgid "IDS_EMAIL_POP_DELETE_Q"
+msgstr "Silinsin?"
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Silinir..."
+
+msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS"
+msgstr "%d dəfə göstərmə"
+
+msgid "IDS_GALLERY_OPT_CREATE_ALBUM"
+msgstr "Albom yarat"
+
+msgid "IDS_GALLERY_OPT_GALLERY_ABB"
+msgstr "Qalereya"
+
+msgid "IDS_EMAIL_BUTTON_MORE"
+msgstr "Daha çox"
+
+msgid "IDS_EMAIL_OPT_ACCOUNTS"
+msgstr "Hesablar"
+
+msgid "IDS_EMAIL_POP_OPERATION_FAILED"
+msgstr "Əməliyyat alınmadı."
+
+msgid "IDS_GALLERY_BODY_DOWNLOAD"
+msgstr "Yüklə"
+
+msgid "IDS_GALLERY_BODY_SEARCH"
+msgstr "Axtarış"
+
+msgid "IDS_GALLERY_BUTTON_BACK"
+msgstr "Geri"
+
+msgid "IDS_GALLERY_BUTTON_CAMERA"
+msgstr "Kamera"
+
+msgid "IDS_GALLERY_HEADER_ALL"
+msgstr "Hamısını"
+
+msgid "IDS_GALLERY_OPT_REFRESH"
+msgstr "Yenilə"
+
+msgid "IDS_GALLERY_OPT_REMOVE"
+msgstr "Sil"
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_DROPBOX_ITEMS_WILL_BE_SHOWN"
+msgstr "Şəkilləri Dropbox-a yüklədikdən sonra elementlər göstəriləcək."
+
+msgid "IDS_KEEPIT_BODY_GROUP_PLAY_ABB"
+msgstr "Group Play"
+
+msgid "IDS_MEDIABR_HEADER_CONTACTS"
+msgstr "Adlar"
+
+msgid "IDS_MEDIABR_OPT_CREATE"
+msgstr "Yarat"
+
+msgid "IDS_MEDIABR_OPT_DETAILS"
+msgstr "Təfsilatlar"
+
+msgid "IDS_MEDIABR_OPT_PRINT"
+msgstr "Çap et"
+
+msgid "IDS_MEDIABR_OPT_RENAME"
+msgstr "Adını dəyişdir"
+
+msgid "IDS_MEDIABR_POP_DOWNLOADED"
+msgstr "Yükləndi."
+
+msgid "IDS_MEDIABR_POP_DOWNLOADING_ING"
+msgstr "Yüklənmə..."
+
+msgid "IDS_MF_HEADER_ENTER_NAME"
+msgstr "Xahiş olunur adı daxil edin."
+
+msgid "IDS_MF_HEADER_MYFILES"
+msgstr "Mənim fayllarım"
+
+msgid "IDS_MF_POP_ADDED"
+msgstr "Əlavə edildi."
+
+msgid "IDS_MF_POP_PROCESSING_ING"
+msgstr "Emal edilir..."
+
+msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
+msgstr "Dəstəklənməyən fayl tipi."
+
+msgid "IDS_IMGE_BODY_AFTER_YOU_TAKE_PICTURES_PICTURES_WILL_BE_SHOWN"
+msgstr "Şəkil çəkdikdən sonra onlar görünəcək."
+
+msgid "IDS_IME_BODY_LANDSCAPE_MODE"
+msgstr "Landşaft rejimi"
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_CLOSE_DRAWER_MENU_TTS"
+msgstr "Rəsmxət menyusunu bağlamaq üçün iki dəfə vurun."
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_OPEN_DRAWER_MENU_TTS"
+msgstr "Rəsmxət menyusunu açmaq üçün iki dəfə vurun."
+
+msgid "IDS_EMAIL_BODY_DRAG_AND_DROP"
+msgstr "Çəkib saxla"
+
+msgid "IDS_EMAIL_OPT_DRAWER_ABB"
+msgstr "Rəsmxət"
+
+msgid "IDS_EMAIL_POP_MOBILE_DATA_IS_DISABLED_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_ENABLE_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Mobil məlumatlar qeyri-aktivdir. Əvəzinə Wi-Fi şəbəkəsinə qoşulun və ya mobil məlumatları aktivləşdirin və yenidən cəhd edin"
+
+msgid "IDS_EMAIL_POP_WI_FI_CONNECTION_REQUIRED_CONNECT_TO_WI_FI_NETWORK_AND_TRY_AGAIN"
+msgstr "Wi-Fi bağlantısı tələb olunur. Wi-Fi şəbəkəsinə qoşul və yenidən cəhd et."
+
+msgid "IDS_GALLERY_HEADER_ADD_PICTURES_FROM_ABB"
+msgstr "-dan şəkillər əlavə et"
+
+msgid "IDS_GALLERY_HEADER_CONNECTED_DEVICES_ABB"
+msgstr "Qoşulmuş cihazlar"
+
+msgid "IDS_GALLERY_OPT_PRIVATE_CONTENT"
+msgstr "Şəxsi məzmun"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PS"
+msgstr "%s-dən sil"
+
+msgid "IDS_GALLERY_OPT_REMOVE_NAME_TAG"
+msgstr "Ad teqlərini sil"
+
+msgid "IDS_GALLERY_POP_THERE_ARE_NO_EVENTS_TO_DISPLAY_CREATE_A_NEW_EVENT"
+msgstr "Göstərmək üçün element yoxdur. Yeni tədbir yarat."
+
+msgid "IDS_GALLERY_POP_TO_SCROLL_QUICKLY_TO_OTHER_DATES_TAP_AND_HOLD_THE_DATE_INDICATOR_AT_THE_TOP_RIGHT_OF_THE_SCREEN"
+msgstr "Cəld şəkildə digər tarixlərə keçin, ekranın yuxarı sağ tərəfində tarix göstəricisini vurub-saxlayın."
+
+msgid "IDS_GP_POP_REMOVE_PD_ITEMS_Q"
+msgstr "%d element silinsin?"
+
+msgid "IDS_GP_POP_REMOVE_THIS_ITEM_Q"
+msgstr "Bu element silinsin?"
+
+msgid "IDS_HELP_BODY_GALLERY"
+msgstr "Qalereya"
+
+msgid "IDS_HELP_OPT_SHUFFLED_PICTURES"
+msgstr "Qarışdırılan şəkillər"
+
+msgid "IDS_IV_BODY_ADD_PICTURES"
+msgstr "Şəkillər əlavə et"
+
+msgid "IDS_IV_BODY_AFTER_YOU_TAG_PICTURES_AS_YOUR_FAVOURITES_PICTURES_WILL_BE_SHOWN"
+msgstr "Şəkilləri sevimli olaraq etiketlədikdən sonra şəkillər göstəriləcək."
+
+msgid "IDS_IV_BODY_REMOVE_FACE_IDENTIFICATION_Q"
+msgstr "Üz təyini silinsin?"
+
+msgid "IDS_IV_OPT_ASSIGN_NAME"
+msgstr "Adı təyin et"
+
+msgid "IDS_IV_OPT_CONFIRM_AS_PS"
+msgstr "%s kimi təsdiq et"
+
+msgid "IDS_IV_OPT_LAYOUT_M_PICTUERS"
+msgstr "Tərtibat"
+
+msgid "IDS_IV_OPT_PD_PICTURES_ADDED"
+msgstr "%d şəkil əlavə edildi"
+
+msgid "IDS_IV_POP_THE_ALBUM_WILL_BE_CANCELLED"
+msgstr "Albom ləğv ediləcək."
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEM_ABB"
+msgstr "Elementi sil"
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEMS"
+msgstr "Elementləri sil"
+
+msgid "IDS_MEDIABR_BODY_1_ITEM"
+msgstr "1 element"
+
+msgid "IDS_MEDIABR_BODY_10_SECONDS"
+msgstr "10 saniyə"
+
+msgid "IDS_MEDIABR_BODY_5_SECONDS"
+msgstr "5 saniyə"
+
+msgid "IDS_MEDIABR_BODY_NOT_ASSIGNED"
+msgstr "Təyin olunmamışdır"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL"
+msgstr "Slaydşou intervalı"
+
+msgid "IDS_MEDIABR_BODY_UNTAGGED"
+msgstr "Etiketlənməyib"
+
+msgid "IDS_MEDIABR_OPT_3_SECONDS"
+msgstr "3 saniyə"
+
+msgid "IDS_MEDIABR_OPT_ALL_CONTENT"
+msgstr "Bütün məzmun"
+
+msgid "IDS_MEDIABR_OPT_CONTENT_TO_DISPLAY"
+msgstr "Göstərmək üçün məzmun"
+
+msgid "IDS_MEDIABR_OPT_DELETE_TAG"
+msgstr "Etiketi sil"
+
+msgid "IDS_MEDIABR_OPT_DEVICE_CONTENT"
+msgstr "Cihazın məzmunu"
+
+msgid "IDS_MEDIABR_OPT_DROPBOX_CONTENT"
+msgstr "Dropbox məzmunu"
+
+msgid "IDS_MEDIABR_OPT_FACEBOOK_CONTENT"
+msgstr "Facebook məzmunu"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_LEFT"
+msgstr "Sola döndər"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_RIGHT"
+msgstr "Sağa döndər"
+
+msgid "IDS_MEDIABR_POP_IMPORT"
+msgstr "Gətir"
+
+msgid "IDS_MEDIABR_POP_IMPORTED"
+msgstr "Gətirilmişdir."
+
+msgid "IDS_MEDIABR_POP_IMPORTING_ING"
+msgstr "Gətirilir..."
+
+msgid "IDS_MEDIABR_POP_LOADING_ING"
+msgstr "Yüklənir..."
+
+msgid "IDS_MEDIABR_POP_NEARBY_DEVICES_FOUND"
+msgstr "Yaxınlıqdakı qurğular tapıldı."
+
+msgid "IDS_MEDIABR_POP_NO_DEVICES_FOUND_SCANNING_FOR_NEARBY_DEVICES_WILL_CONTINUE_IN_BACKGROUND"
+msgstr "Heç bir cihaz tapılmadı. Yaxınlıqdakı cihazlar arxa planda davam edəcək"
+
+msgid "IDS_MEDIABR_POP_REFRESHED"
+msgstr "Yenilənmişdir."
+
+msgid "IDS_MEDIABR_POP_ROTATING_ING"
+msgstr "Fırladılır..."
+
+msgid "IDS_MEDIABR_POP_SCAN_STARTED_DEVICE_LIST_WILL_BE_UPDATED_AUTOMATICALLY"
+msgstr "Axtarış başlayıb. Cihaz siyahısı avtomatik yenilənəcək"
+
+msgid "IDS_MEDIABR_POP_STARTING_DOWNLOAD_ABB"
+msgstr "Yükləmə başladılır..."
+
+msgid "IDS_MF_OPT_COPY_TO"
+msgstr "Buraya köçür"
+
+msgid "IDS_MF_OPT_MOVE_TO"
+msgstr "Göndər"
+
+msgid "IDS_MF_POP_FAILED_TO_ADD_SHORTCUT"
+msgstr "Qısayol əlavə etmək mümkün deyil."
+
+msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
+msgstr "Yaddaş kifayət etmir. Xahiş olunur bəzi elementləri silin"
+
+msgid "IDS_MF_POP_REMOVED"
+msgstr "Silindi."
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Əlavə olunur..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "%d albomlar silinsin?"
+
+msgid "IDS_ST_BODY_PRIVATE_STORAGE"
+msgstr "Şəxsi yaddaş"
+
+msgid "IDS_IV_BODY_DRAG_HERE"
+msgstr "Bura sürüklə."
+
+msgid "IDS_GALLERY_BODY_NEW_M_ALBUM_ABB"
+msgstr "Yeni"
+
+msgid "IDS_GALLERY_HEADER_UNGROUPEDM_PEOPLE_ABB"
+msgstr "Qrupdan çıxarıldı"
+
+msgid "IDS_KEEPIT_OPT_SCREENSHOTS_ABB"
+msgstr "Nişanlar"
+
+msgid "IDS_MEDIABR_OPT_PHOTOS"
+msgstr "Fotolar"
+
+msgid "IDS_MEDIABR_POP_DOWNLOAD_FAILED"
+msgstr "Yükləmə mümkün olmadı."
+
+msgid "IDS_MEDIABR_POP_UNSUPPORTED_FILE"
+msgstr "Dəstəklənməyən fayl."
+
+msgid "IDS_SEARCH_BODY_1_RESULT"
+msgstr "1 nəticə"
+
+msgid "IDS_SEARCH_BODY_PD_RESULTS"
+msgstr "%d nəticə"
+
+msgid "IDS_TW_BODY_FAVORITES"
+msgstr "Sevimlilər"
+
+msgid "IDS_EMAIL_POP_DOWNLOAD_CANCELLED"
+msgstr "Yükləmədən imtina edildi."
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ALBUM_Q"
+msgstr "Bu albom silinsin?"
+
+msgid "IDS_CAM_HEADER_WARNING_ABB"
+msgstr "Diqqət"
+
+msgid "IDS_ALM_OPT_SORT_BY"
+msgstr "Sıralama qaydası"
+
+msgid "IDS_CLD_OPT_TODAY"
+msgstr "Bu gün"
+
+msgid "IDS_GALLERY_BODY_DATE"
+msgstr "Tarix"
+
+msgid "IDS_EMAIL_BODY_NO_ITEMS_TO_DISPLAY"
+msgstr "Göstərmək üçün element yoxdur."
+
+msgid "IDS_PBR_BODY_TAP_HERE_TO_TAKE_PICTURES_OR_VIDEOS"
+msgstr "Şəkil və ya video çəkmək üçün bura vurun."
+
+msgid "IDS_NFC_TPOP_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SHARED_HPD_EXCEEDED"
+msgstr "Paylaşıla bilən elementlərin sayı maksimumu (%d) keçmişdir."
+
+msgid "IDS_IV_BODY_TAP_TO_ADD_IMAGES"
+msgstr "Təsvir əlavə etmək üçün vurun."
+
+msgid "IDS_GALLERY_POP_COPY_OR_MOVE_THE_SELECTED_ITEMS_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Seçilən elementlər orijinal albomdan kopyalansın və ya silinsin?"
+
+msgid "IDS_GALLERY_HEADER_SELECT"
+msgstr "Seç"
+
+msgid "IDS_VIDEO_POP_FILE_ALREADY_EXISTS"
+msgstr "Fayl artıq mövcuddur."
+
+msgid "IDS_VIDEO_POP_THIS_ITEM_WILL_BE_DELETED"
+msgstr "Bu element silinəcək."
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_FACEBOOK_ITEMS_WILL_BE_SHOWN"
+msgstr "Şəkilləri Facebook-a yüklədikdən sonra elementlər göstəriləcək."
+
+msgid "IDS_GALLERY_HEADER_SELECT_ALL_ABB"
+msgstr "Hamısını seç"
+
+msgid "IDS_GALLERY_HEADER_PD_SELECTED_ABB"
+msgstr "%d seçilmişdir"
+
+msgid "IDS_GALLERY_OPT_VIEW_AS"
+msgstr "Fərqli bax"
+
+msgid "IDS_GALLERY_OPT_DATE_HMOST_RECENT_ABB2"
+msgstr "Tarix (ən son)"
+
+msgid "IDS_GALLERY_OPT_DATE_HOLDEST_ABB3"
+msgstr "Tarix (ən köhnə)"
+
+msgid "IDS_GALLERY_BODY_AFTER_YOU_TAKE_PICTURES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Şəkillər çəkdikdən sonra onlar burada görünəcək."
+
+msgid "IDS_CLOUD_TPOP_CANCELLING_ING"
+msgstr "Ləğv edilir..."
+
+msgid "IDS_GALLERY_OPT_FROM_DEVICE_ABB"
+msgstr "Cihazdan"
+
+msgid "IDS_GALLERY_OPT_FROM_DROPBOX_ABB"
+msgstr "Dropbox-dan"
+
+msgid "IDS_GALLERY_OPT_FROM_FACEBOOK_ABB"
+msgstr "Facebook-dan"
+
+msgid "IDS_MUSIC_BODY_DOWNLOAD_COMPLETED"
+msgstr "Yükləmə tamamlandı."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DELETED"
+msgstr "Bütün elementlər silinəcək."
+
+msgid "IDS_GALLERY_POP_1_ITEM_WILL_BE_DOWNLOADED"
+msgstr "1 element yüklənəcək."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "%d element yüklənəcək."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "Bütün elementlər yüklənəcək."
+
+msgid "IDS_GALLERY_TPOP_SELECTED_ALBUM_SAME_AS_SOURCE_ALBUM_SELECT_ANOTHER_ALBUM"
+msgstr "Seçilmiş albom mənbə albomu ilə eynidir. Başqa albom seçin."
+
+msgid "IDS_HS_NPBODY_TAP_HERE_TO_ADD_IMAGES"
+msgstr "Şəkillər əlavə etmək üçün buraya vurun"
+
+msgid "IDS_MF_HEADER_UNABLE_TO_SAVE_DATA_ABB"
+msgstr "Məlum saxlamaq mümk deyil"
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_IN_YOUR_DEVICE_STORAGE_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "Cihazınızın yaddaşında kifayət qədər yer yoxdur. Parametrlər > Enerji və yaddaş > Yaddaş seçin və bir neçə faylı silərək yenidən cəhd edin."
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_YOUR_SD_CARD_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "SD kartınızda kifayət qədər yer yoxdur. Parametrlər > Enerji və yaddaş > Yaddaş seçin və bir neçə faylı silərək yenidən cəhd edin."
+
+msgid "IDS_MF_BUTTON_CANCEL_ABB3"
+msgstr "Ləğv et"
+
+msgid "IDS_MF_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Bir daha göstərmə"
+
+msgid "IDS_MF_POP_USING_MOBILE_DATA_WHILE_ROAMING_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "Ödəniz planınızdan asılı olaraq Mobil tarifdən istifadə əlavə xərclərlə nəticələnə bilər."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DELETED_ABB"
+msgstr "%d element silinəcək."
+
+msgid "IDS_GALLERY_OPT_DELETE"
+msgstr "Sil"
+
+msgid "IDS_GALLERY_BODY_YESTERDAY"
+msgstr "Dünən"
+
+msgid "IDS_BR_MBODY_DOWNLOADS"
+msgstr "Yükləmələr"
+
+msgid "IDS_GALLERY_HEADER_COPY"
+msgstr "Kopyala"
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Sil"
+
+msgid "IDS_GALLERY_BUTTON_ALBUMS"
+msgstr "Albomlar"
+
+msgid "IDS_GALLERY_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Elementlərin sayı maksimumu (%d) keçib."
+
+msgid "IDS_GALLERY_BUTTON_CANCEL"
+msgstr "Ləğv et"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "HAZIR"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "LƏĞV ET"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "SİL"
+
+msgid "IDS_GALLERY_POP_COPYING_ING"
+msgstr "Köçürülmə..."
+
+msgid "IDS_GALLERY_POP_MOVING_ING"
+msgstr "Göndərilmə..."
+
+msgid "IDS_STORYALBUM_POP_IF_YOU_CREATE_CONTENT_THAT_INCLUDES_ITEMS_FROM_PERSONAL_STORAGE_IT_MAY_NOT_BE_HIDDEN_AUTOMATICALLY_MSG"
+msgstr "Şəxsi yaddaşdakı elementlərdən ibarət məzmun yaratdıqda, o avtomatik olaraq gizlədilə bilməyəcəkdir. Seçilən şəxsi məzmun yeni məzmuna baxan zaman görünə bilər."
+
+msgid "IDS_HS_ACBUTTON_EDIT"
+msgstr "REDAKTƏ ET"
+
+msgid "IDS_MF_BUTTON_SETTINGS"
+msgstr "Parametrlər"
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "REDAKTƏ"
+
+msgid "IDS_CLOCK_HEADER_REORDER_ABB"
+msgstr "Yenidən nizamla"
+
diff --git a/res/po/bg.po b/res/po/bg.po
new file mode 100644 (file)
index 0000000..6fab360
--- /dev/null
@@ -0,0 +1,759 @@
+msgid "IDS_MF_POP_YOUR_DEVICE_IS_NOT_CONNECTED_TO_A_WI_FI_NETWORK_CONNECTING_TO_A_MOBILE_NETWORK_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "Вашето устройство не е свързано към Wi-Fi мрежа. Свързването към мобилна мрежа може да доведе до допълнителни такси, в зависимост от плана ви на таксуване."
+
+msgid "IDS_VIDEO_TPOP_MOBILE_DATA_TURNED_OFF_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_TURN_ON_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Мобилните данни са изключени. Вместо това се свържете към Wi-Fi мрежа или включете мобилните данни и опитайте отново."
+
+msgid "IDS_VIDEO_BODY_AFTER_YOU_RECORD_VIDEOS_USING_THE_CAMERA_THEY_WILL_BE_SHOWN_HERE"
+msgstr "След като заснемете видеоклипове с камерата, те ще се покажат тук."
+
+msgid "IDS_VIDEO_TPOP_FILE_NAME_ALREADY_IN_USE"
+msgstr "Името на файла вече се използва."
+
+msgid "IDS_MF_POP_DELETE_PD_ITEMS_Q"
+msgstr "Изтриване на %d елемента?"
+
+msgid "IDS_ST_HEADER_PRIVACY"
+msgstr "Поверителност"
+
+msgid "IDS_COM_BODY_SEP_ABB"
+msgstr "Сеп."
+
+msgid "IDS_COM_BODY_OCT_ABB"
+msgstr "Окт."
+
+msgid "IDS_COM_BODY_NOV_ABB"
+msgstr "Ное."
+
+msgid "IDS_COM_BODY_MAY_ABB"
+msgstr "май"
+
+msgid "IDS_COM_BODY_MAR_ABB"
+msgstr "Март"
+
+msgid "IDS_COM_BODY_JUN_ABB"
+msgstr "Юни"
+
+msgid "IDS_COM_BODY_JUL_ABB"
+msgstr "Юли"
+
+msgid "IDS_COM_BODY_JAN_ABB"
+msgstr "Ян."
+
+msgid "IDS_COM_BODY_FEB_ABB"
+msgstr "Фев."
+
+msgid "IDS_COM_BODY_DEC_ABB"
+msgstr "Дек."
+
+msgid "IDS_COM_BODY_AUG_ABB"
+msgstr "Авг."
+
+msgid "IDS_COM_BODY_APR_ABB"
+msgstr "Апр."
+
+msgid "IDS_GALLERY_HEADER_ALBUM"
+msgstr "Албум"
+
+msgid "IDS_MEDIABR_OPT_MORE"
+msgstr "Още"
+
+msgid "IDS_MEDIABR_POP_INVALID_INPUT_PARAMETER"
+msgstr "Невалиден параметър на входа."
+
+msgid "IDS_MEDIABR_POP_ENTRY_IS_EMPTY"
+msgstr "Празен запис"
+
+msgid "IDS_MEDIABR_POP_SAME_NAME_ALREADY_IN_USE"
+msgstr "Такова име вече се използва."
+
+msgid "IDS_MEDIABR_POP_UNABLE_TO_RENAME"
+msgstr "Не може да се преименува."
+
+msgid "IDS_MEDIABR_POP_NO_ALBUMS_SELECTED"
+msgstr "Не са избрани албуми."
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ITEM"
+msgstr "Изберете елемент"
+
+msgid "IDS_MEDIABR_BODY_NO_ALBUMS"
+msgstr "Няма албуми"
+
+msgid "IDS_MEDIABR_POP_CREATE_FOLDER_Q"
+msgstr "Създаване на папка?"
+
+msgid "IDS_MEDIABR_POP_RETRY_Q"
+msgstr "Повторен опит?"
+
+msgid "IDS_MEDIABR_POPUP_REMOVE_Q"
+msgstr "Премахване?"
+
+msgid "IDS_MEDIABR_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "%d албума ще бъдат изтрити."
+
+msgid "IDS_MEDIABR_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "1 албум ще бъде изтрит."
+
+msgid "IDS_MEDIABR_BODY_CAMERA"
+msgstr "Камера"
+
+msgid "IDS_MEDIABR_BUTTON_START"
+msgstr "Старт"
+
+msgid "IDS_MEDIABR_OPT_SETTINGS"
+msgstr "Настройки"
+
+msgid "IDS_MEDIABR_OPT_YES"
+msgstr "Да"
+
+msgid "IDS_MEDIABR_OPT_NO"
+msgstr "Не"
+
+msgid "IDS_MEDIABR_BUTTON_OK"
+msgstr "OK"
+
+msgid "IDS_MEDIABR_BUTTON_SAVE"
+msgstr "Запази"
+
+msgid "IDS_MEDIABR_POP_DELETE_Q"
+msgstr "Изтриване?"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_ALBUM"
+msgstr "Преместване в албум"
+
+msgid "IDS_GALLERY_OPT_COPY_TO_ALBUM"
+msgstr "Копиране в албум"
+
+msgid "IDS_GALLERY_HEADER_VIEW_BY_ABB"
+msgstr "Преглед по"
+
+msgid "IDS_GALLERY_HEADER_ENTER_NAME"
+msgstr "Въведете име"
+
+msgid "IDS_MEDIABR_POP_ALL_DATA_RELATED_TO_THIS_ACCOUNT_WILL_BE_DELETED_CONTINUE_Q"
+msgstr "Ще бъдат изтрити всички данни, свързани с този акаунт. Продължаване?"
+
+msgid "IDS_MEDIABR_BUTTON_CANCEL_ABB"
+msgstr "Отказ"
+
+msgid "IDS_MEDIABR_TAB4_NEW_ALBUM"
+msgstr "Нов албум"
+
+msgid "IDS_MEDIABR_POP_DO_YOU_WANT_TO_COPY_OR_MOVE_THE_PICTURES_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Искате ли да копирате или преместите снимките от първоначалния албум?"
+
+msgid "IDS_MEDIABR_OPT_SHARE"
+msgstr "Споделям"
+
+msgid "IDS_MEDIABR_OPT_SLIDESHOW"
+msgstr "Слайдшоу"
+
+msgid "IDS_MEDIABR_OPT_START_SLIDESHOW"
+msgstr "Започване на слайдшоу"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS"
+msgstr "Настройки на слайдшоу"
+
+msgid "IDS_MEDIABR_POP_NO_NAME"
+msgstr "Без име"
+
+msgid "IDS_MEDIABR_BODY_ALL_ALBUMS"
+msgstr "Всички албуми"
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ALBUM"
+msgstr "Избор на албум"
+
+msgid "IDS_MEDIABR_POP_1_ITEM_WILL_BE_DELETED"
+msgstr "1 елемент ще бъде изтрит."
+
+msgid "IDS_MEDIABR_OPT_ALL_ITEMS"
+msgstr "Всички елементи"
+
+msgid "IDS_MEDIABR_BODY_PD_ITEMS"
+msgstr "%d елемента"
+
+msgid "IDS_IV_BODY_THERE_IS_ONLY_ONE_ALBUM"
+msgstr "Има само един албум."
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "Можете да изберете до %d елемента."
+
+msgid "IDS_MF_BODY_DOWNLOADS"
+msgstr "Изтеглени файлове"
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Изтриване?"
+
+msgid "IDS_MF_SK_MOVE"
+msgstr "Мести"
+
+msgid "IDS_MF_POP_DELETING_ING"
+msgstr "Изтриване..."
+
+msgid "IDS_CAM_BODY_OPERATION_FAILED"
+msgstr "Операцията е неуспешна."
+
+msgid "IDS_MSG_BODY_CANCELLED_M_CONTENT"
+msgstr "Отказано"
+
+msgid "IDS_MF_OPT_DELETE_SELECTED"
+msgstr "Избран"
+
+msgid "IDS_MF_POP_MOVED"
+msgstr "Преместено."
+
+msgid "IDS_MF_POP_COPIED"
+msgstr "Копирано."
+
+msgid "IDS_VPL_POP_NO_FILES_SELECTED"
+msgstr "Няма избрани файлове."
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Затвори"
+
+msgid "IDS_MF_OPT_SORT_BY_ABB"
+msgstr "Сортиране по"
+
+msgid "IDS_CAM_POP_LATEST"
+msgstr "Най-нови"
+
+msgid "IDS_MEDIABR_POP_OLDEST_M_DATE"
+msgstr "Най-стари"
+
+msgid "IDS_MSG_BUTTON2_CREATE"
+msgstr "Създаване"
+
+msgid "IDS_MEDIABR_POP_NO_ITEMS"
+msgstr "Няма елементи"
+
+msgid "IDS_MEDIABR_OPT_EDIT_IMAGE"
+msgstr "Редактиране на изображение"
+
+msgid "IDS_MEDIABR_BODY_SELECT_PICTURE"
+msgstr "Изберете картина"
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ITEM_Q"
+msgstr "Изтривате ли този елемент?"
+
+msgid "IDS_GALLERY_OPT_SCENERY"
+msgstr "Пейзаж"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PRIVATE"
+msgstr "Премахване от Лични"
+
+msgid "IDS_GALLERY_OPT_PETS"
+msgstr "Домашни любимци"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_PRIVATE"
+msgstr "Преместване в Лична"
+
+msgid "IDS_GALLERY_OPT_FOOD"
+msgstr "Храна"
+
+msgid "IDS_GALLERY_OPT_FLOWERS"
+msgstr "Цветя"
+
+msgid "IDS_GALLERY_OPT_DOCUMENTS"
+msgstr "Документи"
+
+msgid "IDS_GALLERY_MBODY_VEHICLES"
+msgstr "Превозни средства"
+
+msgid "IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED"
+msgstr "Достигнат е максималният брой знаци (%d)."
+
+msgid "IDS_IV_BODY_UNABLE_TO_LOAD_PHOTO_ABB"
+msgstr "Невъзможно зареждане на снимката."
+
+msgid "IDS_IV_BODY_SHARE_VIA"
+msgstr "Споделяне чрез"
+
+msgid "IDS_IV_BODY_DONT_ASK_AGAIN"
+msgstr "Не питай повече"
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Достигнат максимален брой знаци."
+
+msgid "IDS_GALLERY_HEADER_TIME"
+msgstr "Час"
+
+msgid "IDS_EMAIL_BODY_FAILED_M_STATUS"
+msgstr "Неуспешно"
+
+msgid "IDS_EMAIL_BODY_DELETED"
+msgstr "Изтрито."
+
+msgid "IDS_EMAIL_POP_DELETE_Q"
+msgstr "Изтриване?"
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Премахване..."
+
+msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS"
+msgstr "Показване на %d елемента"
+
+msgid "IDS_GALLERY_OPT_CREATE_ALBUM"
+msgstr "Създаване на албум"
+
+msgid "IDS_GALLERY_OPT_GALLERY_ABB"
+msgstr "Галерия"
+
+msgid "IDS_EMAIL_BUTTON_MORE"
+msgstr "Още"
+
+msgid "IDS_EMAIL_OPT_ACCOUNTS"
+msgstr "Акаунти"
+
+msgid "IDS_EMAIL_POP_OPERATION_FAILED"
+msgstr "Операцията е неуспешна."
+
+msgid "IDS_GALLERY_BODY_DOWNLOAD"
+msgstr "Изтегляне"
+
+msgid "IDS_GALLERY_BODY_SEARCH"
+msgstr "Търси"
+
+msgid "IDS_GALLERY_BUTTON_BACK"
+msgstr "Назад"
+
+msgid "IDS_GALLERY_BUTTON_CAMERA"
+msgstr "Камера"
+
+msgid "IDS_GALLERY_HEADER_ALL"
+msgstr "Всички"
+
+msgid "IDS_GALLERY_OPT_REFRESH"
+msgstr "Обновяване"
+
+msgid "IDS_GALLERY_OPT_REMOVE"
+msgstr "Премаxване"
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_DROPBOX_ITEMS_WILL_BE_SHOWN"
+msgstr "След като качите снимки в Dropbox, елементите ще се покажат."
+
+msgid "IDS_KEEPIT_BODY_GROUP_PLAY_ABB"
+msgstr "Group Play"
+
+msgid "IDS_MEDIABR_HEADER_CONTACTS"
+msgstr "Телефонен указател"
+
+msgid "IDS_MEDIABR_OPT_CREATE"
+msgstr "Създай"
+
+msgid "IDS_MEDIABR_OPT_DETAILS"
+msgstr "Детайли"
+
+msgid "IDS_MEDIABR_OPT_PRINT"
+msgstr "Отпечатване"
+
+msgid "IDS_MEDIABR_OPT_RENAME"
+msgstr "Преименуване"
+
+msgid "IDS_MEDIABR_POP_DOWNLOADED"
+msgstr "Изтеглен."
+
+msgid "IDS_MEDIABR_POP_DOWNLOADING_ING"
+msgstr "Смъкване..."
+
+msgid "IDS_MF_HEADER_ENTER_NAME"
+msgstr "Въведете име."
+
+msgid "IDS_MF_HEADER_MYFILES"
+msgstr "Моите файлове"
+
+msgid "IDS_MF_POP_ADDED"
+msgstr "Добавен."
+
+msgid "IDS_MF_POP_PROCESSING_ING"
+msgstr "Обработване..."
+
+msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
+msgstr "Неподдържан тип файл."
+
+msgid "IDS_IMGE_BODY_AFTER_YOU_TAKE_PICTURES_PICTURES_WILL_BE_SHOWN"
+msgstr "След като направите снимки, те ще бъдат показани."
+
+msgid "IDS_IME_BODY_LANDSCAPE_MODE"
+msgstr "Пейзажен режим"
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_CLOSE_DRAWER_MENU_TTS"
+msgstr "Чукнете двукратно, за да затворите менюто."
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_OPEN_DRAWER_MENU_TTS"
+msgstr "Чукнете двукратно, за да отворите менюто."
+
+msgid "IDS_EMAIL_BODY_DRAG_AND_DROP"
+msgstr "Плъзнете и пуснете"
+
+msgid "IDS_EMAIL_OPT_DRAWER_ABB"
+msgstr "Чекмедже"
+
+msgid "IDS_EMAIL_POP_MOBILE_DATA_IS_DISABLED_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_ENABLE_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Мобилните данни са деактивирани. Вместо това се свържете към Wi-Fi мрежа или активирайте мобилни данни и опитайте отново"
+
+msgid "IDS_EMAIL_POP_WI_FI_CONNECTION_REQUIRED_CONNECT_TO_WI_FI_NETWORK_AND_TRY_AGAIN"
+msgstr "Необходима е Wi-Fi връзка. Свържете се към Wi-Fi мрежа и опитайте отново"
+
+msgid "IDS_GALLERY_HEADER_ADD_PICTURES_FROM_ABB"
+msgstr "Добавяне на снимки от"
+
+msgid "IDS_GALLERY_HEADER_CONNECTED_DEVICES_ABB"
+msgstr "Свързани устройства"
+
+msgid "IDS_GALLERY_OPT_PRIVATE_CONTENT"
+msgstr "Лично съдържание"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PS"
+msgstr "Премахване от %s"
+
+msgid "IDS_GALLERY_OPT_REMOVE_NAME_TAG"
+msgstr "Премахване на тага с име"
+
+msgid "IDS_GALLERY_POP_THERE_ARE_NO_EVENTS_TO_DISPLAY_CREATE_A_NEW_EVENT"
+msgstr "Няма събития за показване. Създайте ново събитие."
+
+msgid "IDS_GALLERY_POP_TO_SCROLL_QUICKLY_TO_OTHER_DATES_TAP_AND_HOLD_THE_DATE_INDICATOR_AT_THE_TOP_RIGHT_OF_THE_SCREEN"
+msgstr "За да превъртите бързо на други дати, чукнете и задръжте индикатора за дата в горната дясна част на екрана."
+
+msgid "IDS_GP_POP_REMOVE_PD_ITEMS_Q"
+msgstr "Премахване на %d елемента?"
+
+msgid "IDS_GP_POP_REMOVE_THIS_ITEM_Q"
+msgstr "Премахвате ли това устройство?"
+
+msgid "IDS_HELP_BODY_GALLERY"
+msgstr "Галерия"
+
+msgid "IDS_HELP_OPT_SHUFFLED_PICTURES"
+msgstr "Разбъркани снимки"
+
+msgid "IDS_IV_BODY_ADD_PICTURES"
+msgstr "Добавяне на картини"
+
+msgid "IDS_IV_BODY_AFTER_YOU_TAG_PICTURES_AS_YOUR_FAVOURITES_PICTURES_WILL_BE_SHOWN"
+msgstr "След като отбележите снимки като предпочитани, те ще се покажат."
+
+msgid "IDS_IV_BODY_REMOVE_FACE_IDENTIFICATION_Q"
+msgstr "Премахване на идентификацията на лице?"
+
+msgid "IDS_IV_OPT_ASSIGN_NAME"
+msgstr "Възлагане на име"
+
+msgid "IDS_IV_OPT_CONFIRM_AS_PS"
+msgstr "Потвърди като %s"
+
+msgid "IDS_IV_OPT_LAYOUT_M_PICTUERS"
+msgstr "Оформление"
+
+msgid "IDS_IV_OPT_PD_PICTURES_ADDED"
+msgstr "Добавени са %d снимки"
+
+msgid "IDS_IV_POP_THE_ALBUM_WILL_BE_CANCELLED"
+msgstr "Албумът ще бъде отменен."
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEM_ABB"
+msgstr "Изтрий елемента"
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEMS"
+msgstr "Изтриване на елементи"
+
+msgid "IDS_MEDIABR_BODY_1_ITEM"
+msgstr "1 елемент"
+
+msgid "IDS_MEDIABR_BODY_10_SECONDS"
+msgstr "10 секунди"
+
+msgid "IDS_MEDIABR_BODY_5_SECONDS"
+msgstr "5 секунди"
+
+msgid "IDS_MEDIABR_BODY_NOT_ASSIGNED"
+msgstr "Незададен"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL"
+msgstr "Интервал на слайдшоуто"
+
+msgid "IDS_MEDIABR_BODY_UNTAGGED"
+msgstr "Без тагове"
+
+msgid "IDS_MEDIABR_OPT_3_SECONDS"
+msgstr "3 секунди"
+
+msgid "IDS_MEDIABR_OPT_ALL_CONTENT"
+msgstr "Цялото съдържание"
+
+msgid "IDS_MEDIABR_OPT_CONTENT_TO_DISPLAY"
+msgstr "Съдържание за показване"
+
+msgid "IDS_MEDIABR_OPT_DELETE_TAG"
+msgstr "Изтриване на тага"
+
+msgid "IDS_MEDIABR_OPT_DEVICE_CONTENT"
+msgstr "Съдържание в устройството"
+
+msgid "IDS_MEDIABR_OPT_DROPBOX_CONTENT"
+msgstr "Съдържание в Dropbox"
+
+msgid "IDS_MEDIABR_OPT_FACEBOOK_CONTENT"
+msgstr "Съдържание във Facebook"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_LEFT"
+msgstr "Завъртане наляво"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_RIGHT"
+msgstr "Завъртане надясно"
+
+msgid "IDS_MEDIABR_POP_IMPORT"
+msgstr "Въвеждане"
+
+msgid "IDS_MEDIABR_POP_IMPORTED"
+msgstr "Импортирано."
+
+msgid "IDS_MEDIABR_POP_IMPORTING_ING"
+msgstr "Импортиране..."
+
+msgid "IDS_MEDIABR_POP_LOADING_ING"
+msgstr "Зареждане"
+
+msgid "IDS_MEDIABR_POP_NEARBY_DEVICES_FOUND"
+msgstr "Намерени са близки устройства."
+
+msgid "IDS_MEDIABR_POP_NO_DEVICES_FOUND_SCANNING_FOR_NEARBY_DEVICES_WILL_CONTINUE_IN_BACKGROUND"
+msgstr "Няма открити устройства. Сканирането за близки устройства ще продължи във фонов режим."
+
+msgid "IDS_MEDIABR_POP_REFRESHED"
+msgstr "Обновено."
+
+msgid "IDS_MEDIABR_POP_ROTATING_ING"
+msgstr "Завъртане..."
+
+msgid "IDS_MEDIABR_POP_SCAN_STARTED_DEVICE_LIST_WILL_BE_UPDATED_AUTOMATICALLY"
+msgstr "Сканирането стартира. Списъкът с устройства ще се актуализира автоматично."
+
+msgid "IDS_MEDIABR_POP_STARTING_DOWNLOAD_ABB"
+msgstr "Стартира се изтегляне..."
+
+msgid "IDS_MF_OPT_COPY_TO"
+msgstr "Копиране в"
+
+msgid "IDS_MF_OPT_MOVE_TO"
+msgstr "Премести в"
+
+msgid "IDS_MF_POP_FAILED_TO_ADD_SHORTCUT"
+msgstr "Неуспешно добавяне на бърза команда."
+
+msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
+msgstr "Няма достатъчно памет. Изтрийте някои елементи"
+
+msgid "IDS_MF_POP_REMOVED"
+msgstr "Премахнат."
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Добавяне..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "Изтривате ли %d албума?"
+
+msgid "IDS_ST_BODY_PRIVATE_STORAGE"
+msgstr "Лично място за съхранение"
+
+msgid "IDS_IV_BODY_DRAG_HERE"
+msgstr "Плъзнете тук."
+
+msgid "IDS_GALLERY_BODY_NEW_M_ALBUM_ABB"
+msgstr "Ново"
+
+msgid "IDS_GALLERY_HEADER_UNGROUPEDM_PEOPLE_ABB"
+msgstr "Негрупирани"
+
+msgid "IDS_KEEPIT_OPT_SCREENSHOTS_ABB"
+msgstr "Снимки на екрана"
+
+msgid "IDS_MEDIABR_OPT_PHOTOS"
+msgstr "Снимки"
+
+msgid "IDS_MEDIABR_POP_DOWNLOAD_FAILED"
+msgstr "Неуспешно изтегляне."
+
+msgid "IDS_MEDIABR_POP_UNSUPPORTED_FILE"
+msgstr "Неподдържан файл."
+
+msgid "IDS_SEARCH_BODY_1_RESULT"
+msgstr "1 резултат"
+
+msgid "IDS_SEARCH_BODY_PD_RESULTS"
+msgstr "%d резултата"
+
+msgid "IDS_TW_BODY_FAVORITES"
+msgstr "Предпочитани"
+
+msgid "IDS_EMAIL_POP_DOWNLOAD_CANCELLED"
+msgstr "Изтеглянето e отменено."
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ALBUM_Q"
+msgstr "Изтривате ли този албум?"
+
+msgid "IDS_CAM_HEADER_WARNING_ABB"
+msgstr "Внимание"
+
+msgid "IDS_ALM_OPT_SORT_BY"
+msgstr "Сортиране по"
+
+msgid "IDS_CLD_OPT_TODAY"
+msgstr "Днес"
+
+msgid "IDS_GALLERY_BODY_DATE"
+msgstr "Дата"
+
+msgid "IDS_EMAIL_BODY_NO_ITEMS_TO_DISPLAY"
+msgstr "Няма елементи за показване."
+
+msgid "IDS_PBR_BODY_TAP_HERE_TO_TAKE_PICTURES_OR_VIDEOS"
+msgstr "Чукнете тук, за да направите снимки или клипове."
+
+msgid "IDS_NFC_TPOP_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SHARED_HPD_EXCEEDED"
+msgstr "Максималният брой елементи, които може да се споделят (%d), е надвишен."
+
+msgid "IDS_IV_BODY_TAP_TO_ADD_IMAGES"
+msgstr "Чукнете, за да добавите изображения."
+
+msgid "IDS_GALLERY_POP_COPY_OR_MOVE_THE_SELECTED_ITEMS_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Искате ли да копирате или преместите избраните елементи от първоначалния албум?"
+
+msgid "IDS_GALLERY_HEADER_SELECT"
+msgstr "Избор"
+
+msgid "IDS_VIDEO_POP_FILE_ALREADY_EXISTS"
+msgstr "Файлът вече съществува."
+
+msgid "IDS_VIDEO_POP_THIS_ITEM_WILL_BE_DELETED"
+msgstr "Този елемент ще бъде изтрит."
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_FACEBOOK_ITEMS_WILL_BE_SHOWN"
+msgstr "След като качите снимки във Facebook, елементите ще се покажат."
+
+msgid "IDS_GALLERY_HEADER_SELECT_ALL_ABB"
+msgstr "Избор на всичко"
+
+msgid "IDS_GALLERY_HEADER_PD_SELECTED_ABB"
+msgstr "%d избрани"
+
+msgid "IDS_GALLERY_OPT_VIEW_AS"
+msgstr "Преглед като"
+
+msgid "IDS_GALLERY_OPT_DATE_HMOST_RECENT_ABB2"
+msgstr "Дата (най-нови)"
+
+msgid "IDS_GALLERY_OPT_DATE_HOLDEST_ABB3"
+msgstr "Дата (стари)"
+
+msgid "IDS_GALLERY_BODY_AFTER_YOU_TAKE_PICTURES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "След като направите снимки, те ще се покажат тук."
+
+msgid "IDS_CLOUD_TPOP_CANCELLING_ING"
+msgstr "Отмяна..."
+
+msgid "IDS_GALLERY_OPT_FROM_DEVICE_ABB"
+msgstr "От устройството"
+
+msgid "IDS_GALLERY_OPT_FROM_DROPBOX_ABB"
+msgstr "От Dropbox"
+
+msgid "IDS_GALLERY_OPT_FROM_FACEBOOK_ABB"
+msgstr "От Facebook"
+
+msgid "IDS_MUSIC_BODY_DOWNLOAD_COMPLETED"
+msgstr "Изтеглянето е завършено."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DELETED"
+msgstr "Всички елементи ще бъдат изтрити."
+
+msgid "IDS_GALLERY_POP_1_ITEM_WILL_BE_DOWNLOADED"
+msgstr "1 елемент ще бъде изтеглен."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "%d елемента ще бъдат изтеглени."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "Всички елементи ще бъдат изтеглени."
+
+msgid "IDS_GALLERY_TPOP_SELECTED_ALBUM_SAME_AS_SOURCE_ALBUM_SELECT_ANOTHER_ALBUM"
+msgstr "Избраният албум е същият като албума-източник. Изберете друг албум."
+
+msgid "IDS_HS_NPBODY_TAP_HERE_TO_ADD_IMAGES"
+msgstr "Докоснете тук, за да добавите изображения"
+
+msgid "IDS_MF_HEADER_UNABLE_TO_SAVE_DATA_ABB"
+msgstr "Данни не се записват"
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_IN_YOUR_DEVICE_STORAGE_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "Няма достатъчно място в паметта на устройството ви. Отидете в Настройки > Захранване и памет > Памет, след което изтрийте някои файлове и опитайте отново."
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_YOUR_SD_CARD_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "Няма достатъчно място в SD картата. Отидете в Настройки > Захранване и памет > Памет, след което изтрийте някои файлове и опитайте отново."
+
+msgid "IDS_MF_BUTTON_CANCEL_ABB3"
+msgstr "Отказ"
+
+msgid "IDS_MF_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Не показвай повече"
+
+msgid "IDS_MF_POP_USING_MOBILE_DATA_WHILE_ROAMING_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "Използването на мобилни данни в роуминг може да доведе до допълнителни такси в зависимост от плана за плащане."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DELETED_ABB"
+msgstr "%d елемента ще бъдат изтрити."
+
+msgid "IDS_GALLERY_OPT_DELETE"
+msgstr "Изтриване"
+
+msgid "IDS_GALLERY_BODY_YESTERDAY"
+msgstr "Вчера"
+
+msgid "IDS_BR_MBODY_DOWNLOADS"
+msgstr "Изтеглени файлове"
+
+msgid "IDS_GALLERY_HEADER_COPY"
+msgstr "Копиране"
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Изтриване"
+
+msgid "IDS_GALLERY_BUTTON_ALBUMS"
+msgstr "Албуми"
+
+msgid "IDS_GALLERY_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Максималният брой елементи (%d) е надвишен."
+
+msgid "IDS_GALLERY_BUTTON_CANCEL"
+msgstr "Отказ"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "ГОТОВО"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ОТКАЗ"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "ИЗТРИВАНЕ"
+
+msgid "IDS_GALLERY_POP_COPYING_ING"
+msgstr "Копиране..."
+
+msgid "IDS_GALLERY_POP_MOVING_ING"
+msgstr "Преместване"
+
+msgid "IDS_STORYALBUM_POP_IF_YOU_CREATE_CONTENT_THAT_INCLUDES_ITEMS_FROM_PERSONAL_STORAGE_IT_MAY_NOT_BE_HIDDEN_AUTOMATICALLY_MSG"
+msgstr "Ако създадете съдържание, което включва елементи от лично място за съхранение, то може да не се скрие автоматично. Избраното лично съдържание може да бъде видяно, когато преглеждате новото съдържание."
+
+msgid "IDS_HS_ACBUTTON_EDIT"
+msgstr "РЕДАКТИРАНЕ"
+
+msgid "IDS_MF_BUTTON_SETTINGS"
+msgstr "Настройки"
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "РЕДАКЦИЯ"
+
+msgid "IDS_CLOCK_HEADER_REORDER_ABB"
+msgstr "Пренареждане"
+
diff --git a/res/po/ca.po b/res/po/ca.po
new file mode 100644 (file)
index 0000000..4c73855
--- /dev/null
@@ -0,0 +1,759 @@
+msgid "IDS_MF_POP_YOUR_DEVICE_IS_NOT_CONNECTED_TO_A_WI_FI_NETWORK_CONNECTING_TO_A_MOBILE_NETWORK_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "El dispositiu no està connectat a cap xarxa Wi-Fi. Connectar-se a una xarxa mòbil pot comportar càrrecs addicionals en funció del seu pla de pagament."
+
+msgid "IDS_VIDEO_TPOP_MOBILE_DATA_TURNED_OFF_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_TURN_ON_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Dades mòbils desactivades. Connecti's a una xarxa Wi-Fi o activi les dades mòbils i torni-ho a intentar."
+
+msgid "IDS_VIDEO_BODY_AFTER_YOU_RECORD_VIDEOS_USING_THE_CAMERA_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Després de gravar vídeos amb la càmera, es mostraran aquí."
+
+msgid "IDS_VIDEO_TPOP_FILE_NAME_ALREADY_IN_USE"
+msgstr "El nom de fitxer està en ús."
+
+msgid "IDS_MF_POP_DELETE_PD_ITEMS_Q"
+msgstr "Esborrar %d elements?"
+
+msgid "IDS_ST_HEADER_PRIVACY"
+msgstr "Confidencialitat"
+
+msgid "IDS_COM_BODY_SEP_ABB"
+msgstr "Set."
+
+msgid "IDS_COM_BODY_OCT_ABB"
+msgstr "Oct."
+
+msgid "IDS_COM_BODY_NOV_ABB"
+msgstr "Nov."
+
+msgid "IDS_COM_BODY_MAY_ABB"
+msgstr "Mai."
+
+msgid "IDS_COM_BODY_MAR_ABB"
+msgstr "Març"
+
+msgid "IDS_COM_BODY_JUN_ABB"
+msgstr "Juny"
+
+msgid "IDS_COM_BODY_JUL_ABB"
+msgstr "Jul."
+
+msgid "IDS_COM_BODY_JAN_ABB"
+msgstr "Gen."
+
+msgid "IDS_COM_BODY_FEB_ABB"
+msgstr "Feb."
+
+msgid "IDS_COM_BODY_DEC_ABB"
+msgstr "Des."
+
+msgid "IDS_COM_BODY_AUG_ABB"
+msgstr "Ag."
+
+msgid "IDS_COM_BODY_APR_ABB"
+msgstr "Abr."
+
+msgid "IDS_GALLERY_HEADER_ALBUM"
+msgstr "Àlbum"
+
+msgid "IDS_MEDIABR_OPT_MORE"
+msgstr "Més"
+
+msgid "IDS_MEDIABR_POP_INVALID_INPUT_PARAMETER"
+msgstr "Paràmetre d'entrada no vàlid"
+
+msgid "IDS_MEDIABR_POP_ENTRY_IS_EMPTY"
+msgstr "L'entrada és buida"
+
+msgid "IDS_MEDIABR_POP_SAME_NAME_ALREADY_IN_USE"
+msgstr "El mateix nom ja està en ús"
+
+msgid "IDS_MEDIABR_POP_UNABLE_TO_RENAME"
+msgstr "No es pot canviar nom"
+
+msgid "IDS_MEDIABR_POP_NO_ALBUMS_SELECTED"
+msgstr "Sense àlbums seleccionats"
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ITEM"
+msgstr "Seleccionar element"
+
+msgid "IDS_MEDIABR_BODY_NO_ALBUMS"
+msgstr "Cap àlbum"
+
+msgid "IDS_MEDIABR_POP_CREATE_FOLDER_Q"
+msgstr "Crear carpeta?"
+
+msgid "IDS_MEDIABR_POP_RETRY_Q"
+msgstr "Tornar-ho a intentar?"
+
+msgid "IDS_MEDIABR_POPUP_REMOVE_Q"
+msgstr "Eliminar?"
+
+msgid "IDS_MEDIABR_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "S'esborraran %d àlbums"
+
+msgid "IDS_MEDIABR_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "S'esborrarà 1 àlbum"
+
+msgid "IDS_MEDIABR_BODY_CAMERA"
+msgstr "Càmera"
+
+msgid "IDS_MEDIABR_BUTTON_START"
+msgstr "Iniciar"
+
+msgid "IDS_MEDIABR_OPT_SETTINGS"
+msgstr "Ajustaments"
+
+msgid "IDS_MEDIABR_OPT_YES"
+msgstr "Sí"
+
+msgid "IDS_MEDIABR_OPT_NO"
+msgstr "No"
+
+msgid "IDS_MEDIABR_BUTTON_OK"
+msgstr "Acceptar"
+
+msgid "IDS_MEDIABR_BUTTON_SAVE"
+msgstr "Desar"
+
+msgid "IDS_MEDIABR_POP_DELETE_Q"
+msgstr "Esborrar?"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_ALBUM"
+msgstr "Moure a l'àlbum"
+
+msgid "IDS_GALLERY_OPT_COPY_TO_ALBUM"
+msgstr "Copiar a l'àlbum"
+
+msgid "IDS_GALLERY_HEADER_VIEW_BY_ABB"
+msgstr "Veure per"
+
+msgid "IDS_GALLERY_HEADER_ENTER_NAME"
+msgstr "Introduir nom"
+
+msgid "IDS_MEDIABR_POP_ALL_DATA_RELATED_TO_THIS_ACCOUNT_WILL_BE_DELETED_CONTINUE_Q"
+msgstr "S'esborraran totes les dades relacionades amb aquest compte. Continuar?"
+
+msgid "IDS_MEDIABR_BUTTON_CANCEL_ABB"
+msgstr "Cancel·lar"
+
+msgid "IDS_MEDIABR_TAB4_NEW_ALBUM"
+msgstr "Àlbum nou"
+
+msgid "IDS_MEDIABR_POP_DO_YOU_WANT_TO_COPY_OR_MOVE_THE_PICTURES_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Vol copiar o moure les fotos de l'àlbum original?"
+
+msgid "IDS_MEDIABR_OPT_SHARE"
+msgstr "Compartir"
+
+msgid "IDS_MEDIABR_OPT_SLIDESHOW"
+msgstr "Presentació de diapositives"
+
+msgid "IDS_MEDIABR_OPT_START_SLIDESHOW"
+msgstr "Iniciar presentació de diapositives"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS"
+msgstr "Ajustaments de la presentació de diapositives"
+
+msgid "IDS_MEDIABR_POP_NO_NAME"
+msgstr "Sense nom"
+
+msgid "IDS_MEDIABR_BODY_ALL_ALBUMS"
+msgstr "Tots els àlbums"
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ALBUM"
+msgstr "Seleccionar àlbum"
+
+msgid "IDS_MEDIABR_POP_1_ITEM_WILL_BE_DELETED"
+msgstr "S'esborrarà 1 element"
+
+msgid "IDS_MEDIABR_OPT_ALL_ITEMS"
+msgstr "Tots els elements"
+
+msgid "IDS_MEDIABR_BODY_PD_ITEMS"
+msgstr "%d elements"
+
+msgid "IDS_IV_BODY_THERE_IS_ONLY_ONE_ALBUM"
+msgstr "Només hi ha un àlbum"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "Pot seleccionar fins a %d elements"
+
+msgid "IDS_MF_BODY_DOWNLOADS"
+msgstr "Descàrregues"
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Esborrar?"
+
+msgid "IDS_MF_SK_MOVE"
+msgstr "Moure"
+
+msgid "IDS_MF_POP_DELETING_ING"
+msgstr "Esborrant..."
+
+msgid "IDS_CAM_BODY_OPERATION_FAILED"
+msgstr "Operació fallida"
+
+msgid "IDS_MSG_BODY_CANCELLED_M_CONTENT"
+msgstr "Cancel·lat"
+
+msgid "IDS_MF_OPT_DELETE_SELECTED"
+msgstr "Seleccionat"
+
+msgid "IDS_MF_POP_MOVED"
+msgstr "Mogut"
+
+msgid "IDS_MF_POP_COPIED"
+msgstr "Copiat"
+
+msgid "IDS_VPL_POP_NO_FILES_SELECTED"
+msgstr "No s'han seleccionat fitxers"
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Tancar"
+
+msgid "IDS_MF_OPT_SORT_BY_ABB"
+msgstr "Ordenar per"
+
+msgid "IDS_CAM_POP_LATEST"
+msgstr "Més recents"
+
+msgid "IDS_MEDIABR_POP_OLDEST_M_DATE"
+msgstr "Més antics"
+
+msgid "IDS_MSG_BUTTON2_CREATE"
+msgstr "Crear"
+
+msgid "IDS_MEDIABR_POP_NO_ITEMS"
+msgstr "No hi ha elements"
+
+msgid "IDS_MEDIABR_OPT_EDIT_IMAGE"
+msgstr "Editar la imatge"
+
+msgid "IDS_MEDIABR_BODY_SELECT_PICTURE"
+msgstr "Seleccionar imatge"
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ITEM_Q"
+msgstr "Esborrar aquest element?"
+
+msgid "IDS_GALLERY_OPT_SCENERY"
+msgstr "Paisatge"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PRIVATE"
+msgstr "Esborrar de Privat"
+
+msgid "IDS_GALLERY_OPT_PETS"
+msgstr "Mascotes"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_PRIVATE"
+msgstr "Moure a Privat"
+
+msgid "IDS_GALLERY_OPT_FOOD"
+msgstr "Menjar"
+
+msgid "IDS_GALLERY_OPT_FLOWERS"
+msgstr "Flors"
+
+msgid "IDS_GALLERY_OPT_DOCUMENTS"
+msgstr "Documents"
+
+msgid "IDS_GALLERY_MBODY_VEHICLES"
+msgstr "Vehicles"
+
+msgid "IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED"
+msgstr "S'ha assolit el nombre màxim de caràcters (%d)"
+
+msgid "IDS_IV_BODY_UNABLE_TO_LOAD_PHOTO_ABB"
+msgstr "No es pot carregar la foto"
+
+msgid "IDS_IV_BODY_SHARE_VIA"
+msgstr "Compartir mitjançant"
+
+msgid "IDS_IV_BODY_DONT_ASK_AGAIN"
+msgstr "No ho tornis a preguntar"
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "S'ha assolit el nombre màxim de caràcters"
+
+msgid "IDS_GALLERY_HEADER_TIME"
+msgstr "Hora"
+
+msgid "IDS_EMAIL_BODY_FAILED_M_STATUS"
+msgstr "Error"
+
+msgid "IDS_EMAIL_BODY_DELETED"
+msgstr "Esborrat"
+
+msgid "IDS_EMAIL_POP_DELETE_Q"
+msgstr "Esborrar?"
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Eliminant..."
+
+msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS"
+msgstr "Mostrant %d elements"
+
+msgid "IDS_GALLERY_OPT_CREATE_ALBUM"
+msgstr "Crear àlbum"
+
+msgid "IDS_GALLERY_OPT_GALLERY_ABB"
+msgstr "Galeria"
+
+msgid "IDS_EMAIL_BUTTON_MORE"
+msgstr "Més"
+
+msgid "IDS_EMAIL_OPT_ACCOUNTS"
+msgstr "Comptes"
+
+msgid "IDS_EMAIL_POP_OPERATION_FAILED"
+msgstr "Operació fallida"
+
+msgid "IDS_GALLERY_BODY_DOWNLOAD"
+msgstr "Descarregar"
+
+msgid "IDS_GALLERY_BODY_SEARCH"
+msgstr "Cercar"
+
+msgid "IDS_GALLERY_BUTTON_BACK"
+msgstr "Enrere"
+
+msgid "IDS_GALLERY_BUTTON_CAMERA"
+msgstr "Càmera"
+
+msgid "IDS_GALLERY_HEADER_ALL"
+msgstr "Tot"
+
+msgid "IDS_GALLERY_OPT_REFRESH"
+msgstr "Actualitzar"
+
+msgid "IDS_GALLERY_OPT_REMOVE"
+msgstr "Eliminar"
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_DROPBOX_ITEMS_WILL_BE_SHOWN"
+msgstr "Després de carregar fotos a Dropbox, se'n mostraran els elements"
+
+msgid "IDS_KEEPIT_BODY_GROUP_PLAY_ABB"
+msgstr "Group Play"
+
+msgid "IDS_MEDIABR_HEADER_CONTACTS"
+msgstr "Contactes"
+
+msgid "IDS_MEDIABR_OPT_CREATE"
+msgstr "Crea"
+
+msgid "IDS_MEDIABR_OPT_DETAILS"
+msgstr "Detalls"
+
+msgid "IDS_MEDIABR_OPT_PRINT"
+msgstr "Imprimir"
+
+msgid "IDS_MEDIABR_OPT_RENAME"
+msgstr "Canviar nom"
+
+msgid "IDS_MEDIABR_POP_DOWNLOADED"
+msgstr "Descarregat"
+
+msgid "IDS_MEDIABR_POP_DOWNLOADING_ING"
+msgstr "Descarregant..."
+
+msgid "IDS_MF_HEADER_ENTER_NAME"
+msgstr "Introduir nom"
+
+msgid "IDS_MF_HEADER_MYFILES"
+msgstr "Els meus fitxers"
+
+msgid "IDS_MF_POP_ADDED"
+msgstr "Afegit"
+
+msgid "IDS_MF_POP_PROCESSING_ING"
+msgstr "Processant..."
+
+msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
+msgstr "No s'admet el tipus de fitxer"
+
+msgid "IDS_IMGE_BODY_AFTER_YOU_TAKE_PICTURES_PICTURES_WILL_BE_SHOWN"
+msgstr "Després de fer fotos, es mostraran les fotos"
+
+msgid "IDS_IME_BODY_LANDSCAPE_MODE"
+msgstr "Mode horitzontal"
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_CLOSE_DRAWER_MENU_TTS"
+msgstr "Toqui dos cops per tancar el menú del calaix."
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_OPEN_DRAWER_MENU_TTS"
+msgstr "Toqui dos cops per obrir el menú del calaix."
+
+msgid "IDS_EMAIL_BODY_DRAG_AND_DROP"
+msgstr "Arrossegar i deixar anar"
+
+msgid "IDS_EMAIL_OPT_DRAWER_ABB"
+msgstr "Calaix"
+
+msgid "IDS_EMAIL_POP_MOBILE_DATA_IS_DISABLED_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_ENABLE_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Les dades mòbils estan deshabilitades. Connecti a una xarxa Wi-Fi en el seu lloc, o habiliti dades mòbils i torni-ho a intentar."
+
+msgid "IDS_EMAIL_POP_WI_FI_CONNECTION_REQUIRED_CONNECT_TO_WI_FI_NETWORK_AND_TRY_AGAIN"
+msgstr "Cal una connexió Wi-Fi. Connecti a la xarxa Wi-Fi i torni-ho a intentar."
+
+msgid "IDS_GALLERY_HEADER_ADD_PICTURES_FROM_ABB"
+msgstr "Afegir fotos des de"
+
+msgid "IDS_GALLERY_HEADER_CONNECTED_DEVICES_ABB"
+msgstr "Dispositius connectats"
+
+msgid "IDS_GALLERY_OPT_PRIVATE_CONTENT"
+msgstr "Contingut privat"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PS"
+msgstr "Eliminar de %s"
+
+msgid "IDS_GALLERY_OPT_REMOVE_NAME_TAG"
+msgstr "Eliminar etiqueta de nom"
+
+msgid "IDS_GALLERY_POP_THERE_ARE_NO_EVENTS_TO_DISPLAY_CREATE_A_NEW_EVENT"
+msgstr "No hi ha esdeveniments per mostrar. Creï un esdeveniment nou."
+
+msgid "IDS_GALLERY_POP_TO_SCROLL_QUICKLY_TO_OTHER_DATES_TAP_AND_HOLD_THE_DATE_INDICATOR_AT_THE_TOP_RIGHT_OF_THE_SCREEN"
+msgstr "Per desplaçar-se ràpidament a altres dates, mantingui premut l'indicador de data de la part superior dreta de la pantalla."
+
+msgid "IDS_GP_POP_REMOVE_PD_ITEMS_Q"
+msgstr "Eliminar %d elements?"
+
+msgid "IDS_GP_POP_REMOVE_THIS_ITEM_Q"
+msgstr "Eliminar aquest element?"
+
+msgid "IDS_HELP_BODY_GALLERY"
+msgstr "Galeria"
+
+msgid "IDS_HELP_OPT_SHUFFLED_PICTURES"
+msgstr "Fotos barrejades"
+
+msgid "IDS_IV_BODY_ADD_PICTURES"
+msgstr "Afegir fotos"
+
+msgid "IDS_IV_BODY_AFTER_YOU_TAG_PICTURES_AS_YOUR_FAVOURITES_PICTURES_WILL_BE_SHOWN"
+msgstr "Després d'etiquetar fotos com a preferides, es mostraran les seves fotos"
+
+msgid "IDS_IV_BODY_REMOVE_FACE_IDENTIFICATION_Q"
+msgstr "Esborrar identificació de cares?"
+
+msgid "IDS_IV_OPT_ASSIGN_NAME"
+msgstr "Assignar nom"
+
+msgid "IDS_IV_OPT_CONFIRM_AS_PS"
+msgstr "Confirmar com a %s"
+
+msgid "IDS_IV_OPT_LAYOUT_M_PICTUERS"
+msgstr "Disseny"
+
+msgid "IDS_IV_OPT_PD_PICTURES_ADDED"
+msgstr "%d fotos afegides"
+
+msgid "IDS_IV_POP_THE_ALBUM_WILL_BE_CANCELLED"
+msgstr "Es cancel·larà l'àlbum"
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEM_ABB"
+msgstr "Esborrar element"
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEMS"
+msgstr "Esborrar elements"
+
+msgid "IDS_MEDIABR_BODY_1_ITEM"
+msgstr "1 element"
+
+msgid "IDS_MEDIABR_BODY_10_SECONDS"
+msgstr "10 segons"
+
+msgid "IDS_MEDIABR_BODY_5_SECONDS"
+msgstr "5 segons"
+
+msgid "IDS_MEDIABR_BODY_NOT_ASSIGNED"
+msgstr "No assignat"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL"
+msgstr "Interval de la presentació de diapositives"
+
+msgid "IDS_MEDIABR_BODY_UNTAGGED"
+msgstr "Sense etiqueta"
+
+msgid "IDS_MEDIABR_OPT_3_SECONDS"
+msgstr "3 segons"
+
+msgid "IDS_MEDIABR_OPT_ALL_CONTENT"
+msgstr "Tot el contingut"
+
+msgid "IDS_MEDIABR_OPT_CONTENT_TO_DISPLAY"
+msgstr "Contingut per mostrar"
+
+msgid "IDS_MEDIABR_OPT_DELETE_TAG"
+msgstr "Eliminar etiqueta"
+
+msgid "IDS_MEDIABR_OPT_DEVICE_CONTENT"
+msgstr "Contingut del dispositiu"
+
+msgid "IDS_MEDIABR_OPT_DROPBOX_CONTENT"
+msgstr "Contingut de Dropbox"
+
+msgid "IDS_MEDIABR_OPT_FACEBOOK_CONTENT"
+msgstr "Contingut de Facebook"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_LEFT"
+msgstr "Gira cap a l'esquerra"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_RIGHT"
+msgstr "Gira cap a la dreta"
+
+msgid "IDS_MEDIABR_POP_IMPORT"
+msgstr "Importar"
+
+msgid "IDS_MEDIABR_POP_IMPORTED"
+msgstr "Importat"
+
+msgid "IDS_MEDIABR_POP_IMPORTING_ING"
+msgstr "Important..."
+
+msgid "IDS_MEDIABR_POP_LOADING_ING"
+msgstr "Carregant..."
+
+msgid "IDS_MEDIABR_POP_NEARBY_DEVICES_FOUND"
+msgstr "S'han trobat dispositius propers"
+
+msgid "IDS_MEDIABR_POP_NO_DEVICES_FOUND_SCANNING_FOR_NEARBY_DEVICES_WILL_CONTINUE_IN_BACKGROUND"
+msgstr "No s'han trobat dispositius. La cerca de dispositius propers continuarà en segon pla."
+
+msgid "IDS_MEDIABR_POP_REFRESHED"
+msgstr "Actualitzat"
+
+msgid "IDS_MEDIABR_POP_ROTATING_ING"
+msgstr "S'està rotant..."
+
+msgid "IDS_MEDIABR_POP_SCAN_STARTED_DEVICE_LIST_WILL_BE_UPDATED_AUTOMATICALLY"
+msgstr "Cerca iniciada. La llista de dispositius s'actualitzarà automàticament."
+
+msgid "IDS_MEDIABR_POP_STARTING_DOWNLOAD_ABB"
+msgstr "Iniciant descàrrega..."
+
+msgid "IDS_MF_OPT_COPY_TO"
+msgstr "Copiar a"
+
+msgid "IDS_MF_OPT_MOVE_TO"
+msgstr "Moure a"
+
+msgid "IDS_MF_POP_FAILED_TO_ADD_SHORTCUT"
+msgstr "Error en afegir l'accés directe"
+
+msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
+msgstr "No hi ha prou memòria. Esborrar-ne alguns elements."
+
+msgid "IDS_MF_POP_REMOVED"
+msgstr "Eliminat"
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Afegint..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "Esborrar %d àlbums?"
+
+msgid "IDS_ST_BODY_PRIVATE_STORAGE"
+msgstr "Emmagatzematge privat"
+
+msgid "IDS_IV_BODY_DRAG_HERE"
+msgstr "Arrossegui aquí"
+
+msgid "IDS_GALLERY_BODY_NEW_M_ALBUM_ABB"
+msgstr "Nou"
+
+msgid "IDS_GALLERY_HEADER_UNGROUPEDM_PEOPLE_ABB"
+msgstr "Sense agrupar"
+
+msgid "IDS_KEEPIT_OPT_SCREENSHOTS_ABB"
+msgstr "Captures de pantalla"
+
+msgid "IDS_MEDIABR_OPT_PHOTOS"
+msgstr "Fotos"
+
+msgid "IDS_MEDIABR_POP_DOWNLOAD_FAILED"
+msgstr "Descàrrega no disponible"
+
+msgid "IDS_MEDIABR_POP_UNSUPPORTED_FILE"
+msgstr "No s'admet el fitxer"
+
+msgid "IDS_SEARCH_BODY_1_RESULT"
+msgstr "1 resultat"
+
+msgid "IDS_SEARCH_BODY_PD_RESULTS"
+msgstr "%d resultats"
+
+msgid "IDS_TW_BODY_FAVORITES"
+msgstr "Preferits"
+
+msgid "IDS_EMAIL_POP_DOWNLOAD_CANCELLED"
+msgstr "Descàrrega cancel·lada"
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ALBUM_Q"
+msgstr "Esborrar aquest àlbum?"
+
+msgid "IDS_CAM_HEADER_WARNING_ABB"
+msgstr "Advertiment"
+
+msgid "IDS_ALM_OPT_SORT_BY"
+msgstr "Ordenar per"
+
+msgid "IDS_CLD_OPT_TODAY"
+msgstr "Avui"
+
+msgid "IDS_GALLERY_BODY_DATE"
+msgstr "Data"
+
+msgid "IDS_EMAIL_BODY_NO_ITEMS_TO_DISPLAY"
+msgstr "No hi ha elements per mostrar"
+
+msgid "IDS_PBR_BODY_TAP_HERE_TO_TAKE_PICTURES_OR_VIDEOS"
+msgstr "Toqui aquí per fer fotos o vídeos"
+
+msgid "IDS_NFC_TPOP_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SHARED_HPD_EXCEEDED"
+msgstr "S'ha superat el número màxim d'elements que es poden compartir (%d)."
+
+msgid "IDS_IV_BODY_TAP_TO_ADD_IMAGES"
+msgstr "Toqui per afegir imatges"
+
+msgid "IDS_GALLERY_POP_COPY_OR_MOVE_THE_SELECTED_ITEMS_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Copiar o moure els elements seleccionats de l'àlbum original?"
+
+msgid "IDS_GALLERY_HEADER_SELECT"
+msgstr "Seleccionar"
+
+msgid "IDS_VIDEO_POP_FILE_ALREADY_EXISTS"
+msgstr "El fitxer ja existeix"
+
+msgid "IDS_VIDEO_POP_THIS_ITEM_WILL_BE_DELETED"
+msgstr "S'esborrarà aquest element"
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_FACEBOOK_ITEMS_WILL_BE_SHOWN"
+msgstr "Després de carregar fotos a Facebook, se'n mostraran els elements"
+
+msgid "IDS_GALLERY_HEADER_SELECT_ALL_ABB"
+msgstr "Seleccionar tot"
+
+msgid "IDS_GALLERY_HEADER_PD_SELECTED_ABB"
+msgstr "%d seleccionats"
+
+msgid "IDS_GALLERY_OPT_VIEW_AS"
+msgstr "Veure com a"
+
+msgid "IDS_GALLERY_OPT_DATE_HMOST_RECENT_ABB2"
+msgstr "Data (més recents)"
+
+msgid "IDS_GALLERY_OPT_DATE_HOLDEST_ABB3"
+msgstr "Data (antics)"
+
+msgid "IDS_GALLERY_BODY_AFTER_YOU_TAKE_PICTURES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Després de fer fotos, es mostraran aquí."
+
+msgid "IDS_CLOUD_TPOP_CANCELLING_ING"
+msgstr "Cancel·lant..."
+
+msgid "IDS_GALLERY_OPT_FROM_DEVICE_ABB"
+msgstr "Des del dispositiu"
+
+msgid "IDS_GALLERY_OPT_FROM_DROPBOX_ABB"
+msgstr "Des de Dropbox"
+
+msgid "IDS_GALLERY_OPT_FROM_FACEBOOK_ABB"
+msgstr "Des de Facebook"
+
+msgid "IDS_MUSIC_BODY_DOWNLOAD_COMPLETED"
+msgstr "Descàrrega finalitzada"
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DELETED"
+msgstr "S'esborraran tots els elements"
+
+msgid "IDS_GALLERY_POP_1_ITEM_WILL_BE_DOWNLOADED"
+msgstr "Es descarregarà 1 element."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "Es descarregaran %d elements."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "Es descarregaran tots els elements."
+
+msgid "IDS_GALLERY_TPOP_SELECTED_ALBUM_SAME_AS_SOURCE_ALBUM_SELECT_ANOTHER_ALBUM"
+msgstr "L'àlbum seleccionat és el mateix que el d'origen. Seleccioni'n un altre."
+
+msgid "IDS_HS_NPBODY_TAP_HERE_TO_ADD_IMAGES"
+msgstr "Toqui aquí per afegir imatges"
+
+msgid "IDS_MF_HEADER_UNABLE_TO_SAVE_DATA_ABB"
+msgstr "No es poden desar dades"
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_IN_YOUR_DEVICE_STORAGE_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "No hi ha prou espai a l'emmagatzematge del seu dispositiu. Vagi a Ajustaments > Energia i emmagatzematge > Emmagatzematge i esborri alguns fitxers i torni-ho a intentar."
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_YOUR_SD_CARD_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "No hi ha prou espai a l'emmagatzematge de la targeta SD. Vagi a Ajustaments > Energia i emmagatzematge > Emmagatzematge i esborri alguns fitxers i torni-ho a intentar."
+
+msgid "IDS_MF_BUTTON_CANCEL_ABB3"
+msgstr "Cancel·lar"
+
+msgid "IDS_MF_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "No tornar a mostrar"
+
+msgid "IDS_MF_POP_USING_MOBILE_DATA_WHILE_ROAMING_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "L'ús de Dades mòbils en itinerància por comportar càrrecs addicionals en funció del seu pla de pagament."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DELETED_ABB"
+msgstr "S'esborraran %d elements."
+
+msgid "IDS_GALLERY_OPT_DELETE"
+msgstr "Esborrar"
+
+msgid "IDS_GALLERY_BODY_YESTERDAY"
+msgstr "Ahir"
+
+msgid "IDS_BR_MBODY_DOWNLOADS"
+msgstr "Descàrregues"
+
+msgid "IDS_GALLERY_HEADER_COPY"
+msgstr "Copiar"
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Esborrar"
+
+msgid "IDS_GALLERY_BUTTON_ALBUMS"
+msgstr "Àlbums"
+
+msgid "IDS_GALLERY_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_HPD_HAS_BEEN_EXCEEDED"
+msgstr "S'ha excedit el nombre màxim d'elements (%d)."
+
+msgid "IDS_GALLERY_BUTTON_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "REALITZAT"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "CANCEL·LAR"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "ESBORRAR"
+
+msgid "IDS_GALLERY_POP_COPYING_ING"
+msgstr "Copiant..."
+
+msgid "IDS_GALLERY_POP_MOVING_ING"
+msgstr "Movent..."
+
+msgid "IDS_STORYALBUM_POP_IF_YOU_CREATE_CONTENT_THAT_INCLUDES_ITEMS_FROM_PERSONAL_STORAGE_IT_MAY_NOT_BE_HIDDEN_AUTOMATICALLY_MSG"
+msgstr "Si crea contingut que inclogui elements de l'emmagatzematge personal, no es pot amagar automàticament. El contingut personal seleccionat es podrà veure en visualitzar el contingut nou."
+
+msgid "IDS_HS_ACBUTTON_EDIT"
+msgstr "EDITAR"
+
+msgid "IDS_MF_BUTTON_SETTINGS"
+msgstr "Ajustaments"
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "EDITAR"
+
+msgid "IDS_CLOCK_HEADER_REORDER_ABB"
+msgstr "Tornar a ordenar"
+
diff --git a/res/po/cs.po b/res/po/cs.po
new file mode 100644 (file)
index 0000000..65ce33c
--- /dev/null
@@ -0,0 +1,759 @@
+msgid "IDS_MF_POP_YOUR_DEVICE_IS_NOT_CONNECTED_TO_A_WI_FI_NETWORK_CONNECTING_TO_A_MOBILE_NETWORK_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "Zařízení není připojeno k síti Wi-Fi. Připojení k mobilní síti může mít za následek další poplatky v závislosti na vašem tarifu."
+
+msgid "IDS_VIDEO_TPOP_MOBILE_DATA_TURNED_OFF_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_TURN_ON_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Mobilní data jsou vypnutá. Připojte se k síti Wi-Fi nebo zapněte Mobilní data a opakujte akci."
+
+msgid "IDS_VIDEO_BODY_AFTER_YOU_RECORD_VIDEOS_USING_THE_CAMERA_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Až nahrajete videa pomocí fotoaparátu, zobrazí se zde."
+
+msgid "IDS_VIDEO_TPOP_FILE_NAME_ALREADY_IN_USE"
+msgstr "Název souboru je již použit."
+
+msgid "IDS_MF_POP_DELETE_PD_ITEMS_Q"
+msgstr "Chcete odstranit %d položek?"
+
+msgid "IDS_ST_HEADER_PRIVACY"
+msgstr "Soukromí"
+
+msgid "IDS_COM_BODY_SEP_ABB"
+msgstr "Zář."
+
+msgid "IDS_COM_BODY_OCT_ABB"
+msgstr "Říj."
+
+msgid "IDS_COM_BODY_NOV_ABB"
+msgstr "Lis."
+
+msgid "IDS_COM_BODY_MAY_ABB"
+msgstr "Kvě"
+
+msgid "IDS_COM_BODY_MAR_ABB"
+msgstr "Bře."
+
+msgid "IDS_COM_BODY_JUN_ABB"
+msgstr "Čer."
+
+msgid "IDS_COM_BODY_JUL_ABB"
+msgstr "Čvc."
+
+msgid "IDS_COM_BODY_JAN_ABB"
+msgstr "Led."
+
+msgid "IDS_COM_BODY_FEB_ABB"
+msgstr "Úno."
+
+msgid "IDS_COM_BODY_DEC_ABB"
+msgstr "Pro."
+
+msgid "IDS_COM_BODY_AUG_ABB"
+msgstr "Srp."
+
+msgid "IDS_COM_BODY_APR_ABB"
+msgstr "Dub."
+
+msgid "IDS_GALLERY_HEADER_ALBUM"
+msgstr "Album"
+
+msgid "IDS_MEDIABR_OPT_MORE"
+msgstr "Další"
+
+msgid "IDS_MEDIABR_POP_INVALID_INPUT_PARAMETER"
+msgstr "Chybný vstupní parametr."
+
+msgid "IDS_MEDIABR_POP_ENTRY_IS_EMPTY"
+msgstr "Prázdná položka."
+
+msgid "IDS_MEDIABR_POP_SAME_NAME_ALREADY_IN_USE"
+msgstr "Stejný název je již použit."
+
+msgid "IDS_MEDIABR_POP_UNABLE_TO_RENAME"
+msgstr "Nelze přejmenovat."
+
+msgid "IDS_MEDIABR_POP_NO_ALBUMS_SELECTED"
+msgstr "Nejsou vybrána žádná alba."
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ITEM"
+msgstr "Vybrat položku"
+
+msgid "IDS_MEDIABR_BODY_NO_ALBUMS"
+msgstr "Žádná alba"
+
+msgid "IDS_MEDIABR_POP_CREATE_FOLDER_Q"
+msgstr "Chcete vytvořit složku?"
+
+msgid "IDS_MEDIABR_POP_RETRY_Q"
+msgstr "Opakovat?"
+
+msgid "IDS_MEDIABR_POPUP_REMOVE_Q"
+msgstr "Odstranit?"
+
+msgid "IDS_MEDIABR_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "Bude odstraněno %d alb."
+
+msgid "IDS_MEDIABR_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "1 album bude odstraněno."
+
+msgid "IDS_MEDIABR_BODY_CAMERA"
+msgstr "Fotoaparát"
+
+msgid "IDS_MEDIABR_BUTTON_START"
+msgstr "Start"
+
+msgid "IDS_MEDIABR_OPT_SETTINGS"
+msgstr "Nastavení"
+
+msgid "IDS_MEDIABR_OPT_YES"
+msgstr "Ano"
+
+msgid "IDS_MEDIABR_OPT_NO"
+msgstr "Ne"
+
+msgid "IDS_MEDIABR_BUTTON_OK"
+msgstr "OK"
+
+msgid "IDS_MEDIABR_BUTTON_SAVE"
+msgstr "Uložit"
+
+msgid "IDS_MEDIABR_POP_DELETE_Q"
+msgstr "Odstranit?"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_ALBUM"
+msgstr "Přesunout do alba"
+
+msgid "IDS_GALLERY_OPT_COPY_TO_ALBUM"
+msgstr "Kopírovat do alba"
+
+msgid "IDS_GALLERY_HEADER_VIEW_BY_ABB"
+msgstr "Zobrazit podle"
+
+msgid "IDS_GALLERY_HEADER_ENTER_NAME"
+msgstr "Zadat jméno"
+
+msgid "IDS_MEDIABR_POP_ALL_DATA_RELATED_TO_THIS_ACCOUNT_WILL_BE_DELETED_CONTINUE_Q"
+msgstr "Všechna data související s tímto účtem budou odstraněna. Chcete pokračovat?"
+
+msgid "IDS_MEDIABR_BUTTON_CANCEL_ABB"
+msgstr "Storno"
+
+msgid "IDS_MEDIABR_TAB4_NEW_ALBUM"
+msgstr "Nové album"
+
+msgid "IDS_MEDIABR_POP_DO_YOU_WANT_TO_COPY_OR_MOVE_THE_PICTURES_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Chcete zkopírovat nebo přesunout obrázky z původního alba?"
+
+msgid "IDS_MEDIABR_OPT_SHARE"
+msgstr "Sdílet"
+
+msgid "IDS_MEDIABR_OPT_SLIDESHOW"
+msgstr "Prezentace"
+
+msgid "IDS_MEDIABR_OPT_START_SLIDESHOW"
+msgstr "Spustit prezentaci"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS"
+msgstr "Nastavení prezentace"
+
+msgid "IDS_MEDIABR_POP_NO_NAME"
+msgstr "Žádný název"
+
+msgid "IDS_MEDIABR_BODY_ALL_ALBUMS"
+msgstr "Všechna alba"
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ALBUM"
+msgstr "Vybrat album"
+
+msgid "IDS_MEDIABR_POP_1_ITEM_WILL_BE_DELETED"
+msgstr "1 položka bude odstraněna."
+
+msgid "IDS_MEDIABR_OPT_ALL_ITEMS"
+msgstr "Všechny položky"
+
+msgid "IDS_MEDIABR_BODY_PD_ITEMS"
+msgstr "Počet položek: %d"
+
+msgid "IDS_IV_BODY_THERE_IS_ONLY_ONE_ALBUM"
+msgstr "Existuje pouze jedno album."
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "Můžete vybrat až %d položek."
+
+msgid "IDS_MF_BODY_DOWNLOADS"
+msgstr "Stažené položky"
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Odstranit?"
+
+msgid "IDS_MF_SK_MOVE"
+msgstr "Přesun"
+
+msgid "IDS_MF_POP_DELETING_ING"
+msgstr "Odstraňování..."
+
+msgid "IDS_CAM_BODY_OPERATION_FAILED"
+msgstr "Otevření se nezdařilo."
+
+msgid "IDS_MSG_BODY_CANCELLED_M_CONTENT"
+msgstr "Zrušeno"
+
+msgid "IDS_MF_OPT_DELETE_SELECTED"
+msgstr "Vybráno"
+
+msgid "IDS_MF_POP_MOVED"
+msgstr "Přesunuto."
+
+msgid "IDS_MF_POP_COPIED"
+msgstr "Zkopírováno."
+
+msgid "IDS_VPL_POP_NO_FILES_SELECTED"
+msgstr "Není vybrán žádný soubor."
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Zavřít"
+
+msgid "IDS_MF_OPT_SORT_BY_ABB"
+msgstr "Seřadit podle"
+
+msgid "IDS_CAM_POP_LATEST"
+msgstr "Nejnovější"
+
+msgid "IDS_MEDIABR_POP_OLDEST_M_DATE"
+msgstr "Nejstarší"
+
+msgid "IDS_MSG_BUTTON2_CREATE"
+msgstr "Vytvořit"
+
+msgid "IDS_MEDIABR_POP_NO_ITEMS"
+msgstr "Žádné položky"
+
+msgid "IDS_MEDIABR_OPT_EDIT_IMAGE"
+msgstr "Upravit obrázek"
+
+msgid "IDS_MEDIABR_BODY_SELECT_PICTURE"
+msgstr "Vyberte obrázek"
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ITEM_Q"
+msgstr "Odstranit tuto položku?"
+
+msgid "IDS_GALLERY_OPT_SCENERY"
+msgstr "Scenérie"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PRIVATE"
+msgstr "Odebrat ze složky Soukromé"
+
+msgid "IDS_GALLERY_OPT_PETS"
+msgstr "Domácí mazlíčci"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_PRIVATE"
+msgstr "Přesunout do složky Soukromé"
+
+msgid "IDS_GALLERY_OPT_FOOD"
+msgstr "Potraviny"
+
+msgid "IDS_GALLERY_OPT_FLOWERS"
+msgstr "Květiny"
+
+msgid "IDS_GALLERY_OPT_DOCUMENTS"
+msgstr "Dokumenty"
+
+msgid "IDS_GALLERY_MBODY_VEHICLES"
+msgstr "Vozidla"
+
+msgid "IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED"
+msgstr "Bylo dosaženo maximálního počtu znaků (%d)."
+
+msgid "IDS_IV_BODY_UNABLE_TO_LOAD_PHOTO_ABB"
+msgstr "Fotografii se nepodařilo načíst."
+
+msgid "IDS_IV_BODY_SHARE_VIA"
+msgstr "Sdílet pomocí"
+
+msgid "IDS_IV_BODY_DONT_ASK_AGAIN"
+msgstr "Příště se neptat"
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Bylo dosaženo maximálního počtu znaků."
+
+msgid "IDS_GALLERY_HEADER_TIME"
+msgstr "Čas"
+
+msgid "IDS_EMAIL_BODY_FAILED_M_STATUS"
+msgstr "Chyba"
+
+msgid "IDS_EMAIL_BODY_DELETED"
+msgstr "Odstraněno."
+
+msgid "IDS_EMAIL_POP_DELETE_Q"
+msgstr "Odstranit?"
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Odebírání..."
+
+msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS"
+msgstr "Zobrazení %d položek"
+
+msgid "IDS_GALLERY_OPT_CREATE_ALBUM"
+msgstr "Vytvořit album"
+
+msgid "IDS_GALLERY_OPT_GALLERY_ABB"
+msgstr "Galerie"
+
+msgid "IDS_EMAIL_BUTTON_MORE"
+msgstr "Další"
+
+msgid "IDS_EMAIL_OPT_ACCOUNTS"
+msgstr "Účty"
+
+msgid "IDS_EMAIL_POP_OPERATION_FAILED"
+msgstr "Otevření se nezdařilo."
+
+msgid "IDS_GALLERY_BODY_DOWNLOAD"
+msgstr "Stáhnout"
+
+msgid "IDS_GALLERY_BODY_SEARCH"
+msgstr "Hledat"
+
+msgid "IDS_GALLERY_BUTTON_BACK"
+msgstr "Zpět"
+
+msgid "IDS_GALLERY_BUTTON_CAMERA"
+msgstr "Fotoaparát"
+
+msgid "IDS_GALLERY_HEADER_ALL"
+msgstr "Vše"
+
+msgid "IDS_GALLERY_OPT_REFRESH"
+msgstr "Aktualizovat"
+
+msgid "IDS_GALLERY_OPT_REMOVE"
+msgstr "Odebrat"
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_DROPBOX_ITEMS_WILL_BE_SHOWN"
+msgstr "Až uložíte obrázky do Dropbox, položky se zobrazí."
+
+msgid "IDS_KEEPIT_BODY_GROUP_PLAY_ABB"
+msgstr "Group Play"
+
+msgid "IDS_MEDIABR_HEADER_CONTACTS"
+msgstr "Kontakty"
+
+msgid "IDS_MEDIABR_OPT_CREATE"
+msgstr "Vytvořit"
+
+msgid "IDS_MEDIABR_OPT_DETAILS"
+msgstr "Podrobnosti"
+
+msgid "IDS_MEDIABR_OPT_PRINT"
+msgstr "Tisk"
+
+msgid "IDS_MEDIABR_OPT_RENAME"
+msgstr "Přejmenovat"
+
+msgid "IDS_MEDIABR_POP_DOWNLOADED"
+msgstr "Staženo."
+
+msgid "IDS_MEDIABR_POP_DOWNLOADING_ING"
+msgstr "Stahování..."
+
+msgid "IDS_MF_HEADER_ENTER_NAME"
+msgstr "Zadat jméno."
+
+msgid "IDS_MF_HEADER_MYFILES"
+msgstr "Moje soubory"
+
+msgid "IDS_MF_POP_ADDED"
+msgstr "Přidáno."
+
+msgid "IDS_MF_POP_PROCESSING_ING"
+msgstr "Probíhá zpracování..."
+
+msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
+msgstr "Nepodporovaný typ souboru."
+
+msgid "IDS_IMGE_BODY_AFTER_YOU_TAKE_PICTURES_PICTURES_WILL_BE_SHOWN"
+msgstr "Po vyfotografování se obrázky zobrazí."
+
+msgid "IDS_IME_BODY_LANDSCAPE_MODE"
+msgstr "Na šířku"
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_CLOSE_DRAWER_MENU_TTS"
+msgstr "Poklepáním zavřete vysouvací menu."
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_OPEN_DRAWER_MENU_TTS"
+msgstr "Poklepáním otevřete vysouvací menu."
+
+msgid "IDS_EMAIL_BODY_DRAG_AND_DROP"
+msgstr "Přetažení"
+
+msgid "IDS_EMAIL_OPT_DRAWER_ABB"
+msgstr "Zásuvka"
+
+msgid "IDS_EMAIL_POP_MOBILE_DATA_IS_DISABLED_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_ENABLE_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Mobilní data jsou vypnutá. Připojte se pomocí sítě Wi-Fi nebo zapněte mobilní data a opakujte akci"
+
+msgid "IDS_EMAIL_POP_WI_FI_CONNECTION_REQUIRED_CONNECT_TO_WI_FI_NETWORK_AND_TRY_AGAIN"
+msgstr "Je vyžadováno připojení k síti Wi-Fi. Připojte se k síti Wi-Fi a opakujte akci."
+
+msgid "IDS_GALLERY_HEADER_ADD_PICTURES_FROM_ABB"
+msgstr "Přidat obrázky z"
+
+msgid "IDS_GALLERY_HEADER_CONNECTED_DEVICES_ABB"
+msgstr "Připojená zařízení"
+
+msgid "IDS_GALLERY_OPT_PRIVATE_CONTENT"
+msgstr "Soukromý obsah"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PS"
+msgstr "Odebrat z %s"
+
+msgid "IDS_GALLERY_OPT_REMOVE_NAME_TAG"
+msgstr "Odebrat jmenovku"
+
+msgid "IDS_GALLERY_POP_THERE_ARE_NO_EVENTS_TO_DISPLAY_CREATE_A_NEW_EVENT"
+msgstr "Žádné události nejsou k dispozici pro zobrazení. Vytvořte novou událost."
+
+msgid "IDS_GALLERY_POP_TO_SCROLL_QUICKLY_TO_OTHER_DATES_TAP_AND_HOLD_THE_DATE_INDICATOR_AT_THE_TOP_RIGHT_OF_THE_SCREEN"
+msgstr "Chcete-li se rychle posouvat na jiná data, klepněte na indikátor data v pravém horním rohu obrazovky a přidržte ho."
+
+msgid "IDS_GP_POP_REMOVE_PD_ITEMS_Q"
+msgstr "Odstranit %d položek?"
+
+msgid "IDS_GP_POP_REMOVE_THIS_ITEM_Q"
+msgstr "Odebrat tuto položku?"
+
+msgid "IDS_HELP_BODY_GALLERY"
+msgstr "Galerie"
+
+msgid "IDS_HELP_OPT_SHUFFLED_PICTURES"
+msgstr "Náhodné obrázky"
+
+msgid "IDS_IV_BODY_ADD_PICTURES"
+msgstr "Přidat obrázky"
+
+msgid "IDS_IV_BODY_AFTER_YOU_TAG_PICTURES_AS_YOUR_FAVOURITES_PICTURES_WILL_BE_SHOWN"
+msgstr "Když označíte obrázky jako oblíbené, obrázky se zobrazí."
+
+msgid "IDS_IV_BODY_REMOVE_FACE_IDENTIFICATION_Q"
+msgstr "Odebrat identifikaci obličeje?"
+
+msgid "IDS_IV_OPT_ASSIGN_NAME"
+msgstr "Přiřadit jméno"
+
+msgid "IDS_IV_OPT_CONFIRM_AS_PS"
+msgstr "Potvrdit jako %s"
+
+msgid "IDS_IV_OPT_LAYOUT_M_PICTUERS"
+msgstr "Rozložení"
+
+msgid "IDS_IV_OPT_PD_PICTURES_ADDED"
+msgstr "Bylo přidáno %d obrázků"
+
+msgid "IDS_IV_POP_THE_ALBUM_WILL_BE_CANCELLED"
+msgstr "Album bude zrušeno."
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEM_ABB"
+msgstr "Odstranit položku"
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEMS"
+msgstr "Odstranit položky"
+
+msgid "IDS_MEDIABR_BODY_1_ITEM"
+msgstr "1 položka"
+
+msgid "IDS_MEDIABR_BODY_10_SECONDS"
+msgstr "10 sekund"
+
+msgid "IDS_MEDIABR_BODY_5_SECONDS"
+msgstr "5 sekund"
+
+msgid "IDS_MEDIABR_BODY_NOT_ASSIGNED"
+msgstr "Nepřiřazeno"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL"
+msgstr "Interval prezentace"
+
+msgid "IDS_MEDIABR_BODY_UNTAGGED"
+msgstr "Neoznačeno"
+
+msgid "IDS_MEDIABR_OPT_3_SECONDS"
+msgstr "3 sekundy"
+
+msgid "IDS_MEDIABR_OPT_ALL_CONTENT"
+msgstr "Celý obsah"
+
+msgid "IDS_MEDIABR_OPT_CONTENT_TO_DISPLAY"
+msgstr "Obsah k zobrazení"
+
+msgid "IDS_MEDIABR_OPT_DELETE_TAG"
+msgstr "Odstranit značku"
+
+msgid "IDS_MEDIABR_OPT_DEVICE_CONTENT"
+msgstr "Obsah v zařízení"
+
+msgid "IDS_MEDIABR_OPT_DROPBOX_CONTENT"
+msgstr "Obsah v Dropboxu"
+
+msgid "IDS_MEDIABR_OPT_FACEBOOK_CONTENT"
+msgstr "Obsah na Facebooku"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_LEFT"
+msgstr "Otočit doleva"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_RIGHT"
+msgstr "Otočit doprava"
+
+msgid "IDS_MEDIABR_POP_IMPORT"
+msgstr "Import"
+
+msgid "IDS_MEDIABR_POP_IMPORTED"
+msgstr "Importováno."
+
+msgid "IDS_MEDIABR_POP_IMPORTING_ING"
+msgstr "Probíhá import.."
+
+msgid "IDS_MEDIABR_POP_LOADING_ING"
+msgstr "Nahrávám..."
+
+msgid "IDS_MEDIABR_POP_NEARBY_DEVICES_FOUND"
+msgstr "Nalezená nedaleká zařízení."
+
+msgid "IDS_MEDIABR_POP_NO_DEVICES_FOUND_SCANNING_FOR_NEARBY_DEVICES_WILL_CONTINUE_IN_BACKGROUND"
+msgstr "Nebyla nalezena žádná zařízení. Hledání blízkých zařízení bude pokračovat na pozadí."
+
+msgid "IDS_MEDIABR_POP_REFRESHED"
+msgstr "Aktualizováno."
+
+msgid "IDS_MEDIABR_POP_ROTATING_ING"
+msgstr "Otáčení..."
+
+msgid "IDS_MEDIABR_POP_SCAN_STARTED_DEVICE_LIST_WILL_BE_UPDATED_AUTOMATICALLY"
+msgstr "Vyhledávání bylo zahájeno. Seznam zařízení bude automaticky aktualizován."
+
+msgid "IDS_MEDIABR_POP_STARTING_DOWNLOAD_ABB"
+msgstr "Spouští se stahování..."
+
+msgid "IDS_MF_OPT_COPY_TO"
+msgstr "Kopírovat do"
+
+msgid "IDS_MF_OPT_MOVE_TO"
+msgstr "Přesunout do"
+
+msgid "IDS_MF_POP_FAILED_TO_ADD_SHORTCUT"
+msgstr "Zástupce se nepodařilo přidat."
+
+msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
+msgstr "Nedostatek paměti. Odstraňte některé položky"
+
+msgid "IDS_MF_POP_REMOVED"
+msgstr "Odstraněno."
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Přidávání..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "Odstranit %d alb?"
+
+msgid "IDS_ST_BODY_PRIVATE_STORAGE"
+msgstr "Soukromé úložiště"
+
+msgid "IDS_IV_BODY_DRAG_HERE"
+msgstr "Přetáhnout sem."
+
+msgid "IDS_GALLERY_BODY_NEW_M_ALBUM_ABB"
+msgstr "Nová"
+
+msgid "IDS_GALLERY_HEADER_UNGROUPEDM_PEOPLE_ABB"
+msgstr "Nezahrnuté do skupiny"
+
+msgid "IDS_KEEPIT_OPT_SCREENSHOTS_ABB"
+msgstr "Kopie obrazovky"
+
+msgid "IDS_MEDIABR_OPT_PHOTOS"
+msgstr "Fotografie"
+
+msgid "IDS_MEDIABR_POP_DOWNLOAD_FAILED"
+msgstr "Stažení se nezdařilo."
+
+msgid "IDS_MEDIABR_POP_UNSUPPORTED_FILE"
+msgstr "Nepodporovaný soubor."
+
+msgid "IDS_SEARCH_BODY_1_RESULT"
+msgstr "1 výsledek"
+
+msgid "IDS_SEARCH_BODY_PD_RESULTS"
+msgstr "%d výsledků"
+
+msgid "IDS_TW_BODY_FAVORITES"
+msgstr "Oblíbené"
+
+msgid "IDS_EMAIL_POP_DOWNLOAD_CANCELLED"
+msgstr "Stahování zrušeno."
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ALBUM_Q"
+msgstr "Odstranit toto album?"
+
+msgid "IDS_CAM_HEADER_WARNING_ABB"
+msgstr "Upozornění"
+
+msgid "IDS_ALM_OPT_SORT_BY"
+msgstr "Seřadit podle"
+
+msgid "IDS_CLD_OPT_TODAY"
+msgstr "Dnes"
+
+msgid "IDS_GALLERY_BODY_DATE"
+msgstr "Datum"
+
+msgid "IDS_EMAIL_BODY_NO_ITEMS_TO_DISPLAY"
+msgstr "Žádné položky k zobrazení."
+
+msgid "IDS_PBR_BODY_TAP_HERE_TO_TAKE_PICTURES_OR_VIDEOS"
+msgstr "Klepněte sem, chcete-li fotografovat nebo nahrávat video."
+
+msgid "IDS_NFC_TPOP_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SHARED_HPD_EXCEEDED"
+msgstr "Byl překročen maximální počet položek, které lze sdílet (%d)."
+
+msgid "IDS_IV_BODY_TAP_TO_ADD_IMAGES"
+msgstr "Klepnutím přidejte obrázky."
+
+msgid "IDS_GALLERY_POP_COPY_OR_MOVE_THE_SELECTED_ITEMS_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Chcete zkopírovat nebo přesunout vybrané položky z původního alba?"
+
+msgid "IDS_GALLERY_HEADER_SELECT"
+msgstr "Vybrat"
+
+msgid "IDS_VIDEO_POP_FILE_ALREADY_EXISTS"
+msgstr "Soubor již existuje."
+
+msgid "IDS_VIDEO_POP_THIS_ITEM_WILL_BE_DELETED"
+msgstr "Položka bude odstraněna."
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_FACEBOOK_ITEMS_WILL_BE_SHOWN"
+msgstr "Až uložíte obrázky na Facebook, položky se zobrazí."
+
+msgid "IDS_GALLERY_HEADER_SELECT_ALL_ABB"
+msgstr "Vybrat vše"
+
+msgid "IDS_GALLERY_HEADER_PD_SELECTED_ABB"
+msgstr "Vybráno %d"
+
+msgid "IDS_GALLERY_OPT_VIEW_AS"
+msgstr "Zobrazit jako"
+
+msgid "IDS_GALLERY_OPT_DATE_HMOST_RECENT_ABB2"
+msgstr "Datum (nejnovější)"
+
+msgid "IDS_GALLERY_OPT_DATE_HOLDEST_ABB3"
+msgstr "Datum (nejstarší)"
+
+msgid "IDS_GALLERY_BODY_AFTER_YOU_TAKE_PICTURES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Až vyfotografujete obrázky, zobrazí se zde."
+
+msgid "IDS_CLOUD_TPOP_CANCELLING_ING"
+msgstr "Probíhá zrušení..."
+
+msgid "IDS_GALLERY_OPT_FROM_DEVICE_ABB"
+msgstr "Ze zařízení"
+
+msgid "IDS_GALLERY_OPT_FROM_DROPBOX_ABB"
+msgstr "Z Dropbox"
+
+msgid "IDS_GALLERY_OPT_FROM_FACEBOOK_ABB"
+msgstr "Z Facebooku"
+
+msgid "IDS_MUSIC_BODY_DOWNLOAD_COMPLETED"
+msgstr "Stahování dokončeno."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DELETED"
+msgstr "Všechny položky budou odstraněny."
+
+msgid "IDS_GALLERY_POP_1_ITEM_WILL_BE_DOWNLOADED"
+msgstr "Bude stažena 1 položka."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "Bude staženo %d položek."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "Budou staženy všechny položky."
+
+msgid "IDS_GALLERY_TPOP_SELECTED_ALBUM_SAME_AS_SOURCE_ALBUM_SELECT_ANOTHER_ALBUM"
+msgstr "Vybrané album je stejné jako zdrojové album. Vyberte jiné album."
+
+msgid "IDS_HS_NPBODY_TAP_HERE_TO_ADD_IMAGES"
+msgstr "Klepnutím sem přidejte obrázky"
+
+msgid "IDS_MF_HEADER_UNABLE_TO_SAVE_DATA_ABB"
+msgstr "Uložení dat se nezdařilo"
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_IN_YOUR_DEVICE_STORAGE_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "V paměti zařízení není dostatek volného místa. Přejděte na Nastavení > Úspora energie a úložiště > Úložiště, odstraňte některé soubory a opakujte akci."
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_YOUR_SD_CARD_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "Na SD kartě není dostatek volného místa. Přejděte na Nastavení > Úspora energie a úložiště > Úložiště, odstraňte některé soubory a opakujte akci."
+
+msgid "IDS_MF_BUTTON_CANCEL_ABB3"
+msgstr "Zrušit"
+
+msgid "IDS_MF_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Již nezobrazovat"
+
+msgid "IDS_MF_POP_USING_MOBILE_DATA_WHILE_ROAMING_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "Používání Mobilních dat při roamingu může mít za následek další poplatky v závislosti na vašem tarifu."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DELETED_ABB"
+msgstr "Bude odstraněno %d položek."
+
+msgid "IDS_GALLERY_OPT_DELETE"
+msgstr "Odstranit"
+
+msgid "IDS_GALLERY_BODY_YESTERDAY"
+msgstr "Včera"
+
+msgid "IDS_BR_MBODY_DOWNLOADS"
+msgstr "Stažené"
+
+msgid "IDS_GALLERY_HEADER_COPY"
+msgstr "Kopírovat"
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Odstranit"
+
+msgid "IDS_GALLERY_BUTTON_ALBUMS"
+msgstr "Alba"
+
+msgid "IDS_GALLERY_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Byl překročen maximální počet položek (%d)."
+
+msgid "IDS_GALLERY_BUTTON_CANCEL"
+msgstr "Storno"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "HOTOVO"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ZRUŠIT"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "ODSTRANIT"
+
+msgid "IDS_GALLERY_POP_COPYING_ING"
+msgstr "Kopírování..."
+
+msgid "IDS_GALLERY_POP_MOVING_ING"
+msgstr "Probíhá přesouvání"
+
+msgid "IDS_STORYALBUM_POP_IF_YOU_CREATE_CONTENT_THAT_INCLUDES_ITEMS_FROM_PERSONAL_STORAGE_IT_MAY_NOT_BE_HIDDEN_AUTOMATICALLY_MSG"
+msgstr "Pokud vytvoříte obsah, který zahrnuje položky z osobního úložiště, pravděpodobně nebudou automaticky skryty. Vybraný osobní obsah se může zobrazit při zobrazení nového obsahu."
+
+msgid "IDS_HS_ACBUTTON_EDIT"
+msgstr "UPRAVIT"
+
+msgid "IDS_MF_BUTTON_SETTINGS"
+msgstr "Nastavení"
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "UPRAVIT"
+
+msgid "IDS_CLOCK_HEADER_REORDER_ABB"
+msgstr "Změnit uspořádání"
+
diff --git a/res/po/da.po b/res/po/da.po
new file mode 100644 (file)
index 0000000..c6b6f2a
--- /dev/null
@@ -0,0 +1,759 @@
+msgid "IDS_MF_POP_YOUR_DEVICE_IS_NOT_CONNECTED_TO_A_WI_FI_NETWORK_CONNECTING_TO_A_MOBILE_NETWORK_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "Din enhed er ikke sluttet til et Wi-Fi-netværk. Oprettelse af forbindelse til et mobilt netværk kan medføre yderligere gebyrer afhængig af dit abonnement."
+
+msgid "IDS_VIDEO_TPOP_MOBILE_DATA_TURNED_OFF_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_TURN_ON_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Mobile data er slået fra. Opret forbindelse til et Wi-Fi-netværk i stedet, eller slå Mobile data til, og prøv igen."
+
+msgid "IDS_VIDEO_BODY_AFTER_YOU_RECORD_VIDEOS_USING_THE_CAMERA_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Når du har optaget videoer ved hjælp af kameraet, vil de blive vist her."
+
+msgid "IDS_VIDEO_TPOP_FILE_NAME_ALREADY_IN_USE"
+msgstr "Filnavn allerede i brug."
+
+msgid "IDS_MF_POP_DELETE_PD_ITEMS_Q"
+msgstr "Vil du slette %d elementer?"
+
+msgid "IDS_ST_HEADER_PRIVACY"
+msgstr "Beskyttelse"
+
+msgid "IDS_COM_BODY_SEP_ABB"
+msgstr "Sep."
+
+msgid "IDS_COM_BODY_OCT_ABB"
+msgstr "Okt."
+
+msgid "IDS_COM_BODY_NOV_ABB"
+msgstr "Nov."
+
+msgid "IDS_COM_BODY_MAY_ABB"
+msgstr "Maj"
+
+msgid "IDS_COM_BODY_MAR_ABB"
+msgstr "Mar."
+
+msgid "IDS_COM_BODY_JUN_ABB"
+msgstr "Jun."
+
+msgid "IDS_COM_BODY_JUL_ABB"
+msgstr "Jul."
+
+msgid "IDS_COM_BODY_JAN_ABB"
+msgstr "Jan."
+
+msgid "IDS_COM_BODY_FEB_ABB"
+msgstr "Feb."
+
+msgid "IDS_COM_BODY_DEC_ABB"
+msgstr "Dec."
+
+msgid "IDS_COM_BODY_AUG_ABB"
+msgstr "Aug."
+
+msgid "IDS_COM_BODY_APR_ABB"
+msgstr "Apr"
+
+msgid "IDS_GALLERY_HEADER_ALBUM"
+msgstr "Album"
+
+msgid "IDS_MEDIABR_OPT_MORE"
+msgstr "Mere"
+
+msgid "IDS_MEDIABR_POP_INVALID_INPUT_PARAMETER"
+msgstr "Ugyldigt inputparameter."
+
+msgid "IDS_MEDIABR_POP_ENTRY_IS_EMPTY"
+msgstr "Posten er tom."
+
+msgid "IDS_MEDIABR_POP_SAME_NAME_ALREADY_IN_USE"
+msgstr "Det samme navn er allerede i brug."
+
+msgid "IDS_MEDIABR_POP_UNABLE_TO_RENAME"
+msgstr "Kunne ikke omdøbe."
+
+msgid "IDS_MEDIABR_POP_NO_ALBUMS_SELECTED"
+msgstr "Ingen valgte album."
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ITEM"
+msgstr "Vælg element"
+
+msgid "IDS_MEDIABR_BODY_NO_ALBUMS"
+msgstr "Ingen album"
+
+msgid "IDS_MEDIABR_POP_CREATE_FOLDER_Q"
+msgstr "Opret mappe?"
+
+msgid "IDS_MEDIABR_POP_RETRY_Q"
+msgstr "Prøv igen?"
+
+msgid "IDS_MEDIABR_POPUP_REMOVE_Q"
+msgstr "Fjern?"
+
+msgid "IDS_MEDIABR_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "%d album vil blive slettet."
+
+msgid "IDS_MEDIABR_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "1 album vil blive slettet."
+
+msgid "IDS_MEDIABR_BODY_CAMERA"
+msgstr "Kamera"
+
+msgid "IDS_MEDIABR_BUTTON_START"
+msgstr "Start"
+
+msgid "IDS_MEDIABR_OPT_SETTINGS"
+msgstr "Indstillinger"
+
+msgid "IDS_MEDIABR_OPT_YES"
+msgstr "Ja"
+
+msgid "IDS_MEDIABR_OPT_NO"
+msgstr "Nej"
+
+msgid "IDS_MEDIABR_BUTTON_OK"
+msgstr "OK"
+
+msgid "IDS_MEDIABR_BUTTON_SAVE"
+msgstr "Gem"
+
+msgid "IDS_MEDIABR_POP_DELETE_Q"
+msgstr "Slet?"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_ALBUM"
+msgstr "Flyt til album"
+
+msgid "IDS_GALLERY_OPT_COPY_TO_ALBUM"
+msgstr "Kopier til album"
+
+msgid "IDS_GALLERY_HEADER_VIEW_BY_ABB"
+msgstr "Få vist efter"
+
+msgid "IDS_GALLERY_HEADER_ENTER_NAME"
+msgstr "Angiv navn"
+
+msgid "IDS_MEDIABR_POP_ALL_DATA_RELATED_TO_THIS_ACCOUNT_WILL_BE_DELETED_CONTINUE_Q"
+msgstr "Alle data relateret til denne konto bliver slettet. Fortsæt?"
+
+msgid "IDS_MEDIABR_BUTTON_CANCEL_ABB"
+msgstr "Annullér"
+
+msgid "IDS_MEDIABR_TAB4_NEW_ALBUM"
+msgstr "Nyt album"
+
+msgid "IDS_MEDIABR_POP_DO_YOU_WANT_TO_COPY_OR_MOVE_THE_PICTURES_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Vil du kopiere eller flytte billederne fra det oprindelige album?"
+
+msgid "IDS_MEDIABR_OPT_SHARE"
+msgstr "Del"
+
+msgid "IDS_MEDIABR_OPT_SLIDESHOW"
+msgstr "Diasshow"
+
+msgid "IDS_MEDIABR_OPT_START_SLIDESHOW"
+msgstr "Start diasshow"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS"
+msgstr "Indstillinger for diasshow"
+
+msgid "IDS_MEDIABR_POP_NO_NAME"
+msgstr "Intet navn"
+
+msgid "IDS_MEDIABR_BODY_ALL_ALBUMS"
+msgstr "Alle albummer"
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ALBUM"
+msgstr "Vælg album"
+
+msgid "IDS_MEDIABR_POP_1_ITEM_WILL_BE_DELETED"
+msgstr "1 element vil blive slettet."
+
+msgid "IDS_MEDIABR_OPT_ALL_ITEMS"
+msgstr "Alle elementer"
+
+msgid "IDS_MEDIABR_BODY_PD_ITEMS"
+msgstr "%d elementer"
+
+msgid "IDS_IV_BODY_THERE_IS_ONLY_ONE_ALBUM"
+msgstr "Der er kun ét album."
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "Du kan vælge op til %d elementer."
+
+msgid "IDS_MF_BODY_DOWNLOADS"
+msgstr "Downloads"
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Slet?"
+
+msgid "IDS_MF_SK_MOVE"
+msgstr "Flyt"
+
+msgid "IDS_MF_POP_DELETING_ING"
+msgstr "Sletter ..."
+
+msgid "IDS_CAM_BODY_OPERATION_FAILED"
+msgstr "Handlingen mislykkedes."
+
+msgid "IDS_MSG_BODY_CANCELLED_M_CONTENT"
+msgstr "Annulleret"
+
+msgid "IDS_MF_OPT_DELETE_SELECTED"
+msgstr "Valgte"
+
+msgid "IDS_MF_POP_MOVED"
+msgstr "Flyttet."
+
+msgid "IDS_MF_POP_COPIED"
+msgstr "Kopieret."
+
+msgid "IDS_VPL_POP_NO_FILES_SELECTED"
+msgstr "Ingen filer valgt."
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Luk"
+
+msgid "IDS_MF_OPT_SORT_BY_ABB"
+msgstr "Sortér efter"
+
+msgid "IDS_CAM_POP_LATEST"
+msgstr "Seneste"
+
+msgid "IDS_MEDIABR_POP_OLDEST_M_DATE"
+msgstr "Ældste"
+
+msgid "IDS_MSG_BUTTON2_CREATE"
+msgstr "Opret"
+
+msgid "IDS_MEDIABR_POP_NO_ITEMS"
+msgstr "Ingen elementer"
+
+msgid "IDS_MEDIABR_OPT_EDIT_IMAGE"
+msgstr "Redigér billede"
+
+msgid "IDS_MEDIABR_BODY_SELECT_PICTURE"
+msgstr "Vælg billede"
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ITEM_Q"
+msgstr "Slet dette element?"
+
+msgid "IDS_GALLERY_OPT_SCENERY"
+msgstr "Landskab"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PRIVATE"
+msgstr "Fjern fra Privat"
+
+msgid "IDS_GALLERY_OPT_PETS"
+msgstr "Kæledyr"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_PRIVATE"
+msgstr "Flyt til Privat"
+
+msgid "IDS_GALLERY_OPT_FOOD"
+msgstr "Mad"
+
+msgid "IDS_GALLERY_OPT_FLOWERS"
+msgstr "Blomster"
+
+msgid "IDS_GALLERY_OPT_DOCUMENTS"
+msgstr "Dokumenter"
+
+msgid "IDS_GALLERY_MBODY_VEHICLES"
+msgstr "Køretøjer"
+
+msgid "IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED"
+msgstr "Det maksimale antal tegn (%d) er nået."
+
+msgid "IDS_IV_BODY_UNABLE_TO_LOAD_PHOTO_ABB"
+msgstr "Kan ikke indlæse foto."
+
+msgid "IDS_IV_BODY_SHARE_VIA"
+msgstr "Del via"
+
+msgid "IDS_IV_BODY_DONT_ASK_AGAIN"
+msgstr "Spørg ikke igen"
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Det maksimale antal tegn er nået."
+
+msgid "IDS_GALLERY_HEADER_TIME"
+msgstr "Tid"
+
+msgid "IDS_EMAIL_BODY_FAILED_M_STATUS"
+msgstr "Mislykkedes"
+
+msgid "IDS_EMAIL_BODY_DELETED"
+msgstr "Slettet."
+
+msgid "IDS_EMAIL_POP_DELETE_Q"
+msgstr "Slet?"
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Fjerner..."
+
+msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS"
+msgstr "Viser %d elementer"
+
+msgid "IDS_GALLERY_OPT_CREATE_ALBUM"
+msgstr "Opret album"
+
+msgid "IDS_GALLERY_OPT_GALLERY_ABB"
+msgstr "Galleri"
+
+msgid "IDS_EMAIL_BUTTON_MORE"
+msgstr "Mere"
+
+msgid "IDS_EMAIL_OPT_ACCOUNTS"
+msgstr "Konti"
+
+msgid "IDS_EMAIL_POP_OPERATION_FAILED"
+msgstr "Handlingen mislykkedes."
+
+msgid "IDS_GALLERY_BODY_DOWNLOAD"
+msgstr "Download"
+
+msgid "IDS_GALLERY_BODY_SEARCH"
+msgstr "Søg"
+
+msgid "IDS_GALLERY_BUTTON_BACK"
+msgstr "Tilbage"
+
+msgid "IDS_GALLERY_BUTTON_CAMERA"
+msgstr "Kamera"
+
+msgid "IDS_GALLERY_HEADER_ALL"
+msgstr "Alle"
+
+msgid "IDS_GALLERY_OPT_REFRESH"
+msgstr "Opdatér"
+
+msgid "IDS_GALLERY_OPT_REMOVE"
+msgstr "Fjern"
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_DROPBOX_ITEMS_WILL_BE_SHOWN"
+msgstr "Når du uploader billeder til Dropbox, vises elementer."
+
+msgid "IDS_KEEPIT_BODY_GROUP_PLAY_ABB"
+msgstr "Group Play"
+
+msgid "IDS_MEDIABR_HEADER_CONTACTS"
+msgstr "Kontakter"
+
+msgid "IDS_MEDIABR_OPT_CREATE"
+msgstr "Opret"
+
+msgid "IDS_MEDIABR_OPT_DETAILS"
+msgstr "Detaljer"
+
+msgid "IDS_MEDIABR_OPT_PRINT"
+msgstr "Udskriv"
+
+msgid "IDS_MEDIABR_OPT_RENAME"
+msgstr "Omdøb"
+
+msgid "IDS_MEDIABR_POP_DOWNLOADED"
+msgstr "Downloadet."
+
+msgid "IDS_MEDIABR_POP_DOWNLOADING_ING"
+msgstr "Downloader ..."
+
+msgid "IDS_MF_HEADER_ENTER_NAME"
+msgstr "Angiv navn."
+
+msgid "IDS_MF_HEADER_MYFILES"
+msgstr "Mine filer"
+
+msgid "IDS_MF_POP_ADDED"
+msgstr "Tilføjet."
+
+msgid "IDS_MF_POP_PROCESSING_ING"
+msgstr "Behandler ..."
+
+msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
+msgstr "Filtype understøttes ikke."
+
+msgid "IDS_IMGE_BODY_AFTER_YOU_TAKE_PICTURES_PICTURES_WILL_BE_SHOWN"
+msgstr "Når du har taget billeder, vises billederne."
+
+msgid "IDS_IME_BODY_LANDSCAPE_MODE"
+msgstr "Tilstanden Liggende"
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_CLOSE_DRAWER_MENU_TTS"
+msgstr "Dobbelttryk for at lukke skuffemenuen."
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_OPEN_DRAWER_MENU_TTS"
+msgstr "Dobbelttryk for at åbne skuffemenuen."
+
+msgid "IDS_EMAIL_BODY_DRAG_AND_DROP"
+msgstr "Træk og slip"
+
+msgid "IDS_EMAIL_OPT_DRAWER_ABB"
+msgstr "Skuffe"
+
+msgid "IDS_EMAIL_POP_MOBILE_DATA_IS_DISABLED_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_ENABLE_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Mobile data deaktiveret. Opret forbindelse til Wi-Fi-netværk i stedet, eller aktivér mobile data og prøv igen."
+
+msgid "IDS_EMAIL_POP_WI_FI_CONNECTION_REQUIRED_CONNECT_TO_WI_FI_NETWORK_AND_TRY_AGAIN"
+msgstr "Wi-Fi-forbindelse kræves. Slut til Wi-Fi-netværk, og prøv igen."
+
+msgid "IDS_GALLERY_HEADER_ADD_PICTURES_FROM_ABB"
+msgstr "Tilføj billeder fra"
+
+msgid "IDS_GALLERY_HEADER_CONNECTED_DEVICES_ABB"
+msgstr "Tilsluttede enheder"
+
+msgid "IDS_GALLERY_OPT_PRIVATE_CONTENT"
+msgstr "Privat indhold"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PS"
+msgstr "Fjern fra %s"
+
+msgid "IDS_GALLERY_OPT_REMOVE_NAME_TAG"
+msgstr "Fjern navnetag"
+
+msgid "IDS_GALLERY_POP_THERE_ARE_NO_EVENTS_TO_DISPLAY_CREATE_A_NEW_EVENT"
+msgstr "Der er ingen begivenheder at vise. Opret en ny begivenhed."
+
+msgid "IDS_GALLERY_POP_TO_SCROLL_QUICKLY_TO_OTHER_DATES_TAP_AND_HOLD_THE_DATE_INDICATOR_AT_THE_TOP_RIGHT_OF_THE_SCREEN"
+msgstr "For at rulle hurtigt igennem andre datoer, skal du trykke og holde nede på datoindikatoren øverst til højre på skærmen."
+
+msgid "IDS_GP_POP_REMOVE_PD_ITEMS_Q"
+msgstr "Fjern %d elementer?"
+
+msgid "IDS_GP_POP_REMOVE_THIS_ITEM_Q"
+msgstr "Vil du fjerne dette element?"
+
+msgid "IDS_HELP_BODY_GALLERY"
+msgstr "Galleri"
+
+msgid "IDS_HELP_OPT_SHUFFLED_PICTURES"
+msgstr "Blandede billeder"
+
+msgid "IDS_IV_BODY_ADD_PICTURES"
+msgstr "Tilføj billeder"
+
+msgid "IDS_IV_BODY_AFTER_YOU_TAG_PICTURES_AS_YOUR_FAVOURITES_PICTURES_WILL_BE_SHOWN"
+msgstr "Når du har mærket billeder som dine favoritter, vil billeder blive vist."
+
+msgid "IDS_IV_BODY_REMOVE_FACE_IDENTIFICATION_Q"
+msgstr "Fjern identifikation af ansigt?"
+
+msgid "IDS_IV_OPT_ASSIGN_NAME"
+msgstr "Tildel navn"
+
+msgid "IDS_IV_OPT_CONFIRM_AS_PS"
+msgstr "Bekræft som %s"
+
+msgid "IDS_IV_OPT_LAYOUT_M_PICTUERS"
+msgstr "Layout"
+
+msgid "IDS_IV_OPT_PD_PICTURES_ADDED"
+msgstr "%d billeder tilføjet"
+
+msgid "IDS_IV_POP_THE_ALBUM_WILL_BE_CANCELLED"
+msgstr "Albummet vil blive annulleret."
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEM_ABB"
+msgstr "Slet element"
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEMS"
+msgstr "Slet elementer"
+
+msgid "IDS_MEDIABR_BODY_1_ITEM"
+msgstr "1 element"
+
+msgid "IDS_MEDIABR_BODY_10_SECONDS"
+msgstr "10 sekunder"
+
+msgid "IDS_MEDIABR_BODY_5_SECONDS"
+msgstr "5 sekunder"
+
+msgid "IDS_MEDIABR_BODY_NOT_ASSIGNED"
+msgstr "Ikke tildelt"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL"
+msgstr "Interval for diasshow"
+
+msgid "IDS_MEDIABR_BODY_UNTAGGED"
+msgstr "Ikke-tagget"
+
+msgid "IDS_MEDIABR_OPT_3_SECONDS"
+msgstr "3 sekunder"
+
+msgid "IDS_MEDIABR_OPT_ALL_CONTENT"
+msgstr "Alt indhold"
+
+msgid "IDS_MEDIABR_OPT_CONTENT_TO_DISPLAY"
+msgstr "Indhold der skal vises"
+
+msgid "IDS_MEDIABR_OPT_DELETE_TAG"
+msgstr "Slet kode"
+
+msgid "IDS_MEDIABR_OPT_DEVICE_CONTENT"
+msgstr "Enhedsindhold"
+
+msgid "IDS_MEDIABR_OPT_DROPBOX_CONTENT"
+msgstr "Dropbox-indhold"
+
+msgid "IDS_MEDIABR_OPT_FACEBOOK_CONTENT"
+msgstr "Facebook-indhold"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_LEFT"
+msgstr "Rotér mod venstre"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_RIGHT"
+msgstr "Rotér mod højre"
+
+msgid "IDS_MEDIABR_POP_IMPORT"
+msgstr "Importér"
+
+msgid "IDS_MEDIABR_POP_IMPORTED"
+msgstr "Importeret."
+
+msgid "IDS_MEDIABR_POP_IMPORTING_ING"
+msgstr "Importerer ..."
+
+msgid "IDS_MEDIABR_POP_LOADING_ING"
+msgstr "Indlæser data ..."
+
+msgid "IDS_MEDIABR_POP_NEARBY_DEVICES_FOUND"
+msgstr "Der er fundet enheder i nærheden."
+
+msgid "IDS_MEDIABR_POP_NO_DEVICES_FOUND_SCANNING_FOR_NEARBY_DEVICES_WILL_CONTINUE_IN_BACKGROUND"
+msgstr "Ingen enheder fundet. Scanning efter enheder i nærheden fortsætter i baggrunden."
+
+msgid "IDS_MEDIABR_POP_REFRESHED"
+msgstr "Opdateret."
+
+msgid "IDS_MEDIABR_POP_ROTATING_ING"
+msgstr "Roterer ..."
+
+msgid "IDS_MEDIABR_POP_SCAN_STARTED_DEVICE_LIST_WILL_BE_UPDATED_AUTOMATICALLY"
+msgstr "Scanning startet. Liste over enheder opdateres automatisk."
+
+msgid "IDS_MEDIABR_POP_STARTING_DOWNLOAD_ABB"
+msgstr "Starter download ..."
+
+msgid "IDS_MF_OPT_COPY_TO"
+msgstr "Kopiér til"
+
+msgid "IDS_MF_OPT_MOVE_TO"
+msgstr "Flyt til"
+
+msgid "IDS_MF_POP_FAILED_TO_ADD_SHORTCUT"
+msgstr "Kunne ikke tilføje genvej."
+
+msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
+msgstr "Der er ikke tilstrækkelig hukommelse. Slet nogle elementer."
+
+msgid "IDS_MF_POP_REMOVED"
+msgstr "Fjernet."
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Tilføjer..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "Slet %d album?"
+
+msgid "IDS_ST_BODY_PRIVATE_STORAGE"
+msgstr "Privat lager"
+
+msgid "IDS_IV_BODY_DRAG_HERE"
+msgstr "Træk hertil."
+
+msgid "IDS_GALLERY_BODY_NEW_M_ALBUM_ABB"
+msgstr "Ny"
+
+msgid "IDS_GALLERY_HEADER_UNGROUPEDM_PEOPLE_ABB"
+msgstr "Ikke-grupperet"
+
+msgid "IDS_KEEPIT_OPT_SCREENSHOTS_ABB"
+msgstr "Skærmbilleder"
+
+msgid "IDS_MEDIABR_OPT_PHOTOS"
+msgstr "Billeder"
+
+msgid "IDS_MEDIABR_POP_DOWNLOAD_FAILED"
+msgstr "Download mislykkedes."
+
+msgid "IDS_MEDIABR_POP_UNSUPPORTED_FILE"
+msgstr "Fil understøttes ikke."
+
+msgid "IDS_SEARCH_BODY_1_RESULT"
+msgstr "1 resultat"
+
+msgid "IDS_SEARCH_BODY_PD_RESULTS"
+msgstr "%d resultater"
+
+msgid "IDS_TW_BODY_FAVORITES"
+msgstr "Favoritter"
+
+msgid "IDS_EMAIL_POP_DOWNLOAD_CANCELLED"
+msgstr "Download blev annulleret."
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ALBUM_Q"
+msgstr "Slet dette album?"
+
+msgid "IDS_CAM_HEADER_WARNING_ABB"
+msgstr "Advarsel"
+
+msgid "IDS_ALM_OPT_SORT_BY"
+msgstr "Sortér efter"
+
+msgid "IDS_CLD_OPT_TODAY"
+msgstr "I dag"
+
+msgid "IDS_GALLERY_BODY_DATE"
+msgstr "Dato"
+
+msgid "IDS_EMAIL_BODY_NO_ITEMS_TO_DISPLAY"
+msgstr "Der er ingen elementer at vise."
+
+msgid "IDS_PBR_BODY_TAP_HERE_TO_TAKE_PICTURES_OR_VIDEOS"
+msgstr "Tap her for at tage billeder eller videoer."
+
+msgid "IDS_NFC_TPOP_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SHARED_HPD_EXCEEDED"
+msgstr "Det maksimale antal genstande, der kan deles (%d), er overskredet."
+
+msgid "IDS_IV_BODY_TAP_TO_ADD_IMAGES"
+msgstr "Tryk for at tilføje billeder."
+
+msgid "IDS_GALLERY_POP_COPY_OR_MOVE_THE_SELECTED_ITEMS_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Vil du kopiere eller flytte de valgte elementer fra det oprindelige album?"
+
+msgid "IDS_GALLERY_HEADER_SELECT"
+msgstr "Vælg"
+
+msgid "IDS_VIDEO_POP_FILE_ALREADY_EXISTS"
+msgstr "Fil findes allerede."
+
+msgid "IDS_VIDEO_POP_THIS_ITEM_WILL_BE_DELETED"
+msgstr "Dette element vil blive slettet."
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_FACEBOOK_ITEMS_WILL_BE_SHOWN"
+msgstr "Når du uploader billeder til Facebook, vises elementer."
+
+msgid "IDS_GALLERY_HEADER_SELECT_ALL_ABB"
+msgstr "Vælg alle"
+
+msgid "IDS_GALLERY_HEADER_PD_SELECTED_ABB"
+msgstr "%d valgt"
+
+msgid "IDS_GALLERY_OPT_VIEW_AS"
+msgstr "Se som"
+
+msgid "IDS_GALLERY_OPT_DATE_HMOST_RECENT_ABB2"
+msgstr "Dato (nyeste)"
+
+msgid "IDS_GALLERY_OPT_DATE_HOLDEST_ABB3"
+msgstr "Dato (ældste)"
+
+msgid "IDS_GALLERY_BODY_AFTER_YOU_TAKE_PICTURES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Når du har taget billeder, vil de blive vist her."
+
+msgid "IDS_CLOUD_TPOP_CANCELLING_ING"
+msgstr "Annullerer ..."
+
+msgid "IDS_GALLERY_OPT_FROM_DEVICE_ABB"
+msgstr "Fra enhed"
+
+msgid "IDS_GALLERY_OPT_FROM_DROPBOX_ABB"
+msgstr "Fra Dropbox"
+
+msgid "IDS_GALLERY_OPT_FROM_FACEBOOK_ABB"
+msgstr "Fra Facebook"
+
+msgid "IDS_MUSIC_BODY_DOWNLOAD_COMPLETED"
+msgstr "Download udført."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DELETED"
+msgstr "Alle elementer bliver slettet."
+
+msgid "IDS_GALLERY_POP_1_ITEM_WILL_BE_DOWNLOADED"
+msgstr "Der vil blive downloadet 1 element."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "Der vil blive downloadet %d elementer."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "Alle elementer vil blive downloadet."
+
+msgid "IDS_GALLERY_TPOP_SELECTED_ALBUM_SAME_AS_SOURCE_ALBUM_SELECT_ANOTHER_ALBUM"
+msgstr "Det valgte album er det samme som kildealbummet. Vælg et andet album."
+
+msgid "IDS_HS_NPBODY_TAP_HERE_TO_ADD_IMAGES"
+msgstr "Tryk her for at tilføje billeder"
+
+msgid "IDS_MF_HEADER_UNABLE_TO_SAVE_DATA_ABB"
+msgstr "Kan ikke gemme data"
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_IN_YOUR_DEVICE_STORAGE_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "Der er ikke tilstrækkelig ledig plads på din enheds lager. Gå til Indstillinger > Strøm og lager > Lagring, slet nogle filer, og prøv igen."
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_YOUR_SD_CARD_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "Der er ikke tilstrækkelig ledig plads på dit SD-kort. Gå til Indstillinger > Strøm og lager > Lagring, slet nogle filer, og prøv igen."
+
+msgid "IDS_MF_BUTTON_CANCEL_ABB3"
+msgstr "Annuller"
+
+msgid "IDS_MF_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Vis ikke igen"
+
+msgid "IDS_MF_POP_USING_MOBILE_DATA_WHILE_ROAMING_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "Brug af mobile data under roaming kan medføre yderligere gebyrer afhængig af dit abonnement."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DELETED_ABB"
+msgstr "%d elementer vil blive slettet."
+
+msgid "IDS_GALLERY_OPT_DELETE"
+msgstr "Slet"
+
+msgid "IDS_GALLERY_BODY_YESTERDAY"
+msgstr "I går"
+
+msgid "IDS_BR_MBODY_DOWNLOADS"
+msgstr "Overførsler"
+
+msgid "IDS_GALLERY_HEADER_COPY"
+msgstr "Kopier"
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Slet"
+
+msgid "IDS_GALLERY_BUTTON_ALBUMS"
+msgstr "Album"
+
+msgid "IDS_GALLERY_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Det maksimale antal elementer (%d) er overskredet."
+
+msgid "IDS_GALLERY_BUTTON_CANCEL"
+msgstr "Annullér"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "UDFØRT"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ANNULLER"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "SLET"
+
+msgid "IDS_GALLERY_POP_COPYING_ING"
+msgstr "Kopierer ..."
+
+msgid "IDS_GALLERY_POP_MOVING_ING"
+msgstr "Flytter ..."
+
+msgid "IDS_STORYALBUM_POP_IF_YOU_CREATE_CONTENT_THAT_INCLUDES_ITEMS_FROM_PERSONAL_STORAGE_IT_MAY_NOT_BE_HIDDEN_AUTOMATICALLY_MSG"
+msgstr "Hvis du opretter indhold, der inkluderer elementer fra personligt lager, skjules det muligvis ikke automatisk. Det valgte personlige indhold kan ses, når du får vist det nye indhold."
+
+msgid "IDS_HS_ACBUTTON_EDIT"
+msgstr "REDIGER"
+
+msgid "IDS_MF_BUTTON_SETTINGS"
+msgstr "Indstillinger"
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "REDIGER"
+
+msgid "IDS_CLOCK_HEADER_REORDER_ABB"
+msgstr "Skift rækkefølge"
+
diff --git a/res/po/de.po b/res/po/de.po
new file mode 100644 (file)
index 0000000..26d1a2b
--- /dev/null
@@ -0,0 +1,759 @@
+msgid "IDS_MF_POP_YOUR_DEVICE_IS_NOT_CONNECTED_TO_A_WI_FI_NETWORK_CONNECTING_TO_A_MOBILE_NETWORK_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "Ihr Gerät ist nicht mit einem WLAN-Netzwerk verbunden. Bei einer Verbindung mit einem mobilen Netz fallen je nach Tarif möglicherweise zusätzliche Gebühren an."
+
+msgid "IDS_VIDEO_TPOP_MOBILE_DATA_TURNED_OFF_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_TURN_ON_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Mobile Daten sind deaktiviert. Stellen Sie stattdessen eine Verbindung mit einem WLAN her oder aktivieren Sie mobile Daten und versuchen Sie es erneut."
+
+msgid "IDS_VIDEO_BODY_AFTER_YOU_RECORD_VIDEOS_USING_THE_CAMERA_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Nach dem Aufnehmen von Videos mit der Kamera werden diese Videos hier angezeigt."
+
+msgid "IDS_VIDEO_TPOP_FILE_NAME_ALREADY_IN_USE"
+msgstr "Dateiname wird bereits verwendet."
+
+msgid "IDS_MF_POP_DELETE_PD_ITEMS_Q"
+msgstr "%d Elemente löschen?"
+
+msgid "IDS_ST_HEADER_PRIVACY"
+msgstr "Datenschutz"
+
+msgid "IDS_COM_BODY_SEP_ABB"
+msgstr "Sep."
+
+msgid "IDS_COM_BODY_OCT_ABB"
+msgstr "Okt."
+
+msgid "IDS_COM_BODY_NOV_ABB"
+msgstr "Nov."
+
+msgid "IDS_COM_BODY_MAY_ABB"
+msgstr "Mai"
+
+msgid "IDS_COM_BODY_MAR_ABB"
+msgstr "Mär."
+
+msgid "IDS_COM_BODY_JUN_ABB"
+msgstr "Jun."
+
+msgid "IDS_COM_BODY_JUL_ABB"
+msgstr "Jul."
+
+msgid "IDS_COM_BODY_JAN_ABB"
+msgstr "Jan."
+
+msgid "IDS_COM_BODY_FEB_ABB"
+msgstr "Feb."
+
+msgid "IDS_COM_BODY_DEC_ABB"
+msgstr "Dez."
+
+msgid "IDS_COM_BODY_AUG_ABB"
+msgstr "Aug."
+
+msgid "IDS_COM_BODY_APR_ABB"
+msgstr "Apr."
+
+msgid "IDS_GALLERY_HEADER_ALBUM"
+msgstr "Album"
+
+msgid "IDS_MEDIABR_OPT_MORE"
+msgstr "Mehr"
+
+msgid "IDS_MEDIABR_POP_INVALID_INPUT_PARAMETER"
+msgstr "Ungültiger Eingabeparameter"
+
+msgid "IDS_MEDIABR_POP_ENTRY_IS_EMPTY"
+msgstr "Eintrag ist leer"
+
+msgid "IDS_MEDIABR_POP_SAME_NAME_ALREADY_IN_USE"
+msgstr "Derselbe Name wird bereits verwendet"
+
+msgid "IDS_MEDIABR_POP_UNABLE_TO_RENAME"
+msgstr "Umbenennen nicht möglich"
+
+msgid "IDS_MEDIABR_POP_NO_ALBUMS_SELECTED"
+msgstr "Keine Alben ausgewählt."
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ITEM"
+msgstr "Element auswählen"
+
+msgid "IDS_MEDIABR_BODY_NO_ALBUMS"
+msgstr "Keine Alben"
+
+msgid "IDS_MEDIABR_POP_CREATE_FOLDER_Q"
+msgstr "Ordner erstellen?"
+
+msgid "IDS_MEDIABR_POP_RETRY_Q"
+msgstr "Wiederholen?"
+
+msgid "IDS_MEDIABR_POPUP_REMOVE_Q"
+msgstr "Entfernen?"
+
+msgid "IDS_MEDIABR_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "%d Alben werden gelöscht."
+
+msgid "IDS_MEDIABR_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "1 Album wird gelöscht."
+
+msgid "IDS_MEDIABR_BODY_CAMERA"
+msgstr "Kamera"
+
+msgid "IDS_MEDIABR_BUTTON_START"
+msgstr "Start"
+
+msgid "IDS_MEDIABR_OPT_SETTINGS"
+msgstr "Einstellungen"
+
+msgid "IDS_MEDIABR_OPT_YES"
+msgstr "Ja"
+
+msgid "IDS_MEDIABR_OPT_NO"
+msgstr "Nein"
+
+msgid "IDS_MEDIABR_BUTTON_OK"
+msgstr "OK"
+
+msgid "IDS_MEDIABR_BUTTON_SAVE"
+msgstr "Speichern"
+
+msgid "IDS_MEDIABR_POP_DELETE_Q"
+msgstr "Löschen?"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_ALBUM"
+msgstr "In Album verschieben"
+
+msgid "IDS_GALLERY_OPT_COPY_TO_ALBUM"
+msgstr "In Album kopieren"
+
+msgid "IDS_GALLERY_HEADER_VIEW_BY_ABB"
+msgstr "Anzeigetyp"
+
+msgid "IDS_GALLERY_HEADER_ENTER_NAME"
+msgstr "Name eingeben"
+
+msgid "IDS_MEDIABR_POP_ALL_DATA_RELATED_TO_THIS_ACCOUNT_WILL_BE_DELETED_CONTINUE_Q"
+msgstr "Alle mit diesem Konto verbundenen Daten werden gelöscht. Fortfahren?"
+
+msgid "IDS_MEDIABR_BUTTON_CANCEL_ABB"
+msgstr "Abbrechen"
+
+msgid "IDS_MEDIABR_TAB4_NEW_ALBUM"
+msgstr "Neues Album"
+
+msgid "IDS_MEDIABR_POP_DO_YOU_WANT_TO_COPY_OR_MOVE_THE_PICTURES_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Möchten Sie die Bilder aus dem Originalalbum kopieren oder verschieben?"
+
+msgid "IDS_MEDIABR_OPT_SHARE"
+msgstr "Senden"
+
+msgid "IDS_MEDIABR_OPT_SLIDESHOW"
+msgstr "Diashow"
+
+msgid "IDS_MEDIABR_OPT_START_SLIDESHOW"
+msgstr "Diashow starten"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS"
+msgstr "Diashoweinstellungen"
+
+msgid "IDS_MEDIABR_POP_NO_NAME"
+msgstr "Kein Name"
+
+msgid "IDS_MEDIABR_BODY_ALL_ALBUMS"
+msgstr "Alle Alben"
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ALBUM"
+msgstr "Album auswählen"
+
+msgid "IDS_MEDIABR_POP_1_ITEM_WILL_BE_DELETED"
+msgstr "1 Element wird gelöscht."
+
+msgid "IDS_MEDIABR_OPT_ALL_ITEMS"
+msgstr "Alle Elemente"
+
+msgid "IDS_MEDIABR_BODY_PD_ITEMS"
+msgstr "%d Objekte"
+
+msgid "IDS_IV_BODY_THERE_IS_ONLY_ONE_ALBUM"
+msgstr "Es ist nur ein Album vorhanden."
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "Sie können bis zu %d Elemente auswählen."
+
+msgid "IDS_MF_BODY_DOWNLOADS"
+msgstr "Downloads"
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Löschen?"
+
+msgid "IDS_MF_SK_MOVE"
+msgstr "Verschieben"
+
+msgid "IDS_MF_POP_DELETING_ING"
+msgstr "Löschen..."
+
+msgid "IDS_CAM_BODY_OPERATION_FAILED"
+msgstr "Vorgang fehlgeschlagen"
+
+msgid "IDS_MSG_BODY_CANCELLED_M_CONTENT"
+msgstr "Storniert"
+
+msgid "IDS_MF_OPT_DELETE_SELECTED"
+msgstr "Ausgewählt"
+
+msgid "IDS_MF_POP_MOVED"
+msgstr "Verschoben"
+
+msgid "IDS_MF_POP_COPIED"
+msgstr "Kopiert"
+
+msgid "IDS_VPL_POP_NO_FILES_SELECTED"
+msgstr "Keine Dateien ausgewählt"
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Schließen"
+
+msgid "IDS_MF_OPT_SORT_BY_ABB"
+msgstr "Sortieren nach"
+
+msgid "IDS_CAM_POP_LATEST"
+msgstr "Aktuell"
+
+msgid "IDS_MEDIABR_POP_OLDEST_M_DATE"
+msgstr "Ältestes"
+
+msgid "IDS_MSG_BUTTON2_CREATE"
+msgstr "Erstellen"
+
+msgid "IDS_MEDIABR_POP_NO_ITEMS"
+msgstr "Keine Elemente"
+
+msgid "IDS_MEDIABR_OPT_EDIT_IMAGE"
+msgstr "Bild bearbeiten"
+
+msgid "IDS_MEDIABR_BODY_SELECT_PICTURE"
+msgstr "Bild auswählen"
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ITEM_Q"
+msgstr "Dieses Element löschen?"
+
+msgid "IDS_GALLERY_OPT_SCENERY"
+msgstr "Szene"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PRIVATE"
+msgstr "Aus Privat entfernen"
+
+msgid "IDS_GALLERY_OPT_PETS"
+msgstr "Haustiere"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_PRIVATE"
+msgstr "Nach Privat verschieben"
+
+msgid "IDS_GALLERY_OPT_FOOD"
+msgstr "Essen"
+
+msgid "IDS_GALLERY_OPT_FLOWERS"
+msgstr "Blumen"
+
+msgid "IDS_GALLERY_OPT_DOCUMENTS"
+msgstr "Dokumente"
+
+msgid "IDS_GALLERY_MBODY_VEHICLES"
+msgstr "Fahrzeuge"
+
+msgid "IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED"
+msgstr "Maximale Anzahl an Zeichen (%d) erreicht."
+
+msgid "IDS_IV_BODY_UNABLE_TO_LOAD_PHOTO_ABB"
+msgstr "Foto konnte nicht geladen werden"
+
+msgid "IDS_IV_BODY_SHARE_VIA"
+msgstr "Senden via"
+
+msgid "IDS_IV_BODY_DONT_ASK_AGAIN"
+msgstr "Nicht erneut fragen"
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maximal zulässige Zeichenanzahl erreicht."
+
+msgid "IDS_GALLERY_HEADER_TIME"
+msgstr "Zeit"
+
+msgid "IDS_EMAIL_BODY_FAILED_M_STATUS"
+msgstr "Fehler"
+
+msgid "IDS_EMAIL_BODY_DELETED"
+msgstr "Gelöscht"
+
+msgid "IDS_EMAIL_POP_DELETE_Q"
+msgstr "Löschen?"
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Entferne..."
+
+msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS"
+msgstr "%d Elemente werden angezeigt."
+
+msgid "IDS_GALLERY_OPT_CREATE_ALBUM"
+msgstr "Album erstellen"
+
+msgid "IDS_GALLERY_OPT_GALLERY_ABB"
+msgstr "Galerie"
+
+msgid "IDS_EMAIL_BUTTON_MORE"
+msgstr "Weitere"
+
+msgid "IDS_EMAIL_OPT_ACCOUNTS"
+msgstr "Konten"
+
+msgid "IDS_EMAIL_POP_OPERATION_FAILED"
+msgstr "Vorgang fehlgeschlagen"
+
+msgid "IDS_GALLERY_BODY_DOWNLOAD"
+msgstr "Herunterladen"
+
+msgid "IDS_GALLERY_BODY_SEARCH"
+msgstr "Suche"
+
+msgid "IDS_GALLERY_BUTTON_BACK"
+msgstr "Zurück"
+
+msgid "IDS_GALLERY_BUTTON_CAMERA"
+msgstr "Kamera"
+
+msgid "IDS_GALLERY_HEADER_ALL"
+msgstr "Alle"
+
+msgid "IDS_GALLERY_OPT_REFRESH"
+msgstr "Aktualisieren"
+
+msgid "IDS_GALLERY_OPT_REMOVE"
+msgstr "Entfernen"
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_DROPBOX_ITEMS_WILL_BE_SHOWN"
+msgstr "Nach dem Hochladen von Fotos auf Dropbox werden Elemente angezeigt."
+
+msgid "IDS_KEEPIT_BODY_GROUP_PLAY_ABB"
+msgstr "Group Play"
+
+msgid "IDS_MEDIABR_HEADER_CONTACTS"
+msgstr "Kontakte"
+
+msgid "IDS_MEDIABR_OPT_CREATE"
+msgstr "Erstellen"
+
+msgid "IDS_MEDIABR_OPT_DETAILS"
+msgstr "Details"
+
+msgid "IDS_MEDIABR_OPT_PRINT"
+msgstr "Drucken"
+
+msgid "IDS_MEDIABR_OPT_RENAME"
+msgstr "Umbenennen"
+
+msgid "IDS_MEDIABR_POP_DOWNLOADED"
+msgstr "Heruntergeladen"
+
+msgid "IDS_MEDIABR_POP_DOWNLOADING_ING"
+msgstr "Herunterladen..."
+
+msgid "IDS_MF_HEADER_ENTER_NAME"
+msgstr "Name eingeben"
+
+msgid "IDS_MF_HEADER_MYFILES"
+msgstr "Eigene Dateien"
+
+msgid "IDS_MF_POP_ADDED"
+msgstr "Hinzugefügt"
+
+msgid "IDS_MF_POP_PROCESSING_ING"
+msgstr "Verarbeitung läuft ..."
+
+msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
+msgstr "Nicht unterstützter Dateityp"
+
+msgid "IDS_IMGE_BODY_AFTER_YOU_TAKE_PICTURES_PICTURES_WILL_BE_SHOWN"
+msgstr "Nach dem Aufnehmen von Bildern werden diese angezeigt."
+
+msgid "IDS_IME_BODY_LANDSCAPE_MODE"
+msgstr "Querformatmodus"
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_CLOSE_DRAWER_MENU_TTS"
+msgstr "Zweimal tippen, um das Schubfachmenü zu schließen."
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_OPEN_DRAWER_MENU_TTS"
+msgstr "Zweimal tippen, um das Schubfachmenü zu öffnen."
+
+msgid "IDS_EMAIL_BODY_DRAG_AND_DROP"
+msgstr "Ziehen und ablegen"
+
+msgid "IDS_EMAIL_OPT_DRAWER_ABB"
+msgstr "Schubfach"
+
+msgid "IDS_EMAIL_POP_MOBILE_DATA_IS_DISABLED_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_ENABLE_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Mobile Daten sind deaktiviert. Verbinde dich stattdessen mit WLAN oder aktiviere mobile Daten und versuche es erneut."
+
+msgid "IDS_EMAIL_POP_WI_FI_CONNECTION_REQUIRED_CONNECT_TO_WI_FI_NETWORK_AND_TRY_AGAIN"
+msgstr "WLAN-Verbindung erforderlich. Verbinden Sie sich mit einem WLAN-Netzwerk und versuchen Sie es erneut."
+
+msgid "IDS_GALLERY_HEADER_ADD_PICTURES_FROM_ABB"
+msgstr "Bilder hinzufügen von"
+
+msgid "IDS_GALLERY_HEADER_CONNECTED_DEVICES_ABB"
+msgstr "Verbundene Geräte"
+
+msgid "IDS_GALLERY_OPT_PRIVATE_CONTENT"
+msgstr "Privater Inhalt"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PS"
+msgstr "Aus %s entfernen"
+
+msgid "IDS_GALLERY_OPT_REMOVE_NAME_TAG"
+msgstr "Namens-Tag entfernen"
+
+msgid "IDS_GALLERY_POP_THERE_ARE_NO_EVENTS_TO_DISPLAY_CREATE_A_NEW_EVENT"
+msgstr "Keine Ereignisse vorhanden. Neues Ereignis erstellen."
+
+msgid "IDS_GALLERY_POP_TO_SCROLL_QUICKLY_TO_OTHER_DATES_TAP_AND_HOLD_THE_DATE_INDICATOR_AT_THE_TOP_RIGHT_OF_THE_SCREEN"
+msgstr "Um schnell zu einem anderen Datum zu blättern, tippen und halten Sie die Datumsanzeige oben rechts auf dem Bildschirm."
+
+msgid "IDS_GP_POP_REMOVE_PD_ITEMS_Q"
+msgstr "%d Elemente entfernen?"
+
+msgid "IDS_GP_POP_REMOVE_THIS_ITEM_Q"
+msgstr "Dieses Element entfernen?"
+
+msgid "IDS_HELP_BODY_GALLERY"
+msgstr "Galerie"
+
+msgid "IDS_HELP_OPT_SHUFFLED_PICTURES"
+msgstr "Gemischte Bilder"
+
+msgid "IDS_IV_BODY_ADD_PICTURES"
+msgstr "Bilder hinzufügen"
+
+msgid "IDS_IV_BODY_AFTER_YOU_TAG_PICTURES_AS_YOUR_FAVOURITES_PICTURES_WILL_BE_SHOWN"
+msgstr "Nachdem Sie Episoden als Favoriten gekennzeichnet haben, werden Bilder angezeigt."
+
+msgid "IDS_IV_BODY_REMOVE_FACE_IDENTIFICATION_Q"
+msgstr "Identifizierung von Gesichtern entfernen?"
+
+msgid "IDS_IV_OPT_ASSIGN_NAME"
+msgstr "Namen zuweisen"
+
+msgid "IDS_IV_OPT_CONFIRM_AS_PS"
+msgstr "Als %s bestätigen."
+
+msgid "IDS_IV_OPT_LAYOUT_M_PICTUERS"
+msgstr "Layout"
+
+msgid "IDS_IV_OPT_PD_PICTURES_ADDED"
+msgstr "%d Bilder hinzugefügt"
+
+msgid "IDS_IV_POP_THE_ALBUM_WILL_BE_CANCELLED"
+msgstr "Das Album wird storniert."
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEM_ABB"
+msgstr "Element löschen"
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEMS"
+msgstr "Elemente löschen"
+
+msgid "IDS_MEDIABR_BODY_1_ITEM"
+msgstr "1 Element"
+
+msgid "IDS_MEDIABR_BODY_10_SECONDS"
+msgstr "10 Sekunden"
+
+msgid "IDS_MEDIABR_BODY_5_SECONDS"
+msgstr "5 Sekunden"
+
+msgid "IDS_MEDIABR_BODY_NOT_ASSIGNED"
+msgstr "Nicht zugewiesen"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL"
+msgstr "Diashowintervall"
+
+msgid "IDS_MEDIABR_BODY_UNTAGGED"
+msgstr "Ohne Tag"
+
+msgid "IDS_MEDIABR_OPT_3_SECONDS"
+msgstr "3 Sekunden"
+
+msgid "IDS_MEDIABR_OPT_ALL_CONTENT"
+msgstr "Gesamter Inhalt"
+
+msgid "IDS_MEDIABR_OPT_CONTENT_TO_DISPLAY"
+msgstr "Anzuzeigender Inhalt"
+
+msgid "IDS_MEDIABR_OPT_DELETE_TAG"
+msgstr "Tag löschen"
+
+msgid "IDS_MEDIABR_OPT_DEVICE_CONTENT"
+msgstr "Geräteinhalt"
+
+msgid "IDS_MEDIABR_OPT_DROPBOX_CONTENT"
+msgstr "Dropbox-Inhalt"
+
+msgid "IDS_MEDIABR_OPT_FACEBOOK_CONTENT"
+msgstr "Facebook-Inhalt"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_LEFT"
+msgstr "Nach links drehen"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_RIGHT"
+msgstr "Nach rechts drehen"
+
+msgid "IDS_MEDIABR_POP_IMPORT"
+msgstr "Importieren"
+
+msgid "IDS_MEDIABR_POP_IMPORTED"
+msgstr "Importiert"
+
+msgid "IDS_MEDIABR_POP_IMPORTING_ING"
+msgstr "Importieren..."
+
+msgid "IDS_MEDIABR_POP_LOADING_ING"
+msgstr "Lädt..."
+
+msgid "IDS_MEDIABR_POP_NEARBY_DEVICES_FOUND"
+msgstr "Geräte in der Nähe gefunden"
+
+msgid "IDS_MEDIABR_POP_NO_DEVICES_FOUND_SCANNING_FOR_NEARBY_DEVICES_WILL_CONTINUE_IN_BACKGROUND"
+msgstr "Keine Geräte gefunden. Der Scan nach Geräten in der Nähe wird im Hintergrund ausgeführt."
+
+msgid "IDS_MEDIABR_POP_REFRESHED"
+msgstr "Aktualisiert"
+
+msgid "IDS_MEDIABR_POP_ROTATING_ING"
+msgstr "Drehen..."
+
+msgid "IDS_MEDIABR_POP_SCAN_STARTED_DEVICE_LIST_WILL_BE_UPDATED_AUTOMATICALLY"
+msgstr "Scan gestartet. Geräteliste wird automatisch aktualisiert."
+
+msgid "IDS_MEDIABR_POP_STARTING_DOWNLOAD_ABB"
+msgstr "Starte Download..."
+
+msgid "IDS_MF_OPT_COPY_TO"
+msgstr "Kopieren nach"
+
+msgid "IDS_MF_OPT_MOVE_TO"
+msgstr "Verschieben in"
+
+msgid "IDS_MF_POP_FAILED_TO_ADD_SHORTCUT"
+msgstr "Verknüpfung konnte nicht hinzugefügt werden."
+
+msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
+msgstr "Nicht genügend Speicher. Löschen Sie einige Elemente"
+
+msgid "IDS_MF_POP_REMOVED"
+msgstr "Entfernt"
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Wird hinzugefügt..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "%d Alben löschen?"
+
+msgid "IDS_ST_BODY_PRIVATE_STORAGE"
+msgstr "Privater Speicher"
+
+msgid "IDS_IV_BODY_DRAG_HERE"
+msgstr "Hierher ziehen"
+
+msgid "IDS_GALLERY_BODY_NEW_M_ALBUM_ABB"
+msgstr "Neu"
+
+msgid "IDS_GALLERY_HEADER_UNGROUPEDM_PEOPLE_ABB"
+msgstr "Nicht gruppiert"
+
+msgid "IDS_KEEPIT_OPT_SCREENSHOTS_ABB"
+msgstr "Screenshots"
+
+msgid "IDS_MEDIABR_OPT_PHOTOS"
+msgstr "Fotos"
+
+msgid "IDS_MEDIABR_POP_DOWNLOAD_FAILED"
+msgstr "Herunterladen fehlgeschlagen"
+
+msgid "IDS_MEDIABR_POP_UNSUPPORTED_FILE"
+msgstr "Nicht unterstützte Datei"
+
+msgid "IDS_SEARCH_BODY_1_RESULT"
+msgstr "1 Ergebnis"
+
+msgid "IDS_SEARCH_BODY_PD_RESULTS"
+msgstr "%d Ergebnisse"
+
+msgid "IDS_TW_BODY_FAVORITES"
+msgstr "Favoriten"
+
+msgid "IDS_EMAIL_POP_DOWNLOAD_CANCELLED"
+msgstr "Herunterladen abgebrochen"
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ALBUM_Q"
+msgstr "Dieses Album löschen?"
+
+msgid "IDS_CAM_HEADER_WARNING_ABB"
+msgstr "Warnung"
+
+msgid "IDS_ALM_OPT_SORT_BY"
+msgstr "Sortieren nach"
+
+msgid "IDS_CLD_OPT_TODAY"
+msgstr "Heute"
+
+msgid "IDS_GALLERY_BODY_DATE"
+msgstr "Datum"
+
+msgid "IDS_EMAIL_BODY_NO_ITEMS_TO_DISPLAY"
+msgstr "Keine anzuzeigenden Elemente"
+
+msgid "IDS_PBR_BODY_TAP_HERE_TO_TAKE_PICTURES_OR_VIDEOS"
+msgstr "Tippen Sie hier, um Bilder oder Videos aufzunehmen."
+
+msgid "IDS_NFC_TPOP_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SHARED_HPD_EXCEEDED"
+msgstr "Die maximale Anzahl von Elementen, die freigegeben werden können (%d), wurde überschritten."
+
+msgid "IDS_IV_BODY_TAP_TO_ADD_IMAGES"
+msgstr "Bilder hinzufügen"
+
+msgid "IDS_GALLERY_POP_COPY_OR_MOVE_THE_SELECTED_ITEMS_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Die ausgewählten Elemente aus dem Originalalbum kopieren oder verschieben?"
+
+msgid "IDS_GALLERY_HEADER_SELECT"
+msgstr "Auswählen"
+
+msgid "IDS_VIDEO_POP_FILE_ALREADY_EXISTS"
+msgstr "Datei bereits vorhanden."
+
+msgid "IDS_VIDEO_POP_THIS_ITEM_WILL_BE_DELETED"
+msgstr "Dieses Element wird gelöscht."
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_FACEBOOK_ITEMS_WILL_BE_SHOWN"
+msgstr "Nach dem Hochladen von Fotos auf Facebook werden Elemente angezeigt."
+
+msgid "IDS_GALLERY_HEADER_SELECT_ALL_ABB"
+msgstr "Alle auswählen"
+
+msgid "IDS_GALLERY_HEADER_PD_SELECTED_ABB"
+msgstr "%d ausgewählt"
+
+msgid "IDS_GALLERY_OPT_VIEW_AS"
+msgstr "Ansicht"
+
+msgid "IDS_GALLERY_OPT_DATE_HMOST_RECENT_ABB2"
+msgstr "Datum (neueste)"
+
+msgid "IDS_GALLERY_OPT_DATE_HOLDEST_ABB3"
+msgstr "Datum (ält.)"
+
+msgid "IDS_GALLERY_BODY_AFTER_YOU_TAKE_PICTURES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Bilder werden nach der Aufnahme hier angezeigt."
+
+msgid "IDS_CLOUD_TPOP_CANCELLING_ING"
+msgstr "Abbrechen..."
+
+msgid "IDS_GALLERY_OPT_FROM_DEVICE_ABB"
+msgstr "Vom Gerät"
+
+msgid "IDS_GALLERY_OPT_FROM_DROPBOX_ABB"
+msgstr "Aus Dropbox"
+
+msgid "IDS_GALLERY_OPT_FROM_FACEBOOK_ABB"
+msgstr "Von Facebook"
+
+msgid "IDS_MUSIC_BODY_DOWNLOAD_COMPLETED"
+msgstr "Vollständig heruntergeladen"
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DELETED"
+msgstr "Alle Elemente werden gelöscht."
+
+msgid "IDS_GALLERY_POP_1_ITEM_WILL_BE_DOWNLOADED"
+msgstr "1 Element wird heruntergeladen."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "%d Elemente werden heruntergeladen."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "Alle Elemente werden heruntergeladen."
+
+msgid "IDS_GALLERY_TPOP_SELECTED_ALBUM_SAME_AS_SOURCE_ALBUM_SELECT_ANOTHER_ALBUM"
+msgstr "Das ausgewählte Album ist dasselbe wie das ursprüngliche Album. Wählen Sie ein anderes Album aus."
+
+msgid "IDS_HS_NPBODY_TAP_HERE_TO_ADD_IMAGES"
+msgstr "Hier tippen, um Bilder hinzuzufügen."
+
+msgid "IDS_MF_HEADER_UNABLE_TO_SAVE_DATA_ABB"
+msgstr "Daten nicht speicherbar"
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_IN_YOUR_DEVICE_STORAGE_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "Es ist nicht genügend Gerätespeicher frei. Wechseln Sie zu „Einstellungen > Energie und Speicher > Speicher“, löschen Sie Dateien und versuchen Sie es dann erneut."
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_YOUR_SD_CARD_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "Es ist nicht genügend Speicher auf der SD-Karte frei. Wechseln Sie zu „Einstellungen > Energie und Speicher > Speicher“, löschen Sie Dateien und versuchen Sie es dann erneut."
+
+msgid "IDS_MF_BUTTON_CANCEL_ABB3"
+msgstr "Abbrechen"
+
+msgid "IDS_MF_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Nicht erneut anzeigen"
+
+msgid "IDS_MF_POP_USING_MOBILE_DATA_WHILE_ROAMING_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "Die Nutzung von mobilen Daten beim Roaming kann je nach Tarif zusätzliche Kosten verursachen."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DELETED_ABB"
+msgstr "%d Elemente werden gelöscht."
+
+msgid "IDS_GALLERY_OPT_DELETE"
+msgstr "Löschen"
+
+msgid "IDS_GALLERY_BODY_YESTERDAY"
+msgstr "Gestern"
+
+msgid "IDS_BR_MBODY_DOWNLOADS"
+msgstr "Downloads"
+
+msgid "IDS_GALLERY_HEADER_COPY"
+msgstr "Kopieren"
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Löschen"
+
+msgid "IDS_GALLERY_BUTTON_ALBUMS"
+msgstr "Alben"
+
+msgid "IDS_GALLERY_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Die maximale Anzahl von Elementen (%d) wurde überschritten."
+
+msgid "IDS_GALLERY_BUTTON_CANCEL"
+msgstr "Abbruch"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "FERTIG"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ABBRECHEN"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "LÖSCHEN"
+
+msgid "IDS_GALLERY_POP_COPYING_ING"
+msgstr "Wird kopiert..."
+
+msgid "IDS_GALLERY_POP_MOVING_ING"
+msgstr "Verschiebevorgang aktiv..."
+
+msgid "IDS_STORYALBUM_POP_IF_YOU_CREATE_CONTENT_THAT_INCLUDES_ITEMS_FROM_PERSONAL_STORAGE_IT_MAY_NOT_BE_HIDDEN_AUTOMATICALLY_MSG"
+msgstr "Inhalt, der Elemente aus dem persönlichen Speicher umfasst, wird möglicherweise nicht automatisch ausgeblendet. Der ausgewählte persönliche Inhalt könnte beim Ansehen des neuen Inhalts sichtbar sein."
+
+msgid "IDS_HS_ACBUTTON_EDIT"
+msgstr "BEARBEITEN"
+
+msgid "IDS_MF_BUTTON_SETTINGS"
+msgstr "Einstellungen"
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "BEARBEITEN"
+
+msgid "IDS_CLOCK_HEADER_REORDER_ABB"
+msgstr "Neue Sortierung"
+
diff --git a/res/po/el_GR.po b/res/po/el_GR.po
new file mode 100644 (file)
index 0000000..0199a0b
--- /dev/null
@@ -0,0 +1,759 @@
+msgid "IDS_MF_POP_YOUR_DEVICE_IS_NOT_CONNECTED_TO_A_WI_FI_NETWORK_CONNECTING_TO_A_MOBILE_NETWORK_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "Η συσκευή σας δεν έχει συνδεθεί σε δίκτυο Wi-Fi. Η σύνδεση σε δίκτυο κινητής τηλεφωνίας ενδέχεται να επιφέρει πρόσθετες χρεώσεις, ανάλογα με το πρόγραμμα χρέωσης που διαθέτετε."
+
+msgid "IDS_VIDEO_TPOP_MOBILE_DATA_TURNED_OFF_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_TURN_ON_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Τα δεδομένα κινητής τηλεφωνίας απενεργοποιήθηκαν. Συνδεθείτε σε ένα δίκτυο Wi-Fi ή ενεργοποιήστε τα δεδομένα κινητής τηλεφωνίας και δοκιμάστε ξανά."
+
+msgid "IDS_VIDEO_BODY_AFTER_YOU_RECORD_VIDEOS_USING_THE_CAMERA_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Αφού τραβήξετε βίντεο με την κάμερα, τα βίντεο θα εμφανιστούν εδώ."
+
+msgid "IDS_VIDEO_TPOP_FILE_NAME_ALREADY_IN_USE"
+msgstr "Το όνομα αρχείου χρησιμοποιείται ήδη."
+
+msgid "IDS_MF_POP_DELETE_PD_ITEMS_Q"
+msgstr "Διαγραφή των στοιχείων %d;"
+
+msgid "IDS_ST_HEADER_PRIVACY"
+msgstr "Απόρρητο"
+
+msgid "IDS_COM_BODY_SEP_ABB"
+msgstr "Σεπ."
+
+msgid "IDS_COM_BODY_OCT_ABB"
+msgstr "Οκτ."
+
+msgid "IDS_COM_BODY_NOV_ABB"
+msgstr "Νοέ."
+
+msgid "IDS_COM_BODY_MAY_ABB"
+msgstr "Μάη."
+
+msgid "IDS_COM_BODY_MAR_ABB"
+msgstr "Μάρ."
+
+msgid "IDS_COM_BODY_JUN_ABB"
+msgstr "Ιούν"
+
+msgid "IDS_COM_BODY_JUL_ABB"
+msgstr "Ιούλ"
+
+msgid "IDS_COM_BODY_JAN_ABB"
+msgstr "Ιαν."
+
+msgid "IDS_COM_BODY_FEB_ABB"
+msgstr "Φεβ."
+
+msgid "IDS_COM_BODY_DEC_ABB"
+msgstr "Δεκ."
+
+msgid "IDS_COM_BODY_AUG_ABB"
+msgstr "Αύγ."
+
+msgid "IDS_COM_BODY_APR_ABB"
+msgstr "Απρ."
+
+msgid "IDS_GALLERY_HEADER_ALBUM"
+msgstr "Άλμπουμ"
+
+msgid "IDS_MEDIABR_OPT_MORE"
+msgstr "Περισσότερα"
+
+msgid "IDS_MEDIABR_POP_INVALID_INPUT_PARAMETER"
+msgstr "Μη έγκυρη παράμετρος δεδομένων εισόδου."
+
+msgid "IDS_MEDIABR_POP_ENTRY_IS_EMPTY"
+msgstr "Κενή καταχώρηση."
+
+msgid "IDS_MEDIABR_POP_SAME_NAME_ALREADY_IN_USE"
+msgstr "Το όνομα χρησιμοποιείται ήδη."
+
+msgid "IDS_MEDIABR_POP_UNABLE_TO_RENAME"
+msgstr "Δεν είναι δυνατή η μετονομασία."
+
+msgid "IDS_MEDIABR_POP_NO_ALBUMS_SELECTED"
+msgstr "Δεν έχουν επιλεγεί άλμπουμ."
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ITEM"
+msgstr "Επιλογή στοιχείου"
+
+msgid "IDS_MEDIABR_BODY_NO_ALBUMS"
+msgstr "Δεν υπάρχουν άλμπουμ"
+
+msgid "IDS_MEDIABR_POP_CREATE_FOLDER_Q"
+msgstr "Δημιουργία φακέλου;"
+
+msgid "IDS_MEDIABR_POP_RETRY_Q"
+msgstr "Επανάληψη;"
+
+msgid "IDS_MEDIABR_POPUP_REMOVE_Q"
+msgstr "Αφαίρεση;"
+
+msgid "IDS_MEDIABR_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "Θα διαγραφούν %d άλμπουμ."
+
+msgid "IDS_MEDIABR_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "Θα διαγραφεί 1 άλμπουμ."
+
+msgid "IDS_MEDIABR_BODY_CAMERA"
+msgstr "Κάμερα"
+
+msgid "IDS_MEDIABR_BUTTON_START"
+msgstr "Έναρξη"
+
+msgid "IDS_MEDIABR_OPT_SETTINGS"
+msgstr "Ρυθμίσεις"
+
+msgid "IDS_MEDIABR_OPT_YES"
+msgstr "Ναι"
+
+msgid "IDS_MEDIABR_OPT_NO"
+msgstr "Όχι"
+
+msgid "IDS_MEDIABR_BUTTON_OK"
+msgstr "OK"
+
+msgid "IDS_MEDIABR_BUTTON_SAVE"
+msgstr "Αποθήκ."
+
+msgid "IDS_MEDIABR_POP_DELETE_Q"
+msgstr "Διαγραφή;"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_ALBUM"
+msgstr "Μετακίνηση σε άλμπουμ"
+
+msgid "IDS_GALLERY_OPT_COPY_TO_ALBUM"
+msgstr "Αντιγραφή σε άλμπουμ"
+
+msgid "IDS_GALLERY_HEADER_VIEW_BY_ABB"
+msgstr "Προβολή κατά"
+
+msgid "IDS_GALLERY_HEADER_ENTER_NAME"
+msgstr "Εισαγωγή ονόματος"
+
+msgid "IDS_MEDIABR_POP_ALL_DATA_RELATED_TO_THIS_ACCOUNT_WILL_BE_DELETED_CONTINUE_Q"
+msgstr "Θα γίνει διαγραφή όλων των δεδομένων που έχουν σχέση με αυτόν τον λογαριασμό. Συνέχεια;"
+
+msgid "IDS_MEDIABR_BUTTON_CANCEL_ABB"
+msgstr "Ακύρωση"
+
+msgid "IDS_MEDIABR_TAB4_NEW_ALBUM"
+msgstr "Νέο άλμπουμ"
+
+msgid "IDS_MEDIABR_POP_DO_YOU_WANT_TO_COPY_OR_MOVE_THE_PICTURES_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Θέλετε να αντιγράψετε ή να μεταφέρετε φωτογραφίες από το αρχικό άλμπουμ;"
+
+msgid "IDS_MEDIABR_OPT_SHARE"
+msgstr "Κοινόχρηστο"
+
+msgid "IDS_MEDIABR_OPT_SLIDESHOW"
+msgstr "Παρουσίαση"
+
+msgid "IDS_MEDIABR_OPT_START_SLIDESHOW"
+msgstr "Έναρξη παρουσίασης"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS"
+msgstr "Ρυθμίσεις παρουσίασης"
+
+msgid "IDS_MEDIABR_POP_NO_NAME"
+msgstr "Κανένα όνομα"
+
+msgid "IDS_MEDIABR_BODY_ALL_ALBUMS"
+msgstr "Όλα τα άλμπουμ"
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ALBUM"
+msgstr "Επιλογή άλμπουμ"
+
+msgid "IDS_MEDIABR_POP_1_ITEM_WILL_BE_DELETED"
+msgstr "Θα γίνει διαγραφή 1 στοιχείου."
+
+msgid "IDS_MEDIABR_OPT_ALL_ITEMS"
+msgstr "Όλα τα στοιχεία"
+
+msgid "IDS_MEDIABR_BODY_PD_ITEMS"
+msgstr "%d στοιχεία"
+
+msgid "IDS_IV_BODY_THERE_IS_ONLY_ONE_ALBUM"
+msgstr "Υπάρχει μόνο ένα άλμπουμ."
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "Μπορείτε να επιλέξετε μέχρι και %d στοιχεία."
+
+msgid "IDS_MF_BODY_DOWNLOADS"
+msgstr "Λήψεις"
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Διαγραφή;"
+
+msgid "IDS_MF_SK_MOVE"
+msgstr "Μετακίνηση"
+
+msgid "IDS_MF_POP_DELETING_ING"
+msgstr "Διαγραφή..."
+
+msgid "IDS_CAM_BODY_OPERATION_FAILED"
+msgstr "Λειτουργία απέτυχε."
+
+msgid "IDS_MSG_BODY_CANCELLED_M_CONTENT"
+msgstr "Ακυρώθηκε"
+
+msgid "IDS_MF_OPT_DELETE_SELECTED"
+msgstr "Επιλεγμένο"
+
+msgid "IDS_MF_POP_MOVED"
+msgstr "Μετακινήθηκε."
+
+msgid "IDS_MF_POP_COPIED"
+msgstr "Αντιγράφηκε."
+
+msgid "IDS_VPL_POP_NO_FILES_SELECTED"
+msgstr "Καμία επιλογή αρχείου."
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Κλείσιμο"
+
+msgid "IDS_MF_OPT_SORT_BY_ABB"
+msgstr "Ταξινόμηση κατά"
+
+msgid "IDS_CAM_POP_LATEST"
+msgstr "Πιο πρόσφατα"
+
+msgid "IDS_MEDIABR_POP_OLDEST_M_DATE"
+msgstr "Παλαιότερο"
+
+msgid "IDS_MSG_BUTTON2_CREATE"
+msgstr "Δημιουργία"
+
+msgid "IDS_MEDIABR_POP_NO_ITEMS"
+msgstr "Κανένα στοιχείο"
+
+msgid "IDS_MEDIABR_OPT_EDIT_IMAGE"
+msgstr "Επεξεργασία εικόνας"
+
+msgid "IDS_MEDIABR_BODY_SELECT_PICTURE"
+msgstr "Επιλογή εικόνας"
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ITEM_Q"
+msgstr "Να διαγραφεί αυτό το στοιχείο;"
+
+msgid "IDS_GALLERY_OPT_SCENERY"
+msgstr "Scenery"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PRIVATE"
+msgstr "Κατάργηση από το φάκελο «Απόρρητο»"
+
+msgid "IDS_GALLERY_OPT_PETS"
+msgstr "Κατοικίδια"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_PRIVATE"
+msgstr "Μετακίνηση στο φάκελο «Ιδιωτικό»"
+
+msgid "IDS_GALLERY_OPT_FOOD"
+msgstr "Φαγητό"
+
+msgid "IDS_GALLERY_OPT_FLOWERS"
+msgstr "Λουλούδια"
+
+msgid "IDS_GALLERY_OPT_DOCUMENTS"
+msgstr "Έγγραφα"
+
+msgid "IDS_GALLERY_MBODY_VEHICLES"
+msgstr "Οχήματα"
+
+msgid "IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED"
+msgstr "Συμπληρώθηκε ο μέγιστος αριθμός χαρακτήρων (%d)."
+
+msgid "IDS_IV_BODY_UNABLE_TO_LOAD_PHOTO_ABB"
+msgstr "Δεν είναι δυνατή η φόρτωση της φωτ."
+
+msgid "IDS_IV_BODY_SHARE_VIA"
+msgstr "Κοινή χρήση μέσω"
+
+msgid "IDS_IV_BODY_DONT_ASK_AGAIN"
+msgstr "Να μην ερωτηθώ ξανά"
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Ο μέγιστος αριθμός χαρακτήρων συμπληρώθηκε."
+
+msgid "IDS_GALLERY_HEADER_TIME"
+msgstr "Ώρα"
+
+msgid "IDS_EMAIL_BODY_FAILED_M_STATUS"
+msgstr "Απέτυχε"
+
+msgid "IDS_EMAIL_BODY_DELETED"
+msgstr "Διαγράφηκε."
+
+msgid "IDS_EMAIL_POP_DELETE_Q"
+msgstr "Διαγραφή;"
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Αφαίρεση..."
+
+msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS"
+msgstr "Εμφάνιση %d στοιχείων"
+
+msgid "IDS_GALLERY_OPT_CREATE_ALBUM"
+msgstr "Δημιουργία άλμπουμ"
+
+msgid "IDS_GALLERY_OPT_GALLERY_ABB"
+msgstr "Συλλογή"
+
+msgid "IDS_EMAIL_BUTTON_MORE"
+msgstr "Περισσότερα"
+
+msgid "IDS_EMAIL_OPT_ACCOUNTS"
+msgstr "Λογαριασμοί"
+
+msgid "IDS_EMAIL_POP_OPERATION_FAILED"
+msgstr "Λειτουργία απέτυχε."
+
+msgid "IDS_GALLERY_BODY_DOWNLOAD"
+msgstr "Λήψη"
+
+msgid "IDS_GALLERY_BODY_SEARCH"
+msgstr "Αναζήτηση"
+
+msgid "IDS_GALLERY_BUTTON_BACK"
+msgstr "Πίσω"
+
+msgid "IDS_GALLERY_BUTTON_CAMERA"
+msgstr "Κάμερα"
+
+msgid "IDS_GALLERY_HEADER_ALL"
+msgstr "Όλα"
+
+msgid "IDS_GALLERY_OPT_REFRESH"
+msgstr "Ανανέωση"
+
+msgid "IDS_GALLERY_OPT_REMOVE"
+msgstr "Κατάργηση"
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_DROPBOX_ITEMS_WILL_BE_SHOWN"
+msgstr "Τα στοιχεία θα εμφανιστούν μετά την αποστολή εικόνων στο Dropbox."
+
+msgid "IDS_KEEPIT_BODY_GROUP_PLAY_ABB"
+msgstr "Group Play"
+
+msgid "IDS_MEDIABR_HEADER_CONTACTS"
+msgstr "Επαφές"
+
+msgid "IDS_MEDIABR_OPT_CREATE"
+msgstr "Δημ/ργία"
+
+msgid "IDS_MEDIABR_OPT_DETAILS"
+msgstr "Λεπτομέρειες"
+
+msgid "IDS_MEDIABR_OPT_PRINT"
+msgstr "Εκτύπωση"
+
+msgid "IDS_MEDIABR_OPT_RENAME"
+msgstr "Μετονομασία"
+
+msgid "IDS_MEDIABR_POP_DOWNLOADED"
+msgstr "Η λήψη ολοκληρώθηκε."
+
+msgid "IDS_MEDIABR_POP_DOWNLOADING_ING"
+msgstr "Λήψη..."
+
+msgid "IDS_MF_HEADER_ENTER_NAME"
+msgstr "Εισαγωγή ονόματος."
+
+msgid "IDS_MF_HEADER_MYFILES"
+msgstr "Τα Αρχεία Μου"
+
+msgid "IDS_MF_POP_ADDED"
+msgstr "Προστέθηκε."
+
+msgid "IDS_MF_POP_PROCESSING_ING"
+msgstr "Επεξεργασία..."
+
+msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
+msgstr "Μη υποστηριζόμενος τύπος αρχείου."
+
+msgid "IDS_IMGE_BODY_AFTER_YOU_TAKE_PICTURES_PICTURES_WILL_BE_SHOWN"
+msgstr "Θα εμφανιστούν εικόνες μετά από τη λήψη φωτογραφιών."
+
+msgid "IDS_IME_BODY_LANDSCAPE_MODE"
+msgstr "Λειτουργία οριζόντιου προσανατολισμού"
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_CLOSE_DRAWER_MENU_TTS"
+msgstr "Πατήστε δύο φορές για να κλείσετε το μενού συρταριών."
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_OPEN_DRAWER_MENU_TTS"
+msgstr "Πατήστε δύο φορές για να ανοίξετε το μενού συρταριών."
+
+msgid "IDS_EMAIL_BODY_DRAG_AND_DROP"
+msgstr "Μεταφορά και απόθεση"
+
+msgid "IDS_EMAIL_OPT_DRAWER_ABB"
+msgstr "Συρτάρι"
+
+msgid "IDS_EMAIL_POP_MOBILE_DATA_IS_DISABLED_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_ENABLE_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Τα δεδομένα κινητής τηλεφωνίας απενεργοποιήθηκαν. Συνδεθείτε σε δίκτυο Wi-Fi ή ενεργοποιήστε τα δεδομένα κινητής τηλεφωνίας και δοκιμάστε ξανά"
+
+msgid "IDS_EMAIL_POP_WI_FI_CONNECTION_REQUIRED_CONNECT_TO_WI_FI_NETWORK_AND_TRY_AGAIN"
+msgstr "Απαιτείται σύνδεση Wi-Fi. Συνδεθείτε σε δίκτυο Wi-Fi και δοκιμάστε ξανά"
+
+msgid "IDS_GALLERY_HEADER_ADD_PICTURES_FROM_ABB"
+msgstr "Προσθήκη εικόνων από"
+
+msgid "IDS_GALLERY_HEADER_CONNECTED_DEVICES_ABB"
+msgstr "Συνδεδεμένες συσκευές"
+
+msgid "IDS_GALLERY_OPT_PRIVATE_CONTENT"
+msgstr "Απόρρητο περιεχόμενο"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PS"
+msgstr "Κατάργηση από %s"
+
+msgid "IDS_GALLERY_OPT_REMOVE_NAME_TAG"
+msgstr "Κατάργηση ετικέτας ονόματος"
+
+msgid "IDS_GALLERY_POP_THERE_ARE_NO_EVENTS_TO_DISPLAY_CREATE_A_NEW_EVENT"
+msgstr "Δεν υπάρχουν συμβάντα προς εμφάνιση. Δημιουργήστε νέο συμβάν."
+
+msgid "IDS_GALLERY_POP_TO_SCROLL_QUICKLY_TO_OTHER_DATES_TAP_AND_HOLD_THE_DATE_INDICATOR_AT_THE_TOP_RIGHT_OF_THE_SCREEN"
+msgstr "Για γρήγορη κύλιση σε άλλες ημερομηνίες, πατήστε την ένδειξη ημερομηνίας στην επάνω δεξιά γωνία της οθόνης."
+
+msgid "IDS_GP_POP_REMOVE_PD_ITEMS_Q"
+msgstr "Να καταργηθούν %d στοιχεία;"
+
+msgid "IDS_GP_POP_REMOVE_THIS_ITEM_Q"
+msgstr "Να καταργηθεί αυτό το στοιχείο;"
+
+msgid "IDS_HELP_BODY_GALLERY"
+msgstr "Συλλογή"
+
+msgid "IDS_HELP_OPT_SHUFFLED_PICTURES"
+msgstr "Εικόνες με τυχαία σειρά"
+
+msgid "IDS_IV_BODY_ADD_PICTURES"
+msgstr "Προσθήκη εικόνων"
+
+msgid "IDS_IV_BODY_AFTER_YOU_TAG_PICTURES_AS_YOUR_FAVOURITES_PICTURES_WILL_BE_SHOWN"
+msgstr "Οι εικόνες θα εμφανιστούν αφού τις επισημάνετε ως αγαπημένες."
+
+msgid "IDS_IV_BODY_REMOVE_FACE_IDENTIFICATION_Q"
+msgstr "Να καταργηθεί η αναγνώριση προσώπων;"
+
+msgid "IDS_IV_OPT_ASSIGN_NAME"
+msgstr "Αντιστοίχιση ονόματος"
+
+msgid "IDS_IV_OPT_CONFIRM_AS_PS"
+msgstr "Επιβεβαίωση ως %s"
+
+msgid "IDS_IV_OPT_LAYOUT_M_PICTUERS"
+msgstr "Διάταξη"
+
+msgid "IDS_IV_OPT_PD_PICTURES_ADDED"
+msgstr "Προστέθηκαν %d εικόνες"
+
+msgid "IDS_IV_POP_THE_ALBUM_WILL_BE_CANCELLED"
+msgstr "Τα άλμπουμ θα ακυρωθούν."
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEM_ABB"
+msgstr "Διαγραφή στοιχείου"
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEMS"
+msgstr "Διαγραφή στοιχείων"
+
+msgid "IDS_MEDIABR_BODY_1_ITEM"
+msgstr "1 στοιχείο"
+
+msgid "IDS_MEDIABR_BODY_10_SECONDS"
+msgstr "10 δευτερόλεπτα"
+
+msgid "IDS_MEDIABR_BODY_5_SECONDS"
+msgstr "5 δευτερόλεπτα"
+
+msgid "IDS_MEDIABR_BODY_NOT_ASSIGNED"
+msgstr "Δεν έχει αντιστοιχηθεί"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL"
+msgstr "Διάστημα παρουσίασης"
+
+msgid "IDS_MEDIABR_BODY_UNTAGGED"
+msgstr "Χωρίς ετικέτα"
+
+msgid "IDS_MEDIABR_OPT_3_SECONDS"
+msgstr "3 δευτερόλεπτα"
+
+msgid "IDS_MEDIABR_OPT_ALL_CONTENT"
+msgstr "Όλο το περιεχόμενο"
+
+msgid "IDS_MEDIABR_OPT_CONTENT_TO_DISPLAY"
+msgstr "Περιεχόμενο για εμφάνιση"
+
+msgid "IDS_MEDIABR_OPT_DELETE_TAG"
+msgstr "Διαγραφή ετικέτας"
+
+msgid "IDS_MEDIABR_OPT_DEVICE_CONTENT"
+msgstr "Περιεχόμενο συσκευής"
+
+msgid "IDS_MEDIABR_OPT_DROPBOX_CONTENT"
+msgstr "Περιεχόμενο Dropbox"
+
+msgid "IDS_MEDIABR_OPT_FACEBOOK_CONTENT"
+msgstr "Περιεχόμενο Facebook"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_LEFT"
+msgstr "Περ. προς τα αριστερά"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_RIGHT"
+msgstr "Περ. προς τα δεξιά"
+
+msgid "IDS_MEDIABR_POP_IMPORT"
+msgstr "Εισαγωγή"
+
+msgid "IDS_MEDIABR_POP_IMPORTED"
+msgstr "Έγινε εισαγωγή."
+
+msgid "IDS_MEDIABR_POP_IMPORTING_ING"
+msgstr "Εισαγωγή..."
+
+msgid "IDS_MEDIABR_POP_LOADING_ING"
+msgstr "Φόρτωση..."
+
+msgid "IDS_MEDIABR_POP_NEARBY_DEVICES_FOUND"
+msgstr "Βρέθηκαν κοντινές συσκευές."
+
+msgid "IDS_MEDIABR_POP_NO_DEVICES_FOUND_SCANNING_FOR_NEARBY_DEVICES_WILL_CONTINUE_IN_BACKGROUND"
+msgstr "Δεν βρέθηκαν συσκευές. Η σάρωση για κοντινές συσκευές θα συνεχιστεί στο παρασκήνιο."
+
+msgid "IDS_MEDIABR_POP_REFRESHED"
+msgstr "Έγινε ανανέωση."
+
+msgid "IDS_MEDIABR_POP_ROTATING_ING"
+msgstr "Περιστροφή..."
+
+msgid "IDS_MEDIABR_POP_SCAN_STARTED_DEVICE_LIST_WILL_BE_UPDATED_AUTOMATICALLY"
+msgstr "Έγινε έναρξη της σάρωσης. Η λίστα συσκευών θα ενημερωθεί αυτόματα."
+
+msgid "IDS_MEDIABR_POP_STARTING_DOWNLOAD_ABB"
+msgstr "Γίνεται έναρξη της λήψης..."
+
+msgid "IDS_MF_OPT_COPY_TO"
+msgstr "Αντιγραφή σε"
+
+msgid "IDS_MF_OPT_MOVE_TO"
+msgstr "Μετακίνηση σε"
+
+msgid "IDS_MF_POP_FAILED_TO_ADD_SHORTCUT"
+msgstr "Αποτυχία προσθήκης συντόμευσης."
+
+msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
+msgstr "Δεν υπάρχει αρκετή μνήμη. Διαγράψτε ορισμένα στοιχεία"
+
+msgid "IDS_MF_POP_REMOVED"
+msgstr "Αφαιρέθηκε."
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Προσθήκη..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "Να διαγραφούν %d άλμπουμ;"
+
+msgid "IDS_ST_BODY_PRIVATE_STORAGE"
+msgstr "Απόρρητος χώρος αποθήκευσης"
+
+msgid "IDS_IV_BODY_DRAG_HERE"
+msgstr "Μεταφορά εδώ."
+
+msgid "IDS_GALLERY_BODY_NEW_M_ALBUM_ABB"
+msgstr "Νέο"
+
+msgid "IDS_GALLERY_HEADER_UNGROUPEDM_PEOPLE_ABB"
+msgstr "Μη ομαδοποιημένα άτομα"
+
+msgid "IDS_KEEPIT_OPT_SCREENSHOTS_ABB"
+msgstr "Στιγμιότυπα οθόνης"
+
+msgid "IDS_MEDIABR_OPT_PHOTOS"
+msgstr "Φωτογραφίες"
+
+msgid "IDS_MEDIABR_POP_DOWNLOAD_FAILED"
+msgstr "Αποτυχία λήψης."
+
+msgid "IDS_MEDIABR_POP_UNSUPPORTED_FILE"
+msgstr "Μη υποστηριζόμενο αρχείο."
+
+msgid "IDS_SEARCH_BODY_1_RESULT"
+msgstr "1 αποτέλεσμα"
+
+msgid "IDS_SEARCH_BODY_PD_RESULTS"
+msgstr "%d αποτελέσματα"
+
+msgid "IDS_TW_BODY_FAVORITES"
+msgstr "Favorites"
+
+msgid "IDS_EMAIL_POP_DOWNLOAD_CANCELLED"
+msgstr "Ακύρωση λήψης."
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ALBUM_Q"
+msgstr "Να διαγραφεί αυτό το άλμπουμ;"
+
+msgid "IDS_CAM_HEADER_WARNING_ABB"
+msgstr "Προειδοποίηση"
+
+msgid "IDS_ALM_OPT_SORT_BY"
+msgstr "Ταξινόμηση κατά"
+
+msgid "IDS_CLD_OPT_TODAY"
+msgstr "Σήμερα"
+
+msgid "IDS_GALLERY_BODY_DATE"
+msgstr "Ημερομηνία"
+
+msgid "IDS_EMAIL_BODY_NO_ITEMS_TO_DISPLAY"
+msgstr "Δεν υπάρχουν στοιχεία προς προβολή."
+
+msgid "IDS_PBR_BODY_TAP_HERE_TO_TAKE_PICTURES_OR_VIDEOS"
+msgstr "Πατήστε εδώ για να τραβήξετε φωτογραφίες ή βίντεο."
+
+msgid "IDS_NFC_TPOP_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SHARED_HPD_EXCEEDED"
+msgstr "Έγινε υπέρβαση του μέγιστου αριθμού στοιχείων με δυνατότητα κοινοποίησης (%d)."
+
+msgid "IDS_IV_BODY_TAP_TO_ADD_IMAGES"
+msgstr "Πατήστε για προσθήκη εικόνων."
+
+msgid "IDS_GALLERY_POP_COPY_OR_MOVE_THE_SELECTED_ITEMS_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Θέλετε να αντιγράψετε ή να μεταφέρετε τα επιλεγμένα στοιχεία από το αρχικό άλμπουμ;"
+
+msgid "IDS_GALLERY_HEADER_SELECT"
+msgstr "Επιλογή"
+
+msgid "IDS_VIDEO_POP_FILE_ALREADY_EXISTS"
+msgstr "Το αρχείο υπάρχει ήδη."
+
+msgid "IDS_VIDEO_POP_THIS_ITEM_WILL_BE_DELETED"
+msgstr "Αυτό το στοιχείο θα διαγραφεί."
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_FACEBOOK_ITEMS_WILL_BE_SHOWN"
+msgstr "Τα στοιχεία θα εμφανιστούν μετά την αποστολή εικόνων στο Facebook."
+
+msgid "IDS_GALLERY_HEADER_SELECT_ALL_ABB"
+msgstr "Επιλογή όλων"
+
+msgid "IDS_GALLERY_HEADER_PD_SELECTED_ABB"
+msgstr "Επιλέχθηκαν %d"
+
+msgid "IDS_GALLERY_OPT_VIEW_AS"
+msgstr "Προβολή ως"
+
+msgid "IDS_GALLERY_OPT_DATE_HMOST_RECENT_ABB2"
+msgstr "Ημερ. (πιο πρόσφ.)"
+
+msgid "IDS_GALLERY_OPT_DATE_HOLDEST_ABB3"
+msgstr "Ημερομηνία (παλ.)"
+
+msgid "IDS_GALLERY_BODY_AFTER_YOU_TAKE_PICTURES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Όταν τραβήξετε φωτογραφίες, θα εμφανιστούν εδώ."
+
+msgid "IDS_CLOUD_TPOP_CANCELLING_ING"
+msgstr "Ακύρωση..."
+
+msgid "IDS_GALLERY_OPT_FROM_DEVICE_ABB"
+msgstr "Από τη συσκευή"
+
+msgid "IDS_GALLERY_OPT_FROM_DROPBOX_ABB"
+msgstr "Από το Dropbox"
+
+msgid "IDS_GALLERY_OPT_FROM_FACEBOOK_ABB"
+msgstr "Από το Facebook"
+
+msgid "IDS_MUSIC_BODY_DOWNLOAD_COMPLETED"
+msgstr "Η λήψη ολοκληρώθηκε."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DELETED"
+msgstr "Θα γίνει διαγραφή όλων των στοιχείων."
+
+msgid "IDS_GALLERY_POP_1_ITEM_WILL_BE_DOWNLOADED"
+msgstr "Θα γίνει λήψη 1 στοιχείου."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "Θα γίνει λήψη %d στοιχείων."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "Θα γίνει λήψη όλων των στοιχείων."
+
+msgid "IDS_GALLERY_TPOP_SELECTED_ALBUM_SAME_AS_SOURCE_ALBUM_SELECT_ANOTHER_ALBUM"
+msgstr "Το επιλεγμένο άλμπουμ είναι ίδιο με το άλμπουμ προέλευσης. Επιλέξτε άλλο άλμπουμ."
+
+msgid "IDS_HS_NPBODY_TAP_HERE_TO_ADD_IMAGES"
+msgstr "Πατήστε εδώ για να προσθέσετε εικόνες"
+
+msgid "IDS_MF_HEADER_UNABLE_TO_SAVE_DATA_ABB"
+msgstr "Αδύνατη η αποθήκ. δεδομ."
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_IN_YOUR_DEVICE_STORAGE_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "Ο χώρος αποθήκευσης της συσκευής σας δεν επαρκεί. Μεταβείτε στις Ρυθμίσεις > Ενέργεια και χώρος αποθήκευσης > Χώρος αποθήκευσης και, στη συνέχεια, διαγράψτε ορισμένα αρχεία και δοκιμάστε ξανά."
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_YOUR_SD_CARD_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "Ο χώρος αποθήκευσης της κάρτας SD δεν επαρκεί. Μεταβείτε στις Ρυθμίσεις > Ενέργεια και χώρος αποθήκευσης > Χώρος αποθήκευσης και, στη συνέχεια, διαγράψτε ορισμένα αρχεία και δοκιμάστε ξανά."
+
+msgid "IDS_MF_BUTTON_CANCEL_ABB3"
+msgstr "Ακύρωση"
+
+msgid "IDS_MF_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Να μην εμφανιστεί ξανά"
+
+msgid "IDS_MF_POP_USING_MOBILE_DATA_WHILE_ROAMING_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "Η χρήση δεδομένων κινητής τηλεφωνίας κατά την περιαγωγή ενδέχεται να επιφέρει πρόσθετες χρεώσεις, ανάλογα με το πρόγραμμα πληρωμής σας."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DELETED_ABB"
+msgstr "Θα διαγραφούν %d στοιχεία."
+
+msgid "IDS_GALLERY_OPT_DELETE"
+msgstr "Διαγραφή"
+
+msgid "IDS_GALLERY_BODY_YESTERDAY"
+msgstr "Xθές"
+
+msgid "IDS_BR_MBODY_DOWNLOADS"
+msgstr "Λήψεις"
+
+msgid "IDS_GALLERY_HEADER_COPY"
+msgstr "Αντιγραφή"
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Διαγραφή"
+
+msgid "IDS_GALLERY_BUTTON_ALBUMS"
+msgstr "Άλμπουμ"
+
+msgid "IDS_GALLERY_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Έγινε υπέρβαση του μέγιστου αριθμού στοιχείων (%d)."
+
+msgid "IDS_GALLERY_BUTTON_CANCEL"
+msgstr "Ακύρωση"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "ΤΕΛΟΣ"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ΑΚΥΡΟ"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "ΔΙΑΓΡΑΦΗ"
+
+msgid "IDS_GALLERY_POP_COPYING_ING"
+msgstr "Αντιγραφή..."
+
+msgid "IDS_GALLERY_POP_MOVING_ING"
+msgstr "Μετακίνηση..."
+
+msgid "IDS_STORYALBUM_POP_IF_YOU_CREATE_CONTENT_THAT_INCLUDES_ITEMS_FROM_PERSONAL_STORAGE_IT_MAY_NOT_BE_HIDDEN_AUTOMATICALLY_MSG"
+msgstr "Αν δημιουργήσετε περιεχόμενο που περιλαμβάνει στοιχεία από τον προσωπικό χώρο αποθήκευσης, ενδέχεται να μη γίνει αυτόματα η απόκρυψη τους. Το επιλεγμένο προσωπικό περιεχόμενο μπορεί να εμφανιστεί κατά την προβολή του νέου περιεχομένου."
+
+msgid "IDS_HS_ACBUTTON_EDIT"
+msgstr "ΕΠΕΞΕΡΓΑΣΙΑ"
+
+msgid "IDS_MF_BUTTON_SETTINGS"
+msgstr "Ρυθμίσεις"
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "ΕΠΕΞΕΡ."
+
+msgid "IDS_CLOCK_HEADER_REORDER_ABB"
+msgstr "Αναδιάταξη"
+
diff --git a/res/po/en.po b/res/po/en.po
new file mode 100644 (file)
index 0000000..ec23cf2
--- /dev/null
@@ -0,0 +1,759 @@
+msgid "IDS_MF_POP_YOUR_DEVICE_IS_NOT_CONNECTED_TO_A_WI_FI_NETWORK_CONNECTING_TO_A_MOBILE_NETWORK_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "Your device is not connected to a Wi-Fi network. Connecting to a mobile network may result in additional charges depending on your payment plan."
+
+msgid "IDS_VIDEO_TPOP_MOBILE_DATA_TURNED_OFF_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_TURN_ON_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Mobile data turned off. Connect to Wi-Fi network instead, or turn on Mobile data and try again."
+
+msgid "IDS_VIDEO_BODY_AFTER_YOU_RECORD_VIDEOS_USING_THE_CAMERA_THEY_WILL_BE_SHOWN_HERE"
+msgstr "After you record videos using the camera, they will be shown here."
+
+msgid "IDS_VIDEO_TPOP_FILE_NAME_ALREADY_IN_USE"
+msgstr "File name already in use."
+
+msgid "IDS_MF_POP_DELETE_PD_ITEMS_Q"
+msgstr "Delete %d items?"
+
+msgid "IDS_ST_HEADER_PRIVACY"
+msgstr "Privacy"
+
+msgid "IDS_COM_BODY_SEP_ABB"
+msgstr "Sep"
+
+msgid "IDS_COM_BODY_OCT_ABB"
+msgstr "Oct"
+
+msgid "IDS_COM_BODY_NOV_ABB"
+msgstr "Nov"
+
+msgid "IDS_COM_BODY_MAY_ABB"
+msgstr "May"
+
+msgid "IDS_COM_BODY_MAR_ABB"
+msgstr "Mar"
+
+msgid "IDS_COM_BODY_JUN_ABB"
+msgstr "Jun"
+
+msgid "IDS_COM_BODY_JUL_ABB"
+msgstr "Jul"
+
+msgid "IDS_COM_BODY_JAN_ABB"
+msgstr "Jan"
+
+msgid "IDS_COM_BODY_FEB_ABB"
+msgstr "Feb"
+
+msgid "IDS_COM_BODY_DEC_ABB"
+msgstr "Dec"
+
+msgid "IDS_COM_BODY_AUG_ABB"
+msgstr "Aug"
+
+msgid "IDS_COM_BODY_APR_ABB"
+msgstr "Apr"
+
+msgid "IDS_GALLERY_HEADER_ALBUM"
+msgstr "Album"
+
+msgid "IDS_MEDIABR_OPT_MORE"
+msgstr "More"
+
+msgid "IDS_MEDIABR_POP_INVALID_INPUT_PARAMETER"
+msgstr "Invalid input parameter."
+
+msgid "IDS_MEDIABR_POP_ENTRY_IS_EMPTY"
+msgstr "Entry is empty."
+
+msgid "IDS_MEDIABR_POP_SAME_NAME_ALREADY_IN_USE"
+msgstr "Same name already in use."
+
+msgid "IDS_MEDIABR_POP_UNABLE_TO_RENAME"
+msgstr "Unable to rename."
+
+msgid "IDS_MEDIABR_POP_NO_ALBUMS_SELECTED"
+msgstr "No albums selected."
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ITEM"
+msgstr "Select item"
+
+msgid "IDS_MEDIABR_BODY_NO_ALBUMS"
+msgstr "No albums"
+
+msgid "IDS_MEDIABR_POP_CREATE_FOLDER_Q"
+msgstr "Create folder?"
+
+msgid "IDS_MEDIABR_POP_RETRY_Q"
+msgstr "Retry?"
+
+msgid "IDS_MEDIABR_POPUP_REMOVE_Q"
+msgstr "Remove?"
+
+msgid "IDS_MEDIABR_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "%d albums will be deleted."
+
+msgid "IDS_MEDIABR_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "1 album will be deleted."
+
+msgid "IDS_MEDIABR_BODY_CAMERA"
+msgstr "Camera"
+
+msgid "IDS_MEDIABR_BUTTON_START"
+msgstr "Start"
+
+msgid "IDS_MEDIABR_OPT_SETTINGS"
+msgstr "Settings"
+
+msgid "IDS_MEDIABR_OPT_YES"
+msgstr "Yes"
+
+msgid "IDS_MEDIABR_OPT_NO"
+msgstr "No"
+
+msgid "IDS_MEDIABR_BUTTON_OK"
+msgstr "OK"
+
+msgid "IDS_MEDIABR_BUTTON_SAVE"
+msgstr "Save"
+
+msgid "IDS_MEDIABR_POP_DELETE_Q"
+msgstr "Delete?"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_ALBUM"
+msgstr "Move to album"
+
+msgid "IDS_GALLERY_OPT_COPY_TO_ALBUM"
+msgstr "Copy to album"
+
+msgid "IDS_GALLERY_HEADER_VIEW_BY_ABB"
+msgstr "View by"
+
+msgid "IDS_GALLERY_HEADER_ENTER_NAME"
+msgstr "Enter name"
+
+msgid "IDS_MEDIABR_POP_ALL_DATA_RELATED_TO_THIS_ACCOUNT_WILL_BE_DELETED_CONTINUE_Q"
+msgstr "All data related to this account will be deleted. Continue?"
+
+msgid "IDS_MEDIABR_BUTTON_CANCEL_ABB"
+msgstr "Cancel"
+
+msgid "IDS_MEDIABR_TAB4_NEW_ALBUM"
+msgstr "New album"
+
+msgid "IDS_MEDIABR_POP_DO_YOU_WANT_TO_COPY_OR_MOVE_THE_PICTURES_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Do you want to copy or move the pictures from the original album?"
+
+msgid "IDS_MEDIABR_OPT_SHARE"
+msgstr "Share"
+
+msgid "IDS_MEDIABR_OPT_SLIDESHOW"
+msgstr "Slideshow"
+
+msgid "IDS_MEDIABR_OPT_START_SLIDESHOW"
+msgstr "Start slideshow"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS"
+msgstr "Slideshow settings"
+
+msgid "IDS_MEDIABR_POP_NO_NAME"
+msgstr "No name"
+
+msgid "IDS_MEDIABR_BODY_ALL_ALBUMS"
+msgstr "All albums"
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ALBUM"
+msgstr "Select album"
+
+msgid "IDS_MEDIABR_POP_1_ITEM_WILL_BE_DELETED"
+msgstr "1 item will be deleted."
+
+msgid "IDS_MEDIABR_OPT_ALL_ITEMS"
+msgstr "All items"
+
+msgid "IDS_MEDIABR_BODY_PD_ITEMS"
+msgstr "%d items"
+
+msgid "IDS_IV_BODY_THERE_IS_ONLY_ONE_ALBUM"
+msgstr "There is only one album."
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "You can select up to %d items."
+
+msgid "IDS_MF_BODY_DOWNLOADS"
+msgstr "Downloads"
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Delete?"
+
+msgid "IDS_MF_SK_MOVE"
+msgstr "Move"
+
+msgid "IDS_MF_POP_DELETING_ING"
+msgstr "Deleting..."
+
+msgid "IDS_CAM_BODY_OPERATION_FAILED"
+msgstr "Operation failed."
+
+msgid "IDS_MSG_BODY_CANCELLED_M_CONTENT"
+msgstr "Cancelled"
+
+msgid "IDS_MF_OPT_DELETE_SELECTED"
+msgstr "Selected"
+
+msgid "IDS_MF_POP_MOVED"
+msgstr "Moved."
+
+msgid "IDS_MF_POP_COPIED"
+msgstr "Copied."
+
+msgid "IDS_VPL_POP_NO_FILES_SELECTED"
+msgstr "No files selected."
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Close"
+
+msgid "IDS_MF_OPT_SORT_BY_ABB"
+msgstr "Sort by"
+
+msgid "IDS_CAM_POP_LATEST"
+msgstr "Latest"
+
+msgid "IDS_MEDIABR_POP_OLDEST_M_DATE"
+msgstr "Oldest"
+
+msgid "IDS_MSG_BUTTON2_CREATE"
+msgstr "Create"
+
+msgid "IDS_MEDIABR_POP_NO_ITEMS"
+msgstr "No items"
+
+msgid "IDS_MEDIABR_OPT_EDIT_IMAGE"
+msgstr "Edit image"
+
+msgid "IDS_MEDIABR_BODY_SELECT_PICTURE"
+msgstr "Select picture"
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ITEM_Q"
+msgstr "Delete this item?"
+
+msgid "IDS_GALLERY_OPT_SCENERY"
+msgstr "Scenery"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PRIVATE"
+msgstr "Remove from Private"
+
+msgid "IDS_GALLERY_OPT_PETS"
+msgstr "Pets"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_PRIVATE"
+msgstr "Move to Private"
+
+msgid "IDS_GALLERY_OPT_FOOD"
+msgstr "Food"
+
+msgid "IDS_GALLERY_OPT_FLOWERS"
+msgstr "Flowers"
+
+msgid "IDS_GALLERY_OPT_DOCUMENTS"
+msgstr "Documents"
+
+msgid "IDS_GALLERY_MBODY_VEHICLES"
+msgstr "Vehicles"
+
+msgid "IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED"
+msgstr "Maximum number of characters (%d) reached."
+
+msgid "IDS_IV_BODY_UNABLE_TO_LOAD_PHOTO_ABB"
+msgstr "Unable to load photo."
+
+msgid "IDS_IV_BODY_SHARE_VIA"
+msgstr "Share via"
+
+msgid "IDS_IV_BODY_DONT_ASK_AGAIN"
+msgstr "Don't ask again"
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maximum number of characters reached."
+
+msgid "IDS_GALLERY_HEADER_TIME"
+msgstr "Time"
+
+msgid "IDS_EMAIL_BODY_FAILED_M_STATUS"
+msgstr "Failed"
+
+msgid "IDS_EMAIL_BODY_DELETED"
+msgstr "Deleted."
+
+msgid "IDS_EMAIL_POP_DELETE_Q"
+msgstr "Delete?"
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Removing..."
+
+msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS"
+msgstr "Showing %d items"
+
+msgid "IDS_GALLERY_OPT_CREATE_ALBUM"
+msgstr "Create album"
+
+msgid "IDS_GALLERY_OPT_GALLERY_ABB"
+msgstr "Gallery"
+
+msgid "IDS_EMAIL_BUTTON_MORE"
+msgstr "More"
+
+msgid "IDS_EMAIL_OPT_ACCOUNTS"
+msgstr "Accounts"
+
+msgid "IDS_EMAIL_POP_OPERATION_FAILED"
+msgstr "Operation failed."
+
+msgid "IDS_GALLERY_BODY_DOWNLOAD"
+msgstr "Download"
+
+msgid "IDS_GALLERY_BODY_SEARCH"
+msgstr "Search"
+
+msgid "IDS_GALLERY_BUTTON_BACK"
+msgstr "Back"
+
+msgid "IDS_GALLERY_BUTTON_CAMERA"
+msgstr "Camera"
+
+msgid "IDS_GALLERY_HEADER_ALL"
+msgstr "All"
+
+msgid "IDS_GALLERY_OPT_REFRESH"
+msgstr "Refresh"
+
+msgid "IDS_GALLERY_OPT_REMOVE"
+msgstr "Remove"
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_DROPBOX_ITEMS_WILL_BE_SHOWN"
+msgstr "After you upload pictures to Dropbox, items will be shown."
+
+msgid "IDS_KEEPIT_BODY_GROUP_PLAY_ABB"
+msgstr "Group Play"
+
+msgid "IDS_MEDIABR_HEADER_CONTACTS"
+msgstr "Contacts"
+
+msgid "IDS_MEDIABR_OPT_CREATE"
+msgstr "Create"
+
+msgid "IDS_MEDIABR_OPT_DETAILS"
+msgstr "Details"
+
+msgid "IDS_MEDIABR_OPT_PRINT"
+msgstr "Print"
+
+msgid "IDS_MEDIABR_OPT_RENAME"
+msgstr "Rename"
+
+msgid "IDS_MEDIABR_POP_DOWNLOADED"
+msgstr "Downloaded."
+
+msgid "IDS_MEDIABR_POP_DOWNLOADING_ING"
+msgstr "Downloading..."
+
+msgid "IDS_MF_HEADER_ENTER_NAME"
+msgstr "Enter name."
+
+msgid "IDS_MF_HEADER_MYFILES"
+msgstr "My Files"
+
+msgid "IDS_MF_POP_ADDED"
+msgstr "Added."
+
+msgid "IDS_MF_POP_PROCESSING_ING"
+msgstr "Processing..."
+
+msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
+msgstr "Unsupported file type."
+
+msgid "IDS_IMGE_BODY_AFTER_YOU_TAKE_PICTURES_PICTURES_WILL_BE_SHOWN"
+msgstr "After you take pictures, pictures will be shown."
+
+msgid "IDS_IME_BODY_LANDSCAPE_MODE"
+msgstr "Landscape mode"
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_CLOSE_DRAWER_MENU_TTS"
+msgstr "Double tap to close drawer menu."
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_OPEN_DRAWER_MENU_TTS"
+msgstr "Double tap to open drawer menu."
+
+msgid "IDS_EMAIL_BODY_DRAG_AND_DROP"
+msgstr "Drag and drop"
+
+msgid "IDS_EMAIL_OPT_DRAWER_ABB"
+msgstr "Drawer"
+
+msgid "IDS_EMAIL_POP_MOBILE_DATA_IS_DISABLED_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_ENABLE_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Mobile data is disabled. Connect to Wi-Fi network instead, or enable mobile data and try again."
+
+msgid "IDS_EMAIL_POP_WI_FI_CONNECTION_REQUIRED_CONNECT_TO_WI_FI_NETWORK_AND_TRY_AGAIN"
+msgstr "Wi-Fi connection required. Connect to Wi-Fi network and try again."
+
+msgid "IDS_GALLERY_HEADER_ADD_PICTURES_FROM_ABB"
+msgstr "Add pictures from"
+
+msgid "IDS_GALLERY_HEADER_CONNECTED_DEVICES_ABB"
+msgstr "Connected devices"
+
+msgid "IDS_GALLERY_OPT_PRIVATE_CONTENT"
+msgstr "Private content"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PS"
+msgstr "Remove from %s"
+
+msgid "IDS_GALLERY_OPT_REMOVE_NAME_TAG"
+msgstr "Remove name tag"
+
+msgid "IDS_GALLERY_POP_THERE_ARE_NO_EVENTS_TO_DISPLAY_CREATE_A_NEW_EVENT"
+msgstr "There are no events to display. Create a new event."
+
+msgid "IDS_GALLERY_POP_TO_SCROLL_QUICKLY_TO_OTHER_DATES_TAP_AND_HOLD_THE_DATE_INDICATOR_AT_THE_TOP_RIGHT_OF_THE_SCREEN"
+msgstr "To scroll quickly to other dates, tap and hold the date indicator at the top right of the screen."
+
+msgid "IDS_GP_POP_REMOVE_PD_ITEMS_Q"
+msgstr "Remove %d items?"
+
+msgid "IDS_GP_POP_REMOVE_THIS_ITEM_Q"
+msgstr "Remove this item?"
+
+msgid "IDS_HELP_BODY_GALLERY"
+msgstr "Gallery"
+
+msgid "IDS_HELP_OPT_SHUFFLED_PICTURES"
+msgstr "Shuffled pictures"
+
+msgid "IDS_IV_BODY_ADD_PICTURES"
+msgstr "Add pictures"
+
+msgid "IDS_IV_BODY_AFTER_YOU_TAG_PICTURES_AS_YOUR_FAVOURITES_PICTURES_WILL_BE_SHOWN"
+msgstr "After you tag pictures as your favourites, pictures will be shown."
+
+msgid "IDS_IV_BODY_REMOVE_FACE_IDENTIFICATION_Q"
+msgstr "Remove face identification?"
+
+msgid "IDS_IV_OPT_ASSIGN_NAME"
+msgstr "Assign name"
+
+msgid "IDS_IV_OPT_CONFIRM_AS_PS"
+msgstr "Confirm as %s"
+
+msgid "IDS_IV_OPT_LAYOUT_M_PICTUERS"
+msgstr "Layout"
+
+msgid "IDS_IV_OPT_PD_PICTURES_ADDED"
+msgstr "%d pictures added"
+
+msgid "IDS_IV_POP_THE_ALBUM_WILL_BE_CANCELLED"
+msgstr "The album will be cancelled."
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEM_ABB"
+msgstr "Delete item"
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEMS"
+msgstr "Delete items"
+
+msgid "IDS_MEDIABR_BODY_1_ITEM"
+msgstr "1 item"
+
+msgid "IDS_MEDIABR_BODY_10_SECONDS"
+msgstr "10 seconds"
+
+msgid "IDS_MEDIABR_BODY_5_SECONDS"
+msgstr "5 seconds"
+
+msgid "IDS_MEDIABR_BODY_NOT_ASSIGNED"
+msgstr "Not assigned"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL"
+msgstr "Slideshow interval"
+
+msgid "IDS_MEDIABR_BODY_UNTAGGED"
+msgstr "Untagged"
+
+msgid "IDS_MEDIABR_OPT_3_SECONDS"
+msgstr "3 seconds"
+
+msgid "IDS_MEDIABR_OPT_ALL_CONTENT"
+msgstr "All content"
+
+msgid "IDS_MEDIABR_OPT_CONTENT_TO_DISPLAY"
+msgstr "Content to display"
+
+msgid "IDS_MEDIABR_OPT_DELETE_TAG"
+msgstr "Delete tag"
+
+msgid "IDS_MEDIABR_OPT_DEVICE_CONTENT"
+msgstr "Device content"
+
+msgid "IDS_MEDIABR_OPT_DROPBOX_CONTENT"
+msgstr "Dropbox content"
+
+msgid "IDS_MEDIABR_OPT_FACEBOOK_CONTENT"
+msgstr "Facebook content"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_LEFT"
+msgstr "Rotate left"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_RIGHT"
+msgstr "Rotate right"
+
+msgid "IDS_MEDIABR_POP_IMPORT"
+msgstr "Import"
+
+msgid "IDS_MEDIABR_POP_IMPORTED"
+msgstr "Imported."
+
+msgid "IDS_MEDIABR_POP_IMPORTING_ING"
+msgstr "Importing..."
+
+msgid "IDS_MEDIABR_POP_LOADING_ING"
+msgstr "Loading..."
+
+msgid "IDS_MEDIABR_POP_NEARBY_DEVICES_FOUND"
+msgstr "Nearby devices found."
+
+msgid "IDS_MEDIABR_POP_NO_DEVICES_FOUND_SCANNING_FOR_NEARBY_DEVICES_WILL_CONTINUE_IN_BACKGROUND"
+msgstr "No devices found. Scanning for nearby devices will continue in background."
+
+msgid "IDS_MEDIABR_POP_REFRESHED"
+msgstr "Refreshed."
+
+msgid "IDS_MEDIABR_POP_ROTATING_ING"
+msgstr "Rotating..."
+
+msgid "IDS_MEDIABR_POP_SCAN_STARTED_DEVICE_LIST_WILL_BE_UPDATED_AUTOMATICALLY"
+msgstr "Scan started. Device list will be updated automatically."
+
+msgid "IDS_MEDIABR_POP_STARTING_DOWNLOAD_ABB"
+msgstr "Starting download..."
+
+msgid "IDS_MF_OPT_COPY_TO"
+msgstr "Copy to"
+
+msgid "IDS_MF_OPT_MOVE_TO"
+msgstr "Move to"
+
+msgid "IDS_MF_POP_FAILED_TO_ADD_SHORTCUT"
+msgstr "Failed to add shortcut."
+
+msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
+msgstr "Not enough memory. Delete some items."
+
+msgid "IDS_MF_POP_REMOVED"
+msgstr "Removed."
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Adding..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "Delete %d albums?"
+
+msgid "IDS_ST_BODY_PRIVATE_STORAGE"
+msgstr "Private storage"
+
+msgid "IDS_IV_BODY_DRAG_HERE"
+msgstr "Drag here."
+
+msgid "IDS_GALLERY_BODY_NEW_M_ALBUM_ABB"
+msgstr "New"
+
+msgid "IDS_GALLERY_HEADER_UNGROUPEDM_PEOPLE_ABB"
+msgstr "Ungrouped"
+
+msgid "IDS_KEEPIT_OPT_SCREENSHOTS_ABB"
+msgstr "Screenshots"
+
+msgid "IDS_MEDIABR_OPT_PHOTOS"
+msgstr "Photos"
+
+msgid "IDS_MEDIABR_POP_DOWNLOAD_FAILED"
+msgstr "Download failed."
+
+msgid "IDS_MEDIABR_POP_UNSUPPORTED_FILE"
+msgstr "Unsupported file."
+
+msgid "IDS_SEARCH_BODY_1_RESULT"
+msgstr "1 result"
+
+msgid "IDS_SEARCH_BODY_PD_RESULTS"
+msgstr "%d results"
+
+msgid "IDS_TW_BODY_FAVORITES"
+msgstr "Favorites"
+
+msgid "IDS_EMAIL_POP_DOWNLOAD_CANCELLED"
+msgstr "Download cancelled."
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ALBUM_Q"
+msgstr "Delete this album?"
+
+msgid "IDS_CAM_HEADER_WARNING_ABB"
+msgstr "Warning"
+
+msgid "IDS_ALM_OPT_SORT_BY"
+msgstr "Sort by"
+
+msgid "IDS_CLD_OPT_TODAY"
+msgstr "Today"
+
+msgid "IDS_GALLERY_BODY_DATE"
+msgstr "Date"
+
+msgid "IDS_EMAIL_BODY_NO_ITEMS_TO_DISPLAY"
+msgstr "No items to display."
+
+msgid "IDS_PBR_BODY_TAP_HERE_TO_TAKE_PICTURES_OR_VIDEOS"
+msgstr "Tap here to take pictures or videos."
+
+msgid "IDS_NFC_TPOP_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SHARED_HPD_EXCEEDED"
+msgstr "Maximum number of items that can be shared (%d) exceeded."
+
+msgid "IDS_IV_BODY_TAP_TO_ADD_IMAGES"
+msgstr "Tap to add images."
+
+msgid "IDS_GALLERY_POP_COPY_OR_MOVE_THE_SELECTED_ITEMS_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Copy or move the selected items from the original album?"
+
+msgid "IDS_GALLERY_HEADER_SELECT"
+msgstr "Select"
+
+msgid "IDS_VIDEO_POP_FILE_ALREADY_EXISTS"
+msgstr "File already exists."
+
+msgid "IDS_VIDEO_POP_THIS_ITEM_WILL_BE_DELETED"
+msgstr "This item will be deleted."
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_FACEBOOK_ITEMS_WILL_BE_SHOWN"
+msgstr "After you upload pictures to Facebook, items will be shown."
+
+msgid "IDS_GALLERY_HEADER_SELECT_ALL_ABB"
+msgstr "Select all"
+
+msgid "IDS_GALLERY_HEADER_PD_SELECTED_ABB"
+msgstr "%d selected"
+
+msgid "IDS_GALLERY_OPT_VIEW_AS"
+msgstr "View as"
+
+msgid "IDS_GALLERY_OPT_DATE_HMOST_RECENT_ABB2"
+msgstr "Date (most recent)"
+
+msgid "IDS_GALLERY_OPT_DATE_HOLDEST_ABB3"
+msgstr "Date (oldest)"
+
+msgid "IDS_GALLERY_BODY_AFTER_YOU_TAKE_PICTURES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "After you take pictures, they will be shown here."
+
+msgid "IDS_CLOUD_TPOP_CANCELLING_ING"
+msgstr "Cancelling..."
+
+msgid "IDS_GALLERY_OPT_FROM_DEVICE_ABB"
+msgstr "From device"
+
+msgid "IDS_GALLERY_OPT_FROM_DROPBOX_ABB"
+msgstr "From Dropbox"
+
+msgid "IDS_GALLERY_OPT_FROM_FACEBOOK_ABB"
+msgstr "From Facebook"
+
+msgid "IDS_MUSIC_BODY_DOWNLOAD_COMPLETED"
+msgstr "Download completed."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DELETED"
+msgstr "All items will be deleted."
+
+msgid "IDS_GALLERY_POP_1_ITEM_WILL_BE_DOWNLOADED"
+msgstr "1 item will be downloaded."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "%d items will be downloaded."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "All items will be downloaded."
+
+msgid "IDS_GALLERY_TPOP_SELECTED_ALBUM_SAME_AS_SOURCE_ALBUM_SELECT_ANOTHER_ALBUM"
+msgstr "Selected album same as source album. Select another album."
+
+msgid "IDS_HS_NPBODY_TAP_HERE_TO_ADD_IMAGES"
+msgstr "Tap here to add images"
+
+msgid "IDS_MF_HEADER_UNABLE_TO_SAVE_DATA_ABB"
+msgstr "Unable to save data"
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_IN_YOUR_DEVICE_STORAGE_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "There is not enough space in your device storage. Go to Settings > Power and storage > Storage, then delete some files and try again."
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_YOUR_SD_CARD_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "There is not enough space on your SD card. Go to Settings > Power and storage > Storage, then delete some files and try again."
+
+msgid "IDS_MF_BUTTON_CANCEL_ABB3"
+msgstr "Cancel"
+
+msgid "IDS_MF_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Do not show again"
+
+msgid "IDS_MF_POP_USING_MOBILE_DATA_WHILE_ROAMING_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "Using Mobile data while roaming may result in additional charges depending on your payment plan."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DELETED_ABB"
+msgstr "%d items will be deleted."
+
+msgid "IDS_GALLERY_OPT_DELETE"
+msgstr "Delete"
+
+msgid "IDS_GALLERY_BODY_YESTERDAY"
+msgstr "Yesterday"
+
+msgid "IDS_BR_MBODY_DOWNLOADS"
+msgstr "Downloads"
+
+msgid "IDS_GALLERY_HEADER_COPY"
+msgstr "Copy"
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Delete"
+
+msgid "IDS_GALLERY_BUTTON_ALBUMS"
+msgstr "Albums"
+
+msgid "IDS_GALLERY_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_HPD_HAS_BEEN_EXCEEDED"
+msgstr "The maximum number of items (%d) has been exceeded."
+
+msgid "IDS_GALLERY_BUTTON_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "DONE"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "CANCEL"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "DELETE"
+
+msgid "IDS_GALLERY_POP_COPYING_ING"
+msgstr "Copying..."
+
+msgid "IDS_GALLERY_POP_MOVING_ING"
+msgstr "Moving..."
+
+msgid "IDS_STORYALBUM_POP_IF_YOU_CREATE_CONTENT_THAT_INCLUDES_ITEMS_FROM_PERSONAL_STORAGE_IT_MAY_NOT_BE_HIDDEN_AUTOMATICALLY_MSG"
+msgstr "If you create content that includes items from personal storage, it may not be hidden automatically. The selected personal content could be seen when viewing the new content."
+
+msgid "IDS_HS_ACBUTTON_EDIT"
+msgstr "EDIT"
+
+msgid "IDS_MF_BUTTON_SETTINGS"
+msgstr "Settings"
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "EDIT"
+
+msgid "IDS_CLOCK_HEADER_REORDER_ABB"
+msgstr "Reorder"
+
diff --git a/res/po/en_PH.po b/res/po/en_PH.po
new file mode 100644 (file)
index 0000000..2605002
--- /dev/null
@@ -0,0 +1,759 @@
+msgid "IDS_MF_POP_YOUR_DEVICE_IS_NOT_CONNECTED_TO_A_WI_FI_NETWORK_CONNECTING_TO_A_MOBILE_NETWORK_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "Your device is not connected to a Wi-Fi network. Connecting to a mobile network may result in additional charges depending on your payment plan."
+
+msgid "IDS_VIDEO_TPOP_MOBILE_DATA_TURNED_OFF_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_TURN_ON_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Mobile data turned off. Connect to Wi-Fi network instead, or turn on Mobile data and try again."
+
+msgid "IDS_VIDEO_BODY_AFTER_YOU_RECORD_VIDEOS_USING_THE_CAMERA_THEY_WILL_BE_SHOWN_HERE"
+msgstr "After you record videos using the camera, they will be shown here."
+
+msgid "IDS_VIDEO_TPOP_FILE_NAME_ALREADY_IN_USE"
+msgstr "File name already in use."
+
+msgid "IDS_MF_POP_DELETE_PD_ITEMS_Q"
+msgstr "Delete %d items?"
+
+msgid "IDS_ST_HEADER_PRIVACY"
+msgstr "Privacy"
+
+msgid "IDS_COM_BODY_SEP_ABB"
+msgstr "Sep."
+
+msgid "IDS_COM_BODY_OCT_ABB"
+msgstr "Oct."
+
+msgid "IDS_COM_BODY_NOV_ABB"
+msgstr "Nov."
+
+msgid "IDS_COM_BODY_MAY_ABB"
+msgstr "May"
+
+msgid "IDS_COM_BODY_MAR_ABB"
+msgstr "Mar."
+
+msgid "IDS_COM_BODY_JUN_ABB"
+msgstr "Jun."
+
+msgid "IDS_COM_BODY_JUL_ABB"
+msgstr "Jul."
+
+msgid "IDS_COM_BODY_JAN_ABB"
+msgstr "Jan."
+
+msgid "IDS_COM_BODY_FEB_ABB"
+msgstr "Feb."
+
+msgid "IDS_COM_BODY_DEC_ABB"
+msgstr "Dec."
+
+msgid "IDS_COM_BODY_AUG_ABB"
+msgstr "Aug."
+
+msgid "IDS_COM_BODY_APR_ABB"
+msgstr "Apr."
+
+msgid "IDS_GALLERY_HEADER_ALBUM"
+msgstr "Album"
+
+msgid "IDS_MEDIABR_OPT_MORE"
+msgstr "More"
+
+msgid "IDS_MEDIABR_POP_INVALID_INPUT_PARAMETER"
+msgstr "Invalid input parameter."
+
+msgid "IDS_MEDIABR_POP_ENTRY_IS_EMPTY"
+msgstr "Entry is empty."
+
+msgid "IDS_MEDIABR_POP_SAME_NAME_ALREADY_IN_USE"
+msgstr "Same name already in use."
+
+msgid "IDS_MEDIABR_POP_UNABLE_TO_RENAME"
+msgstr "Unable to rename."
+
+msgid "IDS_MEDIABR_POP_NO_ALBUMS_SELECTED"
+msgstr "No albums selected."
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ITEM"
+msgstr "Select item"
+
+msgid "IDS_MEDIABR_BODY_NO_ALBUMS"
+msgstr "No albums"
+
+msgid "IDS_MEDIABR_POP_CREATE_FOLDER_Q"
+msgstr "Create folder?"
+
+msgid "IDS_MEDIABR_POP_RETRY_Q"
+msgstr "Retry?"
+
+msgid "IDS_MEDIABR_POPUP_REMOVE_Q"
+msgstr "Remove?"
+
+msgid "IDS_MEDIABR_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "%d albums will be deleted."
+
+msgid "IDS_MEDIABR_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "1 album will be deleted."
+
+msgid "IDS_MEDIABR_BODY_CAMERA"
+msgstr "Camera"
+
+msgid "IDS_MEDIABR_BUTTON_START"
+msgstr "Start"
+
+msgid "IDS_MEDIABR_OPT_SETTINGS"
+msgstr "Settings"
+
+msgid "IDS_MEDIABR_OPT_YES"
+msgstr "Yes"
+
+msgid "IDS_MEDIABR_OPT_NO"
+msgstr "No"
+
+msgid "IDS_MEDIABR_BUTTON_OK"
+msgstr "OK"
+
+msgid "IDS_MEDIABR_BUTTON_SAVE"
+msgstr "Save"
+
+msgid "IDS_MEDIABR_POP_DELETE_Q"
+msgstr "Delete?"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_ALBUM"
+msgstr "Move to album"
+
+msgid "IDS_GALLERY_OPT_COPY_TO_ALBUM"
+msgstr "Copy to album"
+
+msgid "IDS_GALLERY_HEADER_VIEW_BY_ABB"
+msgstr "View by"
+
+msgid "IDS_GALLERY_HEADER_ENTER_NAME"
+msgstr "Enter name"
+
+msgid "IDS_MEDIABR_POP_ALL_DATA_RELATED_TO_THIS_ACCOUNT_WILL_BE_DELETED_CONTINUE_Q"
+msgstr "All data related to this account will be deleted. Continue?"
+
+msgid "IDS_MEDIABR_BUTTON_CANCEL_ABB"
+msgstr "Cancel"
+
+msgid "IDS_MEDIABR_TAB4_NEW_ALBUM"
+msgstr "New album"
+
+msgid "IDS_MEDIABR_POP_DO_YOU_WANT_TO_COPY_OR_MOVE_THE_PICTURES_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Do you want to copy or move the pictures from the original album?"
+
+msgid "IDS_MEDIABR_OPT_SHARE"
+msgstr "Share"
+
+msgid "IDS_MEDIABR_OPT_SLIDESHOW"
+msgstr "Slideshow"
+
+msgid "IDS_MEDIABR_OPT_START_SLIDESHOW"
+msgstr "Start slideshow"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS"
+msgstr "Slideshow settings"
+
+msgid "IDS_MEDIABR_POP_NO_NAME"
+msgstr "No name"
+
+msgid "IDS_MEDIABR_BODY_ALL_ALBUMS"
+msgstr "All albums"
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ALBUM"
+msgstr "Select album"
+
+msgid "IDS_MEDIABR_POP_1_ITEM_WILL_BE_DELETED"
+msgstr "1 item will be deleted."
+
+msgid "IDS_MEDIABR_OPT_ALL_ITEMS"
+msgstr "All items"
+
+msgid "IDS_MEDIABR_BODY_PD_ITEMS"
+msgstr "%d items"
+
+msgid "IDS_IV_BODY_THERE_IS_ONLY_ONE_ALBUM"
+msgstr "There is only one album."
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "You can select up to %d items."
+
+msgid "IDS_MF_BODY_DOWNLOADS"
+msgstr "Downloads"
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Delete?"
+
+msgid "IDS_MF_SK_MOVE"
+msgstr "Move"
+
+msgid "IDS_MF_POP_DELETING_ING"
+msgstr "Deleting..."
+
+msgid "IDS_CAM_BODY_OPERATION_FAILED"
+msgstr "Operation failed."
+
+msgid "IDS_MSG_BODY_CANCELLED_M_CONTENT"
+msgstr "Cancelled"
+
+msgid "IDS_MF_OPT_DELETE_SELECTED"
+msgstr "Selected"
+
+msgid "IDS_MF_POP_MOVED"
+msgstr "Moved."
+
+msgid "IDS_MF_POP_COPIED"
+msgstr "Copied."
+
+msgid "IDS_VPL_POP_NO_FILES_SELECTED"
+msgstr "No files selected."
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Close"
+
+msgid "IDS_MF_OPT_SORT_BY_ABB"
+msgstr "Sort by"
+
+msgid "IDS_CAM_POP_LATEST"
+msgstr "Latest"
+
+msgid "IDS_MEDIABR_POP_OLDEST_M_DATE"
+msgstr "Oldest"
+
+msgid "IDS_MSG_BUTTON2_CREATE"
+msgstr "Create"
+
+msgid "IDS_MEDIABR_POP_NO_ITEMS"
+msgstr "No items"
+
+msgid "IDS_MEDIABR_OPT_EDIT_IMAGE"
+msgstr "Edit image"
+
+msgid "IDS_MEDIABR_BODY_SELECT_PICTURE"
+msgstr "Select picture"
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ITEM_Q"
+msgstr "Delete this item?"
+
+msgid "IDS_GALLERY_OPT_SCENERY"
+msgstr "Scenery"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PRIVATE"
+msgstr "Remove from Private"
+
+msgid "IDS_GALLERY_OPT_PETS"
+msgstr "Pets"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_PRIVATE"
+msgstr "Move to Private"
+
+msgid "IDS_GALLERY_OPT_FOOD"
+msgstr "Food"
+
+msgid "IDS_GALLERY_OPT_FLOWERS"
+msgstr "Flowers"
+
+msgid "IDS_GALLERY_OPT_DOCUMENTS"
+msgstr "Documents"
+
+msgid "IDS_GALLERY_MBODY_VEHICLES"
+msgstr "Vehicles"
+
+msgid "IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED"
+msgstr "Maximum number of characters (%d) reached."
+
+msgid "IDS_IV_BODY_UNABLE_TO_LOAD_PHOTO_ABB"
+msgstr "Unable to load photo."
+
+msgid "IDS_IV_BODY_SHARE_VIA"
+msgstr "Share via"
+
+msgid "IDS_IV_BODY_DONT_ASK_AGAIN"
+msgstr "Don't ask again"
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maximum number of characters reached."
+
+msgid "IDS_GALLERY_HEADER_TIME"
+msgstr "Time"
+
+msgid "IDS_EMAIL_BODY_FAILED_M_STATUS"
+msgstr "Failed"
+
+msgid "IDS_EMAIL_BODY_DELETED"
+msgstr "Deleted."
+
+msgid "IDS_EMAIL_POP_DELETE_Q"
+msgstr "Delete?"
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Removing..."
+
+msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS"
+msgstr "Showing %d items"
+
+msgid "IDS_GALLERY_OPT_CREATE_ALBUM"
+msgstr "Create album"
+
+msgid "IDS_GALLERY_OPT_GALLERY_ABB"
+msgstr "Gallery"
+
+msgid "IDS_EMAIL_BUTTON_MORE"
+msgstr "More"
+
+msgid "IDS_EMAIL_OPT_ACCOUNTS"
+msgstr "Accounts"
+
+msgid "IDS_EMAIL_POP_OPERATION_FAILED"
+msgstr "Operation failed."
+
+msgid "IDS_GALLERY_BODY_DOWNLOAD"
+msgstr "Download"
+
+msgid "IDS_GALLERY_BODY_SEARCH"
+msgstr "Search"
+
+msgid "IDS_GALLERY_BUTTON_BACK"
+msgstr "Back"
+
+msgid "IDS_GALLERY_BUTTON_CAMERA"
+msgstr "Camera"
+
+msgid "IDS_GALLERY_HEADER_ALL"
+msgstr "All"
+
+msgid "IDS_GALLERY_OPT_REFRESH"
+msgstr "Refresh"
+
+msgid "IDS_GALLERY_OPT_REMOVE"
+msgstr "Remove"
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_DROPBOX_ITEMS_WILL_BE_SHOWN"
+msgstr "After you upload pictures to Dropbox, items will be shown."
+
+msgid "IDS_KEEPIT_BODY_GROUP_PLAY_ABB"
+msgstr "Group Play"
+
+msgid "IDS_MEDIABR_HEADER_CONTACTS"
+msgstr "Contacts"
+
+msgid "IDS_MEDIABR_OPT_CREATE"
+msgstr "Create"
+
+msgid "IDS_MEDIABR_OPT_DETAILS"
+msgstr "Details"
+
+msgid "IDS_MEDIABR_OPT_PRINT"
+msgstr "Print"
+
+msgid "IDS_MEDIABR_OPT_RENAME"
+msgstr "Rename"
+
+msgid "IDS_MEDIABR_POP_DOWNLOADED"
+msgstr "Downloaded."
+
+msgid "IDS_MEDIABR_POP_DOWNLOADING_ING"
+msgstr "Downloading..."
+
+msgid "IDS_MF_HEADER_ENTER_NAME"
+msgstr "Enter name."
+
+msgid "IDS_MF_HEADER_MYFILES"
+msgstr "My Files"
+
+msgid "IDS_MF_POP_ADDED"
+msgstr "Added."
+
+msgid "IDS_MF_POP_PROCESSING_ING"
+msgstr "Processing..."
+
+msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
+msgstr "Unsupported file type."
+
+msgid "IDS_IMGE_BODY_AFTER_YOU_TAKE_PICTURES_PICTURES_WILL_BE_SHOWN"
+msgstr "Photos will be shown only after you taken the picture."
+
+msgid "IDS_IME_BODY_LANDSCAPE_MODE"
+msgstr "Landscape mode"
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_CLOSE_DRAWER_MENU_TTS"
+msgstr "Double tap to close drawer menu."
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_OPEN_DRAWER_MENU_TTS"
+msgstr "Double tap to open drawer menu."
+
+msgid "IDS_EMAIL_BODY_DRAG_AND_DROP"
+msgstr "Drag and drop"
+
+msgid "IDS_EMAIL_OPT_DRAWER_ABB"
+msgstr "Drawer"
+
+msgid "IDS_EMAIL_POP_MOBILE_DATA_IS_DISABLED_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_ENABLE_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Mobile data is disabled. Connect to Wi-Fi network instead or enable mobile data and try again"
+
+msgid "IDS_EMAIL_POP_WI_FI_CONNECTION_REQUIRED_CONNECT_TO_WI_FI_NETWORK_AND_TRY_AGAIN"
+msgstr "Wi-Fi connection required. Connect to Wi-Fi network and try again"
+
+msgid "IDS_GALLERY_HEADER_ADD_PICTURES_FROM_ABB"
+msgstr "Add pictures from"
+
+msgid "IDS_GALLERY_HEADER_CONNECTED_DEVICES_ABB"
+msgstr "Connected devices"
+
+msgid "IDS_GALLERY_OPT_PRIVATE_CONTENT"
+msgstr "Private content"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PS"
+msgstr "Remove from %s"
+
+msgid "IDS_GALLERY_OPT_REMOVE_NAME_TAG"
+msgstr "Remove name tag"
+
+msgid "IDS_GALLERY_POP_THERE_ARE_NO_EVENTS_TO_DISPLAY_CREATE_A_NEW_EVENT"
+msgstr "There are no events to display. Create a new event."
+
+msgid "IDS_GALLERY_POP_TO_SCROLL_QUICKLY_TO_OTHER_DATES_TAP_AND_HOLD_THE_DATE_INDICATOR_AT_THE_TOP_RIGHT_OF_THE_SCREEN"
+msgstr "To scroll quickly to other dates, tap and hold the date indicator at the top right of the screen."
+
+msgid "IDS_GP_POP_REMOVE_PD_ITEMS_Q"
+msgstr "Remove %d items?"
+
+msgid "IDS_GP_POP_REMOVE_THIS_ITEM_Q"
+msgstr "Remove this item?"
+
+msgid "IDS_HELP_BODY_GALLERY"
+msgstr "Gallery"
+
+msgid "IDS_HELP_OPT_SHUFFLED_PICTURES"
+msgstr "Shuffled pictures"
+
+msgid "IDS_IV_BODY_ADD_PICTURES"
+msgstr "Add pictures"
+
+msgid "IDS_IV_BODY_AFTER_YOU_TAG_PICTURES_AS_YOUR_FAVOURITES_PICTURES_WILL_BE_SHOWN"
+msgstr "After you tag pictures as your favorites, pictures will be shown."
+
+msgid "IDS_IV_BODY_REMOVE_FACE_IDENTIFICATION_Q"
+msgstr "Remove face identification?"
+
+msgid "IDS_IV_OPT_ASSIGN_NAME"
+msgstr "Assign name"
+
+msgid "IDS_IV_OPT_CONFIRM_AS_PS"
+msgstr "Confirm as %s"
+
+msgid "IDS_IV_OPT_LAYOUT_M_PICTUERS"
+msgstr "Layout"
+
+msgid "IDS_IV_OPT_PD_PICTURES_ADDED"
+msgstr "%d pictures added"
+
+msgid "IDS_IV_POP_THE_ALBUM_WILL_BE_CANCELLED"
+msgstr "The album will be canceled."
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEM_ABB"
+msgstr "Delete item"
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEMS"
+msgstr "Delete items"
+
+msgid "IDS_MEDIABR_BODY_1_ITEM"
+msgstr "1 item"
+
+msgid "IDS_MEDIABR_BODY_10_SECONDS"
+msgstr "10 seconds"
+
+msgid "IDS_MEDIABR_BODY_5_SECONDS"
+msgstr "5 seconds"
+
+msgid "IDS_MEDIABR_BODY_NOT_ASSIGNED"
+msgstr "Not assigned"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL"
+msgstr "Slideshow interval"
+
+msgid "IDS_MEDIABR_BODY_UNTAGGED"
+msgstr "Untagged"
+
+msgid "IDS_MEDIABR_OPT_3_SECONDS"
+msgstr "3 seconds"
+
+msgid "IDS_MEDIABR_OPT_ALL_CONTENT"
+msgstr "All content"
+
+msgid "IDS_MEDIABR_OPT_CONTENT_TO_DISPLAY"
+msgstr "Content to display"
+
+msgid "IDS_MEDIABR_OPT_DELETE_TAG"
+msgstr "Delete tag"
+
+msgid "IDS_MEDIABR_OPT_DEVICE_CONTENT"
+msgstr "Device content"
+
+msgid "IDS_MEDIABR_OPT_DROPBOX_CONTENT"
+msgstr "Dropbox content"
+
+msgid "IDS_MEDIABR_OPT_FACEBOOK_CONTENT"
+msgstr "Facebook content"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_LEFT"
+msgstr "Rotate left"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_RIGHT"
+msgstr "Rotate right"
+
+msgid "IDS_MEDIABR_POP_IMPORT"
+msgstr "Import"
+
+msgid "IDS_MEDIABR_POP_IMPORTED"
+msgstr "Imported."
+
+msgid "IDS_MEDIABR_POP_IMPORTING_ING"
+msgstr "Importing..."
+
+msgid "IDS_MEDIABR_POP_LOADING_ING"
+msgstr "Loading..."
+
+msgid "IDS_MEDIABR_POP_NEARBY_DEVICES_FOUND"
+msgstr "Nearby devices found."
+
+msgid "IDS_MEDIABR_POP_NO_DEVICES_FOUND_SCANNING_FOR_NEARBY_DEVICES_WILL_CONTINUE_IN_BACKGROUND"
+msgstr "No devices found. Scanning for nearby devices will continue in background"
+
+msgid "IDS_MEDIABR_POP_REFRESHED"
+msgstr "Refreshed."
+
+msgid "IDS_MEDIABR_POP_ROTATING_ING"
+msgstr "Rotating..."
+
+msgid "IDS_MEDIABR_POP_SCAN_STARTED_DEVICE_LIST_WILL_BE_UPDATED_AUTOMATICALLY"
+msgstr "Scan started. Device list will be updated automatically"
+
+msgid "IDS_MEDIABR_POP_STARTING_DOWNLOAD_ABB"
+msgstr "Starting download..."
+
+msgid "IDS_MF_OPT_COPY_TO"
+msgstr "Copy to"
+
+msgid "IDS_MF_OPT_MOVE_TO"
+msgstr "Move to"
+
+msgid "IDS_MF_POP_FAILED_TO_ADD_SHORTCUT"
+msgstr "Failed to add shortcut."
+
+msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
+msgstr "Not enough memory. Delete some items"
+
+msgid "IDS_MF_POP_REMOVED"
+msgstr "Removed."
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Adding..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "Delete %d albums?"
+
+msgid "IDS_ST_BODY_PRIVATE_STORAGE"
+msgstr "Private storage"
+
+msgid "IDS_IV_BODY_DRAG_HERE"
+msgstr "Drag here"
+
+msgid "IDS_GALLERY_BODY_NEW_M_ALBUM_ABB"
+msgstr "New"
+
+msgid "IDS_GALLERY_HEADER_UNGROUPEDM_PEOPLE_ABB"
+msgstr "Ungrouped"
+
+msgid "IDS_KEEPIT_OPT_SCREENSHOTS_ABB"
+msgstr "Screenshots"
+
+msgid "IDS_MEDIABR_OPT_PHOTOS"
+msgstr "Photos"
+
+msgid "IDS_MEDIABR_POP_DOWNLOAD_FAILED"
+msgstr "Download unavailable."
+
+msgid "IDS_MEDIABR_POP_UNSUPPORTED_FILE"
+msgstr "Unsupported file."
+
+msgid "IDS_SEARCH_BODY_1_RESULT"
+msgstr "1 result"
+
+msgid "IDS_SEARCH_BODY_PD_RESULTS"
+msgstr "%d results"
+
+msgid "IDS_TW_BODY_FAVORITES"
+msgstr "Favorites"
+
+msgid "IDS_EMAIL_POP_DOWNLOAD_CANCELLED"
+msgstr "Download canceled."
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ALBUM_Q"
+msgstr "Delete this album?"
+
+msgid "IDS_CAM_HEADER_WARNING_ABB"
+msgstr "Warning"
+
+msgid "IDS_ALM_OPT_SORT_BY"
+msgstr "Sort by"
+
+msgid "IDS_CLD_OPT_TODAY"
+msgstr "Today"
+
+msgid "IDS_GALLERY_BODY_DATE"
+msgstr "Date"
+
+msgid "IDS_EMAIL_BODY_NO_ITEMS_TO_DISPLAY"
+msgstr "No items to display."
+
+msgid "IDS_PBR_BODY_TAP_HERE_TO_TAKE_PICTURES_OR_VIDEOS"
+msgstr "Tap here to take pictures or videos."
+
+msgid "IDS_NFC_TPOP_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SHARED_HPD_EXCEEDED"
+msgstr "Maximum number of items that can be shared (%d) exceeded."
+
+msgid "IDS_IV_BODY_TAP_TO_ADD_IMAGES"
+msgstr "Tap to add images."
+
+msgid "IDS_GALLERY_POP_COPY_OR_MOVE_THE_SELECTED_ITEMS_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Copy or move the selected items from the original album?"
+
+msgid "IDS_GALLERY_HEADER_SELECT"
+msgstr "Select"
+
+msgid "IDS_VIDEO_POP_FILE_ALREADY_EXISTS"
+msgstr "File already exists."
+
+msgid "IDS_VIDEO_POP_THIS_ITEM_WILL_BE_DELETED"
+msgstr "This item will be deleted."
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_FACEBOOK_ITEMS_WILL_BE_SHOWN"
+msgstr "After you upload pictures to Facebook, items will be shown."
+
+msgid "IDS_GALLERY_HEADER_SELECT_ALL_ABB"
+msgstr "Select all"
+
+msgid "IDS_GALLERY_HEADER_PD_SELECTED_ABB"
+msgstr "%d selected"
+
+msgid "IDS_GALLERY_OPT_VIEW_AS"
+msgstr "View as"
+
+msgid "IDS_GALLERY_OPT_DATE_HMOST_RECENT_ABB2"
+msgstr "Date (most recent)"
+
+msgid "IDS_GALLERY_OPT_DATE_HOLDEST_ABB3"
+msgstr "Date (oldest)"
+
+msgid "IDS_GALLERY_BODY_AFTER_YOU_TAKE_PICTURES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "After you take pictures, they will be shown here."
+
+msgid "IDS_CLOUD_TPOP_CANCELLING_ING"
+msgstr "Canceling..."
+
+msgid "IDS_GALLERY_OPT_FROM_DEVICE_ABB"
+msgstr "From device"
+
+msgid "IDS_GALLERY_OPT_FROM_DROPBOX_ABB"
+msgstr "From Dropbox"
+
+msgid "IDS_GALLERY_OPT_FROM_FACEBOOK_ABB"
+msgstr "From Facebook"
+
+msgid "IDS_MUSIC_BODY_DOWNLOAD_COMPLETED"
+msgstr "Download completed."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DELETED"
+msgstr "All items will be deleted."
+
+msgid "IDS_GALLERY_POP_1_ITEM_WILL_BE_DOWNLOADED"
+msgstr "1 item will be downloaded."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "%d items will be downloaded."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "All items will be downloaded."
+
+msgid "IDS_GALLERY_TPOP_SELECTED_ALBUM_SAME_AS_SOURCE_ALBUM_SELECT_ANOTHER_ALBUM"
+msgstr "Selected album same as source album. Select another album."
+
+msgid "IDS_HS_NPBODY_TAP_HERE_TO_ADD_IMAGES"
+msgstr "Tap here to add images"
+
+msgid "IDS_MF_HEADER_UNABLE_TO_SAVE_DATA_ABB"
+msgstr "Unable to save data"
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_IN_YOUR_DEVICE_STORAGE_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "There is not enough space in your device storage. Go to Settings > Power and storage > Storage, then delete some files and try again."
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_YOUR_SD_CARD_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "There is not enough space on your SD card. Go to Settings > Power and storage > Storage, then delete some files and try again."
+
+msgid "IDS_MF_BUTTON_CANCEL_ABB3"
+msgstr "Cancel"
+
+msgid "IDS_MF_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Do not show again"
+
+msgid "IDS_MF_POP_USING_MOBILE_DATA_WHILE_ROAMING_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "Using Mobile data while roaming may result in additional charges depending on your payment plan."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DELETED_ABB"
+msgstr "%d items will be deleted."
+
+msgid "IDS_GALLERY_OPT_DELETE"
+msgstr "Delete"
+
+msgid "IDS_GALLERY_BODY_YESTERDAY"
+msgstr "Yesterday"
+
+msgid "IDS_BR_MBODY_DOWNLOADS"
+msgstr "Downloads"
+
+msgid "IDS_GALLERY_HEADER_COPY"
+msgstr "Copy"
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Delete"
+
+msgid "IDS_GALLERY_BUTTON_ALBUMS"
+msgstr "Albums"
+
+msgid "IDS_GALLERY_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_HPD_HAS_BEEN_EXCEEDED"
+msgstr "The maximum number of items (%d) has been exceeded."
+
+msgid "IDS_GALLERY_BUTTON_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "DONE"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "CANCEL"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "DELETE"
+
+msgid "IDS_GALLERY_POP_COPYING_ING"
+msgstr "Copying..."
+
+msgid "IDS_GALLERY_POP_MOVING_ING"
+msgstr "Moving..."
+
+msgid "IDS_STORYALBUM_POP_IF_YOU_CREATE_CONTENT_THAT_INCLUDES_ITEMS_FROM_PERSONAL_STORAGE_IT_MAY_NOT_BE_HIDDEN_AUTOMATICALLY_MSG"
+msgstr "If you create content that includes items from personal storage, it may not be hidden automatically. The selected personal content could be seen when viewing the new content."
+
+msgid "IDS_HS_ACBUTTON_EDIT"
+msgstr "EDIT"
+
+msgid "IDS_MF_BUTTON_SETTINGS"
+msgstr "Settings"
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "EDIT"
+
+msgid "IDS_CLOCK_HEADER_REORDER_ABB"
+msgstr "Change order"
+
diff --git a/res/po/en_US.po b/res/po/en_US.po
new file mode 100644 (file)
index 0000000..2cbec3c
--- /dev/null
@@ -0,0 +1,759 @@
+msgid "IDS_MF_POP_YOUR_DEVICE_IS_NOT_CONNECTED_TO_A_WI_FI_NETWORK_CONNECTING_TO_A_MOBILE_NETWORK_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "Your device is not connected to a Wi-Fi network. Connecting to a mobile network may result in additional charges depending on your payment plan."
+
+msgid "IDS_VIDEO_TPOP_MOBILE_DATA_TURNED_OFF_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_TURN_ON_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Mobile data off. Connect to Wi-Fi network instead, or turn on Mobile data and try again."
+
+msgid "IDS_VIDEO_BODY_AFTER_YOU_RECORD_VIDEOS_USING_THE_CAMERA_THEY_WILL_BE_SHOWN_HERE"
+msgstr "After you record videos using the camera, they will be shown here."
+
+msgid "IDS_VIDEO_TPOP_FILE_NAME_ALREADY_IN_USE"
+msgstr "File name already in use."
+
+msgid "IDS_MF_POP_DELETE_PD_ITEMS_Q"
+msgstr "Delete %d items?"
+
+msgid "IDS_ST_HEADER_PRIVACY"
+msgstr "Privacy"
+
+msgid "IDS_COM_BODY_SEP_ABB"
+msgstr "Sep"
+
+msgid "IDS_COM_BODY_OCT_ABB"
+msgstr "Oct"
+
+msgid "IDS_COM_BODY_NOV_ABB"
+msgstr "Nov"
+
+msgid "IDS_COM_BODY_MAY_ABB"
+msgstr "May"
+
+msgid "IDS_COM_BODY_MAR_ABB"
+msgstr "Mar"
+
+msgid "IDS_COM_BODY_JUN_ABB"
+msgstr "Jun"
+
+msgid "IDS_COM_BODY_JUL_ABB"
+msgstr "Jul"
+
+msgid "IDS_COM_BODY_JAN_ABB"
+msgstr "Jan"
+
+msgid "IDS_COM_BODY_FEB_ABB"
+msgstr "Feb"
+
+msgid "IDS_COM_BODY_DEC_ABB"
+msgstr "Dec"
+
+msgid "IDS_COM_BODY_AUG_ABB"
+msgstr "Aug"
+
+msgid "IDS_COM_BODY_APR_ABB"
+msgstr "Apr"
+
+msgid "IDS_GALLERY_HEADER_ALBUM"
+msgstr "Album"
+
+msgid "IDS_MEDIABR_OPT_MORE"
+msgstr "More"
+
+msgid "IDS_MEDIABR_POP_INVALID_INPUT_PARAMETER"
+msgstr "Invalid input parameter."
+
+msgid "IDS_MEDIABR_POP_ENTRY_IS_EMPTY"
+msgstr "Entry is empty."
+
+msgid "IDS_MEDIABR_POP_SAME_NAME_ALREADY_IN_USE"
+msgstr "Same name already in use."
+
+msgid "IDS_MEDIABR_POP_UNABLE_TO_RENAME"
+msgstr "Unable to rename."
+
+msgid "IDS_MEDIABR_POP_NO_ALBUMS_SELECTED"
+msgstr "No albums selected."
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ITEM"
+msgstr "Select item"
+
+msgid "IDS_MEDIABR_BODY_NO_ALBUMS"
+msgstr "No albums"
+
+msgid "IDS_MEDIABR_POP_CREATE_FOLDER_Q"
+msgstr "Create folder?"
+
+msgid "IDS_MEDIABR_POP_RETRY_Q"
+msgstr "Retry?"
+
+msgid "IDS_MEDIABR_POPUP_REMOVE_Q"
+msgstr "Remove?"
+
+msgid "IDS_MEDIABR_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "%d albums will be deleted."
+
+msgid "IDS_MEDIABR_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "1 album will be deleted."
+
+msgid "IDS_MEDIABR_BODY_CAMERA"
+msgstr "Camera"
+
+msgid "IDS_MEDIABR_BUTTON_START"
+msgstr "Start"
+
+msgid "IDS_MEDIABR_OPT_SETTINGS"
+msgstr "Settings"
+
+msgid "IDS_MEDIABR_OPT_YES"
+msgstr "Yes"
+
+msgid "IDS_MEDIABR_OPT_NO"
+msgstr "No"
+
+msgid "IDS_MEDIABR_BUTTON_OK"
+msgstr "OK"
+
+msgid "IDS_MEDIABR_BUTTON_SAVE"
+msgstr "Save"
+
+msgid "IDS_MEDIABR_POP_DELETE_Q"
+msgstr "Delete?"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_ALBUM"
+msgstr "Move to album"
+
+msgid "IDS_GALLERY_OPT_COPY_TO_ALBUM"
+msgstr "Copy to album"
+
+msgid "IDS_GALLERY_HEADER_VIEW_BY_ABB"
+msgstr "View by"
+
+msgid "IDS_GALLERY_HEADER_ENTER_NAME"
+msgstr "Enter name"
+
+msgid "IDS_MEDIABR_POP_ALL_DATA_RELATED_TO_THIS_ACCOUNT_WILL_BE_DELETED_CONTINUE_Q"
+msgstr "All data related to this account will be deleted. Continue?"
+
+msgid "IDS_MEDIABR_BUTTON_CANCEL_ABB"
+msgstr "Cancel"
+
+msgid "IDS_MEDIABR_TAB4_NEW_ALBUM"
+msgstr "New album"
+
+msgid "IDS_MEDIABR_POP_DO_YOU_WANT_TO_COPY_OR_MOVE_THE_PICTURES_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Do you want to copy or move the pictures from the original album?"
+
+msgid "IDS_MEDIABR_OPT_SHARE"
+msgstr "Share"
+
+msgid "IDS_MEDIABR_OPT_SLIDESHOW"
+msgstr "Slideshow"
+
+msgid "IDS_MEDIABR_OPT_START_SLIDESHOW"
+msgstr "Start slideshow"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS"
+msgstr "Slideshow settings"
+
+msgid "IDS_MEDIABR_POP_NO_NAME"
+msgstr "No name"
+
+msgid "IDS_MEDIABR_BODY_ALL_ALBUMS"
+msgstr "All albums"
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ALBUM"
+msgstr "Select album"
+
+msgid "IDS_MEDIABR_POP_1_ITEM_WILL_BE_DELETED"
+msgstr "1 item will be deleted."
+
+msgid "IDS_MEDIABR_OPT_ALL_ITEMS"
+msgstr "All items"
+
+msgid "IDS_MEDIABR_BODY_PD_ITEMS"
+msgstr "%d items"
+
+msgid "IDS_IV_BODY_THERE_IS_ONLY_ONE_ALBUM"
+msgstr "There is only one album."
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "You can select up to %d items."
+
+msgid "IDS_MF_BODY_DOWNLOADS"
+msgstr "Downloads"
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Delete?"
+
+msgid "IDS_MF_SK_MOVE"
+msgstr "Move"
+
+msgid "IDS_MF_POP_DELETING_ING"
+msgstr "Deleting..."
+
+msgid "IDS_CAM_BODY_OPERATION_FAILED"
+msgstr "Operation failed."
+
+msgid "IDS_MSG_BODY_CANCELLED_M_CONTENT"
+msgstr "Canceled"
+
+msgid "IDS_MF_OPT_DELETE_SELECTED"
+msgstr "Selected"
+
+msgid "IDS_MF_POP_MOVED"
+msgstr "Moved."
+
+msgid "IDS_MF_POP_COPIED"
+msgstr "Copied."
+
+msgid "IDS_VPL_POP_NO_FILES_SELECTED"
+msgstr "No files selected."
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Close"
+
+msgid "IDS_MF_OPT_SORT_BY_ABB"
+msgstr "Sort by"
+
+msgid "IDS_CAM_POP_LATEST"
+msgstr "Latest"
+
+msgid "IDS_MEDIABR_POP_OLDEST_M_DATE"
+msgstr "Oldest"
+
+msgid "IDS_MSG_BUTTON2_CREATE"
+msgstr "Create"
+
+msgid "IDS_MEDIABR_POP_NO_ITEMS"
+msgstr "No items"
+
+msgid "IDS_MEDIABR_OPT_EDIT_IMAGE"
+msgstr "Edit image"
+
+msgid "IDS_MEDIABR_BODY_SELECT_PICTURE"
+msgstr "Select picture"
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ITEM_Q"
+msgstr "Delete this item?"
+
+msgid "IDS_GALLERY_OPT_SCENERY"
+msgstr "Scenery"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PRIVATE"
+msgstr "Remove from Private"
+
+msgid "IDS_GALLERY_OPT_PETS"
+msgstr "Pets"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_PRIVATE"
+msgstr "Move to Private"
+
+msgid "IDS_GALLERY_OPT_FOOD"
+msgstr "Food"
+
+msgid "IDS_GALLERY_OPT_FLOWERS"
+msgstr "Flowers"
+
+msgid "IDS_GALLERY_OPT_DOCUMENTS"
+msgstr "Documents"
+
+msgid "IDS_GALLERY_MBODY_VEHICLES"
+msgstr "Vehicles"
+
+msgid "IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED"
+msgstr "Maximum number of characters (%d) reached."
+
+msgid "IDS_IV_BODY_UNABLE_TO_LOAD_PHOTO_ABB"
+msgstr "Unable to load photo."
+
+msgid "IDS_IV_BODY_SHARE_VIA"
+msgstr "Share via"
+
+msgid "IDS_IV_BODY_DONT_ASK_AGAIN"
+msgstr "Don't ask again"
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maximum number of characters reached."
+
+msgid "IDS_GALLERY_HEADER_TIME"
+msgstr "Time"
+
+msgid "IDS_EMAIL_BODY_FAILED_M_STATUS"
+msgstr "Failed"
+
+msgid "IDS_EMAIL_BODY_DELETED"
+msgstr "Deleted."
+
+msgid "IDS_EMAIL_POP_DELETE_Q"
+msgstr "Delete?"
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Removing..."
+
+msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS"
+msgstr "Showing %d items"
+
+msgid "IDS_GALLERY_OPT_CREATE_ALBUM"
+msgstr "Create album"
+
+msgid "IDS_GALLERY_OPT_GALLERY_ABB"
+msgstr "Gallery"
+
+msgid "IDS_EMAIL_BUTTON_MORE"
+msgstr "More"
+
+msgid "IDS_EMAIL_OPT_ACCOUNTS"
+msgstr "Accounts"
+
+msgid "IDS_EMAIL_POP_OPERATION_FAILED"
+msgstr "Operation failed."
+
+msgid "IDS_GALLERY_BODY_DOWNLOAD"
+msgstr "Download"
+
+msgid "IDS_GALLERY_BODY_SEARCH"
+msgstr "Search"
+
+msgid "IDS_GALLERY_BUTTON_BACK"
+msgstr "Back"
+
+msgid "IDS_GALLERY_BUTTON_CAMERA"
+msgstr "Camera"
+
+msgid "IDS_GALLERY_HEADER_ALL"
+msgstr "All"
+
+msgid "IDS_GALLERY_OPT_REFRESH"
+msgstr "Refresh"
+
+msgid "IDS_GALLERY_OPT_REMOVE"
+msgstr "Remove"
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_DROPBOX_ITEMS_WILL_BE_SHOWN"
+msgstr "After you upload pictures to Dropbox, items will be shown."
+
+msgid "IDS_KEEPIT_BODY_GROUP_PLAY_ABB"
+msgstr "Group Play"
+
+msgid "IDS_MEDIABR_HEADER_CONTACTS"
+msgstr "Contacts"
+
+msgid "IDS_MEDIABR_OPT_CREATE"
+msgstr "Create"
+
+msgid "IDS_MEDIABR_OPT_DETAILS"
+msgstr "Details"
+
+msgid "IDS_MEDIABR_OPT_PRINT"
+msgstr "Print"
+
+msgid "IDS_MEDIABR_OPT_RENAME"
+msgstr "Rename"
+
+msgid "IDS_MEDIABR_POP_DOWNLOADED"
+msgstr "Downloaded."
+
+msgid "IDS_MEDIABR_POP_DOWNLOADING_ING"
+msgstr "Downloading..."
+
+msgid "IDS_MF_HEADER_ENTER_NAME"
+msgstr "Enter name."
+
+msgid "IDS_MF_HEADER_MYFILES"
+msgstr "My Files"
+
+msgid "IDS_MF_POP_ADDED"
+msgstr "Added."
+
+msgid "IDS_MF_POP_PROCESSING_ING"
+msgstr "Processing..."
+
+msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
+msgstr "Unsupported file type."
+
+msgid "IDS_IMGE_BODY_AFTER_YOU_TAKE_PICTURES_PICTURES_WILL_BE_SHOWN"
+msgstr "After you take pictures, pictures will be shown."
+
+msgid "IDS_IME_BODY_LANDSCAPE_MODE"
+msgstr "Landscape mode"
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_CLOSE_DRAWER_MENU_TTS"
+msgstr "Double tap to close drawer menu."
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_OPEN_DRAWER_MENU_TTS"
+msgstr "Double tap to open drawer menu."
+
+msgid "IDS_EMAIL_BODY_DRAG_AND_DROP"
+msgstr "Drag and drop"
+
+msgid "IDS_EMAIL_OPT_DRAWER_ABB"
+msgstr "Drawer"
+
+msgid "IDS_EMAIL_POP_MOBILE_DATA_IS_DISABLED_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_ENABLE_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Mobile data turned off. Connect to Wi-Fi network or turn on mobile data and try again."
+
+msgid "IDS_EMAIL_POP_WI_FI_CONNECTION_REQUIRED_CONNECT_TO_WI_FI_NETWORK_AND_TRY_AGAIN"
+msgstr "Wi-Fi connection required. Connect to Wi-Fi network and try again."
+
+msgid "IDS_GALLERY_HEADER_ADD_PICTURES_FROM_ABB"
+msgstr "Add pictures from"
+
+msgid "IDS_GALLERY_HEADER_CONNECTED_DEVICES_ABB"
+msgstr "Connected devices"
+
+msgid "IDS_GALLERY_OPT_PRIVATE_CONTENT"
+msgstr "Private content"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PS"
+msgstr "Remove from %s"
+
+msgid "IDS_GALLERY_OPT_REMOVE_NAME_TAG"
+msgstr "Remove name tag"
+
+msgid "IDS_GALLERY_POP_THERE_ARE_NO_EVENTS_TO_DISPLAY_CREATE_A_NEW_EVENT"
+msgstr "There are no events to display. Create a new event."
+
+msgid "IDS_GALLERY_POP_TO_SCROLL_QUICKLY_TO_OTHER_DATES_TAP_AND_HOLD_THE_DATE_INDICATOR_AT_THE_TOP_RIGHT_OF_THE_SCREEN"
+msgstr "To scroll quickly to other dates, touch and hold the date indicator at the top right of the screen."
+
+msgid "IDS_GP_POP_REMOVE_PD_ITEMS_Q"
+msgstr "Remove %d items?"
+
+msgid "IDS_GP_POP_REMOVE_THIS_ITEM_Q"
+msgstr "Remove this item?"
+
+msgid "IDS_HELP_BODY_GALLERY"
+msgstr "Gallery"
+
+msgid "IDS_HELP_OPT_SHUFFLED_PICTURES"
+msgstr "Shuffled pictures"
+
+msgid "IDS_IV_BODY_ADD_PICTURES"
+msgstr "Add pictures"
+
+msgid "IDS_IV_BODY_AFTER_YOU_TAG_PICTURES_AS_YOUR_FAVOURITES_PICTURES_WILL_BE_SHOWN"
+msgstr "After you tag pictures as your favorites, pictures will be shown."
+
+msgid "IDS_IV_BODY_REMOVE_FACE_IDENTIFICATION_Q"
+msgstr "Remove face identification?"
+
+msgid "IDS_IV_OPT_ASSIGN_NAME"
+msgstr "Assign name"
+
+msgid "IDS_IV_OPT_CONFIRM_AS_PS"
+msgstr "Confirm as %s"
+
+msgid "IDS_IV_OPT_LAYOUT_M_PICTUERS"
+msgstr "Layout"
+
+msgid "IDS_IV_OPT_PD_PICTURES_ADDED"
+msgstr "%d pictures added"
+
+msgid "IDS_IV_POP_THE_ALBUM_WILL_BE_CANCELLED"
+msgstr "The album will be canceled."
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEM_ABB"
+msgstr "Delete item"
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEMS"
+msgstr "Delete items"
+
+msgid "IDS_MEDIABR_BODY_1_ITEM"
+msgstr "1 item"
+
+msgid "IDS_MEDIABR_BODY_10_SECONDS"
+msgstr "10 seconds"
+
+msgid "IDS_MEDIABR_BODY_5_SECONDS"
+msgstr "5 seconds"
+
+msgid "IDS_MEDIABR_BODY_NOT_ASSIGNED"
+msgstr "Not assigned"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL"
+msgstr "Slideshow interval"
+
+msgid "IDS_MEDIABR_BODY_UNTAGGED"
+msgstr "Untagged"
+
+msgid "IDS_MEDIABR_OPT_3_SECONDS"
+msgstr "3 seconds"
+
+msgid "IDS_MEDIABR_OPT_ALL_CONTENT"
+msgstr "All content"
+
+msgid "IDS_MEDIABR_OPT_CONTENT_TO_DISPLAY"
+msgstr "Content to display"
+
+msgid "IDS_MEDIABR_OPT_DELETE_TAG"
+msgstr "Delete tag"
+
+msgid "IDS_MEDIABR_OPT_DEVICE_CONTENT"
+msgstr "Device content"
+
+msgid "IDS_MEDIABR_OPT_DROPBOX_CONTENT"
+msgstr "Dropbox content"
+
+msgid "IDS_MEDIABR_OPT_FACEBOOK_CONTENT"
+msgstr "Facebook content"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_LEFT"
+msgstr "Rotate left"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_RIGHT"
+msgstr "Rotate right"
+
+msgid "IDS_MEDIABR_POP_IMPORT"
+msgstr "Import"
+
+msgid "IDS_MEDIABR_POP_IMPORTED"
+msgstr "Imported."
+
+msgid "IDS_MEDIABR_POP_IMPORTING_ING"
+msgstr "Importing..."
+
+msgid "IDS_MEDIABR_POP_LOADING_ING"
+msgstr "Loading..."
+
+msgid "IDS_MEDIABR_POP_NEARBY_DEVICES_FOUND"
+msgstr "Nearby devices found."
+
+msgid "IDS_MEDIABR_POP_NO_DEVICES_FOUND_SCANNING_FOR_NEARBY_DEVICES_WILL_CONTINUE_IN_BACKGROUND"
+msgstr "No devices found. Scanning for nearby devices will continue in background."
+
+msgid "IDS_MEDIABR_POP_REFRESHED"
+msgstr "Refreshed."
+
+msgid "IDS_MEDIABR_POP_ROTATING_ING"
+msgstr "Rotating..."
+
+msgid "IDS_MEDIABR_POP_SCAN_STARTED_DEVICE_LIST_WILL_BE_UPDATED_AUTOMATICALLY"
+msgstr "Scan started. Device list will be updated automatically."
+
+msgid "IDS_MEDIABR_POP_STARTING_DOWNLOAD_ABB"
+msgstr "Starting download..."
+
+msgid "IDS_MF_OPT_COPY_TO"
+msgstr "Copy to"
+
+msgid "IDS_MF_OPT_MOVE_TO"
+msgstr "Move to"
+
+msgid "IDS_MF_POP_FAILED_TO_ADD_SHORTCUT"
+msgstr "Failed to add shortcut."
+
+msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
+msgstr "Not enough memory. Delete some items."
+
+msgid "IDS_MF_POP_REMOVED"
+msgstr "Removed."
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Adding..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "Delete %d albums?"
+
+msgid "IDS_ST_BODY_PRIVATE_STORAGE"
+msgstr "Private storage"
+
+msgid "IDS_IV_BODY_DRAG_HERE"
+msgstr "Drag here"
+
+msgid "IDS_GALLERY_BODY_NEW_M_ALBUM_ABB"
+msgstr "New"
+
+msgid "IDS_GALLERY_HEADER_UNGROUPEDM_PEOPLE_ABB"
+msgstr "Ungrouped"
+
+msgid "IDS_KEEPIT_OPT_SCREENSHOTS_ABB"
+msgstr "Screenshots"
+
+msgid "IDS_MEDIABR_OPT_PHOTOS"
+msgstr "Photos"
+
+msgid "IDS_MEDIABR_POP_DOWNLOAD_FAILED"
+msgstr "Download unavailable."
+
+msgid "IDS_MEDIABR_POP_UNSUPPORTED_FILE"
+msgstr "Unsupported file."
+
+msgid "IDS_SEARCH_BODY_1_RESULT"
+msgstr "1 result"
+
+msgid "IDS_SEARCH_BODY_PD_RESULTS"
+msgstr "%d results"
+
+msgid "IDS_TW_BODY_FAVORITES"
+msgstr "Favorites"
+
+msgid "IDS_EMAIL_POP_DOWNLOAD_CANCELLED"
+msgstr "Download canceled."
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ALBUM_Q"
+msgstr "Delete this album?"
+
+msgid "IDS_CAM_HEADER_WARNING_ABB"
+msgstr "Warning"
+
+msgid "IDS_ALM_OPT_SORT_BY"
+msgstr "Sort by"
+
+msgid "IDS_CLD_OPT_TODAY"
+msgstr "Today"
+
+msgid "IDS_GALLERY_BODY_DATE"
+msgstr "Date"
+
+msgid "IDS_EMAIL_BODY_NO_ITEMS_TO_DISPLAY"
+msgstr "No items to display."
+
+msgid "IDS_PBR_BODY_TAP_HERE_TO_TAKE_PICTURES_OR_VIDEOS"
+msgstr "Tap here to take pictures or videos."
+
+msgid "IDS_NFC_TPOP_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SHARED_HPD_EXCEEDED"
+msgstr "Maximum number of items that can be shared (%d) exceeded."
+
+msgid "IDS_IV_BODY_TAP_TO_ADD_IMAGES"
+msgstr "Tap to add images."
+
+msgid "IDS_GALLERY_POP_COPY_OR_MOVE_THE_SELECTED_ITEMS_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Copy or move the selected items from the original album?"
+
+msgid "IDS_GALLERY_HEADER_SELECT"
+msgstr "Select"
+
+msgid "IDS_VIDEO_POP_FILE_ALREADY_EXISTS"
+msgstr "File already exists."
+
+msgid "IDS_VIDEO_POP_THIS_ITEM_WILL_BE_DELETED"
+msgstr "This item will be deleted."
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_FACEBOOK_ITEMS_WILL_BE_SHOWN"
+msgstr "After you upload pictures to Facebook, items will be shown."
+
+msgid "IDS_GALLERY_HEADER_SELECT_ALL_ABB"
+msgstr "Select all"
+
+msgid "IDS_GALLERY_HEADER_PD_SELECTED_ABB"
+msgstr "%d selected"
+
+msgid "IDS_GALLERY_OPT_VIEW_AS"
+msgstr "View as"
+
+msgid "IDS_GALLERY_OPT_DATE_HMOST_RECENT_ABB2"
+msgstr "Date (most recent)"
+
+msgid "IDS_GALLERY_OPT_DATE_HOLDEST_ABB3"
+msgstr "Date (oldest)"
+
+msgid "IDS_GALLERY_BODY_AFTER_YOU_TAKE_PICTURES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "After you take pictures, they will be shown here."
+
+msgid "IDS_CLOUD_TPOP_CANCELLING_ING"
+msgstr "Canceling..."
+
+msgid "IDS_GALLERY_OPT_FROM_DEVICE_ABB"
+msgstr "From device"
+
+msgid "IDS_GALLERY_OPT_FROM_DROPBOX_ABB"
+msgstr "From Dropbox"
+
+msgid "IDS_GALLERY_OPT_FROM_FACEBOOK_ABB"
+msgstr "From Facebook"
+
+msgid "IDS_MUSIC_BODY_DOWNLOAD_COMPLETED"
+msgstr "Download completed."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DELETED"
+msgstr "All items will be deleted."
+
+msgid "IDS_GALLERY_POP_1_ITEM_WILL_BE_DOWNLOADED"
+msgstr "1 item will be downloaded."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "%d items will be downloaded."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "All items will be downloaded."
+
+msgid "IDS_GALLERY_TPOP_SELECTED_ALBUM_SAME_AS_SOURCE_ALBUM_SELECT_ANOTHER_ALBUM"
+msgstr "Selected album same as source album. Select another album."
+
+msgid "IDS_HS_NPBODY_TAP_HERE_TO_ADD_IMAGES"
+msgstr "Tap here to add images"
+
+msgid "IDS_MF_HEADER_UNABLE_TO_SAVE_DATA_ABB"
+msgstr "Unable to save data"
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_IN_YOUR_DEVICE_STORAGE_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "There is not enough space in your device storage. Go to Settings > Power and storage > Storage, then delete some files and try again."
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_YOUR_SD_CARD_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "There is not enough space on your SD card. Go to Settings > Power and storage > Storage, then delete some files and try again."
+
+msgid "IDS_MF_BUTTON_CANCEL_ABB3"
+msgstr "Cancel"
+
+msgid "IDS_MF_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Do not show again"
+
+msgid "IDS_MF_POP_USING_MOBILE_DATA_WHILE_ROAMING_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "Using Mobile data while roaming may result in additional charges depending on your payment plan."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DELETED_ABB"
+msgstr "%d items will be deleted."
+
+msgid "IDS_GALLERY_OPT_DELETE"
+msgstr "Delete"
+
+msgid "IDS_GALLERY_BODY_YESTERDAY"
+msgstr "Yesterday"
+
+msgid "IDS_BR_MBODY_DOWNLOADS"
+msgstr "Downloads"
+
+msgid "IDS_GALLERY_HEADER_COPY"
+msgstr "Copy"
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Delete"
+
+msgid "IDS_GALLERY_BUTTON_ALBUMS"
+msgstr "Albums"
+
+msgid "IDS_GALLERY_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_HPD_HAS_BEEN_EXCEEDED"
+msgstr "The maximum number of items (%d) has been exceeded."
+
+msgid "IDS_GALLERY_BUTTON_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "DONE"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "CANCEL"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "DELETE"
+
+msgid "IDS_GALLERY_POP_COPYING_ING"
+msgstr "Copying..."
+
+msgid "IDS_GALLERY_POP_MOVING_ING"
+msgstr "Moving..."
+
+msgid "IDS_STORYALBUM_POP_IF_YOU_CREATE_CONTENT_THAT_INCLUDES_ITEMS_FROM_PERSONAL_STORAGE_IT_MAY_NOT_BE_HIDDEN_AUTOMATICALLY_MSG"
+msgstr "If you create content that includes items from personal storage, it may not be hidden automatically. The selected personal content could be seen when viewing the new content."
+
+msgid "IDS_HS_ACBUTTON_EDIT"
+msgstr "EDIT"
+
+msgid "IDS_MF_BUTTON_SETTINGS"
+msgstr "Settings"
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "EDIT"
+
+msgid "IDS_CLOCK_HEADER_REORDER_ABB"
+msgstr "Reorder"
+
diff --git a/res/po/es_ES.po b/res/po/es_ES.po
new file mode 100644 (file)
index 0000000..df9921d
--- /dev/null
@@ -0,0 +1,759 @@
+msgid "IDS_MF_POP_YOUR_DEVICE_IS_NOT_CONNECTED_TO_A_WI_FI_NETWORK_CONNECTING_TO_A_MOBILE_NETWORK_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "El dispositivo no está conectado a una red Wi-Fi. La conexión a una red móvil puede suponer un coste adicional dependiendo de su plan de pago."
+
+msgid "IDS_VIDEO_TPOP_MOBILE_DATA_TURNED_OFF_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_TURN_ON_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Los datos móviles están desactivados. En su lugar, conéctese a una red Wi-Fi o active los datos móviles y vuelva a intentarlo."
+
+msgid "IDS_VIDEO_BODY_AFTER_YOU_RECORD_VIDEOS_USING_THE_CAMERA_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Después de grabar vídeos con la cámara, se mostrarán aquí."
+
+msgid "IDS_VIDEO_TPOP_FILE_NAME_ALREADY_IN_USE"
+msgstr "El nombre de archivo ya está en uso."
+
+msgid "IDS_MF_POP_DELETE_PD_ITEMS_Q"
+msgstr "¿Eliminar %d elementos?"
+
+msgid "IDS_ST_HEADER_PRIVACY"
+msgstr "Privacidad"
+
+msgid "IDS_COM_BODY_SEP_ABB"
+msgstr "Sep."
+
+msgid "IDS_COM_BODY_OCT_ABB"
+msgstr "Oct."
+
+msgid "IDS_COM_BODY_NOV_ABB"
+msgstr "Nov"
+
+msgid "IDS_COM_BODY_MAY_ABB"
+msgstr "May."
+
+msgid "IDS_COM_BODY_MAR_ABB"
+msgstr "Mar."
+
+msgid "IDS_COM_BODY_JUN_ABB"
+msgstr "Jun"
+
+msgid "IDS_COM_BODY_JUL_ABB"
+msgstr "Jul"
+
+msgid "IDS_COM_BODY_JAN_ABB"
+msgstr "Ene."
+
+msgid "IDS_COM_BODY_FEB_ABB"
+msgstr "Feb."
+
+msgid "IDS_COM_BODY_DEC_ABB"
+msgstr "Dic."
+
+msgid "IDS_COM_BODY_AUG_ABB"
+msgstr "Ago."
+
+msgid "IDS_COM_BODY_APR_ABB"
+msgstr "Abr."
+
+msgid "IDS_GALLERY_HEADER_ALBUM"
+msgstr "Álbum"
+
+msgid "IDS_MEDIABR_OPT_MORE"
+msgstr "Más"
+
+msgid "IDS_MEDIABR_POP_INVALID_INPUT_PARAMETER"
+msgstr "Parámetro de entrada no válido"
+
+msgid "IDS_MEDIABR_POP_ENTRY_IS_EMPTY"
+msgstr "Entrada vacía"
+
+msgid "IDS_MEDIABR_POP_SAME_NAME_ALREADY_IN_USE"
+msgstr "El mismo nombre ya está en uso"
+
+msgid "IDS_MEDIABR_POP_UNABLE_TO_RENAME"
+msgstr "Imposible cambiar el nombre"
+
+msgid "IDS_MEDIABR_POP_NO_ALBUMS_SELECTED"
+msgstr "No hay álbumes seleccionados"
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ITEM"
+msgstr "Seleccionar elemento"
+
+msgid "IDS_MEDIABR_BODY_NO_ALBUMS"
+msgstr "No hay álbumes"
+
+msgid "IDS_MEDIABR_POP_CREATE_FOLDER_Q"
+msgstr "¿Crear carpeta?"
+
+msgid "IDS_MEDIABR_POP_RETRY_Q"
+msgstr "¿Volver a intentar?"
+
+msgid "IDS_MEDIABR_POPUP_REMOVE_Q"
+msgstr "¿Eliminar?"
+
+msgid "IDS_MEDIABR_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "Se eliminarán %d álbumes"
+
+msgid "IDS_MEDIABR_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "Se eliminará 1 álbum"
+
+msgid "IDS_MEDIABR_BODY_CAMERA"
+msgstr "Cámara"
+
+msgid "IDS_MEDIABR_BUTTON_START"
+msgstr "Iniciar"
+
+msgid "IDS_MEDIABR_OPT_SETTINGS"
+msgstr "Ajustes"
+
+msgid "IDS_MEDIABR_OPT_YES"
+msgstr "Sí"
+
+msgid "IDS_MEDIABR_OPT_NO"
+msgstr "No"
+
+msgid "IDS_MEDIABR_BUTTON_OK"
+msgstr "Aceptar"
+
+msgid "IDS_MEDIABR_BUTTON_SAVE"
+msgstr "Guardar"
+
+msgid "IDS_MEDIABR_POP_DELETE_Q"
+msgstr "¿Eliminar?"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_ALBUM"
+msgstr "Mover al álbum"
+
+msgid "IDS_GALLERY_OPT_COPY_TO_ALBUM"
+msgstr "Copiar en álbum"
+
+msgid "IDS_GALLERY_HEADER_VIEW_BY_ABB"
+msgstr "Ver por"
+
+msgid "IDS_GALLERY_HEADER_ENTER_NAME"
+msgstr "Introducir nombre"
+
+msgid "IDS_MEDIABR_POP_ALL_DATA_RELATED_TO_THIS_ACCOUNT_WILL_BE_DELETED_CONTINUE_Q"
+msgstr "Se eliminarán todos los datos relacionados con esta cuenta. ¿Continuar?"
+
+msgid "IDS_MEDIABR_BUTTON_CANCEL_ABB"
+msgstr "Cancelar"
+
+msgid "IDS_MEDIABR_TAB4_NEW_ALBUM"
+msgstr "Nuevo álbum"
+
+msgid "IDS_MEDIABR_POP_DO_YOU_WANT_TO_COPY_OR_MOVE_THE_PICTURES_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "¿Quiere copiar o mover las fotos del álbum original?"
+
+msgid "IDS_MEDIABR_OPT_SHARE"
+msgstr "Compartir"
+
+msgid "IDS_MEDIABR_OPT_SLIDESHOW"
+msgstr "Presentación de diapositivas"
+
+msgid "IDS_MEDIABR_OPT_START_SLIDESHOW"
+msgstr "Iniciar presentación de diapositivas"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS"
+msgstr "Configuración de presentación de diapositivas"
+
+msgid "IDS_MEDIABR_POP_NO_NAME"
+msgstr "Sin nombre"
+
+msgid "IDS_MEDIABR_BODY_ALL_ALBUMS"
+msgstr "Todos los álbumes"
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ALBUM"
+msgstr "Seleccionar álbum"
+
+msgid "IDS_MEDIABR_POP_1_ITEM_WILL_BE_DELETED"
+msgstr "Se eliminará 1 elemento."
+
+msgid "IDS_MEDIABR_OPT_ALL_ITEMS"
+msgstr "Todos los elementos"
+
+msgid "IDS_MEDIABR_BODY_PD_ITEMS"
+msgstr "%d elementos"
+
+msgid "IDS_IV_BODY_THERE_IS_ONLY_ONE_ALBUM"
+msgstr "Solo hay un álbum"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "Puede seleccionar hasta %d elementos"
+
+msgid "IDS_MF_BODY_DOWNLOADS"
+msgstr "Descargas"
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "¿Eliminar?"
+
+msgid "IDS_MF_SK_MOVE"
+msgstr "Mover"
+
+msgid "IDS_MF_POP_DELETING_ING"
+msgstr "Eliminando..."
+
+msgid "IDS_CAM_BODY_OPERATION_FAILED"
+msgstr "Error de funcionamiento"
+
+msgid "IDS_MSG_BODY_CANCELLED_M_CONTENT"
+msgstr "Cancelado"
+
+msgid "IDS_MF_OPT_DELETE_SELECTED"
+msgstr "Seleccionado"
+
+msgid "IDS_MF_POP_MOVED"
+msgstr "Movido"
+
+msgid "IDS_MF_POP_COPIED"
+msgstr "Copiado"
+
+msgid "IDS_VPL_POP_NO_FILES_SELECTED"
+msgstr "No se ha seleccionado ningún archivo"
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Cerrar"
+
+msgid "IDS_MF_OPT_SORT_BY_ABB"
+msgstr "Ordenar por"
+
+msgid "IDS_CAM_POP_LATEST"
+msgstr "Más recientes"
+
+msgid "IDS_MEDIABR_POP_OLDEST_M_DATE"
+msgstr "Más antiguo"
+
+msgid "IDS_MSG_BUTTON2_CREATE"
+msgstr "Crear"
+
+msgid "IDS_MEDIABR_POP_NO_ITEMS"
+msgstr "Ningún elemento"
+
+msgid "IDS_MEDIABR_OPT_EDIT_IMAGE"
+msgstr "Editar imagen"
+
+msgid "IDS_MEDIABR_BODY_SELECT_PICTURE"
+msgstr "Seleccionar imagen"
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ITEM_Q"
+msgstr "¿Eliminar este elemento?"
+
+msgid "IDS_GALLERY_OPT_SCENERY"
+msgstr "Paisaje"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PRIVATE"
+msgstr "Eliminar de Privado"
+
+msgid "IDS_GALLERY_OPT_PETS"
+msgstr "Mascotas"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_PRIVATE"
+msgstr "Mover a Privado"
+
+msgid "IDS_GALLERY_OPT_FOOD"
+msgstr "Comida"
+
+msgid "IDS_GALLERY_OPT_FLOWERS"
+msgstr "Flores"
+
+msgid "IDS_GALLERY_OPT_DOCUMENTS"
+msgstr "Documentos"
+
+msgid "IDS_GALLERY_MBODY_VEHICLES"
+msgstr "Vehículos"
+
+msgid "IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED"
+msgstr "Número máximo de caracteres (%d) alcanzado"
+
+msgid "IDS_IV_BODY_UNABLE_TO_LOAD_PHOTO_ABB"
+msgstr "No se puede cargar la foto"
+
+msgid "IDS_IV_BODY_SHARE_VIA"
+msgstr "Compartir"
+
+msgid "IDS_IV_BODY_DONT_ASK_AGAIN"
+msgstr "No preguntar de nuevo"
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Alcanzado el número máximo de caracteres"
+
+msgid "IDS_GALLERY_HEADER_TIME"
+msgstr "Hora"
+
+msgid "IDS_EMAIL_BODY_FAILED_M_STATUS"
+msgstr "Error"
+
+msgid "IDS_EMAIL_BODY_DELETED"
+msgstr "Eliminado"
+
+msgid "IDS_EMAIL_POP_DELETE_Q"
+msgstr "¿Eliminar?"
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Eliminando..."
+
+msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS"
+msgstr "Mostrando %d elementos"
+
+msgid "IDS_GALLERY_OPT_CREATE_ALBUM"
+msgstr "Crear un álbum"
+
+msgid "IDS_GALLERY_OPT_GALLERY_ABB"
+msgstr "Galería"
+
+msgid "IDS_EMAIL_BUTTON_MORE"
+msgstr "Más"
+
+msgid "IDS_EMAIL_OPT_ACCOUNTS"
+msgstr "Cuentas"
+
+msgid "IDS_EMAIL_POP_OPERATION_FAILED"
+msgstr "Error de funcionamiento"
+
+msgid "IDS_GALLERY_BODY_DOWNLOAD"
+msgstr "Descargar"
+
+msgid "IDS_GALLERY_BODY_SEARCH"
+msgstr "Buscar"
+
+msgid "IDS_GALLERY_BUTTON_BACK"
+msgstr "Atrás"
+
+msgid "IDS_GALLERY_BUTTON_CAMERA"
+msgstr "Cámara"
+
+msgid "IDS_GALLERY_HEADER_ALL"
+msgstr "Todo"
+
+msgid "IDS_GALLERY_OPT_REFRESH"
+msgstr "Actualizar"
+
+msgid "IDS_GALLERY_OPT_REMOVE"
+msgstr "Eliminar"
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_DROPBOX_ITEMS_WILL_BE_SHOWN"
+msgstr "Después de cargar fotos a Dropbox, se mostrarán elementos"
+
+msgid "IDS_KEEPIT_BODY_GROUP_PLAY_ABB"
+msgstr "Group Play"
+
+msgid "IDS_MEDIABR_HEADER_CONTACTS"
+msgstr "Contactos"
+
+msgid "IDS_MEDIABR_OPT_CREATE"
+msgstr "Crear"
+
+msgid "IDS_MEDIABR_OPT_DETAILS"
+msgstr "Detalles"
+
+msgid "IDS_MEDIABR_OPT_PRINT"
+msgstr "Imprimir"
+
+msgid "IDS_MEDIABR_OPT_RENAME"
+msgstr "Renombrar"
+
+msgid "IDS_MEDIABR_POP_DOWNLOADED"
+msgstr "Descargado"
+
+msgid "IDS_MEDIABR_POP_DOWNLOADING_ING"
+msgstr "Descargando..."
+
+msgid "IDS_MF_HEADER_ENTER_NAME"
+msgstr "Introducir nombre"
+
+msgid "IDS_MF_HEADER_MYFILES"
+msgstr "Mis Archivos"
+
+msgid "IDS_MF_POP_ADDED"
+msgstr "Añadido"
+
+msgid "IDS_MF_POP_PROCESSING_ING"
+msgstr "Procesando..."
+
+msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
+msgstr "Tipo de archivo no admitido"
+
+msgid "IDS_IMGE_BODY_AFTER_YOU_TAKE_PICTURES_PICTURES_WILL_BE_SHOWN"
+msgstr "Las fotos se mostrarán después de tomarlas"
+
+msgid "IDS_IME_BODY_LANDSCAPE_MODE"
+msgstr "Modo horizontal"
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_CLOSE_DRAWER_MENU_TTS"
+msgstr "Pulse dos veces para cerrar el menú desplegable."
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_OPEN_DRAWER_MENU_TTS"
+msgstr "Pulse dos veces para abrir el menú desplegable."
+
+msgid "IDS_EMAIL_BODY_DRAG_AND_DROP"
+msgstr "Arrastrar y soltar"
+
+msgid "IDS_EMAIL_OPT_DRAWER_ABB"
+msgstr "Cajón"
+
+msgid "IDS_EMAIL_POP_MOBILE_DATA_IS_DISABLED_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_ENABLE_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Los datos móviles están desactivados. Conéctese a una red Wi-Fi en su lugar o active los datos móviles y vuelva a intentarlo."
+
+msgid "IDS_EMAIL_POP_WI_FI_CONNECTION_REQUIRED_CONNECT_TO_WI_FI_NETWORK_AND_TRY_AGAIN"
+msgstr "Conexión Wi-Fi requerida. Conecte a una red Wi-Fi y vuelva a intentarlo."
+
+msgid "IDS_GALLERY_HEADER_ADD_PICTURES_FROM_ABB"
+msgstr "Añadir imágenes desde"
+
+msgid "IDS_GALLERY_HEADER_CONNECTED_DEVICES_ABB"
+msgstr "Dispositivos conectados"
+
+msgid "IDS_GALLERY_OPT_PRIVATE_CONTENT"
+msgstr "Contenido privado"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PS"
+msgstr "Eliminar de %s"
+
+msgid "IDS_GALLERY_OPT_REMOVE_NAME_TAG"
+msgstr "Quitar etiqueta de nombre"
+
+msgid "IDS_GALLERY_POP_THERE_ARE_NO_EVENTS_TO_DISPLAY_CREATE_A_NEW_EVENT"
+msgstr "No hay eventos para mostrar. Cree un nuevo evento."
+
+msgid "IDS_GALLERY_POP_TO_SCROLL_QUICKLY_TO_OTHER_DATES_TAP_AND_HOLD_THE_DATE_INDICATOR_AT_THE_TOP_RIGHT_OF_THE_SCREEN"
+msgstr "Para desplazarse rápidamente a otras fechas, mantenga pulsado el indicador de fecha en la parte superior derecha de la pantalla."
+
+msgid "IDS_GP_POP_REMOVE_PD_ITEMS_Q"
+msgstr "¿Eliminar %d elementos?"
+
+msgid "IDS_GP_POP_REMOVE_THIS_ITEM_Q"
+msgstr "¿Eliminar este elemento?"
+
+msgid "IDS_HELP_BODY_GALLERY"
+msgstr "Galería"
+
+msgid "IDS_HELP_OPT_SHUFFLED_PICTURES"
+msgstr "Fotos mezcladas"
+
+msgid "IDS_IV_BODY_ADD_PICTURES"
+msgstr "Añadir imágenes"
+
+msgid "IDS_IV_BODY_AFTER_YOU_TAG_PICTURES_AS_YOUR_FAVOURITES_PICTURES_WILL_BE_SHOWN"
+msgstr "Después de etiquetar fotos como favoritas, se mostrarán sus fotos"
+
+msgid "IDS_IV_BODY_REMOVE_FACE_IDENTIFICATION_Q"
+msgstr "¿Eliminar identificación de caras?"
+
+msgid "IDS_IV_OPT_ASSIGN_NAME"
+msgstr "Asignar nombre"
+
+msgid "IDS_IV_OPT_CONFIRM_AS_PS"
+msgstr "Confirmar como %s"
+
+msgid "IDS_IV_OPT_LAYOUT_M_PICTUERS"
+msgstr "Diseño"
+
+msgid "IDS_IV_OPT_PD_PICTURES_ADDED"
+msgstr "%d imágenes añadidas"
+
+msgid "IDS_IV_POP_THE_ALBUM_WILL_BE_CANCELLED"
+msgstr "Se cancelará el álbum"
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEM_ABB"
+msgstr "Eliminar elemento"
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEMS"
+msgstr "Eliminar artículos"
+
+msgid "IDS_MEDIABR_BODY_1_ITEM"
+msgstr "1 elemento"
+
+msgid "IDS_MEDIABR_BODY_10_SECONDS"
+msgstr "10 segundos"
+
+msgid "IDS_MEDIABR_BODY_5_SECONDS"
+msgstr "5 segundos"
+
+msgid "IDS_MEDIABR_BODY_NOT_ASSIGNED"
+msgstr "No asignado"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL"
+msgstr "Intervalo de presentación de diapositivas"
+
+msgid "IDS_MEDIABR_BODY_UNTAGGED"
+msgstr "Sin etiquetar"
+
+msgid "IDS_MEDIABR_OPT_3_SECONDS"
+msgstr "3 segundos"
+
+msgid "IDS_MEDIABR_OPT_ALL_CONTENT"
+msgstr "Todo el contenido"
+
+msgid "IDS_MEDIABR_OPT_CONTENT_TO_DISPLAY"
+msgstr "Contenido para mostrar"
+
+msgid "IDS_MEDIABR_OPT_DELETE_TAG"
+msgstr "Eliminar etiqueta"
+
+msgid "IDS_MEDIABR_OPT_DEVICE_CONTENT"
+msgstr "Contenido del dispositivo"
+
+msgid "IDS_MEDIABR_OPT_DROPBOX_CONTENT"
+msgstr "Contenido de Dropbox"
+
+msgid "IDS_MEDIABR_OPT_FACEBOOK_CONTENT"
+msgstr "Contenido de Facebook"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_LEFT"
+msgstr "Girar a la izquierda"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_RIGHT"
+msgstr "Girar a la derecha"
+
+msgid "IDS_MEDIABR_POP_IMPORT"
+msgstr "Importar"
+
+msgid "IDS_MEDIABR_POP_IMPORTED"
+msgstr "Importadas"
+
+msgid "IDS_MEDIABR_POP_IMPORTING_ING"
+msgstr "Importando..."
+
+msgid "IDS_MEDIABR_POP_LOADING_ING"
+msgstr "Cargando..."
+
+msgid "IDS_MEDIABR_POP_NEARBY_DEVICES_FOUND"
+msgstr "Dispositivos cercanos encontrados"
+
+msgid "IDS_MEDIABR_POP_NO_DEVICES_FOUND_SCANNING_FOR_NEARBY_DEVICES_WILL_CONTINUE_IN_BACKGROUND"
+msgstr "No se han encontrado dispositivos. La búsqueda de dispositivos cercanos continuará en segundo plano."
+
+msgid "IDS_MEDIABR_POP_REFRESHED"
+msgstr "Actualizado"
+
+msgid "IDS_MEDIABR_POP_ROTATING_ING"
+msgstr "Rotando..."
+
+msgid "IDS_MEDIABR_POP_SCAN_STARTED_DEVICE_LIST_WILL_BE_UPDATED_AUTOMATICALLY"
+msgstr "Búsqueda iniciada. La lista de dispositivos se actualizará automáticamente."
+
+msgid "IDS_MEDIABR_POP_STARTING_DOWNLOAD_ABB"
+msgstr "Iniciando descarga..."
+
+msgid "IDS_MF_OPT_COPY_TO"
+msgstr "Copiar a"
+
+msgid "IDS_MF_OPT_MOVE_TO"
+msgstr "Mover a"
+
+msgid "IDS_MF_POP_FAILED_TO_ADD_SHORTCUT"
+msgstr "Error al añadir acceso directo"
+
+msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
+msgstr "No hay memoria suficiente. Elimine algunos elementos."
+
+msgid "IDS_MF_POP_REMOVED"
+msgstr "Eliminado"
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Añadiendo..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "¿Eliminar %d álbumes?"
+
+msgid "IDS_ST_BODY_PRIVATE_STORAGE"
+msgstr "Almacenamiento privado"
+
+msgid "IDS_IV_BODY_DRAG_HERE"
+msgstr "Mover aquí"
+
+msgid "IDS_GALLERY_BODY_NEW_M_ALBUM_ABB"
+msgstr "Nuevo"
+
+msgid "IDS_GALLERY_HEADER_UNGROUPEDM_PEOPLE_ABB"
+msgstr "Sin agrupar"
+
+msgid "IDS_KEEPIT_OPT_SCREENSHOTS_ABB"
+msgstr "Capturas de pantalla"
+
+msgid "IDS_MEDIABR_OPT_PHOTOS"
+msgstr "Fotos"
+
+msgid "IDS_MEDIABR_POP_DOWNLOAD_FAILED"
+msgstr "Descarga no disponible"
+
+msgid "IDS_MEDIABR_POP_UNSUPPORTED_FILE"
+msgstr "Archivo no admitido"
+
+msgid "IDS_SEARCH_BODY_1_RESULT"
+msgstr "1 resultado"
+
+msgid "IDS_SEARCH_BODY_PD_RESULTS"
+msgstr "%d resultados"
+
+msgid "IDS_TW_BODY_FAVORITES"
+msgstr "Favoritos"
+
+msgid "IDS_EMAIL_POP_DOWNLOAD_CANCELLED"
+msgstr "Descarga cancelada"
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ALBUM_Q"
+msgstr "¿Eliminar este álbum?"
+
+msgid "IDS_CAM_HEADER_WARNING_ABB"
+msgstr "Advertencia"
+
+msgid "IDS_ALM_OPT_SORT_BY"
+msgstr "Ordenar por"
+
+msgid "IDS_CLD_OPT_TODAY"
+msgstr "Hoy"
+
+msgid "IDS_GALLERY_BODY_DATE"
+msgstr "Fecha"
+
+msgid "IDS_EMAIL_BODY_NO_ITEMS_TO_DISPLAY"
+msgstr "No hay elementos para mostrar"
+
+msgid "IDS_PBR_BODY_TAP_HERE_TO_TAKE_PICTURES_OR_VIDEOS"
+msgstr "Pulse aquí para hacer fotos o vídeos"
+
+msgid "IDS_NFC_TPOP_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SHARED_HPD_EXCEEDED"
+msgstr "Se ha superado el número máximo de elementos que pueden compartirse (%d)."
+
+msgid "IDS_IV_BODY_TAP_TO_ADD_IMAGES"
+msgstr "Pulse para añadir imágenes"
+
+msgid "IDS_GALLERY_POP_COPY_OR_MOVE_THE_SELECTED_ITEMS_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "¿Copiar o mover los elementos seleccionados del álbum original?"
+
+msgid "IDS_GALLERY_HEADER_SELECT"
+msgstr "Seleccionar"
+
+msgid "IDS_VIDEO_POP_FILE_ALREADY_EXISTS"
+msgstr "El archivo ya existe"
+
+msgid "IDS_VIDEO_POP_THIS_ITEM_WILL_BE_DELETED"
+msgstr "Se eliminará este elemento"
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_FACEBOOK_ITEMS_WILL_BE_SHOWN"
+msgstr "Después de cargar fotos a Facebook, se mostrarán elementos"
+
+msgid "IDS_GALLERY_HEADER_SELECT_ALL_ABB"
+msgstr "Seleccionar todo"
+
+msgid "IDS_GALLERY_HEADER_PD_SELECTED_ABB"
+msgstr "%d seleccionado"
+
+msgid "IDS_GALLERY_OPT_VIEW_AS"
+msgstr "Ver como"
+
+msgid "IDS_GALLERY_OPT_DATE_HMOST_RECENT_ABB2"
+msgstr "Fecha (más reciente)"
+
+msgid "IDS_GALLERY_OPT_DATE_HOLDEST_ABB3"
+msgstr "Fecha (más antigua)"
+
+msgid "IDS_GALLERY_BODY_AFTER_YOU_TAKE_PICTURES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Después de hacer fotos, se mostrarán aquí."
+
+msgid "IDS_CLOUD_TPOP_CANCELLING_ING"
+msgstr "Cancelando..."
+
+msgid "IDS_GALLERY_OPT_FROM_DEVICE_ABB"
+msgstr "Desde el dispositivo"
+
+msgid "IDS_GALLERY_OPT_FROM_DROPBOX_ABB"
+msgstr "Desde Dropbox"
+
+msgid "IDS_GALLERY_OPT_FROM_FACEBOOK_ABB"
+msgstr "Desde Facebook"
+
+msgid "IDS_MUSIC_BODY_DOWNLOAD_COMPLETED"
+msgstr "Descarga finalizada"
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DELETED"
+msgstr "Se eliminarán todos los elementos"
+
+msgid "IDS_GALLERY_POP_1_ITEM_WILL_BE_DOWNLOADED"
+msgstr "Se descargará 1 elemento."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "Se descargarán %d elementos."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "Se descargarán todos los elementos."
+
+msgid "IDS_GALLERY_TPOP_SELECTED_ALBUM_SAME_AS_SOURCE_ALBUM_SELECT_ANOTHER_ALBUM"
+msgstr "El álbum seleccionado es el mismo que el álbum de origen. Seleccione otro álbum."
+
+msgid "IDS_HS_NPBODY_TAP_HERE_TO_ADD_IMAGES"
+msgstr "Pulse aquí para añadir imágenes"
+
+msgid "IDS_MF_HEADER_UNABLE_TO_SAVE_DATA_ABB"
+msgstr "Imposible guardar datos"
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_IN_YOUR_DEVICE_STORAGE_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "No queda espacio suficiente en el almacenamiento del dispositivo. Vaya a Ajustes > Alimentación y almacenamiento > Almacenamiento y, a continuación, elimine algunos archivos e inténtelo de nuevo."
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_YOUR_SD_CARD_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "No queda espacio suficiente en la tarjeta SD. Vaya a Ajustes > Alimentación y almacenamiento > Almacenamiento y, a continuación, elimine algunos archivos e inténtelo de nuevo."
+
+msgid "IDS_MF_BUTTON_CANCEL_ABB3"
+msgstr "Cancelar"
+
+msgid "IDS_MF_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "No volver a mostrar"
+
+msgid "IDS_MF_POP_USING_MOBILE_DATA_WHILE_ROAMING_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "Usar datos móviles mientras se encuentra en itinerancia puede suponer costes adicionales dependiendo de su plan de pago."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DELETED_ABB"
+msgstr "Se eliminarán %d elementos."
+
+msgid "IDS_GALLERY_OPT_DELETE"
+msgstr "Eliminar"
+
+msgid "IDS_GALLERY_BODY_YESTERDAY"
+msgstr "Ayer"
+
+msgid "IDS_BR_MBODY_DOWNLOADS"
+msgstr "Descargas"
+
+msgid "IDS_GALLERY_HEADER_COPY"
+msgstr "Copiar"
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Eliminar"
+
+msgid "IDS_GALLERY_BUTTON_ALBUMS"
+msgstr "Álbumes"
+
+msgid "IDS_GALLERY_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Se ha alcanzado el número máximo de elementos (%d)."
+
+msgid "IDS_GALLERY_BUTTON_CANCEL"
+msgstr "Cancelar"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "HECHO"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "CANCELAR"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "ELIMINAR"
+
+msgid "IDS_GALLERY_POP_COPYING_ING"
+msgstr "Copiando..."
+
+msgid "IDS_GALLERY_POP_MOVING_ING"
+msgstr "Moviendo..."
+
+msgid "IDS_STORYALBUM_POP_IF_YOU_CREATE_CONTENT_THAT_INCLUDES_ITEMS_FROM_PERSONAL_STORAGE_IT_MAY_NOT_BE_HIDDEN_AUTOMATICALLY_MSG"
+msgstr "Si crea contenido que incluya elementos del almacenamiento personal, es posible que no se oculte automáticamente. El contenido personal seleccionado se podría ver cuando se vea el contenido nuevo."
+
+msgid "IDS_HS_ACBUTTON_EDIT"
+msgstr "EDITAR"
+
+msgid "IDS_MF_BUTTON_SETTINGS"
+msgstr "Ajustes"
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "EDITAR"
+
+msgid "IDS_CLOCK_HEADER_REORDER_ABB"
+msgstr "Reordenar"
+
diff --git a/res/po/es_US.po b/res/po/es_US.po
new file mode 100644 (file)
index 0000000..b9fb36d
--- /dev/null
@@ -0,0 +1,759 @@
+msgid "IDS_MF_POP_YOUR_DEVICE_IS_NOT_CONNECTED_TO_A_WI_FI_NETWORK_CONNECTING_TO_A_MOBILE_NETWORK_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "Su dispositivo no está conectado a una red Wi-Fi. La conexión mediante una red móvil puede generar costos adicionales según su plan de pago."
+
+msgid "IDS_VIDEO_TPOP_MOBILE_DATA_TURNED_OFF_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_TURN_ON_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Los datos móviles están desactivados. Conéctese a una red Wi-Fi o active Datos móviles e inténtelo de nuevo."
+
+msgid "IDS_VIDEO_BODY_AFTER_YOU_RECORD_VIDEOS_USING_THE_CAMERA_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Después de  grabar videos con la cámara, los videos se mostrarán aquí."
+
+msgid "IDS_VIDEO_TPOP_FILE_NAME_ALREADY_IN_USE"
+msgstr "Nombre de archivo ya existe."
+
+msgid "IDS_MF_POP_DELETE_PD_ITEMS_Q"
+msgstr "¿Eliminar %d elementos?"
+
+msgid "IDS_ST_HEADER_PRIVACY"
+msgstr "Privacidad"
+
+msgid "IDS_COM_BODY_SEP_ABB"
+msgstr "Sep."
+
+msgid "IDS_COM_BODY_OCT_ABB"
+msgstr "Oct."
+
+msgid "IDS_COM_BODY_NOV_ABB"
+msgstr "Nov."
+
+msgid "IDS_COM_BODY_MAY_ABB"
+msgstr "May."
+
+msgid "IDS_COM_BODY_MAR_ABB"
+msgstr "Mar."
+
+msgid "IDS_COM_BODY_JUN_ABB"
+msgstr "Jun."
+
+msgid "IDS_COM_BODY_JUL_ABB"
+msgstr "Jul."
+
+msgid "IDS_COM_BODY_JAN_ABB"
+msgstr "Ene."
+
+msgid "IDS_COM_BODY_FEB_ABB"
+msgstr "Feb."
+
+msgid "IDS_COM_BODY_DEC_ABB"
+msgstr "Dic."
+
+msgid "IDS_COM_BODY_AUG_ABB"
+msgstr "Ago."
+
+msgid "IDS_COM_BODY_APR_ABB"
+msgstr "Abr."
+
+msgid "IDS_GALLERY_HEADER_ALBUM"
+msgstr "Álbum"
+
+msgid "IDS_MEDIABR_OPT_MORE"
+msgstr "Más"
+
+msgid "IDS_MEDIABR_POP_INVALID_INPUT_PARAMETER"
+msgstr "Parámetro de entrada no válido."
+
+msgid "IDS_MEDIABR_POP_ENTRY_IS_EMPTY"
+msgstr "Entrada vacía."
+
+msgid "IDS_MEDIABR_POP_SAME_NAME_ALREADY_IN_USE"
+msgstr "Ya existe ese nombre."
+
+msgid "IDS_MEDIABR_POP_UNABLE_TO_RENAME"
+msgstr "No es posible renombrar."
+
+msgid "IDS_MEDIABR_POP_NO_ALBUMS_SELECTED"
+msgstr "No hay álbumes seleccionados."
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ITEM"
+msgstr "Seleccionar elemento"
+
+msgid "IDS_MEDIABR_BODY_NO_ALBUMS"
+msgstr "No hay álbumes"
+
+msgid "IDS_MEDIABR_POP_CREATE_FOLDER_Q"
+msgstr "¿Crear carpeta?"
+
+msgid "IDS_MEDIABR_POP_RETRY_Q"
+msgstr "¿Volver a intentar?"
+
+msgid "IDS_MEDIABR_POPUP_REMOVE_Q"
+msgstr "¿Eliminar?"
+
+msgid "IDS_MEDIABR_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "Se eliminarán %d álbumes."
+
+msgid "IDS_MEDIABR_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "Se eliminará 1 álbum."
+
+msgid "IDS_MEDIABR_BODY_CAMERA"
+msgstr "Cámara"
+
+msgid "IDS_MEDIABR_BUTTON_START"
+msgstr "Iniciar"
+
+msgid "IDS_MEDIABR_OPT_SETTINGS"
+msgstr "Ajustes"
+
+msgid "IDS_MEDIABR_OPT_YES"
+msgstr "Sí"
+
+msgid "IDS_MEDIABR_OPT_NO"
+msgstr "No"
+
+msgid "IDS_MEDIABR_BUTTON_OK"
+msgstr "Aceptar"
+
+msgid "IDS_MEDIABR_BUTTON_SAVE"
+msgstr "Guardar"
+
+msgid "IDS_MEDIABR_POP_DELETE_Q"
+msgstr "¿Eliminar?"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_ALBUM"
+msgstr "Mover a álbum"
+
+msgid "IDS_GALLERY_OPT_COPY_TO_ALBUM"
+msgstr "Copiar a álbum"
+
+msgid "IDS_GALLERY_HEADER_VIEW_BY_ABB"
+msgstr "Ver por"
+
+msgid "IDS_GALLERY_HEADER_ENTER_NAME"
+msgstr "Introducir nombre"
+
+msgid "IDS_MEDIABR_POP_ALL_DATA_RELATED_TO_THIS_ACCOUNT_WILL_BE_DELETED_CONTINUE_Q"
+msgstr "Se eliminarán todos los datos relacionados con esta cuenta. ¿Continuar?"
+
+msgid "IDS_MEDIABR_BUTTON_CANCEL_ABB"
+msgstr "Cancelar"
+
+msgid "IDS_MEDIABR_TAB4_NEW_ALBUM"
+msgstr "Nuevo álbum"
+
+msgid "IDS_MEDIABR_POP_DO_YOU_WANT_TO_COPY_OR_MOVE_THE_PICTURES_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "¿Desea copiar o mover las fotos del álbum original?"
+
+msgid "IDS_MEDIABR_OPT_SHARE"
+msgstr "Compartir"
+
+msgid "IDS_MEDIABR_OPT_SLIDESHOW"
+msgstr "Presentación de diapositivas"
+
+msgid "IDS_MEDIABR_OPT_START_SLIDESHOW"
+msgstr "Iniciar presentación de diapositivas"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS"
+msgstr "Ajustes de presentación"
+
+msgid "IDS_MEDIABR_POP_NO_NAME"
+msgstr "Sin nombre"
+
+msgid "IDS_MEDIABR_BODY_ALL_ALBUMS"
+msgstr "Todos los álbumes"
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ALBUM"
+msgstr "Seleccionar álbum"
+
+msgid "IDS_MEDIABR_POP_1_ITEM_WILL_BE_DELETED"
+msgstr "Se eliminará este elemento."
+
+msgid "IDS_MEDIABR_OPT_ALL_ITEMS"
+msgstr "Todos los elementos"
+
+msgid "IDS_MEDIABR_BODY_PD_ITEMS"
+msgstr "%d elementos"
+
+msgid "IDS_IV_BODY_THERE_IS_ONLY_ONE_ALBUM"
+msgstr "Sólo hay un álbum."
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "Puede seleccionar hasta %d elementos."
+
+msgid "IDS_MF_BODY_DOWNLOADS"
+msgstr "Descargas"
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "¿Eliminar?"
+
+msgid "IDS_MF_SK_MOVE"
+msgstr "Mover"
+
+msgid "IDS_MF_POP_DELETING_ING"
+msgstr "Eliminando..."
+
+msgid "IDS_CAM_BODY_OPERATION_FAILED"
+msgstr "Error de funcionamiento."
+
+msgid "IDS_MSG_BODY_CANCELLED_M_CONTENT"
+msgstr "Cancelado"
+
+msgid "IDS_MF_OPT_DELETE_SELECTED"
+msgstr "Seleccionado"
+
+msgid "IDS_MF_POP_MOVED"
+msgstr "Movido."
+
+msgid "IDS_MF_POP_COPIED"
+msgstr "Copiado."
+
+msgid "IDS_VPL_POP_NO_FILES_SELECTED"
+msgstr "No se ha seleccionado nada."
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Cerrar"
+
+msgid "IDS_MF_OPT_SORT_BY_ABB"
+msgstr "Ordenar por"
+
+msgid "IDS_CAM_POP_LATEST"
+msgstr "Más recientes"
+
+msgid "IDS_MEDIABR_POP_OLDEST_M_DATE"
+msgstr "Más antiguo"
+
+msgid "IDS_MSG_BUTTON2_CREATE"
+msgstr "Crear"
+
+msgid "IDS_MEDIABR_POP_NO_ITEMS"
+msgstr "Ningún elemento"
+
+msgid "IDS_MEDIABR_OPT_EDIT_IMAGE"
+msgstr "Editar imagen"
+
+msgid "IDS_MEDIABR_BODY_SELECT_PICTURE"
+msgstr "Seleccionar imagen"
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ITEM_Q"
+msgstr "¿Desea eliminar este elemento?"
+
+msgid "IDS_GALLERY_OPT_SCENERY"
+msgstr "Escenario"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PRIVATE"
+msgstr "Eliminar de Privado"
+
+msgid "IDS_GALLERY_OPT_PETS"
+msgstr "Mascotas"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_PRIVATE"
+msgstr "Mover a Privado"
+
+msgid "IDS_GALLERY_OPT_FOOD"
+msgstr "Comida"
+
+msgid "IDS_GALLERY_OPT_FLOWERS"
+msgstr "Flores"
+
+msgid "IDS_GALLERY_OPT_DOCUMENTS"
+msgstr "Documentos"
+
+msgid "IDS_GALLERY_MBODY_VEHICLES"
+msgstr "Vehículos"
+
+msgid "IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED"
+msgstr "Número máximo de caracteres (%d) alcanzado."
+
+msgid "IDS_IV_BODY_UNABLE_TO_LOAD_PHOTO_ABB"
+msgstr "No es posible cargar la imagen."
+
+msgid "IDS_IV_BODY_SHARE_VIA"
+msgstr "Compartir vía"
+
+msgid "IDS_IV_BODY_DONT_ASK_AGAIN"
+msgstr "No preguntar de nuevo"
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Se ha alcanzado el número máximo de caracteres."
+
+msgid "IDS_GALLERY_HEADER_TIME"
+msgstr "Fecha"
+
+msgid "IDS_EMAIL_BODY_FAILED_M_STATUS"
+msgstr "Error"
+
+msgid "IDS_EMAIL_BODY_DELETED"
+msgstr "Eliminado."
+
+msgid "IDS_EMAIL_POP_DELETE_Q"
+msgstr "¿Eliminar?"
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Eliminando..."
+
+msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS"
+msgstr "Mostrando %d elementos"
+
+msgid "IDS_GALLERY_OPT_CREATE_ALBUM"
+msgstr "Crear álbum"
+
+msgid "IDS_GALLERY_OPT_GALLERY_ABB"
+msgstr "Galería"
+
+msgid "IDS_EMAIL_BUTTON_MORE"
+msgstr "Más"
+
+msgid "IDS_EMAIL_OPT_ACCOUNTS"
+msgstr "Cuentas"
+
+msgid "IDS_EMAIL_POP_OPERATION_FAILED"
+msgstr "Error de funcionamiento."
+
+msgid "IDS_GALLERY_BODY_DOWNLOAD"
+msgstr "Descargar"
+
+msgid "IDS_GALLERY_BODY_SEARCH"
+msgstr "Buscar"
+
+msgid "IDS_GALLERY_BUTTON_BACK"
+msgstr "Atrás"
+
+msgid "IDS_GALLERY_BUTTON_CAMERA"
+msgstr "Cámara"
+
+msgid "IDS_GALLERY_HEADER_ALL"
+msgstr "Todo"
+
+msgid "IDS_GALLERY_OPT_REFRESH"
+msgstr "Actualizar"
+
+msgid "IDS_GALLERY_OPT_REMOVE"
+msgstr "Eliminar"
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_DROPBOX_ITEMS_WILL_BE_SHOWN"
+msgstr "Después de cargar imágenes en Dropbox, se mostrarán los elementos."
+
+msgid "IDS_KEEPIT_BODY_GROUP_PLAY_ABB"
+msgstr "Group Play"
+
+msgid "IDS_MEDIABR_HEADER_CONTACTS"
+msgstr "Contactos"
+
+msgid "IDS_MEDIABR_OPT_CREATE"
+msgstr "Crear"
+
+msgid "IDS_MEDIABR_OPT_DETAILS"
+msgstr "Detalles"
+
+msgid "IDS_MEDIABR_OPT_PRINT"
+msgstr "Imprimir"
+
+msgid "IDS_MEDIABR_OPT_RENAME"
+msgstr "Renombrar"
+
+msgid "IDS_MEDIABR_POP_DOWNLOADED"
+msgstr "Descargado."
+
+msgid "IDS_MEDIABR_POP_DOWNLOADING_ING"
+msgstr "Descargando..."
+
+msgid "IDS_MF_HEADER_ENTER_NAME"
+msgstr "Introducir nombre."
+
+msgid "IDS_MF_HEADER_MYFILES"
+msgstr "Mis archivos"
+
+msgid "IDS_MF_POP_ADDED"
+msgstr "Añadido."
+
+msgid "IDS_MF_POP_PROCESSING_ING"
+msgstr "Procesando..."
+
+msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
+msgstr "Tipo de archivo no admitido."
+
+msgid "IDS_IMGE_BODY_AFTER_YOU_TAKE_PICTURES_PICTURES_WILL_BE_SHOWN"
+msgstr "Después de capturar imágenes, éstas se mostrarán."
+
+msgid "IDS_IME_BODY_LANDSCAPE_MODE"
+msgstr "Modo horizontal"
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_CLOSE_DRAWER_MENU_TTS"
+msgstr "Pulse dos veces para cerrar el menú de bandeja."
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_OPEN_DRAWER_MENU_TTS"
+msgstr "Pulse dos veces para abrir el menú de bandeja."
+
+msgid "IDS_EMAIL_BODY_DRAG_AND_DROP"
+msgstr "Arrastrar y soltar"
+
+msgid "IDS_EMAIL_OPT_DRAWER_ABB"
+msgstr "Cajón"
+
+msgid "IDS_EMAIL_POP_MOBILE_DATA_IS_DISABLED_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_ENABLE_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Datos móviles desactivados. Conéctese a una red Wi-Fi o active los datos móviles e inténtelo de nuevo"
+
+msgid "IDS_EMAIL_POP_WI_FI_CONNECTION_REQUIRED_CONNECT_TO_WI_FI_NETWORK_AND_TRY_AGAIN"
+msgstr "Se requiere una conexión Wi-Fi. Conéctese a una red Wi-Fi e inténtelo de nuevo"
+
+msgid "IDS_GALLERY_HEADER_ADD_PICTURES_FROM_ABB"
+msgstr "Añadir imágenes desde"
+
+msgid "IDS_GALLERY_HEADER_CONNECTED_DEVICES_ABB"
+msgstr "Dispositivos conectados"
+
+msgid "IDS_GALLERY_OPT_PRIVATE_CONTENT"
+msgstr "Contenido privado"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PS"
+msgstr "Eliminar de %s"
+
+msgid "IDS_GALLERY_OPT_REMOVE_NAME_TAG"
+msgstr "Eliminar etiqueta de nombre"
+
+msgid "IDS_GALLERY_POP_THERE_ARE_NO_EVENTS_TO_DISPLAY_CREATE_A_NEW_EVENT"
+msgstr "No hay eventos para mostrar. Cree un nuevo evento."
+
+msgid "IDS_GALLERY_POP_TO_SCROLL_QUICKLY_TO_OTHER_DATES_TAP_AND_HOLD_THE_DATE_INDICATOR_AT_THE_TOP_RIGHT_OF_THE_SCREEN"
+msgstr "Para desplazarse rápidamente a otras fechas, mantenga pulsado el indicador de fecha en la parte superior derecha de la pantalla."
+
+msgid "IDS_GP_POP_REMOVE_PD_ITEMS_Q"
+msgstr "¿Eliminar %d elementos?"
+
+msgid "IDS_GP_POP_REMOVE_THIS_ITEM_Q"
+msgstr "¿Desea eliminar este elemento?"
+
+msgid "IDS_HELP_BODY_GALLERY"
+msgstr "Galería"
+
+msgid "IDS_HELP_OPT_SHUFFLED_PICTURES"
+msgstr "Imágenes aleatorias"
+
+msgid "IDS_IV_BODY_ADD_PICTURES"
+msgstr "Añadir imágenes"
+
+msgid "IDS_IV_BODY_AFTER_YOU_TAG_PICTURES_AS_YOUR_FAVOURITES_PICTURES_WILL_BE_SHOWN"
+msgstr "Se mostrarán las imágenes después de etiquetarlas como favoritas."
+
+msgid "IDS_IV_BODY_REMOVE_FACE_IDENTIFICATION_Q"
+msgstr "¿Eliminar la identificación de rostros?"
+
+msgid "IDS_IV_OPT_ASSIGN_NAME"
+msgstr "Asignar nombre"
+
+msgid "IDS_IV_OPT_CONFIRM_AS_PS"
+msgstr "Confirmar como %s"
+
+msgid "IDS_IV_OPT_LAYOUT_M_PICTUERS"
+msgstr "Diseño"
+
+msgid "IDS_IV_OPT_PD_PICTURES_ADDED"
+msgstr "%d imágenes añadidas"
+
+msgid "IDS_IV_POP_THE_ALBUM_WILL_BE_CANCELLED"
+msgstr "Se descartará el álbum."
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEM_ABB"
+msgstr "Eliminar elemento"
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEMS"
+msgstr "Eliminar elementos"
+
+msgid "IDS_MEDIABR_BODY_1_ITEM"
+msgstr "1 elemento"
+
+msgid "IDS_MEDIABR_BODY_10_SECONDS"
+msgstr "10 segundos"
+
+msgid "IDS_MEDIABR_BODY_5_SECONDS"
+msgstr "5 segundos"
+
+msgid "IDS_MEDIABR_BODY_NOT_ASSIGNED"
+msgstr "No asignado"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL"
+msgstr "Intervalo de presentación de diapositivas"
+
+msgid "IDS_MEDIABR_BODY_UNTAGGED"
+msgstr "Sin etiquetar"
+
+msgid "IDS_MEDIABR_OPT_3_SECONDS"
+msgstr "3 segundos"
+
+msgid "IDS_MEDIABR_OPT_ALL_CONTENT"
+msgstr "Todo el contenido"
+
+msgid "IDS_MEDIABR_OPT_CONTENT_TO_DISPLAY"
+msgstr "Contenido para mostrar"
+
+msgid "IDS_MEDIABR_OPT_DELETE_TAG"
+msgstr "Eliminar etiqueta"
+
+msgid "IDS_MEDIABR_OPT_DEVICE_CONTENT"
+msgstr "Contenido del dispositivo"
+
+msgid "IDS_MEDIABR_OPT_DROPBOX_CONTENT"
+msgstr "Contenido de Dropbox"
+
+msgid "IDS_MEDIABR_OPT_FACEBOOK_CONTENT"
+msgstr "Contenido de Facebook"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_LEFT"
+msgstr "Girar a la izquierda"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_RIGHT"
+msgstr "Girar a la derecha"
+
+msgid "IDS_MEDIABR_POP_IMPORT"
+msgstr "Importar"
+
+msgid "IDS_MEDIABR_POP_IMPORTED"
+msgstr "Importada(s)."
+
+msgid "IDS_MEDIABR_POP_IMPORTING_ING"
+msgstr "Importando..."
+
+msgid "IDS_MEDIABR_POP_LOADING_ING"
+msgstr "Cargando..."
+
+msgid "IDS_MEDIABR_POP_NEARBY_DEVICES_FOUND"
+msgstr "Dispositivos cercanos encontrados."
+
+msgid "IDS_MEDIABR_POP_NO_DEVICES_FOUND_SCANNING_FOR_NEARBY_DEVICES_WILL_CONTINUE_IN_BACKGROUND"
+msgstr "No se encontraron dispositivos. Se seguirán buscando dispositivos cercanos en segundo plano."
+
+msgid "IDS_MEDIABR_POP_REFRESHED"
+msgstr "Actualizado."
+
+msgid "IDS_MEDIABR_POP_ROTATING_ING"
+msgstr "Rotación..."
+
+msgid "IDS_MEDIABR_POP_SCAN_STARTED_DEVICE_LIST_WILL_BE_UPDATED_AUTOMATICALLY"
+msgstr "Se inició la búsqueda. La lista de dispositivos se actualizará automáticamente."
+
+msgid "IDS_MEDIABR_POP_STARTING_DOWNLOAD_ABB"
+msgstr "Iniciando descarga..."
+
+msgid "IDS_MF_OPT_COPY_TO"
+msgstr "Copiar en"
+
+msgid "IDS_MF_OPT_MOVE_TO"
+msgstr "Mover a"
+
+msgid "IDS_MF_POP_FAILED_TO_ADD_SHORTCUT"
+msgstr "Error al añadir atajo."
+
+msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
+msgstr "Memoria insuficiente. Elimine algunos elementos"
+
+msgid "IDS_MF_POP_REMOVED"
+msgstr "Eliminado."
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Añadiendo…"
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "¿Desea eliminar los álbumes de %d?"
+
+msgid "IDS_ST_BODY_PRIVATE_STORAGE"
+msgstr "Almacenamiento privado"
+
+msgid "IDS_IV_BODY_DRAG_HERE"
+msgstr "Arrastre aqui."
+
+msgid "IDS_GALLERY_BODY_NEW_M_ALBUM_ABB"
+msgstr "Nuevo"
+
+msgid "IDS_GALLERY_HEADER_UNGROUPEDM_PEOPLE_ABB"
+msgstr "Sin agrupar"
+
+msgid "IDS_KEEPIT_OPT_SCREENSHOTS_ABB"
+msgstr "Captura de pantalla"
+
+msgid "IDS_MEDIABR_OPT_PHOTOS"
+msgstr "Imágenes"
+
+msgid "IDS_MEDIABR_POP_DOWNLOAD_FAILED"
+msgstr "Error de descarga."
+
+msgid "IDS_MEDIABR_POP_UNSUPPORTED_FILE"
+msgstr "Archivo no admitido."
+
+msgid "IDS_SEARCH_BODY_1_RESULT"
+msgstr "1 resultado"
+
+msgid "IDS_SEARCH_BODY_PD_RESULTS"
+msgstr "%d resultado(s)"
+
+msgid "IDS_TW_BODY_FAVORITES"
+msgstr "Favoritos"
+
+msgid "IDS_EMAIL_POP_DOWNLOAD_CANCELLED"
+msgstr "Descarga cancelada."
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ALBUM_Q"
+msgstr "¿Desea eliminar este álbum?"
+
+msgid "IDS_CAM_HEADER_WARNING_ABB"
+msgstr "Aviso"
+
+msgid "IDS_ALM_OPT_SORT_BY"
+msgstr "Ordenar por"
+
+msgid "IDS_CLD_OPT_TODAY"
+msgstr "Hoy"
+
+msgid "IDS_GALLERY_BODY_DATE"
+msgstr "Fecha"
+
+msgid "IDS_EMAIL_BODY_NO_ITEMS_TO_DISPLAY"
+msgstr "No hay elementos para mostrar."
+
+msgid "IDS_PBR_BODY_TAP_HERE_TO_TAKE_PICTURES_OR_VIDEOS"
+msgstr "Pulse aquí para capturar imágenes o videos."
+
+msgid "IDS_NFC_TPOP_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SHARED_HPD_EXCEEDED"
+msgstr "Se excedió el número máximo de elementos que se pueden compartir (%d)."
+
+msgid "IDS_IV_BODY_TAP_TO_ADD_IMAGES"
+msgstr "Pulse para añadir imágenes."
+
+msgid "IDS_GALLERY_POP_COPY_OR_MOVE_THE_SELECTED_ITEMS_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "¿Desea copiar o mover los elementos seleccionados del álbum original?"
+
+msgid "IDS_GALLERY_HEADER_SELECT"
+msgstr "Seleccionar"
+
+msgid "IDS_VIDEO_POP_FILE_ALREADY_EXISTS"
+msgstr "Archivo ya existe."
+
+msgid "IDS_VIDEO_POP_THIS_ITEM_WILL_BE_DELETED"
+msgstr "Se eliminará este elemento."
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_FACEBOOK_ITEMS_WILL_BE_SHOWN"
+msgstr "Después de cargar imágenes en Facebook, se mostrarán los elementos."
+
+msgid "IDS_GALLERY_HEADER_SELECT_ALL_ABB"
+msgstr "Seleccionar todo"
+
+msgid "IDS_GALLERY_HEADER_PD_SELECTED_ABB"
+msgstr "%d seleccionado(s)"
+
+msgid "IDS_GALLERY_OPT_VIEW_AS"
+msgstr "Ver como"
+
+msgid "IDS_GALLERY_OPT_DATE_HMOST_RECENT_ABB2"
+msgstr "Fecha (más reciente)"
+
+msgid "IDS_GALLERY_OPT_DATE_HOLDEST_ABB3"
+msgstr "Fecha (más antigua)"
+
+msgid "IDS_GALLERY_BODY_AFTER_YOU_TAKE_PICTURES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Luego de capturar imágenes, estas se mostrarán aquí."
+
+msgid "IDS_CLOUD_TPOP_CANCELLING_ING"
+msgstr "Cancelando..."
+
+msgid "IDS_GALLERY_OPT_FROM_DEVICE_ABB"
+msgstr "Desde el dispositivo"
+
+msgid "IDS_GALLERY_OPT_FROM_DROPBOX_ABB"
+msgstr "Desde Dropbox"
+
+msgid "IDS_GALLERY_OPT_FROM_FACEBOOK_ABB"
+msgstr "Desde Facebook"
+
+msgid "IDS_MUSIC_BODY_DOWNLOAD_COMPLETED"
+msgstr "Descarga completa."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DELETED"
+msgstr "Se eliminarán todos los elementos."
+
+msgid "IDS_GALLERY_POP_1_ITEM_WILL_BE_DOWNLOADED"
+msgstr "Se descargará 1 elemento."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "Se descargarán %d elementos."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "Se descargarán todos los elementos."
+
+msgid "IDS_GALLERY_TPOP_SELECTED_ALBUM_SAME_AS_SOURCE_ALBUM_SELECT_ANOTHER_ALBUM"
+msgstr "El álbum seleccionado es el mismo que el de origen. Seleccione otro álbum."
+
+msgid "IDS_HS_NPBODY_TAP_HERE_TO_ADD_IMAGES"
+msgstr "Pulse aquí para añadir imágenes"
+
+msgid "IDS_MF_HEADER_UNABLE_TO_SAVE_DATA_ABB"
+msgstr "No es pos. guardar dat."
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_IN_YOUR_DEVICE_STORAGE_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "No hay espacio suficiente en el almacenamiento del dispositivo. Vaya a Ajustes > Batería y almacenamiento > Almacenamiento, elimine algunos archivos e inténtelo de nuevo."
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_YOUR_SD_CARD_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "No hay espacio suficiente en la tarjeta de memoria. Vaya a Ajustes > Batería y almacenamiento > Almacenamiento, elimine algunos archivos e inténtelo de nuevo."
+
+msgid "IDS_MF_BUTTON_CANCEL_ABB3"
+msgstr "Cancelar"
+
+msgid "IDS_MF_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "No volver a mostrar"
+
+msgid "IDS_MF_POP_USING_MOBILE_DATA_WHILE_ROAMING_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "El uso de datos móviles en roaming puede generar costos adicionales según su plan de pago."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DELETED_ABB"
+msgstr "Se eliminarán %d elementos."
+
+msgid "IDS_GALLERY_OPT_DELETE"
+msgstr "Eliminar"
+
+msgid "IDS_GALLERY_BODY_YESTERDAY"
+msgstr "Ayer"
+
+msgid "IDS_BR_MBODY_DOWNLOADS"
+msgstr "Descargas"
+
+msgid "IDS_GALLERY_HEADER_COPY"
+msgstr "Copiar"
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Eliminar"
+
+msgid "IDS_GALLERY_BUTTON_ALBUMS"
+msgstr "Álbumes"
+
+msgid "IDS_GALLERY_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Se superó el número máximo de elementos (%d)."
+
+msgid "IDS_GALLERY_BUTTON_CANCEL"
+msgstr "Cancelar"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "REALIZADO"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "CANCELAR"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "ELIMINAR"
+
+msgid "IDS_GALLERY_POP_COPYING_ING"
+msgstr "Copiando..."
+
+msgid "IDS_GALLERY_POP_MOVING_ING"
+msgstr "Moviendo…"
+
+msgid "IDS_STORYALBUM_POP_IF_YOU_CREATE_CONTENT_THAT_INCLUDES_ITEMS_FROM_PERSONAL_STORAGE_IT_MAY_NOT_BE_HIDDEN_AUTOMATICALLY_MSG"
+msgstr "Si crea contenido que incluye elementos de almacenamiento personal, es posible que no se oculte automáticamente. El contenido personal seleccionado se podría ver cuando se vea el contenido nuevo."
+
+msgid "IDS_HS_ACBUTTON_EDIT"
+msgstr "EDITAR"
+
+msgid "IDS_MF_BUTTON_SETTINGS"
+msgstr "Ajustes"
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "EDITAR"
+
+msgid "IDS_CLOCK_HEADER_REORDER_ABB"
+msgstr "Reordenar"
+
diff --git a/res/po/et.po b/res/po/et.po
new file mode 100644 (file)
index 0000000..62a81c3
--- /dev/null
@@ -0,0 +1,759 @@
+msgid "IDS_MF_POP_YOUR_DEVICE_IS_NOT_CONNECTED_TO_A_WI_FI_NETWORK_CONNECTING_TO_A_MOBILE_NETWORK_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "Seade on ühendatud Wi-Fi võrku. Sõltuvalt teie paketist võivad mobiilsidevõrguga ühenduse loomisel rakenduda lisatasud."
+
+msgid "IDS_VIDEO_TPOP_MOBILE_DATA_TURNED_OFF_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_TURN_ON_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Mobiilne andmeside on välja lülitatud. Looge selle asemel ühendus Wi-Fi võrguga või lülitage mobiilne andmeside sisse ja proovige uuesti."
+
+msgid "IDS_VIDEO_BODY_AFTER_YOU_RECORD_VIDEOS_USING_THE_CAMERA_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Videod kuvatakse pärast nende salvestamist kaameraga."
+
+msgid "IDS_VIDEO_TPOP_FILE_NAME_ALREADY_IN_USE"
+msgstr "Failinimi on juba kasutusel"
+
+msgid "IDS_MF_POP_DELETE_PD_ITEMS_Q"
+msgstr "Kustutada %d üksust?"
+
+msgid "IDS_ST_HEADER_PRIVACY"
+msgstr "Privaatsus"
+
+msgid "IDS_COM_BODY_SEP_ABB"
+msgstr "Sep"
+
+msgid "IDS_COM_BODY_OCT_ABB"
+msgstr "Okt."
+
+msgid "IDS_COM_BODY_NOV_ABB"
+msgstr "Nov"
+
+msgid "IDS_COM_BODY_MAY_ABB"
+msgstr "Mai"
+
+msgid "IDS_COM_BODY_MAR_ABB"
+msgstr "Mär."
+
+msgid "IDS_COM_BODY_JUN_ABB"
+msgstr "Juun"
+
+msgid "IDS_COM_BODY_JUL_ABB"
+msgstr "Juul"
+
+msgid "IDS_COM_BODY_JAN_ABB"
+msgstr "Jaa."
+
+msgid "IDS_COM_BODY_FEB_ABB"
+msgstr "Vee."
+
+msgid "IDS_COM_BODY_DEC_ABB"
+msgstr "Det."
+
+msgid "IDS_COM_BODY_AUG_ABB"
+msgstr "Aug"
+
+msgid "IDS_COM_BODY_APR_ABB"
+msgstr "Apr"
+
+msgid "IDS_GALLERY_HEADER_ALBUM"
+msgstr "Album"
+
+msgid "IDS_MEDIABR_OPT_MORE"
+msgstr "Veel"
+
+msgid "IDS_MEDIABR_POP_INVALID_INPUT_PARAMETER"
+msgstr "Vigane sisestusparameeter."
+
+msgid "IDS_MEDIABR_POP_ENTRY_IS_EMPTY"
+msgstr "Kirje on tuhi."
+
+msgid "IDS_MEDIABR_POP_SAME_NAME_ALREADY_IN_USE"
+msgstr "See nimi on juba kasutusel."
+
+msgid "IDS_MEDIABR_POP_UNABLE_TO_RENAME"
+msgstr "Ei saa ümber nimetada."
+
+msgid "IDS_MEDIABR_POP_NO_ALBUMS_SELECTED"
+msgstr "Ühtegi albumit pole valitud."
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ITEM"
+msgstr "Vali üksus"
+
+msgid "IDS_MEDIABR_BODY_NO_ALBUMS"
+msgstr "Albumid puuduvad"
+
+msgid "IDS_MEDIABR_POP_CREATE_FOLDER_Q"
+msgstr "Kas luua kaust?"
+
+msgid "IDS_MEDIABR_POP_RETRY_Q"
+msgstr "Proovi uuesti?"
+
+msgid "IDS_MEDIABR_POPUP_REMOVE_Q"
+msgstr "Eemaldada?"
+
+msgid "IDS_MEDIABR_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "%d albumit kustutatakse."
+
+msgid "IDS_MEDIABR_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "1 album kustutatakse."
+
+msgid "IDS_MEDIABR_BODY_CAMERA"
+msgstr "Kaamera"
+
+msgid "IDS_MEDIABR_BUTTON_START"
+msgstr "Käivita"
+
+msgid "IDS_MEDIABR_OPT_SETTINGS"
+msgstr "Seaded"
+
+msgid "IDS_MEDIABR_OPT_YES"
+msgstr "Jah"
+
+msgid "IDS_MEDIABR_OPT_NO"
+msgstr "Ei"
+
+msgid "IDS_MEDIABR_BUTTON_OK"
+msgstr "OK"
+
+msgid "IDS_MEDIABR_BUTTON_SAVE"
+msgstr "Salvesta"
+
+msgid "IDS_MEDIABR_POP_DELETE_Q"
+msgstr "Kustutada?"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_ALBUM"
+msgstr "Teisalda albumisse"
+
+msgid "IDS_GALLERY_OPT_COPY_TO_ALBUM"
+msgstr "Kopeeri albumisse"
+
+msgid "IDS_GALLERY_HEADER_VIEW_BY_ABB"
+msgstr "Kuvamise kriteerium"
+
+msgid "IDS_GALLERY_HEADER_ENTER_NAME"
+msgstr "Sisestage nimi"
+
+msgid "IDS_MEDIABR_POP_ALL_DATA_RELATED_TO_THIS_ACCOUNT_WILL_BE_DELETED_CONTINUE_Q"
+msgstr "Kõik selle kontoga seotud andmed kustutatakse. Kas jätkata?"
+
+msgid "IDS_MEDIABR_BUTTON_CANCEL_ABB"
+msgstr "Tühista"
+
+msgid "IDS_MEDIABR_TAB4_NEW_ALBUM"
+msgstr "Uus album"
+
+msgid "IDS_MEDIABR_POP_DO_YOU_WANT_TO_COPY_OR_MOVE_THE_PICTURES_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Kas soovite kopeerida või teisaldada originaalalbumis olevad pildid?"
+
+msgid "IDS_MEDIABR_OPT_SHARE"
+msgstr "Jaga"
+
+msgid "IDS_MEDIABR_OPT_SLIDESHOW"
+msgstr "Slaidiseanss"
+
+msgid "IDS_MEDIABR_OPT_START_SLIDESHOW"
+msgstr "Käivita slaidiseanss"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS"
+msgstr "Slaidiseansi seaded"
+
+msgid "IDS_MEDIABR_POP_NO_NAME"
+msgstr "Nimi puudub"
+
+msgid "IDS_MEDIABR_BODY_ALL_ALBUMS"
+msgstr "Kõik albumid"
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ALBUM"
+msgstr "Valige album"
+
+msgid "IDS_MEDIABR_POP_1_ITEM_WILL_BE_DELETED"
+msgstr "1 üksus kustutatakse."
+
+msgid "IDS_MEDIABR_OPT_ALL_ITEMS"
+msgstr "Kõik üksused"
+
+msgid "IDS_MEDIABR_BODY_PD_ITEMS"
+msgstr "%d üksust"
+
+msgid "IDS_IV_BODY_THERE_IS_ONLY_ONE_ALBUM"
+msgstr "Ainult uks album."
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "Te voite valida kuni %d uksust."
+
+msgid "IDS_MF_BODY_DOWNLOADS"
+msgstr "Allalaet. failid"
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Kustutada?"
+
+msgid "IDS_MF_SK_MOVE"
+msgstr "Teisalda"
+
+msgid "IDS_MF_POP_DELETING_ING"
+msgstr "Kustutamine..."
+
+msgid "IDS_CAM_BODY_OPERATION_FAILED"
+msgstr "Toiming nurjus."
+
+msgid "IDS_MSG_BODY_CANCELLED_M_CONTENT"
+msgstr "Tühistatud"
+
+msgid "IDS_MF_OPT_DELETE_SELECTED"
+msgstr "Valitud"
+
+msgid "IDS_MF_POP_MOVED"
+msgstr "Teisaldatud."
+
+msgid "IDS_MF_POP_COPIED"
+msgstr "Kopeeritud."
+
+msgid "IDS_VPL_POP_NO_FILES_SELECTED"
+msgstr "Faile pole valitud."
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Sulge"
+
+msgid "IDS_MF_OPT_SORT_BY_ABB"
+msgstr "Sortimisalus"
+
+msgid "IDS_CAM_POP_LATEST"
+msgstr "Viimased"
+
+msgid "IDS_MEDIABR_POP_OLDEST_M_DATE"
+msgstr "Vanim"
+
+msgid "IDS_MSG_BUTTON2_CREATE"
+msgstr "Loo"
+
+msgid "IDS_MEDIABR_POP_NO_ITEMS"
+msgstr "Üksusi ei ole"
+
+msgid "IDS_MEDIABR_OPT_EDIT_IMAGE"
+msgstr "Muuda pilti"
+
+msgid "IDS_MEDIABR_BODY_SELECT_PICTURE"
+msgstr "Vali pilt"
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ITEM_Q"
+msgstr "Kas kustutada see üksus?"
+
+msgid "IDS_GALLERY_OPT_SCENERY"
+msgstr "Maastik"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PRIVATE"
+msgstr "Eemalda kaustast Privaatne"
+
+msgid "IDS_GALLERY_OPT_PETS"
+msgstr "Lemmikloomad"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_PRIVATE"
+msgstr "Teisalda kausta Privaatne"
+
+msgid "IDS_GALLERY_OPT_FOOD"
+msgstr "Toit"
+
+msgid "IDS_GALLERY_OPT_FLOWERS"
+msgstr "Lilled"
+
+msgid "IDS_GALLERY_OPT_DOCUMENTS"
+msgstr "Dokumendid"
+
+msgid "IDS_GALLERY_MBODY_VEHICLES"
+msgstr "Sõidukid"
+
+msgid "IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED"
+msgstr "Maksimaalne tähemärkide arv (%d) on saavutatud."
+
+msgid "IDS_IV_BODY_UNABLE_TO_LOAD_PHOTO_ABB"
+msgstr "Fotot ei saa laadida."
+
+msgid "IDS_IV_BODY_SHARE_VIA"
+msgstr "Jagamine"
+
+msgid "IDS_IV_BODY_DONT_ASK_AGAIN"
+msgstr "Ära küsi enam"
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Lubatud arv märke on täis."
+
+msgid "IDS_GALLERY_HEADER_TIME"
+msgstr "Kellaaeg"
+
+msgid "IDS_EMAIL_BODY_FAILED_M_STATUS"
+msgstr "Nurjus"
+
+msgid "IDS_EMAIL_BODY_DELETED"
+msgstr "Kustutatud."
+
+msgid "IDS_EMAIL_POP_DELETE_Q"
+msgstr "Kustutada?"
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Eemaldamine..."
+
+msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS"
+msgstr "Näidatakse %d üksust"
+
+msgid "IDS_GALLERY_OPT_CREATE_ALBUM"
+msgstr "Loo album"
+
+msgid "IDS_GALLERY_OPT_GALLERY_ABB"
+msgstr "Galerii"
+
+msgid "IDS_EMAIL_BUTTON_MORE"
+msgstr "Veel"
+
+msgid "IDS_EMAIL_OPT_ACCOUNTS"
+msgstr "Kontod"
+
+msgid "IDS_EMAIL_POP_OPERATION_FAILED"
+msgstr "Toiming nurjus."
+
+msgid "IDS_GALLERY_BODY_DOWNLOAD"
+msgstr "Lae alla"
+
+msgid "IDS_GALLERY_BODY_SEARCH"
+msgstr "Otsi"
+
+msgid "IDS_GALLERY_BUTTON_BACK"
+msgstr "Tagasi"
+
+msgid "IDS_GALLERY_BUTTON_CAMERA"
+msgstr "Kaamera"
+
+msgid "IDS_GALLERY_HEADER_ALL"
+msgstr "Kõik"
+
+msgid "IDS_GALLERY_OPT_REFRESH"
+msgstr "Värskenda"
+
+msgid "IDS_GALLERY_OPT_REMOVE"
+msgstr "Eemalda"
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_DROPBOX_ITEMS_WILL_BE_SHOWN"
+msgstr "Uksused kuvatakse parast piltide uleslaadimist Dropboxi."
+
+msgid "IDS_KEEPIT_BODY_GROUP_PLAY_ABB"
+msgstr "Group Play"
+
+msgid "IDS_MEDIABR_HEADER_CONTACTS"
+msgstr "Kontaktid"
+
+msgid "IDS_MEDIABR_OPT_CREATE"
+msgstr "Loo"
+
+msgid "IDS_MEDIABR_OPT_DETAILS"
+msgstr "Üksikasjad"
+
+msgid "IDS_MEDIABR_OPT_PRINT"
+msgstr "Prindi"
+
+msgid "IDS_MEDIABR_OPT_RENAME"
+msgstr "Nimeta ümber"
+
+msgid "IDS_MEDIABR_POP_DOWNLOADED"
+msgstr "Alla laetud."
+
+msgid "IDS_MEDIABR_POP_DOWNLOADING_ING"
+msgstr "Allalaadimine..."
+
+msgid "IDS_MF_HEADER_ENTER_NAME"
+msgstr "Sisestage nimi."
+
+msgid "IDS_MF_HEADER_MYFILES"
+msgstr "Minu Failid"
+
+msgid "IDS_MF_POP_ADDED"
+msgstr "Lisatud."
+
+msgid "IDS_MF_POP_PROCESSING_ING"
+msgstr "Töötlemine..."
+
+msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
+msgstr "Toetuseta failitüüp."
+
+msgid "IDS_IMGE_BODY_AFTER_YOU_TAKE_PICTURES_PICTURES_WILL_BE_SHOWN"
+msgstr "Parast pildistamist kuvatakse pildid."
+
+msgid "IDS_IME_BODY_LANDSCAPE_MODE"
+msgstr "Rõhtpaigutusrežiim"
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_CLOSE_DRAWER_MENU_TTS"
+msgstr "Toksake kaks korda, et sulgeda sahtli menüüd."
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_OPEN_DRAWER_MENU_TTS"
+msgstr "Toksake kaks korda, et avada sahtli menüüd."
+
+msgid "IDS_EMAIL_BODY_DRAG_AND_DROP"
+msgstr "Lohistage"
+
+msgid "IDS_EMAIL_OPT_DRAWER_ABB"
+msgstr "Sahtel"
+
+msgid "IDS_EMAIL_POP_MOBILE_DATA_IS_DISABLED_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_ENABLE_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Mobiilne andmeside on desaktiveeritud. Looge selle asemel ühendus Wi-Fi võrguga või aktiveerige mobiilne andmeside ja proovige uuesti"
+
+msgid "IDS_EMAIL_POP_WI_FI_CONNECTION_REQUIRED_CONNECT_TO_WI_FI_NETWORK_AND_TRY_AGAIN"
+msgstr "Wi-Fi ühendus on nõutud. Looge ühendus Wi-Fi võrguga ja proovige uuesti"
+
+msgid "IDS_GALLERY_HEADER_ADD_PICTURES_FROM_ABB"
+msgstr "Lisa pilte asukohast"
+
+msgid "IDS_GALLERY_HEADER_CONNECTED_DEVICES_ABB"
+msgstr "Ühendatud seadmed"
+
+msgid "IDS_GALLERY_OPT_PRIVATE_CONTENT"
+msgstr "Privaatne sisu"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PS"
+msgstr "Eemalda kategooriast %s"
+
+msgid "IDS_GALLERY_OPT_REMOVE_NAME_TAG"
+msgstr "Eemalda nimesilt"
+
+msgid "IDS_GALLERY_POP_THERE_ARE_NO_EVENTS_TO_DISPLAY_CREATE_A_NEW_EVENT"
+msgstr "Pole sündmusi, mida kuvada. Looge uus sündmus."
+
+msgid "IDS_GALLERY_POP_TO_SCROLL_QUICKLY_TO_OTHER_DATES_TAP_AND_HOLD_THE_DATE_INDICATOR_AT_THE_TOP_RIGHT_OF_THE_SCREEN"
+msgstr "Kiiresti teistele kuupäevadele kerimiseks toksake ja hoidke sõrme ekraani paremas ülanurgas oleval kuupäeva indikaatoril."
+
+msgid "IDS_GP_POP_REMOVE_PD_ITEMS_Q"
+msgstr "Kas eemaldada %d üksust?"
+
+msgid "IDS_GP_POP_REMOVE_THIS_ITEM_Q"
+msgstr "Kas eemaldada see üksus?"
+
+msgid "IDS_HELP_BODY_GALLERY"
+msgstr "Galerii"
+
+msgid "IDS_HELP_OPT_SHUFFLED_PICTURES"
+msgstr "Segatud pildid"
+
+msgid "IDS_IV_BODY_ADD_PICTURES"
+msgstr "Lisage pilte"
+
+msgid "IDS_IV_BODY_AFTER_YOU_TAG_PICTURES_AS_YOUR_FAVOURITES_PICTURES_WILL_BE_SHOWN"
+msgstr "Pildid kuvatakse parast nende markimist lemmikutena."
+
+msgid "IDS_IV_BODY_REMOVE_FACE_IDENTIFICATION_Q"
+msgstr "Kas eemaldada näotuvastus?"
+
+msgid "IDS_IV_OPT_ASSIGN_NAME"
+msgstr "Määrake nimi"
+
+msgid "IDS_IV_OPT_CONFIRM_AS_PS"
+msgstr "Kinnita isikuna %s"
+
+msgid "IDS_IV_OPT_LAYOUT_M_PICTUERS"
+msgstr "Paigutus"
+
+msgid "IDS_IV_OPT_PD_PICTURES_ADDED"
+msgstr "Lisati %d pilti"
+
+msgid "IDS_IV_POP_THE_ALBUM_WILL_BE_CANCELLED"
+msgstr "Album tuhistatakse."
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEM_ABB"
+msgstr "Kustuta üksus"
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEMS"
+msgstr "Kustuta üksused"
+
+msgid "IDS_MEDIABR_BODY_1_ITEM"
+msgstr "1 üksus"
+
+msgid "IDS_MEDIABR_BODY_10_SECONDS"
+msgstr "10 sekundit"
+
+msgid "IDS_MEDIABR_BODY_5_SECONDS"
+msgstr "5 sekundit"
+
+msgid "IDS_MEDIABR_BODY_NOT_ASSIGNED"
+msgstr "Pole määratud"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL"
+msgstr "Slaidiseansi intervall"
+
+msgid "IDS_MEDIABR_BODY_UNTAGGED"
+msgstr "Sildistamata"
+
+msgid "IDS_MEDIABR_OPT_3_SECONDS"
+msgstr "3 sekundit"
+
+msgid "IDS_MEDIABR_OPT_ALL_CONTENT"
+msgstr "Kogu sisu"
+
+msgid "IDS_MEDIABR_OPT_CONTENT_TO_DISPLAY"
+msgstr "Sisu, mida kuvada"
+
+msgid "IDS_MEDIABR_OPT_DELETE_TAG"
+msgstr "Kustuta silt"
+
+msgid "IDS_MEDIABR_OPT_DEVICE_CONTENT"
+msgstr "Seadme sisu"
+
+msgid "IDS_MEDIABR_OPT_DROPBOX_CONTENT"
+msgstr "Dropboxi sisu"
+
+msgid "IDS_MEDIABR_OPT_FACEBOOK_CONTENT"
+msgstr "Facebooki sisu"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_LEFT"
+msgstr "Pööra vasakule"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_RIGHT"
+msgstr "Pööra paremale"
+
+msgid "IDS_MEDIABR_POP_IMPORT"
+msgstr "Import"
+
+msgid "IDS_MEDIABR_POP_IMPORTED"
+msgstr "Imporditud."
+
+msgid "IDS_MEDIABR_POP_IMPORTING_ING"
+msgstr "Importimine..."
+
+msgid "IDS_MEDIABR_POP_LOADING_ING"
+msgstr "Laadimine..."
+
+msgid "IDS_MEDIABR_POP_NEARBY_DEVICES_FOUND"
+msgstr "Lähedalolevaid seadmeid ei leitud."
+
+msgid "IDS_MEDIABR_POP_NO_DEVICES_FOUND_SCANNING_FOR_NEARBY_DEVICES_WILL_CONTINUE_IN_BACKGROUND"
+msgstr "Seadmeid ei leitud. Läheduses olevate seadmete otsimine jätkub taustal."
+
+msgid "IDS_MEDIABR_POP_REFRESHED"
+msgstr "Värskendatud."
+
+msgid "IDS_MEDIABR_POP_ROTATING_ING"
+msgstr "Pööramine..."
+
+msgid "IDS_MEDIABR_POP_SCAN_STARTED_DEVICE_LIST_WILL_BE_UPDATED_AUTOMATICALLY"
+msgstr "Otsimist alustati. Seadmete loendit värskendatakse automaatselt."
+
+msgid "IDS_MEDIABR_POP_STARTING_DOWNLOAD_ABB"
+msgstr "Allalaadimise alustamine..."
+
+msgid "IDS_MF_OPT_COPY_TO"
+msgstr "Kopeeri asukohta"
+
+msgid "IDS_MF_OPT_MOVE_TO"
+msgstr "Teisalduskoht:"
+
+msgid "IDS_MF_POP_FAILED_TO_ADD_SHORTCUT"
+msgstr "Otsetee lisamine nurjus."
+
+msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
+msgstr "Mälu pole piisavalt. Kustutage mõned üksused"
+
+msgid "IDS_MF_POP_REMOVED"
+msgstr "Eemaldatud."
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Lisamine..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "Kas kustutada %d albumit?"
+
+msgid "IDS_ST_BODY_PRIVATE_STORAGE"
+msgstr "Privaatne mälu"
+
+msgid "IDS_IV_BODY_DRAG_HERE"
+msgstr "Lohistage siia."
+
+msgid "IDS_GALLERY_BODY_NEW_M_ALBUM_ABB"
+msgstr "Uus"
+
+msgid "IDS_GALLERY_HEADER_UNGROUPEDM_PEOPLE_ABB"
+msgstr "Rühmitamata"
+
+msgid "IDS_KEEPIT_OPT_SCREENSHOTS_ABB"
+msgstr "Ekraanipildid"
+
+msgid "IDS_MEDIABR_OPT_PHOTOS"
+msgstr "Fotod"
+
+msgid "IDS_MEDIABR_POP_DOWNLOAD_FAILED"
+msgstr "Allalaadimine nurjus."
+
+msgid "IDS_MEDIABR_POP_UNSUPPORTED_FILE"
+msgstr "Toetuseta fail."
+
+msgid "IDS_SEARCH_BODY_1_RESULT"
+msgstr "1 tulemus"
+
+msgid "IDS_SEARCH_BODY_PD_RESULTS"
+msgstr "%d tulemust"
+
+msgid "IDS_TW_BODY_FAVORITES"
+msgstr "Lemmikud"
+
+msgid "IDS_EMAIL_POP_DOWNLOAD_CANCELLED"
+msgstr "Allalaadimine tühistatud."
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ALBUM_Q"
+msgstr "Kas kustutada see album?"
+
+msgid "IDS_CAM_HEADER_WARNING_ABB"
+msgstr "Hoiatus"
+
+msgid "IDS_ALM_OPT_SORT_BY"
+msgstr "Sortimisalus"
+
+msgid "IDS_CLD_OPT_TODAY"
+msgstr "Täna"
+
+msgid "IDS_GALLERY_BODY_DATE"
+msgstr "Kuupäev"
+
+msgid "IDS_EMAIL_BODY_NO_ITEMS_TO_DISPLAY"
+msgstr "Pole üksusi, mida kuvada."
+
+msgid "IDS_PBR_BODY_TAP_HERE_TO_TAKE_PICTURES_OR_VIDEOS"
+msgstr "Toksake siia, et jäädvustada pilte või videoid."
+
+msgid "IDS_NFC_TPOP_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SHARED_HPD_EXCEEDED"
+msgstr "Maksimaalne jagatavate üksuste arv (%d) on ületatud."
+
+msgid "IDS_IV_BODY_TAP_TO_ADD_IMAGES"
+msgstr "Toksake piltide lisamiseks."
+
+msgid "IDS_GALLERY_POP_COPY_OR_MOVE_THE_SELECTED_ITEMS_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Kas kopeerida või teisaldada valitud üksused originaalalbumist?"
+
+msgid "IDS_GALLERY_HEADER_SELECT"
+msgstr "Vali"
+
+msgid "IDS_VIDEO_POP_FILE_ALREADY_EXISTS"
+msgstr "Fail on juba olemas."
+
+msgid "IDS_VIDEO_POP_THIS_ITEM_WILL_BE_DELETED"
+msgstr "See uksus kustutatakse."
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_FACEBOOK_ITEMS_WILL_BE_SHOWN"
+msgstr "Uksused kuvatakse parast piltide uleslaadimist Facebooki."
+
+msgid "IDS_GALLERY_HEADER_SELECT_ALL_ABB"
+msgstr "Vali kõik"
+
+msgid "IDS_GALLERY_HEADER_PD_SELECTED_ABB"
+msgstr "%d on valitud"
+
+msgid "IDS_GALLERY_OPT_VIEW_AS"
+msgstr "Kuva:"
+
+msgid "IDS_GALLERY_OPT_DATE_HMOST_RECENT_ABB2"
+msgstr "Kuupäev (kõige hilisem)"
+
+msgid "IDS_GALLERY_OPT_DATE_HOLDEST_ABB3"
+msgstr "Kuupäev (vanim)"
+
+msgid "IDS_GALLERY_BODY_AFTER_YOU_TAKE_PICTURES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Pildid kuvatakse siin pärast nende tegemist."
+
+msgid "IDS_CLOUD_TPOP_CANCELLING_ING"
+msgstr "Tühistamine..."
+
+msgid "IDS_GALLERY_OPT_FROM_DEVICE_ABB"
+msgstr "Seadmest"
+
+msgid "IDS_GALLERY_OPT_FROM_DROPBOX_ABB"
+msgstr "Dropboxist"
+
+msgid "IDS_GALLERY_OPT_FROM_FACEBOOK_ABB"
+msgstr "Facebookist"
+
+msgid "IDS_MUSIC_BODY_DOWNLOAD_COMPLETED"
+msgstr "Allalaadimine lõpetatud."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DELETED"
+msgstr "Kõik üksused kustutatakse."
+
+msgid "IDS_GALLERY_POP_1_ITEM_WILL_BE_DOWNLOADED"
+msgstr "1 üksus laaditakse alla."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "%d üksust laaditakse alla."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "Kõik üksused laaditakse alla."
+
+msgid "IDS_GALLERY_TPOP_SELECTED_ALBUM_SAME_AS_SOURCE_ALBUM_SELECT_ANOTHER_ALBUM"
+msgstr "Valitud album ja allikaalbum on samad. Valige teine album."
+
+msgid "IDS_HS_NPBODY_TAP_HERE_TO_ADD_IMAGES"
+msgstr "Toksake siia, et lisada pilte"
+
+msgid "IDS_MF_HEADER_UNABLE_TO_SAVE_DATA_ABB"
+msgstr "Andmeid ei saa salvestada"
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_IN_YOUR_DEVICE_STORAGE_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "Seadme mälus pole piisavalt ruumi. Avage menüü Seaded > Toide ja mälu > Mälu, seejärel kustutage mõned failid ja proovige uuesti."
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_YOUR_SD_CARD_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "Teie SD-kaardil pole piisavalt ruumi. Avage menüü Seaded > Toide ja mälu > Mälu, seejärel kustutage mõned failid ja proovige uuesti."
+
+msgid "IDS_MF_BUTTON_CANCEL_ABB3"
+msgstr "Tühista"
+
+msgid "IDS_MF_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Ära näita enam"
+
+msgid "IDS_MF_POP_USING_MOBILE_DATA_WHILE_ROAMING_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "Sõltuvalt teie paketist võivad rändluse ajal mobiilse andmeside kasutamisel rakenduda lisatasud."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DELETED_ABB"
+msgstr "%d üksust kustutatakse."
+
+msgid "IDS_GALLERY_OPT_DELETE"
+msgstr "Kustuta"
+
+msgid "IDS_GALLERY_BODY_YESTERDAY"
+msgstr "Eile"
+
+msgid "IDS_BR_MBODY_DOWNLOADS"
+msgstr "Allalaetud üksused"
+
+msgid "IDS_GALLERY_HEADER_COPY"
+msgstr "Kopeerimine"
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Kustuta"
+
+msgid "IDS_GALLERY_BUTTON_ALBUMS"
+msgstr "Albumid"
+
+msgid "IDS_GALLERY_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Üksuste maksimaalne arv (%d) on ületatud."
+
+msgid "IDS_GALLERY_BUTTON_CANCEL"
+msgstr "Tühista"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "VALMIS"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "TÜHISTA"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "KUSTUTA"
+
+msgid "IDS_GALLERY_POP_COPYING_ING"
+msgstr "Kopeerimine..."
+
+msgid "IDS_GALLERY_POP_MOVING_ING"
+msgstr "Teisaldamine..."
+
+msgid "IDS_STORYALBUM_POP_IF_YOU_CREATE_CONTENT_THAT_INCLUDES_ITEMS_FROM_PERSONAL_STORAGE_IT_MAY_NOT_BE_HIDDEN_AUTOMATICALLY_MSG"
+msgstr "Kui loote sisu, mis sisaldab üksusi isiklikust mälust, ei pruugita teie uut sisu peita automaatselt. Valitud isiklikku sisu võidakse näha uue sisu vaatamisel."
+
+msgid "IDS_HS_ACBUTTON_EDIT"
+msgstr "REDIGEERI"
+
+msgid "IDS_MF_BUTTON_SETTINGS"
+msgstr "Seaded"
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "REDIG."
+
+msgid "IDS_CLOCK_HEADER_REORDER_ABB"
+msgstr "Järjesta ümber"
+
diff --git a/res/po/eu.po b/res/po/eu.po
new file mode 100644 (file)
index 0000000..d4398ab
--- /dev/null
@@ -0,0 +1,759 @@
+msgid "IDS_MF_POP_YOUR_DEVICE_IS_NOT_CONNECTED_TO_A_WI_FI_NETWORK_CONNECTING_TO_A_MOBILE_NETWORK_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "Zure gailua ez dago Wi-Fi sare batera konektatuta. Baliteke sare mugikor batera konektatzeak kostu osagarriak eragitea zure ordainketa planaren arabera."
+
+msgid "IDS_VIDEO_TPOP_MOBILE_DATA_TURNED_OFF_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_TURN_ON_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Datu mugikorrak itzalita. Konektatu Wi-Fi sare batera edo piztu datu mugikorrak eta saiatu berriz."
+
+msgid "IDS_VIDEO_BODY_AFTER_YOU_RECORD_VIDEOS_USING_THE_CAMERA_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Kamera erabiliz bideoak grabatu ondoren, hemen erakutsiko dira."
+
+msgid "IDS_VIDEO_TPOP_FILE_NAME_ALREADY_IN_USE"
+msgstr "Fitxategi izena aurretik erabiltzen ari zara."
+
+msgid "IDS_MF_POP_DELETE_PD_ITEMS_Q"
+msgstr "%d elementu ezabatu?"
+
+msgid "IDS_ST_HEADER_PRIVACY"
+msgstr "Pribatutasuna"
+
+msgid "IDS_COM_BODY_SEP_ABB"
+msgstr "Irl."
+
+msgid "IDS_COM_BODY_OCT_ABB"
+msgstr "Urr."
+
+msgid "IDS_COM_BODY_NOV_ABB"
+msgstr "Azr."
+
+msgid "IDS_COM_BODY_MAY_ABB"
+msgstr "Mai."
+
+msgid "IDS_COM_BODY_MAR_ABB"
+msgstr "Mar."
+
+msgid "IDS_COM_BODY_JUN_ABB"
+msgstr "Ekn."
+
+msgid "IDS_COM_BODY_JUL_ABB"
+msgstr "Uzt."
+
+msgid "IDS_COM_BODY_JAN_ABB"
+msgstr "Urt."
+
+msgid "IDS_COM_BODY_FEB_ABB"
+msgstr "Ots."
+
+msgid "IDS_COM_BODY_DEC_ABB"
+msgstr "Abn."
+
+msgid "IDS_COM_BODY_AUG_ABB"
+msgstr "Abz."
+
+msgid "IDS_COM_BODY_APR_ABB"
+msgstr "Apr."
+
+msgid "IDS_GALLERY_HEADER_ALBUM"
+msgstr "Albuma"
+
+msgid "IDS_MEDIABR_OPT_MORE"
+msgstr "Gehiago"
+
+msgid "IDS_MEDIABR_POP_INVALID_INPUT_PARAMETER"
+msgstr "Sarrera parametro baliogabea"
+
+msgid "IDS_MEDIABR_POP_ENTRY_IS_EMPTY"
+msgstr "Sarrera hutsik dago"
+
+msgid "IDS_MEDIABR_POP_SAME_NAME_ALREADY_IN_USE"
+msgstr "Izen bera dagoeneko erabiltzen"
+
+msgid "IDS_MEDIABR_POP_UNABLE_TO_RENAME"
+msgstr "Ezin da berrizendatu"
+
+msgid "IDS_MEDIABR_POP_NO_ALBUMS_SELECTED"
+msgstr "Ez da albumik aukeratu"
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ITEM"
+msgstr "Elementua aukeratu"
+
+msgid "IDS_MEDIABR_BODY_NO_ALBUMS"
+msgstr "Albumik ez"
+
+msgid "IDS_MEDIABR_POP_CREATE_FOLDER_Q"
+msgstr "Karpeta sortu?"
+
+msgid "IDS_MEDIABR_POP_RETRY_Q"
+msgstr "Berriz saiatu?"
+
+msgid "IDS_MEDIABR_POPUP_REMOVE_Q"
+msgstr "Kendu?"
+
+msgid "IDS_MEDIABR_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "%d album ezabatuko dira"
+
+msgid "IDS_MEDIABR_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "1 album ezabatuko da."
+
+msgid "IDS_MEDIABR_BODY_CAMERA"
+msgstr "Kamera"
+
+msgid "IDS_MEDIABR_BUTTON_START"
+msgstr "Hasi"
+
+msgid "IDS_MEDIABR_OPT_SETTINGS"
+msgstr "Ezarpenak"
+
+msgid "IDS_MEDIABR_OPT_YES"
+msgstr "Bai"
+
+msgid "IDS_MEDIABR_OPT_NO"
+msgstr "Ez"
+
+msgid "IDS_MEDIABR_BUTTON_OK"
+msgstr "Ados"
+
+msgid "IDS_MEDIABR_BUTTON_SAVE"
+msgstr "Gorde"
+
+msgid "IDS_MEDIABR_POP_DELETE_Q"
+msgstr "Ezabatu?"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_ALBUM"
+msgstr "Mugitu albumera"
+
+msgid "IDS_GALLERY_OPT_COPY_TO_ALBUM"
+msgstr "Kopiatu albumean"
+
+msgid "IDS_GALLERY_HEADER_VIEW_BY_ABB"
+msgstr "Honela ikusi"
+
+msgid "IDS_GALLERY_HEADER_ENTER_NAME"
+msgstr "Izena idatzi"
+
+msgid "IDS_MEDIABR_POP_ALL_DATA_RELATED_TO_THIS_ACCOUNT_WILL_BE_DELETED_CONTINUE_Q"
+msgstr "Kontu honi buruzko datu guztiak ezabatuko dira. Jarraitu?"
+
+msgid "IDS_MEDIABR_BUTTON_CANCEL_ABB"
+msgstr "Utzi"
+
+msgid "IDS_MEDIABR_TAB4_NEW_ALBUM"
+msgstr "Album berria"
+
+msgid "IDS_MEDIABR_POP_DO_YOU_WANT_TO_COPY_OR_MOVE_THE_PICTURES_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Argazkiak jatorrizko albumetik kopiatu edo kendu nahi dituzu?"
+
+msgid "IDS_MEDIABR_OPT_SHARE"
+msgstr "Partekatu"
+
+msgid "IDS_MEDIABR_OPT_SLIDESHOW"
+msgstr "Aurkezpena"
+
+msgid "IDS_MEDIABR_OPT_START_SLIDESHOW"
+msgstr "Hasi diaporama"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS"
+msgstr "Erakusketaren ezarpenak"
+
+msgid "IDS_MEDIABR_POP_NO_NAME"
+msgstr "Izenik gabe"
+
+msgid "IDS_MEDIABR_BODY_ALL_ALBUMS"
+msgstr "Album guztiak"
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ALBUM"
+msgstr "Aukeratu albuma"
+
+msgid "IDS_MEDIABR_POP_1_ITEM_WILL_BE_DELETED"
+msgstr "Elementu 1 ezabatuko da"
+
+msgid "IDS_MEDIABR_OPT_ALL_ITEMS"
+msgstr "Elementu guztiak"
+
+msgid "IDS_MEDIABR_BODY_PD_ITEMS"
+msgstr "%d elementu"
+
+msgid "IDS_IV_BODY_THERE_IS_ONLY_ONE_ALBUM"
+msgstr "Album bakarra dago"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "%d elementu arte aukera ditzakezu"
+
+msgid "IDS_MF_BODY_DOWNLOADS"
+msgstr "Deskargak"
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Ezabatu?"
+
+msgid "IDS_MF_SK_MOVE"
+msgstr "Mugitu"
+
+msgid "IDS_MF_POP_DELETING_ING"
+msgstr "Ezabatzen..."
+
+msgid "IDS_CAM_BODY_OPERATION_FAILED"
+msgstr "Eragiketak huts egin du"
+
+msgid "IDS_MSG_BODY_CANCELLED_M_CONTENT"
+msgstr "Utzita"
+
+msgid "IDS_MF_OPT_DELETE_SELECTED"
+msgstr "Aukeratutakoa(k)"
+
+msgid "IDS_MF_POP_MOVED"
+msgstr "Mugitua"
+
+msgid "IDS_MF_POP_COPIED"
+msgstr "Kopiatuta"
+
+msgid "IDS_VPL_POP_NO_FILES_SELECTED"
+msgstr "Ez da fitxategirik aukeratu"
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Itxi"
+
+msgid "IDS_MF_OPT_SORT_BY_ABB"
+msgstr "Sailkatu honela"
+
+msgid "IDS_CAM_POP_LATEST"
+msgstr "Azkena"
+
+msgid "IDS_MEDIABR_POP_OLDEST_M_DATE"
+msgstr "Zaharrena"
+
+msgid "IDS_MSG_BUTTON2_CREATE"
+msgstr "Sortu"
+
+msgid "IDS_MEDIABR_POP_NO_ITEMS"
+msgstr "Elementurik ez"
+
+msgid "IDS_MEDIABR_OPT_EDIT_IMAGE"
+msgstr "Irudia editatu"
+
+msgid "IDS_MEDIABR_BODY_SELECT_PICTURE"
+msgstr "Argazkia aukeratu"
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ITEM_Q"
+msgstr "Ezabatu elementu hau?"
+
+msgid "IDS_GALLERY_OPT_SCENERY"
+msgstr "Paisaia"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PRIVATE"
+msgstr "Kendu Pribatutik"
+
+msgid "IDS_GALLERY_OPT_PETS"
+msgstr "Etxeko animaliak"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_PRIVATE"
+msgstr "Mugitu pribatura"
+
+msgid "IDS_GALLERY_OPT_FOOD"
+msgstr "Janaria"
+
+msgid "IDS_GALLERY_OPT_FLOWERS"
+msgstr "Loreak"
+
+msgid "IDS_GALLERY_OPT_DOCUMENTS"
+msgstr "Dokumentuak"
+
+msgid "IDS_GALLERY_MBODY_VEHICLES"
+msgstr "Ibilgailuak"
+
+msgid "IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED"
+msgstr "Gehienezko karaktere kopurura (%d) iritsi zara"
+
+msgid "IDS_IV_BODY_UNABLE_TO_LOAD_PHOTO_ABB"
+msgstr "Ezin da argazkia kargatu"
+
+msgid "IDS_IV_BODY_SHARE_VIA"
+msgstr "Partekatu honen bidez"
+
+msgid "IDS_IV_BODY_DONT_ASK_AGAIN"
+msgstr "Ez galdetu berriz"
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Gehienezko karaktere kopurura heldu zara"
+
+msgid "IDS_GALLERY_HEADER_TIME"
+msgstr "Ordua"
+
+msgid "IDS_EMAIL_BODY_FAILED_M_STATUS"
+msgstr "Huts egin du"
+
+msgid "IDS_EMAIL_BODY_DELETED"
+msgstr "Ezabatua"
+
+msgid "IDS_EMAIL_POP_DELETE_Q"
+msgstr "Ezabatu?"
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Ezabatzen..."
+
+msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS"
+msgstr "%d elementu erakustea"
+
+msgid "IDS_GALLERY_OPT_CREATE_ALBUM"
+msgstr "Sortu albuma"
+
+msgid "IDS_GALLERY_OPT_GALLERY_ABB"
+msgstr "Galeria"
+
+msgid "IDS_EMAIL_BUTTON_MORE"
+msgstr "Gehiago"
+
+msgid "IDS_EMAIL_OPT_ACCOUNTS"
+msgstr "Kontuak"
+
+msgid "IDS_EMAIL_POP_OPERATION_FAILED"
+msgstr "Eragiketak huts egin du"
+
+msgid "IDS_GALLERY_BODY_DOWNLOAD"
+msgstr "Deskargatu"
+
+msgid "IDS_GALLERY_BODY_SEARCH"
+msgstr "Bilatu"
+
+msgid "IDS_GALLERY_BUTTON_BACK"
+msgstr "Atzera"
+
+msgid "IDS_GALLERY_BUTTON_CAMERA"
+msgstr "Kamera"
+
+msgid "IDS_GALLERY_HEADER_ALL"
+msgstr "Guztiak"
+
+msgid "IDS_GALLERY_OPT_REFRESH"
+msgstr "Freskatu"
+
+msgid "IDS_GALLERY_OPT_REMOVE"
+msgstr "Kendu"
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_DROPBOX_ITEMS_WILL_BE_SHOWN"
+msgstr "Argazkiak Dropboxera igo ondoren, elementuak erakutsiko dira"
+
+msgid "IDS_KEEPIT_BODY_GROUP_PLAY_ABB"
+msgstr "Group Play"
+
+msgid "IDS_MEDIABR_HEADER_CONTACTS"
+msgstr "Kontaktuak"
+
+msgid "IDS_MEDIABR_OPT_CREATE"
+msgstr "Sortu"
+
+msgid "IDS_MEDIABR_OPT_DETAILS"
+msgstr "Xehetasunak"
+
+msgid "IDS_MEDIABR_OPT_PRINT"
+msgstr "Inprimatu"
+
+msgid "IDS_MEDIABR_OPT_RENAME"
+msgstr "Berrizendatu"
+
+msgid "IDS_MEDIABR_POP_DOWNLOADED"
+msgstr "Deskargatuta"
+
+msgid "IDS_MEDIABR_POP_DOWNLOADING_ING"
+msgstr "Deskargatzen..."
+
+msgid "IDS_MF_HEADER_ENTER_NAME"
+msgstr "Izena idatzi"
+
+msgid "IDS_MF_HEADER_MYFILES"
+msgstr "Nire fitxategiak"
+
+msgid "IDS_MF_POP_ADDED"
+msgstr "Gehituta"
+
+msgid "IDS_MF_POP_PROCESSING_ING"
+msgstr "Prozesatzen..."
+
+msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
+msgstr "Fitxategi mota ez bateragarria"
+
+msgid "IDS_IMGE_BODY_AFTER_YOU_TAKE_PICTURES_PICTURES_WILL_BE_SHOWN"
+msgstr "Argazkiak atera ondoren, argazkiak erakutsiko dira"
+
+msgid "IDS_IME_BODY_LANDSCAPE_MODE"
+msgstr "Paisaia modua"
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_CLOSE_DRAWER_MENU_TTS"
+msgstr "Ukitu bi aldiz tiradera menua ixteko."
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_OPEN_DRAWER_MENU_TTS"
+msgstr "Ukitu bi aldiz tiradera menua irekitzeko."
+
+msgid "IDS_EMAIL_BODY_DRAG_AND_DROP"
+msgstr "Arrastatu eta utzi"
+
+msgid "IDS_EMAIL_OPT_DRAWER_ABB"
+msgstr "Tiradera"
+
+msgid "IDS_EMAIL_POP_MOBILE_DATA_IS_DISABLED_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_ENABLE_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Datu mugikorrak ezgaituta daude. Konektatu Wi-Fi sarera bestela, edo gaitu datu mugikorrak eta saiatu berriz."
+
+msgid "IDS_EMAIL_POP_WI_FI_CONNECTION_REQUIRED_CONNECT_TO_WI_FI_NETWORK_AND_TRY_AGAIN"
+msgstr "Wi-Fi konexioa behar da. Konektatu Wi-Fi sarera eta saiatu berriz."
+
+msgid "IDS_GALLERY_HEADER_ADD_PICTURES_FROM_ABB"
+msgstr "Gehitu argazkiak hemendik"
+
+msgid "IDS_GALLERY_HEADER_CONNECTED_DEVICES_ABB"
+msgstr "Konektatutako gailuak"
+
+msgid "IDS_GALLERY_OPT_PRIVATE_CONTENT"
+msgstr "Eduki pribatua"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PS"
+msgstr "Kendu %s-(e)tik"
+
+msgid "IDS_GALLERY_OPT_REMOVE_NAME_TAG"
+msgstr "Kendu izen etiketa"
+
+msgid "IDS_GALLERY_POP_THERE_ARE_NO_EVENTS_TO_DISPLAY_CREATE_A_NEW_EVENT"
+msgstr "Ez dago erakusteko gertaerarik. Sortu gertaera berria."
+
+msgid "IDS_GALLERY_POP_TO_SCROLL_QUICKLY_TO_OTHER_DATES_TAP_AND_HOLD_THE_DATE_INDICATOR_AT_THE_TOP_RIGHT_OF_THE_SCREEN"
+msgstr "Beste data batzuetara azkar korritzeko, ukitu eta eutsi data adierazlea pantailaren goiko aldean, eskuinean."
+
+msgid "IDS_GP_POP_REMOVE_PD_ITEMS_Q"
+msgstr "Ezabatu %d elementu?"
+
+msgid "IDS_GP_POP_REMOVE_THIS_ITEM_Q"
+msgstr "Kendu elementu hau?"
+
+msgid "IDS_HELP_BODY_GALLERY"
+msgstr "Galeria"
+
+msgid "IDS_HELP_OPT_SHUFFLED_PICTURES"
+msgstr "Ausaz erakutsitako argazkiak"
+
+msgid "IDS_IV_BODY_ADD_PICTURES"
+msgstr "Gehitu argazkiak"
+
+msgid "IDS_IV_BODY_AFTER_YOU_TAG_PICTURES_AS_YOUR_FAVOURITES_PICTURES_WILL_BE_SHOWN"
+msgstr "Etiketak gogoko moduan etiketatu ondoren, argazkiak erakutsiko dira"
+
+msgid "IDS_IV_BODY_REMOVE_FACE_IDENTIFICATION_Q"
+msgstr "Kendu aurpegi identifikazioa?"
+
+msgid "IDS_IV_OPT_ASSIGN_NAME"
+msgstr "Esleitu izena"
+
+msgid "IDS_IV_OPT_CONFIRM_AS_PS"
+msgstr "Baieztatu %s gisa"
+
+msgid "IDS_IV_OPT_LAYOUT_M_PICTUERS"
+msgstr "Diseinua"
+
+msgid "IDS_IV_OPT_PD_PICTURES_ADDED"
+msgstr "%d argazki gehituta"
+
+msgid "IDS_IV_POP_THE_ALBUM_WILL_BE_CANCELLED"
+msgstr "Albuma ezeztatuko da"
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEM_ABB"
+msgstr "Ezabatu elementua"
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEMS"
+msgstr "Ezabatu elementuak"
+
+msgid "IDS_MEDIABR_BODY_1_ITEM"
+msgstr "Elementu 1"
+
+msgid "IDS_MEDIABR_BODY_10_SECONDS"
+msgstr "10 segundo"
+
+msgid "IDS_MEDIABR_BODY_5_SECONDS"
+msgstr "5 segundo"
+
+msgid "IDS_MEDIABR_BODY_NOT_ASSIGNED"
+msgstr "Esleitu gabe"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL"
+msgstr "Aurkzpen tartea"
+
+msgid "IDS_MEDIABR_BODY_UNTAGGED"
+msgstr "Etiketarik gabe"
+
+msgid "IDS_MEDIABR_OPT_3_SECONDS"
+msgstr "3 segundo"
+
+msgid "IDS_MEDIABR_OPT_ALL_CONTENT"
+msgstr "Eduki osoa"
+
+msgid "IDS_MEDIABR_OPT_CONTENT_TO_DISPLAY"
+msgstr "Erakusteko edukia"
+
+msgid "IDS_MEDIABR_OPT_DELETE_TAG"
+msgstr "Etiketa ezabatu"
+
+msgid "IDS_MEDIABR_OPT_DEVICE_CONTENT"
+msgstr "Gailuko edukia"
+
+msgid "IDS_MEDIABR_OPT_DROPBOX_CONTENT"
+msgstr "Dropbox-eko edukia"
+
+msgid "IDS_MEDIABR_OPT_FACEBOOK_CONTENT"
+msgstr "Facebook-eko edukia"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_LEFT"
+msgstr "Ezkerrera biratu"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_RIGHT"
+msgstr "Eskuinera biratu"
+
+msgid "IDS_MEDIABR_POP_IMPORT"
+msgstr "Inportatu"
+
+msgid "IDS_MEDIABR_POP_IMPORTED"
+msgstr "Inportatua"
+
+msgid "IDS_MEDIABR_POP_IMPORTING_ING"
+msgstr "Inportatzen..."
+
+msgid "IDS_MEDIABR_POP_LOADING_ING"
+msgstr "Kargatzen..."
+
+msgid "IDS_MEDIABR_POP_NEARBY_DEVICES_FOUND"
+msgstr "Aurkitu diren gertuko gailuak"
+
+msgid "IDS_MEDIABR_POP_NO_DEVICES_FOUND_SCANNING_FOR_NEARBY_DEVICES_WILL_CONTINUE_IN_BACKGROUND"
+msgstr "Ez da gailurik aurkitu. Gertuko gailuak bilatzen jarraituko da atzeko planoan."
+
+msgid "IDS_MEDIABR_POP_REFRESHED"
+msgstr "Freskatua"
+
+msgid "IDS_MEDIABR_POP_ROTATING_ING"
+msgstr "Biratzen..."
+
+msgid "IDS_MEDIABR_POP_SCAN_STARTED_DEVICE_LIST_WILL_BE_UPDATED_AUTOMATICALLY"
+msgstr "Bilaketa hasita. Gailuen zerrenda automatikoki eguneratuko da."
+
+msgid "IDS_MEDIABR_POP_STARTING_DOWNLOAD_ABB"
+msgstr "Deskarga hasten..."
+
+msgid "IDS_MF_OPT_COPY_TO"
+msgstr "Hona kopiatu"
+
+msgid "IDS_MF_OPT_MOVE_TO"
+msgstr "Hona mugitu"
+
+msgid "IDS_MF_POP_FAILED_TO_ADD_SHORTCUT"
+msgstr "Ezin izan da lastermarka gehitu"
+
+msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
+msgstr "Ez dago memoria nahikoa. Elementu batzuk ezabatu."
+
+msgid "IDS_MF_POP_REMOVED"
+msgstr "Kenduta"
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Gehitzen..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "Ezabatu %d album?"
+
+msgid "IDS_ST_BODY_PRIVATE_STORAGE"
+msgstr "Biltegi pribatua"
+
+msgid "IDS_IV_BODY_DRAG_HERE"
+msgstr "Arrastatu hona"
+
+msgid "IDS_GALLERY_BODY_NEW_M_ALBUM_ABB"
+msgstr "Berria"
+
+msgid "IDS_GALLERY_HEADER_UNGROUPEDM_PEOPLE_ABB"
+msgstr "Taldekatu gabe"
+
+msgid "IDS_KEEPIT_OPT_SCREENSHOTS_ABB"
+msgstr "Pantaila kapturak"
+
+msgid "IDS_MEDIABR_OPT_PHOTOS"
+msgstr "Argazkiak"
+
+msgid "IDS_MEDIABR_POP_DOWNLOAD_FAILED"
+msgstr "Deskarga ez dago eskuragarri"
+
+msgid "IDS_MEDIABR_POP_UNSUPPORTED_FILE"
+msgstr "Fitxategi ez bateragarria"
+
+msgid "IDS_SEARCH_BODY_1_RESULT"
+msgstr "Emaitza 1"
+
+msgid "IDS_SEARCH_BODY_PD_RESULTS"
+msgstr "%d emaitza"
+
+msgid "IDS_TW_BODY_FAVORITES"
+msgstr "Gogokoak"
+
+msgid "IDS_EMAIL_POP_DOWNLOAD_CANCELLED"
+msgstr "Deskarga ezeztatua"
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ALBUM_Q"
+msgstr "Ezabatu album hau?"
+
+msgid "IDS_CAM_HEADER_WARNING_ABB"
+msgstr "Kontuz"
+
+msgid "IDS_ALM_OPT_SORT_BY"
+msgstr "Antolatu honen bidez"
+
+msgid "IDS_CLD_OPT_TODAY"
+msgstr "Gaur"
+
+msgid "IDS_GALLERY_BODY_DATE"
+msgstr "Data"
+
+msgid "IDS_EMAIL_BODY_NO_ITEMS_TO_DISPLAY"
+msgstr "Ez dago elementurik erakusteko"
+
+msgid "IDS_PBR_BODY_TAP_HERE_TO_TAKE_PICTURES_OR_VIDEOS"
+msgstr "Ukitu hemen argazkiak ateratzeko edo bideoak grabatzeko"
+
+msgid "IDS_NFC_TPOP_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SHARED_HPD_EXCEEDED"
+msgstr "Parteka daitezkeen elementuen gehieneko kopurua (%d) gainditu da."
+
+msgid "IDS_IV_BODY_TAP_TO_ADD_IMAGES"
+msgstr "Sakatu irudiak gehitzeko"
+
+msgid "IDS_GALLERY_POP_COPY_OR_MOVE_THE_SELECTED_ITEMS_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Kopiatu edo mugitu hautatutako elementuak jatorrizko albumetik?"
+
+msgid "IDS_GALLERY_HEADER_SELECT"
+msgstr "Hautatu"
+
+msgid "IDS_VIDEO_POP_FILE_ALREADY_EXISTS"
+msgstr "Fitxategia badago lehendik"
+
+msgid "IDS_VIDEO_POP_THIS_ITEM_WILL_BE_DELETED"
+msgstr "Elementu hau ezabatu egingo da"
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_FACEBOOK_ITEMS_WILL_BE_SHOWN"
+msgstr "Argazkiak Facebookera igo ondoren, elementuak erakutsiko dira"
+
+msgid "IDS_GALLERY_HEADER_SELECT_ALL_ABB"
+msgstr "Hautatu dena"
+
+msgid "IDS_GALLERY_HEADER_PD_SELECTED_ABB"
+msgstr "%d aukeratuta"
+
+msgid "IDS_GALLERY_OPT_VIEW_AS"
+msgstr "Ikusi honela"
+
+msgid "IDS_GALLERY_OPT_DATE_HMOST_RECENT_ABB2"
+msgstr "Data (berriena)"
+
+msgid "IDS_GALLERY_OPT_DATE_HOLDEST_ABB3"
+msgstr "Data (zaharrena)"
+
+msgid "IDS_GALLERY_BODY_AFTER_YOU_TAKE_PICTURES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Argazkiak atera ondoren, hemen erakutsiko dira."
+
+msgid "IDS_CLOUD_TPOP_CANCELLING_ING"
+msgstr "Ezeztatzen..."
+
+msgid "IDS_GALLERY_OPT_FROM_DEVICE_ABB"
+msgstr "Gailutik"
+
+msgid "IDS_GALLERY_OPT_FROM_DROPBOX_ABB"
+msgstr "Dropbox-etik"
+
+msgid "IDS_GALLERY_OPT_FROM_FACEBOOK_ABB"
+msgstr "Facebook-etik"
+
+msgid "IDS_MUSIC_BODY_DOWNLOAD_COMPLETED"
+msgstr "Deskarga osatuta"
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DELETED"
+msgstr "Elementu guztiak ezabatuko dira"
+
+msgid "IDS_GALLERY_POP_1_ITEM_WILL_BE_DOWNLOADED"
+msgstr "Elementu 1 deskargatuko da."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "%d elementu deskargatuko dira."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "Elementu guztiak deskargatuko dira."
+
+msgid "IDS_GALLERY_TPOP_SELECTED_ALBUM_SAME_AS_SOURCE_ALBUM_SELECT_ANOTHER_ALBUM"
+msgstr "Hautatutakoa eta sorburukoa album bera dira. Hautatu beste album bat."
+
+msgid "IDS_HS_NPBODY_TAP_HERE_TO_ADD_IMAGES"
+msgstr "Ukitu hemen irudiak gehitzeko"
+
+msgid "IDS_MF_HEADER_UNABLE_TO_SAVE_DATA_ABB"
+msgstr "Ezin dira datuak gorde"
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_IN_YOUR_DEVICE_STORAGE_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "Ez dago nahikoa espazio gailuaren biltegian. Joan Ezarpenak > Bateria eta biltegia > Biltegia aukerara, ezabatu fitxategi batzuk eta saiatu berriz."
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_YOUR_SD_CARD_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "Ez dago nahikoa espazio SD txartelean. Joan Ezarpenak > Bateria eta biltegia > Biltegia aukerara, ezabatu fitxategi batzuk eta saiatu berriz."
+
+msgid "IDS_MF_BUTTON_CANCEL_ABB3"
+msgstr "Ezeztatu"
+
+msgid "IDS_MF_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Ez erakutsi berriz"
+
+msgid "IDS_MF_POP_USING_MOBILE_DATA_WHILE_ROAMING_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "Ezin dira datu mugikorrak erabili ibiltaritzan, zure ordainketa planaren arabera, kostu osagarriak eragin ditzakeelako."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DELETED_ABB"
+msgstr "%d elementu ezabatuko dira."
+
+msgid "IDS_GALLERY_OPT_DELETE"
+msgstr "Ezabatu"
+
+msgid "IDS_GALLERY_BODY_YESTERDAY"
+msgstr "Atzo"
+
+msgid "IDS_BR_MBODY_DOWNLOADS"
+msgstr "Deskargak"
+
+msgid "IDS_GALLERY_HEADER_COPY"
+msgstr "Kopiatu"
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Ezabatu"
+
+msgid "IDS_GALLERY_BUTTON_ALBUMS"
+msgstr "Albumak"
+
+msgid "IDS_GALLERY_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Elementuen gehieneko kopurua (%d) gainditu duzu."
+
+msgid "IDS_GALLERY_BUTTON_CANCEL"
+msgstr "Ezeztatu"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "EGINA"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "UTZI"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "EZABATU"
+
+msgid "IDS_GALLERY_POP_COPYING_ING"
+msgstr "Kopiatzen..."
+
+msgid "IDS_GALLERY_POP_MOVING_ING"
+msgstr "Mugitzen..."
+
+msgid "IDS_STORYALBUM_POP_IF_YOU_CREATE_CONTENT_THAT_INCLUDES_ITEMS_FROM_PERSONAL_STORAGE_IT_MAY_NOT_BE_HIDDEN_AUTOMATICALLY_MSG"
+msgstr "Memoria pertsonal bateko gaiak dituen edukia sortzen baduzu, baliteke automatikoki ez ezkutatzea. Hautatutako eduki pertsonala eduki berria ikustean ikus daiteke."
+
+msgid "IDS_HS_ACBUTTON_EDIT"
+msgstr "EDITATU"
+
+msgid "IDS_MF_BUTTON_SETTINGS"
+msgstr "Ezarpenak"
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "EDITATU"
+
+msgid "IDS_CLOCK_HEADER_REORDER_ABB"
+msgstr "Berrantolatu"
+
diff --git a/res/po/fi.po b/res/po/fi.po
new file mode 100644 (file)
index 0000000..a4542eb
--- /dev/null
@@ -0,0 +1,759 @@
+msgid "IDS_MF_POP_YOUR_DEVICE_IS_NOT_CONNECTED_TO_A_WI_FI_NETWORK_CONNECTING_TO_A_MOBILE_NETWORK_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "Laitetta ei ole yhdistetty Wi-Fi-verkkoon. Yhteyden muodostaminen matkapuhelinverkkoon voi aiheuttaa lisämaksuja tilauksesi mukaan."
+
+msgid "IDS_VIDEO_TPOP_MOBILE_DATA_TURNED_OFF_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_TURN_ON_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Mobiilidata on poistettu käytöstä. Muodosta sen sijaan yhteys Wi-Fi-verkon kautta tai ota mobiilidata käyttöön ja yritä uudelleen."
+
+msgid "IDS_VIDEO_BODY_AFTER_YOU_RECORD_VIDEOS_USING_THE_CAMERA_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Kun olet tallentanut kameralla videoita, ne näytetään täällä."
+
+msgid "IDS_VIDEO_TPOP_FILE_NAME_ALREADY_IN_USE"
+msgstr "Tiedoston nimi jo käytössä."
+
+msgid "IDS_MF_POP_DELETE_PD_ITEMS_Q"
+msgstr "Poistetaanko %d kohdetta?"
+
+msgid "IDS_ST_HEADER_PRIVACY"
+msgstr "Yksityisyys"
+
+msgid "IDS_COM_BODY_SEP_ABB"
+msgstr "Syy"
+
+msgid "IDS_COM_BODY_OCT_ABB"
+msgstr "Lok"
+
+msgid "IDS_COM_BODY_NOV_ABB"
+msgstr "Mar"
+
+msgid "IDS_COM_BODY_MAY_ABB"
+msgstr "tou"
+
+msgid "IDS_COM_BODY_MAR_ABB"
+msgstr "Maa"
+
+msgid "IDS_COM_BODY_JUN_ABB"
+msgstr "Kes"
+
+msgid "IDS_COM_BODY_JUL_ABB"
+msgstr "Hei"
+
+msgid "IDS_COM_BODY_JAN_ABB"
+msgstr "Tam"
+
+msgid "IDS_COM_BODY_FEB_ABB"
+msgstr "Hel"
+
+msgid "IDS_COM_BODY_DEC_ABB"
+msgstr "Jou"
+
+msgid "IDS_COM_BODY_AUG_ABB"
+msgstr "Elo"
+
+msgid "IDS_COM_BODY_APR_ABB"
+msgstr "Huh"
+
+msgid "IDS_GALLERY_HEADER_ALBUM"
+msgstr "Albumi"
+
+msgid "IDS_MEDIABR_OPT_MORE"
+msgstr "Lisää"
+
+msgid "IDS_MEDIABR_POP_INVALID_INPUT_PARAMETER"
+msgstr "Virheellinen syöteparametri"
+
+msgid "IDS_MEDIABR_POP_ENTRY_IS_EMPTY"
+msgstr "Tyhjä tieto"
+
+msgid "IDS_MEDIABR_POP_SAME_NAME_ALREADY_IN_USE"
+msgstr "Sama nimi on jo käytössä."
+
+msgid "IDS_MEDIABR_POP_UNABLE_TO_RENAME"
+msgstr "Ei voi nimetä uudelleen."
+
+msgid "IDS_MEDIABR_POP_NO_ALBUMS_SELECTED"
+msgstr "Albumeita ei ole valittu."
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ITEM"
+msgstr "Valitse kohde"
+
+msgid "IDS_MEDIABR_BODY_NO_ALBUMS"
+msgstr "Ei albumeita"
+
+msgid "IDS_MEDIABR_POP_CREATE_FOLDER_Q"
+msgstr "Luodaanko kansio?"
+
+msgid "IDS_MEDIABR_POP_RETRY_Q"
+msgstr "Yritetäänkö uudelleen?"
+
+msgid "IDS_MEDIABR_POPUP_REMOVE_Q"
+msgstr "Poistetaanko?"
+
+msgid "IDS_MEDIABR_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "%d albumia poistetaan."
+
+msgid "IDS_MEDIABR_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "1 albumi poistetaan."
+
+msgid "IDS_MEDIABR_BODY_CAMERA"
+msgstr "Kamera"
+
+msgid "IDS_MEDIABR_BUTTON_START"
+msgstr "Käynnistä"
+
+msgid "IDS_MEDIABR_OPT_SETTINGS"
+msgstr "Asetukset"
+
+msgid "IDS_MEDIABR_OPT_YES"
+msgstr "Kyllä"
+
+msgid "IDS_MEDIABR_OPT_NO"
+msgstr "Ei"
+
+msgid "IDS_MEDIABR_BUTTON_OK"
+msgstr "OK"
+
+msgid "IDS_MEDIABR_BUTTON_SAVE"
+msgstr "Tallenna"
+
+msgid "IDS_MEDIABR_POP_DELETE_Q"
+msgstr "Poistetaanko?"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_ALBUM"
+msgstr "Siirrä albumiin"
+
+msgid "IDS_GALLERY_OPT_COPY_TO_ALBUM"
+msgstr "Kopioi albumiin"
+
+msgid "IDS_GALLERY_HEADER_VIEW_BY_ABB"
+msgstr "Näyttöperuste"
+
+msgid "IDS_GALLERY_HEADER_ENTER_NAME"
+msgstr "Kirjoita nimi"
+
+msgid "IDS_MEDIABR_POP_ALL_DATA_RELATED_TO_THIS_ACCOUNT_WILL_BE_DELETED_CONTINUE_Q"
+msgstr "Kaikki tähän tiliin liittyvät tiedot poistetaan. Jatketaanko?"
+
+msgid "IDS_MEDIABR_BUTTON_CANCEL_ABB"
+msgstr "Peruuta"
+
+msgid "IDS_MEDIABR_TAB4_NEW_ALBUM"
+msgstr "Uusi albumi"
+
+msgid "IDS_MEDIABR_POP_DO_YOU_WANT_TO_COPY_OR_MOVE_THE_PICTURES_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Haluatko kopioida tai siirtää kuvat alkuperäisestä albumista?"
+
+msgid "IDS_MEDIABR_OPT_SHARE"
+msgstr "Jaa"
+
+msgid "IDS_MEDIABR_OPT_SLIDESHOW"
+msgstr "Kuvaesitys"
+
+msgid "IDS_MEDIABR_OPT_START_SLIDESHOW"
+msgstr "Käynnistä kuvaesitys"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS"
+msgstr "Kuvaesityksen asetukset"
+
+msgid "IDS_MEDIABR_POP_NO_NAME"
+msgstr "Ei nimeä"
+
+msgid "IDS_MEDIABR_BODY_ALL_ALBUMS"
+msgstr "Kaikki albumit"
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ALBUM"
+msgstr "Valitse albumi"
+
+msgid "IDS_MEDIABR_POP_1_ITEM_WILL_BE_DELETED"
+msgstr "1 kohde poistetaan."
+
+msgid "IDS_MEDIABR_OPT_ALL_ITEMS"
+msgstr "Kaikki kohteet"
+
+msgid "IDS_MEDIABR_BODY_PD_ITEMS"
+msgstr "%d kohdetta"
+
+msgid "IDS_IV_BODY_THERE_IS_ONLY_ONE_ALBUM"
+msgstr "Albumeita on vain yksi."
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "Voit valita enintään %d kohdetta."
+
+msgid "IDS_MF_BODY_DOWNLOADS"
+msgstr "Lataukset"
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Poistetaanko?"
+
+msgid "IDS_MF_SK_MOVE"
+msgstr "Siirrä"
+
+msgid "IDS_MF_POP_DELETING_ING"
+msgstr "Poistetaan..."
+
+msgid "IDS_CAM_BODY_OPERATION_FAILED"
+msgstr "Toiminto epäonnistui."
+
+msgid "IDS_MSG_BODY_CANCELLED_M_CONTENT"
+msgstr "Peruutettu"
+
+msgid "IDS_MF_OPT_DELETE_SELECTED"
+msgstr "Valittu"
+
+msgid "IDS_MF_POP_MOVED"
+msgstr "Siirretty."
+
+msgid "IDS_MF_POP_COPIED"
+msgstr "Kopioitu."
+
+msgid "IDS_VPL_POP_NO_FILES_SELECTED"
+msgstr "Ei valittuja tiedostoja."
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Sulje"
+
+msgid "IDS_MF_OPT_SORT_BY_ABB"
+msgstr "Lajitteluperuste"
+
+msgid "IDS_CAM_POP_LATEST"
+msgstr "Uusimmat"
+
+msgid "IDS_MEDIABR_POP_OLDEST_M_DATE"
+msgstr "Vanhimmat"
+
+msgid "IDS_MSG_BUTTON2_CREATE"
+msgstr "Luo"
+
+msgid "IDS_MEDIABR_POP_NO_ITEMS"
+msgstr "Ei kohteita"
+
+msgid "IDS_MEDIABR_OPT_EDIT_IMAGE"
+msgstr "Muokkaa kuvaa"
+
+msgid "IDS_MEDIABR_BODY_SELECT_PICTURE"
+msgstr "Valitse kuva"
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ITEM_Q"
+msgstr "Poistetaanko tämä kohde?"
+
+msgid "IDS_GALLERY_OPT_SCENERY"
+msgstr "Maisema"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PRIVATE"
+msgstr "Poista Yksityiset-kansiosta"
+
+msgid "IDS_GALLERY_OPT_PETS"
+msgstr "Lemmikkieläimet"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_PRIVATE"
+msgstr "Siirrä Yksityiset-kansioon"
+
+msgid "IDS_GALLERY_OPT_FOOD"
+msgstr "Ruoka"
+
+msgid "IDS_GALLERY_OPT_FLOWERS"
+msgstr "Kukat"
+
+msgid "IDS_GALLERY_OPT_DOCUMENTS"
+msgstr "Asiakirjat"
+
+msgid "IDS_GALLERY_MBODY_VEHICLES"
+msgstr "Ajoneuvot"
+
+msgid "IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED"
+msgstr "Merkkien enimmäismäärä (%d) on saavutettu."
+
+msgid "IDS_IV_BODY_UNABLE_TO_LOAD_PHOTO_ABB"
+msgstr "Valokuvaa ei voi ladata."
+
+msgid "IDS_IV_BODY_SHARE_VIA"
+msgstr "Jakotapa"
+
+msgid "IDS_IV_BODY_DONT_ASK_AGAIN"
+msgstr "Älä kysy uudelleen"
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Merkkien enimmäismäärä saavutettu."
+
+msgid "IDS_GALLERY_HEADER_TIME"
+msgstr "Aika"
+
+msgid "IDS_EMAIL_BODY_FAILED_M_STATUS"
+msgstr "Epäonnistui"
+
+msgid "IDS_EMAIL_BODY_DELETED"
+msgstr "Poistettu."
+
+msgid "IDS_EMAIL_POP_DELETE_Q"
+msgstr "Poistetaanko?"
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Poistetaan..."
+
+msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS"
+msgstr "Näytetään %d kohdetta"
+
+msgid "IDS_GALLERY_OPT_CREATE_ALBUM"
+msgstr "Luo albumi"
+
+msgid "IDS_GALLERY_OPT_GALLERY_ABB"
+msgstr "Galleria"
+
+msgid "IDS_EMAIL_BUTTON_MORE"
+msgstr "Muut"
+
+msgid "IDS_EMAIL_OPT_ACCOUNTS"
+msgstr "Tilit"
+
+msgid "IDS_EMAIL_POP_OPERATION_FAILED"
+msgstr "Toiminto epäonnistui."
+
+msgid "IDS_GALLERY_BODY_DOWNLOAD"
+msgstr "Lataa"
+
+msgid "IDS_GALLERY_BODY_SEARCH"
+msgstr "Etsi"
+
+msgid "IDS_GALLERY_BUTTON_BACK"
+msgstr "Tak."
+
+msgid "IDS_GALLERY_BUTTON_CAMERA"
+msgstr "Kamera"
+
+msgid "IDS_GALLERY_HEADER_ALL"
+msgstr "Kaikki"
+
+msgid "IDS_GALLERY_OPT_REFRESH"
+msgstr "Päivitä"
+
+msgid "IDS_GALLERY_OPT_REMOVE"
+msgstr "Poista"
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_DROPBOX_ITEMS_WILL_BE_SHOWN"
+msgstr "Kun olet lähettänyt kuvia Dropboxiin, kohteet näytetään."
+
+msgid "IDS_KEEPIT_BODY_GROUP_PLAY_ABB"
+msgstr "Group Play"
+
+msgid "IDS_MEDIABR_HEADER_CONTACTS"
+msgstr "Yhteystiedot"
+
+msgid "IDS_MEDIABR_OPT_CREATE"
+msgstr "Luo"
+
+msgid "IDS_MEDIABR_OPT_DETAILS"
+msgstr "Lisätiedot"
+
+msgid "IDS_MEDIABR_OPT_PRINT"
+msgstr "Tulosta"
+
+msgid "IDS_MEDIABR_OPT_RENAME"
+msgstr "Nimeä uudelleen"
+
+msgid "IDS_MEDIABR_POP_DOWNLOADED"
+msgstr "Ladattu."
+
+msgid "IDS_MEDIABR_POP_DOWNLOADING_ING"
+msgstr "Ladataan..."
+
+msgid "IDS_MF_HEADER_ENTER_NAME"
+msgstr "Kirjoita nimi."
+
+msgid "IDS_MF_HEADER_MYFILES"
+msgstr "Omat tiedostot"
+
+msgid "IDS_MF_POP_ADDED"
+msgstr "Lisätty."
+
+msgid "IDS_MF_POP_PROCESSING_ING"
+msgstr "Käsitellään..."
+
+msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
+msgstr "Tiedostotyyppiä ei tueta."
+
+msgid "IDS_IMGE_BODY_AFTER_YOU_TAKE_PICTURES_PICTURES_WILL_BE_SHOWN"
+msgstr "Kuvat näytetään niiden ottamisen jälkeen."
+
+msgid "IDS_IME_BODY_LANDSCAPE_MODE"
+msgstr "Vaakatila"
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_CLOSE_DRAWER_MENU_TTS"
+msgstr "Sulje vetovalikko kaksoisnapauttamalla tätä."
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_OPEN_DRAWER_MENU_TTS"
+msgstr "Avaa vetovalikko kaksoisnapauttamalla tätä."
+
+msgid "IDS_EMAIL_BODY_DRAG_AND_DROP"
+msgstr "Vedä ja pudota"
+
+msgid "IDS_EMAIL_OPT_DRAWER_ABB"
+msgstr "Laatikko"
+
+msgid "IDS_EMAIL_POP_MOBILE_DATA_IS_DISABLED_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_ENABLE_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Mobiilidata on poistettu käytöstä. Muodosta sen sijaan yhteys Wi-Fi-verkon kautta tai ota mobiilidata käyttöön ja yritä uudelleen."
+
+msgid "IDS_EMAIL_POP_WI_FI_CONNECTION_REQUIRED_CONNECT_TO_WI_FI_NETWORK_AND_TRY_AGAIN"
+msgstr "Wi-Fi-yhteys vaaditaan. Muodosta Wi-Fi-verkkoyhteys ja yritä uudelleen."
+
+msgid "IDS_GALLERY_HEADER_ADD_PICTURES_FROM_ABB"
+msgstr "Lisää kuvia kohteesta"
+
+msgid "IDS_GALLERY_HEADER_CONNECTED_DEVICES_ABB"
+msgstr "Yhdistetyt laitteet"
+
+msgid "IDS_GALLERY_OPT_PRIVATE_CONTENT"
+msgstr "Yksityinen sisältö"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PS"
+msgstr "Poista luokasta %s"
+
+msgid "IDS_GALLERY_OPT_REMOVE_NAME_TAG"
+msgstr "Poista nimitunniste"
+
+msgid "IDS_GALLERY_POP_THERE_ARE_NO_EVENTS_TO_DISPLAY_CREATE_A_NEW_EVENT"
+msgstr "Näytettäviä tapahtumia ei ole. Luo uusi tapahtuma."
+
+msgid "IDS_GALLERY_POP_TO_SCROLL_QUICKLY_TO_OTHER_DATES_TAP_AND_HOLD_THE_DATE_INDICATOR_AT_THE_TOP_RIGHT_OF_THE_SCREEN"
+msgstr "Voit siirtyä vierittämällä nopeasti muihin päivämääriin painamalla näytön oikeassa yläkulmassa olevaa päivämääräilmaisinta."
+
+msgid "IDS_GP_POP_REMOVE_PD_ITEMS_Q"
+msgstr "Poistetaanko %d kohdetta?"
+
+msgid "IDS_GP_POP_REMOVE_THIS_ITEM_Q"
+msgstr "Poistetaanko tämä kohde?"
+
+msgid "IDS_HELP_BODY_GALLERY"
+msgstr "Galleria"
+
+msgid "IDS_HELP_OPT_SHUFFLED_PICTURES"
+msgstr "Satunnaisessa järjestyksessä olevat kuvat"
+
+msgid "IDS_IV_BODY_ADD_PICTURES"
+msgstr "Lisää kuvia"
+
+msgid "IDS_IV_BODY_AFTER_YOU_TAG_PICTURES_AS_YOUR_FAVOURITES_PICTURES_WILL_BE_SHOWN"
+msgstr "Kuvat näytetään, kun olet merkinnyt ne suosikeiksi."
+
+msgid "IDS_IV_BODY_REMOVE_FACE_IDENTIFICATION_Q"
+msgstr "Poistetaanko kasvojen tunnistus?"
+
+msgid "IDS_IV_OPT_ASSIGN_NAME"
+msgstr "Liitä nimi"
+
+msgid "IDS_IV_OPT_CONFIRM_AS_PS"
+msgstr "Vahvista henkilöksi %s"
+
+msgid "IDS_IV_OPT_LAYOUT_M_PICTUERS"
+msgstr "Asettelu"
+
+msgid "IDS_IV_OPT_PD_PICTURES_ADDED"
+msgstr "%d kuvaa lisätty"
+
+msgid "IDS_IV_POP_THE_ALBUM_WILL_BE_CANCELLED"
+msgstr "Albumi peruutetaan."
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEM_ABB"
+msgstr "Poista kohde"
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEMS"
+msgstr "Poista kohteet"
+
+msgid "IDS_MEDIABR_BODY_1_ITEM"
+msgstr "1 kohde"
+
+msgid "IDS_MEDIABR_BODY_10_SECONDS"
+msgstr "10 sekuntia"
+
+msgid "IDS_MEDIABR_BODY_5_SECONDS"
+msgstr "5 sekuntia"
+
+msgid "IDS_MEDIABR_BODY_NOT_ASSIGNED"
+msgstr "Ei määritelty"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL"
+msgstr "Kuvaesityksen aikaväli"
+
+msgid "IDS_MEDIABR_BODY_UNTAGGED"
+msgstr "Merkitsemätön"
+
+msgid "IDS_MEDIABR_OPT_3_SECONDS"
+msgstr "3 sekuntia"
+
+msgid "IDS_MEDIABR_OPT_ALL_CONTENT"
+msgstr "Kaikki sisältö"
+
+msgid "IDS_MEDIABR_OPT_CONTENT_TO_DISPLAY"
+msgstr "Näytettävä sisältö"
+
+msgid "IDS_MEDIABR_OPT_DELETE_TAG"
+msgstr "Poista tunniste"
+
+msgid "IDS_MEDIABR_OPT_DEVICE_CONTENT"
+msgstr "Laitteessa oleva sisältö"
+
+msgid "IDS_MEDIABR_OPT_DROPBOX_CONTENT"
+msgstr "Dropboxissa oleva sisältö"
+
+msgid "IDS_MEDIABR_OPT_FACEBOOK_CONTENT"
+msgstr "Facebookissa oleva sisältö"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_LEFT"
+msgstr "Kierrä vastapäivään"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_RIGHT"
+msgstr "Kierrä myötäpäivään"
+
+msgid "IDS_MEDIABR_POP_IMPORT"
+msgstr "Tuo"
+
+msgid "IDS_MEDIABR_POP_IMPORTED"
+msgstr "Tuotu."
+
+msgid "IDS_MEDIABR_POP_IMPORTING_ING"
+msgstr "Tuodaan..."
+
+msgid "IDS_MEDIABR_POP_LOADING_ING"
+msgstr "Ladataan..."
+
+msgid "IDS_MEDIABR_POP_NEARBY_DEVICES_FOUND"
+msgstr "Löydetty lähellä olevia laitteita."
+
+msgid "IDS_MEDIABR_POP_NO_DEVICES_FOUND_SCANNING_FOR_NEARBY_DEVICES_WILL_CONTINUE_IN_BACKGROUND"
+msgstr "Laitteita ei löydy. Lähellä olevia laitteita haetaan taustalla."
+
+msgid "IDS_MEDIABR_POP_REFRESHED"
+msgstr "Päivitetty."
+
+msgid "IDS_MEDIABR_POP_ROTATING_ING"
+msgstr "Kierretään..."
+
+msgid "IDS_MEDIABR_POP_SCAN_STARTED_DEVICE_LIST_WILL_BE_UPDATED_AUTOMATICALLY"
+msgstr "Haku on aloitettu. Laiteluettelo päivitetään automaattisesti."
+
+msgid "IDS_MEDIABR_POP_STARTING_DOWNLOAD_ABB"
+msgstr "Lataus käynnistetään..."
+
+msgid "IDS_MF_OPT_COPY_TO"
+msgstr "Kopioi kohteeseen"
+
+msgid "IDS_MF_OPT_MOVE_TO"
+msgstr "Siirrä kohteeseen"
+
+msgid "IDS_MF_POP_FAILED_TO_ADD_SHORTCUT"
+msgstr "Pikakuvakkeen lisääminen epäonnistui."
+
+msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
+msgstr "Muisti ei riitä. Poista joitain kohteita."
+
+msgid "IDS_MF_POP_REMOVED"
+msgstr "Poistettu."
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Lisätään..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "Poistetaanko %d albumia?"
+
+msgid "IDS_ST_BODY_PRIVATE_STORAGE"
+msgstr "Yksityinen tallennustila"
+
+msgid "IDS_IV_BODY_DRAG_HERE"
+msgstr "Vedä tänne."
+
+msgid "IDS_GALLERY_BODY_NEW_M_ALBUM_ABB"
+msgstr "Uusi"
+
+msgid "IDS_GALLERY_HEADER_UNGROUPEDM_PEOPLE_ABB"
+msgstr "Ryhmitys purettu"
+
+msgid "IDS_KEEPIT_OPT_SCREENSHOTS_ABB"
+msgstr "Näyttökuvat"
+
+msgid "IDS_MEDIABR_OPT_PHOTOS"
+msgstr "Valokuvat"
+
+msgid "IDS_MEDIABR_POP_DOWNLOAD_FAILED"
+msgstr "Lataus epäonnistui."
+
+msgid "IDS_MEDIABR_POP_UNSUPPORTED_FILE"
+msgstr "Tiedostoa ei tueta."
+
+msgid "IDS_SEARCH_BODY_1_RESULT"
+msgstr "1 tulos"
+
+msgid "IDS_SEARCH_BODY_PD_RESULTS"
+msgstr "%d tulosta"
+
+msgid "IDS_TW_BODY_FAVORITES"
+msgstr "Suosikit"
+
+msgid "IDS_EMAIL_POP_DOWNLOAD_CANCELLED"
+msgstr "Lataus peruutettu."
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ALBUM_Q"
+msgstr "Poistetaanko tämä albumi?"
+
+msgid "IDS_CAM_HEADER_WARNING_ABB"
+msgstr "Varoitus"
+
+msgid "IDS_ALM_OPT_SORT_BY"
+msgstr "Lajitteluperuste"
+
+msgid "IDS_CLD_OPT_TODAY"
+msgstr "Tänään"
+
+msgid "IDS_GALLERY_BODY_DATE"
+msgstr "Päivämäärä"
+
+msgid "IDS_EMAIL_BODY_NO_ITEMS_TO_DISPLAY"
+msgstr "Ei näytettäviä kohteita."
+
+msgid "IDS_PBR_BODY_TAP_HERE_TO_TAKE_PICTURES_OR_VIDEOS"
+msgstr "Napauta tätä ottaaksesi kuvia tai videoita."
+
+msgid "IDS_NFC_TPOP_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SHARED_HPD_EXCEEDED"
+msgstr "Jaettavissa olevien kohteiden enimmäismäärä (%d) on ylitetty."
+
+msgid "IDS_IV_BODY_TAP_TO_ADD_IMAGES"
+msgstr "Lisää kuvia napauttamalla."
+
+msgid "IDS_GALLERY_POP_COPY_OR_MOVE_THE_SELECTED_ITEMS_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Kopioidaanko tai siirretäänkö valitut kohteet alkuperäisestä albumista?"
+
+msgid "IDS_GALLERY_HEADER_SELECT"
+msgstr "Valitse"
+
+msgid "IDS_VIDEO_POP_FILE_ALREADY_EXISTS"
+msgstr "Tiedosto on jo olemassa."
+
+msgid "IDS_VIDEO_POP_THIS_ITEM_WILL_BE_DELETED"
+msgstr "Tämä kohde poistetaan."
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_FACEBOOK_ITEMS_WILL_BE_SHOWN"
+msgstr "Kun olet lähettänyt kuvia Facebookiin, kohteet näytetään."
+
+msgid "IDS_GALLERY_HEADER_SELECT_ALL_ABB"
+msgstr "Valitse kaikki"
+
+msgid "IDS_GALLERY_HEADER_PD_SELECTED_ABB"
+msgstr "%d valittu"
+
+msgid "IDS_GALLERY_OPT_VIEW_AS"
+msgstr "Näyttötapa"
+
+msgid "IDS_GALLERY_OPT_DATE_HMOST_RECENT_ABB2"
+msgstr "Päiväys (uusin)"
+
+msgid "IDS_GALLERY_OPT_DATE_HOLDEST_ABB3"
+msgstr "Päiväys (vanhin)"
+
+msgid "IDS_GALLERY_BODY_AFTER_YOU_TAKE_PICTURES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Kuvat näytetään täällä niiden ottamisen jälkeen."
+
+msgid "IDS_CLOUD_TPOP_CANCELLING_ING"
+msgstr "Peruutetaan..."
+
+msgid "IDS_GALLERY_OPT_FROM_DEVICE_ABB"
+msgstr "Laitteesta"
+
+msgid "IDS_GALLERY_OPT_FROM_DROPBOX_ABB"
+msgstr "Dropboxista"
+
+msgid "IDS_GALLERY_OPT_FROM_FACEBOOK_ABB"
+msgstr "Facebookista"
+
+msgid "IDS_MUSIC_BODY_DOWNLOAD_COMPLETED"
+msgstr "Lataus valmis"
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DELETED"
+msgstr "Kaikki kohteet poistetaan."
+
+msgid "IDS_GALLERY_POP_1_ITEM_WILL_BE_DOWNLOADED"
+msgstr "1 kohde ladataan."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "%d kohdetta ladataan."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "Kaikki kohteet ladataan."
+
+msgid "IDS_GALLERY_TPOP_SELECTED_ALBUM_SAME_AS_SOURCE_ALBUM_SELECT_ANOTHER_ALBUM"
+msgstr "Valittu albumi on sama kuin lähdealbumi. Valitse toinen albumi."
+
+msgid "IDS_HS_NPBODY_TAP_HERE_TO_ADD_IMAGES"
+msgstr "Lisää kuvia napauttamalla tätä"
+
+msgid "IDS_MF_HEADER_UNABLE_TO_SAVE_DATA_ABB"
+msgstr "Tietoja ei voi tallentaa"
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_IN_YOUR_DEVICE_STORAGE_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "Laitteen muistissa ei ole tarpeeksi tilaa. Valitse Asetukset > Virta ja tallennus > Tallennus, poista joitain tiedostoja ja yritä uudelleen."
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_YOUR_SD_CARD_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "SD-kortilla ei ole tarpeeksi tilaa. Valitse Asetukset > Virta ja tallennus > Tallennus, poista joitain tiedostoja ja yritä uudelleen."
+
+msgid "IDS_MF_BUTTON_CANCEL_ABB3"
+msgstr "Peruuta"
+
+msgid "IDS_MF_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Älä näytä uudelleen"
+
+msgid "IDS_MF_POP_USING_MOBILE_DATA_WHILE_ROAMING_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "Mobiilidatan käytöstä verkkovierailun aikana voidaan periä lisämaksuja tilauksesi mukaan."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DELETED_ABB"
+msgstr "%d kohdetta poistetaan."
+
+msgid "IDS_GALLERY_OPT_DELETE"
+msgstr "Poista"
+
+msgid "IDS_GALLERY_BODY_YESTERDAY"
+msgstr "Eilen"
+
+msgid "IDS_BR_MBODY_DOWNLOADS"
+msgstr "Lataukset"
+
+msgid "IDS_GALLERY_HEADER_COPY"
+msgstr "Kopioi"
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Poista"
+
+msgid "IDS_GALLERY_BUTTON_ALBUMS"
+msgstr "Albumit"
+
+msgid "IDS_GALLERY_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Kohteiden enimmäismäärä (%d) on ylitetty."
+
+msgid "IDS_GALLERY_BUTTON_CANCEL"
+msgstr "Peruuta"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "VALMIS"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "PERUUTA"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "POISTA"
+
+msgid "IDS_GALLERY_POP_COPYING_ING"
+msgstr "Kopioidaan..."
+
+msgid "IDS_GALLERY_POP_MOVING_ING"
+msgstr "Siirretään..."
+
+msgid "IDS_STORYALBUM_POP_IF_YOU_CREATE_CONTENT_THAT_INCLUDES_ITEMS_FROM_PERSONAL_STORAGE_IT_MAY_NOT_BE_HIDDEN_AUTOMATICALLY_MSG"
+msgstr "Jos luot henkilökohtaisessa tallennustilassa olevia kohteita käsittävää sisältöä, sitä ei ehkä piiloteta automaattisesti. Valittu henkilökohtainen sisältö näkyy uutta sisältöä tarkasteltaessa."
+
+msgid "IDS_HS_ACBUTTON_EDIT"
+msgstr "MUOKKAA"
+
+msgid "IDS_MF_BUTTON_SETTINGS"
+msgstr "Asetukset"
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "MUOKKAA"
+
+msgid "IDS_CLOCK_HEADER_REORDER_ABB"
+msgstr "Järjestä uudelleen"
+
diff --git a/res/po/fr.po b/res/po/fr.po
new file mode 100644 (file)
index 0000000..904b492
--- /dev/null
@@ -0,0 +1,759 @@
+msgid "IDS_MF_POP_YOUR_DEVICE_IS_NOT_CONNECTED_TO_A_WI_FI_NETWORK_CONNECTING_TO_A_MOBILE_NETWORK_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "Votre appareil n'est connecté à aucun réseau Wi-Fi. Le fait de se connecter à des réseaux mobiles risque d'entraîner des frais supplémentaires en fonction de votre forfait."
+
+msgid "IDS_VIDEO_TPOP_MOBILE_DATA_TURNED_OFF_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_TURN_ON_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Données mobiles désactivées. Connectez-vous à un réseau Wi-Fi ou activez les données mobiles, puis réessayez."
+
+msgid "IDS_VIDEO_BODY_AFTER_YOU_RECORD_VIDEOS_USING_THE_CAMERA_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Les vidéos enregistrées avec l'appareil photo seront affichées ici."
+
+msgid "IDS_VIDEO_TPOP_FILE_NAME_ALREADY_IN_USE"
+msgstr "Le nom de fichier est déjà utilisé."
+
+msgid "IDS_MF_POP_DELETE_PD_ITEMS_Q"
+msgstr "Supprimer %d éléments ?"
+
+msgid "IDS_ST_HEADER_PRIVACY"
+msgstr "Confidentialité"
+
+msgid "IDS_COM_BODY_SEP_ABB"
+msgstr "Sep."
+
+msgid "IDS_COM_BODY_OCT_ABB"
+msgstr "Oct."
+
+msgid "IDS_COM_BODY_NOV_ABB"
+msgstr "Nov."
+
+msgid "IDS_COM_BODY_MAY_ABB"
+msgstr "Mai"
+
+msgid "IDS_COM_BODY_MAR_ABB"
+msgstr "Mar."
+
+msgid "IDS_COM_BODY_JUN_ABB"
+msgstr "Jui."
+
+msgid "IDS_COM_BODY_JUL_ABB"
+msgstr "Juil"
+
+msgid "IDS_COM_BODY_JAN_ABB"
+msgstr "Jan."
+
+msgid "IDS_COM_BODY_FEB_ABB"
+msgstr "Fév."
+
+msgid "IDS_COM_BODY_DEC_ABB"
+msgstr "Déc."
+
+msgid "IDS_COM_BODY_AUG_ABB"
+msgstr "Août"
+
+msgid "IDS_COM_BODY_APR_ABB"
+msgstr "Avr."
+
+msgid "IDS_GALLERY_HEADER_ALBUM"
+msgstr "Album"
+
+msgid "IDS_MEDIABR_OPT_MORE"
+msgstr "Plus"
+
+msgid "IDS_MEDIABR_POP_INVALID_INPUT_PARAMETER"
+msgstr "Paramètre d'entrée non valide"
+
+msgid "IDS_MEDIABR_POP_ENTRY_IS_EMPTY"
+msgstr "Entrée vide"
+
+msgid "IDS_MEDIABR_POP_SAME_NAME_ALREADY_IN_USE"
+msgstr "Nom déjà utilisé"
+
+msgid "IDS_MEDIABR_POP_UNABLE_TO_RENAME"
+msgstr "Impossible de renommer l'élément."
+
+msgid "IDS_MEDIABR_POP_NO_ALBUMS_SELECTED"
+msgstr "Aucun album sélectionné."
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ITEM"
+msgstr "Sélectionner un élément"
+
+msgid "IDS_MEDIABR_BODY_NO_ALBUMS"
+msgstr "Aucun album"
+
+msgid "IDS_MEDIABR_POP_CREATE_FOLDER_Q"
+msgstr "Créer un dossier ?"
+
+msgid "IDS_MEDIABR_POP_RETRY_Q"
+msgstr "Réessayer ?"
+
+msgid "IDS_MEDIABR_POPUP_REMOVE_Q"
+msgstr "Supprimer ?"
+
+msgid "IDS_MEDIABR_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "%d albums seront supprimés."
+
+msgid "IDS_MEDIABR_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "1 album sera supprimé."
+
+msgid "IDS_MEDIABR_BODY_CAMERA"
+msgstr "Appareil photo"
+
+msgid "IDS_MEDIABR_BUTTON_START"
+msgstr "Démarrer"
+
+msgid "IDS_MEDIABR_OPT_SETTINGS"
+msgstr "Paramètres"
+
+msgid "IDS_MEDIABR_OPT_YES"
+msgstr "Oui"
+
+msgid "IDS_MEDIABR_OPT_NO"
+msgstr "Non"
+
+msgid "IDS_MEDIABR_BUTTON_OK"
+msgstr "OK"
+
+msgid "IDS_MEDIABR_BUTTON_SAVE"
+msgstr "Enreg."
+
+msgid "IDS_MEDIABR_POP_DELETE_Q"
+msgstr "Supprimer ?"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_ALBUM"
+msgstr "Déplacer dans l'album"
+
+msgid "IDS_GALLERY_OPT_COPY_TO_ALBUM"
+msgstr "Copier dans l'album"
+
+msgid "IDS_GALLERY_HEADER_VIEW_BY_ABB"
+msgstr "Afficher par"
+
+msgid "IDS_GALLERY_HEADER_ENTER_NAME"
+msgstr "Saisir un nom"
+
+msgid "IDS_MEDIABR_POP_ALL_DATA_RELATED_TO_THIS_ACCOUNT_WILL_BE_DELETED_CONTINUE_Q"
+msgstr "Toutes les données associées à ce compte seront supprimées. Continuer ?"
+
+msgid "IDS_MEDIABR_BUTTON_CANCEL_ABB"
+msgstr "Annuler"
+
+msgid "IDS_MEDIABR_TAB4_NEW_ALBUM"
+msgstr "Nouvel album"
+
+msgid "IDS_MEDIABR_POP_DO_YOU_WANT_TO_COPY_OR_MOVE_THE_PICTURES_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Voulez-vous copier ou déplacer les images de l'album original ?"
+
+msgid "IDS_MEDIABR_OPT_SHARE"
+msgstr "Partager"
+
+msgid "IDS_MEDIABR_OPT_SLIDESHOW"
+msgstr "Diaporama"
+
+msgid "IDS_MEDIABR_OPT_START_SLIDESHOW"
+msgstr "Lancer le diaporama"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS"
+msgstr "Paramètres du diaporama"
+
+msgid "IDS_MEDIABR_POP_NO_NAME"
+msgstr "Aucun nom"
+
+msgid "IDS_MEDIABR_BODY_ALL_ALBUMS"
+msgstr "Tous les albums"
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ALBUM"
+msgstr "Sélectionner un album"
+
+msgid "IDS_MEDIABR_POP_1_ITEM_WILL_BE_DELETED"
+msgstr "1 élément va être supprimé."
+
+msgid "IDS_MEDIABR_OPT_ALL_ITEMS"
+msgstr "Tous les éléments"
+
+msgid "IDS_MEDIABR_BODY_PD_ITEMS"
+msgstr "%d éléments"
+
+msgid "IDS_IV_BODY_THERE_IS_ONLY_ONE_ALBUM"
+msgstr "Un seul album existant."
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "Vous pouvez sélectionner jusqu'à %d éléments."
+
+msgid "IDS_MF_BODY_DOWNLOADS"
+msgstr "Téléchargements"
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Supprimer ?"
+
+msgid "IDS_MF_SK_MOVE"
+msgstr "Déplacer"
+
+msgid "IDS_MF_POP_DELETING_ING"
+msgstr "Suppression..."
+
+msgid "IDS_CAM_BODY_OPERATION_FAILED"
+msgstr "Échec de l'opération."
+
+msgid "IDS_MSG_BODY_CANCELLED_M_CONTENT"
+msgstr "Annulé(s)"
+
+msgid "IDS_MF_OPT_DELETE_SELECTED"
+msgstr "Sélectionné"
+
+msgid "IDS_MF_POP_MOVED"
+msgstr "Déplacé"
+
+msgid "IDS_MF_POP_COPIED"
+msgstr "Copié"
+
+msgid "IDS_VPL_POP_NO_FILES_SELECTED"
+msgstr "Aucun fichier sélectionné."
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Fermer"
+
+msgid "IDS_MF_OPT_SORT_BY_ABB"
+msgstr "Trier par"
+
+msgid "IDS_CAM_POP_LATEST"
+msgstr "Les plus récents"
+
+msgid "IDS_MEDIABR_POP_OLDEST_M_DATE"
+msgstr "Le plus ancien"
+
+msgid "IDS_MSG_BUTTON2_CREATE"
+msgstr "Créer"
+
+msgid "IDS_MEDIABR_POP_NO_ITEMS"
+msgstr "Aucun élément"
+
+msgid "IDS_MEDIABR_OPT_EDIT_IMAGE"
+msgstr "Modifier l'image"
+
+msgid "IDS_MEDIABR_BODY_SELECT_PICTURE"
+msgstr "Sélectionner image"
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ITEM_Q"
+msgstr "Supprimer cet élément ?"
+
+msgid "IDS_GALLERY_OPT_SCENERY"
+msgstr "Paysage"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PRIVATE"
+msgstr "Supprimer de Privé"
+
+msgid "IDS_GALLERY_OPT_PETS"
+msgstr "Animaux domestiques"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_PRIVATE"
+msgstr "Déplacer dans Privé"
+
+msgid "IDS_GALLERY_OPT_FOOD"
+msgstr "Aliment"
+
+msgid "IDS_GALLERY_OPT_FLOWERS"
+msgstr "Fleurs"
+
+msgid "IDS_GALLERY_OPT_DOCUMENTS"
+msgstr "Documents"
+
+msgid "IDS_GALLERY_MBODY_VEHICLES"
+msgstr "Véhicules"
+
+msgid "IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED"
+msgstr "Le nombre maximum de caractères (%d) est atteint."
+
+msgid "IDS_IV_BODY_UNABLE_TO_LOAD_PHOTO_ABB"
+msgstr "Impossible de charger la photo."
+
+msgid "IDS_IV_BODY_SHARE_VIA"
+msgstr "Partager via"
+
+msgid "IDS_IV_BODY_DONT_ASK_AGAIN"
+msgstr "Ne plus demander"
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Nb max de caractères atteint"
+
+msgid "IDS_GALLERY_HEADER_TIME"
+msgstr "Heure"
+
+msgid "IDS_EMAIL_BODY_FAILED_M_STATUS"
+msgstr "Échec"
+
+msgid "IDS_EMAIL_BODY_DELETED"
+msgstr "Supprimé"
+
+msgid "IDS_EMAIL_POP_DELETE_Q"
+msgstr "Supprimer ?"
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Suppression..."
+
+msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS"
+msgstr "%d éléments affichés"
+
+msgid "IDS_GALLERY_OPT_CREATE_ALBUM"
+msgstr "Créer un album"
+
+msgid "IDS_GALLERY_OPT_GALLERY_ABB"
+msgstr "Galerie"
+
+msgid "IDS_EMAIL_BUTTON_MORE"
+msgstr "Plus"
+
+msgid "IDS_EMAIL_OPT_ACCOUNTS"
+msgstr "Comptes"
+
+msgid "IDS_EMAIL_POP_OPERATION_FAILED"
+msgstr "Échec de l'opération."
+
+msgid "IDS_GALLERY_BODY_DOWNLOAD"
+msgstr "Télécharger"
+
+msgid "IDS_GALLERY_BODY_SEARCH"
+msgstr "Rechercher"
+
+msgid "IDS_GALLERY_BUTTON_BACK"
+msgstr "Retour"
+
+msgid "IDS_GALLERY_BUTTON_CAMERA"
+msgstr "Appareil photo"
+
+msgid "IDS_GALLERY_HEADER_ALL"
+msgstr "Tout"
+
+msgid "IDS_GALLERY_OPT_REFRESH"
+msgstr "Actualiser"
+
+msgid "IDS_GALLERY_OPT_REMOVE"
+msgstr "Supprimer"
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_DROPBOX_ITEMS_WILL_BE_SHOWN"
+msgstr "Des éléments seront affichés après avoir chargé des images sur Dropbox."
+
+msgid "IDS_KEEPIT_BODY_GROUP_PLAY_ABB"
+msgstr "Group Play"
+
+msgid "IDS_MEDIABR_HEADER_CONTACTS"
+msgstr "Contacts"
+
+msgid "IDS_MEDIABR_OPT_CREATE"
+msgstr "Créer"
+
+msgid "IDS_MEDIABR_OPT_DETAILS"
+msgstr "Détails"
+
+msgid "IDS_MEDIABR_OPT_PRINT"
+msgstr "Imprimer"
+
+msgid "IDS_MEDIABR_OPT_RENAME"
+msgstr "Renommer"
+
+msgid "IDS_MEDIABR_POP_DOWNLOADED"
+msgstr "Téléchargement terminé"
+
+msgid "IDS_MEDIABR_POP_DOWNLOADING_ING"
+msgstr "Téléchargement en cours."
+
+msgid "IDS_MF_HEADER_ENTER_NAME"
+msgstr "Saisissez un nom."
+
+msgid "IDS_MF_HEADER_MYFILES"
+msgstr "Mes fichiers"
+
+msgid "IDS_MF_POP_ADDED"
+msgstr "Ajouté"
+
+msgid "IDS_MF_POP_PROCESSING_ING"
+msgstr "En cours..."
+
+msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
+msgstr "Type de fichier non pris en charge"
+
+msgid "IDS_IMGE_BODY_AFTER_YOU_TAKE_PICTURES_PICTURES_WILL_BE_SHOWN"
+msgstr "Les photos prises seront affichées."
+
+msgid "IDS_IME_BODY_LANDSCAPE_MODE"
+msgstr "Mode Paysage"
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_CLOSE_DRAWER_MENU_TTS"
+msgstr "Appuyez deux fois pour fermer le menu tiroir."
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_OPEN_DRAWER_MENU_TTS"
+msgstr "Appuyez deux fois pour ouvrir le menu tiroir."
+
+msgid "IDS_EMAIL_BODY_DRAG_AND_DROP"
+msgstr "Glisser-déposer"
+
+msgid "IDS_EMAIL_OPT_DRAWER_ABB"
+msgstr "Tiroir"
+
+msgid "IDS_EMAIL_POP_MOBILE_DATA_IS_DISABLED_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_ENABLE_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Les données mobiles sont désactivées. Connectez-vous au réseau Wi-Fi à la place ou activez les données mobiles et réessayez."
+
+msgid "IDS_EMAIL_POP_WI_FI_CONNECTION_REQUIRED_CONNECT_TO_WI_FI_NETWORK_AND_TRY_AGAIN"
+msgstr "Connexion Wi-Fi requise. Connectez-vous au réseau Wi-Fi et réessayez."
+
+msgid "IDS_GALLERY_HEADER_ADD_PICTURES_FROM_ABB"
+msgstr "Ajouter des images depuis"
+
+msgid "IDS_GALLERY_HEADER_CONNECTED_DEVICES_ABB"
+msgstr "Appareils connectés"
+
+msgid "IDS_GALLERY_OPT_PRIVATE_CONTENT"
+msgstr "Contenu privé"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PS"
+msgstr "Supprimer de %s"
+
+msgid "IDS_GALLERY_OPT_REMOVE_NAME_TAG"
+msgstr "Supprimer le tag de nom"
+
+msgid "IDS_GALLERY_POP_THERE_ARE_NO_EVENTS_TO_DISPLAY_CREATE_A_NEW_EVENT"
+msgstr "Aucun événement à afficher. Créez-en un nouveau."
+
+msgid "IDS_GALLERY_POP_TO_SCROLL_QUICKLY_TO_OTHER_DATES_TAP_AND_HOLD_THE_DATE_INDICATOR_AT_THE_TOP_RIGHT_OF_THE_SCREEN"
+msgstr "Pour faire défiler rapidement les autres dates, maintenez votre doigt appuyé sur l'indicateur de date, en haut à droite de l'écran."
+
+msgid "IDS_GP_POP_REMOVE_PD_ITEMS_Q"
+msgstr "Supprimer %d éléments ?"
+
+msgid "IDS_GP_POP_REMOVE_THIS_ITEM_Q"
+msgstr "Supprimer cet élément ?"
+
+msgid "IDS_HELP_BODY_GALLERY"
+msgstr "Galerie"
+
+msgid "IDS_HELP_OPT_SHUFFLED_PICTURES"
+msgstr "Images aléatoires"
+
+msgid "IDS_IV_BODY_ADD_PICTURES"
+msgstr "Ajouter des images"
+
+msgid "IDS_IV_BODY_AFTER_YOU_TAG_PICTURES_AS_YOUR_FAVOURITES_PICTURES_WILL_BE_SHOWN"
+msgstr "Une fois les photos favorites identifiées, celles-ci seront affichées."
+
+msgid "IDS_IV_BODY_REMOVE_FACE_IDENTIFICATION_Q"
+msgstr "Supprimer l'identification des visages ?"
+
+msgid "IDS_IV_OPT_ASSIGN_NAME"
+msgstr "Attribuer un nom"
+
+msgid "IDS_IV_OPT_CONFIRM_AS_PS"
+msgstr "Confirmer en tant que %s"
+
+msgid "IDS_IV_OPT_LAYOUT_M_PICTUERS"
+msgstr "Mise en forme"
+
+msgid "IDS_IV_OPT_PD_PICTURES_ADDED"
+msgstr "%d images ajoutées"
+
+msgid "IDS_IV_POP_THE_ALBUM_WILL_BE_CANCELLED"
+msgstr "L'album sera annulé."
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEM_ABB"
+msgstr "Supprimer l'élément"
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEMS"
+msgstr "Supprimer des éléments"
+
+msgid "IDS_MEDIABR_BODY_1_ITEM"
+msgstr "1 élément"
+
+msgid "IDS_MEDIABR_BODY_10_SECONDS"
+msgstr "10 secondes"
+
+msgid "IDS_MEDIABR_BODY_5_SECONDS"
+msgstr "5 secondes"
+
+msgid "IDS_MEDIABR_BODY_NOT_ASSIGNED"
+msgstr "Non affecté"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL"
+msgstr "Intervalle du diaporama"
+
+msgid "IDS_MEDIABR_BODY_UNTAGGED"
+msgstr "Non tagué"
+
+msgid "IDS_MEDIABR_OPT_3_SECONDS"
+msgstr "3 secondes"
+
+msgid "IDS_MEDIABR_OPT_ALL_CONTENT"
+msgstr "Tout le contenu"
+
+msgid "IDS_MEDIABR_OPT_CONTENT_TO_DISPLAY"
+msgstr "Contenu à afficher"
+
+msgid "IDS_MEDIABR_OPT_DELETE_TAG"
+msgstr "Supprimer libellé"
+
+msgid "IDS_MEDIABR_OPT_DEVICE_CONTENT"
+msgstr "Contenu sur l'appareil"
+
+msgid "IDS_MEDIABR_OPT_DROPBOX_CONTENT"
+msgstr "Contenu Dropbox"
+
+msgid "IDS_MEDIABR_OPT_FACEBOOK_CONTENT"
+msgstr "Contenu Facebook"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_LEFT"
+msgstr "Rotation à gauche"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_RIGHT"
+msgstr "Rotation à droite"
+
+msgid "IDS_MEDIABR_POP_IMPORT"
+msgstr "Importer"
+
+msgid "IDS_MEDIABR_POP_IMPORTED"
+msgstr "Importé"
+
+msgid "IDS_MEDIABR_POP_IMPORTING_ING"
+msgstr "Importation en cours..."
+
+msgid "IDS_MEDIABR_POP_LOADING_ING"
+msgstr "Chargement en cours."
+
+msgid "IDS_MEDIABR_POP_NEARBY_DEVICES_FOUND"
+msgstr "Appareils à proximité trouvés"
+
+msgid "IDS_MEDIABR_POP_NO_DEVICES_FOUND_SCANNING_FOR_NEARBY_DEVICES_WILL_CONTINUE_IN_BACKGROUND"
+msgstr "Aucun appareil détecté. La recherche d'appareils à proximité va continuer en arrière-plan."
+
+msgid "IDS_MEDIABR_POP_REFRESHED"
+msgstr "Actualisé"
+
+msgid "IDS_MEDIABR_POP_ROTATING_ING"
+msgstr "Rotation..."
+
+msgid "IDS_MEDIABR_POP_SCAN_STARTED_DEVICE_LIST_WILL_BE_UPDATED_AUTOMATICALLY"
+msgstr "Recherche lancée. La liste des appareils sera mise à jour automatiquement."
+
+msgid "IDS_MEDIABR_POP_STARTING_DOWNLOAD_ABB"
+msgstr "Début du téléchargement..."
+
+msgid "IDS_MF_OPT_COPY_TO"
+msgstr "Copier vers"
+
+msgid "IDS_MF_OPT_MOVE_TO"
+msgstr "Déplacer vers"
+
+msgid "IDS_MF_POP_FAILED_TO_ADD_SHORTCUT"
+msgstr "Impossible d'ajouter le raccourci."
+
+msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
+msgstr "Mémoire insuffisante. Supprimez certains éléments."
+
+msgid "IDS_MF_POP_REMOVED"
+msgstr "Supprimé"
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Ajout en cours..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "Supprimer %d albums ?"
+
+msgid "IDS_ST_BODY_PRIVATE_STORAGE"
+msgstr "Stockage privé"
+
+msgid "IDS_IV_BODY_DRAG_HERE"
+msgstr "Glissez ici."
+
+msgid "IDS_GALLERY_BODY_NEW_M_ALBUM_ABB"
+msgstr "Nouveau"
+
+msgid "IDS_GALLERY_HEADER_UNGROUPEDM_PEOPLE_ABB"
+msgstr "Non groupé"
+
+msgid "IDS_KEEPIT_OPT_SCREENSHOTS_ABB"
+msgstr "Captures d'écran"
+
+msgid "IDS_MEDIABR_OPT_PHOTOS"
+msgstr "Photos"
+
+msgid "IDS_MEDIABR_POP_DOWNLOAD_FAILED"
+msgstr "Le téléchargement a échoué."
+
+msgid "IDS_MEDIABR_POP_UNSUPPORTED_FILE"
+msgstr "Fichier non pris en charge"
+
+msgid "IDS_SEARCH_BODY_1_RESULT"
+msgstr "1 résultat"
+
+msgid "IDS_SEARCH_BODY_PD_RESULTS"
+msgstr "%d résultats"
+
+msgid "IDS_TW_BODY_FAVORITES"
+msgstr "Favoris"
+
+msgid "IDS_EMAIL_POP_DOWNLOAD_CANCELLED"
+msgstr "Téléchargement annulé"
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ALBUM_Q"
+msgstr "Supprimer cet album ?"
+
+msgid "IDS_CAM_HEADER_WARNING_ABB"
+msgstr "Avertissement"
+
+msgid "IDS_ALM_OPT_SORT_BY"
+msgstr "Trier par"
+
+msgid "IDS_CLD_OPT_TODAY"
+msgstr "Aujourd'hui"
+
+msgid "IDS_GALLERY_BODY_DATE"
+msgstr "Date"
+
+msgid "IDS_EMAIL_BODY_NO_ITEMS_TO_DISPLAY"
+msgstr "Aucun élément à afficher."
+
+msgid "IDS_PBR_BODY_TAP_HERE_TO_TAKE_PICTURES_OR_VIDEOS"
+msgstr "Appuyez ici pour prendre des photos ou des vidéos."
+
+msgid "IDS_NFC_TPOP_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SHARED_HPD_EXCEEDED"
+msgstr "Le nombre maximal d'éléments pouvant être partagés (%d) a été dépassé."
+
+msgid "IDS_IV_BODY_TAP_TO_ADD_IMAGES"
+msgstr "Appuyer pour ajouter des images."
+
+msgid "IDS_GALLERY_POP_COPY_OR_MOVE_THE_SELECTED_ITEMS_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Copier ou déplacer les éléments sélectionnés de l'album d'origine ?"
+
+msgid "IDS_GALLERY_HEADER_SELECT"
+msgstr "Sélectionner"
+
+msgid "IDS_VIDEO_POP_FILE_ALREADY_EXISTS"
+msgstr "Le fichier existe déjà."
+
+msgid "IDS_VIDEO_POP_THIS_ITEM_WILL_BE_DELETED"
+msgstr "Cet élément va être supprimé."
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_FACEBOOK_ITEMS_WILL_BE_SHOWN"
+msgstr "Des éléments seront affichés après avoir chargé des images sur Facebook."
+
+msgid "IDS_GALLERY_HEADER_SELECT_ALL_ABB"
+msgstr "Sélectionner tout"
+
+msgid "IDS_GALLERY_HEADER_PD_SELECTED_ABB"
+msgstr "%d sélectionné(s)"
+
+msgid "IDS_GALLERY_OPT_VIEW_AS"
+msgstr "Afficher en tant que"
+
+msgid "IDS_GALLERY_OPT_DATE_HMOST_RECENT_ABB2"
+msgstr "Date (les plus récents)"
+
+msgid "IDS_GALLERY_OPT_DATE_HOLDEST_ABB3"
+msgstr "Date (les plus anciens)"
+
+msgid "IDS_GALLERY_BODY_AFTER_YOU_TAKE_PICTURES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Une fois prises, les photos seront affichées ici."
+
+msgid "IDS_CLOUD_TPOP_CANCELLING_ING"
+msgstr "Annulation..."
+
+msgid "IDS_GALLERY_OPT_FROM_DEVICE_ABB"
+msgstr "À partir de l'appareil"
+
+msgid "IDS_GALLERY_OPT_FROM_DROPBOX_ABB"
+msgstr "À partir de Dropbox"
+
+msgid "IDS_GALLERY_OPT_FROM_FACEBOOK_ABB"
+msgstr "À partir de Facebook"
+
+msgid "IDS_MUSIC_BODY_DOWNLOAD_COMPLETED"
+msgstr "Téléchargement terminé"
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DELETED"
+msgstr "Tous les éléments vont être supprimés."
+
+msgid "IDS_GALLERY_POP_1_ITEM_WILL_BE_DOWNLOADED"
+msgstr "1 élément va être téléchargé."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "%d éléments vont être téléchargés."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "Tous les éléments vont être téléchargés."
+
+msgid "IDS_GALLERY_TPOP_SELECTED_ALBUM_SAME_AS_SOURCE_ALBUM_SELECT_ANOTHER_ALBUM"
+msgstr "L'album sélectionné est le même que l'album source. Sélectionnez un autre album."
+
+msgid "IDS_HS_NPBODY_TAP_HERE_TO_ADD_IMAGES"
+msgstr "Appuyez ici pour ajouter des images"
+
+msgid "IDS_MF_HEADER_UNABLE_TO_SAVE_DATA_ABB"
+msgstr "Enreg. données impossible"
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_IN_YOUR_DEVICE_STORAGE_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "Espace insuffisant sur votre appareil. Accédez à Paramètres > Alimentation et stockage > Stockage, supprimez des fichiers, puis réessayez."
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_YOUR_SD_CARD_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "Espace insuffisant sur votre carte SD. Accédez à Paramètres > Alimentation et stockage > Stockage, supprimez des fichiers, puis réessayez."
+
+msgid "IDS_MF_BUTTON_CANCEL_ABB3"
+msgstr "Annuler"
+
+msgid "IDS_MF_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Ne plus afficher"
+
+msgid "IDS_MF_POP_USING_MOBILE_DATA_WHILE_ROAMING_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "L'utilisation des données mobiles pendant l'itinérance peut entraîner des frais supplémentaires en fonction de votre forfait."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DELETED_ABB"
+msgstr "%d éléments seront supprimés."
+
+msgid "IDS_GALLERY_OPT_DELETE"
+msgstr "Supprimer"
+
+msgid "IDS_GALLERY_BODY_YESTERDAY"
+msgstr "Hier"
+
+msgid "IDS_BR_MBODY_DOWNLOADS"
+msgstr "Téléchargements"
+
+msgid "IDS_GALLERY_HEADER_COPY"
+msgstr "Copier"
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Supprimer"
+
+msgid "IDS_GALLERY_BUTTON_ALBUMS"
+msgstr "Albums"
+
+msgid "IDS_GALLERY_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Le nombre maximal d'éléments (%d) a été dépassé."
+
+msgid "IDS_GALLERY_BUTTON_CANCEL"
+msgstr "Annuler"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "OK"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ANNULER"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "SUPPRIMER"
+
+msgid "IDS_GALLERY_POP_COPYING_ING"
+msgstr "Copie..."
+
+msgid "IDS_GALLERY_POP_MOVING_ING"
+msgstr "Déplacement..."
+
+msgid "IDS_STORYALBUM_POP_IF_YOU_CREATE_CONTENT_THAT_INCLUDES_ITEMS_FROM_PERSONAL_STORAGE_IT_MAY_NOT_BE_HIDDEN_AUTOMATICALLY_MSG"
+msgstr "Si vous créez du contenu qui inclut des éléments provenant de l'espace de stockage personnel, ce contenu risque de ne pas être masqué automatiquement. Le contenu personnel sélectionné peut être affiché lors de la consultation du nouveau contenu."
+
+msgid "IDS_HS_ACBUTTON_EDIT"
+msgstr "MODIFIER"
+
+msgid "IDS_MF_BUTTON_SETTINGS"
+msgstr "Paramètres"
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "MODIFIER"
+
+msgid "IDS_CLOCK_HEADER_REORDER_ABB"
+msgstr "Réorganiser"
+
diff --git a/res/po/fr_CA.po b/res/po/fr_CA.po
new file mode 100644 (file)
index 0000000..f967a7a
--- /dev/null
@@ -0,0 +1,759 @@
+msgid "IDS_MF_POP_YOUR_DEVICE_IS_NOT_CONNECTED_TO_A_WI_FI_NETWORK_CONNECTING_TO_A_MOBILE_NETWORK_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "Votre appareil n'est connecté à aucun réseau Wifi. Le fait de se connecter à des réseaux mobiles risque d'entrainer des frais supplémentaires en fonction de votre forfait."
+
+msgid "IDS_VIDEO_TPOP_MOBILE_DATA_TURNED_OFF_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_TURN_ON_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Données mobiles désactivées. Connectez-vous à un réseau wifi ou activez les données mobiles, puis réessayez."
+
+msgid "IDS_VIDEO_BODY_AFTER_YOU_RECORD_VIDEOS_USING_THE_CAMERA_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Les vidéos enregistrées avec l'appareil photo seront affichées ici."
+
+msgid "IDS_VIDEO_TPOP_FILE_NAME_ALREADY_IN_USE"
+msgstr "Le nom de fichier est déjà utilisé."
+
+msgid "IDS_MF_POP_DELETE_PD_ITEMS_Q"
+msgstr "Supprimer %d éléments?"
+
+msgid "IDS_ST_HEADER_PRIVACY"
+msgstr "Confident."
+
+msgid "IDS_COM_BODY_SEP_ABB"
+msgstr "Sep."
+
+msgid "IDS_COM_BODY_OCT_ABB"
+msgstr "Oct."
+
+msgid "IDS_COM_BODY_NOV_ABB"
+msgstr "Nov."
+
+msgid "IDS_COM_BODY_MAY_ABB"
+msgstr "Mai"
+
+msgid "IDS_COM_BODY_MAR_ABB"
+msgstr "Mars"
+
+msgid "IDS_COM_BODY_JUN_ABB"
+msgstr "Juin"
+
+msgid "IDS_COM_BODY_JUL_ABB"
+msgstr "Jul."
+
+msgid "IDS_COM_BODY_JAN_ABB"
+msgstr "Jan."
+
+msgid "IDS_COM_BODY_FEB_ABB"
+msgstr "Fév."
+
+msgid "IDS_COM_BODY_DEC_ABB"
+msgstr "Déc."
+
+msgid "IDS_COM_BODY_AUG_ABB"
+msgstr "Aout"
+
+msgid "IDS_COM_BODY_APR_ABB"
+msgstr "Avr."
+
+msgid "IDS_GALLERY_HEADER_ALBUM"
+msgstr "Album"
+
+msgid "IDS_MEDIABR_OPT_MORE"
+msgstr "Plus"
+
+msgid "IDS_MEDIABR_POP_INVALID_INPUT_PARAMETER"
+msgstr "Paramètre d'entrée non valide."
+
+msgid "IDS_MEDIABR_POP_ENTRY_IS_EMPTY"
+msgstr "Entrée vide"
+
+msgid "IDS_MEDIABR_POP_SAME_NAME_ALREADY_IN_USE"
+msgstr "Nom déjà utilisé."
+
+msgid "IDS_MEDIABR_POP_UNABLE_TO_RENAME"
+msgstr "Impossible de renommer l'élément."
+
+msgid "IDS_MEDIABR_POP_NO_ALBUMS_SELECTED"
+msgstr "Aucun album sélectionné."
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ITEM"
+msgstr "Sélectionner un élément"
+
+msgid "IDS_MEDIABR_BODY_NO_ALBUMS"
+msgstr "Aucun album"
+
+msgid "IDS_MEDIABR_POP_CREATE_FOLDER_Q"
+msgstr "Créer un dossier ?"
+
+msgid "IDS_MEDIABR_POP_RETRY_Q"
+msgstr "Réessayer?"
+
+msgid "IDS_MEDIABR_POPUP_REMOVE_Q"
+msgstr "Retirer?"
+
+msgid "IDS_MEDIABR_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "%d albums seront supprimés."
+
+msgid "IDS_MEDIABR_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "1 album sera supprimé."
+
+msgid "IDS_MEDIABR_BODY_CAMERA"
+msgstr "Appareil photo"
+
+msgid "IDS_MEDIABR_BUTTON_START"
+msgstr "Démarrer"
+
+msgid "IDS_MEDIABR_OPT_SETTINGS"
+msgstr "Réglages"
+
+msgid "IDS_MEDIABR_OPT_YES"
+msgstr "Oui"
+
+msgid "IDS_MEDIABR_OPT_NO"
+msgstr "Non"
+
+msgid "IDS_MEDIABR_BUTTON_OK"
+msgstr "OK"
+
+msgid "IDS_MEDIABR_BUTTON_SAVE"
+msgstr "Enregistrer"
+
+msgid "IDS_MEDIABR_POP_DELETE_Q"
+msgstr "Supprimer ?"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_ALBUM"
+msgstr "Déplacer dans l'album"
+
+msgid "IDS_GALLERY_OPT_COPY_TO_ALBUM"
+msgstr "Copier dans l'album"
+
+msgid "IDS_GALLERY_HEADER_VIEW_BY_ABB"
+msgstr "Afficher par"
+
+msgid "IDS_GALLERY_HEADER_ENTER_NAME"
+msgstr "Saisir un nom"
+
+msgid "IDS_MEDIABR_POP_ALL_DATA_RELATED_TO_THIS_ACCOUNT_WILL_BE_DELETED_CONTINUE_Q"
+msgstr "Toutes les données associées à ce compte seront supprimées. Continuer ?"
+
+msgid "IDS_MEDIABR_BUTTON_CANCEL_ABB"
+msgstr "Annuler"
+
+msgid "IDS_MEDIABR_TAB4_NEW_ALBUM"
+msgstr "Nouvel album"
+
+msgid "IDS_MEDIABR_POP_DO_YOU_WANT_TO_COPY_OR_MOVE_THE_PICTURES_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Voulez-vous copier ou déplacer les images de l'album original ?"
+
+msgid "IDS_MEDIABR_OPT_SHARE"
+msgstr "Partager"
+
+msgid "IDS_MEDIABR_OPT_SLIDESHOW"
+msgstr "Diaporama"
+
+msgid "IDS_MEDIABR_OPT_START_SLIDESHOW"
+msgstr "Lancer le diaporama"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS"
+msgstr "Paramètres du diaporama"
+
+msgid "IDS_MEDIABR_POP_NO_NAME"
+msgstr "Aucun nom"
+
+msgid "IDS_MEDIABR_BODY_ALL_ALBUMS"
+msgstr "Tous les albums"
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ALBUM"
+msgstr "Sélectionner un album"
+
+msgid "IDS_MEDIABR_POP_1_ITEM_WILL_BE_DELETED"
+msgstr "1 élément va être supprimé."
+
+msgid "IDS_MEDIABR_OPT_ALL_ITEMS"
+msgstr "Tous les éléments"
+
+msgid "IDS_MEDIABR_BODY_PD_ITEMS"
+msgstr "%d éléments"
+
+msgid "IDS_IV_BODY_THERE_IS_ONLY_ONE_ALBUM"
+msgstr "Un seul album existant."
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "Vous pouvez sélectionner jusqu'à %d éléments."
+
+msgid "IDS_MF_BODY_DOWNLOADS"
+msgstr "Télécharg."
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Supprimer ?"
+
+msgid "IDS_MF_SK_MOVE"
+msgstr "Déplacer"
+
+msgid "IDS_MF_POP_DELETING_ING"
+msgstr "Suppression ..."
+
+msgid "IDS_CAM_BODY_OPERATION_FAILED"
+msgstr "Échec de l'opération."
+
+msgid "IDS_MSG_BODY_CANCELLED_M_CONTENT"
+msgstr "Annulé(s)"
+
+msgid "IDS_MF_OPT_DELETE_SELECTED"
+msgstr "Sélectionné"
+
+msgid "IDS_MF_POP_MOVED"
+msgstr "Déplacé."
+
+msgid "IDS_MF_POP_COPIED"
+msgstr "Copié."
+
+msgid "IDS_VPL_POP_NO_FILES_SELECTED"
+msgstr "Aucun fichier sélectionné."
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Fermer"
+
+msgid "IDS_MF_OPT_SORT_BY_ABB"
+msgstr "Trier par"
+
+msgid "IDS_CAM_POP_LATEST"
+msgstr "Les plus récents"
+
+msgid "IDS_MEDIABR_POP_OLDEST_M_DATE"
+msgstr "Le plus ancien"
+
+msgid "IDS_MSG_BUTTON2_CREATE"
+msgstr "Créer"
+
+msgid "IDS_MEDIABR_POP_NO_ITEMS"
+msgstr "Aucun élément"
+
+msgid "IDS_MEDIABR_OPT_EDIT_IMAGE"
+msgstr "Retoucher l'image"
+
+msgid "IDS_MEDIABR_BODY_SELECT_PICTURE"
+msgstr "Sélectionner une photo"
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ITEM_Q"
+msgstr "Supprimer cet élément ?"
+
+msgid "IDS_GALLERY_OPT_SCENERY"
+msgstr "Paysage"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PRIVATE"
+msgstr "Supprimer de Privé"
+
+msgid "IDS_GALLERY_OPT_PETS"
+msgstr "Animaux domestiques"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_PRIVATE"
+msgstr "Déplacer dans Privé"
+
+msgid "IDS_GALLERY_OPT_FOOD"
+msgstr "Aliments"
+
+msgid "IDS_GALLERY_OPT_FLOWERS"
+msgstr "Fleurs"
+
+msgid "IDS_GALLERY_OPT_DOCUMENTS"
+msgstr "Documents"
+
+msgid "IDS_GALLERY_MBODY_VEHICLES"
+msgstr "Véhicules"
+
+msgid "IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED"
+msgstr "Nombre maximum de caractères (%d) atteint"
+
+msgid "IDS_IV_BODY_UNABLE_TO_LOAD_PHOTO_ABB"
+msgstr "Impossible de charger la photo."
+
+msgid "IDS_IV_BODY_SHARE_VIA"
+msgstr "Partager via"
+
+msgid "IDS_IV_BODY_DONT_ASK_AGAIN"
+msgstr "Ne plus demander"
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Nb max de caractères atteint."
+
+msgid "IDS_GALLERY_HEADER_TIME"
+msgstr "Heure"
+
+msgid "IDS_EMAIL_BODY_FAILED_M_STATUS"
+msgstr "Échec"
+
+msgid "IDS_EMAIL_BODY_DELETED"
+msgstr "Supprimé."
+
+msgid "IDS_EMAIL_POP_DELETE_Q"
+msgstr "Supprimer ?"
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Retrait..."
+
+msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS"
+msgstr "%d éléments affichés"
+
+msgid "IDS_GALLERY_OPT_CREATE_ALBUM"
+msgstr "Créer un album"
+
+msgid "IDS_GALLERY_OPT_GALLERY_ABB"
+msgstr "Galerie"
+
+msgid "IDS_EMAIL_BUTTON_MORE"
+msgstr "Autres"
+
+msgid "IDS_EMAIL_OPT_ACCOUNTS"
+msgstr "Comptes"
+
+msgid "IDS_EMAIL_POP_OPERATION_FAILED"
+msgstr "Échec de l'opération."
+
+msgid "IDS_GALLERY_BODY_DOWNLOAD"
+msgstr "Télécharger"
+
+msgid "IDS_GALLERY_BODY_SEARCH"
+msgstr "Recherche"
+
+msgid "IDS_GALLERY_BUTTON_BACK"
+msgstr "Retour"
+
+msgid "IDS_GALLERY_BUTTON_CAMERA"
+msgstr "Appareil photo"
+
+msgid "IDS_GALLERY_HEADER_ALL"
+msgstr "Tous"
+
+msgid "IDS_GALLERY_OPT_REFRESH"
+msgstr "Actualiser"
+
+msgid "IDS_GALLERY_OPT_REMOVE"
+msgstr "Supprimer"
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_DROPBOX_ITEMS_WILL_BE_SHOWN"
+msgstr "Les images s'afficheront après leur chargement sur Dropbox."
+
+msgid "IDS_KEEPIT_BODY_GROUP_PLAY_ABB"
+msgstr "Group Play"
+
+msgid "IDS_MEDIABR_HEADER_CONTACTS"
+msgstr "Contacts"
+
+msgid "IDS_MEDIABR_OPT_CREATE"
+msgstr "Créer"
+
+msgid "IDS_MEDIABR_OPT_DETAILS"
+msgstr "Détails"
+
+msgid "IDS_MEDIABR_OPT_PRINT"
+msgstr "Imprimer"
+
+msgid "IDS_MEDIABR_OPT_RENAME"
+msgstr "Renommer"
+
+msgid "IDS_MEDIABR_POP_DOWNLOADED"
+msgstr "Télécharg."
+
+msgid "IDS_MEDIABR_POP_DOWNLOADING_ING"
+msgstr "Téléchargement..."
+
+msgid "IDS_MF_HEADER_ENTER_NAME"
+msgstr "Saisissez un nom."
+
+msgid "IDS_MF_HEADER_MYFILES"
+msgstr "Mes fichiers"
+
+msgid "IDS_MF_POP_ADDED"
+msgstr "Ajouté."
+
+msgid "IDS_MF_POP_PROCESSING_ING"
+msgstr "Traitement…"
+
+msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
+msgstr "Type de fichier non pris en charge."
+
+msgid "IDS_IMGE_BODY_AFTER_YOU_TAKE_PICTURES_PICTURES_WILL_BE_SHOWN"
+msgstr "Les photos prises seront affichées."
+
+msgid "IDS_IME_BODY_LANDSCAPE_MODE"
+msgstr "Mode Paysage"
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_CLOSE_DRAWER_MENU_TTS"
+msgstr "Touchez deux fois pour fermer le menu tiroir."
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_OPEN_DRAWER_MENU_TTS"
+msgstr "Touchez deux fois pour ouvrir le menu tiroir."
+
+msgid "IDS_EMAIL_BODY_DRAG_AND_DROP"
+msgstr "Glisser-déposer"
+
+msgid "IDS_EMAIL_OPT_DRAWER_ABB"
+msgstr "Tiroir"
+
+msgid "IDS_EMAIL_POP_MOBILE_DATA_IS_DISABLED_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_ENABLE_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Les données mobiles sont désactivées. Connectez-vous au réseau Wifi à la place ou activez les données mobiles et réessayez"
+
+msgid "IDS_EMAIL_POP_WI_FI_CONNECTION_REQUIRED_CONNECT_TO_WI_FI_NETWORK_AND_TRY_AGAIN"
+msgstr "Connexion Wifi requise. Connectez-vous au réseau Wifi et réessayez"
+
+msgid "IDS_GALLERY_HEADER_ADD_PICTURES_FROM_ABB"
+msgstr "Ajouter des images depuis"
+
+msgid "IDS_GALLERY_HEADER_CONNECTED_DEVICES_ABB"
+msgstr "Appareils connectés"
+
+msgid "IDS_GALLERY_OPT_PRIVATE_CONTENT"
+msgstr "Contenu privé"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PS"
+msgstr "Supprimer de %s"
+
+msgid "IDS_GALLERY_OPT_REMOVE_NAME_TAG"
+msgstr "Supprimer le porte-nom"
+
+msgid "IDS_GALLERY_POP_THERE_ARE_NO_EVENTS_TO_DISPLAY_CREATE_A_NEW_EVENT"
+msgstr "Aucun évènement à afficher. Créez-en un nouveau."
+
+msgid "IDS_GALLERY_POP_TO_SCROLL_QUICKLY_TO_OTHER_DATES_TAP_AND_HOLD_THE_DATE_INDICATOR_AT_THE_TOP_RIGHT_OF_THE_SCREEN"
+msgstr "Pour faire défiler rapidement les autres dates, touchez longuement l'indicateur de date, en haut à droite de l'écran."
+
+msgid "IDS_GP_POP_REMOVE_PD_ITEMS_Q"
+msgstr "Supprimer %d éléments?"
+
+msgid "IDS_GP_POP_REMOVE_THIS_ITEM_Q"
+msgstr "Supprimer cet élément ?"
+
+msgid "IDS_HELP_BODY_GALLERY"
+msgstr "Galerie"
+
+msgid "IDS_HELP_OPT_SHUFFLED_PICTURES"
+msgstr "Images aléatoires"
+
+msgid "IDS_IV_BODY_ADD_PICTURES"
+msgstr "Ajouter des images"
+
+msgid "IDS_IV_BODY_AFTER_YOU_TAG_PICTURES_AS_YOUR_FAVOURITES_PICTURES_WILL_BE_SHOWN"
+msgstr "Une fois les photos favorites identifiées, celles-ci s'afficheront."
+
+msgid "IDS_IV_BODY_REMOVE_FACE_IDENTIFICATION_Q"
+msgstr "Supprimer l'identification des visages ?"
+
+msgid "IDS_IV_OPT_ASSIGN_NAME"
+msgstr "Attribuer un nom"
+
+msgid "IDS_IV_OPT_CONFIRM_AS_PS"
+msgstr "Confirmer en tant que %s"
+
+msgid "IDS_IV_OPT_LAYOUT_M_PICTUERS"
+msgstr "Mise en forme"
+
+msgid "IDS_IV_OPT_PD_PICTURES_ADDED"
+msgstr "%d images ajoutées"
+
+msgid "IDS_IV_POP_THE_ALBUM_WILL_BE_CANCELLED"
+msgstr "L'album sera annulé."
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEM_ABB"
+msgstr "Supprimer l'élément"
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEMS"
+msgstr "Supprimer des éléments"
+
+msgid "IDS_MEDIABR_BODY_1_ITEM"
+msgstr "1 élément"
+
+msgid "IDS_MEDIABR_BODY_10_SECONDS"
+msgstr "10 secondes"
+
+msgid "IDS_MEDIABR_BODY_5_SECONDS"
+msgstr "5 secondes"
+
+msgid "IDS_MEDIABR_BODY_NOT_ASSIGNED"
+msgstr "Non affecté"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL"
+msgstr "Intervalle du diaporama"
+
+msgid "IDS_MEDIABR_BODY_UNTAGGED"
+msgstr "Non libellé"
+
+msgid "IDS_MEDIABR_OPT_3_SECONDS"
+msgstr "3 secondes"
+
+msgid "IDS_MEDIABR_OPT_ALL_CONTENT"
+msgstr "Tout le contenu"
+
+msgid "IDS_MEDIABR_OPT_CONTENT_TO_DISPLAY"
+msgstr "Contenu à afficher"
+
+msgid "IDS_MEDIABR_OPT_DELETE_TAG"
+msgstr "Supprimer le libellé"
+
+msgid "IDS_MEDIABR_OPT_DEVICE_CONTENT"
+msgstr "Contenu sur l'appareil"
+
+msgid "IDS_MEDIABR_OPT_DROPBOX_CONTENT"
+msgstr "Contenu Dropbox"
+
+msgid "IDS_MEDIABR_OPT_FACEBOOK_CONTENT"
+msgstr "Contenu Facebook"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_LEFT"
+msgstr "Pivoter vers la gauche"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_RIGHT"
+msgstr "Pivoter vers la droite"
+
+msgid "IDS_MEDIABR_POP_IMPORT"
+msgstr "Importer"
+
+msgid "IDS_MEDIABR_POP_IMPORTED"
+msgstr "Importé."
+
+msgid "IDS_MEDIABR_POP_IMPORTING_ING"
+msgstr "Importation..."
+
+msgid "IDS_MEDIABR_POP_LOADING_ING"
+msgstr "Chargement..."
+
+msgid "IDS_MEDIABR_POP_NEARBY_DEVICES_FOUND"
+msgstr "Appareils à proximité trouvés"
+
+msgid "IDS_MEDIABR_POP_NO_DEVICES_FOUND_SCANNING_FOR_NEARBY_DEVICES_WILL_CONTINUE_IN_BACKGROUND"
+msgstr "Aucun périphérique détecté. La recherche de périphériques à proximité va continuer en arrière-plan."
+
+msgid "IDS_MEDIABR_POP_REFRESHED"
+msgstr "Actualisé."
+
+msgid "IDS_MEDIABR_POP_ROTATING_ING"
+msgstr "Rotation..."
+
+msgid "IDS_MEDIABR_POP_SCAN_STARTED_DEVICE_LIST_WILL_BE_UPDATED_AUTOMATICALLY"
+msgstr "Recherche lancée. La liste des appareils sera mise à jour automatiquement."
+
+msgid "IDS_MEDIABR_POP_STARTING_DOWNLOAD_ABB"
+msgstr "Début du téléchargement..."
+
+msgid "IDS_MF_OPT_COPY_TO"
+msgstr "Copier vers"
+
+msgid "IDS_MF_OPT_MOVE_TO"
+msgstr "Déplacer vers"
+
+msgid "IDS_MF_POP_FAILED_TO_ADD_SHORTCUT"
+msgstr "Ajout du raccourci échoué"
+
+msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
+msgstr "Mémoire insuffisante. Supprimez certains éléments"
+
+msgid "IDS_MF_POP_REMOVED"
+msgstr "Retiré"
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Ajout..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "Supprimer %d albums ?"
+
+msgid "IDS_ST_BODY_PRIVATE_STORAGE"
+msgstr "Stockage privé"
+
+msgid "IDS_IV_BODY_DRAG_HERE"
+msgstr "Glissez ici."
+
+msgid "IDS_GALLERY_BODY_NEW_M_ALBUM_ABB"
+msgstr "Nouveau"
+
+msgid "IDS_GALLERY_HEADER_UNGROUPEDM_PEOPLE_ABB"
+msgstr "Non groupé"
+
+msgid "IDS_KEEPIT_OPT_SCREENSHOTS_ABB"
+msgstr "Captures d'écran"
+
+msgid "IDS_MEDIABR_OPT_PHOTOS"
+msgstr "Photos"
+
+msgid "IDS_MEDIABR_POP_DOWNLOAD_FAILED"
+msgstr "Téléchargement a échoué"
+
+msgid "IDS_MEDIABR_POP_UNSUPPORTED_FILE"
+msgstr "Fichier non pris en charge."
+
+msgid "IDS_SEARCH_BODY_1_RESULT"
+msgstr "1 résultat"
+
+msgid "IDS_SEARCH_BODY_PD_RESULTS"
+msgstr "%d résultats"
+
+msgid "IDS_TW_BODY_FAVORITES"
+msgstr "Favoris"
+
+msgid "IDS_EMAIL_POP_DOWNLOAD_CANCELLED"
+msgstr "Téléchargement annulé."
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ALBUM_Q"
+msgstr "Supprimer cet album ?"
+
+msgid "IDS_CAM_HEADER_WARNING_ABB"
+msgstr "Avertissement"
+
+msgid "IDS_ALM_OPT_SORT_BY"
+msgstr "Trier par"
+
+msgid "IDS_CLD_OPT_TODAY"
+msgstr "Aujourd'hui"
+
+msgid "IDS_GALLERY_BODY_DATE"
+msgstr "Date"
+
+msgid "IDS_EMAIL_BODY_NO_ITEMS_TO_DISPLAY"
+msgstr "Aucun élément à afficher."
+
+msgid "IDS_PBR_BODY_TAP_HERE_TO_TAKE_PICTURES_OR_VIDEOS"
+msgstr "Touchez ici pour prendre des photos ou des vidéos."
+
+msgid "IDS_NFC_TPOP_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SHARED_HPD_EXCEEDED"
+msgstr "Le nombre maximal d'éléments pouvant être partagés (%d) a été dépassé."
+
+msgid "IDS_IV_BODY_TAP_TO_ADD_IMAGES"
+msgstr "Touchez pour ajouter des images."
+
+msgid "IDS_GALLERY_POP_COPY_OR_MOVE_THE_SELECTED_ITEMS_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Copier ou déplacer les éléments sélectionnés de l'album d'origine ?"
+
+msgid "IDS_GALLERY_HEADER_SELECT"
+msgstr "Sélectionner"
+
+msgid "IDS_VIDEO_POP_FILE_ALREADY_EXISTS"
+msgstr "Le fichier existe déjà."
+
+msgid "IDS_VIDEO_POP_THIS_ITEM_WILL_BE_DELETED"
+msgstr "Cet élément va être supprimé."
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_FACEBOOK_ITEMS_WILL_BE_SHOWN"
+msgstr "Les images s'afficheront après leur chargement sur Facebook."
+
+msgid "IDS_GALLERY_HEADER_SELECT_ALL_ABB"
+msgstr "Sélectionner tout"
+
+msgid "IDS_GALLERY_HEADER_PD_SELECTED_ABB"
+msgstr "%d sélectionné(s)"
+
+msgid "IDS_GALLERY_OPT_VIEW_AS"
+msgstr "Afficher en tant que"
+
+msgid "IDS_GALLERY_OPT_DATE_HMOST_RECENT_ABB2"
+msgstr "Date (les plus récents)"
+
+msgid "IDS_GALLERY_OPT_DATE_HOLDEST_ABB3"
+msgstr "Date (les plus anciens)"
+
+msgid "IDS_GALLERY_BODY_AFTER_YOU_TAKE_PICTURES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Une fois prises, les photos seront affichées ici."
+
+msgid "IDS_CLOUD_TPOP_CANCELLING_ING"
+msgstr "Annulation..."
+
+msgid "IDS_GALLERY_OPT_FROM_DEVICE_ABB"
+msgstr "À partir de l'appareil"
+
+msgid "IDS_GALLERY_OPT_FROM_DROPBOX_ABB"
+msgstr "À partir de Dropbox"
+
+msgid "IDS_GALLERY_OPT_FROM_FACEBOOK_ABB"
+msgstr "À partir de Facebook"
+
+msgid "IDS_MUSIC_BODY_DOWNLOAD_COMPLETED"
+msgstr "Téléchargement terminé."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DELETED"
+msgstr "Tous les éléments vont être supprimés."
+
+msgid "IDS_GALLERY_POP_1_ITEM_WILL_BE_DOWNLOADED"
+msgstr "1 élément va être téléchargé."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "%d éléments vont être téléchargés."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "Tous les éléments vont être téléchargés."
+
+msgid "IDS_GALLERY_TPOP_SELECTED_ALBUM_SAME_AS_SOURCE_ALBUM_SELECT_ANOTHER_ALBUM"
+msgstr "L'album sélectionné est le même que l'album source. Sélectionnez un autre album."
+
+msgid "IDS_HS_NPBODY_TAP_HERE_TO_ADD_IMAGES"
+msgstr "Touchez ici pour ajouter des images"
+
+msgid "IDS_MF_HEADER_UNABLE_TO_SAVE_DATA_ABB"
+msgstr "Enreg. données impossible"
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_IN_YOUR_DEVICE_STORAGE_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "Espace insuffisant sur votre appareil. Accédez à Paramètres > Alimentation et stockage > Stockage, supprimez des fichiers, puis réessayez."
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_YOUR_SD_CARD_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "Espace insuffisant sur votre carte SD. Accédez à Paramètres > Alimentation et stockage > Stockage, supprimez des fichiers, puis réessayez."
+
+msgid "IDS_MF_BUTTON_CANCEL_ABB3"
+msgstr "Annuler"
+
+msgid "IDS_MF_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Ne plus afficher"
+
+msgid "IDS_MF_POP_USING_MOBILE_DATA_WHILE_ROAMING_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "L'utilisation des données mobiles pendant l'itinérance peut entrainer des frais supplémentaires en fonction de votre forfait."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DELETED_ABB"
+msgstr "%d éléments seront supprimés."
+
+msgid "IDS_GALLERY_OPT_DELETE"
+msgstr "Supprimer"
+
+msgid "IDS_GALLERY_BODY_YESTERDAY"
+msgstr "Hier"
+
+msgid "IDS_BR_MBODY_DOWNLOADS"
+msgstr "Téléchargements"
+
+msgid "IDS_GALLERY_HEADER_COPY"
+msgstr "Copier"
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Supprimer"
+
+msgid "IDS_GALLERY_BUTTON_ALBUMS"
+msgstr "Albums"
+
+msgid "IDS_GALLERY_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Le nombre maximal d'éléments (%d) a été dépassé."
+
+msgid "IDS_GALLERY_BUTTON_CANCEL"
+msgstr "Annuler"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "OK"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ANNULER"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "SUPPRIMER"
+
+msgid "IDS_GALLERY_POP_COPYING_ING"
+msgstr "Copie ..."
+
+msgid "IDS_GALLERY_POP_MOVING_ING"
+msgstr "Déplacement..."
+
+msgid "IDS_STORYALBUM_POP_IF_YOU_CREATE_CONTENT_THAT_INCLUDES_ITEMS_FROM_PERSONAL_STORAGE_IT_MAY_NOT_BE_HIDDEN_AUTOMATICALLY_MSG"
+msgstr "Si vous créez du contenu qui inclut des éléments provenant de l'espace de stockage personnel, ce contenu risque de ne pas être masqué automatiquement. Le contenu personnel sélectionné peut être affiché lors de la consultation du nouveau contenu."
+
+msgid "IDS_HS_ACBUTTON_EDIT"
+msgstr "MODIFIER"
+
+msgid "IDS_MF_BUTTON_SETTINGS"
+msgstr "Paramètres"
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "MODIFIER"
+
+msgid "IDS_CLOCK_HEADER_REORDER_ABB"
+msgstr "Réorganiser"
+
diff --git a/res/po/ga.po b/res/po/ga.po
new file mode 100644 (file)
index 0000000..f391cea
--- /dev/null
@@ -0,0 +1,759 @@
+msgid "IDS_MF_POP_YOUR_DEVICE_IS_NOT_CONNECTED_TO_A_WI_FI_NETWORK_CONNECTING_TO_A_MOBILE_NETWORK_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "Níl do ghléas nasctha le líonra Wi-Fi. Is féidir go ngearrfar táillí breise ar nascadh le líonra móibíleach ag brath ar do phlean íocaíochta."
+
+msgid "IDS_VIDEO_TPOP_MOBILE_DATA_TURNED_OFF_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_TURN_ON_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Sonraí móibíleacha casta as. Nasc le líonra Wi-Fi ina ionad, nó cas Sonraí móibíleacha air agus triail arís."
+
+msgid "IDS_VIDEO_BODY_AFTER_YOU_RECORD_VIDEOS_USING_THE_CAMERA_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Tar éis duit físeáin a thaifeadadh leis an gceamara, taispeánfar anseo iad."
+
+msgid "IDS_VIDEO_TPOP_FILE_NAME_ALREADY_IN_USE"
+msgstr "Comhadainm in úsáid cheana."
+
+msgid "IDS_MF_POP_DELETE_PD_ITEMS_Q"
+msgstr "Scrios míreanna %d?"
+
+msgid "IDS_ST_HEADER_PRIVACY"
+msgstr "Príobháideacht"
+
+msgid "IDS_COM_BODY_SEP_ABB"
+msgstr "M.F."
+
+msgid "IDS_COM_BODY_OCT_ABB"
+msgstr "D.F."
+
+msgid "IDS_COM_BODY_NOV_ABB"
+msgstr "Samh"
+
+msgid "IDS_COM_BODY_MAY_ABB"
+msgstr "Beal"
+
+msgid "IDS_COM_BODY_MAR_ABB"
+msgstr "Már."
+
+msgid "IDS_COM_BODY_JUN_ABB"
+msgstr "Meit"
+
+msgid "IDS_COM_BODY_JUL_ABB"
+msgstr "Iúil"
+
+msgid "IDS_COM_BODY_JAN_ABB"
+msgstr "Ean."
+
+msgid "IDS_COM_BODY_FEB_ABB"
+msgstr "Feab."
+
+msgid "IDS_COM_BODY_DEC_ABB"
+msgstr "Nol."
+
+msgid "IDS_COM_BODY_AUG_ABB"
+msgstr "Lún."
+
+msgid "IDS_COM_BODY_APR_ABB"
+msgstr "Aib."
+
+msgid "IDS_GALLERY_HEADER_ALBUM"
+msgstr "Albam"
+
+msgid "IDS_MEDIABR_OPT_MORE"
+msgstr "Tuilleadh"
+
+msgid "IDS_MEDIABR_POP_INVALID_INPUT_PARAMETER"
+msgstr "Paraiméadar ionchuir neamhbhailí."
+
+msgid "IDS_MEDIABR_POP_ENTRY_IS_EMPTY"
+msgstr "Tá an iontráil folamh"
+
+msgid "IDS_MEDIABR_POP_SAME_NAME_ALREADY_IN_USE"
+msgstr "Ainm céanna in úsáid cheana."
+
+msgid "IDS_MEDIABR_POP_UNABLE_TO_RENAME"
+msgstr "Ní féidir athainmniú."
+
+msgid "IDS_MEDIABR_POP_NO_ALBUMS_SELECTED"
+msgstr "Níor roghnaíodh albam."
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ITEM"
+msgstr "Roghnaigh mír"
+
+msgid "IDS_MEDIABR_BODY_NO_ALBUMS"
+msgstr "Níl albaim ann"
+
+msgid "IDS_MEDIABR_POP_CREATE_FOLDER_Q"
+msgstr "Déan fillteán?"
+
+msgid "IDS_MEDIABR_POP_RETRY_Q"
+msgstr "Atriail?"
+
+msgid "IDS_MEDIABR_POPUP_REMOVE_Q"
+msgstr "Bain?"
+
+msgid "IDS_MEDIABR_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "Scriosfar %d albam"
+
+msgid "IDS_MEDIABR_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "Scriosfar 1 albam"
+
+msgid "IDS_MEDIABR_BODY_CAMERA"
+msgstr "Ceamara"
+
+msgid "IDS_MEDIABR_BUTTON_START"
+msgstr "Tosaigh"
+
+msgid "IDS_MEDIABR_OPT_SETTINGS"
+msgstr "Socruithe"
+
+msgid "IDS_MEDIABR_OPT_YES"
+msgstr "Déan é"
+
+msgid "IDS_MEDIABR_OPT_NO"
+msgstr "Ná déan é"
+
+msgid "IDS_MEDIABR_BUTTON_OK"
+msgstr "OK"
+
+msgid "IDS_MEDIABR_BUTTON_SAVE"
+msgstr "Sábháil"
+
+msgid "IDS_MEDIABR_POP_DELETE_Q"
+msgstr "Scrios?"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_ALBUM"
+msgstr "Bog chuig Albam"
+
+msgid "IDS_GALLERY_OPT_COPY_TO_ALBUM"
+msgstr "Cóipeáil chuig albam"
+
+msgid "IDS_GALLERY_HEADER_VIEW_BY_ABB"
+msgstr "Amharc de réir"
+
+msgid "IDS_GALLERY_HEADER_ENTER_NAME"
+msgstr "Iontráil ainm"
+
+msgid "IDS_MEDIABR_POP_ALL_DATA_RELATED_TO_THIS_ACCOUNT_WILL_BE_DELETED_CONTINUE_Q"
+msgstr "Scriosfar gach sonra a bhaineann leis an gcuntas seo. Ar aghaidh?"
+
+msgid "IDS_MEDIABR_BUTTON_CANCEL_ABB"
+msgstr "Cuir ar ceal"
+
+msgid "IDS_MEDIABR_TAB4_NEW_ALBUM"
+msgstr "Albam nua"
+
+msgid "IDS_MEDIABR_POP_DO_YOU_WANT_TO_COPY_OR_MOVE_THE_PICTURES_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "An mian leat na pictiúir a chóipeáil nó a bhogadh ón albam bunaidh?"
+
+msgid "IDS_MEDIABR_OPT_SHARE"
+msgstr "Comhroinn"
+
+msgid "IDS_MEDIABR_OPT_SLIDESHOW"
+msgstr "Taispeántas sleamhnán"
+
+msgid "IDS_MEDIABR_OPT_START_SLIDESHOW"
+msgstr "Tosaigh ar thaispeántas sleamhnán"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS"
+msgstr "Socruithe taispeántais sleamhnán"
+
+msgid "IDS_MEDIABR_POP_NO_NAME"
+msgstr "Níl ainm ann"
+
+msgid "IDS_MEDIABR_BODY_ALL_ALBUMS"
+msgstr "Gach albam"
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ALBUM"
+msgstr "Roghnaigh albam"
+
+msgid "IDS_MEDIABR_POP_1_ITEM_WILL_BE_DELETED"
+msgstr "Scriosfar 1 mhír"
+
+msgid "IDS_MEDIABR_OPT_ALL_ITEMS"
+msgstr "Gach mír"
+
+msgid "IDS_MEDIABR_BODY_PD_ITEMS"
+msgstr "%d mír"
+
+msgid "IDS_IV_BODY_THERE_IS_ONLY_ONE_ALBUM"
+msgstr "Níl ach albam amháin ann"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "Is féidir leat suas le %d mír a roghnú"
+
+msgid "IDS_MF_BODY_DOWNLOADS"
+msgstr "Ioslódálacha"
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Scrios?"
+
+msgid "IDS_MF_SK_MOVE"
+msgstr "Bog"
+
+msgid "IDS_MF_POP_DELETING_ING"
+msgstr "Ag scriosadh..."
+
+msgid "IDS_CAM_BODY_OPERATION_FAILED"
+msgstr "Theip ar oibríocht."
+
+msgid "IDS_MSG_BODY_CANCELLED_M_CONTENT"
+msgstr "Curtha ar ceal"
+
+msgid "IDS_MF_OPT_DELETE_SELECTED"
+msgstr "Roghnaithe"
+
+msgid "IDS_MF_POP_MOVED"
+msgstr "Bogtha."
+
+msgid "IDS_MF_POP_COPIED"
+msgstr "Cóipeáilte."
+
+msgid "IDS_VPL_POP_NO_FILES_SELECTED"
+msgstr "Níor roghnaíodh comhaid."
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Dún"
+
+msgid "IDS_MF_OPT_SORT_BY_ABB"
+msgstr "Sórtáil de réir"
+
+msgid "IDS_CAM_POP_LATEST"
+msgstr "Is déanaí"
+
+msgid "IDS_MEDIABR_POP_OLDEST_M_DATE"
+msgstr "Is sine"
+
+msgid "IDS_MSG_BUTTON2_CREATE"
+msgstr "Cruth/naigh"
+
+msgid "IDS_MEDIABR_POP_NO_ITEMS"
+msgstr "Níl míreanna ann"
+
+msgid "IDS_MEDIABR_OPT_EDIT_IMAGE"
+msgstr "Cuir íomhá in eagar"
+
+msgid "IDS_MEDIABR_BODY_SELECT_PICTURE"
+msgstr "Roghnaigh pictiúr"
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ITEM_Q"
+msgstr "Scrios an mhír seo?"
+
+msgid "IDS_GALLERY_OPT_SCENERY"
+msgstr "Radharcra"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PRIVATE"
+msgstr "Bain ó Phríobháideach"
+
+msgid "IDS_GALLERY_OPT_PETS"
+msgstr "Peataí"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_PRIVATE"
+msgstr "Bog chuig Príobháideach"
+
+msgid "IDS_GALLERY_OPT_FOOD"
+msgstr "Bia"
+
+msgid "IDS_GALLERY_OPT_FLOWERS"
+msgstr "Bláthanna"
+
+msgid "IDS_GALLERY_OPT_DOCUMENTS"
+msgstr "Doiciméid"
+
+msgid "IDS_GALLERY_MBODY_VEHICLES"
+msgstr "Feithiclí"
+
+msgid "IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED"
+msgstr "Uaslíon na gcarachtar (%d) bainte amach."
+
+msgid "IDS_IV_BODY_UNABLE_TO_LOAD_PHOTO_ABB"
+msgstr "Ní féidir an grianghraf a lódáil."
+
+msgid "IDS_IV_BODY_SHARE_VIA"
+msgstr "Comhroinn le"
+
+msgid "IDS_IV_BODY_DONT_ASK_AGAIN"
+msgstr "Ná hiarr arís"
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Uaslíon na gcarachtar bainte amach."
+
+msgid "IDS_GALLERY_HEADER_TIME"
+msgstr "Am"
+
+msgid "IDS_EMAIL_BODY_FAILED_M_STATUS"
+msgstr "Theip air"
+
+msgid "IDS_EMAIL_BODY_DELETED"
+msgstr "Scriosta."
+
+msgid "IDS_EMAIL_POP_DELETE_Q"
+msgstr "Scrios?"
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Ag baint..."
+
+msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS"
+msgstr "%d mír á dtaispeáint"
+
+msgid "IDS_GALLERY_OPT_CREATE_ALBUM"
+msgstr "Cruthaigh albam"
+
+msgid "IDS_GALLERY_OPT_GALLERY_ABB"
+msgstr "Gailearaí"
+
+msgid "IDS_EMAIL_BUTTON_MORE"
+msgstr "Tuilleadh"
+
+msgid "IDS_EMAIL_OPT_ACCOUNTS"
+msgstr "Cuntais"
+
+msgid "IDS_EMAIL_POP_OPERATION_FAILED"
+msgstr "Theip ar oibríocht."
+
+msgid "IDS_GALLERY_BODY_DOWNLOAD"
+msgstr "Íoslódáil"
+
+msgid "IDS_GALLERY_BODY_SEARCH"
+msgstr "Cuardaigh"
+
+msgid "IDS_GALLERY_BUTTON_BACK"
+msgstr "Siar"
+
+msgid "IDS_GALLERY_BUTTON_CAMERA"
+msgstr "Ceamara"
+
+msgid "IDS_GALLERY_HEADER_ALL"
+msgstr "Gach"
+
+msgid "IDS_GALLERY_OPT_REFRESH"
+msgstr "Athnuaigh"
+
+msgid "IDS_GALLERY_OPT_REMOVE"
+msgstr "Bain"
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_DROPBOX_ITEMS_WILL_BE_SHOWN"
+msgstr "Tar éis duit pictiúir a uaslódáil chuig Dropbox, taispeánfar míreanna"
+
+msgid "IDS_KEEPIT_BODY_GROUP_PLAY_ABB"
+msgstr "Group Play"
+
+msgid "IDS_MEDIABR_HEADER_CONTACTS"
+msgstr "Teagmhálaithe"
+
+msgid "IDS_MEDIABR_OPT_CREATE"
+msgstr "Cruthaigh"
+
+msgid "IDS_MEDIABR_OPT_DETAILS"
+msgstr "Sonraí"
+
+msgid "IDS_MEDIABR_OPT_PRINT"
+msgstr "Priontáil"
+
+msgid "IDS_MEDIABR_OPT_RENAME"
+msgstr "Athainmnigh"
+
+msgid "IDS_MEDIABR_POP_DOWNLOADED"
+msgstr "Íoslódáilte."
+
+msgid "IDS_MEDIABR_POP_DOWNLOADING_ING"
+msgstr "Ag íoslódáil..."
+
+msgid "IDS_MF_HEADER_ENTER_NAME"
+msgstr "Iontráil ainm"
+
+msgid "IDS_MF_HEADER_MYFILES"
+msgstr "Mo Chomhaid"
+
+msgid "IDS_MF_POP_ADDED"
+msgstr "Curtha leis."
+
+msgid "IDS_MF_POP_PROCESSING_ING"
+msgstr "Ag próiseáil..."
+
+msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
+msgstr "Cineál comhaid gan tacú."
+
+msgid "IDS_IMGE_BODY_AFTER_YOU_TAKE_PICTURES_PICTURES_WILL_BE_SHOWN"
+msgstr "Tar éis duit pictiúir a thógáil, taispeánfar na pictiúir"
+
+msgid "IDS_IME_BODY_LANDSCAPE_MODE"
+msgstr "Mód tírdhreacha"
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_CLOSE_DRAWER_MENU_TTS"
+msgstr "Déthapáil leis an roghchlár tarraiceáin a dhúnadh."
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_OPEN_DRAWER_MENU_TTS"
+msgstr "Déthapáil leis an roghchlár tarraiceáin a oscailt."
+
+msgid "IDS_EMAIL_BODY_DRAG_AND_DROP"
+msgstr "Tarraing agus scaoil"
+
+msgid "IDS_EMAIL_OPT_DRAWER_ABB"
+msgstr "Tarraiceán"
+
+msgid "IDS_EMAIL_POP_MOBILE_DATA_IS_DISABLED_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_ENABLE_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Tá sonraí móibíleacha díchumasaithe. Nasc le líonra Wi-Fi, nó cumasaigh sonraí móibíleacha agus triail arís é."
+
+msgid "IDS_EMAIL_POP_WI_FI_CONNECTION_REQUIRED_CONNECT_TO_WI_FI_NETWORK_AND_TRY_AGAIN"
+msgstr "Nasc Wi-Fi de dhíth. Nasc le líonra Wi-Fi agus triail arís."
+
+msgid "IDS_GALLERY_HEADER_ADD_PICTURES_FROM_ABB"
+msgstr "Cuir pictiúir leis ó"
+
+msgid "IDS_GALLERY_HEADER_CONNECTED_DEVICES_ABB"
+msgstr "Gléasanna nasctha"
+
+msgid "IDS_GALLERY_OPT_PRIVATE_CONTENT"
+msgstr "Inneachar príobháideach"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PS"
+msgstr "Bain ó %s"
+
+msgid "IDS_GALLERY_OPT_REMOVE_NAME_TAG"
+msgstr "Bain clib ainm"
+
+msgid "IDS_GALLERY_POP_THERE_ARE_NO_EVENTS_TO_DISPLAY_CREATE_A_NEW_EVENT"
+msgstr "Níl imeachtaí ann le taispeáint. Cruthaigh imeacht nua."
+
+msgid "IDS_GALLERY_POP_TO_SCROLL_QUICKLY_TO_OTHER_DATES_TAP_AND_HOLD_THE_DATE_INDICATOR_AT_THE_TOP_RIGHT_OF_THE_SCREEN"
+msgstr "Le scrollú go tapa chuig dátaí eile, tapáil agus coinnigh an táscaire dáta ar bharr ar dheis an scáileáin ."
+
+msgid "IDS_GP_POP_REMOVE_PD_ITEMS_Q"
+msgstr "Bain %d mír?"
+
+msgid "IDS_GP_POP_REMOVE_THIS_ITEM_Q"
+msgstr "Bain an mhír seo?"
+
+msgid "IDS_HELP_BODY_GALLERY"
+msgstr "Gailearaí"
+
+msgid "IDS_HELP_OPT_SHUFFLED_PICTURES"
+msgstr "Pictiúir shuaite"
+
+msgid "IDS_IV_BODY_ADD_PICTURES"
+msgstr "Cuir pictiúir leis"
+
+msgid "IDS_IV_BODY_AFTER_YOU_TAG_PICTURES_AS_YOUR_FAVOURITES_PICTURES_WILL_BE_SHOWN"
+msgstr "Tar éis duit pictiúir a chlibeáil mar do cheanáin, taispeánfar na pictiúir"
+
+msgid "IDS_IV_BODY_REMOVE_FACE_IDENTIFICATION_Q"
+msgstr "Bain aithint aghaidhe?"
+
+msgid "IDS_IV_OPT_ASSIGN_NAME"
+msgstr "Sann ainm"
+
+msgid "IDS_IV_OPT_CONFIRM_AS_PS"
+msgstr "Deimhnigh mar %s"
+
+msgid "IDS_IV_OPT_LAYOUT_M_PICTUERS"
+msgstr "Leagan amach"
+
+msgid "IDS_IV_OPT_PD_PICTURES_ADDED"
+msgstr "Cuireadh %d pictiúr leis"
+
+msgid "IDS_IV_POP_THE_ALBUM_WILL_BE_CANCELLED"
+msgstr "Cuirfear an t-albam ar ceal"
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEM_ABB"
+msgstr "Scrios mír"
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEMS"
+msgstr "Scrios míreanna"
+
+msgid "IDS_MEDIABR_BODY_1_ITEM"
+msgstr "1 mhír"
+
+msgid "IDS_MEDIABR_BODY_10_SECONDS"
+msgstr "10 soicind"
+
+msgid "IDS_MEDIABR_BODY_5_SECONDS"
+msgstr "5 shoicind"
+
+msgid "IDS_MEDIABR_BODY_NOT_ASSIGNED"
+msgstr "Neamhsannta"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL"
+msgstr "Eatramh taispeántais sleamhnán"
+
+msgid "IDS_MEDIABR_BODY_UNTAGGED"
+msgstr "Neamhchlibeáilte"
+
+msgid "IDS_MEDIABR_OPT_3_SECONDS"
+msgstr "3 shoicind"
+
+msgid "IDS_MEDIABR_OPT_ALL_CONTENT"
+msgstr "Gach inneachar"
+
+msgid "IDS_MEDIABR_OPT_CONTENT_TO_DISPLAY"
+msgstr "Inneachar le taispeáint"
+
+msgid "IDS_MEDIABR_OPT_DELETE_TAG"
+msgstr "Scrios clib"
+
+msgid "IDS_MEDIABR_OPT_DEVICE_CONTENT"
+msgstr "Inneachar an ghléis"
+
+msgid "IDS_MEDIABR_OPT_DROPBOX_CONTENT"
+msgstr "Inneachar Dropbox"
+
+msgid "IDS_MEDIABR_OPT_FACEBOOK_CONTENT"
+msgstr "Inneachar Facebook"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_LEFT"
+msgstr "Rothlaigh ar chlé"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_RIGHT"
+msgstr "Rothlaigh ar dheis"
+
+msgid "IDS_MEDIABR_POP_IMPORT"
+msgstr "Iompórtáil"
+
+msgid "IDS_MEDIABR_POP_IMPORTED"
+msgstr "Iompórtáilte."
+
+msgid "IDS_MEDIABR_POP_IMPORTING_ING"
+msgstr "Ag iompórtáil..."
+
+msgid "IDS_MEDIABR_POP_LOADING_ING"
+msgstr "Ag lódáil..."
+
+msgid "IDS_MEDIABR_POP_NEARBY_DEVICES_FOUND"
+msgstr "Aimsíodh gléasanna in aice láimhe."
+
+msgid "IDS_MEDIABR_POP_NO_DEVICES_FOUND_SCANNING_FOR_NEARBY_DEVICES_WILL_CONTINUE_IN_BACKGROUND"
+msgstr "Níor aimsíodh gléasanna. Leanfar le scanadh sa chúlra le haghaidh gléasanna in aice láimhe."
+
+msgid "IDS_MEDIABR_POP_REFRESHED"
+msgstr "Athnuaite."
+
+msgid "IDS_MEDIABR_POP_ROTATING_ING"
+msgstr "Ag rothlú..."
+
+msgid "IDS_MEDIABR_POP_SCAN_STARTED_DEVICE_LIST_WILL_BE_UPDATED_AUTOMATICALLY"
+msgstr "Scanadh tosaithe. Nuashonrófar an liosta gléasanna go huathoibríoch."
+
+msgid "IDS_MEDIABR_POP_STARTING_DOWNLOAD_ABB"
+msgstr "Ag tosú ar íoslódáil..."
+
+msgid "IDS_MF_OPT_COPY_TO"
+msgstr "Cóipeáil chuig"
+
+msgid "IDS_MF_OPT_MOVE_TO"
+msgstr "Bog chuig"
+
+msgid "IDS_MF_POP_FAILED_TO_ADD_SHORTCUT"
+msgstr "Theip ar chur aicearra leis."
+
+msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
+msgstr "Easpa cuimhne. Scrios roinnt míreanna."
+
+msgid "IDS_MF_POP_REMOVED"
+msgstr "Bainte."
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Ag cur leis..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "Scrios %d albam?"
+
+msgid "IDS_ST_BODY_PRIVATE_STORAGE"
+msgstr "Stóras príobháideach"
+
+msgid "IDS_IV_BODY_DRAG_HERE"
+msgstr "Tarraing anseo"
+
+msgid "IDS_GALLERY_BODY_NEW_M_ALBUM_ABB"
+msgstr "Nua"
+
+msgid "IDS_GALLERY_HEADER_UNGROUPEDM_PEOPLE_ABB"
+msgstr "Neamhghrúpáilte"
+
+msgid "IDS_KEEPIT_OPT_SCREENSHOTS_ABB"
+msgstr "Seatanna scáileán"
+
+msgid "IDS_MEDIABR_OPT_PHOTOS"
+msgstr "Grianghraif"
+
+msgid "IDS_MEDIABR_POP_DOWNLOAD_FAILED"
+msgstr "Theip ar íoslódáil."
+
+msgid "IDS_MEDIABR_POP_UNSUPPORTED_FILE"
+msgstr "Comhad gan tacú."
+
+msgid "IDS_SEARCH_BODY_1_RESULT"
+msgstr "1 toradh"
+
+msgid "IDS_SEARCH_BODY_PD_RESULTS"
+msgstr "%d toradh"
+
+msgid "IDS_TW_BODY_FAVORITES"
+msgstr "Ceanáin"
+
+msgid "IDS_EMAIL_POP_DOWNLOAD_CANCELLED"
+msgstr "Íoslódáil curtha ar ceal."
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ALBUM_Q"
+msgstr "Scrios an t-albam seo?"
+
+msgid "IDS_CAM_HEADER_WARNING_ABB"
+msgstr "Rabhadh"
+
+msgid "IDS_ALM_OPT_SORT_BY"
+msgstr "Sórtáil de réir"
+
+msgid "IDS_CLD_OPT_TODAY"
+msgstr "Inniu"
+
+msgid "IDS_GALLERY_BODY_DATE"
+msgstr "Dáta"
+
+msgid "IDS_EMAIL_BODY_NO_ITEMS_TO_DISPLAY"
+msgstr "Níl aon mhíreanna le taispeáint."
+
+msgid "IDS_PBR_BODY_TAP_HERE_TO_TAKE_PICTURES_OR_VIDEOS"
+msgstr "Tapáil anseo le pictiúir nó le físeáin a ghlacadh"
+
+msgid "IDS_NFC_TPOP_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SHARED_HPD_EXCEEDED"
+msgstr "Uaslíon na míreanna is féidir iad a chomhroinnt (%d) bainte amach."
+
+msgid "IDS_IV_BODY_TAP_TO_ADD_IMAGES"
+msgstr "Tapáil le híomhánna a chur leis"
+
+msgid "IDS_GALLERY_POP_COPY_OR_MOVE_THE_SELECTED_ITEMS_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Cóipeáil nó bog na míreanna roghnaithe ón albam bunaidh?"
+
+msgid "IDS_GALLERY_HEADER_SELECT"
+msgstr "Roghnaigh"
+
+msgid "IDS_VIDEO_POP_FILE_ALREADY_EXISTS"
+msgstr "Tá an comhad ann cheana"
+
+msgid "IDS_VIDEO_POP_THIS_ITEM_WILL_BE_DELETED"
+msgstr "Scriosfar an mhír seo"
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_FACEBOOK_ITEMS_WILL_BE_SHOWN"
+msgstr "Tar éis duit pictiúir a uaslódáil chuig Facebook, taispeánfar míreanna"
+
+msgid "IDS_GALLERY_HEADER_SELECT_ALL_ABB"
+msgstr "Roghnaigh gach"
+
+msgid "IDS_GALLERY_HEADER_PD_SELECTED_ABB"
+msgstr "%d roghnaithe"
+
+msgid "IDS_GALLERY_OPT_VIEW_AS"
+msgstr "Amharc air mar"
+
+msgid "IDS_GALLERY_OPT_DATE_HMOST_RECENT_ABB2"
+msgstr "Dáta (is déanaí)"
+
+msgid "IDS_GALLERY_OPT_DATE_HOLDEST_ABB3"
+msgstr "Dáta (is sine)"
+
+msgid "IDS_GALLERY_BODY_AFTER_YOU_TAKE_PICTURES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Tar éis duit pictiúir a ghlacadh, taispeánfar anseo iad."
+
+msgid "IDS_CLOUD_TPOP_CANCELLING_ING"
+msgstr "Á chur ar ceal..."
+
+msgid "IDS_GALLERY_OPT_FROM_DEVICE_ABB"
+msgstr "Ó ghléas"
+
+msgid "IDS_GALLERY_OPT_FROM_DROPBOX_ABB"
+msgstr "Ó Dropbox"
+
+msgid "IDS_GALLERY_OPT_FROM_FACEBOOK_ABB"
+msgstr "Ó Facebook"
+
+msgid "IDS_MUSIC_BODY_DOWNLOAD_COMPLETED"
+msgstr "Íoslódáilte."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DELETED"
+msgstr "Scriosfar gach mír"
+
+msgid "IDS_GALLERY_POP_1_ITEM_WILL_BE_DOWNLOADED"
+msgstr "Íoslódálfar 1 mhír."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "Íoslódálfar %d mír."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "Íoslódálfar gach mír."
+
+msgid "IDS_GALLERY_TPOP_SELECTED_ALBUM_SAME_AS_SOURCE_ALBUM_SELECT_ANOTHER_ALBUM"
+msgstr "Is ionann an t-albam roghnaithe agus an t-albam foinse. Roghnaigh albam eile."
+
+msgid "IDS_HS_NPBODY_TAP_HERE_TO_ADD_IMAGES"
+msgstr "Tapáil anseo le híomhánna a chur leis"
+
+msgid "IDS_MF_HEADER_UNABLE_TO_SAVE_DATA_ABB"
+msgstr "Sonraí doshábháilte"
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_IN_YOUR_DEVICE_STORAGE_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "Níl go leor spáis i stóras do ghléis. Gabh chuig Socruithe > Cumhacht agus stóras > Stóras, ansin scrios roinnt comhad agus triail arís."
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_YOUR_SD_CARD_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "Níl go leor spáis ar do chárta SD. Gabh chuig Socruithe > Cumhacht agus stóras > Stóras, ansin scrios roinnt comhad agus triail arís."
+
+msgid "IDS_MF_BUTTON_CANCEL_ABB3"
+msgstr "Cuir ar ceal"
+
+msgid "IDS_MF_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Ná taispeáin arís"
+
+msgid "IDS_MF_POP_USING_MOBILE_DATA_WHILE_ROAMING_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "Is féidir go ngearrfar táillí breise ar úsáid sonraí móibíleacha ag brath ar do phlean sonraí má úsáidtear Sonraí móibíleacha le linn fánaíocht."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DELETED_ABB"
+msgstr "Scriosfar %d mír."
+
+msgid "IDS_GALLERY_OPT_DELETE"
+msgstr "Scrios"
+
+msgid "IDS_GALLERY_BODY_YESTERDAY"
+msgstr "Inné"
+
+msgid "IDS_BR_MBODY_DOWNLOADS"
+msgstr "Íoslódálacha"
+
+msgid "IDS_GALLERY_HEADER_COPY"
+msgstr "Cóipeáil"
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Scrios"
+
+msgid "IDS_GALLERY_BUTTON_ALBUMS"
+msgstr "Albaim"
+
+msgid "IDS_GALLERY_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Uaslíon na míreanna (%d) sáraithe."
+
+msgid "IDS_GALLERY_BUTTON_CANCEL"
+msgstr "Cealaigh"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "DÉANTA"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "CUIR AR CEAL"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "SCRIOS"
+
+msgid "IDS_GALLERY_POP_COPYING_ING"
+msgstr "Ag cóipeáil..."
+
+msgid "IDS_GALLERY_POP_MOVING_ING"
+msgstr "Ag bogadh..."
+
+msgid "IDS_STORYALBUM_POP_IF_YOU_CREATE_CONTENT_THAT_INCLUDES_ITEMS_FROM_PERSONAL_STORAGE_IT_MAY_NOT_BE_HIDDEN_AUTOMATICALLY_MSG"
+msgstr "Má chruthaíonn tú inneachar lena n-áirítear míreanna ó stóráil phearsanta, is féidir nach bhfolaítear go huathoibríoch é. Is féidir go mbeidh an t-inneachar pearsanta a roghnaíodh infheicthe le linn amharc ar an inneachar nua."
+
+msgid "IDS_HS_ACBUTTON_EDIT"
+msgstr "CUIR IN EAG."
+
+msgid "IDS_MF_BUTTON_SETTINGS"
+msgstr "Socruithe"
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "C. IN EAG."
+
+msgid "IDS_CLOCK_HEADER_REORDER_ABB"
+msgstr "Athordaigh"
+
diff --git a/res/po/gl.po b/res/po/gl.po
new file mode 100644 (file)
index 0000000..fbc41b8
--- /dev/null
@@ -0,0 +1,759 @@
+msgid "IDS_MF_POP_YOUR_DEVICE_IS_NOT_CONNECTED_TO_A_WI_FI_NETWORK_CONNECTING_TO_A_MOBILE_NETWORK_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "O teu dispositivo non está conectado a unha rede Wi-Fi. Se te conectas a unha rede móbil, isto pode carrexar custos adicionais dependendo do teu plan de pagamento."
+
+msgid "IDS_VIDEO_TPOP_MOBILE_DATA_TURNED_OFF_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_TURN_ON_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Os datos móbiles están desactivados. Conéctate a unha rede Wi-Fi no seu lugar ou activa os datos móbiles e téntao de novo."
+
+msgid "IDS_VIDEO_BODY_AFTER_YOU_RECORD_VIDEOS_USING_THE_CAMERA_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Despois de gravar vídeos coa cámara, amosaranse aquí."
+
+msgid "IDS_VIDEO_TPOP_FILE_NAME_ALREADY_IN_USE"
+msgstr "Nome do arquivo xa en uso."
+
+msgid "IDS_MF_POP_DELETE_PD_ITEMS_Q"
+msgstr "Eliminar %d elementos?"
+
+msgid "IDS_ST_HEADER_PRIVACY"
+msgstr "Privacidade"
+
+msgid "IDS_COM_BODY_SEP_ABB"
+msgstr "Set."
+
+msgid "IDS_COM_BODY_OCT_ABB"
+msgstr "Out."
+
+msgid "IDS_COM_BODY_NOV_ABB"
+msgstr "Nov."
+
+msgid "IDS_COM_BODY_MAY_ABB"
+msgstr "Mai."
+
+msgid "IDS_COM_BODY_MAR_ABB"
+msgstr "Mar."
+
+msgid "IDS_COM_BODY_JUN_ABB"
+msgstr "Xuño"
+
+msgid "IDS_COM_BODY_JUL_ABB"
+msgstr "Xul."
+
+msgid "IDS_COM_BODY_JAN_ABB"
+msgstr "Xan."
+
+msgid "IDS_COM_BODY_FEB_ABB"
+msgstr "Feb."
+
+msgid "IDS_COM_BODY_DEC_ABB"
+msgstr "Dec."
+
+msgid "IDS_COM_BODY_AUG_ABB"
+msgstr "Ag."
+
+msgid "IDS_COM_BODY_APR_ABB"
+msgstr "Abr."
+
+msgid "IDS_GALLERY_HEADER_ALBUM"
+msgstr "Álbum"
+
+msgid "IDS_MEDIABR_OPT_MORE"
+msgstr "Máis"
+
+msgid "IDS_MEDIABR_POP_INVALID_INPUT_PARAMETER"
+msgstr "Parámetro de entrada non válido"
+
+msgid "IDS_MEDIABR_POP_ENTRY_IS_EMPTY"
+msgstr "A entrada está baleira"
+
+msgid "IDS_MEDIABR_POP_SAME_NAME_ALREADY_IN_USE"
+msgstr "Este nome xa está en uso"
+
+msgid "IDS_MEDIABR_POP_UNABLE_TO_RENAME"
+msgstr "Non se pode cambiar o nome"
+
+msgid "IDS_MEDIABR_POP_NO_ALBUMS_SELECTED"
+msgstr "Non hai ningún álbum seleccionado"
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ITEM"
+msgstr "Seleccionar elemento"
+
+msgid "IDS_MEDIABR_BODY_NO_ALBUMS"
+msgstr "Non hai álbums"
+
+msgid "IDS_MEDIABR_POP_CREATE_FOLDER_Q"
+msgstr "Crear carpeta?"
+
+msgid "IDS_MEDIABR_POP_RETRY_Q"
+msgstr "Volver intentar?"
+
+msgid "IDS_MEDIABR_POPUP_REMOVE_Q"
+msgstr "Eliminar?"
+
+msgid "IDS_MEDIABR_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "Eliminaranse %d álbums"
+
+msgid "IDS_MEDIABR_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "Eliminarase 1 álbum"
+
+msgid "IDS_MEDIABR_BODY_CAMERA"
+msgstr "Cámara"
+
+msgid "IDS_MEDIABR_BUTTON_START"
+msgstr "Iniciar"
+
+msgid "IDS_MEDIABR_OPT_SETTINGS"
+msgstr "Axustes"
+
+msgid "IDS_MEDIABR_OPT_YES"
+msgstr "Si"
+
+msgid "IDS_MEDIABR_OPT_NO"
+msgstr "Non"
+
+msgid "IDS_MEDIABR_BUTTON_OK"
+msgstr "Aceptar"
+
+msgid "IDS_MEDIABR_BUTTON_SAVE"
+msgstr "Gardar"
+
+msgid "IDS_MEDIABR_POP_DELETE_Q"
+msgstr "Eliminar?"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_ALBUM"
+msgstr "Mover ao álbum"
+
+msgid "IDS_GALLERY_OPT_COPY_TO_ALBUM"
+msgstr "Copiar no álbum"
+
+msgid "IDS_GALLERY_HEADER_VIEW_BY_ABB"
+msgstr "Ver por"
+
+msgid "IDS_GALLERY_HEADER_ENTER_NAME"
+msgstr "Introducir nome"
+
+msgid "IDS_MEDIABR_POP_ALL_DATA_RELATED_TO_THIS_ACCOUNT_WILL_BE_DELETED_CONTINUE_Q"
+msgstr "Eliminaranse todos os datos relacionados con esta conta. Continuar?"
+
+msgid "IDS_MEDIABR_BUTTON_CANCEL_ABB"
+msgstr "Cancelar"
+
+msgid "IDS_MEDIABR_TAB4_NEW_ALBUM"
+msgstr "Novo álbum"
+
+msgid "IDS_MEDIABR_POP_DO_YOU_WANT_TO_COPY_OR_MOVE_THE_PICTURES_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Desexas copiar ou mover as imaxes do álbum orixinal?"
+
+msgid "IDS_MEDIABR_OPT_SHARE"
+msgstr "Compartir"
+
+msgid "IDS_MEDIABR_OPT_SLIDESHOW"
+msgstr "Presentación"
+
+msgid "IDS_MEDIABR_OPT_START_SLIDESHOW"
+msgstr "Iniciar presentación de diapositivas"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS"
+msgstr "Axustes de presentación"
+
+msgid "IDS_MEDIABR_POP_NO_NAME"
+msgstr "Sen nome"
+
+msgid "IDS_MEDIABR_BODY_ALL_ALBUMS"
+msgstr "Todos os álbums"
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ALBUM"
+msgstr "Seleccionar álbum"
+
+msgid "IDS_MEDIABR_POP_1_ITEM_WILL_BE_DELETED"
+msgstr "Eliminarase 1 elemento"
+
+msgid "IDS_MEDIABR_OPT_ALL_ITEMS"
+msgstr "Todos os elementos"
+
+msgid "IDS_MEDIABR_BODY_PD_ITEMS"
+msgstr "%d elementos"
+
+msgid "IDS_IV_BODY_THERE_IS_ONLY_ONE_ALBUM"
+msgstr "Só hai un álbum"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "Podes seleccionar ata %d elementos"
+
+msgid "IDS_MF_BODY_DOWNLOADS"
+msgstr "Descargas"
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Eliminar?"
+
+msgid "IDS_MF_SK_MOVE"
+msgstr "Mover"
+
+msgid "IDS_MF_POP_DELETING_ING"
+msgstr "Eliminando..."
+
+msgid "IDS_CAM_BODY_OPERATION_FAILED"
+msgstr "Fallo na operación"
+
+msgid "IDS_MSG_BODY_CANCELLED_M_CONTENT"
+msgstr "Cancelado"
+
+msgid "IDS_MF_OPT_DELETE_SELECTED"
+msgstr "Seleccionada"
+
+msgid "IDS_MF_POP_MOVED"
+msgstr "Movido"
+
+msgid "IDS_MF_POP_COPIED"
+msgstr "Copiado"
+
+msgid "IDS_VPL_POP_NO_FILES_SELECTED"
+msgstr "Non se seleccionaron arquivos"
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Pechar"
+
+msgid "IDS_MF_OPT_SORT_BY_ABB"
+msgstr "Ordenar por"
+
+msgid "IDS_CAM_POP_LATEST"
+msgstr "Máis actuais"
+
+msgid "IDS_MEDIABR_POP_OLDEST_M_DATE"
+msgstr "Máis antiga"
+
+msgid "IDS_MSG_BUTTON2_CREATE"
+msgstr "Crear"
+
+msgid "IDS_MEDIABR_POP_NO_ITEMS"
+msgstr "Sen elementos"
+
+msgid "IDS_MEDIABR_OPT_EDIT_IMAGE"
+msgstr "Editar imaxe"
+
+msgid "IDS_MEDIABR_BODY_SELECT_PICTURE"
+msgstr "Seleccionar imaxe"
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ITEM_Q"
+msgstr "Eliminar este elemento?"
+
+msgid "IDS_GALLERY_OPT_SCENERY"
+msgstr "Paisaxe"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PRIVATE"
+msgstr "Eliminar de Privado"
+
+msgid "IDS_GALLERY_OPT_PETS"
+msgstr "Mascotas"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_PRIVATE"
+msgstr "Mover a Privado"
+
+msgid "IDS_GALLERY_OPT_FOOD"
+msgstr "Comida"
+
+msgid "IDS_GALLERY_OPT_FLOWERS"
+msgstr "Flores"
+
+msgid "IDS_GALLERY_OPT_DOCUMENTS"
+msgstr "Documentos"
+
+msgid "IDS_GALLERY_MBODY_VEHICLES"
+msgstr "Vehículos"
+
+msgid "IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED"
+msgstr "Alcanzouse o número máximo de carácteres (%d)"
+
+msgid "IDS_IV_BODY_UNABLE_TO_LOAD_PHOTO_ABB"
+msgstr "Imposible cargar a foto"
+
+msgid "IDS_IV_BODY_SHARE_VIA"
+msgstr "Compartir a través de"
+
+msgid "IDS_IV_BODY_DONT_ASK_AGAIN"
+msgstr "Non preguntar outra vez"
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Número máximo de caracteres alcanzado"
+
+msgid "IDS_GALLERY_HEADER_TIME"
+msgstr "Hora"
+
+msgid "IDS_EMAIL_BODY_FAILED_M_STATUS"
+msgstr "Erro"
+
+msgid "IDS_EMAIL_BODY_DELETED"
+msgstr "Eliminado"
+
+msgid "IDS_EMAIL_POP_DELETE_Q"
+msgstr "Eliminar?"
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Eliminando..."
+
+msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS"
+msgstr "Amosando %d elementos"
+
+msgid "IDS_GALLERY_OPT_CREATE_ALBUM"
+msgstr "Crear álbum"
+
+msgid "IDS_GALLERY_OPT_GALLERY_ABB"
+msgstr "Galería"
+
+msgid "IDS_EMAIL_BUTTON_MORE"
+msgstr "Máis"
+
+msgid "IDS_EMAIL_OPT_ACCOUNTS"
+msgstr "Contas"
+
+msgid "IDS_EMAIL_POP_OPERATION_FAILED"
+msgstr "Fallo na operación"
+
+msgid "IDS_GALLERY_BODY_DOWNLOAD"
+msgstr "Descargar"
+
+msgid "IDS_GALLERY_BODY_SEARCH"
+msgstr "Buscar"
+
+msgid "IDS_GALLERY_BUTTON_BACK"
+msgstr "Atrás"
+
+msgid "IDS_GALLERY_BUTTON_CAMERA"
+msgstr "Cámara"
+
+msgid "IDS_GALLERY_HEADER_ALL"
+msgstr "Todas"
+
+msgid "IDS_GALLERY_OPT_REFRESH"
+msgstr "Actualizar"
+
+msgid "IDS_GALLERY_OPT_REMOVE"
+msgstr "Eliminar"
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_DROPBOX_ITEMS_WILL_BE_SHOWN"
+msgstr "Despois de cargar imaxes a Dropbox, amosaranse elementos"
+
+msgid "IDS_KEEPIT_BODY_GROUP_PLAY_ABB"
+msgstr "Group Play"
+
+msgid "IDS_MEDIABR_HEADER_CONTACTS"
+msgstr "Contactos"
+
+msgid "IDS_MEDIABR_OPT_CREATE"
+msgstr "Crear"
+
+msgid "IDS_MEDIABR_OPT_DETAILS"
+msgstr "Detalles"
+
+msgid "IDS_MEDIABR_OPT_PRINT"
+msgstr "Imprimir"
+
+msgid "IDS_MEDIABR_OPT_RENAME"
+msgstr "C. nome"
+
+msgid "IDS_MEDIABR_POP_DOWNLOADED"
+msgstr "Descargado"
+
+msgid "IDS_MEDIABR_POP_DOWNLOADING_ING"
+msgstr "Descargando..."
+
+msgid "IDS_MF_HEADER_ENTER_NAME"
+msgstr "Introducir nome"
+
+msgid "IDS_MF_HEADER_MYFILES"
+msgstr "Os Meus Arquivos"
+
+msgid "IDS_MF_POP_ADDED"
+msgstr "Engadido"
+
+msgid "IDS_MF_POP_PROCESSING_ING"
+msgstr "Procesando..."
+
+msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
+msgstr "Tipo de arquivo non admitido"
+
+msgid "IDS_IMGE_BODY_AFTER_YOU_TAKE_PICTURES_PICTURES_WILL_BE_SHOWN"
+msgstr "Despois de tomar imaxes, estas amosaranse"
+
+msgid "IDS_IME_BODY_LANDSCAPE_MODE"
+msgstr "Modo horizontal"
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_CLOSE_DRAWER_MENU_TTS"
+msgstr "Toca dúas veces para pechar o menú do caixón."
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_OPEN_DRAWER_MENU_TTS"
+msgstr "Toca dúas veces para abrir o menú do caixón."
+
+msgid "IDS_EMAIL_BODY_DRAG_AND_DROP"
+msgstr "Arrastrar e soltar"
+
+msgid "IDS_EMAIL_OPT_DRAWER_ABB"
+msgstr "Caixón"
+
+msgid "IDS_EMAIL_POP_MOBILE_DATA_IS_DISABLED_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_ENABLE_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Datos móbiles desactivados. Conéctate a unha rede Wi-Fi no seu lugar ou activa os datos móbiles e téntao de novo."
+
+msgid "IDS_EMAIL_POP_WI_FI_CONNECTION_REQUIRED_CONNECT_TO_WI_FI_NETWORK_AND_TRY_AGAIN"
+msgstr "Necesítase unha conexión Wi-Fi. Conéctate á rede Wi-Fi e téntao de novo."
+
+msgid "IDS_GALLERY_HEADER_ADD_PICTURES_FROM_ABB"
+msgstr "Engadir imaxes desde"
+
+msgid "IDS_GALLERY_HEADER_CONNECTED_DEVICES_ABB"
+msgstr "Dispositivos conectados"
+
+msgid "IDS_GALLERY_OPT_PRIVATE_CONTENT"
+msgstr "Contido privado"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PS"
+msgstr "Eliminar de %s"
+
+msgid "IDS_GALLERY_OPT_REMOVE_NAME_TAG"
+msgstr "Eliminar etiqueta de nome"
+
+msgid "IDS_GALLERY_POP_THERE_ARE_NO_EVENTS_TO_DISPLAY_CREATE_A_NEW_EVENT"
+msgstr "Non hai eventos para amosar. Crea un evento novo."
+
+msgid "IDS_GALLERY_POP_TO_SCROLL_QUICKLY_TO_OTHER_DATES_TAP_AND_HOLD_THE_DATE_INDICATOR_AT_THE_TOP_RIGHT_OF_THE_SCREEN"
+msgstr "Para desprazarte rapidamente a outras datas, mantén tocado o indicador da data na parte superior dereita da pantalla."
+
+msgid "IDS_GP_POP_REMOVE_PD_ITEMS_Q"
+msgstr "Eliminar %d elementos?"
+
+msgid "IDS_GP_POP_REMOVE_THIS_ITEM_Q"
+msgstr "Desexas eliminar este elemento?"
+
+msgid "IDS_HELP_BODY_GALLERY"
+msgstr "Galería"
+
+msgid "IDS_HELP_OPT_SHUFFLED_PICTURES"
+msgstr "Imaxes aleatorias"
+
+msgid "IDS_IV_BODY_ADD_PICTURES"
+msgstr "Engadir imaxes"
+
+msgid "IDS_IV_BODY_AFTER_YOU_TAG_PICTURES_AS_YOUR_FAVOURITES_PICTURES_WILL_BE_SHOWN"
+msgstr "Despois de etiquetar as imaxes como favoritas, estas amosaranse"
+
+msgid "IDS_IV_BODY_REMOVE_FACE_IDENTIFICATION_Q"
+msgstr "Desexas eliminar a identificación de caras?"
+
+msgid "IDS_IV_OPT_ASSIGN_NAME"
+msgstr "Asignar nome"
+
+msgid "IDS_IV_OPT_CONFIRM_AS_PS"
+msgstr "Confirmar como %s"
+
+msgid "IDS_IV_OPT_LAYOUT_M_PICTUERS"
+msgstr "Deseño"
+
+msgid "IDS_IV_OPT_PD_PICTURES_ADDED"
+msgstr "%d imaxes engadidas"
+
+msgid "IDS_IV_POP_THE_ALBUM_WILL_BE_CANCELLED"
+msgstr "O álbum cancelarase"
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEM_ABB"
+msgstr "Eliminar elemento"
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEMS"
+msgstr "Eliminar elementos"
+
+msgid "IDS_MEDIABR_BODY_1_ITEM"
+msgstr "1 elemento"
+
+msgid "IDS_MEDIABR_BODY_10_SECONDS"
+msgstr "10 segundos"
+
+msgid "IDS_MEDIABR_BODY_5_SECONDS"
+msgstr "5 segundos"
+
+msgid "IDS_MEDIABR_BODY_NOT_ASSIGNED"
+msgstr "Non asignado"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL"
+msgstr "Intervalo de presentación"
+
+msgid "IDS_MEDIABR_BODY_UNTAGGED"
+msgstr "Non etiquetado"
+
+msgid "IDS_MEDIABR_OPT_3_SECONDS"
+msgstr "3 segundos"
+
+msgid "IDS_MEDIABR_OPT_ALL_CONTENT"
+msgstr "Todos os contidos"
+
+msgid "IDS_MEDIABR_OPT_CONTENT_TO_DISPLAY"
+msgstr "Contido a amosar"
+
+msgid "IDS_MEDIABR_OPT_DELETE_TAG"
+msgstr "Eliminar etiqueta"
+
+msgid "IDS_MEDIABR_OPT_DEVICE_CONTENT"
+msgstr "Contido do dispositivo"
+
+msgid "IDS_MEDIABR_OPT_DROPBOX_CONTENT"
+msgstr "Contido de Dropbox"
+
+msgid "IDS_MEDIABR_OPT_FACEBOOK_CONTENT"
+msgstr "Contido de Facebook"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_LEFT"
+msgstr "Xirar á esquerda"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_RIGHT"
+msgstr "Xirar á dereita"
+
+msgid "IDS_MEDIABR_POP_IMPORT"
+msgstr "Importar"
+
+msgid "IDS_MEDIABR_POP_IMPORTED"
+msgstr "Importadas"
+
+msgid "IDS_MEDIABR_POP_IMPORTING_ING"
+msgstr "Importando..."
+
+msgid "IDS_MEDIABR_POP_LOADING_ING"
+msgstr "Cargando..."
+
+msgid "IDS_MEDIABR_POP_NEARBY_DEVICES_FOUND"
+msgstr "Dispositivos próximos atopados"
+
+msgid "IDS_MEDIABR_POP_NO_DEVICES_FOUND_SCANNING_FOR_NEARBY_DEVICES_WILL_CONTINUE_IN_BACKGROUND"
+msgstr "Non se atopou ningún dispositivo. A busca de dispositivos próximos continuará en segundo plano."
+
+msgid "IDS_MEDIABR_POP_REFRESHED"
+msgstr "Actualizado"
+
+msgid "IDS_MEDIABR_POP_ROTATING_ING"
+msgstr "Rotando..."
+
+msgid "IDS_MEDIABR_POP_SCAN_STARTED_DEVICE_LIST_WILL_BE_UPDATED_AUTOMATICALLY"
+msgstr "Busca iniciada. A lista de dispositivos actualizarase automaticamente."
+
+msgid "IDS_MEDIABR_POP_STARTING_DOWNLOAD_ABB"
+msgstr "Iniciando descarga..."
+
+msgid "IDS_MF_OPT_COPY_TO"
+msgstr "Copiar en"
+
+msgid "IDS_MF_OPT_MOVE_TO"
+msgstr "Mover a"
+
+msgid "IDS_MF_POP_FAILED_TO_ADD_SHORTCUT"
+msgstr "Non se puido engadir o atallo"
+
+msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
+msgstr "Non hai suficiente memoria. Elimine algúns elementos."
+
+msgid "IDS_MF_POP_REMOVED"
+msgstr "Eliminado"
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Engadindo..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "Eliminar %d álbums?"
+
+msgid "IDS_ST_BODY_PRIVATE_STORAGE"
+msgstr "Almacenamento privado"
+
+msgid "IDS_IV_BODY_DRAG_HERE"
+msgstr "Arrastrar aquí"
+
+msgid "IDS_GALLERY_BODY_NEW_M_ALBUM_ABB"
+msgstr "Novo"
+
+msgid "IDS_GALLERY_HEADER_UNGROUPEDM_PEOPLE_ABB"
+msgstr "Non agrupados"
+
+msgid "IDS_KEEPIT_OPT_SCREENSHOTS_ABB"
+msgstr "Capturas de pantalla"
+
+msgid "IDS_MEDIABR_OPT_PHOTOS"
+msgstr "Fotos"
+
+msgid "IDS_MEDIABR_POP_DOWNLOAD_FAILED"
+msgstr "Erro de descarga"
+
+msgid "IDS_MEDIABR_POP_UNSUPPORTED_FILE"
+msgstr "Arquivo non admitido"
+
+msgid "IDS_SEARCH_BODY_1_RESULT"
+msgstr "1 resultado"
+
+msgid "IDS_SEARCH_BODY_PD_RESULTS"
+msgstr "%d resultados"
+
+msgid "IDS_TW_BODY_FAVORITES"
+msgstr "Favoritos"
+
+msgid "IDS_EMAIL_POP_DOWNLOAD_CANCELLED"
+msgstr "Descarga cancelada"
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ALBUM_Q"
+msgstr "Eliminar este álbum?"
+
+msgid "IDS_CAM_HEADER_WARNING_ABB"
+msgstr "Advertencia"
+
+msgid "IDS_ALM_OPT_SORT_BY"
+msgstr "Ordenar por"
+
+msgid "IDS_CLD_OPT_TODAY"
+msgstr "Hoxe"
+
+msgid "IDS_GALLERY_BODY_DATE"
+msgstr "Data"
+
+msgid "IDS_EMAIL_BODY_NO_ITEMS_TO_DISPLAY"
+msgstr "Non existe ningún elemento que amosar"
+
+msgid "IDS_PBR_BODY_TAP_HERE_TO_TAKE_PICTURES_OR_VIDEOS"
+msgstr "Toca aquí para tomar imaxes ou vídeos"
+
+msgid "IDS_NFC_TPOP_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SHARED_HPD_EXCEEDED"
+msgstr "Superouse o número máximo de elementos que se poden compartir (%d)."
+
+msgid "IDS_IV_BODY_TAP_TO_ADD_IMAGES"
+msgstr "Toca esta opción para engadir imaxes"
+
+msgid "IDS_GALLERY_POP_COPY_OR_MOVE_THE_SELECTED_ITEMS_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Desexas copiar ou mover os elementos seleccionados do álbum orixinal?"
+
+msgid "IDS_GALLERY_HEADER_SELECT"
+msgstr "Seleccionar"
+
+msgid "IDS_VIDEO_POP_FILE_ALREADY_EXISTS"
+msgstr "O arquivo xa existe"
+
+msgid "IDS_VIDEO_POP_THIS_ITEM_WILL_BE_DELETED"
+msgstr "Eliminarase este elemento"
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_FACEBOOK_ITEMS_WILL_BE_SHOWN"
+msgstr "Despois de cargar imaxes a Facebook, amosaranse elementos"
+
+msgid "IDS_GALLERY_HEADER_SELECT_ALL_ABB"
+msgstr "Seleccionar todo"
+
+msgid "IDS_GALLERY_HEADER_PD_SELECTED_ABB"
+msgstr "%d seleccionadas"
+
+msgid "IDS_GALLERY_OPT_VIEW_AS"
+msgstr "Ver como"
+
+msgid "IDS_GALLERY_OPT_DATE_HMOST_RECENT_ABB2"
+msgstr "Data (máis recente)"
+
+msgid "IDS_GALLERY_OPT_DATE_HOLDEST_ABB3"
+msgstr "Data (máis antiga)"
+
+msgid "IDS_GALLERY_BODY_AFTER_YOU_TAKE_PICTURES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Despois de tomar imaxes, estas amosaranse aquí."
+
+msgid "IDS_CLOUD_TPOP_CANCELLING_ING"
+msgstr "Cancelando..."
+
+msgid "IDS_GALLERY_OPT_FROM_DEVICE_ABB"
+msgstr "Do dispositivo"
+
+msgid "IDS_GALLERY_OPT_FROM_DROPBOX_ABB"
+msgstr "De Dropbox"
+
+msgid "IDS_GALLERY_OPT_FROM_FACEBOOK_ABB"
+msgstr "De Facebook"
+
+msgid "IDS_MUSIC_BODY_DOWNLOAD_COMPLETED"
+msgstr "Descarga finalizada"
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DELETED"
+msgstr "Eliminaranse todos os elementos"
+
+msgid "IDS_GALLERY_POP_1_ITEM_WILL_BE_DOWNLOADED"
+msgstr "Descargarase 1 elemento."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "Descargaranse %d elementos."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "Descargaranse todos os elementos."
+
+msgid "IDS_GALLERY_TPOP_SELECTED_ALBUM_SAME_AS_SOURCE_ALBUM_SELECT_ANOTHER_ALBUM"
+msgstr "O álbum seleccionado é o mesmo que o álbum de orixe. Selecciona outro álbum."
+
+msgid "IDS_HS_NPBODY_TAP_HERE_TO_ADD_IMAGES"
+msgstr "Toca aquí para engadir imaxes"
+
+msgid "IDS_MF_HEADER_UNABLE_TO_SAVE_DATA_ABB"
+msgstr "Imposible gardar os datos"
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_IN_YOUR_DEVICE_STORAGE_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "Non hai espazo suficiente no almacenamento do teu dispositivo. Vai a Axustes > Alimentación e almacenamento > Almacenamento e, a continuación, elimina algúns arquivos e téntao de novo."
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_YOUR_SD_CARD_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "Non hai espazo suficiente na tarxeta SD. Vai a Axustes > Alimentación e almacenamento > Almacenamento e, a continuación, elimina algúns arquivos e téntao de novo."
+
+msgid "IDS_MF_BUTTON_CANCEL_ABB3"
+msgstr "Cancelar"
+
+msgid "IDS_MF_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Non amosar outra vez"
+
+msgid "IDS_MF_POP_USING_MOBILE_DATA_WHILE_ROAMING_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "O uso de datos móbiles en itinerancia pode implicar a aplicación de tarifas adicionais en función do teu plan de pagamento."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DELETED_ABB"
+msgstr "Eliminaranse %d elementos."
+
+msgid "IDS_GALLERY_OPT_DELETE"
+msgstr "Eliminar"
+
+msgid "IDS_GALLERY_BODY_YESTERDAY"
+msgstr "Onte"
+
+msgid "IDS_BR_MBODY_DOWNLOADS"
+msgstr "Descargas"
+
+msgid "IDS_GALLERY_HEADER_COPY"
+msgstr "Copiar"
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Eliminar"
+
+msgid "IDS_GALLERY_BUTTON_ALBUMS"
+msgstr "Álbums"
+
+msgid "IDS_GALLERY_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Superouse o número máximo de elementos (%d)."
+
+msgid "IDS_GALLERY_BUTTON_CANCEL"
+msgstr "Cancelar"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "FEITO"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "CANCELAR"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "ELIMINAR"
+
+msgid "IDS_GALLERY_POP_COPYING_ING"
+msgstr "Copiando..."
+
+msgid "IDS_GALLERY_POP_MOVING_ING"
+msgstr "Movendo..."
+
+msgid "IDS_STORYALBUM_POP_IF_YOU_CREATE_CONTENT_THAT_INCLUDES_ITEMS_FROM_PERSONAL_STORAGE_IT_MAY_NOT_BE_HIDDEN_AUTOMATICALLY_MSG"
+msgstr "Se creas contidos que inclúen elementos do almacenamento persoal, é posible que non se oculten automaticamente. O contido persoal seleccionado podía verse ao visualizar o contido novo."
+
+msgid "IDS_HS_ACBUTTON_EDIT"
+msgstr "EDITAR"
+
+msgid "IDS_MF_BUTTON_SETTINGS"
+msgstr "Axustes"
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "EDITAR"
+
+msgid "IDS_CLOCK_HEADER_REORDER_ABB"
+msgstr "Reordenar"
+
diff --git a/res/po/hi.po b/res/po/hi.po
new file mode 100644 (file)
index 0000000..a76c627
--- /dev/null
@@ -0,0 +1,759 @@
+msgid "IDS_MF_POP_YOUR_DEVICE_IS_NOT_CONNECTED_TO_A_WI_FI_NETWORK_CONNECTING_TO_A_MOBILE_NETWORK_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "आपका डिवाइस Wi-Fi नेटवर्क से कनेक्ट नहीं हुआ है। आपके भुगतान योजना के आधार पर मोबाइल नेटवर्क से कनेक्ट करने पर अतिरिक्त शुल्क लग सकता है।"
+
+msgid "IDS_VIDEO_TPOP_MOBILE_DATA_TURNED_OFF_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_TURN_ON_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "मोबाइल डाटा बंद किया गया। इसके बजाय किसी Wi-Fi नेटवर्क से कनेक्ट करें या मोबाइल डाटा चालू करें और फिर से प्रयास करें।"
+
+msgid "IDS_VIDEO_BODY_AFTER_YOU_RECORD_VIDEOS_USING_THE_CAMERA_THEY_WILL_BE_SHOWN_HERE"
+msgstr "आपके द्वारा कैमरे का उपयोग करके वीडियोज रिकॉर्ड करने के बाद, वे यहाँ दिखाई जाएँगे।"
+
+msgid "IDS_VIDEO_TPOP_FILE_NAME_ALREADY_IN_USE"
+msgstr "फाइल नाम पहले से ही उपयोग में है।"
+
+msgid "IDS_MF_POP_DELETE_PD_ITEMS_Q"
+msgstr "%d मदें हटाएँ?"
+
+msgid "IDS_ST_HEADER_PRIVACY"
+msgstr "गोपनीयता"
+
+msgid "IDS_COM_BODY_SEP_ABB"
+msgstr "सितं"
+
+msgid "IDS_COM_BODY_OCT_ABB"
+msgstr "अक"
+
+msgid "IDS_COM_BODY_NOV_ABB"
+msgstr "नवं"
+
+msgid "IDS_COM_BODY_MAY_ABB"
+msgstr "मई"
+
+msgid "IDS_COM_BODY_MAR_ABB"
+msgstr "मा"
+
+msgid "IDS_COM_BODY_JUN_ABB"
+msgstr "जून"
+
+msgid "IDS_COM_BODY_JUL_ABB"
+msgstr "जुल"
+
+msgid "IDS_COM_BODY_JAN_ABB"
+msgstr "जन"
+
+msgid "IDS_COM_BODY_FEB_ABB"
+msgstr "फर"
+
+msgid "IDS_COM_BODY_DEC_ABB"
+msgstr "दिसं"
+
+msgid "IDS_COM_BODY_AUG_ABB"
+msgstr "अग"
+
+msgid "IDS_COM_BODY_APR_ABB"
+msgstr "अप्रै"
+
+msgid "IDS_GALLERY_HEADER_ALBUM"
+msgstr "एल्बम"
+
+msgid "IDS_MEDIABR_OPT_MORE"
+msgstr "अधिक"
+
+msgid "IDS_MEDIABR_POP_INVALID_INPUT_PARAMETER"
+msgstr "अमान्य इनपुट पैरामीटर।"
+
+msgid "IDS_MEDIABR_POP_ENTRY_IS_EMPTY"
+msgstr "प्रविष्टि खाली है"
+
+msgid "IDS_MEDIABR_POP_SAME_NAME_ALREADY_IN_USE"
+msgstr "ऐसा ही नाम पहले से उपयोग में है।"
+
+msgid "IDS_MEDIABR_POP_UNABLE_TO_RENAME"
+msgstr "नाम बदलने में अक्षम।"
+
+msgid "IDS_MEDIABR_POP_NO_ALBUMS_SELECTED"
+msgstr "कोई एल्बम चुना नहीं गया।"
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ITEM"
+msgstr "मद चुनें"
+
+msgid "IDS_MEDIABR_BODY_NO_ALBUMS"
+msgstr "कोई एल्बम नहीं"
+
+msgid "IDS_MEDIABR_POP_CREATE_FOLDER_Q"
+msgstr "फोल्डर बनाएं?"
+
+msgid "IDS_MEDIABR_POP_RETRY_Q"
+msgstr "पुनः प्रयास करें?"
+
+msgid "IDS_MEDIABR_POPUP_REMOVE_Q"
+msgstr "हटायें?"
+
+msgid "IDS_MEDIABR_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "%d एल्बम्स हटाए जाएँगे।"
+
+msgid "IDS_MEDIABR_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "1 एल्बम हटाया जाएगा।"
+
+msgid "IDS_MEDIABR_BODY_CAMERA"
+msgstr "कैमरा"
+
+msgid "IDS_MEDIABR_BUTTON_START"
+msgstr "प्रारंभ करें"
+
+msgid "IDS_MEDIABR_OPT_SETTINGS"
+msgstr "सेटिंग्स"
+
+msgid "IDS_MEDIABR_OPT_YES"
+msgstr "हाँ"
+
+msgid "IDS_MEDIABR_OPT_NO"
+msgstr "नहीं"
+
+msgid "IDS_MEDIABR_BUTTON_OK"
+msgstr "ओके"
+
+msgid "IDS_MEDIABR_BUTTON_SAVE"
+msgstr "सुरक्षित"
+
+msgid "IDS_MEDIABR_POP_DELETE_Q"
+msgstr "हटाएँ?"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_ALBUM"
+msgstr "एल्बम में ले जाएँ"
+
+msgid "IDS_GALLERY_OPT_COPY_TO_ALBUM"
+msgstr "एल्बम में कॉपी करें"
+
+msgid "IDS_GALLERY_HEADER_VIEW_BY_ABB"
+msgstr "इसके अनुसार देखें"
+
+msgid "IDS_GALLERY_HEADER_ENTER_NAME"
+msgstr "नाम प्रविष्ट करें"
+
+msgid "IDS_MEDIABR_POP_ALL_DATA_RELATED_TO_THIS_ACCOUNT_WILL_BE_DELETED_CONTINUE_Q"
+msgstr "इस खाते से संबंधित सभी डाटा हटाया जाएगा। जारी रखें?"
+
+msgid "IDS_MEDIABR_BUTTON_CANCEL_ABB"
+msgstr "रद्द करें"
+
+msgid "IDS_MEDIABR_TAB4_NEW_ALBUM"
+msgstr "नयी एल्बम"
+
+msgid "IDS_MEDIABR_POP_DO_YOU_WANT_TO_COPY_OR_MOVE_THE_PICTURES_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "क्या आप मूल एल्बम से तस्वीरों की कॉपी करना या उन्हें ले जाना चाहते हैं?"
+
+msgid "IDS_MEDIABR_OPT_SHARE"
+msgstr "साझा करें"
+
+msgid "IDS_MEDIABR_OPT_SLIDESHOW"
+msgstr "स्लाइड शो"
+
+msgid "IDS_MEDIABR_OPT_START_SLIDESHOW"
+msgstr "स्लाइडशो प्रारंभ करें"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS"
+msgstr "स्लाइडशो सेटिंग्स"
+
+msgid "IDS_MEDIABR_POP_NO_NAME"
+msgstr "नाम नहीं"
+
+msgid "IDS_MEDIABR_BODY_ALL_ALBUMS"
+msgstr "सभी एलबम्‍स"
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ALBUM"
+msgstr "एल्बम चुनें"
+
+msgid "IDS_MEDIABR_POP_1_ITEM_WILL_BE_DELETED"
+msgstr "1 मद हटाया जाएगा।"
+
+msgid "IDS_MEDIABR_OPT_ALL_ITEMS"
+msgstr "सभी मदें"
+
+msgid "IDS_MEDIABR_BODY_PD_ITEMS"
+msgstr "%d मदें"
+
+msgid "IDS_IV_BODY_THERE_IS_ONLY_ONE_ALBUM"
+msgstr "यहाँ केवल एक एल्बम है"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "आप %d मद तक चुन सकते हैं"
+
+msgid "IDS_MF_BODY_DOWNLOADS"
+msgstr "डाउनलोड्स"
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "हटाएँ?"
+
+msgid "IDS_MF_SK_MOVE"
+msgstr "ले जाएँ"
+
+msgid "IDS_MF_POP_DELETING_ING"
+msgstr "हटाया जा रहा है..."
+
+msgid "IDS_CAM_BODY_OPERATION_FAILED"
+msgstr "संचालन विफल।"
+
+msgid "IDS_MSG_BODY_CANCELLED_M_CONTENT"
+msgstr "रद्द किया गया"
+
+msgid "IDS_MF_OPT_DELETE_SELECTED"
+msgstr "चयनित"
+
+msgid "IDS_MF_POP_MOVED"
+msgstr "ले जाया गया।"
+
+msgid "IDS_MF_POP_COPIED"
+msgstr "कॉपी हुआ।"
+
+msgid "IDS_VPL_POP_NO_FILES_SELECTED"
+msgstr "फाइलें नहीं चुनी गई।"
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "बंद"
+
+msgid "IDS_MF_OPT_SORT_BY_ABB"
+msgstr "इससे क्रमबद्ध करें"
+
+msgid "IDS_CAM_POP_LATEST"
+msgstr "नवीनतम"
+
+msgid "IDS_MEDIABR_POP_OLDEST_M_DATE"
+msgstr "सबसे पुराने"
+
+msgid "IDS_MSG_BUTTON2_CREATE"
+msgstr "बनाएँ"
+
+msgid "IDS_MEDIABR_POP_NO_ITEMS"
+msgstr "कोई मदें नहीं"
+
+msgid "IDS_MEDIABR_OPT_EDIT_IMAGE"
+msgstr "छवि संपादित करें"
+
+msgid "IDS_MEDIABR_BODY_SELECT_PICTURE"
+msgstr "तस्वीर चुनें"
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ITEM_Q"
+msgstr "यह मद हटाएँ?"
+
+msgid "IDS_GALLERY_OPT_SCENERY"
+msgstr "दृश्य"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PRIVATE"
+msgstr "निजी से निकालें"
+
+msgid "IDS_GALLERY_OPT_PETS"
+msgstr "पालतू पशु"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_PRIVATE"
+msgstr "निजी पर ले जाएँ"
+
+msgid "IDS_GALLERY_OPT_FOOD"
+msgstr "खाना"
+
+msgid "IDS_GALLERY_OPT_FLOWERS"
+msgstr "फूल"
+
+msgid "IDS_GALLERY_OPT_DOCUMENTS"
+msgstr "दस्तावेज"
+
+msgid "IDS_GALLERY_MBODY_VEHICLES"
+msgstr "वाहन"
+
+msgid "IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED"
+msgstr "वर्णों की अधिकतम संख्या (%d) तक पहुँच गया।"
+
+msgid "IDS_IV_BODY_UNABLE_TO_LOAD_PHOTO_ABB"
+msgstr "फोटो लोड करने में अक्षम।"
+
+msgid "IDS_IV_BODY_SHARE_VIA"
+msgstr "इसके द्वारा साझा करें"
+
+msgid "IDS_IV_BODY_DONT_ASK_AGAIN"
+msgstr "दोबारा न पूछें"
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "वर्णो की संख्‍या अधिकतम पहुँची।"
+
+msgid "IDS_GALLERY_HEADER_TIME"
+msgstr "समय"
+
+msgid "IDS_EMAIL_BODY_FAILED_M_STATUS"
+msgstr "विफल"
+
+msgid "IDS_EMAIL_BODY_DELETED"
+msgstr "हटाया।"
+
+msgid "IDS_EMAIL_POP_DELETE_Q"
+msgstr "हटाएँ?"
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "हटा रहा है..."
+
+msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS"
+msgstr "%d मदें दिखाना"
+
+msgid "IDS_GALLERY_OPT_CREATE_ALBUM"
+msgstr "एल्बम बनाएँ"
+
+msgid "IDS_GALLERY_OPT_GALLERY_ABB"
+msgstr "गैलरी"
+
+msgid "IDS_EMAIL_BUTTON_MORE"
+msgstr "अधिक"
+
+msgid "IDS_EMAIL_OPT_ACCOUNTS"
+msgstr "खातें"
+
+msgid "IDS_EMAIL_POP_OPERATION_FAILED"
+msgstr "संचालन विफल।"
+
+msgid "IDS_GALLERY_BODY_DOWNLOAD"
+msgstr "डाउनलोड करें"
+
+msgid "IDS_GALLERY_BODY_SEARCH"
+msgstr "खोजें"
+
+msgid "IDS_GALLERY_BUTTON_BACK"
+msgstr "पीछे"
+
+msgid "IDS_GALLERY_BUTTON_CAMERA"
+msgstr "कैमरा"
+
+msgid "IDS_GALLERY_HEADER_ALL"
+msgstr "सभी"
+
+msgid "IDS_GALLERY_OPT_REFRESH"
+msgstr "रीफ्रेश करें"
+
+msgid "IDS_GALLERY_OPT_REMOVE"
+msgstr "निकालें"
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_DROPBOX_ITEMS_WILL_BE_SHOWN"
+msgstr "आपके द्वारा ड्रॉपबॉक्स पर तस्वीरें अपलोड करने के बाद, मदें दिखाई जाएगी।"
+
+msgid "IDS_KEEPIT_BODY_GROUP_PLAY_ABB"
+msgstr "ग्रुप प्ले"
+
+msgid "IDS_MEDIABR_HEADER_CONTACTS"
+msgstr "संपर्क"
+
+msgid "IDS_MEDIABR_OPT_CREATE"
+msgstr "बनाएँ"
+
+msgid "IDS_MEDIABR_OPT_DETAILS"
+msgstr "विवरण"
+
+msgid "IDS_MEDIABR_OPT_PRINT"
+msgstr "प्रिंट करें"
+
+msgid "IDS_MEDIABR_OPT_RENAME"
+msgstr "नाम बदलें"
+
+msgid "IDS_MEDIABR_POP_DOWNLOADED"
+msgstr "डाउनलोड हुआ।"
+
+msgid "IDS_MEDIABR_POP_DOWNLOADING_ING"
+msgstr "डाउनलोड हो रहा है..."
+
+msgid "IDS_MF_HEADER_ENTER_NAME"
+msgstr "नाम प्रविष्ट करें"
+
+msgid "IDS_MF_HEADER_MYFILES"
+msgstr "मेरी फाइलें"
+
+msgid "IDS_MF_POP_ADDED"
+msgstr "जोड़ा गया।"
+
+msgid "IDS_MF_POP_PROCESSING_ING"
+msgstr "प्रक्रिया हो रही है..."
+
+msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
+msgstr "असमर्थित फाइल प्रकार।"
+
+msgid "IDS_IMGE_BODY_AFTER_YOU_TAKE_PICTURES_PICTURES_WILL_BE_SHOWN"
+msgstr "आपके द्वारा तस्वीरें लेने के बाद, तस्वीरें दिखाई जाएगी।"
+
+msgid "IDS_IME_BODY_LANDSCAPE_MODE"
+msgstr "भू-दृश्य मोड"
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_CLOSE_DRAWER_MENU_TTS"
+msgstr "ड्रॉअर मेन्यू बंद करने के लिए दो बार टैप करें।"
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_OPEN_DRAWER_MENU_TTS"
+msgstr "ड्रॉअर मेन्यू खोलने के लिए दो बार टैप करें।"
+
+msgid "IDS_EMAIL_BODY_DRAG_AND_DROP"
+msgstr "ड्रैग और ड्रॉप करें"
+
+msgid "IDS_EMAIL_OPT_DRAWER_ABB"
+msgstr "ड्रॉअर"
+
+msgid "IDS_EMAIL_POP_MOBILE_DATA_IS_DISABLED_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_ENABLE_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "मोबाइल डाटा अक्षम है। इसके बजाय Wi-Fi नेटवर्क से कनेक्ट करें, या मोबाइल डाटा सक्षम करें और फिर से प्रयास करें।"
+
+msgid "IDS_EMAIL_POP_WI_FI_CONNECTION_REQUIRED_CONNECT_TO_WI_FI_NETWORK_AND_TRY_AGAIN"
+msgstr "Wi-Fi कनेक्‍शन आवश्‍यक है। Wi-Fi नेटवर्क से कनेक्ट करें और फिर से प्रयास करें।"
+
+msgid "IDS_GALLERY_HEADER_ADD_PICTURES_FROM_ABB"
+msgstr "इससे तस्वीरें जोड़ें"
+
+msgid "IDS_GALLERY_HEADER_CONNECTED_DEVICES_ABB"
+msgstr "जोड़े गए डिवाइस"
+
+msgid "IDS_GALLERY_OPT_PRIVATE_CONTENT"
+msgstr "व्यक्तिगत सामग्री"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PS"
+msgstr "%s से निकालें"
+
+msgid "IDS_GALLERY_OPT_REMOVE_NAME_TAG"
+msgstr "नाम टैग हटाएँ"
+
+msgid "IDS_GALLERY_POP_THERE_ARE_NO_EVENTS_TO_DISPLAY_CREATE_A_NEW_EVENT"
+msgstr "प्रदर्शित करने के लिए कोई प्रसंग नहीं हैं। कोई नया प्रसंग बनाएँ।"
+
+msgid "IDS_GALLERY_POP_TO_SCROLL_QUICKLY_TO_OTHER_DATES_TAP_AND_HOLD_THE_DATE_INDICATOR_AT_THE_TOP_RIGHT_OF_THE_SCREEN"
+msgstr "अन्य तिथियों पर तेजी से स्क्रॉल करने के लिए, स्क्रीन की शीर्ष दाईं ओर तिथि संकेतक पर टैप करे रखें।"
+
+msgid "IDS_GP_POP_REMOVE_PD_ITEMS_Q"
+msgstr "%d मद निकालें?"
+
+msgid "IDS_GP_POP_REMOVE_THIS_ITEM_Q"
+msgstr "यह मद निकालें?"
+
+msgid "IDS_HELP_BODY_GALLERY"
+msgstr "गैलरी"
+
+msgid "IDS_HELP_OPT_SHUFFLED_PICTURES"
+msgstr "शफल की गई तस्वीरें"
+
+msgid "IDS_IV_BODY_ADD_PICTURES"
+msgstr "तस्वीरें जोड़ें"
+
+msgid "IDS_IV_BODY_AFTER_YOU_TAG_PICTURES_AS_YOUR_FAVOURITES_PICTURES_WILL_BE_SHOWN"
+msgstr "आपके द्वारा तस्वीरें आपके पसंदीदा के रूप में टैग करने के बाद, तस्वीरें दिखाई जाएँगी।"
+
+msgid "IDS_IV_BODY_REMOVE_FACE_IDENTIFICATION_Q"
+msgstr "चेहरा पहचान निकालें?"
+
+msgid "IDS_IV_OPT_ASSIGN_NAME"
+msgstr "नाम असाइन करें"
+
+msgid "IDS_IV_OPT_CONFIRM_AS_PS"
+msgstr "%s के रूप में पुष्टि करें"
+
+msgid "IDS_IV_OPT_LAYOUT_M_PICTUERS"
+msgstr "लेआउट"
+
+msgid "IDS_IV_OPT_PD_PICTURES_ADDED"
+msgstr "%d तस्वीरें जोड़ी गई"
+
+msgid "IDS_IV_POP_THE_ALBUM_WILL_BE_CANCELLED"
+msgstr "एल्‍बम रद्द किया जाएगा।"
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEM_ABB"
+msgstr "मद हटाएँ"
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEMS"
+msgstr "मदें हटाएँ"
+
+msgid "IDS_MEDIABR_BODY_1_ITEM"
+msgstr "1 मद"
+
+msgid "IDS_MEDIABR_BODY_10_SECONDS"
+msgstr "10 सेकंड"
+
+msgid "IDS_MEDIABR_BODY_5_SECONDS"
+msgstr "5 सेकंड"
+
+msgid "IDS_MEDIABR_BODY_NOT_ASSIGNED"
+msgstr "सौंपा नहीं गया"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL"
+msgstr "स्लाइड शो अंतराल"
+
+msgid "IDS_MEDIABR_BODY_UNTAGGED"
+msgstr "टैग नहीं किया गया"
+
+msgid "IDS_MEDIABR_OPT_3_SECONDS"
+msgstr "3 सेकंड"
+
+msgid "IDS_MEDIABR_OPT_ALL_CONTENT"
+msgstr "सभी सामग्री"
+
+msgid "IDS_MEDIABR_OPT_CONTENT_TO_DISPLAY"
+msgstr "प्रदर्शन के लिए सामग्री"
+
+msgid "IDS_MEDIABR_OPT_DELETE_TAG"
+msgstr "टैग हटाएँ"
+
+msgid "IDS_MEDIABR_OPT_DEVICE_CONTENT"
+msgstr "डिवाइस सामग्री"
+
+msgid "IDS_MEDIABR_OPT_DROPBOX_CONTENT"
+msgstr "ड्रॉपबॉक्स सामग्री"
+
+msgid "IDS_MEDIABR_OPT_FACEBOOK_CONTENT"
+msgstr "फ़ेसबुक सामग्री"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_LEFT"
+msgstr "बाएँ घुमाएँ"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_RIGHT"
+msgstr "दाएँ घुमाएँ"
+
+msgid "IDS_MEDIABR_POP_IMPORT"
+msgstr "आयात करें"
+
+msgid "IDS_MEDIABR_POP_IMPORTED"
+msgstr "आयात किया हुआ।"
+
+msgid "IDS_MEDIABR_POP_IMPORTING_ING"
+msgstr "आयात कर रहा है..."
+
+msgid "IDS_MEDIABR_POP_LOADING_ING"
+msgstr "लोड हो रहा है..."
+
+msgid "IDS_MEDIABR_POP_NEARBY_DEVICES_FOUND"
+msgstr "निकटवर्ती डिवाइस मिलें।"
+
+msgid "IDS_MEDIABR_POP_NO_DEVICES_FOUND_SCANNING_FOR_NEARBY_DEVICES_WILL_CONTINUE_IN_BACKGROUND"
+msgstr "कोई डिवाइस नहीं मिला। बैकग्राउंड में निकटवर्ती डिवाइसेस की स्कैन जारी रहेगी।"
+
+msgid "IDS_MEDIABR_POP_REFRESHED"
+msgstr "रिफ्रेश किया गया।"
+
+msgid "IDS_MEDIABR_POP_ROTATING_ING"
+msgstr "घुमाया जा रहा है..."
+
+msgid "IDS_MEDIABR_POP_SCAN_STARTED_DEVICE_LIST_WILL_BE_UPDATED_AUTOMATICALLY"
+msgstr "स्कैन प्रारंभ की गई। डिवाइस सूची स्वचालित रूप से अपडेट की जाएगी।"
+
+msgid "IDS_MEDIABR_POP_STARTING_DOWNLOAD_ABB"
+msgstr "डाउनलोड प्रारंभ कर रहा है..."
+
+msgid "IDS_MF_OPT_COPY_TO"
+msgstr "इसमें कॉपी करें"
+
+msgid "IDS_MF_OPT_MOVE_TO"
+msgstr "इसमें ले जाएँ"
+
+msgid "IDS_MF_POP_FAILED_TO_ADD_SHORTCUT"
+msgstr "शॉर्टकट जोड़ने में विफल।"
+
+msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
+msgstr "पर्याप्त मेमोरी नहीं। कुछ मदें हटाएँ।"
+
+msgid "IDS_MF_POP_REMOVED"
+msgstr "निकाला।"
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "जोड़ रहा है..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "%d एल्बम हटाएँ?"
+
+msgid "IDS_ST_BODY_PRIVATE_STORAGE"
+msgstr "निजी स्टोरेज"
+
+msgid "IDS_IV_BODY_DRAG_HERE"
+msgstr "यहाँ खींचें।"
+
+msgid "IDS_GALLERY_BODY_NEW_M_ALBUM_ABB"
+msgstr "नया"
+
+msgid "IDS_GALLERY_HEADER_UNGROUPEDM_PEOPLE_ABB"
+msgstr "असमूहीकृत"
+
+msgid "IDS_KEEPIT_OPT_SCREENSHOTS_ABB"
+msgstr "स्क्रीनशॉट्स"
+
+msgid "IDS_MEDIABR_OPT_PHOTOS"
+msgstr "फोटों"
+
+msgid "IDS_MEDIABR_POP_DOWNLOAD_FAILED"
+msgstr "डाउनलोड विफल।"
+
+msgid "IDS_MEDIABR_POP_UNSUPPORTED_FILE"
+msgstr "असमर्थित फाइल।"
+
+msgid "IDS_SEARCH_BODY_1_RESULT"
+msgstr "1 परिणाम"
+
+msgid "IDS_SEARCH_BODY_PD_RESULTS"
+msgstr "%d परिणाम"
+
+msgid "IDS_TW_BODY_FAVORITES"
+msgstr "पसंदीदा"
+
+msgid "IDS_EMAIL_POP_DOWNLOAD_CANCELLED"
+msgstr "डाउनलोड रद्द।"
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ALBUM_Q"
+msgstr "यह एल्बम हटाएँ?"
+
+msgid "IDS_CAM_HEADER_WARNING_ABB"
+msgstr "चेतावनी"
+
+msgid "IDS_ALM_OPT_SORT_BY"
+msgstr "इसके द्वारा क्रमबद्ध करें"
+
+msgid "IDS_CLD_OPT_TODAY"
+msgstr "आज"
+
+msgid "IDS_GALLERY_BODY_DATE"
+msgstr "तिथि"
+
+msgid "IDS_EMAIL_BODY_NO_ITEMS_TO_DISPLAY"
+msgstr "दर्शानें के लिए मदें नहीं।"
+
+msgid "IDS_PBR_BODY_TAP_HERE_TO_TAKE_PICTURES_OR_VIDEOS"
+msgstr "तस्वीरें और वीडियों लेने के लिए टैप करें।"
+
+msgid "IDS_NFC_TPOP_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SHARED_HPD_EXCEEDED"
+msgstr "साझा की जा सकने वाली मदों की अधिकतम संख्या (%d) सीमा पार हो गई है।"
+
+msgid "IDS_IV_BODY_TAP_TO_ADD_IMAGES"
+msgstr "छवियाँ जोड़ने के लिए टैप करें।"
+
+msgid "IDS_GALLERY_POP_COPY_OR_MOVE_THE_SELECTED_ITEMS_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "मूल एल्बम से चयनित मदों को कॉपी करें या उन्हें ले जाएँ?"
+
+msgid "IDS_GALLERY_HEADER_SELECT"
+msgstr "चयन करें"
+
+msgid "IDS_VIDEO_POP_FILE_ALREADY_EXISTS"
+msgstr "फाइल पहले से मौजूद है।"
+
+msgid "IDS_VIDEO_POP_THIS_ITEM_WILL_BE_DELETED"
+msgstr "यह मद हटाया जाएगा।"
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_FACEBOOK_ITEMS_WILL_BE_SHOWN"
+msgstr "आपके द्वारा फ़ेसबुक पर तस्वीरें अपलोड करने के बाद, मदें दिखाई जाएगी।"
+
+msgid "IDS_GALLERY_HEADER_SELECT_ALL_ABB"
+msgstr "सभी चुनें"
+
+msgid "IDS_GALLERY_HEADER_PD_SELECTED_ABB"
+msgstr "%d चयनित"
+
+msgid "IDS_GALLERY_OPT_VIEW_AS"
+msgstr "इस रूप में देखें"
+
+msgid "IDS_GALLERY_OPT_DATE_HMOST_RECENT_ABB2"
+msgstr "तिथि (सबसे नवीनतम)"
+
+msgid "IDS_GALLERY_OPT_DATE_HOLDEST_ABB3"
+msgstr "तिथि (सबसे पुरानी)"
+
+msgid "IDS_GALLERY_BODY_AFTER_YOU_TAKE_PICTURES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "आपके द्वारा तस्वीरें लेने के बाद वे यहाँ दिखाई जाएँगी।"
+
+msgid "IDS_CLOUD_TPOP_CANCELLING_ING"
+msgstr "रद्द किया जा रहा है..."
+
+msgid "IDS_GALLERY_OPT_FROM_DEVICE_ABB"
+msgstr "डिवाइस से"
+
+msgid "IDS_GALLERY_OPT_FROM_DROPBOX_ABB"
+msgstr "ड्रॉपबॉक्स से"
+
+msgid "IDS_GALLERY_OPT_FROM_FACEBOOK_ABB"
+msgstr "फेसबुक से"
+
+msgid "IDS_MUSIC_BODY_DOWNLOAD_COMPLETED"
+msgstr "डाउनलोड पूर्ण।"
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DELETED"
+msgstr "सभी मदें हटाई जाएँगी।"
+
+msgid "IDS_GALLERY_POP_1_ITEM_WILL_BE_DOWNLOADED"
+msgstr "1 मद डाउनलोड की जाएँगी।"
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "%d मदें डाउनलोड की जाएँगी।"
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "सभी मदें डाउनलोड की जाएँगी।"
+
+msgid "IDS_GALLERY_TPOP_SELECTED_ALBUM_SAME_AS_SOURCE_ALBUM_SELECT_ANOTHER_ALBUM"
+msgstr "चयनित एल्बम, स्रोत एल्बम के समान ही है। कोई अन्य एल्बम चुनें।"
+
+msgid "IDS_HS_NPBODY_TAP_HERE_TO_ADD_IMAGES"
+msgstr "छवियाँ जोड़ने के लिए यहाँ टैप करें"
+
+msgid "IDS_MF_HEADER_UNABLE_TO_SAVE_DATA_ABB"
+msgstr "डाटा सुरक्षित करने में असमर्थ"
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_IN_YOUR_DEVICE_STORAGE_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "आपके डिवाइस स्टोरेज में पर्याप्त स्थान नहीं है। सेटिंग्स > पॉवर और संग्रहण > संग्रहण पर जाएँ, फिर कुछ फाइलें हटाएँ और फिर से प्रयास करें।"
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_YOUR_SD_CARD_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "आपके SD कार्ड में पर्याप्त स्थान नहीं है। सेटिंग्स > पॉवर और संग्रहण > संग्रहण पर जाएँ, फिर कुछ फाइलें हटाएँ और फिर से प्रयास करें।"
+
+msgid "IDS_MF_BUTTON_CANCEL_ABB3"
+msgstr "रद्द करें"
+
+msgid "IDS_MF_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "दोबारा न दिखाएँ"
+
+msgid "IDS_MF_POP_USING_MOBILE_DATA_WHILE_ROAMING_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "आपकी भुगतान योजना के आधार पर रोमिंग के दौरान मोबाइल डाटा का उपयोग करने के परिणाम स्वरूप अतिरिक्त शुल्क लग सकते हैं।"
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DELETED_ABB"
+msgstr "%d मदें हटाई जाएँगी।"
+
+msgid "IDS_GALLERY_OPT_DELETE"
+msgstr "हटाएँ"
+
+msgid "IDS_GALLERY_BODY_YESTERDAY"
+msgstr "बीता हुआ कल"
+
+msgid "IDS_BR_MBODY_DOWNLOADS"
+msgstr "डाउनलोड्स"
+
+msgid "IDS_GALLERY_HEADER_COPY"
+msgstr "कॉपी करें"
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "हटाएँ"
+
+msgid "IDS_GALLERY_BUTTON_ALBUMS"
+msgstr "एल्बम"
+
+msgid "IDS_GALLERY_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_HPD_HAS_BEEN_EXCEEDED"
+msgstr "मदों (%d) की अधिकतम संख्या पार हो गई है।"
+
+msgid "IDS_GALLERY_BUTTON_CANCEL"
+msgstr "रद्द"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "पूर्ण"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "रद्द करें"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "हटाएँ"
+
+msgid "IDS_GALLERY_POP_COPYING_ING"
+msgstr "कॉपी कर रहा है..."
+
+msgid "IDS_GALLERY_POP_MOVING_ING"
+msgstr "ले जा रहा है..."
+
+msgid "IDS_STORYALBUM_POP_IF_YOU_CREATE_CONTENT_THAT_INCLUDES_ITEMS_FROM_PERSONAL_STORAGE_IT_MAY_NOT_BE_HIDDEN_AUTOMATICALLY_MSG"
+msgstr "यदि आप कोर्इ ऐसी सामग्री बनाते हैं जिसमें व्यक्तिगत स्टोरेज की मदें शामिल हैं, तो हो सकता है यह स्वचालित रूप से छुपाई न जाएँ। नई सामग्री देखते समय चयनित व्यक्तिगत सामग्री देखी जा सकती है।"
+
+msgid "IDS_HS_ACBUTTON_EDIT"
+msgstr "संपादन"
+
+msgid "IDS_MF_BUTTON_SETTINGS"
+msgstr "सेटिंग्स"
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "संपादन"
+
+msgid "IDS_CLOCK_HEADER_REORDER_ABB"
+msgstr "क्रम बदलें"
+
diff --git a/res/po/hr.po b/res/po/hr.po
new file mode 100644 (file)
index 0000000..615a243
--- /dev/null
@@ -0,0 +1,759 @@
+msgid "IDS_MF_POP_YOUR_DEVICE_IS_NOT_CONNECTED_TO_A_WI_FI_NETWORK_CONNECTING_TO_A_MOBILE_NETWORK_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "Uređaj nije spojen na Wi-Fi mrežu. Povezivanje s mobilnom mrežom može uzrokovati dodatne troškove ovisno o vašoj tarifi."
+
+msgid "IDS_VIDEO_TPOP_MOBILE_DATA_TURNED_OFF_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_TURN_ON_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Mobilni su podaci isključeni. Spojite se na Wi-Fi mrežu ili uključite Mobilne podatke i pokušajte ponovno."
+
+msgid "IDS_VIDEO_BODY_AFTER_YOU_RECORD_VIDEOS_USING_THE_CAMERA_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Nakon što kamerom snimite videozapise, prikazat će se ovdje."
+
+msgid "IDS_VIDEO_TPOP_FILE_NAME_ALREADY_IN_USE"
+msgstr "Već postoji naziv datoteke."
+
+msgid "IDS_MF_POP_DELETE_PD_ITEMS_Q"
+msgstr "Obrisati %d slika?"
+
+msgid "IDS_ST_HEADER_PRIVACY"
+msgstr "Privatnost"
+
+msgid "IDS_COM_BODY_SEP_ABB"
+msgstr "Ruj"
+
+msgid "IDS_COM_BODY_OCT_ABB"
+msgstr "Lis"
+
+msgid "IDS_COM_BODY_NOV_ABB"
+msgstr "Stu"
+
+msgid "IDS_COM_BODY_MAY_ABB"
+msgstr "Svi"
+
+msgid "IDS_COM_BODY_MAR_ABB"
+msgstr "Ožu"
+
+msgid "IDS_COM_BODY_JUN_ABB"
+msgstr "Lip"
+
+msgid "IDS_COM_BODY_JUL_ABB"
+msgstr "Srp"
+
+msgid "IDS_COM_BODY_JAN_ABB"
+msgstr "Sij"
+
+msgid "IDS_COM_BODY_FEB_ABB"
+msgstr "Velj"
+
+msgid "IDS_COM_BODY_DEC_ABB"
+msgstr "Pro"
+
+msgid "IDS_COM_BODY_AUG_ABB"
+msgstr "Kol"
+
+msgid "IDS_COM_BODY_APR_ABB"
+msgstr "Tra"
+
+msgid "IDS_GALLERY_HEADER_ALBUM"
+msgstr "Album"
+
+msgid "IDS_MEDIABR_OPT_MORE"
+msgstr "Više"
+
+msgid "IDS_MEDIABR_POP_INVALID_INPUT_PARAMETER"
+msgstr "Neispravan ulazni parametar."
+
+msgid "IDS_MEDIABR_POP_ENTRY_IS_EMPTY"
+msgstr "Unos prazan."
+
+msgid "IDS_MEDIABR_POP_SAME_NAME_ALREADY_IN_USE"
+msgstr "Već postoji isto ime."
+
+msgid "IDS_MEDIABR_POP_UNABLE_TO_RENAME"
+msgstr "Nemoguće preimenovati."
+
+msgid "IDS_MEDIABR_POP_NO_ALBUMS_SELECTED"
+msgstr "Nema odabranih albuma."
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ITEM"
+msgstr "Odaberite stavku"
+
+msgid "IDS_MEDIABR_BODY_NO_ALBUMS"
+msgstr "Nema albuma"
+
+msgid "IDS_MEDIABR_POP_CREATE_FOLDER_Q"
+msgstr "Nova mapa?"
+
+msgid "IDS_MEDIABR_POP_RETRY_Q"
+msgstr "Ponoviti?"
+
+msgid "IDS_MEDIABR_POPUP_REMOVE_Q"
+msgstr "Ukloniti?"
+
+msgid "IDS_MEDIABR_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "%d albuma biti će obrisano."
+
+msgid "IDS_MEDIABR_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "1 album bit će obrisan."
+
+msgid "IDS_MEDIABR_BODY_CAMERA"
+msgstr "Kamera"
+
+msgid "IDS_MEDIABR_BUTTON_START"
+msgstr "Pokretanje"
+
+msgid "IDS_MEDIABR_OPT_SETTINGS"
+msgstr "Postavke"
+
+msgid "IDS_MEDIABR_OPT_YES"
+msgstr "Da"
+
+msgid "IDS_MEDIABR_OPT_NO"
+msgstr "Ne"
+
+msgid "IDS_MEDIABR_BUTTON_OK"
+msgstr "U redu"
+
+msgid "IDS_MEDIABR_BUTTON_SAVE"
+msgstr "Spremi"
+
+msgid "IDS_MEDIABR_POP_DELETE_Q"
+msgstr "Obrisati?"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_ALBUM"
+msgstr "Premjesti u album"
+
+msgid "IDS_GALLERY_OPT_COPY_TO_ALBUM"
+msgstr "Kopiraj na album"
+
+msgid "IDS_GALLERY_HEADER_VIEW_BY_ABB"
+msgstr "Prikaz po"
+
+msgid "IDS_GALLERY_HEADER_ENTER_NAME"
+msgstr "Unesite ime"
+
+msgid "IDS_MEDIABR_POP_ALL_DATA_RELATED_TO_THIS_ACCOUNT_WILL_BE_DELETED_CONTINUE_Q"
+msgstr "Svi podaci vezani za ovaj račun bit će obrisani. Nastavak?"
+
+msgid "IDS_MEDIABR_BUTTON_CANCEL_ABB"
+msgstr "Prekid"
+
+msgid "IDS_MEDIABR_TAB4_NEW_ALBUM"
+msgstr "Novi album"
+
+msgid "IDS_MEDIABR_POP_DO_YOU_WANT_TO_COPY_OR_MOVE_THE_PICTURES_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Želite li kopirati ili premjestiti slike iz originalnog albuma?"
+
+msgid "IDS_MEDIABR_OPT_SHARE"
+msgstr "Dijeli"
+
+msgid "IDS_MEDIABR_OPT_SLIDESHOW"
+msgstr "Prezentacija"
+
+msgid "IDS_MEDIABR_OPT_START_SLIDESHOW"
+msgstr "Pokreni prezentaciju"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS"
+msgstr "Postavke prezentacije"
+
+msgid "IDS_MEDIABR_POP_NO_NAME"
+msgstr "Nema imena"
+
+msgid "IDS_MEDIABR_BODY_ALL_ALBUMS"
+msgstr "Svi albumi"
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ALBUM"
+msgstr "Odaberi album"
+
+msgid "IDS_MEDIABR_POP_1_ITEM_WILL_BE_DELETED"
+msgstr "1 stavka bit će obrisana."
+
+msgid "IDS_MEDIABR_OPT_ALL_ITEMS"
+msgstr "Sve stavke"
+
+msgid "IDS_MEDIABR_BODY_PD_ITEMS"
+msgstr "%d stavki"
+
+msgid "IDS_IV_BODY_THERE_IS_ONLY_ONE_ALBUM"
+msgstr "Samo je jedan album."
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "Možete odabrati do %d stavki."
+
+msgid "IDS_MF_BODY_DOWNLOADS"
+msgstr "Skidanja"
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Obrisati?"
+
+msgid "IDS_MF_SK_MOVE"
+msgstr "Premjesti"
+
+msgid "IDS_MF_POP_DELETING_ING"
+msgstr "Brisanje..."
+
+msgid "IDS_CAM_BODY_OPERATION_FAILED"
+msgstr "Neuspješno."
+
+msgid "IDS_MSG_BODY_CANCELLED_M_CONTENT"
+msgstr "Poništeno"
+
+msgid "IDS_MF_OPT_DELETE_SELECTED"
+msgstr "Odabrano"
+
+msgid "IDS_MF_POP_MOVED"
+msgstr "Premješteno."
+
+msgid "IDS_MF_POP_COPIED"
+msgstr "Kopirano."
+
+msgid "IDS_VPL_POP_NO_FILES_SELECTED"
+msgstr "Nije odabrana datoteka."
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Zatvori"
+
+msgid "IDS_MF_OPT_SORT_BY_ABB"
+msgstr "Sortiraj"
+
+msgid "IDS_CAM_POP_LATEST"
+msgstr "Najnovije"
+
+msgid "IDS_MEDIABR_POP_OLDEST_M_DATE"
+msgstr "Najstarije"
+
+msgid "IDS_MSG_BUTTON2_CREATE"
+msgstr "Novo"
+
+msgid "IDS_MEDIABR_POP_NO_ITEMS"
+msgstr "Nema stavki"
+
+msgid "IDS_MEDIABR_OPT_EDIT_IMAGE"
+msgstr "Uredi sliku"
+
+msgid "IDS_MEDIABR_BODY_SELECT_PICTURE"
+msgstr "Odaberite sliku"
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ITEM_Q"
+msgstr "Izbrisati ovu stavku?"
+
+msgid "IDS_GALLERY_OPT_SCENERY"
+msgstr "Krajolik"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PRIVATE"
+msgstr "Ukloni iz Privatnog"
+
+msgid "IDS_GALLERY_OPT_PETS"
+msgstr "Kućni ljubimci"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_PRIVATE"
+msgstr "Premjesti u Privatno"
+
+msgid "IDS_GALLERY_OPT_FOOD"
+msgstr "Hrana"
+
+msgid "IDS_GALLERY_OPT_FLOWERS"
+msgstr "Cvijeće"
+
+msgid "IDS_GALLERY_OPT_DOCUMENTS"
+msgstr "Dokumenti"
+
+msgid "IDS_GALLERY_MBODY_VEHICLES"
+msgstr "Vozila"
+
+msgid "IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED"
+msgstr "Maksimalan broj znakova (%d)."
+
+msgid "IDS_IV_BODY_UNABLE_TO_LOAD_PHOTO_ABB"
+msgstr "Nemoguće učitati fotografiju."
+
+msgid "IDS_IV_BODY_SHARE_VIA"
+msgstr "Dijeljenje preko"
+
+msgid "IDS_IV_BODY_DONT_ASK_AGAIN"
+msgstr "Ne pitaj više"
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maks. broj znakova."
+
+msgid "IDS_GALLERY_HEADER_TIME"
+msgstr "Vrijeme"
+
+msgid "IDS_EMAIL_BODY_FAILED_M_STATUS"
+msgstr "Greška"
+
+msgid "IDS_EMAIL_BODY_DELETED"
+msgstr "Obrisano."
+
+msgid "IDS_EMAIL_POP_DELETE_Q"
+msgstr "Obrisati?"
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Uklanjanje..."
+
+msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS"
+msgstr "Prikaz %d stavki"
+
+msgid "IDS_GALLERY_OPT_CREATE_ALBUM"
+msgstr "Novi album"
+
+msgid "IDS_GALLERY_OPT_GALLERY_ABB"
+msgstr "Galerija"
+
+msgid "IDS_EMAIL_BUTTON_MORE"
+msgstr "Više"
+
+msgid "IDS_EMAIL_OPT_ACCOUNTS"
+msgstr "Računi"
+
+msgid "IDS_EMAIL_POP_OPERATION_FAILED"
+msgstr "Neuspješno."
+
+msgid "IDS_GALLERY_BODY_DOWNLOAD"
+msgstr "Skidanje"
+
+msgid "IDS_GALLERY_BODY_SEARCH"
+msgstr "Traži"
+
+msgid "IDS_GALLERY_BUTTON_BACK"
+msgstr "Nazad"
+
+msgid "IDS_GALLERY_BUTTON_CAMERA"
+msgstr "Kamera"
+
+msgid "IDS_GALLERY_HEADER_ALL"
+msgstr "Sve"
+
+msgid "IDS_GALLERY_OPT_REFRESH"
+msgstr "Aktualiziraj"
+
+msgid "IDS_GALLERY_OPT_REMOVE"
+msgstr "Ukloni"
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_DROPBOX_ITEMS_WILL_BE_SHOWN"
+msgstr "Nakon što pošaljete slike u Dropbox, stavke će se prikazati."
+
+msgid "IDS_KEEPIT_BODY_GROUP_PLAY_ABB"
+msgstr "Group Play"
+
+msgid "IDS_MEDIABR_HEADER_CONTACTS"
+msgstr "Imenik"
+
+msgid "IDS_MEDIABR_OPT_CREATE"
+msgstr "Novi"
+
+msgid "IDS_MEDIABR_OPT_DETAILS"
+msgstr "Detalji"
+
+msgid "IDS_MEDIABR_OPT_PRINT"
+msgstr "Ispis"
+
+msgid "IDS_MEDIABR_OPT_RENAME"
+msgstr "Preimenuj"
+
+msgid "IDS_MEDIABR_POP_DOWNLOADED"
+msgstr "Skinuto."
+
+msgid "IDS_MEDIABR_POP_DOWNLOADING_ING"
+msgstr "Skidanje..."
+
+msgid "IDS_MF_HEADER_ENTER_NAME"
+msgstr "Unesite ime."
+
+msgid "IDS_MF_HEADER_MYFILES"
+msgstr "Moje Datoteke"
+
+msgid "IDS_MF_POP_ADDED"
+msgstr "Dodano."
+
+msgid "IDS_MF_POP_PROCESSING_ING"
+msgstr "Procesiranje..."
+
+msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
+msgstr "Nepodržana datoteka."
+
+msgid "IDS_IMGE_BODY_AFTER_YOU_TAKE_PICTURES_PICTURES_WILL_BE_SHOWN"
+msgstr "Nakon što snimite slike, slike će se prikazati."
+
+msgid "IDS_IME_BODY_LANDSCAPE_MODE"
+msgstr "Pejzažni način"
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_CLOSE_DRAWER_MENU_TTS"
+msgstr "Dvaput dodirnite da biste zatvorili izbornik ladica."
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_OPEN_DRAWER_MENU_TTS"
+msgstr "Dvaput dodirnite da biste otvorili izbornik ladica."
+
+msgid "IDS_EMAIL_BODY_DRAG_AND_DROP"
+msgstr "Dovuci i ispusti"
+
+msgid "IDS_EMAIL_OPT_DRAWER_ABB"
+msgstr "Ladica"
+
+msgid "IDS_EMAIL_POP_MOBILE_DATA_IS_DISABLED_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_ENABLE_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Mobilni podaci su isključeni. Umjesto toga spojite se na Wi-Fi mrežu ili uključite mobilne podatke i pokušajte ponovno"
+
+msgid "IDS_EMAIL_POP_WI_FI_CONNECTION_REQUIRED_CONNECT_TO_WI_FI_NETWORK_AND_TRY_AGAIN"
+msgstr "Potrebna Wi-Fi veza. Spojite se na Wi-Fi vezu i pokušajte ponovno"
+
+msgid "IDS_GALLERY_HEADER_ADD_PICTURES_FROM_ABB"
+msgstr "Dodaj slike iz"
+
+msgid "IDS_GALLERY_HEADER_CONNECTED_DEVICES_ABB"
+msgstr "Spojeni uređaji"
+
+msgid "IDS_GALLERY_OPT_PRIVATE_CONTENT"
+msgstr "Privatni sadržaj"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PS"
+msgstr "Uklonite iz %s"
+
+msgid "IDS_GALLERY_OPT_REMOVE_NAME_TAG"
+msgstr "Ukloni oznaku imena"
+
+msgid "IDS_GALLERY_POP_THERE_ARE_NO_EVENTS_TO_DISPLAY_CREATE_A_NEW_EVENT"
+msgstr "Nema događaja koji bi se prikazali. Kreirajte novi događaj."
+
+msgid "IDS_GALLERY_POP_TO_SCROLL_QUICKLY_TO_OTHER_DATES_TAP_AND_HOLD_THE_DATE_INDICATOR_AT_THE_TOP_RIGHT_OF_THE_SCREEN"
+msgstr "Da biste se brzo pomicali na druge datume, dodirnite i držite indikator datuma na gornjem desnom kutu zaslona."
+
+msgid "IDS_GP_POP_REMOVE_PD_ITEMS_Q"
+msgstr "Ukloni %d stavaka?"
+
+msgid "IDS_GP_POP_REMOVE_THIS_ITEM_Q"
+msgstr "Ukloniti ovu stavku?"
+
+msgid "IDS_HELP_BODY_GALLERY"
+msgstr "Galerija"
+
+msgid "IDS_HELP_OPT_SHUFFLED_PICTURES"
+msgstr "Nasumične fotografije"
+
+msgid "IDS_IV_BODY_ADD_PICTURES"
+msgstr "Dodaj slike"
+
+msgid "IDS_IV_BODY_AFTER_YOU_TAG_PICTURES_AS_YOUR_FAVOURITES_PICTURES_WILL_BE_SHOWN"
+msgstr "Nakon što označite slike kao omiljene, slike će se prikazati."
+
+msgid "IDS_IV_BODY_REMOVE_FACE_IDENTIFICATION_Q"
+msgstr "Ukloniti prepoznavanje lica?"
+
+msgid "IDS_IV_OPT_ASSIGN_NAME"
+msgstr "Dodijeli ime"
+
+msgid "IDS_IV_OPT_CONFIRM_AS_PS"
+msgstr "Potvrdi kao %s"
+
+msgid "IDS_IV_OPT_LAYOUT_M_PICTUERS"
+msgstr "Izgled"
+
+msgid "IDS_IV_OPT_PD_PICTURES_ADDED"
+msgstr "Dodano %d slika"
+
+msgid "IDS_IV_POP_THE_ALBUM_WILL_BE_CANCELLED"
+msgstr "Kreiranje albuma će se prekinuti."
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEM_ABB"
+msgstr "Obriši stavku"
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEMS"
+msgstr "Izbriši stavke"
+
+msgid "IDS_MEDIABR_BODY_1_ITEM"
+msgstr "1 stavka"
+
+msgid "IDS_MEDIABR_BODY_10_SECONDS"
+msgstr "10 sek"
+
+msgid "IDS_MEDIABR_BODY_5_SECONDS"
+msgstr "5 sek"
+
+msgid "IDS_MEDIABR_BODY_NOT_ASSIGNED"
+msgstr "Nedodijeljeno"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL"
+msgstr "Interval prezentacije"
+
+msgid "IDS_MEDIABR_BODY_UNTAGGED"
+msgstr "Bez oznake"
+
+msgid "IDS_MEDIABR_OPT_3_SECONDS"
+msgstr "3 sek"
+
+msgid "IDS_MEDIABR_OPT_ALL_CONTENT"
+msgstr "Sav sadržaj"
+
+msgid "IDS_MEDIABR_OPT_CONTENT_TO_DISPLAY"
+msgstr "Prikaz sadržaja"
+
+msgid "IDS_MEDIABR_OPT_DELETE_TAG"
+msgstr "Obriši oznaku"
+
+msgid "IDS_MEDIABR_OPT_DEVICE_CONTENT"
+msgstr "Sadržaj uređaja"
+
+msgid "IDS_MEDIABR_OPT_DROPBOX_CONTENT"
+msgstr "Dropbox sadržaj"
+
+msgid "IDS_MEDIABR_OPT_FACEBOOK_CONTENT"
+msgstr "Facebook sadržaj"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_LEFT"
+msgstr "Rotiraj ulijevo"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_RIGHT"
+msgstr "Rotiraj udesno"
+
+msgid "IDS_MEDIABR_POP_IMPORT"
+msgstr "Uvoz"
+
+msgid "IDS_MEDIABR_POP_IMPORTED"
+msgstr "Importirano."
+
+msgid "IDS_MEDIABR_POP_IMPORTING_ING"
+msgstr "Importiranje..."
+
+msgid "IDS_MEDIABR_POP_LOADING_ING"
+msgstr "Učitavanje..."
+
+msgid "IDS_MEDIABR_POP_NEARBY_DEVICES_FOUND"
+msgstr "Pronađeni uređaji u blizini."
+
+msgid "IDS_MEDIABR_POP_NO_DEVICES_FOUND_SCANNING_FOR_NEARBY_DEVICES_WILL_CONTINUE_IN_BACKGROUND"
+msgstr "Nema uređaja. Traženje uređaja u blizini nastavlja se u pozadini."
+
+msgid "IDS_MEDIABR_POP_REFRESHED"
+msgstr "Aktualizirano."
+
+msgid "IDS_MEDIABR_POP_ROTATING_ING"
+msgstr "Rotacija..."
+
+msgid "IDS_MEDIABR_POP_SCAN_STARTED_DEVICE_LIST_WILL_BE_UPDATED_AUTOMATICALLY"
+msgstr "Traženje pokrenuto. Popis uređaja će se automatski aktualizirati."
+
+msgid "IDS_MEDIABR_POP_STARTING_DOWNLOAD_ABB"
+msgstr "Pokretanje skidanja..."
+
+msgid "IDS_MF_OPT_COPY_TO"
+msgstr "Kopiraj na"
+
+msgid "IDS_MF_OPT_MOVE_TO"
+msgstr "Premjesti u"
+
+msgid "IDS_MF_POP_FAILED_TO_ADD_SHORTCUT"
+msgstr "Pogreška dodavanja prečaca."
+
+msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
+msgstr "Nedovoljno memorije. Obrišite neke datoteke"
+
+msgid "IDS_MF_POP_REMOVED"
+msgstr "Uklonjeno."
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Dodavanje..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "Izbrisati %d albuma?"
+
+msgid "IDS_ST_BODY_PRIVATE_STORAGE"
+msgstr "Privatna memorija"
+
+msgid "IDS_IV_BODY_DRAG_HERE"
+msgstr "Dovucite ovdje."
+
+msgid "IDS_GALLERY_BODY_NEW_M_ALBUM_ABB"
+msgstr "Novo"
+
+msgid "IDS_GALLERY_HEADER_UNGROUPEDM_PEOPLE_ABB"
+msgstr "Nerazvrstano"
+
+msgid "IDS_KEEPIT_OPT_SCREENSHOTS_ABB"
+msgstr "Slike zaslona"
+
+msgid "IDS_MEDIABR_OPT_PHOTOS"
+msgstr "Slike"
+
+msgid "IDS_MEDIABR_POP_DOWNLOAD_FAILED"
+msgstr "Skidanje neuspješno."
+
+msgid "IDS_MEDIABR_POP_UNSUPPORTED_FILE"
+msgstr "Nepodržana datoteka."
+
+msgid "IDS_SEARCH_BODY_1_RESULT"
+msgstr "1 rezultat"
+
+msgid "IDS_SEARCH_BODY_PD_RESULTS"
+msgstr "%d rezultata"
+
+msgid "IDS_TW_BODY_FAVORITES"
+msgstr "Favoriti"
+
+msgid "IDS_EMAIL_POP_DOWNLOAD_CANCELLED"
+msgstr "Skidanje prekinuto."
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ALBUM_Q"
+msgstr "Izbrisati ovaj album?"
+
+msgid "IDS_CAM_HEADER_WARNING_ABB"
+msgstr "Upozorenje"
+
+msgid "IDS_ALM_OPT_SORT_BY"
+msgstr "Sortiraj po"
+
+msgid "IDS_CLD_OPT_TODAY"
+msgstr "Danas"
+
+msgid "IDS_GALLERY_BODY_DATE"
+msgstr "Datum"
+
+msgid "IDS_EMAIL_BODY_NO_ITEMS_TO_DISPLAY"
+msgstr "Nema stavki."
+
+msgid "IDS_PBR_BODY_TAP_HERE_TO_TAKE_PICTURES_OR_VIDEOS"
+msgstr "Dodirnite ovdje da biste snimili fotografije ili video zapise."
+
+msgid "IDS_NFC_TPOP_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SHARED_HPD_EXCEEDED"
+msgstr "Dosegnut je maksimalni broj stavki koje se mogu dijeliti (%d)."
+
+msgid "IDS_IV_BODY_TAP_TO_ADD_IMAGES"
+msgstr "Dotaknite za dodavanje slika."
+
+msgid "IDS_GALLERY_POP_COPY_OR_MOVE_THE_SELECTED_ITEMS_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Kopirati ili premjestiti odabrane stavke iz originalnog albuma?"
+
+msgid "IDS_GALLERY_HEADER_SELECT"
+msgstr "Odaberi"
+
+msgid "IDS_VIDEO_POP_FILE_ALREADY_EXISTS"
+msgstr "Datoteka postoji."
+
+msgid "IDS_VIDEO_POP_THIS_ITEM_WILL_BE_DELETED"
+msgstr "Ova će stavka biti obrisana."
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_FACEBOOK_ITEMS_WILL_BE_SHOWN"
+msgstr "Nakon što pošaljete slike na Facebook, stavke će se prikazati."
+
+msgid "IDS_GALLERY_HEADER_SELECT_ALL_ABB"
+msgstr "Odaberi sve"
+
+msgid "IDS_GALLERY_HEADER_PD_SELECTED_ABB"
+msgstr "%d odabrano"
+
+msgid "IDS_GALLERY_OPT_VIEW_AS"
+msgstr "Prikaži kao"
+
+msgid "IDS_GALLERY_OPT_DATE_HMOST_RECENT_ABB2"
+msgstr "Datum (najnoviji)"
+
+msgid "IDS_GALLERY_OPT_DATE_HOLDEST_ABB3"
+msgstr "Datum (najstariji)"
+
+msgid "IDS_GALLERY_BODY_AFTER_YOU_TAKE_PICTURES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Slike će se prikazati ovdje nakon što ih snimite."
+
+msgid "IDS_CLOUD_TPOP_CANCELLING_ING"
+msgstr "Prekidanje..."
+
+msgid "IDS_GALLERY_OPT_FROM_DEVICE_ABB"
+msgstr "S uređaja"
+
+msgid "IDS_GALLERY_OPT_FROM_DROPBOX_ABB"
+msgstr "S Dropboxa"
+
+msgid "IDS_GALLERY_OPT_FROM_FACEBOOK_ABB"
+msgstr "S Facebooka"
+
+msgid "IDS_MUSIC_BODY_DOWNLOAD_COMPLETED"
+msgstr "Skidanje obavljeno."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DELETED"
+msgstr "Svi će stavke biti obrisane."
+
+msgid "IDS_GALLERY_POP_1_ITEM_WILL_BE_DOWNLOADED"
+msgstr "Preuzet će se 1 stavka."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "Preuzet će se ovoliko stavki: %d."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "Preuzet će se sve stavke."
+
+msgid "IDS_GALLERY_TPOP_SELECTED_ALBUM_SAME_AS_SOURCE_ALBUM_SELECT_ANOTHER_ALBUM"
+msgstr "Odabrani je album isti kao i izvorni album. Odaberite drugi album."
+
+msgid "IDS_HS_NPBODY_TAP_HERE_TO_ADD_IMAGES"
+msgstr "Dodirnite ovdje da biste dodali slike"
+
+msgid "IDS_MF_HEADER_UNABLE_TO_SAVE_DATA_ABB"
+msgstr "Nemoguće spremiti podatke"
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_IN_YOUR_DEVICE_STORAGE_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "Nema dovoljno prostora u memoriji uređaja. Idite na Postavke > Baterija i memorija > Memorija, zatim izbrišite neke datoteke i pokušajte ponovno."
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_YOUR_SD_CARD_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "Nema dovoljno prostora na SD kartici. Idite na Postavke > Baterija i memorija > Memorija, zatim izbrišite neke datoteke i pokušajte ponovno."
+
+msgid "IDS_MF_BUTTON_CANCEL_ABB3"
+msgstr "Prekid"
+
+msgid "IDS_MF_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Ne prikazuj više"
+
+msgid "IDS_MF_POP_USING_MOBILE_DATA_WHILE_ROAMING_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "Korištenje mobilnih podataka u roamingu može dovesti do dodatnih troškova, ovisno o vašoj tarifi."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DELETED_ABB"
+msgstr "%d stavki bit će izbrisano."
+
+msgid "IDS_GALLERY_OPT_DELETE"
+msgstr "Obriši"
+
+msgid "IDS_GALLERY_BODY_YESTERDAY"
+msgstr "Jučer"
+
+msgid "IDS_BR_MBODY_DOWNLOADS"
+msgstr "Skidanja"
+
+msgid "IDS_GALLERY_HEADER_COPY"
+msgstr "Kopiranje"
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Obriši"
+
+msgid "IDS_GALLERY_BUTTON_ALBUMS"
+msgstr "Albumi"
+
+msgid "IDS_GALLERY_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Premašen je maksimalni broj stavki (%d)."
+
+msgid "IDS_GALLERY_BUTTON_CANCEL"
+msgstr "Prekid"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "GOTOVO"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ODUSTANI"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "IZBRIŠI"
+
+msgid "IDS_GALLERY_POP_COPYING_ING"
+msgstr "Kopiranje..."
+
+msgid "IDS_GALLERY_POP_MOVING_ING"
+msgstr "Premještanje..."
+
+msgid "IDS_STORYALBUM_POP_IF_YOU_CREATE_CONTENT_THAT_INCLUDES_ITEMS_FROM_PERSONAL_STORAGE_IT_MAY_NOT_BE_HIDDEN_AUTOMATICALLY_MSG"
+msgstr "Ako kreirate sadržaj koji uključuje stavke iz osobne memorije, možda neće automatski biti skriven. Odabrani osobni sadržaj mogao bi se vidjeti pri pregledavanju novog sadržaja."
+
+msgid "IDS_HS_ACBUTTON_EDIT"
+msgstr "UREDI"
+
+msgid "IDS_MF_BUTTON_SETTINGS"
+msgstr "Postavke"
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "UREDI"
+
+msgid "IDS_CLOCK_HEADER_REORDER_ABB"
+msgstr "Poredak"
+
diff --git a/res/po/hu.po b/res/po/hu.po
new file mode 100644 (file)
index 0000000..4b326da
--- /dev/null
@@ -0,0 +1,759 @@
+msgid "IDS_MF_POP_YOUR_DEVICE_IS_NOT_CONNECTED_TO_A_WI_FI_NETWORK_CONNECTING_TO_A_MOBILE_NETWORK_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "Az eszköz nem kapcsolódik Wi-Fi hálózathoz. Mobilhálózati kapcsolat létesítése az előfizetési csomagtól függően további költséggel járhat."
+
+msgid "IDS_VIDEO_TPOP_MOBILE_DATA_TURNED_OFF_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_TURN_ON_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "A mobil internetkapcsolat ki van kapcsolva. Kapcsolódjon Wi-Fi-hálózathoz, vagy kapcsolja be a mobil internetkapcsolatot, és próbálja újra."
+
+msgid "IDS_VIDEO_BODY_AFTER_YOU_RECORD_VIDEOS_USING_THE_CAMERA_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Itt jelennek majd meg a fényképezővel rögzített videók."
+
+msgid "IDS_VIDEO_TPOP_FILE_NAME_ALREADY_IN_USE"
+msgstr "Ilyen fájlnév már van."
+
+msgid "IDS_MF_POP_DELETE_PD_ITEMS_Q"
+msgstr "Töröl %d elemet?"
+
+msgid "IDS_ST_HEADER_PRIVACY"
+msgstr "Védett adataim"
+
+msgid "IDS_COM_BODY_SEP_ABB"
+msgstr "Sze."
+
+msgid "IDS_COM_BODY_OCT_ABB"
+msgstr "Okt."
+
+msgid "IDS_COM_BODY_NOV_ABB"
+msgstr "Nov."
+
+msgid "IDS_COM_BODY_MAY_ABB"
+msgstr "máj."
+
+msgid "IDS_COM_BODY_MAR_ABB"
+msgstr "Már."
+
+msgid "IDS_COM_BODY_JUN_ABB"
+msgstr "Jún."
+
+msgid "IDS_COM_BODY_JUL_ABB"
+msgstr "Júl."
+
+msgid "IDS_COM_BODY_JAN_ABB"
+msgstr "Jan."
+
+msgid "IDS_COM_BODY_FEB_ABB"
+msgstr "Feb."
+
+msgid "IDS_COM_BODY_DEC_ABB"
+msgstr "Dec."
+
+msgid "IDS_COM_BODY_AUG_ABB"
+msgstr "Aug."
+
+msgid "IDS_COM_BODY_APR_ABB"
+msgstr "Ápr."
+
+msgid "IDS_GALLERY_HEADER_ALBUM"
+msgstr "Album"
+
+msgid "IDS_MEDIABR_OPT_MORE"
+msgstr "Egyebek"
+
+msgid "IDS_MEDIABR_POP_INVALID_INPUT_PARAMETER"
+msgstr "Érvénytelen bemeneti paraméter"
+
+msgid "IDS_MEDIABR_POP_ENTRY_IS_EMPTY"
+msgstr "A bejegyzés üres."
+
+msgid "IDS_MEDIABR_POP_SAME_NAME_ALREADY_IN_USE"
+msgstr "Már van ilyen név."
+
+msgid "IDS_MEDIABR_POP_UNABLE_TO_RENAME"
+msgstr "Nem lehet átnevezni."
+
+msgid "IDS_MEDIABR_POP_NO_ALBUMS_SELECTED"
+msgstr "Nincs kijelölt album."
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ITEM"
+msgstr "Elem kiválasztása"
+
+msgid "IDS_MEDIABR_BODY_NO_ALBUMS"
+msgstr "Nincs album"
+
+msgid "IDS_MEDIABR_POP_CREATE_FOLDER_Q"
+msgstr "Mappát hoz létre?"
+
+msgid "IDS_MEDIABR_POP_RETRY_Q"
+msgstr "Újra próbálkozik?"
+
+msgid "IDS_MEDIABR_POPUP_REMOVE_Q"
+msgstr "Törli?"
+
+msgid "IDS_MEDIABR_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "%d albumot törölni fog."
+
+msgid "IDS_MEDIABR_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "Törölni fog 1 albumot."
+
+msgid "IDS_MEDIABR_BODY_CAMERA"
+msgstr "Fényképező"
+
+msgid "IDS_MEDIABR_BUTTON_START"
+msgstr "Indítás"
+
+msgid "IDS_MEDIABR_OPT_SETTINGS"
+msgstr "Beállítások"
+
+msgid "IDS_MEDIABR_OPT_YES"
+msgstr "Igen"
+
+msgid "IDS_MEDIABR_OPT_NO"
+msgstr "Nem"
+
+msgid "IDS_MEDIABR_BUTTON_OK"
+msgstr "OK"
+
+msgid "IDS_MEDIABR_BUTTON_SAVE"
+msgstr "Mentés"
+
+msgid "IDS_MEDIABR_POP_DELETE_Q"
+msgstr "Törli?"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_ALBUM"
+msgstr "Áthelyezés albumba"
+
+msgid "IDS_GALLERY_OPT_COPY_TO_ALBUM"
+msgstr "Másolás albumba"
+
+msgid "IDS_GALLERY_HEADER_VIEW_BY_ABB"
+msgstr "Nézet"
+
+msgid "IDS_GALLERY_HEADER_ENTER_NAME"
+msgstr "Írja be a nevet"
+
+msgid "IDS_MEDIABR_POP_ALL_DATA_RELATED_TO_THIS_ACCOUNT_WILL_BE_DELETED_CONTINUE_Q"
+msgstr "A fiókhoz kapcsolódó minden adatot törölni fog. Folytatja?"
+
+msgid "IDS_MEDIABR_BUTTON_CANCEL_ABB"
+msgstr "Mégse"
+
+msgid "IDS_MEDIABR_TAB4_NEW_ALBUM"
+msgstr "Új album"
+
+msgid "IDS_MEDIABR_POP_DO_YOU_WANT_TO_COPY_OR_MOVE_THE_PICTURES_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Szeretné átmásolni vagy áthelyezni a képeket az eredeti albumból?"
+
+msgid "IDS_MEDIABR_OPT_SHARE"
+msgstr "Megosztás"
+
+msgid "IDS_MEDIABR_OPT_SLIDESHOW"
+msgstr "Diabemutató"
+
+msgid "IDS_MEDIABR_OPT_START_SLIDESHOW"
+msgstr "Diabemutató indítása"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS"
+msgstr "Diabemutató beállításai"
+
+msgid "IDS_MEDIABR_POP_NO_NAME"
+msgstr "Nincs név"
+
+msgid "IDS_MEDIABR_BODY_ALL_ALBUMS"
+msgstr "Összes album"
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ALBUM"
+msgstr "Album kiválasztása"
+
+msgid "IDS_MEDIABR_POP_1_ITEM_WILL_BE_DELETED"
+msgstr "Törölni fog 1 tételt."
+
+msgid "IDS_MEDIABR_OPT_ALL_ITEMS"
+msgstr "Összes tétel"
+
+msgid "IDS_MEDIABR_BODY_PD_ITEMS"
+msgstr "%d tétel"
+
+msgid "IDS_IV_BODY_THERE_IS_ONLY_ONE_ALBUM"
+msgstr "Csak egy album van."
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "Legfeljebb %d tételt jelölhet ki."
+
+msgid "IDS_MF_BODY_DOWNLOADS"
+msgstr "Letöltések"
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Törli?"
+
+msgid "IDS_MF_SK_MOVE"
+msgstr "Áthelyez"
+
+msgid "IDS_MF_POP_DELETING_ING"
+msgstr "Törlés..."
+
+msgid "IDS_CAM_BODY_OPERATION_FAILED"
+msgstr "Sikertelen művelet"
+
+msgid "IDS_MSG_BODY_CANCELLED_M_CONTENT"
+msgstr "Megszakítva"
+
+msgid "IDS_MF_OPT_DELETE_SELECTED"
+msgstr "Kiválasztott"
+
+msgid "IDS_MF_POP_MOVED"
+msgstr "Áthelyezve."
+
+msgid "IDS_MF_POP_COPIED"
+msgstr "Átmásolva."
+
+msgid "IDS_VPL_POP_NO_FILES_SELECTED"
+msgstr "Nincs kiválasztva fájl."
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Bezár"
+
+msgid "IDS_MF_OPT_SORT_BY_ABB"
+msgstr "Rendezés szempontja"
+
+msgid "IDS_CAM_POP_LATEST"
+msgstr "Legfrissebb"
+
+msgid "IDS_MEDIABR_POP_OLDEST_M_DATE"
+msgstr "Legrégebbi"
+
+msgid "IDS_MSG_BUTTON2_CREATE"
+msgstr "Létrehoz"
+
+msgid "IDS_MEDIABR_POP_NO_ITEMS"
+msgstr "Nincs tétel"
+
+msgid "IDS_MEDIABR_OPT_EDIT_IMAGE"
+msgstr "Kép szerkesztése"
+
+msgid "IDS_MEDIABR_BODY_SELECT_PICTURE"
+msgstr "Válasszon képet"
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ITEM_Q"
+msgstr "Törli a tételt?"
+
+msgid "IDS_GALLERY_OPT_SCENERY"
+msgstr "Táj"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PRIVATE"
+msgstr "Eltávolítás a Privátból"
+
+msgid "IDS_GALLERY_OPT_PETS"
+msgstr "Háziállatok"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_PRIVATE"
+msgstr "Áthelyezés a Privátba"
+
+msgid "IDS_GALLERY_OPT_FOOD"
+msgstr "Étel"
+
+msgid "IDS_GALLERY_OPT_FLOWERS"
+msgstr "Virág"
+
+msgid "IDS_GALLERY_OPT_DOCUMENTS"
+msgstr "Dokumentumok"
+
+msgid "IDS_GALLERY_MBODY_VEHICLES"
+msgstr "Járművek"
+
+msgid "IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED"
+msgstr "Elérte a karakterek maximális számát (%d)."
+
+msgid "IDS_IV_BODY_UNABLE_TO_LOAD_PHOTO_ABB"
+msgstr "Nem lehet betölteni a fényképet."
+
+msgid "IDS_IV_BODY_SHARE_VIA"
+msgstr "Megosztás"
+
+msgid "IDS_IV_BODY_DONT_ASK_AGAIN"
+msgstr "Máskor ne legyen kérdés"
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Nincs hely több karakternek."
+
+msgid "IDS_GALLERY_HEADER_TIME"
+msgstr "Idő"
+
+msgid "IDS_EMAIL_BODY_FAILED_M_STATUS"
+msgstr "Hiba"
+
+msgid "IDS_EMAIL_BODY_DELETED"
+msgstr "Törölve."
+
+msgid "IDS_EMAIL_POP_DELETE_Q"
+msgstr "Törli?"
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Eltávolítás..."
+
+msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS"
+msgstr "%d tétel jelent meg"
+
+msgid "IDS_GALLERY_OPT_CREATE_ALBUM"
+msgstr "Album létrehozása"
+
+msgid "IDS_GALLERY_OPT_GALLERY_ABB"
+msgstr "Galéria"
+
+msgid "IDS_EMAIL_BUTTON_MORE"
+msgstr "Egyebek"
+
+msgid "IDS_EMAIL_OPT_ACCOUNTS"
+msgstr "Fiókok"
+
+msgid "IDS_EMAIL_POP_OPERATION_FAILED"
+msgstr "Sikertelen művelet"
+
+msgid "IDS_GALLERY_BODY_DOWNLOAD"
+msgstr "Letöltés"
+
+msgid "IDS_GALLERY_BODY_SEARCH"
+msgstr "Keresés"
+
+msgid "IDS_GALLERY_BUTTON_BACK"
+msgstr "Vissza"
+
+msgid "IDS_GALLERY_BUTTON_CAMERA"
+msgstr "Kamera"
+
+msgid "IDS_GALLERY_HEADER_ALL"
+msgstr "Mind"
+
+msgid "IDS_GALLERY_OPT_REFRESH"
+msgstr "Frissítés"
+
+msgid "IDS_GALLERY_OPT_REMOVE"
+msgstr "Eltávolítás"
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_DROPBOX_ITEMS_WILL_BE_SHOWN"
+msgstr "Ha majd feltölt képeket a Dropboxra, megjelennek a tételek."
+
+msgid "IDS_KEEPIT_BODY_GROUP_PLAY_ABB"
+msgstr "Group play"
+
+msgid "IDS_MEDIABR_HEADER_CONTACTS"
+msgstr "Névjegyek"
+
+msgid "IDS_MEDIABR_OPT_CREATE"
+msgstr "Létrehoz"
+
+msgid "IDS_MEDIABR_OPT_DETAILS"
+msgstr "Részletek"
+
+msgid "IDS_MEDIABR_OPT_PRINT"
+msgstr "Nyomtatás"
+
+msgid "IDS_MEDIABR_OPT_RENAME"
+msgstr "Átnevez"
+
+msgid "IDS_MEDIABR_POP_DOWNLOADED"
+msgstr "Letöltve."
+
+msgid "IDS_MEDIABR_POP_DOWNLOADING_ING"
+msgstr "Letöltés..."
+
+msgid "IDS_MF_HEADER_ENTER_NAME"
+msgstr "Írja be a nevet."
+
+msgid "IDS_MF_HEADER_MYFILES"
+msgstr "Saját fájlok"
+
+msgid "IDS_MF_POP_ADDED"
+msgstr "Hozzáadva."
+
+msgid "IDS_MF_POP_PROCESSING_ING"
+msgstr "Feldolgozás folyamatban"
+
+msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
+msgstr "A fájltípus\nnem támogatott."
+
+msgid "IDS_IMGE_BODY_AFTER_YOU_TAKE_PICTURES_PICTURES_WILL_BE_SHOWN"
+msgstr "Ha majd készít képeket, akkor azok megjelennek itt."
+
+msgid "IDS_IME_BODY_LANDSCAPE_MODE"
+msgstr "Fekvő helyzet"
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_CLOSE_DRAWER_MENU_TTS"
+msgstr "Kétszeri érintéssel bezárhatja a tálcamenüt."
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_OPEN_DRAWER_MENU_TTS"
+msgstr "Kétszeri érintéssel megnyithatja a tálcamenüt."
+
+msgid "IDS_EMAIL_BODY_DRAG_AND_DROP"
+msgstr "Húzás"
+
+msgid "IDS_EMAIL_OPT_DRAWER_ABB"
+msgstr "Fiók"
+
+msgid "IDS_EMAIL_POP_MOBILE_DATA_IS_DISABLED_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_ENABLE_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "A mobil internetkapcsolat le van tiltva. Kapcsolódjon Wi-Fi hálózathoz, vagy engedélyezze a mobil internetkapcsolatot, és próbálja újra"
+
+msgid "IDS_EMAIL_POP_WI_FI_CONNECTION_REQUIRED_CONNECT_TO_WI_FI_NETWORK_AND_TRY_AGAIN"
+msgstr "Wi-Fi kapcsolat szükséges. Kapcsolódjon a Wi-Fi hálózathoz, és próbálja újra"
+
+msgid "IDS_GALLERY_HEADER_ADD_PICTURES_FROM_ABB"
+msgstr "Képek hozzáadásának forrása"
+
+msgid "IDS_GALLERY_HEADER_CONNECTED_DEVICES_ABB"
+msgstr "Csatlakoztatott eszközök"
+
+msgid "IDS_GALLERY_OPT_PRIVATE_CONTENT"
+msgstr "Privát tartalom"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PS"
+msgstr "Eltávolítás a(z) %s kategóriából"
+
+msgid "IDS_GALLERY_OPT_REMOVE_NAME_TAG"
+msgstr "Névcímke eltávolítása"
+
+msgid "IDS_GALLERY_POP_THERE_ARE_NO_EVENTS_TO_DISPLAY_CREATE_A_NEW_EVENT"
+msgstr "Nincs megjeleníthető esemény. Hozzon létre új eseményt."
+
+msgid "IDS_GALLERY_POP_TO_SCROLL_QUICKLY_TO_OTHER_DATES_TAP_AND_HOLD_THE_DATE_INDICATOR_AT_THE_TOP_RIGHT_OF_THE_SCREEN"
+msgstr "Ujját a képernyő jobb felső sarkában található dátumjelzőn tartva gyorsan más dátumra görgethet."
+
+msgid "IDS_GP_POP_REMOVE_PD_ITEMS_Q"
+msgstr "Eltávolít %d tételt?"
+
+msgid "IDS_GP_POP_REMOVE_THIS_ITEM_Q"
+msgstr "Eltávolítja a tételt?"
+
+msgid "IDS_HELP_BODY_GALLERY"
+msgstr "Galéria"
+
+msgid "IDS_HELP_OPT_SHUFFLED_PICTURES"
+msgstr "Képek véletlenszerűen"
+
+msgid "IDS_IV_BODY_ADD_PICTURES"
+msgstr "Képek hozzáadása"
+
+msgid "IDS_IV_BODY_AFTER_YOU_TAG_PICTURES_AS_YOUR_FAVOURITES_PICTURES_WILL_BE_SHOWN"
+msgstr "Ha majd felcímkéz képeket kedvencként, azok megjelennek itt."
+
+msgid "IDS_IV_BODY_REMOVE_FACE_IDENTIFICATION_Q"
+msgstr "Eltávolítja az arcazonosítást?"
+
+msgid "IDS_IV_OPT_ASSIGN_NAME"
+msgstr "Név hozzárendelése"
+
+msgid "IDS_IV_OPT_CONFIRM_AS_PS"
+msgstr "%s megerősítése"
+
+msgid "IDS_IV_OPT_LAYOUT_M_PICTUERS"
+msgstr "Elrendezés"
+
+msgid "IDS_IV_OPT_PD_PICTURES_ADDED"
+msgstr "%d kép hozzáadva"
+
+msgid "IDS_IV_POP_THE_ALBUM_WILL_BE_CANCELLED"
+msgstr "Elveti az albumot."
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEM_ABB"
+msgstr "Tétel törlése"
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEMS"
+msgstr "Tételek törlése"
+
+msgid "IDS_MEDIABR_BODY_1_ITEM"
+msgstr "1 tétel"
+
+msgid "IDS_MEDIABR_BODY_10_SECONDS"
+msgstr "10 másodperc"
+
+msgid "IDS_MEDIABR_BODY_5_SECONDS"
+msgstr "5 másodperc"
+
+msgid "IDS_MEDIABR_BODY_NOT_ASSIGNED"
+msgstr "Nincs hozzárendelve"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL"
+msgstr "Diabemutató intervalluma"
+
+msgid "IDS_MEDIABR_BODY_UNTAGGED"
+msgstr "Címkézetlen"
+
+msgid "IDS_MEDIABR_OPT_3_SECONDS"
+msgstr "3 másodperc"
+
+msgid "IDS_MEDIABR_OPT_ALL_CONTENT"
+msgstr "Minden tartalom"
+
+msgid "IDS_MEDIABR_OPT_CONTENT_TO_DISPLAY"
+msgstr "Megjelenítendő tartalom"
+
+msgid "IDS_MEDIABR_OPT_DELETE_TAG"
+msgstr "Címke törlése"
+
+msgid "IDS_MEDIABR_OPT_DEVICE_CONTENT"
+msgstr "Eszközön lévő tartalom"
+
+msgid "IDS_MEDIABR_OPT_DROPBOX_CONTENT"
+msgstr "Dropbox tartalom"
+
+msgid "IDS_MEDIABR_OPT_FACEBOOK_CONTENT"
+msgstr "Facebook tartalom"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_LEFT"
+msgstr "Forgatás balra"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_RIGHT"
+msgstr "Forgatás jobbra"
+
+msgid "IDS_MEDIABR_POP_IMPORT"
+msgstr "Importálás"
+
+msgid "IDS_MEDIABR_POP_IMPORTED"
+msgstr "Importálva."
+
+msgid "IDS_MEDIABR_POP_IMPORTING_ING"
+msgstr "Importálás..."
+
+msgid "IDS_MEDIABR_POP_LOADING_ING"
+msgstr "Betöltés..."
+
+msgid "IDS_MEDIABR_POP_NEARBY_DEVICES_FOUND"
+msgstr "Eszközök találhatók a közelben."
+
+msgid "IDS_MEDIABR_POP_NO_DEVICES_FOUND_SCANNING_FOR_NEARBY_DEVICES_WILL_CONTINUE_IN_BACKGROUND"
+msgstr "Nem található eszköz. A háttérben folytatódik a közeli eszközök keresése."
+
+msgid "IDS_MEDIABR_POP_REFRESHED"
+msgstr "Frissítve."
+
+msgid "IDS_MEDIABR_POP_ROTATING_ING"
+msgstr "Forgatás..."
+
+msgid "IDS_MEDIABR_POP_SCAN_STARTED_DEVICE_LIST_WILL_BE_UPDATED_AUTOMATICALLY"
+msgstr "Keresés elindítva. Az eszközlista automatikusan frissül."
+
+msgid "IDS_MEDIABR_POP_STARTING_DOWNLOAD_ABB"
+msgstr "Letöltés indítása..."
+
+msgid "IDS_MF_OPT_COPY_TO"
+msgstr "Másolás ide"
+
+msgid "IDS_MF_OPT_MOVE_TO"
+msgstr "Áthelyezés ide"
+
+msgid "IDS_MF_POP_FAILED_TO_ADD_SHORTCUT"
+msgstr "Nem sikerült hozzáadni a parancsikont."
+
+msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
+msgstr "Kevés a memória. Töröljön néhány tételt"
+
+msgid "IDS_MF_POP_REMOVED"
+msgstr "Törölve."
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Hozzáadás..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "Töröl %d albumot?"
+
+msgid "IDS_ST_BODY_PRIVATE_STORAGE"
+msgstr "Privát tárhely"
+
+msgid "IDS_IV_BODY_DRAG_HERE"
+msgstr "Húzza ide."
+
+msgid "IDS_GALLERY_BODY_NEW_M_ALBUM_ABB"
+msgstr "Új"
+
+msgid "IDS_GALLERY_HEADER_UNGROUPEDM_PEOPLE_ABB"
+msgstr "Csoport nélküli"
+
+msgid "IDS_KEEPIT_OPT_SCREENSHOTS_ABB"
+msgstr "Képernyőfotók"
+
+msgid "IDS_MEDIABR_OPT_PHOTOS"
+msgstr "Fényképek"
+
+msgid "IDS_MEDIABR_POP_DOWNLOAD_FAILED"
+msgstr "Sikertelen letöltés"
+
+msgid "IDS_MEDIABR_POP_UNSUPPORTED_FILE"
+msgstr "Nem támogatott fájl"
+
+msgid "IDS_SEARCH_BODY_1_RESULT"
+msgstr "1 találat"
+
+msgid "IDS_SEARCH_BODY_PD_RESULTS"
+msgstr "%d találat"
+
+msgid "IDS_TW_BODY_FAVORITES"
+msgstr "Kedvencek"
+
+msgid "IDS_EMAIL_POP_DOWNLOAD_CANCELLED"
+msgstr "Letöltés megszakítva."
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ALBUM_Q"
+msgstr "Törli az albumot?"
+
+msgid "IDS_CAM_HEADER_WARNING_ABB"
+msgstr "Figyelmeztetés"
+
+msgid "IDS_ALM_OPT_SORT_BY"
+msgstr "Rendezés"
+
+msgid "IDS_CLD_OPT_TODAY"
+msgstr "Ma"
+
+msgid "IDS_GALLERY_BODY_DATE"
+msgstr "Dátum"
+
+msgid "IDS_EMAIL_BODY_NO_ITEMS_TO_DISPLAY"
+msgstr "Nincs megjeleníthető tétel."
+
+msgid "IDS_PBR_BODY_TAP_HERE_TO_TAKE_PICTURES_OR_VIDEOS"
+msgstr "Érintse meg fénykép- vagy videofelvétel készítéséhez."
+
+msgid "IDS_NFC_TPOP_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SHARED_HPD_EXCEEDED"
+msgstr "Túllépte a megosztható tételek maximális számát (%d)."
+
+msgid "IDS_IV_BODY_TAP_TO_ADD_IMAGES"
+msgstr "Érintse meg képek hozzáadásához."
+
+msgid "IDS_GALLERY_POP_COPY_OR_MOVE_THE_SELECTED_ITEMS_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Átmásolja vagy áthelyezi a kiválasztott elemeket az eredeti albumból?"
+
+msgid "IDS_GALLERY_HEADER_SELECT"
+msgstr "Kiválasztás"
+
+msgid "IDS_VIDEO_POP_FILE_ALREADY_EXISTS"
+msgstr "A fájl már létezik."
+
+msgid "IDS_VIDEO_POP_THIS_ITEM_WILL_BE_DELETED"
+msgstr "Törli ezt a tételt?"
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_FACEBOOK_ITEMS_WILL_BE_SHOWN"
+msgstr "Ha majd feltölt képeket a Facebookra, megjelennek a tételek."
+
+msgid "IDS_GALLERY_HEADER_SELECT_ALL_ABB"
+msgstr "Összes kijelölése"
+
+msgid "IDS_GALLERY_HEADER_PD_SELECTED_ABB"
+msgstr "%d kijelölve"
+
+msgid "IDS_GALLERY_OPT_VIEW_AS"
+msgstr "Megjelenítés módja"
+
+msgid "IDS_GALLERY_OPT_DATE_HMOST_RECENT_ABB2"
+msgstr "Dátum (legújabb)"
+
+msgid "IDS_GALLERY_OPT_DATE_HOLDEST_ABB3"
+msgstr "Dátum (legrégebbi)"
+
+msgid "IDS_GALLERY_BODY_AFTER_YOU_TAKE_PICTURES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Ha majd képeket készít, azok itt jelennek meg."
+
+msgid "IDS_CLOUD_TPOP_CANCELLING_ING"
+msgstr "Megszakítás..."
+
+msgid "IDS_GALLERY_OPT_FROM_DEVICE_ABB"
+msgstr "Az eszközről"
+
+msgid "IDS_GALLERY_OPT_FROM_DROPBOX_ABB"
+msgstr "A Dropboxból"
+
+msgid "IDS_GALLERY_OPT_FROM_FACEBOOK_ABB"
+msgstr "A Facebookról"
+
+msgid "IDS_MUSIC_BODY_DOWNLOAD_COMPLETED"
+msgstr "Letöltés befejezve."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DELETED"
+msgstr "Minden tételt törölni fog."
+
+msgid "IDS_GALLERY_POP_1_ITEM_WILL_BE_DOWNLOADED"
+msgstr "Letölt 1 elemet."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "Letölt %d elemet."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "Az összes elemet letölti."
+
+msgid "IDS_GALLERY_TPOP_SELECTED_ALBUM_SAME_AS_SOURCE_ALBUM_SELECT_ANOTHER_ALBUM"
+msgstr "A kiválasztott album azonos a forrásalbummal. Válasszon másik albumot."
+
+msgid "IDS_HS_NPBODY_TAP_HERE_TO_ADD_IMAGES"
+msgstr "Érintse meg képek hozzáadásához"
+
+msgid "IDS_MF_HEADER_UNABLE_TO_SAVE_DATA_ABB"
+msgstr "Az adatok nem menthetők"
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_IN_YOUR_DEVICE_STORAGE_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "Nincs elég hely az eszköz tárhelyén. Válassza a Beállítások > Energia és tárhely > Tárhely pontot, töröljön fájlokat, majd próbálja újra."
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_YOUR_SD_CARD_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "Nincs elég hely az SD-kártyán. Válassza a Beállítások > Energia és tárhely > Tárhely pontot, töröljön fájlokat, majd próbálja újra."
+
+msgid "IDS_MF_BUTTON_CANCEL_ABB3"
+msgstr "Mégse"
+
+msgid "IDS_MF_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Ne jelenjen meg újra"
+
+msgid "IDS_MF_POP_USING_MOBILE_DATA_WHILE_ROAMING_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "Előfizetési csomagjától függően lehetséges, hogy a mobil internetkapcsolat roamingos használatáért további díjat kell fizetni."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DELETED_ABB"
+msgstr "Törölni fog %d elemet."
+
+msgid "IDS_GALLERY_OPT_DELETE"
+msgstr "Törlés"
+
+msgid "IDS_GALLERY_BODY_YESTERDAY"
+msgstr "Tegnap"
+
+msgid "IDS_BR_MBODY_DOWNLOADS"
+msgstr "Letöltések"
+
+msgid "IDS_GALLERY_HEADER_COPY"
+msgstr "Másolás"
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Törlés"
+
+msgid "IDS_GALLERY_BUTTON_ALBUMS"
+msgstr "Albumok"
+
+msgid "IDS_GALLERY_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Túllépte az elemek maximális számát (%d)."
+
+msgid "IDS_GALLERY_BUTTON_CANCEL"
+msgstr "Mégse"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "KÉSZ"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "MÉGSE"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "TÖRLÉS"
+
+msgid "IDS_GALLERY_POP_COPYING_ING"
+msgstr "Másolás..."
+
+msgid "IDS_GALLERY_POP_MOVING_ING"
+msgstr "Áthelyezés..."
+
+msgid "IDS_STORYALBUM_POP_IF_YOU_CREATE_CONTENT_THAT_INCLUDES_ITEMS_FROM_PERSONAL_STORAGE_IT_MAY_NOT_BE_HIDDEN_AUTOMATICALLY_MSG"
+msgstr "Ha a létrehozott tartalomban a személyes tárhelyről származó tartalom található, az nem rejthető el automatikusan. A kiválasztott személyes tartalom az új tartalom megjelenítésével tekinthető meg."
+
+msgid "IDS_HS_ACBUTTON_EDIT"
+msgstr "SZERKESZTÉS"
+
+msgid "IDS_MF_BUTTON_SETTINGS"
+msgstr "Beállítások"
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "SZERK."
+
+msgid "IDS_CLOCK_HEADER_REORDER_ABB"
+msgstr "Átrendezés"
+
diff --git a/res/po/hy.po b/res/po/hy.po
new file mode 100644 (file)
index 0000000..d220740
--- /dev/null
@@ -0,0 +1,759 @@
+msgid "IDS_MF_POP_YOUR_DEVICE_IS_NOT_CONNECTED_TO_A_WI_FI_NETWORK_CONNECTING_TO_A_MOBILE_NETWORK_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "Ձեր սարքը միացված չէ Wi-Fi ցանցի: Շարժական կապի ցանցին միանալը կարող է լրացուցիչ վճարների հանգեցնել՝ Ձեր վճարային պլանից կախված"
+
+msgid "IDS_VIDEO_TPOP_MOBILE_DATA_TURNED_OFF_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_TURN_ON_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Շարժական տվյալներն անջատված են: Փոխարենը միացեք Wi-Fi ցանցի կամ միացրեք Շարժական տվյալներն ու նորից փորձեք:"
+
+msgid "IDS_VIDEO_BODY_AFTER_YOU_RECORD_VIDEOS_USING_THE_CAMERA_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Խցիկով տեսանյութեր տեսագրելուց հետո դրանք կցուցադրվեն այստեղ:"
+
+msgid "IDS_VIDEO_TPOP_FILE_NAME_ALREADY_IN_USE"
+msgstr "Ֆայլի անունն արդեն գործածվում է"
+
+msgid "IDS_MF_POP_DELETE_PD_ITEMS_Q"
+msgstr "Ջնջե՞լ %d տարր"
+
+msgid "IDS_ST_HEADER_PRIVACY"
+msgstr "Գաղտնիություն"
+
+msgid "IDS_COM_BODY_SEP_ABB"
+msgstr "Սպտ."
+
+msgid "IDS_COM_BODY_OCT_ABB"
+msgstr "Հկտ."
+
+msgid "IDS_COM_BODY_NOV_ABB"
+msgstr "Նվբ."
+
+msgid "IDS_COM_BODY_MAY_ABB"
+msgstr "Մայ"
+
+msgid "IDS_COM_BODY_MAR_ABB"
+msgstr "Մրտ."
+
+msgid "IDS_COM_BODY_JUN_ABB"
+msgstr "Հնս."
+
+msgid "IDS_COM_BODY_JUL_ABB"
+msgstr "Հլս."
+
+msgid "IDS_COM_BODY_JAN_ABB"
+msgstr "Հնվ."
+
+msgid "IDS_COM_BODY_FEB_ABB"
+msgstr "Փտր."
+
+msgid "IDS_COM_BODY_DEC_ABB"
+msgstr "Դկտ."
+
+msgid "IDS_COM_BODY_AUG_ABB"
+msgstr "Օգս."
+
+msgid "IDS_COM_BODY_APR_ABB"
+msgstr "Ապր."
+
+msgid "IDS_GALLERY_HEADER_ALBUM"
+msgstr "Ալբոմ"
+
+msgid "IDS_MEDIABR_OPT_MORE"
+msgstr "Ավելին"
+
+msgid "IDS_MEDIABR_POP_INVALID_INPUT_PARAMETER"
+msgstr "Անվավեր ներածված պարամետր:"
+
+msgid "IDS_MEDIABR_POP_ENTRY_IS_EMPTY"
+msgstr "Գրառումը դատարկ է:"
+
+msgid "IDS_MEDIABR_POP_SAME_NAME_ALREADY_IN_USE"
+msgstr "Նույն անունն արդեն օգտագործվում է:"
+
+msgid "IDS_MEDIABR_POP_UNABLE_TO_RENAME"
+msgstr "Հնարավոր չէ վերանվանել:"
+
+msgid "IDS_MEDIABR_POP_NO_ALBUMS_SELECTED"
+msgstr "Ոչ մի ալբոմ չի ընտրվել:"
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ITEM"
+msgstr "Ընտրել տարրը"
+
+msgid "IDS_MEDIABR_BODY_NO_ALBUMS"
+msgstr "Ալբոմներ չկան"
+
+msgid "IDS_MEDIABR_POP_CREATE_FOLDER_Q"
+msgstr "Ստեղծե՞լ թղթապանակ"
+
+msgid "IDS_MEDIABR_POP_RETRY_Q"
+msgstr "Կրկին փորձե՞լ"
+
+msgid "IDS_MEDIABR_POPUP_REMOVE_Q"
+msgstr "Հեռացնե՞լ"
+
+msgid "IDS_MEDIABR_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "%d ալբոմ կվերացվի:"
+
+msgid "IDS_MEDIABR_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "1 ալբոմ կվերացվի:"
+
+msgid "IDS_MEDIABR_BODY_CAMERA"
+msgstr "Խցիկ"
+
+msgid "IDS_MEDIABR_BUTTON_START"
+msgstr "Մեկնարկել"
+
+msgid "IDS_MEDIABR_OPT_SETTINGS"
+msgstr "Պարամետրեր"
+
+msgid "IDS_MEDIABR_OPT_YES"
+msgstr "Այո"
+
+msgid "IDS_MEDIABR_OPT_NO"
+msgstr "Ոչ"
+
+msgid "IDS_MEDIABR_BUTTON_OK"
+msgstr "OK"
+
+msgid "IDS_MEDIABR_BUTTON_SAVE"
+msgstr "Պահպանել"
+
+msgid "IDS_MEDIABR_POP_DELETE_Q"
+msgstr "Ջնջե՞լ"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_ALBUM"
+msgstr "Տեղափոխել ալբոմի մեջ"
+
+msgid "IDS_GALLERY_OPT_COPY_TO_ALBUM"
+msgstr "Պատճենել ալբոմի մեջ"
+
+msgid "IDS_GALLERY_HEADER_VIEW_BY_ABB"
+msgstr "Դիտել ըստ"
+
+msgid "IDS_GALLERY_HEADER_ENTER_NAME"
+msgstr "Մուտքագրեք անունը"
+
+msgid "IDS_MEDIABR_POP_ALL_DATA_RELATED_TO_THIS_ACCOUNT_WILL_BE_DELETED_CONTINUE_Q"
+msgstr "Այս հաշվին առնչվող բոլոր տվյալները կվերացվեն. շարունակե՞լ:"
+
+msgid "IDS_MEDIABR_BUTTON_CANCEL_ABB"
+msgstr "Դադարեցնել"
+
+msgid "IDS_MEDIABR_TAB4_NEW_ALBUM"
+msgstr "Նոր ալբոմ"
+
+msgid "IDS_MEDIABR_POP_DO_YOU_WANT_TO_COPY_OR_MOVE_THE_PICTURES_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Ուզու՞մ եք պատճենել կամ տեղափոխել սկզբնական ալբոմի նկարները:"
+
+msgid "IDS_MEDIABR_OPT_SHARE"
+msgstr "Համատեղ օգտագործում"
+
+msgid "IDS_MEDIABR_OPT_SLIDESHOW"
+msgstr "Սահկահանդես"
+
+msgid "IDS_MEDIABR_OPT_START_SLIDESHOW"
+msgstr "Սկսել սլայդերի ցուցադրում"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS"
+msgstr "Սահկահանդեսի ընտրանքները"
+
+msgid "IDS_MEDIABR_POP_NO_NAME"
+msgstr "Անուն չկա"
+
+msgid "IDS_MEDIABR_BODY_ALL_ALBUMS"
+msgstr "Բոլոր ալբոմները"
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ALBUM"
+msgstr "Ընտրել ալբոմ"
+
+msgid "IDS_MEDIABR_POP_1_ITEM_WILL_BE_DELETED"
+msgstr "1 տարր կվերացվի:"
+
+msgid "IDS_MEDIABR_OPT_ALL_ITEMS"
+msgstr "Բոլոր տարրերը"
+
+msgid "IDS_MEDIABR_BODY_PD_ITEMS"
+msgstr "%d տարր"
+
+msgid "IDS_IV_BODY_THERE_IS_ONLY_ONE_ALBUM"
+msgstr "Միայն մեկ ալբոմ կա:"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "Կարող եք ընտրել մինչև %d տարր:"
+
+msgid "IDS_MF_BODY_DOWNLOADS"
+msgstr "Բեռնումներ"
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Ջնջե՞լ"
+
+msgid "IDS_MF_SK_MOVE"
+msgstr "Տեղափոխել"
+
+msgid "IDS_MF_POP_DELETING_ING"
+msgstr "Ջնջվում է..."
+
+msgid "IDS_CAM_BODY_OPERATION_FAILED"
+msgstr "Գործողությունը ձախողվեց:"
+
+msgid "IDS_MSG_BODY_CANCELLED_M_CONTENT"
+msgstr "Դադարեցված"
+
+msgid "IDS_MF_OPT_DELETE_SELECTED"
+msgstr "Ընտրված"
+
+msgid "IDS_MF_POP_MOVED"
+msgstr "Տեղափոխված է"
+
+msgid "IDS_MF_POP_COPIED"
+msgstr "Պատճենված է:"
+
+msgid "IDS_VPL_POP_NO_FILES_SELECTED"
+msgstr "Չի ընտրված որևէ ֆայլ:"
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Փակել"
+
+msgid "IDS_MF_OPT_SORT_BY_ABB"
+msgstr "Տեսակավորել ըստ"
+
+msgid "IDS_CAM_POP_LATEST"
+msgstr "Ավենավերջին"
+
+msgid "IDS_MEDIABR_POP_OLDEST_M_DATE"
+msgstr "Ամենահին"
+
+msgid "IDS_MSG_BUTTON2_CREATE"
+msgstr "Ստեղծել"
+
+msgid "IDS_MEDIABR_POP_NO_ITEMS"
+msgstr "Տարրեր չկան"
+
+msgid "IDS_MEDIABR_OPT_EDIT_IMAGE"
+msgstr "Խմբագրել պատկերը"
+
+msgid "IDS_MEDIABR_BODY_SELECT_PICTURE"
+msgstr "Ընտրեք նկար"
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ITEM_Q"
+msgstr "Վերացնե՞լ այս տարրը:"
+
+msgid "IDS_GALLERY_OPT_SCENERY"
+msgstr "Տեսարան"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PRIVATE"
+msgstr "Հեռացնել Գաղտնիից"
+
+msgid "IDS_GALLERY_OPT_PETS"
+msgstr "Ընտանի կենդանիներ"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_PRIVATE"
+msgstr "Տեղափոխել դեպի Գաղտնի"
+
+msgid "IDS_GALLERY_OPT_FOOD"
+msgstr "Ուտելիք"
+
+msgid "IDS_GALLERY_OPT_FLOWERS"
+msgstr "Ծաղիկներ"
+
+msgid "IDS_GALLERY_OPT_DOCUMENTS"
+msgstr "Փաստաթղթեր"
+
+msgid "IDS_GALLERY_MBODY_VEHICLES"
+msgstr "Տրանսպորտային միջոցներ"
+
+msgid "IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED"
+msgstr "Հասել է նիշերի առավելագույն քանակին (%d):"
+
+msgid "IDS_IV_BODY_UNABLE_TO_LOAD_PHOTO_ABB"
+msgstr "Անհնար է բեռնել լուսանկարը:"
+
+msgid "IDS_IV_BODY_SHARE_VIA"
+msgstr "Համօգտագործել հետևյալի միջոցով՝"
+
+msgid "IDS_IV_BODY_DONT_ASK_AGAIN"
+msgstr "Այլևս չհարցնել"
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Հասել եք նիշերի առավելագույն քանակին:"
+
+msgid "IDS_GALLERY_HEADER_TIME"
+msgstr "Ժամանակ"
+
+msgid "IDS_EMAIL_BODY_FAILED_M_STATUS"
+msgstr "Չհաջողվեց"
+
+msgid "IDS_EMAIL_BODY_DELETED"
+msgstr "Ջնջված է:"
+
+msgid "IDS_EMAIL_POP_DELETE_Q"
+msgstr "Ջնջե՞լ"
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Հեռացնում է..."
+
+msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS"
+msgstr "Ցույց է տրվում %d տարր"
+
+msgid "IDS_GALLERY_OPT_CREATE_ALBUM"
+msgstr "Ստեղծել ալբոմ"
+
+msgid "IDS_GALLERY_OPT_GALLERY_ABB"
+msgstr "Պատկերասրահ"
+
+msgid "IDS_EMAIL_BUTTON_MORE"
+msgstr "Ավելին"
+
+msgid "IDS_EMAIL_OPT_ACCOUNTS"
+msgstr "Հաշիվներ"
+
+msgid "IDS_EMAIL_POP_OPERATION_FAILED"
+msgstr "Գործողությունը ձախողվեց:"
+
+msgid "IDS_GALLERY_BODY_DOWNLOAD"
+msgstr "Ներբեռնել"
+
+msgid "IDS_GALLERY_BODY_SEARCH"
+msgstr "Որոնել"
+
+msgid "IDS_GALLERY_BUTTON_BACK"
+msgstr "Ետ"
+
+msgid "IDS_GALLERY_BUTTON_CAMERA"
+msgstr "Խցիկ"
+
+msgid "IDS_GALLERY_HEADER_ALL"
+msgstr "Բոլոր"
+
+msgid "IDS_GALLERY_OPT_REFRESH"
+msgstr "Նորացնել"
+
+msgid "IDS_GALLERY_OPT_REMOVE"
+msgstr "Հեռացնել"
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_DROPBOX_ITEMS_WILL_BE_SHOWN"
+msgstr "Նկարները Dropbox-ում վերբեռնելուց հետո տարրերը կցուցադրվեն:"
+
+msgid "IDS_KEEPIT_BODY_GROUP_PLAY_ABB"
+msgstr "Group Play"
+
+msgid "IDS_MEDIABR_HEADER_CONTACTS"
+msgstr "Կոնտակտներ"
+
+msgid "IDS_MEDIABR_OPT_CREATE"
+msgstr "Ստեղծել"
+
+msgid "IDS_MEDIABR_OPT_DETAILS"
+msgstr "Մանրամասներ"
+
+msgid "IDS_MEDIABR_OPT_PRINT"
+msgstr "Տպել"
+
+msgid "IDS_MEDIABR_OPT_RENAME"
+msgstr "Վերանվանել"
+
+msgid "IDS_MEDIABR_POP_DOWNLOADED"
+msgstr "Բեռնված է:"
+
+msgid "IDS_MEDIABR_POP_DOWNLOADING_ING"
+msgstr "Բեռնում..."
+
+msgid "IDS_MF_HEADER_ENTER_NAME"
+msgstr "Մուտքագրեք անունը:"
+
+msgid "IDS_MF_HEADER_MYFILES"
+msgstr "Իմ Ֆայլերը"
+
+msgid "IDS_MF_POP_ADDED"
+msgstr "Ավելացված է:"
+
+msgid "IDS_MF_POP_PROCESSING_ING"
+msgstr "Ընթացքում է"
+
+msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
+msgstr "Ֆայլի չսատարվող տեսակ:"
+
+msgid "IDS_IMGE_BODY_AFTER_YOU_TAKE_PICTURES_PICTURES_WILL_BE_SHOWN"
+msgstr "Նկարահանելուց հետո նկարները կցուցադրվեն:"
+
+msgid "IDS_IME_BODY_LANDSCAPE_MODE"
+msgstr "Ալբոմի ռեժիմ"
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_CLOSE_DRAWER_MENU_TTS"
+msgstr "Կրկնակի թակեք՝ գզրոց-ընտրացանկը փակելու համար:"
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_OPEN_DRAWER_MENU_TTS"
+msgstr "Կրկնակի թակեք՝ գզրոց-ընտրացանկը բացելու համար:"
+
+msgid "IDS_EMAIL_BODY_DRAG_AND_DROP"
+msgstr "Քարշեք և թողեք"
+
+msgid "IDS_EMAIL_OPT_DRAWER_ABB"
+msgstr "Իջնող ընտրացանկ"
+
+msgid "IDS_EMAIL_POP_MOBILE_DATA_IS_DISABLED_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_ENABLE_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Շարժական տվյալները կասեցված են: Փոխարենը միացեք Wi-Fi ցանցին կամ ընձեռեք շարժական տվյալներն ու նորից փորձեք"
+
+msgid "IDS_EMAIL_POP_WI_FI_CONNECTION_REQUIRED_CONNECT_TO_WI_FI_NETWORK_AND_TRY_AGAIN"
+msgstr "Wi-Fi միացում է պահանջվում: Միացեք Wi-Fi ցանցին և նորից փորձեք:"
+
+msgid "IDS_GALLERY_HEADER_ADD_PICTURES_FROM_ABB"
+msgstr "Նկարներ ավելացնել այստեղից՝"
+
+msgid "IDS_GALLERY_HEADER_CONNECTED_DEVICES_ABB"
+msgstr "Կապակցված սարքեր"
+
+msgid "IDS_GALLERY_OPT_PRIVATE_CONTENT"
+msgstr "Գաղտնի բովանդակություն"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PS"
+msgstr "Հեռացնել %s-ից"
+
+msgid "IDS_GALLERY_OPT_REMOVE_NAME_TAG"
+msgstr "Հեռացնել անվանապիտակը"
+
+msgid "IDS_GALLERY_POP_THERE_ARE_NO_EVENTS_TO_DISPLAY_CREATE_A_NEW_EVENT"
+msgstr "Ցուցադրելու իրադարձություններ չկան: Ստեղծեք նոր իրադարձություն:"
+
+msgid "IDS_GALLERY_POP_TO_SCROLL_QUICKLY_TO_OTHER_DATES_TAP_AND_HOLD_THE_DATE_INDICATOR_AT_THE_TOP_RIGHT_OF_THE_SCREEN"
+msgstr "Արագորեն դեպի այլ թվականներ ոլորելու համար էկրանի վերին աջ մասում թակեք և պահեք թվականի ցուցիչը:"
+
+msgid "IDS_GP_POP_REMOVE_PD_ITEMS_Q"
+msgstr "Հեռացնե՞լ %d տարր:"
+
+msgid "IDS_GP_POP_REMOVE_THIS_ITEM_Q"
+msgstr "Հեռացնե՞լ այս տարրը:"
+
+msgid "IDS_HELP_BODY_GALLERY"
+msgstr "Պատկերասրահ"
+
+msgid "IDS_HELP_OPT_SHUFFLED_PICTURES"
+msgstr "Խառնված նկարներ"
+
+msgid "IDS_IV_BODY_ADD_PICTURES"
+msgstr "Ավելացնել նկարներ"
+
+msgid "IDS_IV_BODY_AFTER_YOU_TAG_PICTURES_AS_YOUR_FAVOURITES_PICTURES_WILL_BE_SHOWN"
+msgstr "Նկարները որպես սիրվածներ հատկորոշելուց հետո նկարները կցուցադրվեն:"
+
+msgid "IDS_IV_BODY_REMOVE_FACE_IDENTIFICATION_Q"
+msgstr "Հեռացնե՞լ դեմքի նույնականացումը:"
+
+msgid "IDS_IV_OPT_ASSIGN_NAME"
+msgstr "Վերագրել անուն"
+
+msgid "IDS_IV_OPT_CONFIRM_AS_PS"
+msgstr "Հաստատեք որպես %s"
+
+msgid "IDS_IV_OPT_LAYOUT_M_PICTUERS"
+msgstr "Դասավորություն"
+
+msgid "IDS_IV_OPT_PD_PICTURES_ADDED"
+msgstr "%d նկար է ավելացվել"
+
+msgid "IDS_IV_POP_THE_ALBUM_WILL_BE_CANCELLED"
+msgstr "Ալբոմը չեղյալ կհամարվի:"
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEM_ABB"
+msgstr "Վերացրեք տարր"
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEMS"
+msgstr "Վերացնել տարրեր"
+
+msgid "IDS_MEDIABR_BODY_1_ITEM"
+msgstr "1 տարր"
+
+msgid "IDS_MEDIABR_BODY_10_SECONDS"
+msgstr "10 վայրկյան"
+
+msgid "IDS_MEDIABR_BODY_5_SECONDS"
+msgstr "5 վայրկյան"
+
+msgid "IDS_MEDIABR_BODY_NOT_ASSIGNED"
+msgstr "Նշանակված չէ"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL"
+msgstr "Սահկահանդեսի միջակայքը"
+
+msgid "IDS_MEDIABR_BODY_UNTAGGED"
+msgstr "Չհատկորոշված"
+
+msgid "IDS_MEDIABR_OPT_3_SECONDS"
+msgstr "3  վայրկյան"
+
+msgid "IDS_MEDIABR_OPT_ALL_CONTENT"
+msgstr "Ամբողջ բովանդակությունը"
+
+msgid "IDS_MEDIABR_OPT_CONTENT_TO_DISPLAY"
+msgstr "Ցուցադրման ենթակա բովանդակություն"
+
+msgid "IDS_MEDIABR_OPT_DELETE_TAG"
+msgstr "Ջնջել տեգը"
+
+msgid "IDS_MEDIABR_OPT_DEVICE_CONTENT"
+msgstr "Սարքի բովանդակություն"
+
+msgid "IDS_MEDIABR_OPT_DROPBOX_CONTENT"
+msgstr "Dropbox-ի բովանդակություն"
+
+msgid "IDS_MEDIABR_OPT_FACEBOOK_CONTENT"
+msgstr "Facebook-ի բովանդակություն"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_LEFT"
+msgstr "Պտտել ձախ"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_RIGHT"
+msgstr "Պտտել աջ"
+
+msgid "IDS_MEDIABR_POP_IMPORT"
+msgstr "Ներարկում"
+
+msgid "IDS_MEDIABR_POP_IMPORTED"
+msgstr "Ներմուծված:"
+
+msgid "IDS_MEDIABR_POP_IMPORTING_ING"
+msgstr "Ներմուծում..."
+
+msgid "IDS_MEDIABR_POP_LOADING_ING"
+msgstr "Բեռնում է..."
+
+msgid "IDS_MEDIABR_POP_NEARBY_DEVICES_FOUND"
+msgstr "Մոտակա սարքեր են գտնվել:"
+
+msgid "IDS_MEDIABR_POP_NO_DEVICES_FOUND_SCANNING_FOR_NEARBY_DEVICES_WILL_CONTINUE_IN_BACKGROUND"
+msgstr "Սարքեր չեն գտնվել: Մերձակա սարքերի տեսածրումը կշարունակվի հետին պլանում"
+
+msgid "IDS_MEDIABR_POP_REFRESHED"
+msgstr "Նորացվեց:"
+
+msgid "IDS_MEDIABR_POP_ROTATING_ING"
+msgstr "Պտտվում է..."
+
+msgid "IDS_MEDIABR_POP_SCAN_STARTED_DEVICE_LIST_WILL_BE_UPDATED_AUTOMATICALLY"
+msgstr "Տեսածրումը սկսվեց: Սարքերի ցուցակը կթարմացվի ինքնաբերաբար"
+
+msgid "IDS_MEDIABR_POP_STARTING_DOWNLOAD_ABB"
+msgstr "Ներբեռնումը սկսվում է..."
+
+msgid "IDS_MF_OPT_COPY_TO"
+msgstr "Պատճենել ...ում"
+
+msgid "IDS_MF_OPT_MOVE_TO"
+msgstr "Տեղափոխել դեպի"
+
+msgid "IDS_MF_POP_FAILED_TO_ADD_SHORTCUT"
+msgstr "Չհաջողվեց դյուրանցում ավելացնել:"
+
+msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
+msgstr "Հիշողությունը չի բավարարում: Ջնջեք որոշ տարրեր"
+
+msgid "IDS_MF_POP_REMOVED"
+msgstr "Հեռացված է"
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Ավելացնում է..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "Վերացնե՞լ %d ալբոմներ:"
+
+msgid "IDS_ST_BODY_PRIVATE_STORAGE"
+msgstr "Անձնական պահոց"
+
+msgid "IDS_IV_BODY_DRAG_HERE"
+msgstr "Քաշեք այստեղ:"
+
+msgid "IDS_GALLERY_BODY_NEW_M_ALBUM_ABB"
+msgstr "Նոր"
+
+msgid "IDS_GALLERY_HEADER_UNGROUPEDM_PEOPLE_ABB"
+msgstr "Ապախմբավորված"
+
+msgid "IDS_KEEPIT_OPT_SCREENSHOTS_ABB"
+msgstr "Էկրանի պատկերներ"
+
+msgid "IDS_MEDIABR_OPT_PHOTOS"
+msgstr "Լուսանկարներ"
+
+msgid "IDS_MEDIABR_POP_DOWNLOAD_FAILED"
+msgstr "Բեռնումն անհասանելի է:"
+
+msgid "IDS_MEDIABR_POP_UNSUPPORTED_FILE"
+msgstr "Չսատարվող ֆայլ:"
+
+msgid "IDS_SEARCH_BODY_1_RESULT"
+msgstr "1 արդյունք"
+
+msgid "IDS_SEARCH_BODY_PD_RESULTS"
+msgstr "%d արդյունքներ"
+
+msgid "IDS_TW_BODY_FAVORITES"
+msgstr "Ընտրյալներ"
+
+msgid "IDS_EMAIL_POP_DOWNLOAD_CANCELLED"
+msgstr "Ներբեռնումը չեղարկված է:"
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ALBUM_Q"
+msgstr "Վերացնե՞լ այս ալբոմը:"
+
+msgid "IDS_CAM_HEADER_WARNING_ABB"
+msgstr "Նախազգուշացում"
+
+msgid "IDS_ALM_OPT_SORT_BY"
+msgstr "Տեսակավորել ըստ"
+
+msgid "IDS_CLD_OPT_TODAY"
+msgstr "Այսօր"
+
+msgid "IDS_GALLERY_BODY_DATE"
+msgstr "Ամսաթիվ"
+
+msgid "IDS_EMAIL_BODY_NO_ITEMS_TO_DISPLAY"
+msgstr "Ցուցադրելու տարրեր չկան:"
+
+msgid "IDS_PBR_BODY_TAP_HERE_TO_TAKE_PICTURES_OR_VIDEOS"
+msgstr "Նկարներ կամ տեսանյութեր նկարահանելու համար թակեք այստեղ:"
+
+msgid "IDS_NFC_TPOP_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SHARED_HPD_EXCEEDED"
+msgstr "Տարրերի առավելագույն քանակը, որոնք կարող են համօգտագործվել (%d), գերազանցվել է:"
+
+msgid "IDS_IV_BODY_TAP_TO_ADD_IMAGES"
+msgstr "Թակել՝ պատկերներ ավելացնելու համար:"
+
+msgid "IDS_GALLERY_POP_COPY_OR_MOVE_THE_SELECTED_ITEMS_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Ընտրված տարրերը պատճենե՞լ կամ տեղափոխե՞լ սկզբնական ալբոմից:"
+
+msgid "IDS_GALLERY_HEADER_SELECT"
+msgstr "Ընտրել"
+
+msgid "IDS_VIDEO_POP_FILE_ALREADY_EXISTS"
+msgstr "Ֆայլն արդեն գոյություն ունի:"
+
+msgid "IDS_VIDEO_POP_THIS_ITEM_WILL_BE_DELETED"
+msgstr "Այս տարրը կվերացվի:"
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_FACEBOOK_ITEMS_WILL_BE_SHOWN"
+msgstr "Նկարները Facebook-ում վերբեռնելուց հետո տարրերը կցուցադրվեն:"
+
+msgid "IDS_GALLERY_HEADER_SELECT_ALL_ABB"
+msgstr "Ընտրել բոլորը"
+
+msgid "IDS_GALLERY_HEADER_PD_SELECTED_ABB"
+msgstr "%d ընտրված"
+
+msgid "IDS_GALLERY_OPT_VIEW_AS"
+msgstr "Դիտել որպես"
+
+msgid "IDS_GALLERY_OPT_DATE_HMOST_RECENT_ABB2"
+msgstr "Թվական (առավել վերջին)"
+
+msgid "IDS_GALLERY_OPT_DATE_HOLDEST_ABB3"
+msgstr "Թվական (ամենահին)"
+
+msgid "IDS_GALLERY_BODY_AFTER_YOU_TAKE_PICTURES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Նկարահանելուց հետո նկարները կցուցադրվեն այստեղ:"
+
+msgid "IDS_CLOUD_TPOP_CANCELLING_ING"
+msgstr "Դադարեցվում է..."
+
+msgid "IDS_GALLERY_OPT_FROM_DEVICE_ABB"
+msgstr "Սարքից"
+
+msgid "IDS_GALLERY_OPT_FROM_DROPBOX_ABB"
+msgstr "Dropbox-ից"
+
+msgid "IDS_GALLERY_OPT_FROM_FACEBOOK_ABB"
+msgstr "Facebook-ից"
+
+msgid "IDS_MUSIC_BODY_DOWNLOAD_COMPLETED"
+msgstr "Բեռնումը ավարտված է:"
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DELETED"
+msgstr "Բոլոր տարրերը կվերացվեն:"
+
+msgid "IDS_GALLERY_POP_1_ITEM_WILL_BE_DOWNLOADED"
+msgstr "1 տարր կներբեռնվի:"
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "%d տարր կներբեռնվի:"
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "Բոլոր տարրերը կներբեռնվեն:"
+
+msgid "IDS_GALLERY_TPOP_SELECTED_ALBUM_SAME_AS_SOURCE_ALBUM_SELECT_ANOTHER_ALBUM"
+msgstr "Ընտրված ալբոմը և աղբյուր-ալբոմը նույնն են: Ընտրեք ուրիշ ալբոմ:"
+
+msgid "IDS_HS_NPBODY_TAP_HERE_TO_ADD_IMAGES"
+msgstr "Հպեք այստեղ` պատկերներ հավելելու համար"
+
+msgid "IDS_MF_HEADER_UNABLE_TO_SAVE_DATA_ABB"
+msgstr "Անհն. է պահպանել տվյալներ"
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_IN_YOUR_DEVICE_STORAGE_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "Ձեր սարքի պահոցում բավարար տեղ չկա: Գնացեք Դրվածքներ > Էներգիա և պահոց > Պահոց, հետո վերացրեք որոշ ֆայլեր և նորից փորձեք:"
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_YOUR_SD_CARD_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "Ձեր SD քարտում բավարար տեղ չկա: Գնացեք Դրվածքներ > Էներգիա և պահոց > Պահոց, հետո վերացրեք որոշ ֆայլեր և նորից փորձեք:"
+
+msgid "IDS_MF_BUTTON_CANCEL_ABB3"
+msgstr "Չեղարկել"
+
+msgid "IDS_MF_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Այլևս ցույց չտալ"
+
+msgid "IDS_MF_POP_USING_MOBILE_DATA_WHILE_ROAMING_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "Ռոումինգի ընթացքում Շարժական տվյալներ օգտագործելը կարող է լրացուցիչ վճարների հանգեցնել՝ Ձեր վճարային պլանից կախված:"
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DELETED_ABB"
+msgstr "%d տարրեր կջնջվեն:"
+
+msgid "IDS_GALLERY_OPT_DELETE"
+msgstr "Վերացնել"
+
+msgid "IDS_GALLERY_BODY_YESTERDAY"
+msgstr "Երեկ"
+
+msgid "IDS_BR_MBODY_DOWNLOADS"
+msgstr "Ներբեռնումներ"
+
+msgid "IDS_GALLERY_HEADER_COPY"
+msgstr "Պատճենել"
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Վերացնել"
+
+msgid "IDS_GALLERY_BUTTON_ALBUMS"
+msgstr "Ալբոմներ"
+
+msgid "IDS_GALLERY_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Տարրերի առավելագույն քանակը (%d) գերազանցվեց:"
+
+msgid "IDS_GALLERY_BUTTON_CANCEL"
+msgstr "Չեղարկել"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "ԱՐՎԱԾ"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ԴԱԴԱՐԵՑՆԵԼ"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "ՎԵՐԱՑՆԵԼ"
+
+msgid "IDS_GALLERY_POP_COPYING_ING"
+msgstr "Պատճենում է..."
+
+msgid "IDS_GALLERY_POP_MOVING_ING"
+msgstr "Տեղափոխում..."
+
+msgid "IDS_STORYALBUM_POP_IF_YOU_CREATE_CONTENT_THAT_INCLUDES_ITEMS_FROM_PERSONAL_STORAGE_IT_MAY_NOT_BE_HIDDEN_AUTOMATICALLY_MSG"
+msgstr "Եթե ստեղծեք անհատական պահոցի տարրեր ներառող բովանդակություն, հնարավոր է, որ այն ինքնաբերաբար չթաքցվի: Ընտրված անձնական բովանդակությունը հնարավոր կլինի տեսնել նոր բովանդակությունը դիտելու ժամանակ:"
+
+msgid "IDS_HS_ACBUTTON_EDIT"
+msgstr "ԽՄԲԱԳՐԵԼ"
+
+msgid "IDS_MF_BUTTON_SETTINGS"
+msgstr "Դրվածքներ"
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "ԽՄԲԳՐԼ"
+
+msgid "IDS_CLOCK_HEADER_REORDER_ABB"
+msgstr "Վերադասավորել"
+
diff --git a/res/po/is.po b/res/po/is.po
new file mode 100644 (file)
index 0000000..bf86e43
--- /dev/null
@@ -0,0 +1,759 @@
+msgid "IDS_MF_POP_YOUR_DEVICE_IS_NOT_CONNECTED_TO_A_WI_FI_NETWORK_CONNECTING_TO_A_MOBILE_NETWORK_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "Tækið er ekki tengt Wi-Fi neti. Ef tengst er í gegnum farsímakerfi kann það að hafa viðbótarkostnað í för með sér, allt eftir áskrift."
+
+msgid "IDS_VIDEO_TPOP_MOBILE_DATA_TURNED_OFF_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_TURN_ON_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Slökkt er á farsímagögnum. Tengstu Wi-Fi neti í staðinn eða kveiktu á farsímagögnum og reyndu aftur."
+
+msgid "IDS_VIDEO_BODY_AFTER_YOU_RECORD_VIDEOS_USING_THE_CAMERA_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Eftir að þú tekur upp myndskeið með myndavélinni verða þau birt hér."
+
+msgid "IDS_VIDEO_TPOP_FILE_NAME_ALREADY_IN_USE"
+msgstr "Skráarheitið er þegar í notkun."
+
+msgid "IDS_MF_POP_DELETE_PD_ITEMS_Q"
+msgstr "Viltu eyða %d hlutum?"
+
+msgid "IDS_ST_HEADER_PRIVACY"
+msgstr "Leynd"
+
+msgid "IDS_COM_BODY_SEP_ABB"
+msgstr "Sep."
+
+msgid "IDS_COM_BODY_OCT_ABB"
+msgstr "Okt."
+
+msgid "IDS_COM_BODY_NOV_ABB"
+msgstr "Nóv."
+
+msgid "IDS_COM_BODY_MAY_ABB"
+msgstr "Maí"
+
+msgid "IDS_COM_BODY_MAR_ABB"
+msgstr "Mar."
+
+msgid "IDS_COM_BODY_JUN_ABB"
+msgstr "Jún."
+
+msgid "IDS_COM_BODY_JUL_ABB"
+msgstr "Júl."
+
+msgid "IDS_COM_BODY_JAN_ABB"
+msgstr "Jan."
+
+msgid "IDS_COM_BODY_FEB_ABB"
+msgstr "Feb."
+
+msgid "IDS_COM_BODY_DEC_ABB"
+msgstr "Des."
+
+msgid "IDS_COM_BODY_AUG_ABB"
+msgstr "Ágú."
+
+msgid "IDS_COM_BODY_APR_ABB"
+msgstr "Apr."
+
+msgid "IDS_GALLERY_HEADER_ALBUM"
+msgstr "Albúm"
+
+msgid "IDS_MEDIABR_OPT_MORE"
+msgstr "Meira"
+
+msgid "IDS_MEDIABR_POP_INVALID_INPUT_PARAMETER"
+msgstr "Ógild ílagsfæribreyta."
+
+msgid "IDS_MEDIABR_POP_ENTRY_IS_EMPTY"
+msgstr "Færsla er tóm."
+
+msgid "IDS_MEDIABR_POP_SAME_NAME_ALREADY_IN_USE"
+msgstr "Þetta heiti er þegar í notkun."
+
+msgid "IDS_MEDIABR_POP_UNABLE_TO_RENAME"
+msgstr "Mistókst að breyta heiti."
+
+msgid "IDS_MEDIABR_POP_NO_ALBUMS_SELECTED"
+msgstr "Engar plötur valdar."
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ITEM"
+msgstr "Velja hlut"
+
+msgid "IDS_MEDIABR_BODY_NO_ALBUMS"
+msgstr "Engar möppur"
+
+msgid "IDS_MEDIABR_POP_CREATE_FOLDER_Q"
+msgstr "Á að búa til möppu?"
+
+msgid "IDS_MEDIABR_POP_RETRY_Q"
+msgstr "Reyna aftur"
+
+msgid "IDS_MEDIABR_POPUP_REMOVE_Q"
+msgstr "Á að fjarlægja?"
+
+msgid "IDS_MEDIABR_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "%d albúmum verður eytt."
+
+msgid "IDS_MEDIABR_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "Einu albúmi verður eytt."
+
+msgid "IDS_MEDIABR_BODY_CAMERA"
+msgstr "Myndavél"
+
+msgid "IDS_MEDIABR_BUTTON_START"
+msgstr "Ræsa"
+
+msgid "IDS_MEDIABR_OPT_SETTINGS"
+msgstr "Stillingar"
+
+msgid "IDS_MEDIABR_OPT_YES"
+msgstr "Já"
+
+msgid "IDS_MEDIABR_OPT_NO"
+msgstr "Nei"
+
+msgid "IDS_MEDIABR_BUTTON_OK"
+msgstr "Í lagi"
+
+msgid "IDS_MEDIABR_BUTTON_SAVE"
+msgstr "Vista"
+
+msgid "IDS_MEDIABR_POP_DELETE_Q"
+msgstr "Á að eyða?"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_ALBUM"
+msgstr "Færa í albúm"
+
+msgid "IDS_GALLERY_OPT_COPY_TO_ALBUM"
+msgstr "Afrita í albúm"
+
+msgid "IDS_GALLERY_HEADER_VIEW_BY_ABB"
+msgstr "Skoða eftir"
+
+msgid "IDS_GALLERY_HEADER_ENTER_NAME"
+msgstr "Rita nafn"
+
+msgid "IDS_MEDIABR_POP_ALL_DATA_RELATED_TO_THIS_ACCOUNT_WILL_BE_DELETED_CONTINUE_Q"
+msgstr "Öllum gögnum sem tengjast áskriftinni verður eytt. Viltu halda áfram?"
+
+msgid "IDS_MEDIABR_BUTTON_CANCEL_ABB"
+msgstr "Hætta við"
+
+msgid "IDS_MEDIABR_TAB4_NEW_ALBUM"
+msgstr "Nýtt albúm"
+
+msgid "IDS_MEDIABR_POP_DO_YOU_WANT_TO_COPY_OR_MOVE_THE_PICTURES_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Viltu afrita eða færa myndir úr upprunalega albúminu?"
+
+msgid "IDS_MEDIABR_OPT_SHARE"
+msgstr "Samnýta"
+
+msgid "IDS_MEDIABR_OPT_SLIDESHOW"
+msgstr "Skyggnusýning"
+
+msgid "IDS_MEDIABR_OPT_START_SLIDESHOW"
+msgstr "Hefja skyggnusýningu"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS"
+msgstr "Stillingar skyggnusýningar"
+
+msgid "IDS_MEDIABR_POP_NO_NAME"
+msgstr "Ekkert heiti"
+
+msgid "IDS_MEDIABR_BODY_ALL_ALBUMS"
+msgstr "Öll albúm"
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ALBUM"
+msgstr "Velja albúm"
+
+msgid "IDS_MEDIABR_POP_1_ITEM_WILL_BE_DELETED"
+msgstr "1 hlut verður eytt."
+
+msgid "IDS_MEDIABR_OPT_ALL_ITEMS"
+msgstr "Allir hlutir"
+
+msgid "IDS_MEDIABR_BODY_PD_ITEMS"
+msgstr "%d hlutir"
+
+msgid "IDS_IV_BODY_THERE_IS_ONLY_ONE_ALBUM"
+msgstr "Aðeins eitt albúm."
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "Hægt er velja allt að %d hluti."
+
+msgid "IDS_MF_BODY_DOWNLOADS"
+msgstr "Niðurhal"
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Á að eyða?"
+
+msgid "IDS_MF_SK_MOVE"
+msgstr "Flytja"
+
+msgid "IDS_MF_POP_DELETING_ING"
+msgstr "Verið er að eyða..."
+
+msgid "IDS_CAM_BODY_OPERATION_FAILED"
+msgstr "Aðgerð mistókst."
+
+msgid "IDS_MSG_BODY_CANCELLED_M_CONTENT"
+msgstr "Hætt við"
+
+msgid "IDS_MF_OPT_DELETE_SELECTED"
+msgstr "Valið"
+
+msgid "IDS_MF_POP_MOVED"
+msgstr "Flutt."
+
+msgid "IDS_MF_POP_COPIED"
+msgstr "Afritað."
+
+msgid "IDS_VPL_POP_NO_FILES_SELECTED"
+msgstr "Engar skrár valdar."
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Loka"
+
+msgid "IDS_MF_OPT_SORT_BY_ABB"
+msgstr "Raða eftir"
+
+msgid "IDS_CAM_POP_LATEST"
+msgstr "Nýjustu"
+
+msgid "IDS_MEDIABR_POP_OLDEST_M_DATE"
+msgstr "Elst"
+
+msgid "IDS_MSG_BUTTON2_CREATE"
+msgstr "Búa til"
+
+msgid "IDS_MEDIABR_POP_NO_ITEMS"
+msgstr "Engin atriði"
+
+msgid "IDS_MEDIABR_OPT_EDIT_IMAGE"
+msgstr "Breyta mynd"
+
+msgid "IDS_MEDIABR_BODY_SELECT_PICTURE"
+msgstr "Velja mynd"
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ITEM_Q"
+msgstr "Viltu eyða þessu atriði?"
+
+msgid "IDS_GALLERY_OPT_SCENERY"
+msgstr "Landslag"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PRIVATE"
+msgstr "Fjarlægja úr einkamálum"
+
+msgid "IDS_GALLERY_OPT_PETS"
+msgstr "Gæludýr"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_PRIVATE"
+msgstr "Færa í einkamál"
+
+msgid "IDS_GALLERY_OPT_FOOD"
+msgstr "Matur"
+
+msgid "IDS_GALLERY_OPT_FLOWERS"
+msgstr "Blóm"
+
+msgid "IDS_GALLERY_OPT_DOCUMENTS"
+msgstr "Skjöl"
+
+msgid "IDS_GALLERY_MBODY_VEHICLES"
+msgstr "Ökutæki"
+
+msgid "IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED"
+msgstr "Hámarkfjölda stafa (%d) hefur verið náð."
+
+msgid "IDS_IV_BODY_UNABLE_TO_LOAD_PHOTO_ABB"
+msgstr "Mistókst að hlaða mynd."
+
+msgid "IDS_IV_BODY_SHARE_VIA"
+msgstr "Samnýta um"
+
+msgid "IDS_IV_BODY_DONT_ASK_AGAIN"
+msgstr "Ekki spyrja aftur"
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Hámarksfjölda stafa hefur verið náð."
+
+msgid "IDS_GALLERY_HEADER_TIME"
+msgstr "Tími"
+
+msgid "IDS_EMAIL_BODY_FAILED_M_STATUS"
+msgstr "Mistókst"
+
+msgid "IDS_EMAIL_BODY_DELETED"
+msgstr "Eytt."
+
+msgid "IDS_EMAIL_POP_DELETE_Q"
+msgstr "Á að eyða?"
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Verið er að fjarlægja..."
+
+msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS"
+msgstr "Birti %d atriði"
+
+msgid "IDS_GALLERY_OPT_CREATE_ALBUM"
+msgstr "Búa til albúm"
+
+msgid "IDS_GALLERY_OPT_GALLERY_ABB"
+msgstr "Gallerí"
+
+msgid "IDS_EMAIL_BUTTON_MORE"
+msgstr "Meira"
+
+msgid "IDS_EMAIL_OPT_ACCOUNTS"
+msgstr "Reikningar"
+
+msgid "IDS_EMAIL_POP_OPERATION_FAILED"
+msgstr "Aðgerð mistókst."
+
+msgid "IDS_GALLERY_BODY_DOWNLOAD"
+msgstr "Hlaða niður"
+
+msgid "IDS_GALLERY_BODY_SEARCH"
+msgstr "Leit"
+
+msgid "IDS_GALLERY_BUTTON_BACK"
+msgstr "Bakka"
+
+msgid "IDS_GALLERY_BUTTON_CAMERA"
+msgstr "Myndavél"
+
+msgid "IDS_GALLERY_HEADER_ALL"
+msgstr "Allt"
+
+msgid "IDS_GALLERY_OPT_REFRESH"
+msgstr "Endurnýja"
+
+msgid "IDS_GALLERY_OPT_REMOVE"
+msgstr "Fjarlægja"
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_DROPBOX_ITEMS_WILL_BE_SHOWN"
+msgstr "Hlutir birtast eftir að myndum hefur verið hlaðið upp á Dropbox."
+
+msgid "IDS_KEEPIT_BODY_GROUP_PLAY_ABB"
+msgstr "Group Play"
+
+msgid "IDS_MEDIABR_HEADER_CONTACTS"
+msgstr "Tengiliðir"
+
+msgid "IDS_MEDIABR_OPT_CREATE"
+msgstr "Búa til"
+
+msgid "IDS_MEDIABR_OPT_DETAILS"
+msgstr "Upplýsingar"
+
+msgid "IDS_MEDIABR_OPT_PRINT"
+msgstr "Prenta"
+
+msgid "IDS_MEDIABR_OPT_RENAME"
+msgstr "Endurnefna"
+
+msgid "IDS_MEDIABR_POP_DOWNLOADED"
+msgstr "Halað niður."
+
+msgid "IDS_MEDIABR_POP_DOWNLOADING_ING"
+msgstr "Verið er að hala niður..."
+
+msgid "IDS_MF_HEADER_ENTER_NAME"
+msgstr "Rita nafn."
+
+msgid "IDS_MF_HEADER_MYFILES"
+msgstr "Skrárnar mínar"
+
+msgid "IDS_MF_POP_ADDED"
+msgstr "Bætt við."
+
+msgid "IDS_MF_POP_PROCESSING_ING"
+msgstr "Vinnsla í gangi..."
+
+msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
+msgstr "Óstutt skrársnið."
+
+msgid "IDS_IMGE_BODY_AFTER_YOU_TAKE_PICTURES_PICTURES_WILL_BE_SHOWN"
+msgstr "Eftir að myndir eru teknar eru þær birtar."
+
+msgid "IDS_IME_BODY_LANDSCAPE_MODE"
+msgstr "Lárétt stilling"
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_CLOSE_DRAWER_MENU_TTS"
+msgstr "Pikkaðu tvisvar til að loka skúffuvalmyndinni."
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_OPEN_DRAWER_MENU_TTS"
+msgstr "Pikkaðu tvisvar til að opna skúffuvalmyndina."
+
+msgid "IDS_EMAIL_BODY_DRAG_AND_DROP"
+msgstr "Dragðu og slepptu"
+
+msgid "IDS_EMAIL_OPT_DRAWER_ABB"
+msgstr "Skúffa"
+
+msgid "IDS_EMAIL_POP_MOBILE_DATA_IS_DISABLED_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_ENABLE_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Slökkt á farsímagögnum. Tengdu við Wi-Fit net í staðinn, eða kveiktu á farsímagögnum og reyndu aftur."
+
+msgid "IDS_EMAIL_POP_WI_FI_CONNECTION_REQUIRED_CONNECT_TO_WI_FI_NETWORK_AND_TRY_AGAIN"
+msgstr "Wi-Fi tenging nauðsynleg. Tengdu við Wi-Fi netkerfi og reyndu aftur."
+
+msgid "IDS_GALLERY_HEADER_ADD_PICTURES_FROM_ABB"
+msgstr "Bæta við myndum frá"
+
+msgid "IDS_GALLERY_HEADER_CONNECTED_DEVICES_ABB"
+msgstr "Tengd tæki"
+
+msgid "IDS_GALLERY_OPT_PRIVATE_CONTENT"
+msgstr "Persónulegt efni"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PS"
+msgstr "Fjarlægja úr %s"
+
+msgid "IDS_GALLERY_OPT_REMOVE_NAME_TAG"
+msgstr "Fjarlægja nafnmerkingu"
+
+msgid "IDS_GALLERY_POP_THERE_ARE_NO_EVENTS_TO_DISPLAY_CREATE_A_NEW_EVENT"
+msgstr "Engir viðburðir til að birta. Búðu til nýjan viðburð."
+
+msgid "IDS_GALLERY_POP_TO_SCROLL_QUICKLY_TO_OTHER_DATES_TAP_AND_HOLD_THE_DATE_INDICATOR_AT_THE_TOP_RIGHT_OF_THE_SCREEN"
+msgstr "Haltu fingri á dagsetningavísinum efst til hægri á skjánum til að fletta upp á öðrum dagsetningum á fljótlegan hátt."
+
+msgid "IDS_GP_POP_REMOVE_PD_ITEMS_Q"
+msgstr "Fjarlægja %d hluti?"
+
+msgid "IDS_GP_POP_REMOVE_THIS_ITEM_Q"
+msgstr "Viltu fjarlægja þetta atriði?"
+
+msgid "IDS_HELP_BODY_GALLERY"
+msgstr "Gallerí"
+
+msgid "IDS_HELP_OPT_SHUFFLED_PICTURES"
+msgstr "Stokkaðar myndir"
+
+msgid "IDS_IV_BODY_ADD_PICTURES"
+msgstr "Setja inn myndir"
+
+msgid "IDS_IV_BODY_AFTER_YOU_TAG_PICTURES_AS_YOUR_FAVOURITES_PICTURES_WILL_BE_SHOWN"
+msgstr "Myndir birtast eftir að þær hafa verið merktar sem uppáhald."
+
+msgid "IDS_IV_BODY_REMOVE_FACE_IDENTIFICATION_Q"
+msgstr "Fjarlægja andlitsgreiningu?"
+
+msgid "IDS_IV_OPT_ASSIGN_NAME"
+msgstr "Gefa nafn"
+
+msgid "IDS_IV_OPT_CONFIRM_AS_PS"
+msgstr "Staðfesta sem %s"
+
+msgid "IDS_IV_OPT_LAYOUT_M_PICTUERS"
+msgstr "Útlit"
+
+msgid "IDS_IV_OPT_PD_PICTURES_ADDED"
+msgstr "%d myndum bætt við"
+
+msgid "IDS_IV_POP_THE_ALBUM_WILL_BE_CANCELLED"
+msgstr "Hætt verður við albúmið."
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEM_ABB"
+msgstr "Eyða atriði"
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEMS"
+msgstr "Eyða atriðum"
+
+msgid "IDS_MEDIABR_BODY_1_ITEM"
+msgstr "1 hlutur"
+
+msgid "IDS_MEDIABR_BODY_10_SECONDS"
+msgstr "10 sekúndur"
+
+msgid "IDS_MEDIABR_BODY_5_SECONDS"
+msgstr "5 sekúndur"
+
+msgid "IDS_MEDIABR_BODY_NOT_ASSIGNED"
+msgstr "Óúthlutað"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL"
+msgstr "Tími milli mynda"
+
+msgid "IDS_MEDIABR_BODY_UNTAGGED"
+msgstr "Ómerkt"
+
+msgid "IDS_MEDIABR_OPT_3_SECONDS"
+msgstr "3 sekúndur"
+
+msgid "IDS_MEDIABR_OPT_ALL_CONTENT"
+msgstr "Allt efni"
+
+msgid "IDS_MEDIABR_OPT_CONTENT_TO_DISPLAY"
+msgstr "Efni til að birta"
+
+msgid "IDS_MEDIABR_OPT_DELETE_TAG"
+msgstr "Eyða merki"
+
+msgid "IDS_MEDIABR_OPT_DEVICE_CONTENT"
+msgstr "Efni tækis"
+
+msgid "IDS_MEDIABR_OPT_DROPBOX_CONTENT"
+msgstr "Dropbox-efni"
+
+msgid "IDS_MEDIABR_OPT_FACEBOOK_CONTENT"
+msgstr "Facebook-efni"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_LEFT"
+msgstr "Snúið til vinstri"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_RIGHT"
+msgstr "Snúið til hægri"
+
+msgid "IDS_MEDIABR_POP_IMPORT"
+msgstr "Flytja inn"
+
+msgid "IDS_MEDIABR_POP_IMPORTED"
+msgstr "Flutt inn."
+
+msgid "IDS_MEDIABR_POP_IMPORTING_ING"
+msgstr "Verið að flytja inn..."
+
+msgid "IDS_MEDIABR_POP_LOADING_ING"
+msgstr "Hleð..."
+
+msgid "IDS_MEDIABR_POP_NEARBY_DEVICES_FOUND"
+msgstr "Nálæg tæki fundust."
+
+msgid "IDS_MEDIABR_POP_NO_DEVICES_FOUND_SCANNING_FOR_NEARBY_DEVICES_WILL_CONTINUE_IN_BACKGROUND"
+msgstr "Engin tæki fundust. Leit að nálægum tækjum mun halda áfram í bakgrunni."
+
+msgid "IDS_MEDIABR_POP_REFRESHED"
+msgstr "Uppfært."
+
+msgid "IDS_MEDIABR_POP_ROTATING_ING"
+msgstr "Snýr..."
+
+msgid "IDS_MEDIABR_POP_SCAN_STARTED_DEVICE_LIST_WILL_BE_UPDATED_AUTOMATICALLY"
+msgstr "Leit hafin. Tækjalistinn verður uppfærður sjálfkrafa."
+
+msgid "IDS_MEDIABR_POP_STARTING_DOWNLOAD_ABB"
+msgstr "Hef niðurhal..."
+
+msgid "IDS_MF_OPT_COPY_TO"
+msgstr "Afrita í"
+
+msgid "IDS_MF_OPT_MOVE_TO"
+msgstr "Færa í"
+
+msgid "IDS_MF_POP_FAILED_TO_ADD_SHORTCUT"
+msgstr "Mistókst að bæta flýtileið við."
+
+msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
+msgstr "Ekki er nægt minni. Eyðið nokkrum atriðum."
+
+msgid "IDS_MF_POP_REMOVED"
+msgstr "Fjarlægt."
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Verið er að bæta við..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "Viltu eyða %d albúmum?"
+
+msgid "IDS_ST_BODY_PRIVATE_STORAGE"
+msgstr "Einkageymsla"
+
+msgid "IDS_IV_BODY_DRAG_HERE"
+msgstr "Dragðu hingað."
+
+msgid "IDS_GALLERY_BODY_NEW_M_ALBUM_ABB"
+msgstr "Nýtt"
+
+msgid "IDS_GALLERY_HEADER_UNGROUPEDM_PEOPLE_ABB"
+msgstr "Ekki í hóp"
+
+msgid "IDS_KEEPIT_OPT_SCREENSHOTS_ABB"
+msgstr "Skjámyndir"
+
+msgid "IDS_MEDIABR_OPT_PHOTOS"
+msgstr "Ljósmyndir"
+
+msgid "IDS_MEDIABR_POP_DOWNLOAD_FAILED"
+msgstr "Það er ekki hægt að hlaða niður."
+
+msgid "IDS_MEDIABR_POP_UNSUPPORTED_FILE"
+msgstr "Óstudd skrá."
+
+msgid "IDS_SEARCH_BODY_1_RESULT"
+msgstr "1 niðurstaða"
+
+msgid "IDS_SEARCH_BODY_PD_RESULTS"
+msgstr "%d niðurstöður"
+
+msgid "IDS_TW_BODY_FAVORITES"
+msgstr "Uppáhald"
+
+msgid "IDS_EMAIL_POP_DOWNLOAD_CANCELLED"
+msgstr "Það var hætt við niðurhal."
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ALBUM_Q"
+msgstr "Viltu eyða þessu albúmi?"
+
+msgid "IDS_CAM_HEADER_WARNING_ABB"
+msgstr "Aðvörun"
+
+msgid "IDS_ALM_OPT_SORT_BY"
+msgstr "Raða eftir"
+
+msgid "IDS_CLD_OPT_TODAY"
+msgstr "Í dag"
+
+msgid "IDS_GALLERY_BODY_DATE"
+msgstr "Dagsetning"
+
+msgid "IDS_EMAIL_BODY_NO_ITEMS_TO_DISPLAY"
+msgstr "Engin atriði til birtingar."
+
+msgid "IDS_PBR_BODY_TAP_HERE_TO_TAKE_PICTURES_OR_VIDEOS"
+msgstr "Pikkaðu hér til að taka myndir eða myndskeið."
+
+msgid "IDS_NFC_TPOP_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SHARED_HPD_EXCEEDED"
+msgstr "Hámarksfjölda atriða sem hægt er að deila (%d) hefur verið náð."
+
+msgid "IDS_IV_BODY_TAP_TO_ADD_IMAGES"
+msgstr "Pikkaðu til að bæta við myndum."
+
+msgid "IDS_GALLERY_POP_COPY_OR_MOVE_THE_SELECTED_ITEMS_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Viltu afrita eða færa völdu atriðin úr upprunalega albúminu?"
+
+msgid "IDS_GALLERY_HEADER_SELECT"
+msgstr "Velja"
+
+msgid "IDS_VIDEO_POP_FILE_ALREADY_EXISTS"
+msgstr "Skráin er þegar til."
+
+msgid "IDS_VIDEO_POP_THIS_ITEM_WILL_BE_DELETED"
+msgstr "Þessum hlut verður eytt."
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_FACEBOOK_ITEMS_WILL_BE_SHOWN"
+msgstr "Hlutir birtast eftir að myndum hefur verið hlaðið upp á Facebook."
+
+msgid "IDS_GALLERY_HEADER_SELECT_ALL_ABB"
+msgstr "Velja allt"
+
+msgid "IDS_GALLERY_HEADER_PD_SELECTED_ABB"
+msgstr "%d valið"
+
+msgid "IDS_GALLERY_OPT_VIEW_AS"
+msgstr "Skoða sem"
+
+msgid "IDS_GALLERY_OPT_DATE_HMOST_RECENT_ABB2"
+msgstr "Dagsetning (nýjast)"
+
+msgid "IDS_GALLERY_OPT_DATE_HOLDEST_ABB3"
+msgstr "Dagsetning (elst)"
+
+msgid "IDS_GALLERY_BODY_AFTER_YOU_TAKE_PICTURES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Myndir birtast hér eftir að þær eru teknar."
+
+msgid "IDS_CLOUD_TPOP_CANCELLING_ING"
+msgstr "Hætti við..."
+
+msgid "IDS_GALLERY_OPT_FROM_DEVICE_ABB"
+msgstr "Úr tæki"
+
+msgid "IDS_GALLERY_OPT_FROM_DROPBOX_ABB"
+msgstr "Af Dropbox"
+
+msgid "IDS_GALLERY_OPT_FROM_FACEBOOK_ABB"
+msgstr "Af Facebook"
+
+msgid "IDS_MUSIC_BODY_DOWNLOAD_COMPLETED"
+msgstr "Niðurhalinu er lokið."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DELETED"
+msgstr "Öllum hlutum verður eytt."
+
+msgid "IDS_GALLERY_POP_1_ITEM_WILL_BE_DOWNLOADED"
+msgstr "1 atriði verður sótt."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "%d atriði verða sótt."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "Öll atriði verða sótt."
+
+msgid "IDS_GALLERY_TPOP_SELECTED_ALBUM_SAME_AS_SOURCE_ALBUM_SELECT_ANOTHER_ALBUM"
+msgstr "Valið albúm er hið sama og upprunaalbúm. Veldu annað albúm."
+
+msgid "IDS_HS_NPBODY_TAP_HERE_TO_ADD_IMAGES"
+msgstr "Pikkaðu hér til að bæta við myndum"
+
+msgid "IDS_MF_HEADER_UNABLE_TO_SAVE_DATA_ABB"
+msgstr "Ekki hægt að vista gögn"
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_IN_YOUR_DEVICE_STORAGE_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "Ekki er nægt rými í geymslu tækisins. Opnaðu Stillingar > Orka og geymsla > Geymsla til að eyða einhverjum skrám og reyndu svo aftur."
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_YOUR_SD_CARD_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "Ekki er nægt rými á SD-kortinu. Opnaðu Stillingar > Orka og geymsla > Geymsla til að eyða einhverjum skrám og reyndu svo aftur."
+
+msgid "IDS_MF_BUTTON_CANCEL_ABB3"
+msgstr "Hætta við"
+
+msgid "IDS_MF_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Ekki sýna aftur"
+
+msgid "IDS_MF_POP_USING_MOBILE_DATA_WHILE_ROAMING_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "Notkun farsímagagna í reiki kann að hafa viðbótarkostnað í för með sér, allt eftir áskrift."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DELETED_ABB"
+msgstr "%d atriðum verður eytt."
+
+msgid "IDS_GALLERY_OPT_DELETE"
+msgstr "Eyða"
+
+msgid "IDS_GALLERY_BODY_YESTERDAY"
+msgstr "Í gær"
+
+msgid "IDS_BR_MBODY_DOWNLOADS"
+msgstr "Niðurhal"
+
+msgid "IDS_GALLERY_HEADER_COPY"
+msgstr "Afrita"
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Eyða"
+
+msgid "IDS_GALLERY_BUTTON_ALBUMS"
+msgstr "Albúm"
+
+msgid "IDS_GALLERY_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Hámarksfjölda atriða (%d) hefur verið náð."
+
+msgid "IDS_GALLERY_BUTTON_CANCEL"
+msgstr "Hætta v."
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "LOKIÐ"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "HÆTTA VIÐ"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "EYÐA"
+
+msgid "IDS_GALLERY_POP_COPYING_ING"
+msgstr "Afritun stendur yfir..."
+
+msgid "IDS_GALLERY_POP_MOVING_ING"
+msgstr "Verið er að flytja..."
+
+msgid "IDS_STORYALBUM_POP_IF_YOU_CREATE_CONTENT_THAT_INCLUDES_ITEMS_FROM_PERSONAL_STORAGE_IT_MAY_NOT_BE_HIDDEN_AUTOMATICALLY_MSG"
+msgstr "Ef þú býrð til efni sem inniheldur atriði úr einkageymslu er ekki víst að nýja efnið verði falið sjálfkrafa. Valið persónulegt efni gæti sést þegar nýja efnið er skoðað."
+
+msgid "IDS_HS_ACBUTTON_EDIT"
+msgstr "BREYTA"
+
+msgid "IDS_MF_BUTTON_SETTINGS"
+msgstr "Stillingar"
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "BREYTA"
+
+msgid "IDS_CLOCK_HEADER_REORDER_ABB"
+msgstr "Endurraða"
+
diff --git a/res/po/it_IT.po b/res/po/it_IT.po
new file mode 100644 (file)
index 0000000..e585a98
--- /dev/null
@@ -0,0 +1,759 @@
+msgid "IDS_MF_POP_YOUR_DEVICE_IS_NOT_CONNECTED_TO_A_WI_FI_NETWORK_CONNECTING_TO_A_MOBILE_NETWORK_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "Il dispositivo in uso non è connesso a una rete Wi-Fi. La connessione a una rete mobile potrebbe comportare costi aggiuntivi a seconda del vostro piano tariffario."
+
+msgid "IDS_VIDEO_TPOP_MOBILE_DATA_TURNED_OFF_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_TURN_ON_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Connessione dati disattivata. Connettetevi a una rete Wi-Fi o attivate la connessione dati e riprovate."
+
+msgid "IDS_VIDEO_BODY_AFTER_YOU_RECORD_VIDEOS_USING_THE_CAMERA_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Una volta registrati con la fotocamera, i video saranno visualizzati qui."
+
+msgid "IDS_VIDEO_TPOP_FILE_NAME_ALREADY_IN_USE"
+msgstr "Il nome del file è già in uso."
+
+msgid "IDS_MF_POP_DELETE_PD_ITEMS_Q"
+msgstr "Eliminare %d elementi?"
+
+msgid "IDS_ST_HEADER_PRIVACY"
+msgstr "Privacy"
+
+msgid "IDS_COM_BODY_SEP_ABB"
+msgstr "Set"
+
+msgid "IDS_COM_BODY_OCT_ABB"
+msgstr "Ott"
+
+msgid "IDS_COM_BODY_NOV_ABB"
+msgstr "Nov"
+
+msgid "IDS_COM_BODY_MAY_ABB"
+msgstr "Mag"
+
+msgid "IDS_COM_BODY_MAR_ABB"
+msgstr "Mar"
+
+msgid "IDS_COM_BODY_JUN_ABB"
+msgstr "Giu"
+
+msgid "IDS_COM_BODY_JUL_ABB"
+msgstr "Lug"
+
+msgid "IDS_COM_BODY_JAN_ABB"
+msgstr "Gen"
+
+msgid "IDS_COM_BODY_FEB_ABB"
+msgstr "Feb"
+
+msgid "IDS_COM_BODY_DEC_ABB"
+msgstr "Dic"
+
+msgid "IDS_COM_BODY_AUG_ABB"
+msgstr "Ago"
+
+msgid "IDS_COM_BODY_APR_ABB"
+msgstr "Apr"
+
+msgid "IDS_GALLERY_HEADER_ALBUM"
+msgstr "Album"
+
+msgid "IDS_MEDIABR_OPT_MORE"
+msgstr "Altro"
+
+msgid "IDS_MEDIABR_POP_INVALID_INPUT_PARAMETER"
+msgstr "Parametro inserimento non valido."
+
+msgid "IDS_MEDIABR_POP_ENTRY_IS_EMPTY"
+msgstr "Voce vuota"
+
+msgid "IDS_MEDIABR_POP_SAME_NAME_ALREADY_IN_USE"
+msgstr "Stesso nome già in uso."
+
+msgid "IDS_MEDIABR_POP_UNABLE_TO_RENAME"
+msgstr "Impossibile rinominare."
+
+msgid "IDS_MEDIABR_POP_NO_ALBUMS_SELECTED"
+msgstr "Nessun album selezionato."
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ITEM"
+msgstr "Seleziona elemento"
+
+msgid "IDS_MEDIABR_BODY_NO_ALBUMS"
+msgstr "Nessun album"
+
+msgid "IDS_MEDIABR_POP_CREATE_FOLDER_Q"
+msgstr "Creare cartella?"
+
+msgid "IDS_MEDIABR_POP_RETRY_Q"
+msgstr "Riprovare?"
+
+msgid "IDS_MEDIABR_POPUP_REMOVE_Q"
+msgstr "Rimuovere?"
+
+msgid "IDS_MEDIABR_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "%d album saranno eliminati."
+
+msgid "IDS_MEDIABR_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "1 album verrà eliminato."
+
+msgid "IDS_MEDIABR_BODY_CAMERA"
+msgstr "Camera"
+
+msgid "IDS_MEDIABR_BUTTON_START"
+msgstr "Avvia"
+
+msgid "IDS_MEDIABR_OPT_SETTINGS"
+msgstr "Impostaz."
+
+msgid "IDS_MEDIABR_OPT_YES"
+msgstr "Sì"
+
+msgid "IDS_MEDIABR_OPT_NO"
+msgstr "No"
+
+msgid "IDS_MEDIABR_BUTTON_OK"
+msgstr "OK"
+
+msgid "IDS_MEDIABR_BUTTON_SAVE"
+msgstr "Salva"
+
+msgid "IDS_MEDIABR_POP_DELETE_Q"
+msgstr "Eliminare?"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_ALBUM"
+msgstr "Sposta in album"
+
+msgid "IDS_GALLERY_OPT_COPY_TO_ALBUM"
+msgstr "Copia su album"
+
+msgid "IDS_GALLERY_HEADER_VIEW_BY_ABB"
+msgstr "Mostra per"
+
+msgid "IDS_GALLERY_HEADER_ENTER_NAME"
+msgstr "Inserisci nome"
+
+msgid "IDS_MEDIABR_POP_ALL_DATA_RELATED_TO_THIS_ACCOUNT_WILL_BE_DELETED_CONTINUE_Q"
+msgstr "Tutti i dati relativi a questo account verranno eliminati. Continuare?"
+
+msgid "IDS_MEDIABR_BUTTON_CANCEL_ABB"
+msgstr "Annulla"
+
+msgid "IDS_MEDIABR_TAB4_NEW_ALBUM"
+msgstr "Nuovo album"
+
+msgid "IDS_MEDIABR_POP_DO_YOU_WANT_TO_COPY_OR_MOVE_THE_PICTURES_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Copiare o spostare le immagini dall'album originale?"
+
+msgid "IDS_MEDIABR_OPT_SHARE"
+msgstr "Condividi"
+
+msgid "IDS_MEDIABR_OPT_SLIDESHOW"
+msgstr "Presentazione"
+
+msgid "IDS_MEDIABR_OPT_START_SLIDESHOW"
+msgstr "Avvia presentazione"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS"
+msgstr "Impostazioni presentazione"
+
+msgid "IDS_MEDIABR_POP_NO_NAME"
+msgstr "Nessun nome"
+
+msgid "IDS_MEDIABR_BODY_ALL_ALBUMS"
+msgstr "Tutti gli album"
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ALBUM"
+msgstr "Seleziona album"
+
+msgid "IDS_MEDIABR_POP_1_ITEM_WILL_BE_DELETED"
+msgstr "1 elemento verrà eliminato."
+
+msgid "IDS_MEDIABR_OPT_ALL_ITEMS"
+msgstr "Tutti gli elementi"
+
+msgid "IDS_MEDIABR_BODY_PD_ITEMS"
+msgstr "%d elementi"
+
+msgid "IDS_IV_BODY_THERE_IS_ONLY_ONE_ALBUM"
+msgstr "È presente un solo album."
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "È possibile selezionare fino a %d elementi."
+
+msgid "IDS_MF_BODY_DOWNLOADS"
+msgstr "Download"
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Eliminare?"
+
+msgid "IDS_MF_SK_MOVE"
+msgstr "Sposta"
+
+msgid "IDS_MF_POP_DELETING_ING"
+msgstr "Eliminazione..."
+
+msgid "IDS_CAM_BODY_OPERATION_FAILED"
+msgstr "Operazione non eseguita."
+
+msgid "IDS_MSG_BODY_CANCELLED_M_CONTENT"
+msgstr "Annullati"
+
+msgid "IDS_MF_OPT_DELETE_SELECTED"
+msgstr "Selezionato"
+
+msgid "IDS_MF_POP_MOVED"
+msgstr "Spostato."
+
+msgid "IDS_MF_POP_COPIED"
+msgstr "Copiato."
+
+msgid "IDS_VPL_POP_NO_FILES_SELECTED"
+msgstr "Nessun file selezionato."
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Chiudi"
+
+msgid "IDS_MF_OPT_SORT_BY_ABB"
+msgstr "Ordina per"
+
+msgid "IDS_CAM_POP_LATEST"
+msgstr "Più recenti"
+
+msgid "IDS_MEDIABR_POP_OLDEST_M_DATE"
+msgstr "Meno recente"
+
+msgid "IDS_MSG_BUTTON2_CREATE"
+msgstr "Crea"
+
+msgid "IDS_MEDIABR_POP_NO_ITEMS"
+msgstr "Nessun elemento"
+
+msgid "IDS_MEDIABR_OPT_EDIT_IMAGE"
+msgstr "Modifica immagine"
+
+msgid "IDS_MEDIABR_BODY_SELECT_PICTURE"
+msgstr "Seleziona immagine"
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ITEM_Q"
+msgstr "Eliminare questo elemento?"
+
+msgid "IDS_GALLERY_OPT_SCENERY"
+msgstr "Scenario"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PRIVATE"
+msgstr "Rimuovi da Privato"
+
+msgid "IDS_GALLERY_OPT_PETS"
+msgstr "Animali domestici"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_PRIVATE"
+msgstr "Sposta in Privato"
+
+msgid "IDS_GALLERY_OPT_FOOD"
+msgstr "Cibo"
+
+msgid "IDS_GALLERY_OPT_FLOWERS"
+msgstr "Fiori"
+
+msgid "IDS_GALLERY_OPT_DOCUMENTS"
+msgstr "Documenti"
+
+msgid "IDS_GALLERY_MBODY_VEHICLES"
+msgstr "Veicoli"
+
+msgid "IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED"
+msgstr "Raggiunto numero massimo di caratteri (%d)."
+
+msgid "IDS_IV_BODY_UNABLE_TO_LOAD_PHOTO_ABB"
+msgstr "Impossibile caricare la foto."
+
+msgid "IDS_IV_BODY_SHARE_VIA"
+msgstr "Condividi"
+
+msgid "IDS_IV_BODY_DONT_ASK_AGAIN"
+msgstr "Non chiedere più"
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Raggiunto numero massimo di caratteri."
+
+msgid "IDS_GALLERY_HEADER_TIME"
+msgstr "Ora"
+
+msgid "IDS_EMAIL_BODY_FAILED_M_STATUS"
+msgstr "Non riuscito"
+
+msgid "IDS_EMAIL_BODY_DELETED"
+msgstr "Eliminato/i."
+
+msgid "IDS_EMAIL_POP_DELETE_Q"
+msgstr "Eliminare?"
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Rimozione..."
+
+msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS"
+msgstr "%d elementi visualizzati"
+
+msgid "IDS_GALLERY_OPT_CREATE_ALBUM"
+msgstr "Crea album"
+
+msgid "IDS_GALLERY_OPT_GALLERY_ABB"
+msgstr "Galleria"
+
+msgid "IDS_EMAIL_BUTTON_MORE"
+msgstr "Altro"
+
+msgid "IDS_EMAIL_OPT_ACCOUNTS"
+msgstr "Account"
+
+msgid "IDS_EMAIL_POP_OPERATION_FAILED"
+msgstr "Operazione non eseguita."
+
+msgid "IDS_GALLERY_BODY_DOWNLOAD"
+msgstr "Download"
+
+msgid "IDS_GALLERY_BODY_SEARCH"
+msgstr "Cerca"
+
+msgid "IDS_GALLERY_BUTTON_BACK"
+msgstr "Indietro"
+
+msgid "IDS_GALLERY_BUTTON_CAMERA"
+msgstr "Camera"
+
+msgid "IDS_GALLERY_HEADER_ALL"
+msgstr "Tutti/e"
+
+msgid "IDS_GALLERY_OPT_REFRESH"
+msgstr "Aggiorna"
+
+msgid "IDS_GALLERY_OPT_REMOVE"
+msgstr "Rimuovi"
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_DROPBOX_ITEMS_WILL_BE_SHOWN"
+msgstr "Gli elementi vengono visualizzati dopo aver caricato immagini su Dropbox."
+
+msgid "IDS_KEEPIT_BODY_GROUP_PLAY_ABB"
+msgstr "Group Play"
+
+msgid "IDS_MEDIABR_HEADER_CONTACTS"
+msgstr "Rubrica"
+
+msgid "IDS_MEDIABR_OPT_CREATE"
+msgstr "Crea"
+
+msgid "IDS_MEDIABR_OPT_DETAILS"
+msgstr "Dettagli"
+
+msgid "IDS_MEDIABR_OPT_PRINT"
+msgstr "Stampa"
+
+msgid "IDS_MEDIABR_OPT_RENAME"
+msgstr "Rinomina"
+
+msgid "IDS_MEDIABR_POP_DOWNLOADED"
+msgstr "Scaricato."
+
+msgid "IDS_MEDIABR_POP_DOWNLOADING_ING"
+msgstr "Download..."
+
+msgid "IDS_MF_HEADER_ENTER_NAME"
+msgstr "Inserisci nome."
+
+msgid "IDS_MF_HEADER_MYFILES"
+msgstr "Archivio"
+
+msgid "IDS_MF_POP_ADDED"
+msgstr "Aggiunto."
+
+msgid "IDS_MF_POP_PROCESSING_ING"
+msgstr "Elaborazione..."
+
+msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
+msgstr "Tipo file non supportato."
+
+msgid "IDS_IMGE_BODY_AFTER_YOU_TAKE_PICTURES_PICTURES_WILL_BE_SHOWN"
+msgstr "Le foto verranno visualizzate dopo averle scattate."
+
+msgid "IDS_IME_BODY_LANDSCAPE_MODE"
+msgstr "Modalità orizzontale"
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_CLOSE_DRAWER_MENU_TTS"
+msgstr "Toccate due volte per chiudere il menu Accessori."
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_OPEN_DRAWER_MENU_TTS"
+msgstr "Toccate due volte per aprire il menu Accessori."
+
+msgid "IDS_EMAIL_BODY_DRAG_AND_DROP"
+msgstr "Trascina e rilascia"
+
+msgid "IDS_EMAIL_OPT_DRAWER_ABB"
+msgstr "Casella"
+
+msgid "IDS_EMAIL_POP_MOBILE_DATA_IS_DISABLED_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_ENABLE_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Connessione dati disattiva. Connettetevi ad una rete Wi-Fi o attivate la connessione dati e riprovate."
+
+msgid "IDS_EMAIL_POP_WI_FI_CONNECTION_REQUIRED_CONNECT_TO_WI_FI_NETWORK_AND_TRY_AGAIN"
+msgstr "Connessione Wi-Fi disattiva. Connettetevi ad una rete Wi-Fi e riprovate."
+
+msgid "IDS_GALLERY_HEADER_ADD_PICTURES_FROM_ABB"
+msgstr "Aggiungi immagini da"
+
+msgid "IDS_GALLERY_HEADER_CONNECTED_DEVICES_ABB"
+msgstr "Dispositivi connessi"
+
+msgid "IDS_GALLERY_OPT_PRIVATE_CONTENT"
+msgstr "Contenuti privati"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PS"
+msgstr "Rimuovi da %s"
+
+msgid "IDS_GALLERY_OPT_REMOVE_NAME_TAG"
+msgstr "Rimuovi tag nome"
+
+msgid "IDS_GALLERY_POP_THERE_ARE_NO_EVENTS_TO_DISPLAY_CREATE_A_NEW_EVENT"
+msgstr "Nessun evento da visualizzare. Create un nuovo evento."
+
+msgid "IDS_GALLERY_POP_TO_SCROLL_QUICKLY_TO_OTHER_DATES_TAP_AND_HOLD_THE_DATE_INDICATOR_AT_THE_TOP_RIGHT_OF_THE_SCREEN"
+msgstr "Per scorrere rapidamente alle altre date, toccate e tenete premuto l'indicatore della data nella parte superiore destra dello schermo."
+
+msgid "IDS_GP_POP_REMOVE_PD_ITEMS_Q"
+msgstr "Rimuovere %d elementi?"
+
+msgid "IDS_GP_POP_REMOVE_THIS_ITEM_Q"
+msgstr "Rimuovere questo elemento?"
+
+msgid "IDS_HELP_BODY_GALLERY"
+msgstr "Galleria"
+
+msgid "IDS_HELP_OPT_SHUFFLED_PICTURES"
+msgstr "Immagini riprodotte in ordine casuale"
+
+msgid "IDS_IV_BODY_ADD_PICTURES"
+msgstr "Aggiungi immagini"
+
+msgid "IDS_IV_BODY_AFTER_YOU_TAG_PICTURES_AS_YOUR_FAVOURITES_PICTURES_WILL_BE_SHOWN"
+msgstr "Le foto verranno mostrate dopo aver aggiunto dei tag come foto preferite."
+
+msgid "IDS_IV_BODY_REMOVE_FACE_IDENTIFICATION_Q"
+msgstr "Rimuovere l'identificazione facciale?"
+
+msgid "IDS_IV_OPT_ASSIGN_NAME"
+msgstr "Assegna nome"
+
+msgid "IDS_IV_OPT_CONFIRM_AS_PS"
+msgstr "Conferma come %s"
+
+msgid "IDS_IV_OPT_LAYOUT_M_PICTUERS"
+msgstr "Layout"
+
+msgid "IDS_IV_OPT_PD_PICTURES_ADDED"
+msgstr "%d immagini aggiunte"
+
+msgid "IDS_IV_POP_THE_ALBUM_WILL_BE_CANCELLED"
+msgstr "L'album verrà annullato."
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEM_ABB"
+msgstr "Elimina elemento"
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEMS"
+msgstr "Elimina elementi"
+
+msgid "IDS_MEDIABR_BODY_1_ITEM"
+msgstr "1 elemento"
+
+msgid "IDS_MEDIABR_BODY_10_SECONDS"
+msgstr "10 secondi"
+
+msgid "IDS_MEDIABR_BODY_5_SECONDS"
+msgstr "5 secondi"
+
+msgid "IDS_MEDIABR_BODY_NOT_ASSIGNED"
+msgstr "Non assegnato"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL"
+msgstr "Intervallo presentazione"
+
+msgid "IDS_MEDIABR_BODY_UNTAGGED"
+msgstr "Senza tag"
+
+msgid "IDS_MEDIABR_OPT_3_SECONDS"
+msgstr "3 secondi"
+
+msgid "IDS_MEDIABR_OPT_ALL_CONTENT"
+msgstr "Tutti i contenuti"
+
+msgid "IDS_MEDIABR_OPT_CONTENT_TO_DISPLAY"
+msgstr "Contenuti da visualizzare"
+
+msgid "IDS_MEDIABR_OPT_DELETE_TAG"
+msgstr "Elimina etichetta"
+
+msgid "IDS_MEDIABR_OPT_DEVICE_CONTENT"
+msgstr "Contenuti dispositivo"
+
+msgid "IDS_MEDIABR_OPT_DROPBOX_CONTENT"
+msgstr "Contenuti Dropbox"
+
+msgid "IDS_MEDIABR_OPT_FACEBOOK_CONTENT"
+msgstr "Contenuti Facebook"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_LEFT"
+msgstr "Ruota a sinistra"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_RIGHT"
+msgstr "Ruota a destra"
+
+msgid "IDS_MEDIABR_POP_IMPORT"
+msgstr "Importa"
+
+msgid "IDS_MEDIABR_POP_IMPORTED"
+msgstr "Importati."
+
+msgid "IDS_MEDIABR_POP_IMPORTING_ING"
+msgstr "Importazione..."
+
+msgid "IDS_MEDIABR_POP_LOADING_ING"
+msgstr "Caricamento..."
+
+msgid "IDS_MEDIABR_POP_NEARBY_DEVICES_FOUND"
+msgstr "Dispositivi vicini trovati."
+
+msgid "IDS_MEDIABR_POP_NO_DEVICES_FOUND_SCANNING_FOR_NEARBY_DEVICES_WILL_CONTINUE_IN_BACKGROUND"
+msgstr "Nessun dispositivo trovato. La ricerca di dispositivi vicini continuerà in background."
+
+msgid "IDS_MEDIABR_POP_REFRESHED"
+msgstr "Aggiornato."
+
+msgid "IDS_MEDIABR_POP_ROTATING_ING"
+msgstr "Rotazione in corso..."
+
+msgid "IDS_MEDIABR_POP_SCAN_STARTED_DEVICE_LIST_WILL_BE_UPDATED_AUTOMATICALLY"
+msgstr "Ricerca avviata. L'elenco dispositivi si aggiornerà automaticamente."
+
+msgid "IDS_MEDIABR_POP_STARTING_DOWNLOAD_ABB"
+msgstr "Avvio download in corso..."
+
+msgid "IDS_MF_OPT_COPY_TO"
+msgstr "Copia in"
+
+msgid "IDS_MF_OPT_MOVE_TO"
+msgstr "Sposta in"
+
+msgid "IDS_MF_POP_FAILED_TO_ADD_SHORTCUT"
+msgstr "Impossibile aggiungere il collegamento."
+
+msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
+msgstr "Memoria insufficiente. Eliminare alcuni elementi."
+
+msgid "IDS_MF_POP_REMOVED"
+msgstr "Rimosso."
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Aggiunta in corso..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "Eliminare %d album?"
+
+msgid "IDS_ST_BODY_PRIVATE_STORAGE"
+msgstr "Archivio privato"
+
+msgid "IDS_IV_BODY_DRAG_HERE"
+msgstr "Trascina qui."
+
+msgid "IDS_GALLERY_BODY_NEW_M_ALBUM_ABB"
+msgstr "Novità"
+
+msgid "IDS_GALLERY_HEADER_UNGROUPEDM_PEOPLE_ABB"
+msgstr "Non raggruppati"
+
+msgid "IDS_KEEPIT_OPT_SCREENSHOTS_ABB"
+msgstr "Schermata acquisita"
+
+msgid "IDS_MEDIABR_OPT_PHOTOS"
+msgstr "Fotografie"
+
+msgid "IDS_MEDIABR_POP_DOWNLOAD_FAILED"
+msgstr "Download non riuscito."
+
+msgid "IDS_MEDIABR_POP_UNSUPPORTED_FILE"
+msgstr "File non supportato."
+
+msgid "IDS_SEARCH_BODY_1_RESULT"
+msgstr "1 risultato"
+
+msgid "IDS_SEARCH_BODY_PD_RESULTS"
+msgstr "%d risultati"
+
+msgid "IDS_TW_BODY_FAVORITES"
+msgstr "Preferiti "
+
+msgid "IDS_EMAIL_POP_DOWNLOAD_CANCELLED"
+msgstr "Download annullato."
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ALBUM_Q"
+msgstr "Eliminare questo album?"
+
+msgid "IDS_CAM_HEADER_WARNING_ABB"
+msgstr "Avviso"
+
+msgid "IDS_ALM_OPT_SORT_BY"
+msgstr "Ordina per"
+
+msgid "IDS_CLD_OPT_TODAY"
+msgstr "Oggi"
+
+msgid "IDS_GALLERY_BODY_DATE"
+msgstr "Data"
+
+msgid "IDS_EMAIL_BODY_NO_ITEMS_TO_DISPLAY"
+msgstr "Nessun elemento da visualizzare."
+
+msgid "IDS_PBR_BODY_TAP_HERE_TO_TAKE_PICTURES_OR_VIDEOS"
+msgstr "Toccate qui per acquisire immagini o video."
+
+msgid "IDS_NFC_TPOP_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SHARED_HPD_EXCEEDED"
+msgstr "Il numero massimo di elementi che è possibile condividere (%d) è stato superato."
+
+msgid "IDS_IV_BODY_TAP_TO_ADD_IMAGES"
+msgstr "Premere per aggiungere immagini."
+
+msgid "IDS_GALLERY_POP_COPY_OR_MOVE_THE_SELECTED_ITEMS_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Copiare o spostare gli elementi selezionati dall'album originale?"
+
+msgid "IDS_GALLERY_HEADER_SELECT"
+msgstr "Seleziona"
+
+msgid "IDS_VIDEO_POP_FILE_ALREADY_EXISTS"
+msgstr "File già esistente."
+
+msgid "IDS_VIDEO_POP_THIS_ITEM_WILL_BE_DELETED"
+msgstr "Questo elemento verrà eliminato."
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_FACEBOOK_ITEMS_WILL_BE_SHOWN"
+msgstr "Gli elementi vengono visualizzati dopo aver caricato immagini su Facebook."
+
+msgid "IDS_GALLERY_HEADER_SELECT_ALL_ABB"
+msgstr "Seleziona tutto"
+
+msgid "IDS_GALLERY_HEADER_PD_SELECTED_ABB"
+msgstr "%d selezionati"
+
+msgid "IDS_GALLERY_OPT_VIEW_AS"
+msgstr "Visualizza come"
+
+msgid "IDS_GALLERY_OPT_DATE_HMOST_RECENT_ABB2"
+msgstr "Data (più recente)"
+
+msgid "IDS_GALLERY_OPT_DATE_HOLDEST_ABB3"
+msgstr "Data (meno recente)"
+
+msgid "IDS_GALLERY_BODY_AFTER_YOU_TAKE_PICTURES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Una volta scattate, le immagini verranno visualizzate qui."
+
+msgid "IDS_CLOUD_TPOP_CANCELLING_ING"
+msgstr "Annullamento in corso..."
+
+msgid "IDS_GALLERY_OPT_FROM_DEVICE_ABB"
+msgstr "Dal dispositivo"
+
+msgid "IDS_GALLERY_OPT_FROM_DROPBOX_ABB"
+msgstr "Da Dropbox"
+
+msgid "IDS_GALLERY_OPT_FROM_FACEBOOK_ABB"
+msgstr "Da Facebook"
+
+msgid "IDS_MUSIC_BODY_DOWNLOAD_COMPLETED"
+msgstr "Download completato."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DELETED"
+msgstr "Tutti gli elementi verranno eliminati."
+
+msgid "IDS_GALLERY_POP_1_ITEM_WILL_BE_DOWNLOADED"
+msgstr "1 elemento verrà scaricato."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "%d elementi verranno scaricati."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "Tutti gli elementi verranno scaricati."
+
+msgid "IDS_GALLERY_TPOP_SELECTED_ALBUM_SAME_AS_SOURCE_ALBUM_SELECT_ANOTHER_ALBUM"
+msgstr "L'album selezionato coincide con l'album di origine. Selezionate un altro album."
+
+msgid "IDS_HS_NPBODY_TAP_HERE_TO_ADD_IMAGES"
+msgstr "Toccate qui per aggiungere immagini"
+
+msgid "IDS_MF_HEADER_UNABLE_TO_SAVE_DATA_ABB"
+msgstr "Impossibile salvare dati"
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_IN_YOUR_DEVICE_STORAGE_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "Spazio insufficiente sulla memoria del dispositivo. Andate in Impostazioni > Batteria e memoria > Memoria, quindi eliminate alcuni file e riprovate."
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_YOUR_SD_CARD_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "Spazio insufficiente sulla scheda SD. Andate in Impostazioni > Batteria e memoria > Memoria, quindi eliminate alcuni file e riprovate."
+
+msgid "IDS_MF_BUTTON_CANCEL_ABB3"
+msgstr "Annulla"
+
+msgid "IDS_MF_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Non mostrare più"
+
+msgid "IDS_MF_POP_USING_MOBILE_DATA_WHILE_ROAMING_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "L'utilizzo dei dati cellulare durante il roaming può comportare l'addebito di spese aggiuntive a seconda del piano tariffario."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DELETED_ABB"
+msgstr "%d elementi verranno eliminati."
+
+msgid "IDS_GALLERY_OPT_DELETE"
+msgstr "Elimina"
+
+msgid "IDS_GALLERY_BODY_YESTERDAY"
+msgstr "Ieri"
+
+msgid "IDS_BR_MBODY_DOWNLOADS"
+msgstr "Download"
+
+msgid "IDS_GALLERY_HEADER_COPY"
+msgstr "Copia"
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Elimina"
+
+msgid "IDS_GALLERY_BUTTON_ALBUMS"
+msgstr "Album"
+
+msgid "IDS_GALLERY_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Il numero massimo di elementi (%d) è stato superato."
+
+msgid "IDS_GALLERY_BUTTON_CANCEL"
+msgstr "Annulla"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "FATTO"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ANNULLA"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "ELIMINA"
+
+msgid "IDS_GALLERY_POP_COPYING_ING"
+msgstr "Copia..."
+
+msgid "IDS_GALLERY_POP_MOVING_ING"
+msgstr "Spostamento..."
+
+msgid "IDS_STORYALBUM_POP_IF_YOU_CREATE_CONTENT_THAT_INCLUDES_ITEMS_FROM_PERSONAL_STORAGE_IT_MAY_NOT_BE_HIDDEN_AUTOMATICALLY_MSG"
+msgstr "Se create dei contenuti che includono elementi della memoria personale, questi ultimi potrebbero non venire nascosti automaticamente. I contenuti personali selezionati potrebbero essere visualizzati durante la visualizzazione dei nuovi contenuti."
+
+msgid "IDS_HS_ACBUTTON_EDIT"
+msgstr "MODIFICA"
+
+msgid "IDS_MF_BUTTON_SETTINGS"
+msgstr "Impostazioni"
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "MODIFICA"
+
+msgid "IDS_CLOCK_HEADER_REORDER_ABB"
+msgstr "Riordina"
+
diff --git a/res/po/ja_JP.po b/res/po/ja_JP.po
new file mode 100644 (file)
index 0000000..8f86eaf
--- /dev/null
@@ -0,0 +1,759 @@
+msgid "IDS_MF_POP_YOUR_DEVICE_IS_NOT_CONNECTED_TO_A_WI_FI_NETWORK_CONNECTING_TO_A_MOBILE_NETWORK_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "端末がWi-Fiネットワークに接続されていません。モバイルネットワークに接続すると、料金プランによっては追加料金が発生する可能性があります。"
+
+msgid "IDS_VIDEO_TPOP_MOBILE_DATA_TURNED_OFF_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_TURN_ON_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "モバイルデータがOFFになっています。Wi-Fiネットワークに接続するか、モバイルデータをONにしてから再度お試しください。"
+
+msgid "IDS_VIDEO_BODY_AFTER_YOU_RECORD_VIDEOS_USING_THE_CAMERA_THEY_WILL_BE_SHOWN_HERE"
+msgstr "カメラで動画を撮影した後に、動画が表示されます。"
+
+msgid "IDS_VIDEO_TPOP_FILE_NAME_ALREADY_IN_USE"
+msgstr "ファイル名は既に使用されています。"
+
+msgid "IDS_MF_POP_DELETE_PD_ITEMS_Q"
+msgstr "%dアイテム​を​削除​しますか?"
+
+msgid "IDS_ST_HEADER_PRIVACY"
+msgstr "プライバシー"
+
+msgid "IDS_COM_BODY_SEP_ABB"
+msgstr "9月"
+
+msgid "IDS_COM_BODY_OCT_ABB"
+msgstr "10月"
+
+msgid "IDS_COM_BODY_NOV_ABB"
+msgstr "11月"
+
+msgid "IDS_COM_BODY_MAY_ABB"
+msgstr "5月"
+
+msgid "IDS_COM_BODY_MAR_ABB"
+msgstr "3月"
+
+msgid "IDS_COM_BODY_JUN_ABB"
+msgstr "6月"
+
+msgid "IDS_COM_BODY_JUL_ABB"
+msgstr "7月"
+
+msgid "IDS_COM_BODY_JAN_ABB"
+msgstr "1月"
+
+msgid "IDS_COM_BODY_FEB_ABB"
+msgstr "2月"
+
+msgid "IDS_COM_BODY_DEC_ABB"
+msgstr "12月"
+
+msgid "IDS_COM_BODY_AUG_ABB"
+msgstr "8月"
+
+msgid "IDS_COM_BODY_APR_ABB"
+msgstr "4月"
+
+msgid "IDS_GALLERY_HEADER_ALBUM"
+msgstr "アルバム"
+
+msgid "IDS_MEDIABR_OPT_MORE"
+msgstr "その他"
+
+msgid "IDS_MEDIABR_POP_INVALID_INPUT_PARAMETER"
+msgstr "入力パラメータが無効です。"
+
+msgid "IDS_MEDIABR_POP_ENTRY_IS_EMPTY"
+msgstr "入力されていません。"
+
+msgid "IDS_MEDIABR_POP_SAME_NAME_ALREADY_IN_USE"
+msgstr "同じ名前が既に使用されています。"
+
+msgid "IDS_MEDIABR_POP_UNABLE_TO_RENAME"
+msgstr "名前を変更できません。"
+
+msgid "IDS_MEDIABR_POP_NO_ALBUMS_SELECTED"
+msgstr "アルバムが選択されていません。"
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ITEM"
+msgstr "アイテムを選択"
+
+msgid "IDS_MEDIABR_BODY_NO_ALBUMS"
+msgstr "アルバムはありません。"
+
+msgid "IDS_MEDIABR_POP_CREATE_FOLDER_Q"
+msgstr "フォルダを作成しますか?"
+
+msgid "IDS_MEDIABR_POP_RETRY_Q"
+msgstr "やり直し​ます​か?"
+
+msgid "IDS_MEDIABR_POPUP_REMOVE_Q"
+msgstr "削除しますか?"
+
+msgid "IDS_MEDIABR_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "%d件のアルバムを削除します。"
+
+msgid "IDS_MEDIABR_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "1件のアルバムを削除します。"
+
+msgid "IDS_MEDIABR_BODY_CAMERA"
+msgstr "カメラ"
+
+msgid "IDS_MEDIABR_BUTTON_START"
+msgstr "開始"
+
+msgid "IDS_MEDIABR_OPT_SETTINGS"
+msgstr "設定"
+
+msgid "IDS_MEDIABR_OPT_YES"
+msgstr "はい"
+
+msgid "IDS_MEDIABR_OPT_NO"
+msgstr "いいえ"
+
+msgid "IDS_MEDIABR_BUTTON_OK"
+msgstr "OK"
+
+msgid "IDS_MEDIABR_BUTTON_SAVE"
+msgstr "保存"
+
+msgid "IDS_MEDIABR_POP_DELETE_Q"
+msgstr "削除しますか?"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_ALBUM"
+msgstr "アルバムに移動"
+
+msgid "IDS_GALLERY_OPT_COPY_TO_ALBUM"
+msgstr "アルバムにコピー"
+
+msgid "IDS_GALLERY_HEADER_VIEW_BY_ABB"
+msgstr "表示設定"
+
+msgid "IDS_GALLERY_HEADER_ENTER_NAME"
+msgstr "名前を入力"
+
+msgid "IDS_MEDIABR_POP_ALL_DATA_RELATED_TO_THIS_ACCOUNT_WILL_BE_DELETED_CONTINUE_Q"
+msgstr "このアカウントに関する全てのデータが削除されます。続行しますか?"
+
+msgid "IDS_MEDIABR_BUTTON_CANCEL_ABB"
+msgstr "キャンセル"
+
+msgid "IDS_MEDIABR_TAB4_NEW_ALBUM"
+msgstr "新規アルバム"
+
+msgid "IDS_MEDIABR_POP_DO_YOU_WANT_TO_COPY_OR_MOVE_THE_PICTURES_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "元のアルバムからアイテムをコピーまたは移動しますか?"
+
+msgid "IDS_MEDIABR_OPT_SHARE"
+msgstr "共有"
+
+msgid "IDS_MEDIABR_OPT_SLIDESHOW"
+msgstr "スライドショー"
+
+msgid "IDS_MEDIABR_OPT_START_SLIDESHOW"
+msgstr "スライドショーを開始"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS"
+msgstr "スライドショーの設定"
+
+msgid "IDS_MEDIABR_POP_NO_NAME"
+msgstr "名前なし"
+
+msgid "IDS_MEDIABR_BODY_ALL_ALBUMS"
+msgstr "全てのアルバム"
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ALBUM"
+msgstr "アルバムを選択"
+
+msgid "IDS_MEDIABR_POP_1_ITEM_WILL_BE_DELETED"
+msgstr "1件のアイテムを削除します。"
+
+msgid "IDS_MEDIABR_OPT_ALL_ITEMS"
+msgstr "全てのアイテム"
+
+msgid "IDS_MEDIABR_BODY_PD_ITEMS"
+msgstr "%dアイテム"
+
+msgid "IDS_IV_BODY_THERE_IS_ONLY_ONE_ALBUM"
+msgstr "1つのアルバムしかありません。"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "%dアイテムまで選択できます。"
+
+msgid "IDS_MF_BODY_DOWNLOADS"
+msgstr "ダウンロード"
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "削除しますか?"
+
+msgid "IDS_MF_SK_MOVE"
+msgstr "移動"
+
+msgid "IDS_MF_POP_DELETING_ING"
+msgstr "削除中..."
+
+msgid "IDS_CAM_BODY_OPERATION_FAILED"
+msgstr "操作に失敗しました。"
+
+msgid "IDS_MSG_BODY_CANCELLED_M_CONTENT"
+msgstr "取り消し"
+
+msgid "IDS_MF_OPT_DELETE_SELECTED"
+msgstr "選択"
+
+msgid "IDS_MF_POP_MOVED"
+msgstr "移動しました。"
+
+msgid "IDS_MF_POP_COPIED"
+msgstr "コピーしました。"
+
+msgid "IDS_VPL_POP_NO_FILES_SELECTED"
+msgstr "ファイルが選択されていません"
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "閉じる"
+
+msgid "IDS_MF_OPT_SORT_BY_ABB"
+msgstr "並べ替え"
+
+msgid "IDS_CAM_POP_LATEST"
+msgstr "最新"
+
+msgid "IDS_MEDIABR_POP_OLDEST_M_DATE"
+msgstr "最も古い"
+
+msgid "IDS_MSG_BUTTON2_CREATE"
+msgstr "作成"
+
+msgid "IDS_MEDIABR_POP_NO_ITEMS"
+msgstr "アイテムがありません。"
+
+msgid "IDS_MEDIABR_OPT_EDIT_IMAGE"
+msgstr "画像を編集"
+
+msgid "IDS_MEDIABR_BODY_SELECT_PICTURE"
+msgstr "画像を選択"
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ITEM_Q"
+msgstr "このアイテムを削除しますか?"
+
+msgid "IDS_GALLERY_OPT_SCENERY"
+msgstr "風景"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PRIVATE"
+msgstr "プライベートから削除"
+
+msgid "IDS_GALLERY_OPT_PETS"
+msgstr "ペット"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_PRIVATE"
+msgstr "プライベートに移動"
+
+msgid "IDS_GALLERY_OPT_FOOD"
+msgstr "食べ物"
+
+msgid "IDS_GALLERY_OPT_FLOWERS"
+msgstr "花"
+
+msgid "IDS_GALLERY_OPT_DOCUMENTS"
+msgstr "ドキュメント"
+
+msgid "IDS_GALLERY_MBODY_VEHICLES"
+msgstr "乗り物"
+
+msgid "IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED"
+msgstr "最大文字数(%d文字)に達しました。"
+
+msgid "IDS_IV_BODY_UNABLE_TO_LOAD_PHOTO_ABB"
+msgstr "画像を読み込めません。"
+
+msgid "IDS_IV_BODY_SHARE_VIA"
+msgstr "共有"
+
+msgid "IDS_IV_BODY_DONT_ASK_AGAIN"
+msgstr "次回から確認しない"
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "最大文字数に達しました。"
+
+msgid "IDS_GALLERY_HEADER_TIME"
+msgstr "時刻"
+
+msgid "IDS_EMAIL_BODY_FAILED_M_STATUS"
+msgstr "失敗"
+
+msgid "IDS_EMAIL_BODY_DELETED"
+msgstr "削除しました。"
+
+msgid "IDS_EMAIL_POP_DELETE_Q"
+msgstr "削除しますか?"
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "削除中..."
+
+msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS"
+msgstr "%d件のアイテムを表示"
+
+msgid "IDS_GALLERY_OPT_CREATE_ALBUM"
+msgstr "アルバムを作成"
+
+msgid "IDS_GALLERY_OPT_GALLERY_ABB"
+msgstr "ギャラリー"
+
+msgid "IDS_EMAIL_BUTTON_MORE"
+msgstr "もっと見る"
+
+msgid "IDS_EMAIL_OPT_ACCOUNTS"
+msgstr "アカウント"
+
+msgid "IDS_EMAIL_POP_OPERATION_FAILED"
+msgstr "操作に失敗しました。"
+
+msgid "IDS_GALLERY_BODY_DOWNLOAD"
+msgstr "ダウンロード"
+
+msgid "IDS_GALLERY_BODY_SEARCH"
+msgstr "検索"
+
+msgid "IDS_GALLERY_BUTTON_BACK"
+msgstr "戻る"
+
+msgid "IDS_GALLERY_BUTTON_CAMERA"
+msgstr "カメラ"
+
+msgid "IDS_GALLERY_HEADER_ALL"
+msgstr "全て"
+
+msgid "IDS_GALLERY_OPT_REFRESH"
+msgstr "更新"
+
+msgid "IDS_GALLERY_OPT_REMOVE"
+msgstr "削除"
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_DROPBOX_ITEMS_WILL_BE_SHOWN"
+msgstr "Dropboxに画像をアップロードした後、アイテムが表示されます。"
+
+msgid "IDS_KEEPIT_BODY_GROUP_PLAY_ABB"
+msgstr "Group Play"
+
+msgid "IDS_MEDIABR_HEADER_CONTACTS"
+msgstr "電話帳"
+
+msgid "IDS_MEDIABR_OPT_CREATE"
+msgstr "作成"
+
+msgid "IDS_MEDIABR_OPT_DETAILS"
+msgstr "詳細"
+
+msgid "IDS_MEDIABR_OPT_PRINT"
+msgstr "印刷"
+
+msgid "IDS_MEDIABR_OPT_RENAME"
+msgstr "名前を変更"
+
+msgid "IDS_MEDIABR_POP_DOWNLOADED"
+msgstr "ダウンロードしました。"
+
+msgid "IDS_MEDIABR_POP_DOWNLOADING_ING"
+msgstr "ダウンロード中..."
+
+msgid "IDS_MF_HEADER_ENTER_NAME"
+msgstr "名前を入力してください。"
+
+msgid "IDS_MF_HEADER_MYFILES"
+msgstr "マイファイル"
+
+msgid "IDS_MF_POP_ADDED"
+msgstr "追加しました。"
+
+msgid "IDS_MF_POP_PROCESSING_ING"
+msgstr "処理中..."
+
+msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
+msgstr "未対応のファイルです。"
+
+msgid "IDS_IMGE_BODY_AFTER_YOU_TAKE_PICTURES_PICTURES_WILL_BE_SHOWN"
+msgstr "撮影した写真が表示されます。"
+
+msgid "IDS_IME_BODY_LANDSCAPE_MODE"
+msgstr "横画面モード"
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_CLOSE_DRAWER_MENU_TTS"
+msgstr "ドロワーを閉じるには、ダブルタップしてください。"
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_OPEN_DRAWER_MENU_TTS"
+msgstr "ドロワーを表示するには、ダブルタップしてください。"
+
+msgid "IDS_EMAIL_BODY_DRAG_AND_DROP"
+msgstr "ドラッグ&ドロップ"
+
+msgid "IDS_EMAIL_OPT_DRAWER_ABB"
+msgstr "ドロワー"
+
+msgid "IDS_EMAIL_POP_MOBILE_DATA_IS_DISABLED_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_ENABLE_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "モバイルデータが無効です。Wi-Fiネットワークに接続するか、モバイルデータを有効にして、再度実行してください。"
+
+msgid "IDS_EMAIL_POP_WI_FI_CONNECTION_REQUIRED_CONNECT_TO_WI_FI_NETWORK_AND_TRY_AGAIN"
+msgstr "Wi-Fi接続が必要です。Wi-Fiに接続し、再度お試しください。"
+
+msgid "IDS_GALLERY_HEADER_ADD_PICTURES_FROM_ABB"
+msgstr "画像を追加"
+
+msgid "IDS_GALLERY_HEADER_CONNECTED_DEVICES_ABB"
+msgstr "接続デバイス"
+
+msgid "IDS_GALLERY_OPT_PRIVATE_CONTENT"
+msgstr "プライベートコンテンツ"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PS"
+msgstr "%sから削除"
+
+msgid "IDS_GALLERY_OPT_REMOVE_NAME_TAG"
+msgstr "名前タグを削除"
+
+msgid "IDS_GALLERY_POP_THERE_ARE_NO_EVENTS_TO_DISPLAY_CREATE_A_NEW_EVENT"
+msgstr "表示するイベントがありません。新しいイベントを作成してください。"
+
+msgid "IDS_GALLERY_POP_TO_SCROLL_QUICKLY_TO_OTHER_DATES_TAP_AND_HOLD_THE_DATE_INDICATOR_AT_THE_TOP_RIGHT_OF_THE_SCREEN"
+msgstr "別の日付に素速くスクロールするには、画面の右上の日付インジケーターを長押ししてください。"
+
+msgid "IDS_GP_POP_REMOVE_PD_ITEMS_Q"
+msgstr "%d ​の​項目​を​削除​しますか​?"
+
+msgid "IDS_GP_POP_REMOVE_THIS_ITEM_Q"
+msgstr "このアイテムを削除しますか?"
+
+msgid "IDS_HELP_BODY_GALLERY"
+msgstr "ギャラリー"
+
+msgid "IDS_HELP_OPT_SHUFFLED_PICTURES"
+msgstr "画像をシャッフル"
+
+msgid "IDS_IV_BODY_ADD_PICTURES"
+msgstr "画像を追加"
+
+msgid "IDS_IV_BODY_AFTER_YOU_TAG_PICTURES_AS_YOUR_FAVOURITES_PICTURES_WILL_BE_SHOWN"
+msgstr "お気に入りとして写真をタグ付けした後に、写真が表示されます。"
+
+msgid "IDS_IV_BODY_REMOVE_FACE_IDENTIFICATION_Q"
+msgstr "顔認証を削除しますか?"
+
+msgid "IDS_IV_OPT_ASSIGN_NAME"
+msgstr "名前を割り当て"
+
+msgid "IDS_IV_OPT_CONFIRM_AS_PS"
+msgstr "%sとして確認"
+
+msgid "IDS_IV_OPT_LAYOUT_M_PICTUERS"
+msgstr "レイアウト"
+
+msgid "IDS_IV_OPT_PD_PICTURES_ADDED"
+msgstr "%d件の画像を追加済み"
+
+msgid "IDS_IV_POP_THE_ALBUM_WILL_BE_CANCELLED"
+msgstr "アルバム作成をキャンセルします。"
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEM_ABB"
+msgstr "アイテムを削除"
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEMS"
+msgstr "アイテムを削除"
+
+msgid "IDS_MEDIABR_BODY_1_ITEM"
+msgstr "1アイテム"
+
+msgid "IDS_MEDIABR_BODY_10_SECONDS"
+msgstr "10秒"
+
+msgid "IDS_MEDIABR_BODY_5_SECONDS"
+msgstr "5秒"
+
+msgid "IDS_MEDIABR_BODY_NOT_ASSIGNED"
+msgstr "指定なし"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL"
+msgstr "スライドショーの間隔"
+
+msgid "IDS_MEDIABR_BODY_UNTAGGED"
+msgstr "タグなし"
+
+msgid "IDS_MEDIABR_OPT_3_SECONDS"
+msgstr "3秒"
+
+msgid "IDS_MEDIABR_OPT_ALL_CONTENT"
+msgstr "全てのコンテンツ"
+
+msgid "IDS_MEDIABR_OPT_CONTENT_TO_DISPLAY"
+msgstr "表示するコンテンツ"
+
+msgid "IDS_MEDIABR_OPT_DELETE_TAG"
+msgstr "タグを削除"
+
+msgid "IDS_MEDIABR_OPT_DEVICE_CONTENT"
+msgstr "端末のコンテンツ"
+
+msgid "IDS_MEDIABR_OPT_DROPBOX_CONTENT"
+msgstr "Dropboxのコンテンツ"
+
+msgid "IDS_MEDIABR_OPT_FACEBOOK_CONTENT"
+msgstr "Facebookのコンテンツ"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_LEFT"
+msgstr "左に回転"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_RIGHT"
+msgstr "右に回転"
+
+msgid "IDS_MEDIABR_POP_IMPORT"
+msgstr "インポート"
+
+msgid "IDS_MEDIABR_POP_IMPORTED"
+msgstr "インポートしました。"
+
+msgid "IDS_MEDIABR_POP_IMPORTING_ING"
+msgstr "インポート中..."
+
+msgid "IDS_MEDIABR_POP_LOADING_ING"
+msgstr "読み込み中..."
+
+msgid "IDS_MEDIABR_POP_NEARBY_DEVICES_FOUND"
+msgstr "近くにデバイスが見つかりました。"
+
+msgid "IDS_MEDIABR_POP_NO_DEVICES_FOUND_SCANNING_FOR_NEARBY_DEVICES_WILL_CONTINUE_IN_BACKGROUND"
+msgstr "デバイスが見つかりませんでした。バックグラウンドで、近くのデバイスのスキャンを継続します。"
+
+msgid "IDS_MEDIABR_POP_REFRESHED"
+msgstr "更新しました。"
+
+msgid "IDS_MEDIABR_POP_ROTATING_ING"
+msgstr "回転中..."
+
+msgid "IDS_MEDIABR_POP_SCAN_STARTED_DEVICE_LIST_WILL_BE_UPDATED_AUTOMATICALLY"
+msgstr "スキャンを開始しました。デバイスリストが自動的に更新されます。"
+
+msgid "IDS_MEDIABR_POP_STARTING_DOWNLOAD_ABB"
+msgstr "ダウンロードを開始中..."
+
+msgid "IDS_MF_OPT_COPY_TO"
+msgstr "コピー"
+
+msgid "IDS_MF_OPT_MOVE_TO"
+msgstr "移動先"
+
+msgid "IDS_MF_POP_FAILED_TO_ADD_SHORTCUT"
+msgstr "ショートカットの追加に失敗しました。"
+
+msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
+msgstr "メモリが不足しています。不要なアイテムを削除してください。"
+
+msgid "IDS_MF_POP_REMOVED"
+msgstr "削除しました。"
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "追加中..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "%d件のアルバムを削除しますか?"
+
+msgid "IDS_ST_BODY_PRIVATE_STORAGE"
+msgstr "プライベートストレージ"
+
+msgid "IDS_IV_BODY_DRAG_HERE"
+msgstr "ここにドラッグ"
+
+msgid "IDS_GALLERY_BODY_NEW_M_ALBUM_ABB"
+msgstr "新規"
+
+msgid "IDS_GALLERY_HEADER_UNGROUPEDM_PEOPLE_ABB"
+msgstr "未分類"
+
+msgid "IDS_KEEPIT_OPT_SCREENSHOTS_ABB"
+msgstr "画面キャプチャ"
+
+msgid "IDS_MEDIABR_OPT_PHOTOS"
+msgstr "画像"
+
+msgid "IDS_MEDIABR_POP_DOWNLOAD_FAILED"
+msgstr "ダウンロードに失敗しました。"
+
+msgid "IDS_MEDIABR_POP_UNSUPPORTED_FILE"
+msgstr "未対応のファイルです。"
+
+msgid "IDS_SEARCH_BODY_1_RESULT"
+msgstr "1 件の結果"
+
+msgid "IDS_SEARCH_BODY_PD_RESULTS"
+msgstr "%d 件の結果"
+
+msgid "IDS_TW_BODY_FAVORITES"
+msgstr "お気に入り"
+
+msgid "IDS_EMAIL_POP_DOWNLOAD_CANCELLED"
+msgstr "ダウンロードを中止しました。"
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ALBUM_Q"
+msgstr "このアルバムを削除しますか?"
+
+msgid "IDS_CAM_HEADER_WARNING_ABB"
+msgstr "警告"
+
+msgid "IDS_ALM_OPT_SORT_BY"
+msgstr "並べ替え"
+
+msgid "IDS_CLD_OPT_TODAY"
+msgstr "今日"
+
+msgid "IDS_GALLERY_BODY_DATE"
+msgstr "日付"
+
+msgid "IDS_EMAIL_BODY_NO_ITEMS_TO_DISPLAY"
+msgstr "表示するメールはありません。"
+
+msgid "IDS_PBR_BODY_TAP_HERE_TO_TAKE_PICTURES_OR_VIDEOS"
+msgstr "写真や動画を撮影するには、ここをタップしてください。"
+
+msgid "IDS_NFC_TPOP_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SHARED_HPD_EXCEEDED"
+msgstr "共有可能なアイテムの最大数(%d件)に達しました。"
+
+msgid "IDS_IV_BODY_TAP_TO_ADD_IMAGES"
+msgstr "画像を追加してください。"
+
+msgid "IDS_GALLERY_POP_COPY_OR_MOVE_THE_SELECTED_ITEMS_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "元のアルバムから選択したアイテムをコピーまたは移動しますか?"
+
+msgid "IDS_GALLERY_HEADER_SELECT"
+msgstr "選択"
+
+msgid "IDS_VIDEO_POP_FILE_ALREADY_EXISTS"
+msgstr "ファイルが既にあります。"
+
+msgid "IDS_VIDEO_POP_THIS_ITEM_WILL_BE_DELETED"
+msgstr "このアイテムを削除します。"
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_FACEBOOK_ITEMS_WILL_BE_SHOWN"
+msgstr "Facebookに画像をアップロードした後、アイテムが表示されます。"
+
+msgid "IDS_GALLERY_HEADER_SELECT_ALL_ABB"
+msgstr "全て選択"
+
+msgid "IDS_GALLERY_HEADER_PD_SELECTED_ABB"
+msgstr "%d件選択"
+
+msgid "IDS_GALLERY_OPT_VIEW_AS"
+msgstr "表示形式"
+
+msgid "IDS_GALLERY_OPT_DATE_HMOST_RECENT_ABB2"
+msgstr "日付(新しい順)"
+
+msgid "IDS_GALLERY_OPT_DATE_HOLDEST_ABB3"
+msgstr "日付(古い順)"
+
+msgid "IDS_GALLERY_BODY_AFTER_YOU_TAKE_PICTURES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "写真を撮影すると、写真がここに表示されます。"
+
+msgid "IDS_CLOUD_TPOP_CANCELLING_ING"
+msgstr "キャンセル中..."
+
+msgid "IDS_GALLERY_OPT_FROM_DEVICE_ABB"
+msgstr "端末"
+
+msgid "IDS_GALLERY_OPT_FROM_DROPBOX_ABB"
+msgstr "Dropbox"
+
+msgid "IDS_GALLERY_OPT_FROM_FACEBOOK_ABB"
+msgstr "Facebook"
+
+msgid "IDS_MUSIC_BODY_DOWNLOAD_COMPLETED"
+msgstr "ダウンロードが完了しました。"
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DELETED"
+msgstr "全てのアイテムを削除します。"
+
+msgid "IDS_GALLERY_POP_1_ITEM_WILL_BE_DOWNLOADED"
+msgstr "1件のアイテムをダウンロードします。"
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "%d件のアイテムをダウンロードします。"
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "全てのアイテムをダウンロードします。"
+
+msgid "IDS_GALLERY_TPOP_SELECTED_ALBUM_SAME_AS_SOURCE_ALBUM_SELECT_ANOTHER_ALBUM"
+msgstr "元のアルバムと同じアルバムを選択しています。別のアルバムを選択してください。"
+
+msgid "IDS_HS_NPBODY_TAP_HERE_TO_ADD_IMAGES"
+msgstr "画像を追加するには、ここをタップしてください"
+
+msgid "IDS_MF_HEADER_UNABLE_TO_SAVE_DATA_ABB"
+msgstr "データの保存不可"
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_IN_YOUR_DEVICE_STORAGE_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "システムメモリ(本体)の空き容量が低下しています。[設定] > [電源とストレージ] > [ストレージ]に移動して不要なファイルを削除した後、再度実行してください。"
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_YOUR_SD_CARD_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "外部SDカードの空き容量が低下しています。[設定] > [電源とストレージ] > [ストレージ]に移動して不要なファイルを削除した後、再度実行してください。"
+
+msgid "IDS_MF_BUTTON_CANCEL_ABB3"
+msgstr "キャンセル"
+
+msgid "IDS_MF_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "今後表示しない"
+
+msgid "IDS_MF_POP_USING_MOBILE_DATA_WHILE_ROAMING_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "ローミング中にモバイルデータを使用すると、データプランによっては追加料金が発生する可能性があります。"
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DELETED_ABB"
+msgstr "%d件のアイテムを削除します。"
+
+msgid "IDS_GALLERY_OPT_DELETE"
+msgstr "削除"
+
+msgid "IDS_GALLERY_BODY_YESTERDAY"
+msgstr "昨日"
+
+msgid "IDS_BR_MBODY_DOWNLOADS"
+msgstr "ダウンロード"
+
+msgid "IDS_GALLERY_HEADER_COPY"
+msgstr "コピー"
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "削除"
+
+msgid "IDS_GALLERY_BUTTON_ALBUMS"
+msgstr "アルバム"
+
+msgid "IDS_GALLERY_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_HPD_HAS_BEEN_EXCEEDED"
+msgstr "アイテムの最大数(%d件)に達しました。"
+
+msgid "IDS_GALLERY_BUTTON_CANCEL"
+msgstr "キャンセル"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "完了"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "キャンセル"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "削除"
+
+msgid "IDS_GALLERY_POP_COPYING_ING"
+msgstr "コピー中..."
+
+msgid "IDS_GALLERY_POP_MOVING_ING"
+msgstr "移動中..."
+
+msgid "IDS_STORYALBUM_POP_IF_YOU_CREATE_CONTENT_THAT_INCLUDES_ITEMS_FROM_PERSONAL_STORAGE_IT_MAY_NOT_BE_HIDDEN_AUTOMATICALLY_MSG"
+msgstr "パーソナルストレージのアイテムを含めてコンテンツを作成すると、新しいコンテンツは自動的に非表示にならない場合があります。選択したパーソナルコンテンツは、新しく作成したコンテンツを表示するときに表示できます。"
+
+msgid "IDS_HS_ACBUTTON_EDIT"
+msgstr "編集"
+
+msgid "IDS_MF_BUTTON_SETTINGS"
+msgstr "設定"
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "編集"
+
+msgid "IDS_CLOCK_HEADER_REORDER_ABB"
+msgstr "並べ替え"
+
diff --git a/res/po/ka.po b/res/po/ka.po
new file mode 100644 (file)
index 0000000..cbb24bd
--- /dev/null
@@ -0,0 +1,759 @@
+msgid "IDS_MF_POP_YOUR_DEVICE_IS_NOT_CONNECTED_TO_A_WI_FI_NETWORK_CONNECTING_TO_A_MOBILE_NETWORK_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "თქვენი მოწყობილობა არ არის დაკავშირებული Wi-Fi ქსელთან. მობილურ ქსელთან დაკავშირებისთვის შეიძლება დაგერიცხოთ დამატებითი გადასახადი, თქვენი სატარიფო გეგმის შესაბამისად"
+
+msgid "IDS_VIDEO_TPOP_MOBILE_DATA_TURNED_OFF_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_TURN_ON_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "მობილურ მონაცემთა ქსელი გამორთულია. სანაცვლოდ, დაუკავშირდით Wi-Fi ქსელს, ან ჩართეთ მობილური მონაცემები და ისევ სცადეთ."
+
+msgid "IDS_VIDEO_BODY_AFTER_YOU_RECORD_VIDEOS_USING_THE_CAMERA_THEY_WILL_BE_SHOWN_HERE"
+msgstr "როდესაც ჩაწერთ ვიდეოს კამერით, ისინი გამოჩნდება აქ."
+
+msgid "IDS_VIDEO_TPOP_FILE_NAME_ALREADY_IN_USE"
+msgstr "ფაილის სახელი უკვე გამოყენებულია"
+
+msgid "IDS_MF_POP_DELETE_PD_ITEMS_Q"
+msgstr "წაშლით %d ელემენტს?"
+
+msgid "IDS_ST_HEADER_PRIVACY"
+msgstr "პირადი"
+
+msgid "IDS_COM_BODY_SEP_ABB"
+msgstr "სექ."
+
+msgid "IDS_COM_BODY_OCT_ABB"
+msgstr "ოქტ."
+
+msgid "IDS_COM_BODY_NOV_ABB"
+msgstr "ნოე."
+
+msgid "IDS_COM_BODY_MAY_ABB"
+msgstr "მაის"
+
+msgid "IDS_COM_BODY_MAR_ABB"
+msgstr "მარ."
+
+msgid "IDS_COM_BODY_JUN_ABB"
+msgstr "ივნ."
+
+msgid "IDS_COM_BODY_JUL_ABB"
+msgstr "ივლ."
+
+msgid "IDS_COM_BODY_JAN_ABB"
+msgstr "იან."
+
+msgid "IDS_COM_BODY_FEB_ABB"
+msgstr "თებ."
+
+msgid "IDS_COM_BODY_DEC_ABB"
+msgstr "დეკ."
+
+msgid "IDS_COM_BODY_AUG_ABB"
+msgstr "აგვ."
+
+msgid "IDS_COM_BODY_APR_ABB"
+msgstr "აპრ."
+
+msgid "IDS_GALLERY_HEADER_ALBUM"
+msgstr "ალბომი"
+
+msgid "IDS_MEDIABR_OPT_MORE"
+msgstr "სხვა"
+
+msgid "IDS_MEDIABR_POP_INVALID_INPUT_PARAMETER"
+msgstr "შეყვანილი პარამეტრი არასწორია."
+
+msgid "IDS_MEDIABR_POP_ENTRY_IS_EMPTY"
+msgstr "ცარიელი ჩანაწ."
+
+msgid "IDS_MEDIABR_POP_SAME_NAME_ALREADY_IN_USE"
+msgstr "იგივე სახელი უკვე გამოყენებულია."
+
+msgid "IDS_MEDIABR_POP_UNABLE_TO_RENAME"
+msgstr "სახელს ვერ შეცვლით."
+
+msgid "IDS_MEDIABR_POP_NO_ALBUMS_SELECTED"
+msgstr "ალბომი არ არის არჩეული."
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ITEM"
+msgstr "ელემენტის არჩევა"
+
+msgid "IDS_MEDIABR_BODY_NO_ALBUMS"
+msgstr "ალბომები არ არის"
+
+msgid "IDS_MEDIABR_POP_CREATE_FOLDER_Q"
+msgstr "შექმნით საქაღალდეს?"
+
+msgid "IDS_MEDIABR_POP_RETRY_Q"
+msgstr "თავიდან ვცადო?"
+
+msgid "IDS_MEDIABR_POPUP_REMOVE_Q"
+msgstr "წაიშალოს?"
+
+msgid "IDS_MEDIABR_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "%d ალბომი წაიშლება."
+
+msgid "IDS_MEDIABR_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "1 ალბომი წაიშლება."
+
+msgid "IDS_MEDIABR_BODY_CAMERA"
+msgstr "ფოტოაპარატი"
+
+msgid "IDS_MEDIABR_BUTTON_START"
+msgstr "დასაწყისი"
+
+msgid "IDS_MEDIABR_OPT_SETTINGS"
+msgstr "პარამეტრები"
+
+msgid "IDS_MEDIABR_OPT_YES"
+msgstr "დიახ"
+
+msgid "IDS_MEDIABR_OPT_NO"
+msgstr "არა"
+
+msgid "IDS_MEDIABR_BUTTON_OK"
+msgstr "კი"
+
+msgid "IDS_MEDIABR_BUTTON_SAVE"
+msgstr "შენახვა"
+
+msgid "IDS_MEDIABR_POP_DELETE_Q"
+msgstr "წაიშალოს?"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_ALBUM"
+msgstr "ალბომში გადატანა"
+
+msgid "IDS_GALLERY_OPT_COPY_TO_ALBUM"
+msgstr "კოპირება ალბომში"
+
+msgid "IDS_GALLERY_HEADER_VIEW_BY_ABB"
+msgstr "დათვალიერება პარამეტრით"
+
+msgid "IDS_GALLERY_HEADER_ENTER_NAME"
+msgstr "სახელის შეყვანა"
+
+msgid "IDS_MEDIABR_POP_ALL_DATA_RELATED_TO_THIS_ACCOUNT_WILL_BE_DELETED_CONTINUE_Q"
+msgstr "ამ ანგარიშთან დაკავშირებული ყველა მონაცემი წაიშლება. განაგრძობთ?"
+
+msgid "IDS_MEDIABR_BUTTON_CANCEL_ABB"
+msgstr "გაუქმება"
+
+msgid "IDS_MEDIABR_TAB4_NEW_ALBUM"
+msgstr "ახალი ალბომი"
+
+msgid "IDS_MEDIABR_POP_DO_YOU_WANT_TO_COPY_OR_MOVE_THE_PICTURES_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "სურათების ასლის გადაწერა გსურთ თუ მათი გადატანა თავდაპირველი ალბომიდან?"
+
+msgid "IDS_MEDIABR_OPT_SHARE"
+msgstr "გაზიარება"
+
+msgid "IDS_MEDIABR_OPT_SLIDESHOW"
+msgstr "სლაიდ–შოუ"
+
+msgid "IDS_MEDIABR_OPT_START_SLIDESHOW"
+msgstr "სლაიდშოუს დაწყება"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS"
+msgstr "სლაიდ–შოუს პარამეტრები"
+
+msgid "IDS_MEDIABR_POP_NO_NAME"
+msgstr "უსახელო"
+
+msgid "IDS_MEDIABR_BODY_ALL_ALBUMS"
+msgstr "ყველა ალბომი"
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ALBUM"
+msgstr "ალბომის არჩევა"
+
+msgid "IDS_MEDIABR_POP_1_ITEM_WILL_BE_DELETED"
+msgstr "1 ელემენტი წაიშლება."
+
+msgid "IDS_MEDIABR_OPT_ALL_ITEMS"
+msgstr "ყველა ელემენტი"
+
+msgid "IDS_MEDIABR_BODY_PD_ITEMS"
+msgstr "%d ელემენტი"
+
+msgid "IDS_IV_BODY_THERE_IS_ONLY_ONE_ALBUM"
+msgstr "აქ მხოლოდ ერთი ალბომია."
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "მაქსიმუმ %d ელემენტის არჩევა შეგიძლიათ."
+
+msgid "IDS_MF_BODY_DOWNLOADS"
+msgstr "გადმოწერილები"
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "წაიშალოს?"
+
+msgid "IDS_MF_SK_MOVE"
+msgstr "გადატანა"
+
+msgid "IDS_MF_POP_DELETING_ING"
+msgstr "წაშლა..."
+
+msgid "IDS_CAM_BODY_OPERATION_FAILED"
+msgstr "ოპერაცია ვერ შესრულდა."
+
+msgid "IDS_MSG_BODY_CANCELLED_M_CONTENT"
+msgstr "გაუქმდა"
+
+msgid "IDS_MF_OPT_DELETE_SELECTED"
+msgstr "შერჩეული"
+
+msgid "IDS_MF_POP_MOVED"
+msgstr "გადატანილია."
+
+msgid "IDS_MF_POP_COPIED"
+msgstr "დაკოპირდა."
+
+msgid "IDS_VPL_POP_NO_FILES_SELECTED"
+msgstr "ფაილი არ არის არჩეული."
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "დახურვა"
+
+msgid "IDS_MF_OPT_SORT_BY_ABB"
+msgstr "დალაგება კრიტერიუმით"
+
+msgid "IDS_CAM_POP_LATEST"
+msgstr "უახლესი"
+
+msgid "IDS_MEDIABR_POP_OLDEST_M_DATE"
+msgstr "ყველაზე ძველი"
+
+msgid "IDS_MSG_BUTTON2_CREATE"
+msgstr "შექმნა"
+
+msgid "IDS_MEDIABR_POP_NO_ITEMS"
+msgstr "ელემენტები არ არის"
+
+msgid "IDS_MEDIABR_OPT_EDIT_IMAGE"
+msgstr "სურათის რედაქტირება"
+
+msgid "IDS_MEDIABR_BODY_SELECT_PICTURE"
+msgstr "სურათის შერჩევა"
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ITEM_Q"
+msgstr "წაიშალოს ეს?"
+
+msgid "IDS_GALLERY_OPT_SCENERY"
+msgstr "სცენარი"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PRIVATE"
+msgstr "პერსონალურიდან წაშლა"
+
+msgid "IDS_GALLERY_OPT_PETS"
+msgstr "საყვარელი ცხოველები"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_PRIVATE"
+msgstr "პერსონალურში გადატანა"
+
+msgid "IDS_GALLERY_OPT_FOOD"
+msgstr "საკვები"
+
+msgid "IDS_GALLERY_OPT_FLOWERS"
+msgstr "ყვავილები"
+
+msgid "IDS_GALLERY_OPT_DOCUMENTS"
+msgstr "დოკუმენტები"
+
+msgid "IDS_GALLERY_MBODY_VEHICLES"
+msgstr "სატრანსპორტო საშუალებები"
+
+msgid "IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED"
+msgstr "მიღწეულია სიმბოლოების მაქსიმალური რაოდენობა (%d)."
+
+msgid "IDS_IV_BODY_UNABLE_TO_LOAD_PHOTO_ABB"
+msgstr "ფოტოს ჩატვირთვა შეუძლებელია."
+
+msgid "IDS_IV_BODY_SHARE_VIA"
+msgstr "გაზიარების მეთოდია"
+
+msgid "IDS_IV_BODY_DONT_ASK_AGAIN"
+msgstr "აღარ მკითხო"
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "მიღწეულია სიმბოლოების მაქსიმალური რაოდენობა."
+
+msgid "IDS_GALLERY_HEADER_TIME"
+msgstr "დრო"
+
+msgid "IDS_EMAIL_BODY_FAILED_M_STATUS"
+msgstr "არ შესრულდა"
+
+msgid "IDS_EMAIL_BODY_DELETED"
+msgstr "წაშლილია."
+
+msgid "IDS_EMAIL_POP_DELETE_Q"
+msgstr "წაიშალოს?"
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "იშლება..."
+
+msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS"
+msgstr "ჩანს %d ელემენტი"
+
+msgid "IDS_GALLERY_OPT_CREATE_ALBUM"
+msgstr "ალბომის შექმნა"
+
+msgid "IDS_GALLERY_OPT_GALLERY_ABB"
+msgstr "გალერეა"
+
+msgid "IDS_EMAIL_BUTTON_MORE"
+msgstr "სხვა"
+
+msgid "IDS_EMAIL_OPT_ACCOUNTS"
+msgstr "ანგარიშები"
+
+msgid "IDS_EMAIL_POP_OPERATION_FAILED"
+msgstr "ოპერაცია ვერ შესრულდა."
+
+msgid "IDS_GALLERY_BODY_DOWNLOAD"
+msgstr "ჩამოტვირთვა"
+
+msgid "IDS_GALLERY_BODY_SEARCH"
+msgstr "ძიება"
+
+msgid "IDS_GALLERY_BUTTON_BACK"
+msgstr "უკან"
+
+msgid "IDS_GALLERY_BUTTON_CAMERA"
+msgstr "კამერა"
+
+msgid "IDS_GALLERY_HEADER_ALL"
+msgstr "ყველა"
+
+msgid "IDS_GALLERY_OPT_REFRESH"
+msgstr "განახლება"
+
+msgid "IDS_GALLERY_OPT_REMOVE"
+msgstr "წაშლა"
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_DROPBOX_ITEMS_WILL_BE_SHOWN"
+msgstr "Dropbox-ზე სურათების ატვირთვის შემდეგ, გამოჩნდება ელემენტები."
+
+msgid "IDS_KEEPIT_BODY_GROUP_PLAY_ABB"
+msgstr "Group Play"
+
+msgid "IDS_MEDIABR_HEADER_CONTACTS"
+msgstr "კონტაქტები"
+
+msgid "IDS_MEDIABR_OPT_CREATE"
+msgstr "შექმნა"
+
+msgid "IDS_MEDIABR_OPT_DETAILS"
+msgstr "დეტალები"
+
+msgid "IDS_MEDIABR_OPT_PRINT"
+msgstr "ამობეჭდვა"
+
+msgid "IDS_MEDIABR_OPT_RENAME"
+msgstr "ხელახლა დასათაურება"
+
+msgid "IDS_MEDIABR_POP_DOWNLOADED"
+msgstr "ჩამოიტვირთა."
+
+msgid "IDS_MEDIABR_POP_DOWNLOADING_ING"
+msgstr "ჩამოტვირთვა..."
+
+msgid "IDS_MF_HEADER_ENTER_NAME"
+msgstr "ჩაწერეთ სახელი."
+
+msgid "IDS_MF_HEADER_MYFILES"
+msgstr "ჩემი ფაილები"
+
+msgid "IDS_MF_POP_ADDED"
+msgstr "დამატებულია."
+
+msgid "IDS_MF_POP_PROCESSING_ING"
+msgstr "მუშავდება..."
+
+msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
+msgstr "ფაილის ტიპი გაუთვალისწინებელია."
+
+msgid "IDS_IMGE_BODY_AFTER_YOU_TAKE_PICTURES_PICTURES_WILL_BE_SHOWN"
+msgstr "სურათების გადაღების შემდეგ, გამოჩნდება სურათები."
+
+msgid "IDS_IME_BODY_LANDSCAPE_MODE"
+msgstr "პეიზაჟის რეჟიმი"
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_CLOSE_DRAWER_MENU_TTS"
+msgstr "შეეხეთ ორჯერ და უჯრებიანი მენიუ დაიხურება."
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_OPEN_DRAWER_MENU_TTS"
+msgstr "შეეხეთ ორჯერ და უჯრებიანი მენიუ გაიხსნება."
+
+msgid "IDS_EMAIL_BODY_DRAG_AND_DROP"
+msgstr "აიღეთ და გადაიტანეთ"
+
+msgid "IDS_EMAIL_OPT_DRAWER_ABB"
+msgstr "კარადა"
+
+msgid "IDS_EMAIL_POP_MOBILE_DATA_IS_DISABLED_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_ENABLE_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "მობილური მონაცემები გამორთულია. სანაცვლოდ, დაუკავშირდით Wi-Fi ქსელს, ან გაააქტიურეთ მობილური მონაცემები და ისევ ცადეთ"
+
+msgid "IDS_EMAIL_POP_WI_FI_CONNECTION_REQUIRED_CONNECT_TO_WI_FI_NETWORK_AND_TRY_AGAIN"
+msgstr "საჭიროა Wi-Fi კავშირი. დაუკავშირდით Wi-Fi ქსელს და ისევ ცადეთ"
+
+msgid "IDS_GALLERY_HEADER_ADD_PICTURES_FROM_ABB"
+msgstr "სურათების დამატება ადგილიდან"
+
+msgid "IDS_GALLERY_HEADER_CONNECTED_DEVICES_ABB"
+msgstr "დაკავშირებული მოწყობილობები"
+
+msgid "IDS_GALLERY_OPT_PRIVATE_CONTENT"
+msgstr "პერსონალური მასალა"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PS"
+msgstr "%s-დან ამოშლა"
+
+msgid "IDS_GALLERY_OPT_REMOVE_NAME_TAG"
+msgstr "სახელის იარლიყის წაშლა"
+
+msgid "IDS_GALLERY_POP_THERE_ARE_NO_EVENTS_TO_DISPLAY_CREATE_A_NEW_EVENT"
+msgstr "მოვლენები არ არის, რომ გამოჩნდეს. შექმენით ახალი მოვლენა."
+
+msgid "IDS_GALLERY_POP_TO_SCROLL_QUICKLY_TO_OTHER_DATES_TAP_AND_HOLD_THE_DATE_INDICATOR_AT_THE_TOP_RIGHT_OF_THE_SCREEN"
+msgstr "სხვა დეტალებზე სწრაფად გადასვლისთვის, სწრაფად შეეხეთ თარიღის ინდიკატორს ეკრანის ზედა მარჯვენა მხარეს."
+
+msgid "IDS_GP_POP_REMOVE_PD_ITEMS_Q"
+msgstr "მოცილდეს %d ელემენტი?"
+
+msgid "IDS_GP_POP_REMOVE_THIS_ITEM_Q"
+msgstr "წაიშალოს ეს?"
+
+msgid "IDS_HELP_BODY_GALLERY"
+msgstr "გალერეა"
+
+msgid "IDS_HELP_OPT_SHUFFLED_PICTURES"
+msgstr "შერეული სურათები"
+
+msgid "IDS_IV_BODY_ADD_PICTURES"
+msgstr "სურათების დამატება"
+
+msgid "IDS_IV_BODY_AFTER_YOU_TAG_PICTURES_AS_YOUR_FAVOURITES_PICTURES_WILL_BE_SHOWN"
+msgstr "სურათების ფავორიტებად მონიშვნის შემდეგ, გამოჩნდება სურათები."
+
+msgid "IDS_IV_BODY_REMOVE_FACE_IDENTIFICATION_Q"
+msgstr "მოცილდეს სახის იდენტიფიკაცია?"
+
+msgid "IDS_IV_OPT_ASSIGN_NAME"
+msgstr "სახელის მინიჭება"
+
+msgid "IDS_IV_OPT_CONFIRM_AS_PS"
+msgstr "დაადასტურეთ, როგორც %s"
+
+msgid "IDS_IV_OPT_LAYOUT_M_PICTUERS"
+msgstr "განლაგება"
+
+msgid "IDS_IV_OPT_PD_PICTURES_ADDED"
+msgstr "დაემატა %d სურათი"
+
+msgid "IDS_IV_POP_THE_ALBUM_WILL_BE_CANCELLED"
+msgstr "ალბომი გაუქმდება."
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEM_ABB"
+msgstr "ელემენტის წაშლა"
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEMS"
+msgstr "ელემენტების წაშლა"
+
+msgid "IDS_MEDIABR_BODY_1_ITEM"
+msgstr "1 ელემენტი"
+
+msgid "IDS_MEDIABR_BODY_10_SECONDS"
+msgstr "10 წამი"
+
+msgid "IDS_MEDIABR_BODY_5_SECONDS"
+msgstr "5 წამი"
+
+msgid "IDS_MEDIABR_BODY_NOT_ASSIGNED"
+msgstr "არ არის მინიჭებული"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL"
+msgstr "სლაიდ–შოუს ინტერვალი"
+
+msgid "IDS_MEDIABR_BODY_UNTAGGED"
+msgstr "უიარლიყო"
+
+msgid "IDS_MEDIABR_OPT_3_SECONDS"
+msgstr "3 წამი"
+
+msgid "IDS_MEDIABR_OPT_ALL_CONTENT"
+msgstr "მთლიანი მასალა"
+
+msgid "IDS_MEDIABR_OPT_CONTENT_TO_DISPLAY"
+msgstr "ეკრანზე გამოსაჩენი მასალა"
+
+msgid "IDS_MEDIABR_OPT_DELETE_TAG"
+msgstr "ჩანართის წაშლა"
+
+msgid "IDS_MEDIABR_OPT_DEVICE_CONTENT"
+msgstr "მოწყობილობის შიგთავსი"
+
+msgid "IDS_MEDIABR_OPT_DROPBOX_CONTENT"
+msgstr "Dropbox შიგთავსი"
+
+msgid "IDS_MEDIABR_OPT_FACEBOOK_CONTENT"
+msgstr "Facebook შიგთავსი"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_LEFT"
+msgstr "მარცხნივ მოტრიალება"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_RIGHT"
+msgstr "მარჯვნივ მოტრიალება"
+
+msgid "IDS_MEDIABR_POP_IMPORT"
+msgstr "მიღება"
+
+msgid "IDS_MEDIABR_POP_IMPORTED"
+msgstr "გადმოტანილია."
+
+msgid "IDS_MEDIABR_POP_IMPORTING_ING"
+msgstr "ჩამოდის..."
+
+msgid "IDS_MEDIABR_POP_LOADING_ING"
+msgstr "იტვირთება..."
+
+msgid "IDS_MEDIABR_POP_NEARBY_DEVICES_FOUND"
+msgstr "მოიძებნა ახლომდებარე მოწყობილობები."
+
+msgid "IDS_MEDIABR_POP_NO_DEVICES_FOUND_SCANNING_FOR_NEARBY_DEVICES_WILL_CONTINUE_IN_BACKGROUND"
+msgstr "მოწყობილობები ვერ მოიძებნა. ახლომდებარე მოწყობილობების ძებნა გაგრძელდება ფონზე"
+
+msgid "IDS_MEDIABR_POP_REFRESHED"
+msgstr "განახლდა."
+
+msgid "IDS_MEDIABR_POP_ROTATING_ING"
+msgstr "ბრუნავს..."
+
+msgid "IDS_MEDIABR_POP_SCAN_STARTED_DEVICE_LIST_WILL_BE_UPDATED_AUTOMATICALLY"
+msgstr "ძებნა დაიწყო. მოწყობილობების სია ავტომატურად განახლდება"
+
+msgid "IDS_MEDIABR_POP_STARTING_DOWNLOAD_ABB"
+msgstr "იწყება ჩამოტვირთვა..."
+
+msgid "IDS_MF_OPT_COPY_TO"
+msgstr "დაკოპირდეს ადგილზე"
+
+msgid "IDS_MF_OPT_MOVE_TO"
+msgstr "გადატანა ადგილზე"
+
+msgid "IDS_MF_POP_FAILED_TO_ADD_SHORTCUT"
+msgstr "ღილაკი ვერ დაემატა."
+
+msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
+msgstr "მეხსიერება საკმარისი არაა. წაშალეთ ზოგიერთი ელემენტი"
+
+msgid "IDS_MF_POP_REMOVED"
+msgstr "წაშლილია."
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "ემატება..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "წაიშალოს %d ალბომი?"
+
+msgid "IDS_ST_BODY_PRIVATE_STORAGE"
+msgstr "პირადი საცავი"
+
+msgid "IDS_IV_BODY_DRAG_HERE"
+msgstr "გადაიტანეთ აქ."
+
+msgid "IDS_GALLERY_BODY_NEW_M_ALBUM_ABB"
+msgstr "ახალი"
+
+msgid "IDS_GALLERY_HEADER_UNGROUPEDM_PEOPLE_ABB"
+msgstr "დაჯგუფება გაუქმდა"
+
+msgid "IDS_KEEPIT_OPT_SCREENSHOTS_ABB"
+msgstr "ეკრანის სურათები"
+
+msgid "IDS_MEDIABR_OPT_PHOTOS"
+msgstr "ფოტოები"
+
+msgid "IDS_MEDIABR_POP_DOWNLOAD_FAILED"
+msgstr "ვერ ჩამოიტვირთა."
+
+msgid "IDS_MEDIABR_POP_UNSUPPORTED_FILE"
+msgstr "ფაილი გაუთვალისწინებელია."
+
+msgid "IDS_SEARCH_BODY_1_RESULT"
+msgstr "1 შედეგი"
+
+msgid "IDS_SEARCH_BODY_PD_RESULTS"
+msgstr "%d შედეგი"
+
+msgid "IDS_TW_BODY_FAVORITES"
+msgstr "ფავორიტები"
+
+msgid "IDS_EMAIL_POP_DOWNLOAD_CANCELLED"
+msgstr "ჩამოტვირთვა შეწყდა."
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ALBUM_Q"
+msgstr "წაიშალოს ეს ალბომი?"
+
+msgid "IDS_CAM_HEADER_WARNING_ABB"
+msgstr "გაფრთხილება"
+
+msgid "IDS_ALM_OPT_SORT_BY"
+msgstr "გადარჩევა"
+
+msgid "IDS_CLD_OPT_TODAY"
+msgstr "დღეს"
+
+msgid "IDS_GALLERY_BODY_DATE"
+msgstr "თარიღი"
+
+msgid "IDS_EMAIL_BODY_NO_ITEMS_TO_DISPLAY"
+msgstr "საჩვენებელი ელემენტები არ არის."
+
+msgid "IDS_PBR_BODY_TAP_HERE_TO_TAKE_PICTURES_OR_VIDEOS"
+msgstr "შეეხეთ აქ და გადაიღეთ სურათები ან ვიდეოები."
+
+msgid "IDS_NFC_TPOP_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SHARED_HPD_EXCEEDED"
+msgstr "გადაჭარბებულია ელემენტთა მაქსიმალური რაოდენობა (%d)."
+
+msgid "IDS_IV_BODY_TAP_TO_ADD_IMAGES"
+msgstr "დააკაკუნეთ და დაამატეთ სურათები."
+
+msgid "IDS_GALLERY_POP_COPY_OR_MOVE_THE_SELECTED_ITEMS_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "დააკოპირებთ ან გადაიტანთ შერჩეულ ელემენტებს თავდაპირველი ალბომიდან?"
+
+msgid "IDS_GALLERY_HEADER_SELECT"
+msgstr "არჩევა"
+
+msgid "IDS_VIDEO_POP_FILE_ALREADY_EXISTS"
+msgstr "ფაილი უკვე არსებობს."
+
+msgid "IDS_VIDEO_POP_THIS_ITEM_WILL_BE_DELETED"
+msgstr "ეს ელემენტი წაიშლება."
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_FACEBOOK_ITEMS_WILL_BE_SHOWN"
+msgstr "Facebook-ზე სურათების ატვირთვის შემდეგ, გამოჩნდება ელემენტები."
+
+msgid "IDS_GALLERY_HEADER_SELECT_ALL_ABB"
+msgstr "აირჩიეთ ყველა"
+
+msgid "IDS_GALLERY_HEADER_PD_SELECTED_ABB"
+msgstr "%d არჩეულია"
+
+msgid "IDS_GALLERY_OPT_VIEW_AS"
+msgstr "ნახეთ როგორც"
+
+msgid "IDS_GALLERY_OPT_DATE_HMOST_RECENT_ABB2"
+msgstr "თარიღი (უახლესი)"
+
+msgid "IDS_GALLERY_OPT_DATE_HOLDEST_ABB3"
+msgstr "თარიღი (ყველაზე ძველი)"
+
+msgid "IDS_GALLERY_BODY_AFTER_YOU_TAKE_PICTURES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "სურათების გადაღების შემდეგ, ისინი გამოჩნდება აქ."
+
+msgid "IDS_CLOUD_TPOP_CANCELLING_ING"
+msgstr "უქმდება..."
+
+msgid "IDS_GALLERY_OPT_FROM_DEVICE_ABB"
+msgstr "მოწყობილობიდან"
+
+msgid "IDS_GALLERY_OPT_FROM_DROPBOX_ABB"
+msgstr "Dropbox-დან"
+
+msgid "IDS_GALLERY_OPT_FROM_FACEBOOK_ABB"
+msgstr "Facebook-იდან"
+
+msgid "IDS_MUSIC_BODY_DOWNLOAD_COMPLETED"
+msgstr "ჩამოტვირთვა დასრულდა."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DELETED"
+msgstr "ყველა ელემენტი წაიშლება."
+
+msgid "IDS_GALLERY_POP_1_ITEM_WILL_BE_DOWNLOADED"
+msgstr "ჩამოიტვირთება 1 ელემენტი."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "ჩამოიტვირთება %d ელემენტი."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "ჩამოიტვირთება ყველა ელემენტი."
+
+msgid "IDS_GALLERY_TPOP_SELECTED_ALBUM_SAME_AS_SOURCE_ALBUM_SELECT_ANOTHER_ALBUM"
+msgstr "შერჩეული ალბომი იგივეა, რას საწყისი ალბომი. აირჩიეთ სხვა ალბომი."
+
+msgid "IDS_HS_NPBODY_TAP_HERE_TO_ADD_IMAGES"
+msgstr "შეეხეთ აქ და დაამატეთ სურათები"
+
+msgid "IDS_MF_HEADER_UNABLE_TO_SAVE_DATA_ABB"
+msgstr "მონაცემებს ვერ შეინახავთ"
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_IN_YOUR_DEVICE_STORAGE_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "მოწყობილობის მეხსიერებაში არ არის საკმარისი ადგილი. გახსენით პარამეტრები > ენერგია და საცავი > მეხსიერება და წაშალეთ ზოგიერთი ფაილი, შემდეგ კი ისევ სცადეთ."
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_YOUR_SD_CARD_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "SD ბარათზე არ არის საკმარისი ადგილი. გახსენით პარამეტრები > ენერგია და საცავი > მეხსიერება და წაშალეთ ზოგიერთი ფაილი, შემდეგ კი ისევ სცადეთ."
+
+msgid "IDS_MF_BUTTON_CANCEL_ABB3"
+msgstr "გაუქმება"
+
+msgid "IDS_MF_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "აღარ მაჩვენო"
+
+msgid "IDS_MF_POP_USING_MOBILE_DATA_WHILE_ROAMING_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "შესაძლოა, როუმინგში მობილურ მონაცემთა გამოყენებისთვის დაგერიცხოთ დამატებითი გადასახადი, თქვენი სატარიფო გეგმის მიხედვით."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DELETED_ABB"
+msgstr "%d ელემენტი წაიშლება."
+
+msgid "IDS_GALLERY_OPT_DELETE"
+msgstr "წაშლა"
+
+msgid "IDS_GALLERY_BODY_YESTERDAY"
+msgstr "გუშინ"
+
+msgid "IDS_BR_MBODY_DOWNLOADS"
+msgstr "ჩამოტვირთვები"
+
+msgid "IDS_GALLERY_HEADER_COPY"
+msgstr "ასლი"
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "წაშლა"
+
+msgid "IDS_GALLERY_BUTTON_ALBUMS"
+msgstr "ალბომები"
+
+msgid "IDS_GALLERY_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_HPD_HAS_BEEN_EXCEEDED"
+msgstr "გადაჭარბებულია ელემენტების მაქსიმალური რაოდენობა (%d)."
+
+msgid "IDS_GALLERY_BUTTON_CANCEL"
+msgstr "გაუქმება"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "მზადაა"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "გაუქმება"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "წაშლა"
+
+msgid "IDS_GALLERY_POP_COPYING_ING"
+msgstr "კოპირდება..."
+
+msgid "IDS_GALLERY_POP_MOVING_ING"
+msgstr "გადატანა..."
+
+msgid "IDS_STORYALBUM_POP_IF_YOU_CREATE_CONTENT_THAT_INCLUDES_ITEMS_FROM_PERSONAL_STORAGE_IT_MAY_NOT_BE_HIDDEN_AUTOMATICALLY_MSG"
+msgstr "თუ შექმნით პერსონალური საცავიდან აღებული ინფორმაციის შემცველ მასალას, თქვენი ახალი ინფორმაცია შეიძლება არ დაიმალოს ავტომატურად. შერჩეული პერსონალური ინფორმაცია შეიძლება გამოჩნდეს ახალი მასალის დათვალიერების დროს."
+
+msgid "IDS_HS_ACBUTTON_EDIT"
+msgstr "შესწორება"
+
+msgid "IDS_MF_BUTTON_SETTINGS"
+msgstr "პარამეტრები"
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "შეცვლა"
+
+msgid "IDS_CLOCK_HEADER_REORDER_ABB"
+msgstr "გადალაგება"
+
diff --git a/res/po/kk.po b/res/po/kk.po
new file mode 100644 (file)
index 0000000..a2de404
--- /dev/null
@@ -0,0 +1,759 @@
+msgid "IDS_MF_POP_YOUR_DEVICE_IS_NOT_CONNECTED_TO_A_WI_FI_NETWORK_CONNECTING_TO_A_MOBILE_NETWORK_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "Құрылғыңыз Wi-Fi желісіне қосылмаған. Ұялы байланыс желісіне қосылу үшін төлем жоспарына байланысты қосымша ақы төлеуіңіз мүмкін"
+
+msgid "IDS_VIDEO_TPOP_MOBILE_DATA_TURNED_OFF_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_TURN_ON_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Ұялы деректер өшірілді. Оның орнына Wi-Fi желісіне қосылыңыз немесе ұялы деректерді қосып, әрекетті қайталаңыз."
+
+msgid "IDS_VIDEO_BODY_AFTER_YOU_RECORD_VIDEOS_USING_THE_CAMERA_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Камераның көмегімен бейнелер жазып алғаннан кейін олар мына жерде көрсетіледі."
+
+msgid "IDS_VIDEO_TPOP_FILE_NAME_ALREADY_IN_USE"
+msgstr "Файл атауы бұрыннан пайдаланылуда"
+
+msgid "IDS_MF_POP_DELETE_PD_ITEMS_Q"
+msgstr "%d элементерін жою керек пе?"
+
+msgid "IDS_ST_HEADER_PRIVACY"
+msgstr "Құпия"
+
+msgid "IDS_COM_BODY_SEP_ABB"
+msgstr "Қыр."
+
+msgid "IDS_COM_BODY_OCT_ABB"
+msgstr "Қаз."
+
+msgid "IDS_COM_BODY_NOV_ABB"
+msgstr "Қар."
+
+msgid "IDS_COM_BODY_MAY_ABB"
+msgstr "Мам."
+
+msgid "IDS_COM_BODY_MAR_ABB"
+msgstr "Нау."
+
+msgid "IDS_COM_BODY_JUN_ABB"
+msgstr "Мау."
+
+msgid "IDS_COM_BODY_JUL_ABB"
+msgstr "Шіл."
+
+msgid "IDS_COM_BODY_JAN_ABB"
+msgstr "Қаң."
+
+msgid "IDS_COM_BODY_FEB_ABB"
+msgstr "Ақп."
+
+msgid "IDS_COM_BODY_DEC_ABB"
+msgstr "Жел."
+
+msgid "IDS_COM_BODY_AUG_ABB"
+msgstr "Там."
+
+msgid "IDS_COM_BODY_APR_ABB"
+msgstr "Сәу."
+
+msgid "IDS_GALLERY_HEADER_ALBUM"
+msgstr "Альбом"
+
+msgid "IDS_MEDIABR_OPT_MORE"
+msgstr "Басқалар"
+
+msgid "IDS_MEDIABR_POP_INVALID_INPUT_PARAMETER"
+msgstr "Жарамсыз енгізу өлшемі."
+
+msgid "IDS_MEDIABR_POP_ENTRY_IS_EMPTY"
+msgstr "Енгізбе бос."
+
+msgid "IDS_MEDIABR_POP_SAME_NAME_ALREADY_IN_USE"
+msgstr "Мұндай атау қолданыста бар."
+
+msgid "IDS_MEDIABR_POP_UNABLE_TO_RENAME"
+msgstr "Атын өзгерту мүмкін емес."
+
+msgid "IDS_MEDIABR_POP_NO_ALBUMS_SELECTED"
+msgstr "Альбомдар таңдалмады."
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ITEM"
+msgstr "Элемент таңдау"
+
+msgid "IDS_MEDIABR_BODY_NO_ALBUMS"
+msgstr "Альбомдар жоқ"
+
+msgid "IDS_MEDIABR_POP_CREATE_FOLDER_Q"
+msgstr "Қалта құрасыз ба?"
+
+msgid "IDS_MEDIABR_POP_RETRY_Q"
+msgstr "Қайталау керек пе?"
+
+msgid "IDS_MEDIABR_POPUP_REMOVE_Q"
+msgstr "Жоясыз ба?"
+
+msgid "IDS_MEDIABR_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "%d альбом жойылады."
+
+msgid "IDS_MEDIABR_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "1 альбом жойылады."
+
+msgid "IDS_MEDIABR_BODY_CAMERA"
+msgstr "Камера"
+
+msgid "IDS_MEDIABR_BUTTON_START"
+msgstr "Бастау"
+
+msgid "IDS_MEDIABR_OPT_SETTINGS"
+msgstr "Қондырғылар"
+
+msgid "IDS_MEDIABR_OPT_YES"
+msgstr "Иә"
+
+msgid "IDS_MEDIABR_OPT_NO"
+msgstr "Жоқ"
+
+msgid "IDS_MEDIABR_BUTTON_OK"
+msgstr "OK"
+
+msgid "IDS_MEDIABR_BUTTON_SAVE"
+msgstr "Сақтау"
+
+msgid "IDS_MEDIABR_POP_DELETE_Q"
+msgstr "Өшіресіз бе?"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_ALBUM"
+msgstr "Альбомға жылжыту"
+
+msgid "IDS_GALLERY_OPT_COPY_TO_ALBUM"
+msgstr "Альбомға көшіру"
+
+msgid "IDS_GALLERY_HEADER_VIEW_BY_ABB"
+msgstr "Көру тәртібі"
+
+msgid "IDS_GALLERY_HEADER_ENTER_NAME"
+msgstr "Атын енгізіңіз"
+
+msgid "IDS_MEDIABR_POP_ALL_DATA_RELATED_TO_THIS_ACCOUNT_WILL_BE_DELETED_CONTINUE_Q"
+msgstr "Бұл есептік жазбаға қатысты барлық деректер жойылады. Жалғастыру керек пе?"
+
+msgid "IDS_MEDIABR_BUTTON_CANCEL_ABB"
+msgstr "Бас тарту"
+
+msgid "IDS_MEDIABR_TAB4_NEW_ALBUM"
+msgstr "Жаңа альбом"
+
+msgid "IDS_MEDIABR_POP_DO_YOU_WANT_TO_COPY_OR_MOVE_THE_PICTURES_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Суреттерді түпнұсқалық альбомнан көшіру не жылжыту керек пе?"
+
+msgid "IDS_MEDIABR_OPT_SHARE"
+msgstr "Байланысқа жол"
+
+msgid "IDS_MEDIABR_OPT_SLIDESHOW"
+msgstr "Слайдшоу"
+
+msgid "IDS_MEDIABR_OPT_START_SLIDESHOW"
+msgstr "Слайдшоуды бастау"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS"
+msgstr "Слайдшоу параметрлері"
+
+msgid "IDS_MEDIABR_POP_NO_NAME"
+msgstr "Ондай есім жоқ"
+
+msgid "IDS_MEDIABR_BODY_ALL_ALBUMS"
+msgstr "Барлық альбомдар"
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ALBUM"
+msgstr "Альбом таңдау"
+
+msgid "IDS_MEDIABR_POP_1_ITEM_WILL_BE_DELETED"
+msgstr "1 элемент жойылады."
+
+msgid "IDS_MEDIABR_OPT_ALL_ITEMS"
+msgstr "Барлық элементтер"
+
+msgid "IDS_MEDIABR_BODY_PD_ITEMS"
+msgstr "%d элементтер"
+
+msgid "IDS_IV_BODY_THERE_IS_ONLY_ONE_ALBUM"
+msgstr "Тек бір альбом ғана бар."
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "%d элементке дейін таңдауға болады."
+
+msgid "IDS_MF_BODY_DOWNLOADS"
+msgstr "Жазылған"
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Өшіресіз бе?"
+
+msgid "IDS_MF_SK_MOVE"
+msgstr "Ауыстыру"
+
+msgid "IDS_MF_POP_DELETING_ING"
+msgstr "Жойылуда..."
+
+msgid "IDS_CAM_BODY_OPERATION_FAILED"
+msgstr "Әрекет сәтсіз аяқталды."
+
+msgid "IDS_MSG_BODY_CANCELLED_M_CONTENT"
+msgstr "Болдырылмады"
+
+msgid "IDS_MF_OPT_DELETE_SELECTED"
+msgstr "Таңдалған"
+
+msgid "IDS_MF_POP_MOVED"
+msgstr "Орналастырылды."
+
+msgid "IDS_MF_POP_COPIED"
+msgstr "Хабар(лар) көшірілді"
+
+msgid "IDS_VPL_POP_NO_FILES_SELECTED"
+msgstr "Файлдар таңдалмаған."
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Жабу"
+
+msgid "IDS_MF_OPT_SORT_BY_ABB"
+msgstr "Сұрыптау"
+
+msgid "IDS_CAM_POP_LATEST"
+msgstr "Ең соңғы"
+
+msgid "IDS_MEDIABR_POP_OLDEST_M_DATE"
+msgstr "Ең ескі"
+
+msgid "IDS_MSG_BUTTON2_CREATE"
+msgstr "Жасау"
+
+msgid "IDS_MEDIABR_POP_NO_ITEMS"
+msgstr "Баптар жоқ"
+
+msgid "IDS_MEDIABR_OPT_EDIT_IMAGE"
+msgstr "Суретті өңдеу"
+
+msgid "IDS_MEDIABR_BODY_SELECT_PICTURE"
+msgstr "Суретті таңдау"
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ITEM_Q"
+msgstr "Бұл элементті жою керек пе?"
+
+msgid "IDS_GALLERY_OPT_SCENERY"
+msgstr "Көрініс"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PRIVATE"
+msgstr "Жеке қалтадан жою"
+
+msgid "IDS_GALLERY_OPT_PETS"
+msgstr "Үй жануарлары"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_PRIVATE"
+msgstr "Жеке қалтаға көшіру"
+
+msgid "IDS_GALLERY_OPT_FOOD"
+msgstr "Тамақ"
+
+msgid "IDS_GALLERY_OPT_FLOWERS"
+msgstr "Гүлдер"
+
+msgid "IDS_GALLERY_OPT_DOCUMENTS"
+msgstr "Құжаттар"
+
+msgid "IDS_GALLERY_MBODY_VEHICLES"
+msgstr "Көліктер"
+
+msgid "IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED"
+msgstr "Ең көп таңбалар санына (%d) жетті."
+
+msgid "IDS_IV_BODY_UNABLE_TO_LOAD_PHOTO_ABB"
+msgstr "Фотосуретті жүктеу мүмкін емес."
+
+msgid "IDS_IV_BODY_SHARE_VIA"
+msgstr "Бөлісу"
+
+msgid "IDS_IV_BODY_DONT_ASK_AGAIN"
+msgstr "Қайтадан сұрамаңыз"
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Таңбалардың ен көп саны артты."
+
+msgid "IDS_GALLERY_HEADER_TIME"
+msgstr "Уақыт"
+
+msgid "IDS_EMAIL_BODY_FAILED_M_STATUS"
+msgstr "Сәтсіз болды"
+
+msgid "IDS_EMAIL_BODY_DELETED"
+msgstr "Жойылды"
+
+msgid "IDS_EMAIL_POP_DELETE_Q"
+msgstr "Өшіресіз бе?"
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Шығаруда..."
+
+msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS"
+msgstr "%d элементті көрсету"
+
+msgid "IDS_GALLERY_OPT_CREATE_ALBUM"
+msgstr "Альбом жасау"
+
+msgid "IDS_GALLERY_OPT_GALLERY_ABB"
+msgstr "Галерея"
+
+msgid "IDS_EMAIL_BUTTON_MORE"
+msgstr "Басқа"
+
+msgid "IDS_EMAIL_OPT_ACCOUNTS"
+msgstr "Есептік жазбалар"
+
+msgid "IDS_EMAIL_POP_OPERATION_FAILED"
+msgstr "Әрекет сәтсіз аяқталды."
+
+msgid "IDS_GALLERY_BODY_DOWNLOAD"
+msgstr "Жүктеу"
+
+msgid "IDS_GALLERY_BODY_SEARCH"
+msgstr "Іздеу"
+
+msgid "IDS_GALLERY_BUTTON_BACK"
+msgstr "Артқа"
+
+msgid "IDS_GALLERY_BUTTON_CAMERA"
+msgstr "Камера"
+
+msgid "IDS_GALLERY_HEADER_ALL"
+msgstr "Барлығы"
+
+msgid "IDS_GALLERY_OPT_REFRESH"
+msgstr "Жаңарту"
+
+msgid "IDS_GALLERY_OPT_REMOVE"
+msgstr "Алып тастау"
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_DROPBOX_ITEMS_WILL_BE_SHOWN"
+msgstr "Суреттерді Dropbox бағдарламасына кері жүктегеннен кейін элементтер көрсетіледі."
+
+msgid "IDS_KEEPIT_BODY_GROUP_PLAY_ABB"
+msgstr "Group Play"
+
+msgid "IDS_MEDIABR_HEADER_CONTACTS"
+msgstr "Контактілер"
+
+msgid "IDS_MEDIABR_OPT_CREATE"
+msgstr "Құру"
+
+msgid "IDS_MEDIABR_OPT_DETAILS"
+msgstr "Өзгешеліктері"
+
+msgid "IDS_MEDIABR_OPT_PRINT"
+msgstr "Басып шығару"
+
+msgid "IDS_MEDIABR_OPT_RENAME"
+msgstr "Атын өзгерту"
+
+msgid "IDS_MEDIABR_POP_DOWNLOADED"
+msgstr "Жазылды."
+
+msgid "IDS_MEDIABR_POP_DOWNLOADING_ING"
+msgstr "Жазылуда..."
+
+msgid "IDS_MF_HEADER_ENTER_NAME"
+msgstr "Атын енгізіңіз."
+
+msgid "IDS_MF_HEADER_MYFILES"
+msgstr "Менің файлдарым"
+
+msgid "IDS_MF_POP_ADDED"
+msgstr "Қосылды"
+
+msgid "IDS_MF_POP_PROCESSING_ING"
+msgstr "Өңделуде..."
+
+msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
+msgstr "Қолдаусыз файл түрі."
+
+msgid "IDS_IMGE_BODY_AFTER_YOU_TAKE_PICTURES_PICTURES_WILL_BE_SHOWN"
+msgstr "Суретке түсірген соң, суреттер көрсетіледі."
+
+msgid "IDS_IME_BODY_LANDSCAPE_MODE"
+msgstr "Альбом режимі"
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_CLOSE_DRAWER_MENU_TTS"
+msgstr "Тартпа мәзірін жабу үшін екі рет түртіңіз."
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_OPEN_DRAWER_MENU_TTS"
+msgstr "Тартпа мәзірін ашу үшін екі рет түртіңіз."
+
+msgid "IDS_EMAIL_BODY_DRAG_AND_DROP"
+msgstr "Сүйретіп апару"
+
+msgid "IDS_EMAIL_OPT_DRAWER_ABB"
+msgstr "Тартпа"
+
+msgid "IDS_EMAIL_POP_MOBILE_DATA_IS_DISABLED_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_ENABLE_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Ұялы деректер өшірілді. Оның орнына Wi-Fi желісіне қосылыңыз немесе ұялы деректерді қосыңыз, сосын әрекетті қайталап көріңіз"
+
+msgid "IDS_EMAIL_POP_WI_FI_CONNECTION_REQUIRED_CONNECT_TO_WI_FI_NETWORK_AND_TRY_AGAIN"
+msgstr "Wi-Fi желісіне қосылу қажет етіледі. Wi-Fi желісіне қосылып, қайталап көріңіз"
+
+msgid "IDS_GALLERY_HEADER_ADD_PICTURES_FROM_ABB"
+msgstr "Келесіден суреттер қосу"
+
+msgid "IDS_GALLERY_HEADER_CONNECTED_DEVICES_ABB"
+msgstr "Қосылған құрылғылар"
+
+msgid "IDS_GALLERY_OPT_PRIVATE_CONTENT"
+msgstr "Жеке мазмұн"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PS"
+msgstr "%s ішінен жою"
+
+msgid "IDS_GALLERY_OPT_REMOVE_NAME_TAG"
+msgstr "Атау тегін жою"
+
+msgid "IDS_GALLERY_POP_THERE_ARE_NO_EVENTS_TO_DISPLAY_CREATE_A_NEW_EVENT"
+msgstr "Көрсетілетін оқиғалар жоқ. Жаңа оқиға жасау."
+
+msgid "IDS_GALLERY_POP_TO_SCROLL_QUICKLY_TO_OTHER_DATES_TAP_AND_HOLD_THE_DATE_INDICATOR_AT_THE_TOP_RIGHT_OF_THE_SCREEN"
+msgstr "Басқа күндерге жылдам өту үшін, экранның жоғарғы жағындағы күн индикаторын басып ұстап тұрыңыз."
+
+msgid "IDS_GP_POP_REMOVE_PD_ITEMS_Q"
+msgstr "%d элементті жою керек пе?"
+
+msgid "IDS_GP_POP_REMOVE_THIS_ITEM_Q"
+msgstr "Осы элементті жою керек пе?"
+
+msgid "IDS_HELP_BODY_GALLERY"
+msgstr "Галерея"
+
+msgid "IDS_HELP_OPT_SHUFFLED_PICTURES"
+msgstr "Кездейсоқ суреттер"
+
+msgid "IDS_IV_BODY_ADD_PICTURES"
+msgstr "Суреттер қосу"
+
+msgid "IDS_IV_BODY_AFTER_YOU_TAG_PICTURES_AS_YOUR_FAVOURITES_PICTURES_WILL_BE_SHOWN"
+msgstr "Суреттерді таңдаулы ретінде белгілегеннен кейін олар көрінеді."
+
+msgid "IDS_IV_BODY_REMOVE_FACE_IDENTIFICATION_Q"
+msgstr "Бет ұқсастыруды алып тастау керек пе?"
+
+msgid "IDS_IV_OPT_ASSIGN_NAME"
+msgstr "Атау беру"
+
+msgid "IDS_IV_OPT_CONFIRM_AS_PS"
+msgstr "%s ретінде сақтау"
+
+msgid "IDS_IV_OPT_LAYOUT_M_PICTUERS"
+msgstr "Орналасу"
+
+msgid "IDS_IV_OPT_PD_PICTURES_ADDED"
+msgstr "%d сурет қосылды"
+
+msgid "IDS_IV_POP_THE_ALBUM_WILL_BE_CANCELLED"
+msgstr "Альбомнан бас тартылады."
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEM_ABB"
+msgstr "Элементті жою"
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEMS"
+msgstr "Элементтерді жою"
+
+msgid "IDS_MEDIABR_BODY_1_ITEM"
+msgstr "1 элемент"
+
+msgid "IDS_MEDIABR_BODY_10_SECONDS"
+msgstr "10 секунд"
+
+msgid "IDS_MEDIABR_BODY_5_SECONDS"
+msgstr "5 секунд"
+
+msgid "IDS_MEDIABR_BODY_NOT_ASSIGNED"
+msgstr "Қойылған жоқ"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL"
+msgstr "Слайдшоу аралығы"
+
+msgid "IDS_MEDIABR_BODY_UNTAGGED"
+msgstr "Белгіленбеген"
+
+msgid "IDS_MEDIABR_OPT_3_SECONDS"
+msgstr "3 секунд"
+
+msgid "IDS_MEDIABR_OPT_ALL_CONTENT"
+msgstr "Барлық мазмұн"
+
+msgid "IDS_MEDIABR_OPT_CONTENT_TO_DISPLAY"
+msgstr "Көрсетілетін мазмұн"
+
+msgid "IDS_MEDIABR_OPT_DELETE_TAG"
+msgstr "Белгіні жою"
+
+msgid "IDS_MEDIABR_OPT_DEVICE_CONTENT"
+msgstr "Құрылғы мазмұны"
+
+msgid "IDS_MEDIABR_OPT_DROPBOX_CONTENT"
+msgstr "Dropbox мазмұны"
+
+msgid "IDS_MEDIABR_OPT_FACEBOOK_CONTENT"
+msgstr "Facebook мазмұны"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_LEFT"
+msgstr "Солға бұру"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_RIGHT"
+msgstr "Оңға бұру"
+
+msgid "IDS_MEDIABR_POP_IMPORT"
+msgstr "Импорт"
+
+msgid "IDS_MEDIABR_POP_IMPORTED"
+msgstr "Импортталған"
+
+msgid "IDS_MEDIABR_POP_IMPORTING_ING"
+msgstr "Тасымалдануда..."
+
+msgid "IDS_MEDIABR_POP_LOADING_ING"
+msgstr "Жазылуда..."
+
+msgid "IDS_MEDIABR_POP_NEARBY_DEVICES_FOUND"
+msgstr "Жақын құрылғылар табылды."
+
+msgid "IDS_MEDIABR_POP_NO_DEVICES_FOUND_SCANNING_FOR_NEARBY_DEVICES_WILL_CONTINUE_IN_BACKGROUND"
+msgstr "Құрылғылар табылмады. Жақын құрылғыларды тексеру фонда жалғасады"
+
+msgid "IDS_MEDIABR_POP_REFRESHED"
+msgstr "Жаңартылған"
+
+msgid "IDS_MEDIABR_POP_ROTATING_ING"
+msgstr "Бұруда..."
+
+msgid "IDS_MEDIABR_POP_SCAN_STARTED_DEVICE_LIST_WILL_BE_UPDATED_AUTOMATICALLY"
+msgstr "Іздеу басталды. Құрылғылар тізімі автоматты түрде жаңартылады"
+
+msgid "IDS_MEDIABR_POP_STARTING_DOWNLOAD_ABB"
+msgstr "Жүктеу басталуда..."
+
+msgid "IDS_MF_OPT_COPY_TO"
+msgstr "Көшіру"
+
+msgid "IDS_MF_OPT_MOVE_TO"
+msgstr "Орналастыру"
+
+msgid "IDS_MF_POP_FAILED_TO_ADD_SHORTCUT"
+msgstr "Белгіше қосылмады."
+
+msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
+msgstr "Жад жетыспейт.Көп арналы жою."
+
+msgid "IDS_MF_POP_REMOVED"
+msgstr "Жойылған"
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Қосылуда..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "%d альбомды жою керек пе?"
+
+msgid "IDS_ST_BODY_PRIVATE_STORAGE"
+msgstr "Жеке сақтау орны"
+
+msgid "IDS_IV_BODY_DRAG_HERE"
+msgstr "Осында сүйрету."
+
+msgid "IDS_GALLERY_BODY_NEW_M_ALBUM_ABB"
+msgstr "Жаңа"
+
+msgid "IDS_GALLERY_HEADER_UNGROUPEDM_PEOPLE_ABB"
+msgstr "Топтастырылмаған"
+
+msgid "IDS_KEEPIT_OPT_SCREENSHOTS_ABB"
+msgstr "Скриншоттар"
+
+msgid "IDS_MEDIABR_OPT_PHOTOS"
+msgstr "Фотосуреттер"
+
+msgid "IDS_MEDIABR_POP_DOWNLOAD_FAILED"
+msgstr "Көшіру сәтсіз."
+
+msgid "IDS_MEDIABR_POP_UNSUPPORTED_FILE"
+msgstr "Қолдаусыз файл."
+
+msgid "IDS_SEARCH_BODY_1_RESULT"
+msgstr "1 нәтиже"
+
+msgid "IDS_SEARCH_BODY_PD_RESULTS"
+msgstr "%d нәтиже"
+
+msgid "IDS_TW_BODY_FAVORITES"
+msgstr "Сүйікті"
+
+msgid "IDS_EMAIL_POP_DOWNLOAD_CANCELLED"
+msgstr "Жазу тоқтатылды"
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ALBUM_Q"
+msgstr "Бұл альбомды жою керек пе?"
+
+msgid "IDS_CAM_HEADER_WARNING_ABB"
+msgstr "Ескерту"
+
+msgid "IDS_ALM_OPT_SORT_BY"
+msgstr "Бойынша сұрыптау"
+
+msgid "IDS_CLD_OPT_TODAY"
+msgstr "Бүгін"
+
+msgid "IDS_GALLERY_BODY_DATE"
+msgstr "Күні"
+
+msgid "IDS_EMAIL_BODY_NO_ITEMS_TO_DISPLAY"
+msgstr "Көрсетілетін элементтер жоқ."
+
+msgid "IDS_PBR_BODY_TAP_HERE_TO_TAKE_PICTURES_OR_VIDEOS"
+msgstr "Суреттерді не бейнелерді түсіру үшін осында түртіңіз."
+
+msgid "IDS_NFC_TPOP_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SHARED_HPD_EXCEEDED"
+msgstr "Ең көп бөлісуге болатын элементтер санынан (%d) асып кетті."
+
+msgid "IDS_IV_BODY_TAP_TO_ADD_IMAGES"
+msgstr "Суреттер қосу үшін түртіңіз."
+
+msgid "IDS_GALLERY_POP_COPY_OR_MOVE_THE_SELECTED_ITEMS_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Таңдалған элементтерді түпнұсқалық альбомнан көшіру немесе жылжыту керек пе?"
+
+msgid "IDS_GALLERY_HEADER_SELECT"
+msgstr "Таңдау"
+
+msgid "IDS_VIDEO_POP_FILE_ALREADY_EXISTS"
+msgstr "Файл бұрыннан бар."
+
+msgid "IDS_VIDEO_POP_THIS_ITEM_WILL_BE_DELETED"
+msgstr "Бұл элемент жойылады."
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_FACEBOOK_ITEMS_WILL_BE_SHOWN"
+msgstr "Суреттерді Facebook сайтына кері жүктегеннен кейін элементтер көрсетіледі."
+
+msgid "IDS_GALLERY_HEADER_SELECT_ALL_ABB"
+msgstr "Барлығын таңдау"
+
+msgid "IDS_GALLERY_HEADER_PD_SELECTED_ABB"
+msgstr "%d таңдалды"
+
+msgid "IDS_GALLERY_OPT_VIEW_AS"
+msgstr "Басқаша көру"
+
+msgid "IDS_GALLERY_OPT_DATE_HMOST_RECENT_ABB2"
+msgstr "Күні (ең соңғы)"
+
+msgid "IDS_GALLERY_OPT_DATE_HOLDEST_ABB3"
+msgstr "Күні (алдыңғы)"
+
+msgid "IDS_GALLERY_BODY_AFTER_YOU_TAKE_PICTURES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Суретке түсіргеннен кейін олар мына жерде көрсетіледі."
+
+msgid "IDS_CLOUD_TPOP_CANCELLING_ING"
+msgstr "Бас тартылуда..."
+
+msgid "IDS_GALLERY_OPT_FROM_DEVICE_ABB"
+msgstr "Құрылғыдан"
+
+msgid "IDS_GALLERY_OPT_FROM_DROPBOX_ABB"
+msgstr "Dropbox қызметінен"
+
+msgid "IDS_GALLERY_OPT_FROM_FACEBOOK_ABB"
+msgstr "Facebook сайтынан"
+
+msgid "IDS_MUSIC_BODY_DOWNLOAD_COMPLETED"
+msgstr "Жазылу аяқталды"
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DELETED"
+msgstr "Барлық элементтер жойылады."
+
+msgid "IDS_GALLERY_POP_1_ITEM_WILL_BE_DOWNLOADED"
+msgstr "1 элемент жүктеледі."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "%d элемент жүктеледі."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "Барлық элементтер жүктеледі."
+
+msgid "IDS_GALLERY_TPOP_SELECTED_ALBUM_SAME_AS_SOURCE_ALBUM_SELECT_ANOTHER_ALBUM"
+msgstr "Таңдалған альбом бастапқы альбоммен бірдей. Басқа альбомды таңдаңыз."
+
+msgid "IDS_HS_NPBODY_TAP_HERE_TO_ADD_IMAGES"
+msgstr "Суреттер қосу үшін осында түрту"
+
+msgid "IDS_MF_HEADER_UNABLE_TO_SAVE_DATA_ABB"
+msgstr "Деректер сақталмады"
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_IN_YOUR_DEVICE_STORAGE_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "Құрылғы жадында бос орын жеткіліксіз. Параметрлер > Қуат пен сақтау орны > Сақтау орны бөліміне өтіп, кейбір файлдарды жойыңыз және әрекетті қайталңыз."
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_YOUR_SD_CARD_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "SD картасында бос орын жеткіліксіз. Параметрлер > Қуат пен сақтау орны > Сақтау орны бөліміне өтіп, кейбір файлдарды жойыңыз және әрекетті қайталаңыз."
+
+msgid "IDS_MF_BUTTON_CANCEL_ABB3"
+msgstr "Бас тарту"
+
+msgid "IDS_MF_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Қайтадан көрсетпеу"
+
+msgid "IDS_MF_POP_USING_MOBILE_DATA_WHILE_ROAMING_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "Роуминг кезінде ұялы деректерді пайдалану төлем жоспарыңызға байланысты қосымша ақы алуы мүмкін."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DELETED_ABB"
+msgstr "%d элемент жойылады."
+
+msgid "IDS_GALLERY_OPT_DELETE"
+msgstr "Жою"
+
+msgid "IDS_GALLERY_BODY_YESTERDAY"
+msgstr "Кеше"
+
+msgid "IDS_BR_MBODY_DOWNLOADS"
+msgstr "Жүктеулер"
+
+msgid "IDS_GALLERY_HEADER_COPY"
+msgstr "Көшіру"
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Жою"
+
+msgid "IDS_GALLERY_BUTTON_ALBUMS"
+msgstr "Альбомдар"
+
+msgid "IDS_GALLERY_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Элементтердің ең көп санынан (%d) асып кетті."
+
+msgid "IDS_GALLERY_BUTTON_CANCEL"
+msgstr "Тоқтату"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "ДАЙЫН"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "БАС ТАРТУ"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "ЖОЮ"
+
+msgid "IDS_GALLERY_POP_COPYING_ING"
+msgstr "Көшірілуде..."
+
+msgid "IDS_GALLERY_POP_MOVING_ING"
+msgstr "Орналастырылды"
+
+msgid "IDS_STORYALBUM_POP_IF_YOU_CREATE_CONTENT_THAT_INCLUDES_ITEMS_FROM_PERSONAL_STORAGE_IT_MAY_NOT_BE_HIDDEN_AUTOMATICALLY_MSG"
+msgstr "Жеке қоймадағы элементтерді қамтитын мазмұнды жасасаңыз, ол автоматты түрде жасырылмауы мүмкін. Жаңа мазмұнды көру кезінде таңдалған жеке мазмұн көрсетілуі мүмкін."
+
+msgid "IDS_HS_ACBUTTON_EDIT"
+msgstr "ӨЗГЕРТУ"
+
+msgid "IDS_MF_BUTTON_SETTINGS"
+msgstr "Параметрлер"
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "ӨҢДЕУ"
+
+msgid "IDS_CLOCK_HEADER_REORDER_ABB"
+msgstr "Қайта тапсырыс беру"
+
diff --git a/res/po/ko_KR.po b/res/po/ko_KR.po
new file mode 100644 (file)
index 0000000..b1d905d
--- /dev/null
@@ -0,0 +1,759 @@
+msgid "IDS_MF_POP_YOUR_DEVICE_IS_NOT_CONNECTED_TO_A_WI_FI_NETWORK_CONNECTING_TO_A_MOBILE_NETWORK_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "디바이스가 Wi-Fi 네트워크에 연결되지 않았습니다. 모바일 네트워크에 연결하면 요금제에 따라 추가요금이 부과될 수 있습니다."
+
+msgid "IDS_VIDEO_TPOP_MOBILE_DATA_TURNED_OFF_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_TURN_ON_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "[모바일 데이터]가 해제된 상태입니다. Wi-Fi 네트워크에 연결하거나, [모바일 데이터]를 실행한 후 다시 시도하세요."
+
+msgid "IDS_VIDEO_BODY_AFTER_YOU_RECORD_VIDEOS_USING_THE_CAMERA_THEY_WILL_BE_SHOWN_HERE"
+msgstr "카메라를 사용하여 동영상을 촬영하면 동영상이 여기에 표시됩니다."
+
+msgid "IDS_VIDEO_TPOP_FILE_NAME_ALREADY_IN_USE"
+msgstr "사용 중인 파일 이름입니다."
+
+msgid "IDS_MF_POP_DELETE_PD_ITEMS_Q"
+msgstr "%d개를 삭제할까요?"
+
+msgid "IDS_ST_HEADER_PRIVACY"
+msgstr "개인정보 보호"
+
+msgid "IDS_COM_BODY_SEP_ABB"
+msgstr "9월"
+
+msgid "IDS_COM_BODY_OCT_ABB"
+msgstr "10월"
+
+msgid "IDS_COM_BODY_NOV_ABB"
+msgstr "11월"
+
+msgid "IDS_COM_BODY_MAY_ABB"
+msgstr "5월"
+
+msgid "IDS_COM_BODY_MAR_ABB"
+msgstr "3월"
+
+msgid "IDS_COM_BODY_JUN_ABB"
+msgstr "6월"
+
+msgid "IDS_COM_BODY_JUL_ABB"
+msgstr "7월"
+
+msgid "IDS_COM_BODY_JAN_ABB"
+msgstr "1월"
+
+msgid "IDS_COM_BODY_FEB_ABB"
+msgstr "2월"
+
+msgid "IDS_COM_BODY_DEC_ABB"
+msgstr "12월"
+
+msgid "IDS_COM_BODY_AUG_ABB"
+msgstr "8월"
+
+msgid "IDS_COM_BODY_APR_ABB"
+msgstr "4월"
+
+msgid "IDS_GALLERY_HEADER_ALBUM"
+msgstr "앨범"
+
+msgid "IDS_MEDIABR_OPT_MORE"
+msgstr "더보기"
+
+msgid "IDS_MEDIABR_POP_INVALID_INPUT_PARAMETER"
+msgstr "입력값이 바르지 않습니다."
+
+msgid "IDS_MEDIABR_POP_ENTRY_IS_EMPTY"
+msgstr "입력된 내용이 없습니다."
+
+msgid "IDS_MEDIABR_POP_SAME_NAME_ALREADY_IN_USE"
+msgstr "사용 중인 이름입니다."
+
+msgid "IDS_MEDIABR_POP_UNABLE_TO_RENAME"
+msgstr "이름을 변경할 수 없습니다."
+
+msgid "IDS_MEDIABR_POP_NO_ALBUMS_SELECTED"
+msgstr "선택한 앨범이 없습니다."
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ITEM"
+msgstr "항목 선택"
+
+msgid "IDS_MEDIABR_BODY_NO_ALBUMS"
+msgstr "앨범이 없습니다"
+
+msgid "IDS_MEDIABR_POP_CREATE_FOLDER_Q"
+msgstr "새 폴더를 추가할까요?"
+
+msgid "IDS_MEDIABR_POP_RETRY_Q"
+msgstr "다시 시도할까요?"
+
+msgid "IDS_MEDIABR_POPUP_REMOVE_Q"
+msgstr "제거할까요?"
+
+msgid "IDS_MEDIABR_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "앨범 %d개를 삭제합니다."
+
+msgid "IDS_MEDIABR_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "앨범 1개를 삭제합니다."
+
+msgid "IDS_MEDIABR_BODY_CAMERA"
+msgstr "카메라"
+
+msgid "IDS_MEDIABR_BUTTON_START"
+msgstr "시작"
+
+msgid "IDS_MEDIABR_OPT_SETTINGS"
+msgstr "설정"
+
+msgid "IDS_MEDIABR_OPT_YES"
+msgstr "예"
+
+msgid "IDS_MEDIABR_OPT_NO"
+msgstr "아니요"
+
+msgid "IDS_MEDIABR_BUTTON_OK"
+msgstr "확인"
+
+msgid "IDS_MEDIABR_BUTTON_SAVE"
+msgstr "저장"
+
+msgid "IDS_MEDIABR_POP_DELETE_Q"
+msgstr "삭제할까요?"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_ALBUM"
+msgstr "앨범으로 이동"
+
+msgid "IDS_GALLERY_OPT_COPY_TO_ALBUM"
+msgstr "앨범에 복사"
+
+msgid "IDS_GALLERY_HEADER_VIEW_BY_ABB"
+msgstr "보기 방식"
+
+msgid "IDS_GALLERY_HEADER_ENTER_NAME"
+msgstr "이름 입력"
+
+msgid "IDS_MEDIABR_POP_ALL_DATA_RELATED_TO_THIS_ACCOUNT_WILL_BE_DELETED_CONTINUE_Q"
+msgstr "이 계정과 관련된 모든 데이터를 삭제합니다. 계속할까요?"
+
+msgid "IDS_MEDIABR_BUTTON_CANCEL_ABB"
+msgstr "취소"
+
+msgid "IDS_MEDIABR_TAB4_NEW_ALBUM"
+msgstr "새 앨범"
+
+msgid "IDS_MEDIABR_POP_DO_YOU_WANT_TO_COPY_OR_MOVE_THE_PICTURES_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "원래 앨범에서 사진을 복사하거나 이동할까요?"
+
+msgid "IDS_MEDIABR_OPT_SHARE"
+msgstr "공유"
+
+msgid "IDS_MEDIABR_OPT_SLIDESHOW"
+msgstr "슬라이드쇼"
+
+msgid "IDS_MEDIABR_OPT_START_SLIDESHOW"
+msgstr "슬라이드쇼 시작"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS"
+msgstr "슬라이드쇼 설정"
+
+msgid "IDS_MEDIABR_POP_NO_NAME"
+msgstr "이름이 없습니다"
+
+msgid "IDS_MEDIABR_BODY_ALL_ALBUMS"
+msgstr "모든 앨범"
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ALBUM"
+msgstr "앨범 선택"
+
+msgid "IDS_MEDIABR_POP_1_ITEM_WILL_BE_DELETED"
+msgstr "항목 1개를 삭제합니다."
+
+msgid "IDS_MEDIABR_OPT_ALL_ITEMS"
+msgstr "모든 항목"
+
+msgid "IDS_MEDIABR_BODY_PD_ITEMS"
+msgstr "%d개"
+
+msgid "IDS_IV_BODY_THERE_IS_ONLY_ONE_ALBUM"
+msgstr "앨범 1개가 있습니다."
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "%d개까지 선택할 수 있습니다."
+
+msgid "IDS_MF_BODY_DOWNLOADS"
+msgstr "다운로드"
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "삭제할까요?"
+
+msgid "IDS_MF_SK_MOVE"
+msgstr "이동"
+
+msgid "IDS_MF_POP_DELETING_ING"
+msgstr "삭제 중..."
+
+msgid "IDS_CAM_BODY_OPERATION_FAILED"
+msgstr "작업을 수행하지 못하였습니다."
+
+msgid "IDS_MSG_BODY_CANCELLED_M_CONTENT"
+msgstr "취소됨"
+
+msgid "IDS_MF_OPT_DELETE_SELECTED"
+msgstr "이 항목만"
+
+msgid "IDS_MF_POP_MOVED"
+msgstr "이동하였습니다."
+
+msgid "IDS_MF_POP_COPIED"
+msgstr "복사하였습니다."
+
+msgid "IDS_VPL_POP_NO_FILES_SELECTED"
+msgstr "선택한 파일이 없습니다."
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "닫기"
+
+msgid "IDS_MF_OPT_SORT_BY_ABB"
+msgstr "정렬 방식"
+
+msgid "IDS_CAM_POP_LATEST"
+msgstr "최신 위젯"
+
+msgid "IDS_MEDIABR_POP_OLDEST_M_DATE"
+msgstr "오래된 순"
+
+msgid "IDS_MSG_BUTTON2_CREATE"
+msgstr "추가"
+
+msgid "IDS_MEDIABR_POP_NO_ITEMS"
+msgstr "항목이 없습니다"
+
+msgid "IDS_MEDIABR_OPT_EDIT_IMAGE"
+msgstr "이미지 편집"
+
+msgid "IDS_MEDIABR_BODY_SELECT_PICTURE"
+msgstr "사진 선택"
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ITEM_Q"
+msgstr "이 항목을 삭제할까요?"
+
+msgid "IDS_GALLERY_OPT_SCENERY"
+msgstr "풍경"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PRIVATE"
+msgstr "프라이빗에서 제거"
+
+msgid "IDS_GALLERY_OPT_PETS"
+msgstr "애완동물"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_PRIVATE"
+msgstr "프라이빗으로 이동"
+
+msgid "IDS_GALLERY_OPT_FOOD"
+msgstr "음식"
+
+msgid "IDS_GALLERY_OPT_FLOWERS"
+msgstr "꽃"
+
+msgid "IDS_GALLERY_OPT_DOCUMENTS"
+msgstr "문서"
+
+msgid "IDS_GALLERY_MBODY_VEHICLES"
+msgstr "이동수단"
+
+msgid "IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED"
+msgstr "최대 글자 수(%d)에 도달하였습니다."
+
+msgid "IDS_IV_BODY_UNABLE_TO_LOAD_PHOTO_ABB"
+msgstr "사진을 불러올 수 없습니다."
+
+msgid "IDS_IV_BODY_SHARE_VIA"
+msgstr "공유"
+
+msgid "IDS_IV_BODY_DONT_ASK_AGAIN"
+msgstr "다시 묻지 않기"
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "최대 글자 수에 도달하였습니다."
+
+msgid "IDS_GALLERY_HEADER_TIME"
+msgstr "시간"
+
+msgid "IDS_EMAIL_BODY_FAILED_M_STATUS"
+msgstr "완료 안 됨"
+
+msgid "IDS_EMAIL_BODY_DELETED"
+msgstr "삭제하였습니다."
+
+msgid "IDS_EMAIL_POP_DELETE_Q"
+msgstr "삭제할까요?"
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "제거 중..."
+
+msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS"
+msgstr "항목 %d개 표시"
+
+msgid "IDS_GALLERY_OPT_CREATE_ALBUM"
+msgstr "앨범 추가"
+
+msgid "IDS_GALLERY_OPT_GALLERY_ABB"
+msgstr "갤러리"
+
+msgid "IDS_EMAIL_BUTTON_MORE"
+msgstr "더보기"
+
+msgid "IDS_EMAIL_OPT_ACCOUNTS"
+msgstr "계정"
+
+msgid "IDS_EMAIL_POP_OPERATION_FAILED"
+msgstr "작업을 수행하지 못하였습니다."
+
+msgid "IDS_GALLERY_BODY_DOWNLOAD"
+msgstr "다운로드"
+
+msgid "IDS_GALLERY_BODY_SEARCH"
+msgstr "검색"
+
+msgid "IDS_GALLERY_BUTTON_BACK"
+msgstr "뒤로가기"
+
+msgid "IDS_GALLERY_BUTTON_CAMERA"
+msgstr "카메라"
+
+msgid "IDS_GALLERY_HEADER_ALL"
+msgstr "전체"
+
+msgid "IDS_GALLERY_OPT_REFRESH"
+msgstr "새로고침"
+
+msgid "IDS_GALLERY_OPT_REMOVE"
+msgstr "제거"
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_DROPBOX_ITEMS_WILL_BE_SHOWN"
+msgstr "사진을 Dropbox에 업로드하면 사진이 표시됩니다."
+
+msgid "IDS_KEEPIT_BODY_GROUP_PLAY_ABB"
+msgstr "Group Play"
+
+msgid "IDS_MEDIABR_HEADER_CONTACTS"
+msgstr "연락처"
+
+msgid "IDS_MEDIABR_OPT_CREATE"
+msgstr "추가"
+
+msgid "IDS_MEDIABR_OPT_DETAILS"
+msgstr "상세정보"
+
+msgid "IDS_MEDIABR_OPT_PRINT"
+msgstr "인쇄"
+
+msgid "IDS_MEDIABR_OPT_RENAME"
+msgstr "이름 변경"
+
+msgid "IDS_MEDIABR_POP_DOWNLOADED"
+msgstr "다운로드하였습니다."
+
+msgid "IDS_MEDIABR_POP_DOWNLOADING_ING"
+msgstr "다운로드 중..."
+
+msgid "IDS_MF_HEADER_ENTER_NAME"
+msgstr "이름을 입력하세요."
+
+msgid "IDS_MF_HEADER_MYFILES"
+msgstr "내 파일"
+
+msgid "IDS_MF_POP_ADDED"
+msgstr "추가하였습니다."
+
+msgid "IDS_MF_POP_PROCESSING_ING"
+msgstr "진행 중..."
+
+msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
+msgstr "지원되지 않는 파일 형식입니다."
+
+msgid "IDS_IMGE_BODY_AFTER_YOU_TAKE_PICTURES_PICTURES_WILL_BE_SHOWN"
+msgstr "사진을 촬영하면 사진이 표시됩니다."
+
+msgid "IDS_IME_BODY_LANDSCAPE_MODE"
+msgstr "가로 모드"
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_CLOSE_DRAWER_MENU_TTS"
+msgstr "서랍 메뉴를 닫으려면 두 번 누르세요."
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_OPEN_DRAWER_MENU_TTS"
+msgstr "서랍 메뉴를 열려면 두 번 누르세요."
+
+msgid "IDS_EMAIL_BODY_DRAG_AND_DROP"
+msgstr "끌어다 놓기"
+
+msgid "IDS_EMAIL_OPT_DRAWER_ABB"
+msgstr "서랍 메뉴"
+
+msgid "IDS_EMAIL_POP_MOBILE_DATA_IS_DISABLED_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_ENABLE_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "[모바일 데이터]를 해제하였습니다. Wi-Fi 네트워크에 연결하거나 [모바일 데이터]를 실행한 후 다시 시도하세요."
+
+msgid "IDS_EMAIL_POP_WI_FI_CONNECTION_REQUIRED_CONNECT_TO_WI_FI_NETWORK_AND_TRY_AGAIN"
+msgstr "Wi-Fi 연결이 필요합니다. Wi-Fi 네트워크에 연결한 후 다시 시도하세요."
+
+msgid "IDS_GALLERY_HEADER_ADD_PICTURES_FROM_ABB"
+msgstr "사진 추가"
+
+msgid "IDS_GALLERY_HEADER_CONNECTED_DEVICES_ABB"
+msgstr "연결된 디바이스"
+
+msgid "IDS_GALLERY_OPT_PRIVATE_CONTENT"
+msgstr "프라이빗 컨텐츠"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PS"
+msgstr "%s에서 제거"
+
+msgid "IDS_GALLERY_OPT_REMOVE_NAME_TAG"
+msgstr "이름 태그 제거"
+
+msgid "IDS_GALLERY_POP_THERE_ARE_NO_EVENTS_TO_DISPLAY_CREATE_A_NEW_EVENT"
+msgstr "표시할 이벤트가 없습니다. 새 이벤트를 추가하세요."
+
+msgid "IDS_GALLERY_POP_TO_SCROLL_QUICKLY_TO_OTHER_DATES_TAP_AND_HOLD_THE_DATE_INDICATOR_AT_THE_TOP_RIGHT_OF_THE_SCREEN"
+msgstr "다른 날짜로 빠르게 이동하려면 화면 상단 오른쪽에 있는 날짜 표시막대를 길게 누르세요."
+
+msgid "IDS_GP_POP_REMOVE_PD_ITEMS_Q"
+msgstr "항목 %d개를 제거할까요?"
+
+msgid "IDS_GP_POP_REMOVE_THIS_ITEM_Q"
+msgstr "이 항목을 제거할까요?"
+
+msgid "IDS_HELP_BODY_GALLERY"
+msgstr "갤러리"
+
+msgid "IDS_HELP_OPT_SHUFFLED_PICTURES"
+msgstr "사진 자동 구성"
+
+msgid "IDS_IV_BODY_ADD_PICTURES"
+msgstr "사진 추가"
+
+msgid "IDS_IV_BODY_AFTER_YOU_TAG_PICTURES_AS_YOUR_FAVOURITES_PICTURES_WILL_BE_SHOWN"
+msgstr "즐겨찾는 사진으로 태그하면 여기에 표시됩니다."
+
+msgid "IDS_IV_BODY_REMOVE_FACE_IDENTIFICATION_Q"
+msgstr "얼굴 인식을 제거할까요?"
+
+msgid "IDS_IV_OPT_ASSIGN_NAME"
+msgstr "이름 지정"
+
+msgid "IDS_IV_OPT_CONFIRM_AS_PS"
+msgstr "%s 님으로 확인"
+
+msgid "IDS_IV_OPT_LAYOUT_M_PICTUERS"
+msgstr "사진 배치"
+
+msgid "IDS_IV_OPT_PD_PICTURES_ADDED"
+msgstr "추가된 사진 %d장"
+
+msgid "IDS_IV_POP_THE_ALBUM_WILL_BE_CANCELLED"
+msgstr "앨범 추가를 취소합니다."
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEM_ABB"
+msgstr "항목 삭제"
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEMS"
+msgstr "항목 삭제"
+
+msgid "IDS_MEDIABR_BODY_1_ITEM"
+msgstr "1개"
+
+msgid "IDS_MEDIABR_BODY_10_SECONDS"
+msgstr "10초"
+
+msgid "IDS_MEDIABR_BODY_5_SECONDS"
+msgstr "5초"
+
+msgid "IDS_MEDIABR_BODY_NOT_ASSIGNED"
+msgstr "지정 안 함"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL"
+msgstr "슬라이드쇼 간격"
+
+msgid "IDS_MEDIABR_BODY_UNTAGGED"
+msgstr "태그 없음"
+
+msgid "IDS_MEDIABR_OPT_3_SECONDS"
+msgstr "3초"
+
+msgid "IDS_MEDIABR_OPT_ALL_CONTENT"
+msgstr "모든 컨텐츠"
+
+msgid "IDS_MEDIABR_OPT_CONTENT_TO_DISPLAY"
+msgstr "표시할 컨텐츠"
+
+msgid "IDS_MEDIABR_OPT_DELETE_TAG"
+msgstr "태그 삭제"
+
+msgid "IDS_MEDIABR_OPT_DEVICE_CONTENT"
+msgstr "디바이스 컨텐츠"
+
+msgid "IDS_MEDIABR_OPT_DROPBOX_CONTENT"
+msgstr "Dropbox 컨텐츠"
+
+msgid "IDS_MEDIABR_OPT_FACEBOOK_CONTENT"
+msgstr "Facebook 컨텐츠"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_LEFT"
+msgstr "왼쪽으로 회전"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_RIGHT"
+msgstr "오른쪽으로 회전"
+
+msgid "IDS_MEDIABR_POP_IMPORT"
+msgstr "가져오기"
+
+msgid "IDS_MEDIABR_POP_IMPORTED"
+msgstr "가져오기를 완료하였습니다."
+
+msgid "IDS_MEDIABR_POP_IMPORTING_ING"
+msgstr "가져오는 중..."
+
+msgid "IDS_MEDIABR_POP_LOADING_ING"
+msgstr "불러오는 중..."
+
+msgid "IDS_MEDIABR_POP_NEARBY_DEVICES_FOUND"
+msgstr "주변 디바이스를 찾았습니다."
+
+msgid "IDS_MEDIABR_POP_NO_DEVICES_FOUND_SCANNING_FOR_NEARBY_DEVICES_WILL_CONTINUE_IN_BACKGROUND"
+msgstr "디바이스를 찾을 수 없습니다. 백그라운드에서 계속해서 주변 디바이스를 찾습니다."
+
+msgid "IDS_MEDIABR_POP_REFRESHED"
+msgstr "새로고침하였습니다."
+
+msgid "IDS_MEDIABR_POP_ROTATING_ING"
+msgstr "회전 중..."
+
+msgid "IDS_MEDIABR_POP_SCAN_STARTED_DEVICE_LIST_WILL_BE_UPDATED_AUTOMATICALLY"
+msgstr "찾는 중입니다. 디바이스 목록은 자동 업데이트합니다."
+
+msgid "IDS_MEDIABR_POP_STARTING_DOWNLOAD_ABB"
+msgstr "다운로드를 시작하는 중..."
+
+msgid "IDS_MF_OPT_COPY_TO"
+msgstr "복사 위치"
+
+msgid "IDS_MF_OPT_MOVE_TO"
+msgstr "이동 위치"
+
+msgid "IDS_MF_POP_FAILED_TO_ADD_SHORTCUT"
+msgstr "바로가기를 추가하지 못하였습니다."
+
+msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
+msgstr "저장공간이 부족합니다. 일부 항목을 삭제하세요."
+
+msgid "IDS_MF_POP_REMOVED"
+msgstr "제거하였습니다."
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "추가 중..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "앨범 %d개를 삭제할까요?"
+
+msgid "IDS_ST_BODY_PRIVATE_STORAGE"
+msgstr "개인 저장공간"
+
+msgid "IDS_IV_BODY_DRAG_HERE"
+msgstr "여기로 이동하세요."
+
+msgid "IDS_GALLERY_BODY_NEW_M_ALBUM_ABB"
+msgstr "New"
+
+msgid "IDS_GALLERY_HEADER_UNGROUPEDM_PEOPLE_ABB"
+msgstr "분류 안 됨"
+
+msgid "IDS_KEEPIT_OPT_SCREENSHOTS_ABB"
+msgstr "스크린샷"
+
+msgid "IDS_MEDIABR_OPT_PHOTOS"
+msgstr "사진"
+
+msgid "IDS_MEDIABR_POP_DOWNLOAD_FAILED"
+msgstr "다운로드하지 못하였습니다."
+
+msgid "IDS_MEDIABR_POP_UNSUPPORTED_FILE"
+msgstr "지원되지 않는 파일입니다."
+
+msgid "IDS_SEARCH_BODY_1_RESULT"
+msgstr "검색 결과 1개"
+
+msgid "IDS_SEARCH_BODY_PD_RESULTS"
+msgstr "검색 결과 %d개"
+
+msgid "IDS_TW_BODY_FAVORITES"
+msgstr "즐겨찾기"
+
+msgid "IDS_EMAIL_POP_DOWNLOAD_CANCELLED"
+msgstr "다운로드를 취소하였습니다."
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ALBUM_Q"
+msgstr "이 앨범을 삭제할까요?"
+
+msgid "IDS_CAM_HEADER_WARNING_ABB"
+msgstr "경고"
+
+msgid "IDS_ALM_OPT_SORT_BY"
+msgstr "정렬 방식"
+
+msgid "IDS_CLD_OPT_TODAY"
+msgstr "오늘"
+
+msgid "IDS_GALLERY_BODY_DATE"
+msgstr "날짜"
+
+msgid "IDS_EMAIL_BODY_NO_ITEMS_TO_DISPLAY"
+msgstr "표시할 항목이 없습니다."
+
+msgid "IDS_PBR_BODY_TAP_HERE_TO_TAKE_PICTURES_OR_VIDEOS"
+msgstr "사진 또는 동영상을 촬영하려면 여기를 누르세요."
+
+msgid "IDS_NFC_TPOP_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SHARED_HPD_EXCEEDED"
+msgstr "공유 가능한 최대 항목 수(%d)를 초과하였습니다."
+
+msgid "IDS_IV_BODY_TAP_TO_ADD_IMAGES"
+msgstr "이미지를 추가하려면 누르세요."
+
+msgid "IDS_GALLERY_POP_COPY_OR_MOVE_THE_SELECTED_ITEMS_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "원래 앨범에서 선택한 항목을 복사하거나 이동할까요?"
+
+msgid "IDS_GALLERY_HEADER_SELECT"
+msgstr "선택"
+
+msgid "IDS_VIDEO_POP_FILE_ALREADY_EXISTS"
+msgstr "동일한 파일이 있습니다."
+
+msgid "IDS_VIDEO_POP_THIS_ITEM_WILL_BE_DELETED"
+msgstr "항목을 삭제합니다."
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_FACEBOOK_ITEMS_WILL_BE_SHOWN"
+msgstr "사진을 Facebook에 업로드하면 사진이 표시됩니다."
+
+msgid "IDS_GALLERY_HEADER_SELECT_ALL_ABB"
+msgstr "모두 선택"
+
+msgid "IDS_GALLERY_HEADER_PD_SELECTED_ABB"
+msgstr "%d개 선택"
+
+msgid "IDS_GALLERY_OPT_VIEW_AS"
+msgstr "보기 방식"
+
+msgid "IDS_GALLERY_OPT_DATE_HMOST_RECENT_ABB2"
+msgstr "날짜(최근 순)"
+
+msgid "IDS_GALLERY_OPT_DATE_HOLDEST_ABB3"
+msgstr "날짜(오래된 순)"
+
+msgid "IDS_GALLERY_BODY_AFTER_YOU_TAKE_PICTURES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "사진을 촬영하면 사진이 여기에 표시됩니다."
+
+msgid "IDS_CLOUD_TPOP_CANCELLING_ING"
+msgstr "취소 중..."
+
+msgid "IDS_GALLERY_OPT_FROM_DEVICE_ABB"
+msgstr "디바이스"
+
+msgid "IDS_GALLERY_OPT_FROM_DROPBOX_ABB"
+msgstr "Dropbox"
+
+msgid "IDS_GALLERY_OPT_FROM_FACEBOOK_ABB"
+msgstr "Facebook"
+
+msgid "IDS_MUSIC_BODY_DOWNLOAD_COMPLETED"
+msgstr "다운로드를 완료하였습니다."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DELETED"
+msgstr "항목을 모두 삭제합니다."
+
+msgid "IDS_GALLERY_POP_1_ITEM_WILL_BE_DOWNLOADED"
+msgstr "항목 1개를 다운로드합니다."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "항목 %d개를 다운로드합니다."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "모든 항목을 다운로드합니다."
+
+msgid "IDS_GALLERY_TPOP_SELECTED_ALBUM_SAME_AS_SOURCE_ALBUM_SELECT_ANOTHER_ALBUM"
+msgstr "출처가 동일한 앨범을 선택하였습니다. 다른 앨범을 선택하세요."
+
+msgid "IDS_HS_NPBODY_TAP_HERE_TO_ADD_IMAGES"
+msgstr "이미지를 추가하려면 여기를 누르세요"
+
+msgid "IDS_MF_HEADER_UNABLE_TO_SAVE_DATA_ABB"
+msgstr "데이터를 저장할 수 없음"
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_IN_YOUR_DEVICE_STORAGE_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "디바이스에 저장공간이 부족합니다. [설정] > [전원 및 저장공간] > [저장공간]에서 일부 파일을 삭제한 후 다시 시도하세요."
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_YOUR_SD_CARD_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "SD 카드에 저장공간이 부족합니다. [설정] > [전원 및 저장공간] > [저장공간]에서 일부 파일을 삭제한 후 다시 시도하세요."
+
+msgid "IDS_MF_BUTTON_CANCEL_ABB3"
+msgstr "취소"
+
+msgid "IDS_MF_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "다시 보지 않기"
+
+msgid "IDS_MF_POP_USING_MOBILE_DATA_WHILE_ROAMING_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "로밍 중에 모바일 데이터를 사용하면 데이터 요금제에 따라 추가요금이 부과될 수 있습니다."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DELETED_ABB"
+msgstr "항목 %d개를 삭제합니다."
+
+msgid "IDS_GALLERY_OPT_DELETE"
+msgstr "삭제"
+
+msgid "IDS_GALLERY_BODY_YESTERDAY"
+msgstr "어제"
+
+msgid "IDS_BR_MBODY_DOWNLOADS"
+msgstr "다운로드"
+
+msgid "IDS_GALLERY_HEADER_COPY"
+msgstr "복사"
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "삭제"
+
+msgid "IDS_GALLERY_BUTTON_ALBUMS"
+msgstr "앨범"
+
+msgid "IDS_GALLERY_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_HPD_HAS_BEEN_EXCEEDED"
+msgstr "최대 항목 수(%d)를 초과하였습니다."
+
+msgid "IDS_GALLERY_BUTTON_CANCEL"
+msgstr "취소"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "완료"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "취소"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "삭제"
+
+msgid "IDS_GALLERY_POP_COPYING_ING"
+msgstr "복사 중..."
+
+msgid "IDS_GALLERY_POP_MOVING_ING"
+msgstr "이동 중..."
+
+msgid "IDS_STORYALBUM_POP_IF_YOU_CREATE_CONTENT_THAT_INCLUDES_ITEMS_FROM_PERSONAL_STORAGE_IT_MAY_NOT_BE_HIDDEN_AUTOMATICALLY_MSG"
+msgstr "퍼스널 저장공간의 항목이 포함된 컨텐츠를 추가하면, 추가한 컨텐츠는 자동으로 숨겨지지 않습니다. 새로 만든 컨텐츠를 볼 때 그 속에 포함된 개인 컨텐츠가 함께 표시될 수 있습니다."
+
+msgid "IDS_HS_ACBUTTON_EDIT"
+msgstr "편집"
+
+msgid "IDS_MF_BUTTON_SETTINGS"
+msgstr "설정"
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "편집"
+
+msgid "IDS_CLOCK_HEADER_REORDER_ABB"
+msgstr "순서 변경"
+
diff --git a/res/po/lt.po b/res/po/lt.po
new file mode 100644 (file)
index 0000000..d96c1f0
--- /dev/null
@@ -0,0 +1,759 @@
+msgid "IDS_MF_POP_YOUR_DEVICE_IS_NOT_CONNECTED_TO_A_WI_FI_NETWORK_CONNECTING_TO_A_MOBILE_NETWORK_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "Jūsų įrenginys neprijungtas prie „Wi-Fi“ tinklo. Prisijungus prie mobiliojo tinklo gali būti taikomi papildomi mokesčiai – tai priklauso nuo mokėjimo plano."
+
+msgid "IDS_VIDEO_TPOP_MOBILE_DATA_TURNED_OFF_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_TURN_ON_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Mobilieji duomenys išjungti. Vietoj to prisijunkite prie „Wi-Fi“ tinklo arba įjunkite mobiliuosius duomenis ir bandykite dar kartą."
+
+msgid "IDS_VIDEO_BODY_AFTER_YOU_RECORD_VIDEOS_USING_THE_CAMERA_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Kai fotoaparatu įrašysite vaizdo įrašų, jie bus rodomi čia."
+
+msgid "IDS_VIDEO_TPOP_FILE_NAME_ALREADY_IN_USE"
+msgstr "Failo pavadinimas jau naudojamas"
+
+msgid "IDS_MF_POP_DELETE_PD_ITEMS_Q"
+msgstr "Ištrinti %d elementus?"
+
+msgid "IDS_ST_HEADER_PRIVACY"
+msgstr "Privatumas"
+
+msgid "IDS_COM_BODY_SEP_ABB"
+msgstr "Rug."
+
+msgid "IDS_COM_BODY_OCT_ABB"
+msgstr "Spa."
+
+msgid "IDS_COM_BODY_NOV_ABB"
+msgstr "Lap."
+
+msgid "IDS_COM_BODY_MAY_ABB"
+msgstr "Geg."
+
+msgid "IDS_COM_BODY_MAR_ABB"
+msgstr "Kov."
+
+msgid "IDS_COM_BODY_JUN_ABB"
+msgstr "Bir."
+
+msgid "IDS_COM_BODY_JUL_ABB"
+msgstr "Lie."
+
+msgid "IDS_COM_BODY_JAN_ABB"
+msgstr "Sau."
+
+msgid "IDS_COM_BODY_FEB_ABB"
+msgstr "Vas."
+
+msgid "IDS_COM_BODY_DEC_ABB"
+msgstr "Gru."
+
+msgid "IDS_COM_BODY_AUG_ABB"
+msgstr "Rgp."
+
+msgid "IDS_COM_BODY_APR_ABB"
+msgstr "Bal."
+
+msgid "IDS_GALLERY_HEADER_ALBUM"
+msgstr "Albumas"
+
+msgid "IDS_MEDIABR_OPT_MORE"
+msgstr "Daugiau"
+
+msgid "IDS_MEDIABR_POP_INVALID_INPUT_PARAMETER"
+msgstr "Netinkami įvestų duomenų nustatymai."
+
+msgid "IDS_MEDIABR_POP_ENTRY_IS_EMPTY"
+msgstr "Įrašas tuščias."
+
+msgid "IDS_MEDIABR_POP_SAME_NAME_ALREADY_IN_USE"
+msgstr "Toks pavadinimas jau yra."
+
+msgid "IDS_MEDIABR_POP_UNABLE_TO_RENAME"
+msgstr "Neįmanoma pervardinti."
+
+msgid "IDS_MEDIABR_POP_NO_ALBUMS_SELECTED"
+msgstr "Nėra pasirinktų albumų."
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ITEM"
+msgstr "Pasirinkti elementą"
+
+msgid "IDS_MEDIABR_BODY_NO_ALBUMS"
+msgstr "Albumų nėra"
+
+msgid "IDS_MEDIABR_POP_CREATE_FOLDER_Q"
+msgstr "Ar kurti aplanką?"
+
+msgid "IDS_MEDIABR_POP_RETRY_Q"
+msgstr "Bandyti dar kartą?"
+
+msgid "IDS_MEDIABR_POPUP_REMOVE_Q"
+msgstr "Ar šalinti?"
+
+msgid "IDS_MEDIABR_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "Bus ištrinta albumų: %d."
+
+msgid "IDS_MEDIABR_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "1 albumas bus ištrintas."
+
+msgid "IDS_MEDIABR_BODY_CAMERA"
+msgstr "Fotoapar."
+
+msgid "IDS_MEDIABR_BUTTON_START"
+msgstr "Paleisti"
+
+msgid "IDS_MEDIABR_OPT_SETTINGS"
+msgstr "Nustatymai"
+
+msgid "IDS_MEDIABR_OPT_YES"
+msgstr "Taip"
+
+msgid "IDS_MEDIABR_OPT_NO"
+msgstr "Ne"
+
+msgid "IDS_MEDIABR_BUTTON_OK"
+msgstr "Gerai"
+
+msgid "IDS_MEDIABR_BUTTON_SAVE"
+msgstr "Išsaugoti"
+
+msgid "IDS_MEDIABR_POP_DELETE_Q"
+msgstr "Ar trinti?"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_ALBUM"
+msgstr "Perkelti į albumą"
+
+msgid "IDS_GALLERY_OPT_COPY_TO_ALBUM"
+msgstr "Kopijuoti į albumą"
+
+msgid "IDS_GALLERY_HEADER_VIEW_BY_ABB"
+msgstr "Peržiūrėti pagal"
+
+msgid "IDS_GALLERY_HEADER_ENTER_NAME"
+msgstr "Įvesti pavadinimą"
+
+msgid "IDS_MEDIABR_POP_ALL_DATA_RELATED_TO_THIS_ACCOUNT_WILL_BE_DELETED_CONTINUE_Q"
+msgstr "Bus ištrinti visi su šia paskyra susiję duomenys. Tęsti?"
+
+msgid "IDS_MEDIABR_BUTTON_CANCEL_ABB"
+msgstr "Atšaukti"
+
+msgid "IDS_MEDIABR_TAB4_NEW_ALBUM"
+msgstr "Naujas albumas"
+
+msgid "IDS_MEDIABR_POP_DO_YOU_WANT_TO_COPY_OR_MOVE_THE_PICTURES_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Ar norite kopijuoti arba pašalinti nuotraukas iš pradinio albumo?"
+
+msgid "IDS_MEDIABR_OPT_SHARE"
+msgstr "Dalytis"
+
+msgid "IDS_MEDIABR_OPT_SLIDESHOW"
+msgstr "Skaidrių rodymas"
+
+msgid "IDS_MEDIABR_OPT_START_SLIDESHOW"
+msgstr "Pradėti skaidrių rodymą"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS"
+msgstr "Skaidrių rodymo nustatymai"
+
+msgid "IDS_MEDIABR_POP_NO_NAME"
+msgstr "Nėra vardo"
+
+msgid "IDS_MEDIABR_BODY_ALL_ALBUMS"
+msgstr "Visi albumai"
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ALBUM"
+msgstr "Pasirinkti albumą"
+
+msgid "IDS_MEDIABR_POP_1_ITEM_WILL_BE_DELETED"
+msgstr "1 elementas bus ištrintas."
+
+msgid "IDS_MEDIABR_OPT_ALL_ITEMS"
+msgstr "Visi elementai"
+
+msgid "IDS_MEDIABR_BODY_PD_ITEMS"
+msgstr "%d element."
+
+msgid "IDS_IV_BODY_THERE_IS_ONLY_ONE_ALBUM"
+msgstr "Yra tik vienas albumas."
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "Galite pasirinkti iki %d elementų."
+
+msgid "IDS_MF_BODY_DOWNLOADS"
+msgstr "Atsisiųsti elem."
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Ar trinti?"
+
+msgid "IDS_MF_SK_MOVE"
+msgstr "Perkelti"
+
+msgid "IDS_MF_POP_DELETING_ING"
+msgstr "Trinama..."
+
+msgid "IDS_CAM_BODY_OPERATION_FAILED"
+msgstr "Veiksmas nepavyko."
+
+msgid "IDS_MSG_BODY_CANCELLED_M_CONTENT"
+msgstr "Atšaukta"
+
+msgid "IDS_MF_OPT_DELETE_SELECTED"
+msgstr "Pasirinkta"
+
+msgid "IDS_MF_POP_MOVED"
+msgstr "Perkelta."
+
+msgid "IDS_MF_POP_COPIED"
+msgstr "Nukopijuota."
+
+msgid "IDS_VPL_POP_NO_FILES_SELECTED"
+msgstr "Nepasirinktas joks failas."
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Uždaryti"
+
+msgid "IDS_MF_OPT_SORT_BY_ABB"
+msgstr "Rūšiuoti pagal"
+
+msgid "IDS_CAM_POP_LATEST"
+msgstr "Paskutinis"
+
+msgid "IDS_MEDIABR_POP_OLDEST_M_DATE"
+msgstr "Seniausios"
+
+msgid "IDS_MSG_BUTTON2_CREATE"
+msgstr "Kurti"
+
+msgid "IDS_MEDIABR_POP_NO_ITEMS"
+msgstr "Elementų nėra"
+
+msgid "IDS_MEDIABR_OPT_EDIT_IMAGE"
+msgstr "Redaguoti atvaizdą"
+
+msgid "IDS_MEDIABR_BODY_SELECT_PICTURE"
+msgstr "Pasirinkti paveikslėlį"
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ITEM_Q"
+msgstr "Trinti šį elementą?"
+
+msgid "IDS_GALLERY_OPT_SCENERY"
+msgstr "Peizažas"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PRIVATE"
+msgstr "Pašalinti iš privataus"
+
+msgid "IDS_GALLERY_OPT_PETS"
+msgstr "Augintiniai"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_PRIVATE"
+msgstr "Perkelti į asmeninį"
+
+msgid "IDS_GALLERY_OPT_FOOD"
+msgstr "Maistas"
+
+msgid "IDS_GALLERY_OPT_FLOWERS"
+msgstr "Gėlės"
+
+msgid "IDS_GALLERY_OPT_DOCUMENTS"
+msgstr "Dokumentai"
+
+msgid "IDS_GALLERY_MBODY_VEHICLES"
+msgstr "Transporto priemonės"
+
+msgid "IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED"
+msgstr "Pasiektas didžiausias simbolių skaičius (%d)."
+
+msgid "IDS_IV_BODY_UNABLE_TO_LOAD_PHOTO_ABB"
+msgstr "Neįmanoma įkelti nuotraukos."
+
+msgid "IDS_IV_BODY_SHARE_VIA"
+msgstr "Bendrinti per"
+
+msgid "IDS_IV_BODY_DONT_ASK_AGAIN"
+msgstr "Daugiau neklausti"
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Pasiektas didžiausias simbolių skaičius."
+
+msgid "IDS_GALLERY_HEADER_TIME"
+msgstr "Laikas"
+
+msgid "IDS_EMAIL_BODY_FAILED_M_STATUS"
+msgstr "Nepavyko"
+
+msgid "IDS_EMAIL_BODY_DELETED"
+msgstr "Ištrinta."
+
+msgid "IDS_EMAIL_POP_DELETE_Q"
+msgstr "Ar trinti?"
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Šalinama..."
+
+msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS"
+msgstr "Rodoma elementų: %d"
+
+msgid "IDS_GALLERY_OPT_CREATE_ALBUM"
+msgstr "Kurti albumą"
+
+msgid "IDS_GALLERY_OPT_GALLERY_ABB"
+msgstr "Galerija"
+
+msgid "IDS_EMAIL_BUTTON_MORE"
+msgstr "Daug."
+
+msgid "IDS_EMAIL_OPT_ACCOUNTS"
+msgstr "Paskyros"
+
+msgid "IDS_EMAIL_POP_OPERATION_FAILED"
+msgstr "Veiksmas nepavyko."
+
+msgid "IDS_GALLERY_BODY_DOWNLOAD"
+msgstr "Atsisiųsti"
+
+msgid "IDS_GALLERY_BODY_SEARCH"
+msgstr "Ieškoti"
+
+msgid "IDS_GALLERY_BUTTON_BACK"
+msgstr "Atgal"
+
+msgid "IDS_GALLERY_BUTTON_CAMERA"
+msgstr "Fotoaparatas"
+
+msgid "IDS_GALLERY_HEADER_ALL"
+msgstr "Visos"
+
+msgid "IDS_GALLERY_OPT_REFRESH"
+msgstr "Atnaujinti"
+
+msgid "IDS_GALLERY_OPT_REMOVE"
+msgstr "Šalinti"
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_DROPBOX_ITEMS_WILL_BE_SHOWN"
+msgstr "Įkėlus nuotraukas į „Dropbox“, bus rodomi elementai."
+
+msgid "IDS_KEEPIT_BODY_GROUP_PLAY_ABB"
+msgstr "Group Play"
+
+msgid "IDS_MEDIABR_HEADER_CONTACTS"
+msgstr "Adresatai"
+
+msgid "IDS_MEDIABR_OPT_CREATE"
+msgstr "Kurti"
+
+msgid "IDS_MEDIABR_OPT_DETAILS"
+msgstr "Išsami informacija"
+
+msgid "IDS_MEDIABR_OPT_PRINT"
+msgstr "Spausdinti"
+
+msgid "IDS_MEDIABR_OPT_RENAME"
+msgstr "Pervardyti"
+
+msgid "IDS_MEDIABR_POP_DOWNLOADED"
+msgstr "Atsisiųsta."
+
+msgid "IDS_MEDIABR_POP_DOWNLOADING_ING"
+msgstr "Atsisiunčiama..."
+
+msgid "IDS_MF_HEADER_ENTER_NAME"
+msgstr "Įvesti vardą."
+
+msgid "IDS_MF_HEADER_MYFILES"
+msgstr "Mano failai"
+
+msgid "IDS_MF_POP_ADDED"
+msgstr "Pridėta."
+
+msgid "IDS_MF_POP_PROCESSING_ING"
+msgstr "Apdorojama..."
+
+msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
+msgstr "Nepalaikomas failo tipas."
+
+msgid "IDS_IMGE_BODY_AFTER_YOU_TAKE_PICTURES_PICTURES_WILL_BE_SHOWN"
+msgstr "Padarytos nuotraukos bus rodomos."
+
+msgid "IDS_IME_BODY_LANDSCAPE_MODE"
+msgstr "Kraštovaizdžio režimas"
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_CLOSE_DRAWER_MENU_TTS"
+msgstr "Bakstelėkite dukart, kad uždarytumėte stalčiaus meniu."
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_OPEN_DRAWER_MENU_TTS"
+msgstr "Bakstelėkite dukart, kad atidarytumėte stalčiaus meniu."
+
+msgid "IDS_EMAIL_BODY_DRAG_AND_DROP"
+msgstr "Vilkti"
+
+msgid "IDS_EMAIL_OPT_DRAWER_ABB"
+msgstr "Stalčius"
+
+msgid "IDS_EMAIL_POP_MOBILE_DATA_IS_DISABLED_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_ENABLE_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Mobiliojo telefono duomenys išjungti. Vietoj to prisijunkite prie „Wi-Fi“ tinklo arba įjunkite mobiliojo telefono duomenis ir pabandykite dar kartą"
+
+msgid "IDS_EMAIL_POP_WI_FI_CONNECTION_REQUIRED_CONNECT_TO_WI_FI_NETWORK_AND_TRY_AGAIN"
+msgstr "Reikia „Wi-Fi“ ryšio. Prisijunkite prie „ Wi-Fi“ ryšio ir pabandykite dar kartą"
+
+msgid "IDS_GALLERY_HEADER_ADD_PICTURES_FROM_ABB"
+msgstr "Pridėti nuotraukų iš"
+
+msgid "IDS_GALLERY_HEADER_CONNECTED_DEVICES_ABB"
+msgstr "Prijungti įrenginiai"
+
+msgid "IDS_GALLERY_OPT_PRIVATE_CONTENT"
+msgstr "Asmeninis turinys"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PS"
+msgstr "Pašalinti iš %s"
+
+msgid "IDS_GALLERY_OPT_REMOVE_NAME_TAG"
+msgstr "Pašalinti vardo žymą"
+
+msgid "IDS_GALLERY_POP_THERE_ARE_NO_EVENTS_TO_DISPLAY_CREATE_A_NEW_EVENT"
+msgstr "Nėra rodytinų įvykių. Sukurkite naują įvykį."
+
+msgid "IDS_GALLERY_POP_TO_SCROLL_QUICKLY_TO_OTHER_DATES_TAP_AND_HOLD_THE_DATE_INDICATOR_AT_THE_TOP_RIGHT_OF_THE_SCREEN"
+msgstr "Jei norite greitai pereiti prie kitų datų, ekrano viršutinėje dešiniojoje pusėje bakstelėkite ir palaikykite datos indikatorių."
+
+msgid "IDS_GP_POP_REMOVE_PD_ITEMS_Q"
+msgstr "Šalinti %d elementus (-ų)?"
+
+msgid "IDS_GP_POP_REMOVE_THIS_ITEM_Q"
+msgstr "Pašalinti šį elementą?"
+
+msgid "IDS_HELP_BODY_GALLERY"
+msgstr "Galerija"
+
+msgid "IDS_HELP_OPT_SHUFFLED_PICTURES"
+msgstr "Sumaišytos nuotraukos"
+
+msgid "IDS_IV_BODY_ADD_PICTURES"
+msgstr "Pridėti paveikslėlių"
+
+msgid "IDS_IV_BODY_AFTER_YOU_TAG_PICTURES_AS_YOUR_FAVOURITES_PICTURES_WILL_BE_SHOWN"
+msgstr "Pažymėjus jums patinkančias nuotraukas, bus rodomos nuotraukos."
+
+msgid "IDS_IV_BODY_REMOVE_FACE_IDENTIFICATION_Q"
+msgstr "Pašalinti veidų tapatybės nustatymą?"
+
+msgid "IDS_IV_OPT_ASSIGN_NAME"
+msgstr "Priskirti vardą"
+
+msgid "IDS_IV_OPT_CONFIRM_AS_PS"
+msgstr "Patvirtinti kaip %s"
+
+msgid "IDS_IV_OPT_LAYOUT_M_PICTUERS"
+msgstr "Išdėstymas"
+
+msgid "IDS_IV_OPT_PD_PICTURES_ADDED"
+msgstr "Pridėta nuotraukų: %d"
+
+msgid "IDS_IV_POP_THE_ALBUM_WILL_BE_CANCELLED"
+msgstr "Albumas bus atšauktas."
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEM_ABB"
+msgstr "Ištrinti elementą"
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEMS"
+msgstr "Trinti elementus"
+
+msgid "IDS_MEDIABR_BODY_1_ITEM"
+msgstr "1 elementas"
+
+msgid "IDS_MEDIABR_BODY_10_SECONDS"
+msgstr "10 sekundžių"
+
+msgid "IDS_MEDIABR_BODY_5_SECONDS"
+msgstr "5 sekundės"
+
+msgid "IDS_MEDIABR_BODY_NOT_ASSIGNED"
+msgstr "Nepriskirti"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL"
+msgstr "Skaidrių rodymo intervalas"
+
+msgid "IDS_MEDIABR_BODY_UNTAGGED"
+msgstr "Nepažymėta"
+
+msgid "IDS_MEDIABR_OPT_3_SECONDS"
+msgstr "3 sekundės"
+
+msgid "IDS_MEDIABR_OPT_ALL_CONTENT"
+msgstr "Visas turinys"
+
+msgid "IDS_MEDIABR_OPT_CONTENT_TO_DISPLAY"
+msgstr "Rodytinas turinys"
+
+msgid "IDS_MEDIABR_OPT_DELETE_TAG"
+msgstr "Ištrinti žymę"
+
+msgid "IDS_MEDIABR_OPT_DEVICE_CONTENT"
+msgstr "Įrenginio turinys"
+
+msgid "IDS_MEDIABR_OPT_DROPBOX_CONTENT"
+msgstr "„Dropbox“ turinys"
+
+msgid "IDS_MEDIABR_OPT_FACEBOOK_CONTENT"
+msgstr "„Facebook“ turinys"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_LEFT"
+msgstr "Sukti į kairę"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_RIGHT"
+msgstr "Sukti į dešinę"
+
+msgid "IDS_MEDIABR_POP_IMPORT"
+msgstr "Importuoti"
+
+msgid "IDS_MEDIABR_POP_IMPORTED"
+msgstr "Importuotieji."
+
+msgid "IDS_MEDIABR_POP_IMPORTING_ING"
+msgstr "Importuojama..."
+
+msgid "IDS_MEDIABR_POP_LOADING_ING"
+msgstr "Įkeliama..."
+
+msgid "IDS_MEDIABR_POP_NEARBY_DEVICES_FOUND"
+msgstr "Aptikti netoliese esantys įrenginiai."
+
+msgid "IDS_MEDIABR_POP_NO_DEVICES_FOUND_SCANNING_FOR_NEARBY_DEVICES_WILL_CONTINUE_IN_BACKGROUND"
+msgstr "Įrenginių nerasta. Netoliese esančių įrenginių paieška bus tęsiama fone."
+
+msgid "IDS_MEDIABR_POP_REFRESHED"
+msgstr "Atnaujinta."
+
+msgid "IDS_MEDIABR_POP_ROTATING_ING"
+msgstr "Sukama..."
+
+msgid "IDS_MEDIABR_POP_SCAN_STARTED_DEVICE_LIST_WILL_BE_UPDATED_AUTOMATICALLY"
+msgstr "Paieška pradėta. Įrenginių sąrašas bus atnaujintas automatiškai."
+
+msgid "IDS_MEDIABR_POP_STARTING_DOWNLOAD_ABB"
+msgstr "Pradeda siųsti..."
+
+msgid "IDS_MF_OPT_COPY_TO"
+msgstr "Kopijuoti į"
+
+msgid "IDS_MF_OPT_MOVE_TO"
+msgstr "Perkelti į"
+
+msgid "IDS_MF_POP_FAILED_TO_ADD_SHORTCUT"
+msgstr "Nepavyko pridėti trumpinio."
+
+msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
+msgstr "Nepakanka atminties. Ištrinkite kai kuriuos elementus"
+
+msgid "IDS_MF_POP_REMOVED"
+msgstr "Pašalinta."
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Pridedama..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "Trinti %d albumus (-ų)?"
+
+msgid "IDS_ST_BODY_PRIVATE_STORAGE"
+msgstr "Privati saugykla"
+
+msgid "IDS_IV_BODY_DRAG_HERE"
+msgstr "Vilkti čia."
+
+msgid "IDS_GALLERY_BODY_NEW_M_ALBUM_ABB"
+msgstr "Nauja"
+
+msgid "IDS_GALLERY_HEADER_UNGROUPEDM_PEOPLE_ABB"
+msgstr "Išgrupuota"
+
+msgid "IDS_KEEPIT_OPT_SCREENSHOTS_ABB"
+msgstr "Ekrano nuotraukos"
+
+msgid "IDS_MEDIABR_OPT_PHOTOS"
+msgstr "Nuotraukos"
+
+msgid "IDS_MEDIABR_POP_DOWNLOAD_FAILED"
+msgstr "Atsisiųsti nepavyko."
+
+msgid "IDS_MEDIABR_POP_UNSUPPORTED_FILE"
+msgstr "Nepalaikomas failas."
+
+msgid "IDS_SEARCH_BODY_1_RESULT"
+msgstr "1 rezultatas"
+
+msgid "IDS_SEARCH_BODY_PD_RESULTS"
+msgstr "%d rezultatai (-ų)"
+
+msgid "IDS_TW_BODY_FAVORITES"
+msgstr "Parankiniai"
+
+msgid "IDS_EMAIL_POP_DOWNLOAD_CANCELLED"
+msgstr "Atsisiuntimas atšauktas."
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ALBUM_Q"
+msgstr "Trinti šį albumą?"
+
+msgid "IDS_CAM_HEADER_WARNING_ABB"
+msgstr "Įspėjimas"
+
+msgid "IDS_ALM_OPT_SORT_BY"
+msgstr "Rūšiuoti pagal"
+
+msgid "IDS_CLD_OPT_TODAY"
+msgstr "Šiandien"
+
+msgid "IDS_GALLERY_BODY_DATE"
+msgstr "Data"
+
+msgid "IDS_EMAIL_BODY_NO_ITEMS_TO_DISPLAY"
+msgstr "Nėra rodytinų elementų."
+
+msgid "IDS_PBR_BODY_TAP_HERE_TO_TAKE_PICTURES_OR_VIDEOS"
+msgstr "Bakstelėkite čia ir fotografuokite arba įrašykite vaizdus."
+
+msgid "IDS_NFC_TPOP_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SHARED_HPD_EXCEEDED"
+msgstr "Viršytas didžiausias bendrintinų elementų skaičius (%d)."
+
+msgid "IDS_IV_BODY_TAP_TO_ADD_IMAGES"
+msgstr "Bakstelėkite ir pridėkite vaizdų."
+
+msgid "IDS_GALLERY_POP_COPY_OR_MOVE_THE_SELECTED_ITEMS_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Kopijuoti arba perkelti pasirinktus elementus iš pradinio albumo?"
+
+msgid "IDS_GALLERY_HEADER_SELECT"
+msgstr "Pasirinkti"
+
+msgid "IDS_VIDEO_POP_FILE_ALREADY_EXISTS"
+msgstr "Failas jau yra."
+
+msgid "IDS_VIDEO_POP_THIS_ITEM_WILL_BE_DELETED"
+msgstr "Šis elementas bus ištrintas."
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_FACEBOOK_ITEMS_WILL_BE_SHOWN"
+msgstr "Kai įkelsite nuotraukų į „Facebook“, bus rodomi elementai."
+
+msgid "IDS_GALLERY_HEADER_SELECT_ALL_ABB"
+msgstr "Pasirinkti viską"
+
+msgid "IDS_GALLERY_HEADER_PD_SELECTED_ABB"
+msgstr "Pasirinkta: %d"
+
+msgid "IDS_GALLERY_OPT_VIEW_AS"
+msgstr "Peržiūrėti kaip"
+
+msgid "IDS_GALLERY_OPT_DATE_HMOST_RECENT_ABB2"
+msgstr "Data (naujausi)"
+
+msgid "IDS_GALLERY_OPT_DATE_HOLDEST_ABB3"
+msgstr "Data (seniausi)"
+
+msgid "IDS_GALLERY_BODY_AFTER_YOU_TAKE_PICTURES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Užfiksavus nuotraukas jos bus rodomos čia."
+
+msgid "IDS_CLOUD_TPOP_CANCELLING_ING"
+msgstr "Atšaukiama..."
+
+msgid "IDS_GALLERY_OPT_FROM_DEVICE_ABB"
+msgstr "Iš įrenginio"
+
+msgid "IDS_GALLERY_OPT_FROM_DROPBOX_ABB"
+msgstr "Iš „Dropbox“"
+
+msgid "IDS_GALLERY_OPT_FROM_FACEBOOK_ABB"
+msgstr "Iš „Facebook“"
+
+msgid "IDS_MUSIC_BODY_DOWNLOAD_COMPLETED"
+msgstr "Atsisiųsta."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DELETED"
+msgstr "Bus ištrinti visi elementai."
+
+msgid "IDS_GALLERY_POP_1_ITEM_WILL_BE_DOWNLOADED"
+msgstr "Bus atsiųstas 1 elementas."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "Bus atsiųsta elementų: %d."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "Bus atsiųsti visi elementai."
+
+msgid "IDS_GALLERY_TPOP_SELECTED_ALBUM_SAME_AS_SOURCE_ALBUM_SELECT_ANOTHER_ALBUM"
+msgstr "Pasirinktas albumas toks pat kaip šaltinio albumas. Pasirinkite kitą albumą."
+
+msgid "IDS_HS_NPBODY_TAP_HERE_TO_ADD_IMAGES"
+msgstr "Bakstelėkite čia ir pridėkite vaizdų"
+
+msgid "IDS_MF_HEADER_UNABLE_TO_SAVE_DATA_ABB"
+msgstr "Negalima išsaug. duomenų"
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_IN_YOUR_DEVICE_STORAGE_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "Įrenginio atmintyje nepakanka vietos. Eikite į skirtuką Nustatymai > Maitinimas ir saugykla > Saugykla, tada ištrinkite kelis failus ir bandykite dar kartą."
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_YOUR_SD_CARD_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "Jūsų SD kortelėje nepakanka vietos. Eikite į skirtuką Nustatymai > Maitinimas ir saugykla > Saugykla, tada ištrinkite kelis failus ir bandykite dar kartą."
+
+msgid "IDS_MF_BUTTON_CANCEL_ABB3"
+msgstr "Atšaukti"
+
+msgid "IDS_MF_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Neberodyti"
+
+msgid "IDS_MF_POP_USING_MOBILE_DATA_WHILE_ROAMING_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "Naudojant mobiliuosius duomenis tarptinkliniu ryšiu gali būti taikomi papildomi mokesčiai – tai priklauso nuo mokėjimo plano."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DELETED_ABB"
+msgstr "Bus ištrinta elementų: %d."
+
+msgid "IDS_GALLERY_OPT_DELETE"
+msgstr "Trinti"
+
+msgid "IDS_GALLERY_BODY_YESTERDAY"
+msgstr "Vakar"
+
+msgid "IDS_BR_MBODY_DOWNLOADS"
+msgstr "Atsisiuntimai"
+
+msgid "IDS_GALLERY_HEADER_COPY"
+msgstr "Kopijuoti"
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Trinti"
+
+msgid "IDS_GALLERY_BUTTON_ALBUMS"
+msgstr "Albumai"
+
+msgid "IDS_GALLERY_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Viršytas didžiausias elementų skaičius (%d)."
+
+msgid "IDS_GALLERY_BUTTON_CANCEL"
+msgstr "Atšaukti"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "ATLIKTA"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ATŠAUKTI"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "IŠTRINTI"
+
+msgid "IDS_GALLERY_POP_COPYING_ING"
+msgstr "Kopijuojama..."
+
+msgid "IDS_GALLERY_POP_MOVING_ING"
+msgstr "Perkeliama..."
+
+msgid "IDS_STORYALBUM_POP_IF_YOU_CREATE_CONTENT_THAT_INCLUDES_ITEMS_FROM_PERSONAL_STORAGE_IT_MAY_NOT_BE_HIDDEN_AUTOMATICALLY_MSG"
+msgstr "Jei sukursite turinį, kuriame naudojami elementai iš asmeninės saugyklos, turinys gali būti neslepiamas automatiškai. Pasirinktą asmeninį turinį galima pamatyti, kai peržiūrimas naujas turinys."
+
+msgid "IDS_HS_ACBUTTON_EDIT"
+msgstr "REDAGUOTI"
+
+msgid "IDS_MF_BUTTON_SETTINGS"
+msgstr "Nustatymai"
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "REDAG."
+
+msgid "IDS_CLOCK_HEADER_REORDER_ABB"
+msgstr "Pertvarkyti"
+
diff --git a/res/po/lv.po b/res/po/lv.po
new file mode 100644 (file)
index 0000000..2759f7e
--- /dev/null
@@ -0,0 +1,759 @@
+msgid "IDS_MF_POP_YOUR_DEVICE_IS_NOT_CONNECTED_TO_A_WI_FI_NETWORK_CONNECTING_TO_A_MOBILE_NETWORK_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "Ierīce nav savienota ar Wi-Fi tīklu. Savienojuma izveide ar mobilo sakaru tīklu var radīt papildu izmaksas atkarībā no jūsu tarifu plāna."
+
+msgid "IDS_VIDEO_TPOP_MOBILE_DATA_TURNED_OFF_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_TURN_ON_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Mobilie dati ir izslēgti. Izveidojiet savienojumu ar Wi-Fi tīklu vai ieslēdziet mobilos datus un mēģiniet vēlreiz."
+
+msgid "IDS_VIDEO_BODY_AFTER_YOU_RECORD_VIDEOS_USING_THE_CAMERA_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Kad būsit ierakstījis videoklipus, izmantojot kameru, tie būs redzami šeit."
+
+msgid "IDS_VIDEO_TPOP_FILE_NAME_ALREADY_IN_USE"
+msgstr "Faila nosaukums jau tiek lietots"
+
+msgid "IDS_MF_POP_DELETE_PD_ITEMS_Q"
+msgstr "Vai izdzēst %d objektus?"
+
+msgid "IDS_ST_HEADER_PRIVACY"
+msgstr "Konfidencialitāte"
+
+msgid "IDS_COM_BODY_SEP_ABB"
+msgstr "Sep"
+
+msgid "IDS_COM_BODY_OCT_ABB"
+msgstr "Okt"
+
+msgid "IDS_COM_BODY_NOV_ABB"
+msgstr "Nov"
+
+msgid "IDS_COM_BODY_MAY_ABB"
+msgstr "Mai."
+
+msgid "IDS_COM_BODY_MAR_ABB"
+msgstr "Mar"
+
+msgid "IDS_COM_BODY_JUN_ABB"
+msgstr "Jūn"
+
+msgid "IDS_COM_BODY_JUL_ABB"
+msgstr "Jūl"
+
+msgid "IDS_COM_BODY_JAN_ABB"
+msgstr "Jan"
+
+msgid "IDS_COM_BODY_FEB_ABB"
+msgstr "Feb"
+
+msgid "IDS_COM_BODY_DEC_ABB"
+msgstr "Dec"
+
+msgid "IDS_COM_BODY_AUG_ABB"
+msgstr "Aug"
+
+msgid "IDS_COM_BODY_APR_ABB"
+msgstr "Apr"
+
+msgid "IDS_GALLERY_HEADER_ALBUM"
+msgstr "Albums"
+
+msgid "IDS_MEDIABR_OPT_MORE"
+msgstr "Citi"
+
+msgid "IDS_MEDIABR_POP_INVALID_INPUT_PARAMETER"
+msgstr "Nederīgs ievades parametrs."
+
+msgid "IDS_MEDIABR_POP_ENTRY_IS_EMPTY"
+msgstr "Ieraksts nav norādīts."
+
+msgid "IDS_MEDIABR_POP_SAME_NAME_ALREADY_IN_USE"
+msgstr "Šāds nosaukums jau tiek lietots."
+
+msgid "IDS_MEDIABR_POP_UNABLE_TO_RENAME"
+msgstr "Nevar pārdēvēt."
+
+msgid "IDS_MEDIABR_POP_NO_ALBUMS_SELECTED"
+msgstr "Nav izvēlēts neviens albums."
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ITEM"
+msgstr "Izvēlieties vienumu"
+
+msgid "IDS_MEDIABR_BODY_NO_ALBUMS"
+msgstr "Nav albumu"
+
+msgid "IDS_MEDIABR_POP_CREATE_FOLDER_Q"
+msgstr "Vai izveidot mapi?"
+
+msgid "IDS_MEDIABR_POP_RETRY_Q"
+msgstr "Vai mēģināt vēlreiz?"
+
+msgid "IDS_MEDIABR_POPUP_REMOVE_Q"
+msgstr "Vai noņemt?"
+
+msgid "IDS_MEDIABR_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "Tiks izdzēsti %d albumi."
+
+msgid "IDS_MEDIABR_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "Tiks izdzēsts 1 albums."
+
+msgid "IDS_MEDIABR_BODY_CAMERA"
+msgstr "Kamera"
+
+msgid "IDS_MEDIABR_BUTTON_START"
+msgstr "Sākt"
+
+msgid "IDS_MEDIABR_OPT_SETTINGS"
+msgstr "Iestatījumi"
+
+msgid "IDS_MEDIABR_OPT_YES"
+msgstr "Jā"
+
+msgid "IDS_MEDIABR_OPT_NO"
+msgstr "Nē"
+
+msgid "IDS_MEDIABR_BUTTON_OK"
+msgstr "Labi"
+
+msgid "IDS_MEDIABR_BUTTON_SAVE"
+msgstr "Saglabāt"
+
+msgid "IDS_MEDIABR_POP_DELETE_Q"
+msgstr "Vai dzēst?"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_ALBUM"
+msgstr "Pārvietot uz albumu"
+
+msgid "IDS_GALLERY_OPT_COPY_TO_ALBUM"
+msgstr "Kopēt albumā"
+
+msgid "IDS_GALLERY_HEADER_VIEW_BY_ABB"
+msgstr "Skatīt pēc"
+
+msgid "IDS_GALLERY_HEADER_ENTER_NAME"
+msgstr "Ievadiet nosaukumu"
+
+msgid "IDS_MEDIABR_POP_ALL_DATA_RELATED_TO_THIS_ACCOUNT_WILL_BE_DELETED_CONTINUE_Q"
+msgstr "Visi ar šo kontu saistītie dati tiks izdzēsti. Vai turpināt?"
+
+msgid "IDS_MEDIABR_BUTTON_CANCEL_ABB"
+msgstr "Atcelt"
+
+msgid "IDS_MEDIABR_TAB4_NEW_ALBUM"
+msgstr "Jauns albums"
+
+msgid "IDS_MEDIABR_POP_DO_YOU_WANT_TO_COPY_OR_MOVE_THE_PICTURES_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Vai vēlaties kopēt vai pārvietot attēlus no oriģinālā albuma?"
+
+msgid "IDS_MEDIABR_OPT_SHARE"
+msgstr "Koplietot"
+
+msgid "IDS_MEDIABR_OPT_SLIDESHOW"
+msgstr "Slaidrāde"
+
+msgid "IDS_MEDIABR_OPT_START_SLIDESHOW"
+msgstr "Sākt slaidrādi"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS"
+msgstr "Slaidrādes iestatījumi"
+
+msgid "IDS_MEDIABR_POP_NO_NAME"
+msgstr "Nav vārda"
+
+msgid "IDS_MEDIABR_BODY_ALL_ALBUMS"
+msgstr "Visi albumi"
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ALBUM"
+msgstr "Izvēlēties albumu"
+
+msgid "IDS_MEDIABR_POP_1_ITEM_WILL_BE_DELETED"
+msgstr "Tiks izdzēsts 1 objekts."
+
+msgid "IDS_MEDIABR_OPT_ALL_ITEMS"
+msgstr "Visi objekti"
+
+msgid "IDS_MEDIABR_BODY_PD_ITEMS"
+msgstr "%d objekti"
+
+msgid "IDS_IV_BODY_THERE_IS_ONLY_ONE_ALBUM"
+msgstr "Izveidots tikai viens albums."
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "Varat izvēlēties līdz pat %d objektiem."
+
+msgid "IDS_MF_BODY_DOWNLOADS"
+msgstr "Lejupielādes"
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Vai dzēst?"
+
+msgid "IDS_MF_SK_MOVE"
+msgstr "Pārvietot"
+
+msgid "IDS_MF_POP_DELETING_ING"
+msgstr "Dzēš..."
+
+msgid "IDS_CAM_BODY_OPERATION_FAILED"
+msgstr "Darbība neizdevās."
+
+msgid "IDS_MSG_BODY_CANCELLED_M_CONTENT"
+msgstr "Atcelti"
+
+msgid "IDS_MF_OPT_DELETE_SELECTED"
+msgstr "Izvēlēts"
+
+msgid "IDS_MF_POP_MOVED"
+msgstr "Pārvietots."
+
+msgid "IDS_MF_POP_COPIED"
+msgstr "Nokopēts."
+
+msgid "IDS_VPL_POP_NO_FILES_SELECTED"
+msgstr "Nav izvēlētu failu."
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Aizvērt"
+
+msgid "IDS_MF_OPT_SORT_BY_ABB"
+msgstr "Kārtot pēc"
+
+msgid "IDS_CAM_POP_LATEST"
+msgstr "Jaunākie"
+
+msgid "IDS_MEDIABR_POP_OLDEST_M_DATE"
+msgstr "Vecākie"
+
+msgid "IDS_MSG_BUTTON2_CREATE"
+msgstr "Izveidot"
+
+msgid "IDS_MEDIABR_POP_NO_ITEMS"
+msgstr "Nav vienumu"
+
+msgid "IDS_MEDIABR_OPT_EDIT_IMAGE"
+msgstr "Rediģēt attēlu"
+
+msgid "IDS_MEDIABR_BODY_SELECT_PICTURE"
+msgstr "Atlasīt attēlu"
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ITEM_Q"
+msgstr "Vai izdzēst šo objektu?"
+
+msgid "IDS_GALLERY_OPT_SCENERY"
+msgstr "Ainava"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PRIVATE"
+msgstr "Noņemt no mapes Privāti"
+
+msgid "IDS_GALLERY_OPT_PETS"
+msgstr "Mājdzīvnieki"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_PRIVATE"
+msgstr "Pārvietot uz privāto krātuvi"
+
+msgid "IDS_GALLERY_OPT_FOOD"
+msgstr "Ēdiens"
+
+msgid "IDS_GALLERY_OPT_FLOWERS"
+msgstr "Ziedi"
+
+msgid "IDS_GALLERY_OPT_DOCUMENTS"
+msgstr "Dokumenti"
+
+msgid "IDS_GALLERY_MBODY_VEHICLES"
+msgstr "Transportlīdzekļi"
+
+msgid "IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED"
+msgstr "Sasniegts maksimālais rakstzīmju skaits (%d)."
+
+msgid "IDS_IV_BODY_UNABLE_TO_LOAD_PHOTO_ABB"
+msgstr "Nevar ielādēt fotoattēlu."
+
+msgid "IDS_IV_BODY_SHARE_VIA"
+msgstr "Koplietot, izmantojot"
+
+msgid "IDS_IV_BODY_DONT_ASK_AGAIN"
+msgstr "Vairs nejautāt"
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Sasniegts maksimālais rakstzīmju skaits."
+
+msgid "IDS_GALLERY_HEADER_TIME"
+msgstr "Laiks"
+
+msgid "IDS_EMAIL_BODY_FAILED_M_STATUS"
+msgstr "Neizdevās"
+
+msgid "IDS_EMAIL_BODY_DELETED"
+msgstr "Izdzēsts."
+
+msgid "IDS_EMAIL_POP_DELETE_Q"
+msgstr "Vai dzēst?"
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Noņem..."
+
+msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS"
+msgstr "Rāda %d objektus"
+
+msgid "IDS_GALLERY_OPT_CREATE_ALBUM"
+msgstr "Izveidot albumu"
+
+msgid "IDS_GALLERY_OPT_GALLERY_ABB"
+msgstr "Galerija"
+
+msgid "IDS_EMAIL_BUTTON_MORE"
+msgstr "Vēl"
+
+msgid "IDS_EMAIL_OPT_ACCOUNTS"
+msgstr "Konti"
+
+msgid "IDS_EMAIL_POP_OPERATION_FAILED"
+msgstr "Darbība neizdevās."
+
+msgid "IDS_GALLERY_BODY_DOWNLOAD"
+msgstr "Lejupielāde"
+
+msgid "IDS_GALLERY_BODY_SEARCH"
+msgstr "Meklēt"
+
+msgid "IDS_GALLERY_BUTTON_BACK"
+msgstr "Atpakaļ"
+
+msgid "IDS_GALLERY_BUTTON_CAMERA"
+msgstr "Kamera"
+
+msgid "IDS_GALLERY_HEADER_ALL"
+msgstr "Visas"
+
+msgid "IDS_GALLERY_OPT_REFRESH"
+msgstr "Atsvaidzināt"
+
+msgid "IDS_GALLERY_OPT_REMOVE"
+msgstr "Noņemt"
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_DROPBOX_ITEMS_WILL_BE_SHOWN"
+msgstr "Pēc attēlu augšupielādes pakalpojumā Dropbox, tiks parādīti objekti."
+
+msgid "IDS_KEEPIT_BODY_GROUP_PLAY_ABB"
+msgstr "Group Play"
+
+msgid "IDS_MEDIABR_HEADER_CONTACTS"
+msgstr "Kontakti"
+
+msgid "IDS_MEDIABR_OPT_CREATE"
+msgstr "Izveidot"
+
+msgid "IDS_MEDIABR_OPT_DETAILS"
+msgstr "Dati"
+
+msgid "IDS_MEDIABR_OPT_PRINT"
+msgstr "Drukāt"
+
+msgid "IDS_MEDIABR_OPT_RENAME"
+msgstr "Pārdēvēt"
+
+msgid "IDS_MEDIABR_POP_DOWNLOADED"
+msgstr "Lejupielādēts."
+
+msgid "IDS_MEDIABR_POP_DOWNLOADING_ING"
+msgstr "Ielādē..."
+
+msgid "IDS_MF_HEADER_ENTER_NAME"
+msgstr "Ievadiet vārdu."
+
+msgid "IDS_MF_HEADER_MYFILES"
+msgstr "Mani Faili"
+
+msgid "IDS_MF_POP_ADDED"
+msgstr "Pievienots."
+
+msgid "IDS_MF_POP_PROCESSING_ING"
+msgstr "Notiek apstrāde..."
+
+msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
+msgstr "Neatbalstīts faila veids."
+
+msgid "IDS_IMGE_BODY_AFTER_YOU_TAKE_PICTURES_PICTURES_WILL_BE_SHOWN"
+msgstr "Pēc attēlu uzņemšanas tie tiks parādīti."
+
+msgid "IDS_IME_BODY_LANDSCAPE_MODE"
+msgstr "Ainavas režīms"
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_CLOSE_DRAWER_MENU_TTS"
+msgstr "Lai aizvērtu nolaižamo izvēlni, veiciet dubultskārienu."
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_OPEN_DRAWER_MENU_TTS"
+msgstr "Lai atvērtu nolaižamo izvēlni, veiciet dubultskārienu."
+
+msgid "IDS_EMAIL_BODY_DRAG_AND_DROP"
+msgstr "Vilkt un nomest"
+
+msgid "IDS_EMAIL_OPT_DRAWER_ABB"
+msgstr "Izvēlne"
+
+msgid "IDS_EMAIL_POP_MOBILE_DATA_IS_DISABLED_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_ENABLE_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Mobilie dati ir deaktivizēti. Tā vietā izveidojiet savienojumu ar Wi-Fi tīklu vai aktivizējiet mobilos datus un mēģiniet vēlreiz"
+
+msgid "IDS_EMAIL_POP_WI_FI_CONNECTION_REQUIRED_CONNECT_TO_WI_FI_NETWORK_AND_TRY_AGAIN"
+msgstr "Nepieciešams Wi-Fi savienojums. Izveidojiet savienojumu ar Wi-Fi tīklu un mēģiniet vēlreiz"
+
+msgid "IDS_GALLERY_HEADER_ADD_PICTURES_FROM_ABB"
+msgstr "Pievienot attēlus no"
+
+msgid "IDS_GALLERY_HEADER_CONNECTED_DEVICES_ABB"
+msgstr "Pievienotās ierīces"
+
+msgid "IDS_GALLERY_OPT_PRIVATE_CONTENT"
+msgstr "Privāts saturs"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PS"
+msgstr "Noņemt no %s"
+
+msgid "IDS_GALLERY_OPT_REMOVE_NAME_TAG"
+msgstr "Noņemt vārda atzīmi"
+
+msgid "IDS_GALLERY_POP_THERE_ARE_NO_EVENTS_TO_DISPLAY_CREATE_A_NEW_EVENT"
+msgstr "Nav notikumu, ko parādīt. Izveidojiet jaunu notikumu."
+
+msgid "IDS_GALLERY_POP_TO_SCROLL_QUICKLY_TO_OTHER_DATES_TAP_AND_HOLD_THE_DATE_INDICATOR_AT_THE_TOP_RIGHT_OF_THE_SCREEN"
+msgstr "Lai ātri ritinātu datumus, pieskarieties pie datuma rādītāja ekrāna augšējā labajā pusē un turiet."
+
+msgid "IDS_GP_POP_REMOVE_PD_ITEMS_Q"
+msgstr "Vai noņemt %d objektus?"
+
+msgid "IDS_GP_POP_REMOVE_THIS_ITEM_Q"
+msgstr "Vai noņemt šo objektu?"
+
+msgid "IDS_HELP_BODY_GALLERY"
+msgstr "Galerija"
+
+msgid "IDS_HELP_OPT_SHUFFLED_PICTURES"
+msgstr "Attēli jauktā secībā"
+
+msgid "IDS_IV_BODY_ADD_PICTURES"
+msgstr "Pievienot attēlus"
+
+msgid "IDS_IV_BODY_AFTER_YOU_TAG_PICTURES_AS_YOUR_FAVOURITES_PICTURES_WILL_BE_SHOWN"
+msgstr "Pēc tam, kad atzīmēsit attēlus kā izlases attēlus, tie tiks parādīti."
+
+msgid "IDS_IV_BODY_REMOVE_FACE_IDENTIFICATION_Q"
+msgstr "Vai noņemt sejas identifikāciju?"
+
+msgid "IDS_IV_OPT_ASSIGN_NAME"
+msgstr "Piešķirt vārdu"
+
+msgid "IDS_IV_OPT_CONFIRM_AS_PS"
+msgstr "Apstiprināt kā %s"
+
+msgid "IDS_IV_OPT_LAYOUT_M_PICTUERS"
+msgstr "Izkārtojums"
+
+msgid "IDS_IV_OPT_PD_PICTURES_ADDED"
+msgstr "Pievienoti %d attēli"
+
+msgid "IDS_IV_POP_THE_ALBUM_WILL_BE_CANCELLED"
+msgstr "Albums tiks atcelts."
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEM_ABB"
+msgstr "Dzēst objektu"
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEMS"
+msgstr "Dzēst objektus"
+
+msgid "IDS_MEDIABR_BODY_1_ITEM"
+msgstr "1 objekts"
+
+msgid "IDS_MEDIABR_BODY_10_SECONDS"
+msgstr "10 sekundes"
+
+msgid "IDS_MEDIABR_BODY_5_SECONDS"
+msgstr "5 sekundes"
+
+msgid "IDS_MEDIABR_BODY_NOT_ASSIGNED"
+msgstr "Nav piešķirta"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL"
+msgstr "Slaidrādes intervāls"
+
+msgid "IDS_MEDIABR_BODY_UNTAGGED"
+msgstr "Neatzīmēts"
+
+msgid "IDS_MEDIABR_OPT_3_SECONDS"
+msgstr "3 sekundes"
+
+msgid "IDS_MEDIABR_OPT_ALL_CONTENT"
+msgstr "Viss saturs"
+
+msgid "IDS_MEDIABR_OPT_CONTENT_TO_DISPLAY"
+msgstr "Rādāmais saturs"
+
+msgid "IDS_MEDIABR_OPT_DELETE_TAG"
+msgstr "Dzēst atzīmi"
+
+msgid "IDS_MEDIABR_OPT_DEVICE_CONTENT"
+msgstr "Ierīces saturs"
+
+msgid "IDS_MEDIABR_OPT_DROPBOX_CONTENT"
+msgstr "Dropbox saturs"
+
+msgid "IDS_MEDIABR_OPT_FACEBOOK_CONTENT"
+msgstr "Facebook saturs"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_LEFT"
+msgstr "Pagriezt pa kreisi"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_RIGHT"
+msgstr "Pagriezt pa labi"
+
+msgid "IDS_MEDIABR_POP_IMPORT"
+msgstr "Importēt"
+
+msgid "IDS_MEDIABR_POP_IMPORTED"
+msgstr "Importētas."
+
+msgid "IDS_MEDIABR_POP_IMPORTING_ING"
+msgstr "Importē..."
+
+msgid "IDS_MEDIABR_POP_LOADING_ING"
+msgstr "Ielādē..."
+
+msgid "IDS_MEDIABR_POP_NEARBY_DEVICES_FOUND"
+msgstr "Tuvumā atrastās ierīces."
+
+msgid "IDS_MEDIABR_POP_NO_DEVICES_FOUND_SCANNING_FOR_NEARBY_DEVICES_WILL_CONTINUE_IN_BACKGROUND"
+msgstr "Nav atrasta neviena ierīce. Tuvumā esošo ierīču meklēšana tiks turpināta fonā."
+
+msgid "IDS_MEDIABR_POP_REFRESHED"
+msgstr "Atjaunots."
+
+msgid "IDS_MEDIABR_POP_ROTATING_ING"
+msgstr "Notiek pagriešana..."
+
+msgid "IDS_MEDIABR_POP_SCAN_STARTED_DEVICE_LIST_WILL_BE_UPDATED_AUTOMATICALLY"
+msgstr "Ir sākta meklēšana. Ierīču saraksts tiks atjaunināts automātiski."
+
+msgid "IDS_MEDIABR_POP_STARTING_DOWNLOAD_ABB"
+msgstr "Sāk lejupielādi..."
+
+msgid "IDS_MF_OPT_COPY_TO"
+msgstr "Kopēt uz"
+
+msgid "IDS_MF_OPT_MOVE_TO"
+msgstr "Pārvietot uz"
+
+msgid "IDS_MF_POP_FAILED_TO_ADD_SHORTCUT"
+msgstr "Neizdevās pievienot īsceļu."
+
+msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
+msgstr "Nepietiek atmiņas. Izdzēsiet dažus vienumus"
+
+msgid "IDS_MF_POP_REMOVED"
+msgstr "Noņemts."
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Pievieno..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "Vai izdzēst %d albumus?"
+
+msgid "IDS_ST_BODY_PRIVATE_STORAGE"
+msgstr "Privātā krātuve"
+
+msgid "IDS_IV_BODY_DRAG_HERE"
+msgstr "Velciet šeit."
+
+msgid "IDS_GALLERY_BODY_NEW_M_ALBUM_ABB"
+msgstr "Jauna"
+
+msgid "IDS_GALLERY_HEADER_UNGROUPEDM_PEOPLE_ABB"
+msgstr "Negrupētie"
+
+msgid "IDS_KEEPIT_OPT_SCREENSHOTS_ABB"
+msgstr "Ekrānuzņēmumi"
+
+msgid "IDS_MEDIABR_OPT_PHOTOS"
+msgstr "Fotoattēli"
+
+msgid "IDS_MEDIABR_POP_DOWNLOAD_FAILED"
+msgstr "Lejupielāde neizdevās."
+
+msgid "IDS_MEDIABR_POP_UNSUPPORTED_FILE"
+msgstr "Neatbalstīts fails."
+
+msgid "IDS_SEARCH_BODY_1_RESULT"
+msgstr "1 rezultāts"
+
+msgid "IDS_SEARCH_BODY_PD_RESULTS"
+msgstr "%d rezultāti"
+
+msgid "IDS_TW_BODY_FAVORITES"
+msgstr "Izlases"
+
+msgid "IDS_EMAIL_POP_DOWNLOAD_CANCELLED"
+msgstr "Lejupielāde atcelta."
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ALBUM_Q"
+msgstr "Vai izdzēst šo albumu?"
+
+msgid "IDS_CAM_HEADER_WARNING_ABB"
+msgstr "Brīdinājums"
+
+msgid "IDS_ALM_OPT_SORT_BY"
+msgstr "Kārtot pēc"
+
+msgid "IDS_CLD_OPT_TODAY"
+msgstr "Šodien"
+
+msgid "IDS_GALLERY_BODY_DATE"
+msgstr "Datums"
+
+msgid "IDS_EMAIL_BODY_NO_ITEMS_TO_DISPLAY"
+msgstr "Nav objektu, ko parādīt."
+
+msgid "IDS_PBR_BODY_TAP_HERE_TO_TAKE_PICTURES_OR_VIDEOS"
+msgstr "Pieskarieties šeit, lai uzņemtu attēlus vai videoklipus."
+
+msgid "IDS_NFC_TPOP_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SHARED_HPD_EXCEEDED"
+msgstr "Pārsniegts maksimālais kopīgojamo objektu skaits (%d)."
+
+msgid "IDS_IV_BODY_TAP_TO_ADD_IMAGES"
+msgstr "Pieskarieties, lai pievienotu attēlus."
+
+msgid "IDS_GALLERY_POP_COPY_OR_MOVE_THE_SELECTED_ITEMS_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Vai vēlaties kopēt vai pārvietot objektus no sākotnējā albuma?"
+
+msgid "IDS_GALLERY_HEADER_SELECT"
+msgstr "Izvēlēties"
+
+msgid "IDS_VIDEO_POP_FILE_ALREADY_EXISTS"
+msgstr "Fails jau pastāv."
+
+msgid "IDS_VIDEO_POP_THIS_ITEM_WILL_BE_DELETED"
+msgstr "Šis objekts tiks izdzēsts."
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_FACEBOOK_ITEMS_WILL_BE_SHOWN"
+msgstr "Pēc attēlu augšupielādes pakalpojumā Facebook, tiks parādīti objekti."
+
+msgid "IDS_GALLERY_HEADER_SELECT_ALL_ABB"
+msgstr "Izvēlēties visu"
+
+msgid "IDS_GALLERY_HEADER_PD_SELECTED_ABB"
+msgstr "Izvēlēts: %d"
+
+msgid "IDS_GALLERY_OPT_VIEW_AS"
+msgstr "Skatīt kā"
+
+msgid "IDS_GALLERY_OPT_DATE_HMOST_RECENT_ABB2"
+msgstr "Datums (jaunākais)"
+
+msgid "IDS_GALLERY_OPT_DATE_HOLDEST_ABB3"
+msgstr "Datums (vecākais)"
+
+msgid "IDS_GALLERY_BODY_AFTER_YOU_TAKE_PICTURES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Pēc attēlu uzņemšanas tie tiks parādīti šeit."
+
+msgid "IDS_CLOUD_TPOP_CANCELLING_ING"
+msgstr "Atceļ..."
+
+msgid "IDS_GALLERY_OPT_FROM_DEVICE_ABB"
+msgstr "No ierīces"
+
+msgid "IDS_GALLERY_OPT_FROM_DROPBOX_ABB"
+msgstr "No Dropbox"
+
+msgid "IDS_GALLERY_OPT_FROM_FACEBOOK_ABB"
+msgstr "No Facebook"
+
+msgid "IDS_MUSIC_BODY_DOWNLOAD_COMPLETED"
+msgstr "Lejupielāde pabeigta."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DELETED"
+msgstr "Visi objekti tiks izdzēsti."
+
+msgid "IDS_GALLERY_POP_1_ITEM_WILL_BE_DOWNLOADED"
+msgstr "Tiks lejupielādēts 1 objekts."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "Tiks lejupielādēti %d objekti."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "Tiks lejupielādēti visi objekti."
+
+msgid "IDS_GALLERY_TPOP_SELECTED_ALBUM_SAME_AS_SOURCE_ALBUM_SELECT_ANOTHER_ALBUM"
+msgstr "Izvēlētais albums ir avota albums. Izvēlieties citu albumu."
+
+msgid "IDS_HS_NPBODY_TAP_HERE_TO_ADD_IMAGES"
+msgstr "Pieskarieties šeit, lai pievienotu attēlus"
+
+msgid "IDS_MF_HEADER_UNABLE_TO_SAVE_DATA_ABB"
+msgstr "Nevar saglabāt datus"
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_IN_YOUR_DEVICE_STORAGE_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "Ierīces krātuvē nepietiek vietas. Atveriet Iestatījumi > Enerģija un krātuve > Krātuve, izdzēsiet dažus failus un mēģiniet vēlreiz."
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_YOUR_SD_CARD_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "SD kartē nepietiek vietas. Atveriet Iestatījumi > Enerģija un krātuve > Krātuve, izdzēsiet dažus failus un mēģiniet vēlreiz."
+
+msgid "IDS_MF_BUTTON_CANCEL_ABB3"
+msgstr "Atcelt"
+
+msgid "IDS_MF_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Vairs nerādīt"
+
+msgid "IDS_MF_POP_USING_MOBILE_DATA_WHILE_ROAMING_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "Mobilo datu lietošana viesabonēšanas laikā var radīt papildu izmaksas atkarībā no jūsu tarifu plāna."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DELETED_ABB"
+msgstr "Tiks izdzēsti %d objekti."
+
+msgid "IDS_GALLERY_OPT_DELETE"
+msgstr "Dzēst"
+
+msgid "IDS_GALLERY_BODY_YESTERDAY"
+msgstr "Vakar"
+
+msgid "IDS_BR_MBODY_DOWNLOADS"
+msgstr "Lejupielādes"
+
+msgid "IDS_GALLERY_HEADER_COPY"
+msgstr "Kopēt"
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Dzēst"
+
+msgid "IDS_GALLERY_BUTTON_ALBUMS"
+msgstr "Albumi"
+
+msgid "IDS_GALLERY_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Pārsniegts maksimālais objektu skaits (%d)."
+
+msgid "IDS_GALLERY_BUTTON_CANCEL"
+msgstr "Atcelt"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "GATAVS"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ATCELT"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "DZĒST"
+
+msgid "IDS_GALLERY_POP_COPYING_ING"
+msgstr "Kopē..."
+
+msgid "IDS_GALLERY_POP_MOVING_ING"
+msgstr "Pārvieto..."
+
+msgid "IDS_STORYALBUM_POP_IF_YOU_CREATE_CONTENT_THAT_INCLUDES_ITEMS_FROM_PERSONAL_STORAGE_IT_MAY_NOT_BE_HIDDEN_AUTOMATICALLY_MSG"
+msgstr "Ja izveidosit saturu, kas ietver objektus no privātās krātuves, tas iespējams, netiks automātiski paslēpts. Skatot jauno saturu, var būt redzams izvēlētais personiskais saturs."
+
+msgid "IDS_HS_ACBUTTON_EDIT"
+msgstr "REDIĢĒT"
+
+msgid "IDS_MF_BUTTON_SETTINGS"
+msgstr "Iestatījumi"
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "REDIĢĒT"
+
+msgid "IDS_CLOCK_HEADER_REORDER_ABB"
+msgstr "Pārkārtot"
+
diff --git a/res/po/mk.po b/res/po/mk.po
new file mode 100644 (file)
index 0000000..e9e6791
--- /dev/null
@@ -0,0 +1,759 @@
+msgid "IDS_MF_POP_YOUR_DEVICE_IS_NOT_CONNECTED_TO_A_WI_FI_NETWORK_CONNECTING_TO_A_MOBILE_NETWORK_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "Уредот не Ви е поврзан со мрежа Wi-Fi. Поврзувањето со мобилна мрежа може да се наплаќа дополнително, зависно од Вашиот пакет."
+
+msgid "IDS_VIDEO_TPOP_MOBILE_DATA_TURNED_OFF_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_TURN_ON_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Мобилните податоци се исклучени. Поврзете се со мрежа Wi-Fi или вклучете Мобилни податоци и обидете се повторно."
+
+msgid "IDS_VIDEO_BODY_AFTER_YOU_RECORD_VIDEOS_USING_THE_CAMERA_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Откако ќе снимите видеа со камерата, ќе се прикажат тука."
+
+msgid "IDS_VIDEO_TPOP_FILE_NAME_ALREADY_IN_USE"
+msgstr "Името на фајлот се користи."
+
+msgid "IDS_MF_POP_DELETE_PD_ITEMS_Q"
+msgstr "Избриши %d записи?"
+
+msgid "IDS_ST_HEADER_PRIVACY"
+msgstr "Доверливо"
+
+msgid "IDS_COM_BODY_SEP_ABB"
+msgstr "Сеп."
+
+msgid "IDS_COM_BODY_OCT_ABB"
+msgstr "Окт."
+
+msgid "IDS_COM_BODY_NOV_ABB"
+msgstr "Ное."
+
+msgid "IDS_COM_BODY_MAY_ABB"
+msgstr "Мај"
+
+msgid "IDS_COM_BODY_MAR_ABB"
+msgstr "Март"
+
+msgid "IDS_COM_BODY_JUN_ABB"
+msgstr "Јуни"
+
+msgid "IDS_COM_BODY_JUL_ABB"
+msgstr "Јули"
+
+msgid "IDS_COM_BODY_JAN_ABB"
+msgstr "Јан."
+
+msgid "IDS_COM_BODY_FEB_ABB"
+msgstr "Фев."
+
+msgid "IDS_COM_BODY_DEC_ABB"
+msgstr "Дек."
+
+msgid "IDS_COM_BODY_AUG_ABB"
+msgstr "Авг."
+
+msgid "IDS_COM_BODY_APR_ABB"
+msgstr "Апр."
+
+msgid "IDS_GALLERY_HEADER_ALBUM"
+msgstr "Албум"
+
+msgid "IDS_MEDIABR_OPT_MORE"
+msgstr "Повеќе"
+
+msgid "IDS_MEDIABR_POP_INVALID_INPUT_PARAMETER"
+msgstr "Неважечки влезен параметар."
+
+msgid "IDS_MEDIABR_POP_ENTRY_IS_EMPTY"
+msgstr "Записот е празен."
+
+msgid "IDS_MEDIABR_POP_SAME_NAME_ALREADY_IN_USE"
+msgstr "Истото име веќе се користи."
+
+msgid "IDS_MEDIABR_POP_UNABLE_TO_RENAME"
+msgstr "Не може да се преименува."
+
+msgid "IDS_MEDIABR_POP_NO_ALBUMS_SELECTED"
+msgstr "Не се избрани албуми."
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ITEM"
+msgstr "Избери запис"
+
+msgid "IDS_MEDIABR_BODY_NO_ALBUMS"
+msgstr "Нема албуми"
+
+msgid "IDS_MEDIABR_POP_CREATE_FOLDER_Q"
+msgstr "Направи нова папка?"
+
+msgid "IDS_MEDIABR_POP_RETRY_Q"
+msgstr "Повторен обид?"
+
+msgid "IDS_MEDIABR_POPUP_REMOVE_Q"
+msgstr "Отстрани?"
+
+msgid "IDS_MEDIABR_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "%d албуми ќе се избришат."
+
+msgid "IDS_MEDIABR_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "1 албум ќе се избрише."
+
+msgid "IDS_MEDIABR_BODY_CAMERA"
+msgstr "Камера"
+
+msgid "IDS_MEDIABR_BUTTON_START"
+msgstr "Почни"
+
+msgid "IDS_MEDIABR_OPT_SETTINGS"
+msgstr "Опции"
+
+msgid "IDS_MEDIABR_OPT_YES"
+msgstr "Да"
+
+msgid "IDS_MEDIABR_OPT_NO"
+msgstr "Не"
+
+msgid "IDS_MEDIABR_BUTTON_OK"
+msgstr "OK"
+
+msgid "IDS_MEDIABR_BUTTON_SAVE"
+msgstr "Сочувај"
+
+msgid "IDS_MEDIABR_POP_DELETE_Q"
+msgstr "Да се избрише?"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_ALBUM"
+msgstr "Премести во албум"
+
+msgid "IDS_GALLERY_OPT_COPY_TO_ALBUM"
+msgstr "Копирај во албум"
+
+msgid "IDS_GALLERY_HEADER_VIEW_BY_ABB"
+msgstr "Прегледај според"
+
+msgid "IDS_GALLERY_HEADER_ENTER_NAME"
+msgstr "Внеси име"
+
+msgid "IDS_MEDIABR_POP_ALL_DATA_RELATED_TO_THIS_ACCOUNT_WILL_BE_DELETED_CONTINUE_Q"
+msgstr "Ќе се избришат сите податоци поврзани со оваа сметка. Продолжи?"
+
+msgid "IDS_MEDIABR_BUTTON_CANCEL_ABB"
+msgstr "Откажи"
+
+msgid "IDS_MEDIABR_TAB4_NEW_ALBUM"
+msgstr "Нов албум"
+
+msgid "IDS_MEDIABR_POP_DO_YOU_WANT_TO_COPY_OR_MOVE_THE_PICTURES_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Сакате да ги ископирате или преместите сликите од оригиналниот албум?"
+
+msgid "IDS_MEDIABR_OPT_SHARE"
+msgstr "Сподели"
+
+msgid "IDS_MEDIABR_OPT_SLIDESHOW"
+msgstr "Слајдови"
+
+msgid "IDS_MEDIABR_OPT_START_SLIDESHOW"
+msgstr "Почни слајдови"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS"
+msgstr "Опции за слајдовите"
+
+msgid "IDS_MEDIABR_POP_NO_NAME"
+msgstr "Нема име"
+
+msgid "IDS_MEDIABR_BODY_ALL_ALBUMS"
+msgstr "Сите албуми"
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ALBUM"
+msgstr "Избери албум"
+
+msgid "IDS_MEDIABR_POP_1_ITEM_WILL_BE_DELETED"
+msgstr "1 запис ќе се избрише."
+
+msgid "IDS_MEDIABR_OPT_ALL_ITEMS"
+msgstr "Сите записи"
+
+msgid "IDS_MEDIABR_BODY_PD_ITEMS"
+msgstr "%d содржини"
+
+msgid "IDS_IV_BODY_THERE_IS_ONLY_ONE_ALBUM"
+msgstr "Има само еден албум."
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "Може да изберете најмногу %d записи."
+
+msgid "IDS_MF_BODY_DOWNLOADS"
+msgstr "Преземено"
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Да се избрише?"
+
+msgid "IDS_MF_SK_MOVE"
+msgstr "Премести"
+
+msgid "IDS_MF_POP_DELETING_ING"
+msgstr "Се брише..."
+
+msgid "IDS_CAM_BODY_OPERATION_FAILED"
+msgstr "Неуспешна операција."
+
+msgid "IDS_MSG_BODY_CANCELLED_M_CONTENT"
+msgstr "Откажано"
+
+msgid "IDS_MF_OPT_DELETE_SELECTED"
+msgstr "Избраните"
+
+msgid "IDS_MF_POP_MOVED"
+msgstr "Преместено."
+
+msgid "IDS_MF_POP_COPIED"
+msgstr "Копирано."
+
+msgid "IDS_VPL_POP_NO_FILES_SELECTED"
+msgstr "Нема избрани фајлови."
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Затвори"
+
+msgid "IDS_MF_OPT_SORT_BY_ABB"
+msgstr "Подреди според"
+
+msgid "IDS_CAM_POP_LATEST"
+msgstr "Најнови"
+
+msgid "IDS_MEDIABR_POP_OLDEST_M_DATE"
+msgstr "Најстаро"
+
+msgid "IDS_MSG_BUTTON2_CREATE"
+msgstr "Ново"
+
+msgid "IDS_MEDIABR_POP_NO_ITEMS"
+msgstr "Нема записи"
+
+msgid "IDS_MEDIABR_OPT_EDIT_IMAGE"
+msgstr "Измени слика"
+
+msgid "IDS_MEDIABR_BODY_SELECT_PICTURE"
+msgstr "Избери слика"
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ITEM_Q"
+msgstr "Да се избрише оваа ставка?"
+
+msgid "IDS_GALLERY_OPT_SCENERY"
+msgstr "Предел"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PRIVATE"
+msgstr "Отстрани од Приватно"
+
+msgid "IDS_GALLERY_OPT_PETS"
+msgstr "Галеничиња"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_PRIVATE"
+msgstr "Премести во Приватно"
+
+msgid "IDS_GALLERY_OPT_FOOD"
+msgstr "Храна"
+
+msgid "IDS_GALLERY_OPT_FLOWERS"
+msgstr "Цвеќе"
+
+msgid "IDS_GALLERY_OPT_DOCUMENTS"
+msgstr "Документи"
+
+msgid "IDS_GALLERY_MBODY_VEHICLES"
+msgstr "Возила"
+
+msgid "IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED"
+msgstr "Достигнат е максималниот број знаци (%d)."
+
+msgid "IDS_IV_BODY_UNABLE_TO_LOAD_PHOTO_ABB"
+msgstr "Не може да се вчита фотографијата."
+
+msgid "IDS_IV_BODY_SHARE_VIA"
+msgstr "Сподели преку"
+
+msgid "IDS_IV_BODY_DONT_ASK_AGAIN"
+msgstr "Не прашувај повторно"
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Достигнат е максималниот број знаци."
+
+msgid "IDS_GALLERY_HEADER_TIME"
+msgstr "Време"
+
+msgid "IDS_EMAIL_BODY_FAILED_M_STATUS"
+msgstr "Неуспешно"
+
+msgid "IDS_EMAIL_BODY_DELETED"
+msgstr "Избришано."
+
+msgid "IDS_EMAIL_POP_DELETE_Q"
+msgstr "Да се избрише?"
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Отстранување..."
+
+msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS"
+msgstr "Се прикажуваат %d ставки"
+
+msgid "IDS_GALLERY_OPT_CREATE_ALBUM"
+msgstr "Нов албум"
+
+msgid "IDS_GALLERY_OPT_GALLERY_ABB"
+msgstr "Галерија"
+
+msgid "IDS_EMAIL_BUTTON_MORE"
+msgstr "Повеќе"
+
+msgid "IDS_EMAIL_OPT_ACCOUNTS"
+msgstr "Сметки"
+
+msgid "IDS_EMAIL_POP_OPERATION_FAILED"
+msgstr "Неуспешна операција."
+
+msgid "IDS_GALLERY_BODY_DOWNLOAD"
+msgstr "Преземи"
+
+msgid "IDS_GALLERY_BODY_SEARCH"
+msgstr "Пребарување"
+
+msgid "IDS_GALLERY_BUTTON_BACK"
+msgstr "Назад"
+
+msgid "IDS_GALLERY_BUTTON_CAMERA"
+msgstr "Камера"
+
+msgid "IDS_GALLERY_HEADER_ALL"
+msgstr "Сите"
+
+msgid "IDS_GALLERY_OPT_REFRESH"
+msgstr "Обнови"
+
+msgid "IDS_GALLERY_OPT_REMOVE"
+msgstr "Отстрани"
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_DROPBOX_ITEMS_WILL_BE_SHOWN"
+msgstr "Откако ќе пратите слики на Dropbox, ќе се прикажат записите."
+
+msgid "IDS_KEEPIT_BODY_GROUP_PLAY_ABB"
+msgstr "Груп-плеј"
+
+msgid "IDS_MEDIABR_HEADER_CONTACTS"
+msgstr "Именик"
+
+msgid "IDS_MEDIABR_OPT_CREATE"
+msgstr "Ново"
+
+msgid "IDS_MEDIABR_OPT_DETAILS"
+msgstr "Детали"
+
+msgid "IDS_MEDIABR_OPT_PRINT"
+msgstr "Печати"
+
+msgid "IDS_MEDIABR_OPT_RENAME"
+msgstr "Преименувај"
+
+msgid "IDS_MEDIABR_POP_DOWNLOADED"
+msgstr "Преземено."
+
+msgid "IDS_MEDIABR_POP_DOWNLOADING_ING"
+msgstr "Се презема..."
+
+msgid "IDS_MF_HEADER_ENTER_NAME"
+msgstr "Внеси име."
+
+msgid "IDS_MF_HEADER_MYFILES"
+msgstr "Мои фајлови"
+
+msgid "IDS_MF_POP_ADDED"
+msgstr "Додадено."
+
+msgid "IDS_MF_POP_PROCESSING_ING"
+msgstr "Обработување..."
+
+msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
+msgstr "Неподдржан тип на фајл."
+
+msgid "IDS_IMGE_BODY_AFTER_YOU_TAKE_PICTURES_PICTURES_WILL_BE_SHOWN"
+msgstr "Откако ќе сликате, сликите ќе се прикажат."
+
+msgid "IDS_IME_BODY_LANDSCAPE_MODE"
+msgstr "Широк преглед"
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_CLOSE_DRAWER_MENU_TTS"
+msgstr "Допрете двапати за да се затвори менито на извлекување."
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_OPEN_DRAWER_MENU_TTS"
+msgstr "Допрете двапати за да го отворите менито на извлекување."
+
+msgid "IDS_EMAIL_BODY_DRAG_AND_DROP"
+msgstr "Повлечи и пушти"
+
+msgid "IDS_EMAIL_OPT_DRAWER_ABB"
+msgstr "Фиока"
+
+msgid "IDS_EMAIL_POP_MOBILE_DATA_IS_DISABLED_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_ENABLE_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Мобилните податоци се исклучени. Поврзете се со мрежа Wi-Fi или вклучете мобилни податоци и обидете се повторно"
+
+msgid "IDS_EMAIL_POP_WI_FI_CONNECTION_REQUIRED_CONNECT_TO_WI_FI_NETWORK_AND_TRY_AGAIN"
+msgstr "Потребна е врска Wi-Fi. Поврзете со мрежа Wi-Fi и обидете се повторно"
+
+msgid "IDS_GALLERY_HEADER_ADD_PICTURES_FROM_ABB"
+msgstr "Додај слики од"
+
+msgid "IDS_GALLERY_HEADER_CONNECTED_DEVICES_ABB"
+msgstr "Поврзани уреди"
+
+msgid "IDS_GALLERY_OPT_PRIVATE_CONTENT"
+msgstr "Приватна содржина"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PS"
+msgstr "Отстрани од %s"
+
+msgid "IDS_GALLERY_OPT_REMOVE_NAME_TAG"
+msgstr "Отстрани ознака на име"
+
+msgid "IDS_GALLERY_POP_THERE_ARE_NO_EVENTS_TO_DISPLAY_CREATE_A_NEW_EVENT"
+msgstr "Нема настани за прикажување. Направете нов настан."
+
+msgid "IDS_GALLERY_POP_TO_SCROLL_QUICKLY_TO_OTHER_DATES_TAP_AND_HOLD_THE_DATE_INDICATOR_AT_THE_TOP_RIGHT_OF_THE_SCREEN"
+msgstr "За да листате брзо до други датуми, допрете го и држете го показателот на датумот горе десно на екранот."
+
+msgid "IDS_GP_POP_REMOVE_PD_ITEMS_Q"
+msgstr "Отстрани %d записи?"
+
+msgid "IDS_GP_POP_REMOVE_THIS_ITEM_Q"
+msgstr "Да се отстрани записот?"
+
+msgid "IDS_HELP_BODY_GALLERY"
+msgstr "Галерија"
+
+msgid "IDS_HELP_OPT_SHUFFLED_PICTURES"
+msgstr "Измешани слики"
+
+msgid "IDS_IV_BODY_ADD_PICTURES"
+msgstr "Додај слики"
+
+msgid "IDS_IV_BODY_AFTER_YOU_TAG_PICTURES_AS_YOUR_FAVOURITES_PICTURES_WILL_BE_SHOWN"
+msgstr "Откако ќе означите слики како омилени, ќе се прикажат."
+
+msgid "IDS_IV_BODY_REMOVE_FACE_IDENTIFICATION_Q"
+msgstr "Да се отстрани идентификацијата на лица?"
+
+msgid "IDS_IV_OPT_ASSIGN_NAME"
+msgstr "Додели име"
+
+msgid "IDS_IV_OPT_CONFIRM_AS_PS"
+msgstr "Потврди како %s"
+
+msgid "IDS_IV_OPT_LAYOUT_M_PICTUERS"
+msgstr "Распоред"
+
+msgid "IDS_IV_OPT_PD_PICTURES_ADDED"
+msgstr "Додадени се %d слики"
+
+msgid "IDS_IV_POP_THE_ALBUM_WILL_BE_CANCELLED"
+msgstr "Албумот ќе се откаже."
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEM_ABB"
+msgstr "Избриши запис"
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEMS"
+msgstr "Избриши записи"
+
+msgid "IDS_MEDIABR_BODY_1_ITEM"
+msgstr "1 запис"
+
+msgid "IDS_MEDIABR_BODY_10_SECONDS"
+msgstr "10 секунди"
+
+msgid "IDS_MEDIABR_BODY_5_SECONDS"
+msgstr "5 секунди"
+
+msgid "IDS_MEDIABR_BODY_NOT_ASSIGNED"
+msgstr "Не е назначено"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL"
+msgstr "Период на слајдовите"
+
+msgid "IDS_MEDIABR_BODY_UNTAGGED"
+msgstr "Неозначено"
+
+msgid "IDS_MEDIABR_OPT_3_SECONDS"
+msgstr "3 секунди"
+
+msgid "IDS_MEDIABR_OPT_ALL_CONTENT"
+msgstr "Цела содржина"
+
+msgid "IDS_MEDIABR_OPT_CONTENT_TO_DISPLAY"
+msgstr "Содржина за приказ"
+
+msgid "IDS_MEDIABR_OPT_DELETE_TAG"
+msgstr "Избриши ознака"
+
+msgid "IDS_MEDIABR_OPT_DEVICE_CONTENT"
+msgstr "Содржина од уредот"
+
+msgid "IDS_MEDIABR_OPT_DROPBOX_CONTENT"
+msgstr "Содржина од Dropbox"
+
+msgid "IDS_MEDIABR_OPT_FACEBOOK_CONTENT"
+msgstr "Содржина од Facebook"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_LEFT"
+msgstr "Ротирај лево"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_RIGHT"
+msgstr "Ротирај десно"
+
+msgid "IDS_MEDIABR_POP_IMPORT"
+msgstr "Увези"
+
+msgid "IDS_MEDIABR_POP_IMPORTED"
+msgstr "Увезено."
+
+msgid "IDS_MEDIABR_POP_IMPORTING_ING"
+msgstr "Увезување..."
+
+msgid "IDS_MEDIABR_POP_LOADING_ING"
+msgstr "Активирање..."
+
+msgid "IDS_MEDIABR_POP_NEARBY_DEVICES_FOUND"
+msgstr "Најдени се уреди во близина."
+
+msgid "IDS_MEDIABR_POP_NO_DEVICES_FOUND_SCANNING_FOR_NEARBY_DEVICES_WILL_CONTINUE_IN_BACKGROUND"
+msgstr "Не се најдени уреди. Скенирањето за уреди во близина ќе се одвива во заднина."
+
+msgid "IDS_MEDIABR_POP_REFRESHED"
+msgstr "Обновено."
+
+msgid "IDS_MEDIABR_POP_ROTATING_ING"
+msgstr "Се врти..."
+
+msgid "IDS_MEDIABR_POP_SCAN_STARTED_DEVICE_LIST_WILL_BE_UPDATED_AUTOMATICALLY"
+msgstr "Скенирањето е почнато. Листата со уреди ќе се ажурира автоматски."
+
+msgid "IDS_MEDIABR_POP_STARTING_DOWNLOAD_ABB"
+msgstr "Почнува преземање..."
+
+msgid "IDS_MF_OPT_COPY_TO"
+msgstr "Копирај во"
+
+msgid "IDS_MF_OPT_MOVE_TO"
+msgstr "Премести во"
+
+msgid "IDS_MF_POP_FAILED_TO_ADD_SHORTCUT"
+msgstr "Неуспешно додавање кратенка."
+
+msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
+msgstr "Нема доволно меморија. Избришете некој запис"
+
+msgid "IDS_MF_POP_REMOVED"
+msgstr "Отстрането."
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Се додава..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "Да се избришат %d албуми?"
+
+msgid "IDS_ST_BODY_PRIVATE_STORAGE"
+msgstr "Приватна меморија"
+
+msgid "IDS_IV_BODY_DRAG_HERE"
+msgstr "Довлечете тука."
+
+msgid "IDS_GALLERY_BODY_NEW_M_ALBUM_ABB"
+msgstr "Ново"
+
+msgid "IDS_GALLERY_HEADER_UNGROUPEDM_PEOPLE_ABB"
+msgstr "Одгрупирано"
+
+msgid "IDS_KEEPIT_OPT_SCREENSHOTS_ABB"
+msgstr "Екрански снимки"
+
+msgid "IDS_MEDIABR_OPT_PHOTOS"
+msgstr "Фотографии"
+
+msgid "IDS_MEDIABR_POP_DOWNLOAD_FAILED"
+msgstr "Неуспешно преземање."
+
+msgid "IDS_MEDIABR_POP_UNSUPPORTED_FILE"
+msgstr "Неподдржан фајл."
+
+msgid "IDS_SEARCH_BODY_1_RESULT"
+msgstr "1 резултат"
+
+msgid "IDS_SEARCH_BODY_PD_RESULTS"
+msgstr "%d резултати"
+
+msgid "IDS_TW_BODY_FAVORITES"
+msgstr "Омилени"
+
+msgid "IDS_EMAIL_POP_DOWNLOAD_CANCELLED"
+msgstr "Преземањето е откажано."
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ALBUM_Q"
+msgstr "Да се избрише овој албум?"
+
+msgid "IDS_CAM_HEADER_WARNING_ABB"
+msgstr "Предупредување"
+
+msgid "IDS_ALM_OPT_SORT_BY"
+msgstr "Подреди според"
+
+msgid "IDS_CLD_OPT_TODAY"
+msgstr "Денес"
+
+msgid "IDS_GALLERY_BODY_DATE"
+msgstr "Датум"
+
+msgid "IDS_EMAIL_BODY_NO_ITEMS_TO_DISPLAY"
+msgstr "Нема ставки за прикажување."
+
+msgid "IDS_PBR_BODY_TAP_HERE_TO_TAKE_PICTURES_OR_VIDEOS"
+msgstr "Допрете тука за фотографирање или снимање."
+
+msgid "IDS_NFC_TPOP_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SHARED_HPD_EXCEEDED"
+msgstr "Надминат е максималниот број ставки што можат да се споделат (%d)."
+
+msgid "IDS_IV_BODY_TAP_TO_ADD_IMAGES"
+msgstr "Допрете за додавање слики."
+
+msgid "IDS_GALLERY_POP_COPY_OR_MOVE_THE_SELECTED_ITEMS_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Да се ископираат или преместат избраните записи од оригиналниот албум?"
+
+msgid "IDS_GALLERY_HEADER_SELECT"
+msgstr "Избери"
+
+msgid "IDS_VIDEO_POP_FILE_ALREADY_EXISTS"
+msgstr "Фајлот веќе постои."
+
+msgid "IDS_VIDEO_POP_THIS_ITEM_WILL_BE_DELETED"
+msgstr "Записот ќе се избрише."
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_FACEBOOK_ITEMS_WILL_BE_SHOWN"
+msgstr "Откако ќе пратите слики на Facebook, ќе се прикажат записите."
+
+msgid "IDS_GALLERY_HEADER_SELECT_ALL_ABB"
+msgstr "Избери ги сите"
+
+msgid "IDS_GALLERY_HEADER_PD_SELECTED_ABB"
+msgstr "%d избрани"
+
+msgid "IDS_GALLERY_OPT_VIEW_AS"
+msgstr "Преглед како"
+
+msgid "IDS_GALLERY_OPT_DATE_HMOST_RECENT_ABB2"
+msgstr "Датум (најнов)"
+
+msgid "IDS_GALLERY_OPT_DATE_HOLDEST_ABB3"
+msgstr "Датум (најстар)"
+
+msgid "IDS_GALLERY_BODY_AFTER_YOU_TAKE_PICTURES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Откако ќе сликате, сликите ќе се прикажат тука."
+
+msgid "IDS_CLOUD_TPOP_CANCELLING_ING"
+msgstr "Се откажува..."
+
+msgid "IDS_GALLERY_OPT_FROM_DEVICE_ABB"
+msgstr "Од уред"
+
+msgid "IDS_GALLERY_OPT_FROM_DROPBOX_ABB"
+msgstr "Од Dropbox"
+
+msgid "IDS_GALLERY_OPT_FROM_FACEBOOK_ABB"
+msgstr "Од Facebook"
+
+msgid "IDS_MUSIC_BODY_DOWNLOAD_COMPLETED"
+msgstr "Преземањето заврши."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DELETED"
+msgstr "Сите записи ќе се избришат."
+
+msgid "IDS_GALLERY_POP_1_ITEM_WILL_BE_DOWNLOADED"
+msgstr "1 запис ќе се преземе."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "Ќе се преземат %d записи."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "Ќе се преземат сите записи."
+
+msgid "IDS_GALLERY_TPOP_SELECTED_ALBUM_SAME_AS_SOURCE_ALBUM_SELECT_ANOTHER_ALBUM"
+msgstr "Избраниот албум е ист како изворниот албум. Изберете друг."
+
+msgid "IDS_HS_NPBODY_TAP_HERE_TO_ADD_IMAGES"
+msgstr "Допрете овде за да додадете слики"
+
+msgid "IDS_MF_HEADER_UNABLE_TO_SAVE_DATA_ABB"
+msgstr "Не може да се соч.подат."
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_IN_YOUR_DEVICE_STORAGE_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "Нема доволно место во меморијата на уредот. Одете во Поставки > Енергија и меморија > Меморија, избришете некој фајл и обидете се повторно."
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_YOUR_SD_CARD_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "Нема доволно место на SD-картичката. Одете во Поставки > Енергија и меморија > Меморија, избришете некој фајл и обидете се повторно."
+
+msgid "IDS_MF_BUTTON_CANCEL_ABB3"
+msgstr "Откажи"
+
+msgid "IDS_MF_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Не прикажувај веќе"
+
+msgid "IDS_MF_POP_USING_MOBILE_DATA_WHILE_ROAMING_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "Користењето мобилни податоци во роаминг може да се наплаќа дополнително, зависно од Вашиот пакет."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DELETED_ABB"
+msgstr "%d записи ќе се избришат."
+
+msgid "IDS_GALLERY_OPT_DELETE"
+msgstr "Избриши"
+
+msgid "IDS_GALLERY_BODY_YESTERDAY"
+msgstr "Вчера"
+
+msgid "IDS_BR_MBODY_DOWNLOADS"
+msgstr "Преземања"
+
+msgid "IDS_GALLERY_HEADER_COPY"
+msgstr "Копирај"
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Избриши"
+
+msgid "IDS_GALLERY_BUTTON_ALBUMS"
+msgstr "Албуми"
+
+msgid "IDS_GALLERY_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Надминат е максималниот број ставки (%d)."
+
+msgid "IDS_GALLERY_BUTTON_CANCEL"
+msgstr "Откажи"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "ГОТОВО"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ОТКАЖИ"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "ИЗБРИШИ"
+
+msgid "IDS_GALLERY_POP_COPYING_ING"
+msgstr "Се копира..."
+
+msgid "IDS_GALLERY_POP_MOVING_ING"
+msgstr "Се преместува..."
+
+msgid "IDS_STORYALBUM_POP_IF_YOU_CREATE_CONTENT_THAT_INCLUDES_ITEMS_FROM_PERSONAL_STORAGE_IT_MAY_NOT_BE_HIDDEN_AUTOMATICALLY_MSG"
+msgstr "Ако создадете содржина што вклучува записи од личната меморија, може да не се скрие автоматски. Избраните лични содржини можат да се видат кога се прегледуваат новите содржини."
+
+msgid "IDS_HS_ACBUTTON_EDIT"
+msgstr "ИЗМЕНИ"
+
+msgid "IDS_MF_BUTTON_SETTINGS"
+msgstr "Опции"
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "ИЗМЕНИ"
+
+msgid "IDS_CLOCK_HEADER_REORDER_ABB"
+msgstr "Пререди"
+
diff --git a/res/po/nb.po b/res/po/nb.po
new file mode 100644 (file)
index 0000000..15ccb27
--- /dev/null
@@ -0,0 +1,759 @@
+msgid "IDS_MF_POP_YOUR_DEVICE_IS_NOT_CONNECTED_TO_A_WI_FI_NETWORK_CONNECTING_TO_A_MOBILE_NETWORK_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "Enheten din er ikke koblet til et Wi-Fi-nettverk. Tilkobling til et mobilnett kan medføre ekstra kostnader, avhengig av abonnementet ditt."
+
+msgid "IDS_VIDEO_TPOP_MOBILE_DATA_TURNED_OFF_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_TURN_ON_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Mobildata er slått av. Koble til Wi-Fi-nettverk i stedet, eller slå på mobildata, og prøv på nytt."
+
+msgid "IDS_VIDEO_BODY_AFTER_YOU_RECORD_VIDEOS_USING_THE_CAMERA_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Når du har spilt inn videoer med kameraet, vises de her."
+
+msgid "IDS_VIDEO_TPOP_FILE_NAME_ALREADY_IN_USE"
+msgstr "Filnavnet er allerede i bruk."
+
+msgid "IDS_MF_POP_DELETE_PD_ITEMS_Q"
+msgstr "Slette %d elementer?"
+
+msgid "IDS_ST_HEADER_PRIVACY"
+msgstr "Personvern"
+
+msgid "IDS_COM_BODY_SEP_ABB"
+msgstr "Sep."
+
+msgid "IDS_COM_BODY_OCT_ABB"
+msgstr "Okt."
+
+msgid "IDS_COM_BODY_NOV_ABB"
+msgstr "Nov."
+
+msgid "IDS_COM_BODY_MAY_ABB"
+msgstr "Mai"
+
+msgid "IDS_COM_BODY_MAR_ABB"
+msgstr "Mars"
+
+msgid "IDS_COM_BODY_JUN_ABB"
+msgstr "Juni"
+
+msgid "IDS_COM_BODY_JUL_ABB"
+msgstr "Juli"
+
+msgid "IDS_COM_BODY_JAN_ABB"
+msgstr "Jan."
+
+msgid "IDS_COM_BODY_FEB_ABB"
+msgstr "Feb."
+
+msgid "IDS_COM_BODY_DEC_ABB"
+msgstr "Des."
+
+msgid "IDS_COM_BODY_AUG_ABB"
+msgstr "Aug."
+
+msgid "IDS_COM_BODY_APR_ABB"
+msgstr "Apr."
+
+msgid "IDS_GALLERY_HEADER_ALBUM"
+msgstr "Album"
+
+msgid "IDS_MEDIABR_OPT_MORE"
+msgstr "Mer"
+
+msgid "IDS_MEDIABR_POP_INVALID_INPUT_PARAMETER"
+msgstr "Ugyldig inndataparameter."
+
+msgid "IDS_MEDIABR_POP_ENTRY_IS_EMPTY"
+msgstr "Oppføringen er tom."
+
+msgid "IDS_MEDIABR_POP_SAME_NAME_ALREADY_IN_USE"
+msgstr "Samme navn allerede i bruk."
+
+msgid "IDS_MEDIABR_POP_UNABLE_TO_RENAME"
+msgstr "Kan ikke gi nytt navn."
+
+msgid "IDS_MEDIABR_POP_NO_ALBUMS_SELECTED"
+msgstr "Ingen album valgt."
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ITEM"
+msgstr "Velg objekt"
+
+msgid "IDS_MEDIABR_BODY_NO_ALBUMS"
+msgstr "Ingen album"
+
+msgid "IDS_MEDIABR_POP_CREATE_FOLDER_Q"
+msgstr "Opprette mappe?"
+
+msgid "IDS_MEDIABR_POP_RETRY_Q"
+msgstr "Prøve på nytt?"
+
+msgid "IDS_MEDIABR_POPUP_REMOVE_Q"
+msgstr "Fjerne?"
+
+msgid "IDS_MEDIABR_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "%d album vil bli slettet."
+
+msgid "IDS_MEDIABR_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "1 album blir slettet."
+
+msgid "IDS_MEDIABR_BODY_CAMERA"
+msgstr "Kamera"
+
+msgid "IDS_MEDIABR_BUTTON_START"
+msgstr "Start"
+
+msgid "IDS_MEDIABR_OPT_SETTINGS"
+msgstr "Innstillinger"
+
+msgid "IDS_MEDIABR_OPT_YES"
+msgstr "Ja"
+
+msgid "IDS_MEDIABR_OPT_NO"
+msgstr "Nei"
+
+msgid "IDS_MEDIABR_BUTTON_OK"
+msgstr "OK"
+
+msgid "IDS_MEDIABR_BUTTON_SAVE"
+msgstr "Lagre"
+
+msgid "IDS_MEDIABR_POP_DELETE_Q"
+msgstr "Slette?"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_ALBUM"
+msgstr "Flytt til album"
+
+msgid "IDS_GALLERY_OPT_COPY_TO_ALBUM"
+msgstr "Kopier til album"
+
+msgid "IDS_GALLERY_HEADER_VIEW_BY_ABB"
+msgstr "Visningstype"
+
+msgid "IDS_GALLERY_HEADER_ENTER_NAME"
+msgstr "Angi navn"
+
+msgid "IDS_MEDIABR_POP_ALL_DATA_RELATED_TO_THIS_ACCOUNT_WILL_BE_DELETED_CONTINUE_Q"
+msgstr "Alle data forbundet med denne kontoen slettes. Fortsette?"
+
+msgid "IDS_MEDIABR_BUTTON_CANCEL_ABB"
+msgstr "Avbryt"
+
+msgid "IDS_MEDIABR_TAB4_NEW_ALBUM"
+msgstr "Nytt album"
+
+msgid "IDS_MEDIABR_POP_DO_YOU_WANT_TO_COPY_OR_MOVE_THE_PICTURES_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Vil du kopiere eller flytte bildene fra det originale albumet?"
+
+msgid "IDS_MEDIABR_OPT_SHARE"
+msgstr "Del"
+
+msgid "IDS_MEDIABR_OPT_SLIDESHOW"
+msgstr "Bildefremvisning"
+
+msgid "IDS_MEDIABR_OPT_START_SLIDESHOW"
+msgstr "Start bildefremvisning"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS"
+msgstr "Bildefremvisninginnstillinger"
+
+msgid "IDS_MEDIABR_POP_NO_NAME"
+msgstr "Ingen navn"
+
+msgid "IDS_MEDIABR_BODY_ALL_ALBUMS"
+msgstr "Alle album"
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ALBUM"
+msgstr "Velg album"
+
+msgid "IDS_MEDIABR_POP_1_ITEM_WILL_BE_DELETED"
+msgstr "1 element vil bli slettet."
+
+msgid "IDS_MEDIABR_OPT_ALL_ITEMS"
+msgstr "Alle elementer"
+
+msgid "IDS_MEDIABR_BODY_PD_ITEMS"
+msgstr "%d elementer"
+
+msgid "IDS_IV_BODY_THERE_IS_ONLY_ONE_ALBUM"
+msgstr "Det er bare ett album."
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "Du kan velge opptil %d elementer."
+
+msgid "IDS_MF_BODY_DOWNLOADS"
+msgstr "Nedlastinger"
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Slette?"
+
+msgid "IDS_MF_SK_MOVE"
+msgstr "Flytt"
+
+msgid "IDS_MF_POP_DELETING_ING"
+msgstr "Sletter..."
+
+msgid "IDS_CAM_BODY_OPERATION_FAILED"
+msgstr "Operasjonen mislyktes."
+
+msgid "IDS_MSG_BODY_CANCELLED_M_CONTENT"
+msgstr "Avbrutt"
+
+msgid "IDS_MF_OPT_DELETE_SELECTED"
+msgstr "Valgt"
+
+msgid "IDS_MF_POP_MOVED"
+msgstr "Flyttet."
+
+msgid "IDS_MF_POP_COPIED"
+msgstr "Kopiert."
+
+msgid "IDS_VPL_POP_NO_FILES_SELECTED"
+msgstr "Ingen filer valgt."
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Lukk"
+
+msgid "IDS_MF_OPT_SORT_BY_ABB"
+msgstr "Sorter etter"
+
+msgid "IDS_CAM_POP_LATEST"
+msgstr "Siste"
+
+msgid "IDS_MEDIABR_POP_OLDEST_M_DATE"
+msgstr "Eldste"
+
+msgid "IDS_MSG_BUTTON2_CREATE"
+msgstr "Opprett"
+
+msgid "IDS_MEDIABR_POP_NO_ITEMS"
+msgstr "Ingen elementer"
+
+msgid "IDS_MEDIABR_OPT_EDIT_IMAGE"
+msgstr "Rediger bilde"
+
+msgid "IDS_MEDIABR_BODY_SELECT_PICTURE"
+msgstr "Velg bilde"
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ITEM_Q"
+msgstr "Vil du slette dette elementet?"
+
+msgid "IDS_GALLERY_OPT_SCENERY"
+msgstr "Landskap"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PRIVATE"
+msgstr "Fjern fra Privat"
+
+msgid "IDS_GALLERY_OPT_PETS"
+msgstr "Kjæledyr"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_PRIVATE"
+msgstr "Flytt til Privat"
+
+msgid "IDS_GALLERY_OPT_FOOD"
+msgstr "Mat"
+
+msgid "IDS_GALLERY_OPT_FLOWERS"
+msgstr "Blomster"
+
+msgid "IDS_GALLERY_OPT_DOCUMENTS"
+msgstr "Dokumenter"
+
+msgid "IDS_GALLERY_MBODY_VEHICLES"
+msgstr "Kjøretøy"
+
+msgid "IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED"
+msgstr "Maksimalt antall tegn (%d) er nådd."
+
+msgid "IDS_IV_BODY_UNABLE_TO_LOAD_PHOTO_ABB"
+msgstr "Kan ikke laste bilde."
+
+msgid "IDS_IV_BODY_SHARE_VIA"
+msgstr "Del via"
+
+msgid "IDS_IV_BODY_DONT_ASK_AGAIN"
+msgstr "Ikke spør på nytt"
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Nådd maksimalt antall tegn."
+
+msgid "IDS_GALLERY_HEADER_TIME"
+msgstr "Tid"
+
+msgid "IDS_EMAIL_BODY_FAILED_M_STATUS"
+msgstr "Mislykket"
+
+msgid "IDS_EMAIL_BODY_DELETED"
+msgstr "Slettet."
+
+msgid "IDS_EMAIL_POP_DELETE_Q"
+msgstr "Slette?"
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Tar bort..."
+
+msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS"
+msgstr "Viser %d elementer"
+
+msgid "IDS_GALLERY_OPT_CREATE_ALBUM"
+msgstr "Opprett album"
+
+msgid "IDS_GALLERY_OPT_GALLERY_ABB"
+msgstr "Galleri"
+
+msgid "IDS_EMAIL_BUTTON_MORE"
+msgstr "Mer"
+
+msgid "IDS_EMAIL_OPT_ACCOUNTS"
+msgstr "Kontoer"
+
+msgid "IDS_EMAIL_POP_OPERATION_FAILED"
+msgstr "Operasjonen mislyktes."
+
+msgid "IDS_GALLERY_BODY_DOWNLOAD"
+msgstr "Last ned"
+
+msgid "IDS_GALLERY_BODY_SEARCH"
+msgstr "Søk"
+
+msgid "IDS_GALLERY_BUTTON_BACK"
+msgstr "Tilbake"
+
+msgid "IDS_GALLERY_BUTTON_CAMERA"
+msgstr "Kamera"
+
+msgid "IDS_GALLERY_HEADER_ALL"
+msgstr "Alle"
+
+msgid "IDS_GALLERY_OPT_REFRESH"
+msgstr "Oppdater"
+
+msgid "IDS_GALLERY_OPT_REMOVE"
+msgstr "Fjern"
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_DROPBOX_ITEMS_WILL_BE_SHOWN"
+msgstr "Når du har lastet opp bilder til Dropbox, vises elementer."
+
+msgid "IDS_KEEPIT_BODY_GROUP_PLAY_ABB"
+msgstr "Group Play"
+
+msgid "IDS_MEDIABR_HEADER_CONTACTS"
+msgstr "Kontakter"
+
+msgid "IDS_MEDIABR_OPT_CREATE"
+msgstr "Opprett"
+
+msgid "IDS_MEDIABR_OPT_DETAILS"
+msgstr "Detaljer"
+
+msgid "IDS_MEDIABR_OPT_PRINT"
+msgstr "Skriv ut"
+
+msgid "IDS_MEDIABR_OPT_RENAME"
+msgstr "Endre navn"
+
+msgid "IDS_MEDIABR_POP_DOWNLOADED"
+msgstr "Nedlastet."
+
+msgid "IDS_MEDIABR_POP_DOWNLOADING_ING"
+msgstr "Laster ned..."
+
+msgid "IDS_MF_HEADER_ENTER_NAME"
+msgstr "Angi navn."
+
+msgid "IDS_MF_HEADER_MYFILES"
+msgstr "Mine filer"
+
+msgid "IDS_MF_POP_ADDED"
+msgstr "Lagt til."
+
+msgid "IDS_MF_POP_PROCESSING_ING"
+msgstr "Behandler..."
+
+msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
+msgstr "Filtypen støttes ikke."
+
+msgid "IDS_IMGE_BODY_AFTER_YOU_TAKE_PICTURES_PICTURES_WILL_BE_SHOWN"
+msgstr "Etter at du tar bilder, vises bildene."
+
+msgid "IDS_IME_BODY_LANDSCAPE_MODE"
+msgstr "Liggende modus"
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_CLOSE_DRAWER_MENU_TTS"
+msgstr "Trykk raskt to ganger for å lukke skuffmenyen."
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_OPEN_DRAWER_MENU_TTS"
+msgstr "Trykk raskt to ganger for å åpne skuffmenyen."
+
+msgid "IDS_EMAIL_BODY_DRAG_AND_DROP"
+msgstr "Dra og slipp"
+
+msgid "IDS_EMAIL_OPT_DRAWER_ABB"
+msgstr "Skuff"
+
+msgid "IDS_EMAIL_POP_MOBILE_DATA_IS_DISABLED_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_ENABLE_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Mobildata er deaktivert. Koble til Wi-Fi-nettverk i stedet, eller aktiver mobildata og prøv på nytt."
+
+msgid "IDS_EMAIL_POP_WI_FI_CONNECTION_REQUIRED_CONNECT_TO_WI_FI_NETWORK_AND_TRY_AGAIN"
+msgstr "Wi-Fi-tilkobling nødvendig. Koble til Wi-Fi-nettverk og prøv på nytt."
+
+msgid "IDS_GALLERY_HEADER_ADD_PICTURES_FROM_ABB"
+msgstr "Legg til bilder fra"
+
+msgid "IDS_GALLERY_HEADER_CONNECTED_DEVICES_ABB"
+msgstr "Tilkoblede enheter"
+
+msgid "IDS_GALLERY_OPT_PRIVATE_CONTENT"
+msgstr "Privat innhold"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PS"
+msgstr "Fjern fra %s"
+
+msgid "IDS_GALLERY_OPT_REMOVE_NAME_TAG"
+msgstr "Fjern navnetagg"
+
+msgid "IDS_GALLERY_POP_THERE_ARE_NO_EVENTS_TO_DISPLAY_CREATE_A_NEW_EVENT"
+msgstr "Det er ingen hendelser å vise. Opprett en ny hendelse."
+
+msgid "IDS_GALLERY_POP_TO_SCROLL_QUICKLY_TO_OTHER_DATES_TAP_AND_HOLD_THE_DATE_INDICATOR_AT_THE_TOP_RIGHT_OF_THE_SCREEN"
+msgstr "Trykk på og hold datoindikatoren øverst til høyre på skjermen for raskt å bla til andre datoer."
+
+msgid "IDS_GP_POP_REMOVE_PD_ITEMS_Q"
+msgstr "Fjerne %d elementer?"
+
+msgid "IDS_GP_POP_REMOVE_THIS_ITEM_Q"
+msgstr "Vil du fjerne dette elementet?"
+
+msgid "IDS_HELP_BODY_GALLERY"
+msgstr "Galleri"
+
+msgid "IDS_HELP_OPT_SHUFFLED_PICTURES"
+msgstr "Tilfeldige bilder"
+
+msgid "IDS_IV_BODY_ADD_PICTURES"
+msgstr "Legg til bilder"
+
+msgid "IDS_IV_BODY_AFTER_YOU_TAG_PICTURES_AS_YOUR_FAVOURITES_PICTURES_WILL_BE_SHOWN"
+msgstr "Når du har tagget bilder som favoritter, vises bildene."
+
+msgid "IDS_IV_BODY_REMOVE_FACE_IDENTIFICATION_Q"
+msgstr "Fjerne ansiktsidentifikasjon?"
+
+msgid "IDS_IV_OPT_ASSIGN_NAME"
+msgstr "Tildel navn"
+
+msgid "IDS_IV_OPT_CONFIRM_AS_PS"
+msgstr "Bekreft som %s"
+
+msgid "IDS_IV_OPT_LAYOUT_M_PICTUERS"
+msgstr "Layout"
+
+msgid "IDS_IV_OPT_PD_PICTURES_ADDED"
+msgstr "%d bilder lagt til"
+
+msgid "IDS_IV_POP_THE_ALBUM_WILL_BE_CANCELLED"
+msgstr "Albumet vil bli kansellert."
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEM_ABB"
+msgstr "Slett element"
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEMS"
+msgstr "Slett elementer"
+
+msgid "IDS_MEDIABR_BODY_1_ITEM"
+msgstr "1 element"
+
+msgid "IDS_MEDIABR_BODY_10_SECONDS"
+msgstr "10 sekunder"
+
+msgid "IDS_MEDIABR_BODY_5_SECONDS"
+msgstr "5 sekunder"
+
+msgid "IDS_MEDIABR_BODY_NOT_ASSIGNED"
+msgstr "Ikke tilordnet"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL"
+msgstr "Bildefremvisningsintervall"
+
+msgid "IDS_MEDIABR_BODY_UNTAGGED"
+msgstr "Ikke tagget"
+
+msgid "IDS_MEDIABR_OPT_3_SECONDS"
+msgstr "3 sekunder"
+
+msgid "IDS_MEDIABR_OPT_ALL_CONTENT"
+msgstr "Alt innhold"
+
+msgid "IDS_MEDIABR_OPT_CONTENT_TO_DISPLAY"
+msgstr "Innhold som skal vises"
+
+msgid "IDS_MEDIABR_OPT_DELETE_TAG"
+msgstr "Slett tagg"
+
+msgid "IDS_MEDIABR_OPT_DEVICE_CONTENT"
+msgstr "Enhetsinnhold"
+
+msgid "IDS_MEDIABR_OPT_DROPBOX_CONTENT"
+msgstr "Dropbox-innhold"
+
+msgid "IDS_MEDIABR_OPT_FACEBOOK_CONTENT"
+msgstr "Facebook-innhold"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_LEFT"
+msgstr "Roter mot klokken"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_RIGHT"
+msgstr "Roter med klokken"
+
+msgid "IDS_MEDIABR_POP_IMPORT"
+msgstr "Importer"
+
+msgid "IDS_MEDIABR_POP_IMPORTED"
+msgstr "Importert."
+
+msgid "IDS_MEDIABR_POP_IMPORTING_ING"
+msgstr "Importerer..."
+
+msgid "IDS_MEDIABR_POP_LOADING_ING"
+msgstr "Åpner..."
+
+msgid "IDS_MEDIABR_POP_NEARBY_DEVICES_FOUND"
+msgstr "Enheter funnet i nærheten."
+
+msgid "IDS_MEDIABR_POP_NO_DEVICES_FOUND_SCANNING_FOR_NEARBY_DEVICES_WILL_CONTINUE_IN_BACKGROUND"
+msgstr "Ingen enheter funnet. Søk etter enheter i nærheten vil fortsette i bakgrunnen."
+
+msgid "IDS_MEDIABR_POP_REFRESHED"
+msgstr "Oppdatert."
+
+msgid "IDS_MEDIABR_POP_ROTATING_ING"
+msgstr "Roterer..."
+
+msgid "IDS_MEDIABR_POP_SCAN_STARTED_DEVICE_LIST_WILL_BE_UPDATED_AUTOMATICALLY"
+msgstr "Søk startet. Enhetslisten vil oppdateres automatisk."
+
+msgid "IDS_MEDIABR_POP_STARTING_DOWNLOAD_ABB"
+msgstr "Starter nedlasting..."
+
+msgid "IDS_MF_OPT_COPY_TO"
+msgstr "Kopier til"
+
+msgid "IDS_MF_OPT_MOVE_TO"
+msgstr "Flytt til"
+
+msgid "IDS_MF_POP_FAILED_TO_ADD_SHORTCUT"
+msgstr "Kunne ikke legge til snarvei."
+
+msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
+msgstr "Ikke nok minne. Slett noen elementer."
+
+msgid "IDS_MF_POP_REMOVED"
+msgstr "Fjernet."
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Legger til..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "Vil du slette %d album?"
+
+msgid "IDS_ST_BODY_PRIVATE_STORAGE"
+msgstr "Privat lagring"
+
+msgid "IDS_IV_BODY_DRAG_HERE"
+msgstr "Dra hit."
+
+msgid "IDS_GALLERY_BODY_NEW_M_ALBUM_ABB"
+msgstr "Ny"
+
+msgid "IDS_GALLERY_HEADER_UNGROUPEDM_PEOPLE_ABB"
+msgstr "Ugruppert"
+
+msgid "IDS_KEEPIT_OPT_SCREENSHOTS_ABB"
+msgstr "Skjermbilder"
+
+msgid "IDS_MEDIABR_OPT_PHOTOS"
+msgstr "Bilder"
+
+msgid "IDS_MEDIABR_POP_DOWNLOAD_FAILED"
+msgstr "Nedlasting mislyktes."
+
+msgid "IDS_MEDIABR_POP_UNSUPPORTED_FILE"
+msgstr "Filen støttes ikke."
+
+msgid "IDS_SEARCH_BODY_1_RESULT"
+msgstr "1 resultat"
+
+msgid "IDS_SEARCH_BODY_PD_RESULTS"
+msgstr "%d resultater"
+
+msgid "IDS_TW_BODY_FAVORITES"
+msgstr "Favoritter"
+
+msgid "IDS_EMAIL_POP_DOWNLOAD_CANCELLED"
+msgstr "Nedlasting avbrutt."
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ALBUM_Q"
+msgstr "Vil du slette dette albumet?"
+
+msgid "IDS_CAM_HEADER_WARNING_ABB"
+msgstr "Advarsel"
+
+msgid "IDS_ALM_OPT_SORT_BY"
+msgstr "Sorter etter"
+
+msgid "IDS_CLD_OPT_TODAY"
+msgstr "I dag"
+
+msgid "IDS_GALLERY_BODY_DATE"
+msgstr "Dato"
+
+msgid "IDS_EMAIL_BODY_NO_ITEMS_TO_DISPLAY"
+msgstr "Ingen elementer å vise."
+
+msgid "IDS_PBR_BODY_TAP_HERE_TO_TAKE_PICTURES_OR_VIDEOS"
+msgstr "Trykk her for å ta bilder eller videoer."
+
+msgid "IDS_NFC_TPOP_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SHARED_HPD_EXCEEDED"
+msgstr "Maksimalt antall elementer som kan deles (%d), er oversteget."
+
+msgid "IDS_IV_BODY_TAP_TO_ADD_IMAGES"
+msgstr "Trykk for å legge til bilder."
+
+msgid "IDS_GALLERY_POP_COPY_OR_MOVE_THE_SELECTED_ITEMS_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Vil du kopiere eller flytte de valgte elementene fra det originale albumet?"
+
+msgid "IDS_GALLERY_HEADER_SELECT"
+msgstr "Velg"
+
+msgid "IDS_VIDEO_POP_FILE_ALREADY_EXISTS"
+msgstr "Filen finnes allerede."
+
+msgid "IDS_VIDEO_POP_THIS_ITEM_WILL_BE_DELETED"
+msgstr "Dette elementet vil bli slettet."
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_FACEBOOK_ITEMS_WILL_BE_SHOWN"
+msgstr "Når du har lastet opp bilder til Facebook, vises elementer."
+
+msgid "IDS_GALLERY_HEADER_SELECT_ALL_ABB"
+msgstr "Merk alt"
+
+msgid "IDS_GALLERY_HEADER_PD_SELECTED_ABB"
+msgstr "%d er valgt"
+
+msgid "IDS_GALLERY_OPT_VIEW_AS"
+msgstr "Vis som"
+
+msgid "IDS_GALLERY_OPT_DATE_HMOST_RECENT_ABB2"
+msgstr "Dato (nyeste)"
+
+msgid "IDS_GALLERY_OPT_DATE_HOLDEST_ABB3"
+msgstr "Dato (eldste)"
+
+msgid "IDS_GALLERY_BODY_AFTER_YOU_TAKE_PICTURES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Når du har tatt bilder, vises de her."
+
+msgid "IDS_CLOUD_TPOP_CANCELLING_ING"
+msgstr "Avbryter..."
+
+msgid "IDS_GALLERY_OPT_FROM_DEVICE_ABB"
+msgstr "Fra enhet"
+
+msgid "IDS_GALLERY_OPT_FROM_DROPBOX_ABB"
+msgstr "Fra Dropbox"
+
+msgid "IDS_GALLERY_OPT_FROM_FACEBOOK_ABB"
+msgstr "Fra Facebook"
+
+msgid "IDS_MUSIC_BODY_DOWNLOAD_COMPLETED"
+msgstr "Nedlasting fullført."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DELETED"
+msgstr "Alle elementer vil bli slettet."
+
+msgid "IDS_GALLERY_POP_1_ITEM_WILL_BE_DOWNLOADED"
+msgstr "1 element blir lastet ned."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "%d elementer blir lastet ned."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "Alle elementer blir lastet ned."
+
+msgid "IDS_GALLERY_TPOP_SELECTED_ALBUM_SAME_AS_SOURCE_ALBUM_SELECT_ANOTHER_ALBUM"
+msgstr "Valgt album er det samme som kildealbum. Velg et annet album."
+
+msgid "IDS_HS_NPBODY_TAP_HERE_TO_ADD_IMAGES"
+msgstr "Trykk her for å legge til bilder"
+
+msgid "IDS_MF_HEADER_UNABLE_TO_SAVE_DATA_ABB"
+msgstr "Kan ikke lagre data"
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_IN_YOUR_DEVICE_STORAGE_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "Det er ikke nok ledig plass i enhetsminnet. Gå til Innstillinger > Strøm og lagring > Lagring, slett noen filer, og prøv på nytt."
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_YOUR_SD_CARD_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "Det er ikke nok ledig plass på SD-kortet. Gå til Innstillinger > Strøm og lagring > Lagring, slett noen filer, og prøv på nytt."
+
+msgid "IDS_MF_BUTTON_CANCEL_ABB3"
+msgstr "Avbryt"
+
+msgid "IDS_MF_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Ikke vis igjen"
+
+msgid "IDS_MF_POP_USING_MOBILE_DATA_WHILE_ROAMING_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "Bruk av mobildata under roaming kan medføre ekstra kostnader, avhengig av abonnementet ditt."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DELETED_ABB"
+msgstr "%d elementer blir slettet."
+
+msgid "IDS_GALLERY_OPT_DELETE"
+msgstr "Slett"
+
+msgid "IDS_GALLERY_BODY_YESTERDAY"
+msgstr "I går"
+
+msgid "IDS_BR_MBODY_DOWNLOADS"
+msgstr "Nedlastinger"
+
+msgid "IDS_GALLERY_HEADER_COPY"
+msgstr "Kopier"
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Slett"
+
+msgid "IDS_GALLERY_BUTTON_ALBUMS"
+msgstr "Album"
+
+msgid "IDS_GALLERY_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Maksimalt antall elementer (%d) er overskredet."
+
+msgid "IDS_GALLERY_BUTTON_CANCEL"
+msgstr "Avbryt"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "FULLFØRT"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "AVBRYT"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "SLETT"
+
+msgid "IDS_GALLERY_POP_COPYING_ING"
+msgstr "Kopierer..."
+
+msgid "IDS_GALLERY_POP_MOVING_ING"
+msgstr "Flytter..."
+
+msgid "IDS_STORYALBUM_POP_IF_YOU_CREATE_CONTENT_THAT_INCLUDES_ITEMS_FROM_PERSONAL_STORAGE_IT_MAY_NOT_BE_HIDDEN_AUTOMATICALLY_MSG"
+msgstr "Hvis du oppretter innhold som inkluderer elementer fra den personlige lagringsplassen, kan det hende at det nye innholdet ikke automatisk skjules. Det kan hende at det valgte personlige innholdet vil kunne sees ved å vise det nye innholdet."
+
+msgid "IDS_HS_ACBUTTON_EDIT"
+msgstr "REDIGER"
+
+msgid "IDS_MF_BUTTON_SETTINGS"
+msgstr "Innstillinger"
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "REDIGER"
+
+msgid "IDS_CLOCK_HEADER_REORDER_ABB"
+msgstr "Omordne"
+
diff --git a/res/po/nl.po b/res/po/nl.po
new file mode 100644 (file)
index 0000000..daa54b4
--- /dev/null
@@ -0,0 +1,759 @@
+msgid "IDS_MF_POP_YOUR_DEVICE_IS_NOT_CONNECTED_TO_A_WI_FI_NETWORK_CONNECTING_TO_A_MOBILE_NETWORK_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "Uw apparaat is niet verbonden met een Wi-Fi-netwerk. Voor verbinding met een mobiel netwerk kunnen afhankelijk van uw abonnement extra kosten gelden."
+
+msgid "IDS_VIDEO_TPOP_MOBILE_DATA_TURNED_OFF_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_TURN_ON_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Mobiele gegevens zijn uitgeschakeld. Maak in plaats daarvan verbinding met een Wi-Fi-netwerk of schakel Mobiele gegevens in en probeer het opnieuw."
+
+msgid "IDS_VIDEO_BODY_AFTER_YOU_RECORD_VIDEOS_USING_THE_CAMERA_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Nadat u video´s hebt opgenomen met de camera, worden ze hier getoond."
+
+msgid "IDS_VIDEO_TPOP_FILE_NAME_ALREADY_IN_USE"
+msgstr "Bestandsnaam is al in gebruik."
+
+msgid "IDS_MF_POP_DELETE_PD_ITEMS_Q"
+msgstr "%d items verwijderen?"
+
+msgid "IDS_ST_HEADER_PRIVACY"
+msgstr "Privacy"
+
+msgid "IDS_COM_BODY_SEP_ABB"
+msgstr "Sep."
+
+msgid "IDS_COM_BODY_OCT_ABB"
+msgstr "Okt."
+
+msgid "IDS_COM_BODY_NOV_ABB"
+msgstr "Nov."
+
+msgid "IDS_COM_BODY_MAY_ABB"
+msgstr "mei"
+
+msgid "IDS_COM_BODY_MAR_ABB"
+msgstr "Mrt."
+
+msgid "IDS_COM_BODY_JUN_ABB"
+msgstr "Jun."
+
+msgid "IDS_COM_BODY_JUL_ABB"
+msgstr "Jul."
+
+msgid "IDS_COM_BODY_JAN_ABB"
+msgstr "Jan."
+
+msgid "IDS_COM_BODY_FEB_ABB"
+msgstr "Feb."
+
+msgid "IDS_COM_BODY_DEC_ABB"
+msgstr "Dec."
+
+msgid "IDS_COM_BODY_AUG_ABB"
+msgstr "Aug."
+
+msgid "IDS_COM_BODY_APR_ABB"
+msgstr "Apr."
+
+msgid "IDS_GALLERY_HEADER_ALBUM"
+msgstr "Album"
+
+msgid "IDS_MEDIABR_OPT_MORE"
+msgstr "Meer"
+
+msgid "IDS_MEDIABR_POP_INVALID_INPUT_PARAMETER"
+msgstr "Ongeldige invoerparameter."
+
+msgid "IDS_MEDIABR_POP_ENTRY_IS_EMPTY"
+msgstr "Geen gegevens."
+
+msgid "IDS_MEDIABR_POP_SAME_NAME_ALREADY_IN_USE"
+msgstr "Naam is al in gebruik."
+
+msgid "IDS_MEDIABR_POP_UNABLE_TO_RENAME"
+msgstr "Kan de naam niet wijzigen."
+
+msgid "IDS_MEDIABR_POP_NO_ALBUMS_SELECTED"
+msgstr "Geen albums geselecteerd."
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ITEM"
+msgstr "Item selecteren"
+
+msgid "IDS_MEDIABR_BODY_NO_ALBUMS"
+msgstr "Geen albums"
+
+msgid "IDS_MEDIABR_POP_CREATE_FOLDER_Q"
+msgstr "Map maken?"
+
+msgid "IDS_MEDIABR_POP_RETRY_Q"
+msgstr "Opnieuw?"
+
+msgid "IDS_MEDIABR_POPUP_REMOVE_Q"
+msgstr "Verwijderen?"
+
+msgid "IDS_MEDIABR_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "%d albums worden verwijderd."
+
+msgid "IDS_MEDIABR_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "1 album wordt verwijderd."
+
+msgid "IDS_MEDIABR_BODY_CAMERA"
+msgstr "Camera"
+
+msgid "IDS_MEDIABR_BUTTON_START"
+msgstr "Start"
+
+msgid "IDS_MEDIABR_OPT_SETTINGS"
+msgstr "Instellingen"
+
+msgid "IDS_MEDIABR_OPT_YES"
+msgstr "Ja"
+
+msgid "IDS_MEDIABR_OPT_NO"
+msgstr "Nee"
+
+msgid "IDS_MEDIABR_BUTTON_OK"
+msgstr "OK"
+
+msgid "IDS_MEDIABR_BUTTON_SAVE"
+msgstr "Opslaan"
+
+msgid "IDS_MEDIABR_POP_DELETE_Q"
+msgstr "Verwijderen?"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_ALBUM"
+msgstr "Verplaatsen naar album"
+
+msgid "IDS_GALLERY_OPT_COPY_TO_ALBUM"
+msgstr "Kopiëren naar album"
+
+msgid "IDS_GALLERY_HEADER_VIEW_BY_ABB"
+msgstr "Weergeven op"
+
+msgid "IDS_GALLERY_HEADER_ENTER_NAME"
+msgstr "Geef de naam in"
+
+msgid "IDS_MEDIABR_POP_ALL_DATA_RELATED_TO_THIS_ACCOUNT_WILL_BE_DELETED_CONTINUE_Q"
+msgstr "Alle gegevens die met dit account samenhangen, worden verwijderd. Doorgaan?"
+
+msgid "IDS_MEDIABR_BUTTON_CANCEL_ABB"
+msgstr "Annuleren"
+
+msgid "IDS_MEDIABR_TAB4_NEW_ALBUM"
+msgstr "Nieuw album"
+
+msgid "IDS_MEDIABR_POP_DO_YOU_WANT_TO_COPY_OR_MOVE_THE_PICTURES_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Wilt u de foto´s in het oorspronkelijke album kopiëren en verplaatsen?"
+
+msgid "IDS_MEDIABR_OPT_SHARE"
+msgstr "Delen"
+
+msgid "IDS_MEDIABR_OPT_SLIDESHOW"
+msgstr "Diashow"
+
+msgid "IDS_MEDIABR_OPT_START_SLIDESHOW"
+msgstr "Diashow starten"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS"
+msgstr "Instellingen diashow"
+
+msgid "IDS_MEDIABR_POP_NO_NAME"
+msgstr "Geen naam"
+
+msgid "IDS_MEDIABR_BODY_ALL_ALBUMS"
+msgstr "Alle albums"
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ALBUM"
+msgstr "Album selecteren"
+
+msgid "IDS_MEDIABR_POP_1_ITEM_WILL_BE_DELETED"
+msgstr "1 item wordt verwijderd."
+
+msgid "IDS_MEDIABR_OPT_ALL_ITEMS"
+msgstr "Alle items"
+
+msgid "IDS_MEDIABR_BODY_PD_ITEMS"
+msgstr "%d items"
+
+msgid "IDS_IV_BODY_THERE_IS_ONLY_ONE_ALBUM"
+msgstr "Er is slechts één album."
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "U kunt maximaal %d items selecteren."
+
+msgid "IDS_MF_BODY_DOWNLOADS"
+msgstr "Downloads"
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Verwijderen?"
+
+msgid "IDS_MF_SK_MOVE"
+msgstr "Verplaatsen"
+
+msgid "IDS_MF_POP_DELETING_ING"
+msgstr "Verwijderen..."
+
+msgid "IDS_CAM_BODY_OPERATION_FAILED"
+msgstr "Bewerking is mislukt."
+
+msgid "IDS_MSG_BODY_CANCELLED_M_CONTENT"
+msgstr "Geannuleerd"
+
+msgid "IDS_MF_OPT_DELETE_SELECTED"
+msgstr "Geselecteerd"
+
+msgid "IDS_MF_POP_MOVED"
+msgstr "Verplaatst."
+
+msgid "IDS_MF_POP_COPIED"
+msgstr "Gekopieerd."
+
+msgid "IDS_VPL_POP_NO_FILES_SELECTED"
+msgstr "Geen bestanden geselecteerd."
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Sluiten"
+
+msgid "IDS_MF_OPT_SORT_BY_ABB"
+msgstr "Sorteren op"
+
+msgid "IDS_CAM_POP_LATEST"
+msgstr "Laatste"
+
+msgid "IDS_MEDIABR_POP_OLDEST_M_DATE"
+msgstr "Oudst"
+
+msgid "IDS_MSG_BUTTON2_CREATE"
+msgstr "Maken"
+
+msgid "IDS_MEDIABR_POP_NO_ITEMS"
+msgstr "Geen items"
+
+msgid "IDS_MEDIABR_OPT_EDIT_IMAGE"
+msgstr "Afbeelding bewerken"
+
+msgid "IDS_MEDIABR_BODY_SELECT_PICTURE"
+msgstr "Foto selecteren"
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ITEM_Q"
+msgstr "Dit item verwijderen?"
+
+msgid "IDS_GALLERY_OPT_SCENERY"
+msgstr "Landschap"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PRIVATE"
+msgstr "Verwijderen uit Privé"
+
+msgid "IDS_GALLERY_OPT_PETS"
+msgstr "Huisdieren"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_PRIVATE"
+msgstr "Verplaatsen naar Privé"
+
+msgid "IDS_GALLERY_OPT_FOOD"
+msgstr "Voedsel"
+
+msgid "IDS_GALLERY_OPT_FLOWERS"
+msgstr "Bloemen"
+
+msgid "IDS_GALLERY_OPT_DOCUMENTS"
+msgstr "Documenten"
+
+msgid "IDS_GALLERY_MBODY_VEHICLES"
+msgstr "Voertuigen"
+
+msgid "IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED"
+msgstr "Maximumaantal tekens (%d) bereikt."
+
+msgid "IDS_IV_BODY_UNABLE_TO_LOAD_PHOTO_ABB"
+msgstr "Kan foto niet laden."
+
+msgid "IDS_IV_BODY_SHARE_VIA"
+msgstr "Delen via"
+
+msgid "IDS_IV_BODY_DONT_ASK_AGAIN"
+msgstr "Niet meer vragen"
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maximumaantal tekens bereikt."
+
+msgid "IDS_GALLERY_HEADER_TIME"
+msgstr "Tijd"
+
+msgid "IDS_EMAIL_BODY_FAILED_M_STATUS"
+msgstr "Mislukt"
+
+msgid "IDS_EMAIL_BODY_DELETED"
+msgstr "Verwijderd."
+
+msgid "IDS_EMAIL_POP_DELETE_Q"
+msgstr "Verwijderen?"
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Verwijderen..."
+
+msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS"
+msgstr "%d items weergeven"
+
+msgid "IDS_GALLERY_OPT_CREATE_ALBUM"
+msgstr "Album maken"
+
+msgid "IDS_GALLERY_OPT_GALLERY_ABB"
+msgstr "Galerij"
+
+msgid "IDS_EMAIL_BUTTON_MORE"
+msgstr "Meer"
+
+msgid "IDS_EMAIL_OPT_ACCOUNTS"
+msgstr "Accounts"
+
+msgid "IDS_EMAIL_POP_OPERATION_FAILED"
+msgstr "Bewerking is mislukt."
+
+msgid "IDS_GALLERY_BODY_DOWNLOAD"
+msgstr "Downloaden"
+
+msgid "IDS_GALLERY_BODY_SEARCH"
+msgstr "Zoeken"
+
+msgid "IDS_GALLERY_BUTTON_BACK"
+msgstr "Vorige"
+
+msgid "IDS_GALLERY_BUTTON_CAMERA"
+msgstr "Camera"
+
+msgid "IDS_GALLERY_HEADER_ALL"
+msgstr "Alles"
+
+msgid "IDS_GALLERY_OPT_REFRESH"
+msgstr "Vernieuwen"
+
+msgid "IDS_GALLERY_OPT_REMOVE"
+msgstr "Wissen"
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_DROPBOX_ITEMS_WILL_BE_SHOWN"
+msgstr "Nadat u foto's hebt geüpload naar Dropbox, worden items getoond."
+
+msgid "IDS_KEEPIT_BODY_GROUP_PLAY_ABB"
+msgstr "Group Play"
+
+msgid "IDS_MEDIABR_HEADER_CONTACTS"
+msgstr "Contacten"
+
+msgid "IDS_MEDIABR_OPT_CREATE"
+msgstr "Nieuw"
+
+msgid "IDS_MEDIABR_OPT_DETAILS"
+msgstr "Gegevens"
+
+msgid "IDS_MEDIABR_OPT_PRINT"
+msgstr "Afdrukken"
+
+msgid "IDS_MEDIABR_OPT_RENAME"
+msgstr "Naam wijzigen"
+
+msgid "IDS_MEDIABR_POP_DOWNLOADED"
+msgstr "Gedownload."
+
+msgid "IDS_MEDIABR_POP_DOWNLOADING_ING"
+msgstr "Downloaden..."
+
+msgid "IDS_MF_HEADER_ENTER_NAME"
+msgstr "Naam invoeren."
+
+msgid "IDS_MF_HEADER_MYFILES"
+msgstr "Mijn bestanden"
+
+msgid "IDS_MF_POP_ADDED"
+msgstr "Toegevoegd."
+
+msgid "IDS_MF_POP_PROCESSING_ING"
+msgstr "Verwerken..."
+
+msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
+msgstr "Niet-ondersteund bestandstype."
+
+msgid "IDS_IMGE_BODY_AFTER_YOU_TAKE_PICTURES_PICTURES_WILL_BE_SHOWN"
+msgstr "Foto´s worden weergegeven nadat u deze hebt genomen."
+
+msgid "IDS_IME_BODY_LANDSCAPE_MODE"
+msgstr "Liggend"
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_CLOSE_DRAWER_MENU_TTS"
+msgstr "Tik tweemaal om lademenu te sluiten."
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_OPEN_DRAWER_MENU_TTS"
+msgstr "Tik tweemaal om lademenu te openen."
+
+msgid "IDS_EMAIL_BODY_DRAG_AND_DROP"
+msgstr "Slepen en neerzetten"
+
+msgid "IDS_EMAIL_OPT_DRAWER_ABB"
+msgstr "Lade"
+
+msgid "IDS_EMAIL_POP_MOBILE_DATA_IS_DISABLED_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_ENABLE_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Mobiele gegevens uitgeschakeld. Maak in plaats daarvan verbinding via Wi-Fi-netwerk of schakel mobiele gegevens in en probeer het opnieuw."
+
+msgid "IDS_EMAIL_POP_WI_FI_CONNECTION_REQUIRED_CONNECT_TO_WI_FI_NETWORK_AND_TRY_AGAIN"
+msgstr "Wi-Fi-verbinding vereist. Maak verbinding met Wi-Fi-netwerk en probeer het opnieuw."
+
+msgid "IDS_GALLERY_HEADER_ADD_PICTURES_FROM_ABB"
+msgstr "Foto´s toevoegen uit"
+
+msgid "IDS_GALLERY_HEADER_CONNECTED_DEVICES_ABB"
+msgstr "Verbonden apparaten"
+
+msgid "IDS_GALLERY_OPT_PRIVATE_CONTENT"
+msgstr "Privé-inhoud"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PS"
+msgstr "Verwijderen uit %s"
+
+msgid "IDS_GALLERY_OPT_REMOVE_NAME_TAG"
+msgstr "Naamtag verwijderen"
+
+msgid "IDS_GALLERY_POP_THERE_ARE_NO_EVENTS_TO_DISPLAY_CREATE_A_NEW_EVENT"
+msgstr "Er zijn geen gebeurtenissen om weer te geven. Maak een nieuwe gebeurtenis."
+
+msgid "IDS_GALLERY_POP_TO_SCROLL_QUICKLY_TO_OTHER_DATES_TAP_AND_HOLD_THE_DATE_INDICATOR_AT_THE_TOP_RIGHT_OF_THE_SCREEN"
+msgstr "Tik op de datumindicator rechtsboven in het scherm en houd vast als u snel naar andere datums wilt scrollen."
+
+msgid "IDS_GP_POP_REMOVE_PD_ITEMS_Q"
+msgstr "%d items verwijderen?"
+
+msgid "IDS_GP_POP_REMOVE_THIS_ITEM_Q"
+msgstr "Dit item verwijderen?"
+
+msgid "IDS_HELP_BODY_GALLERY"
+msgstr "Galerij"
+
+msgid "IDS_HELP_OPT_SHUFFLED_PICTURES"
+msgstr "Foto´s in willekeurige volgorde"
+
+msgid "IDS_IV_BODY_ADD_PICTURES"
+msgstr "Foto´s toevoegen"
+
+msgid "IDS_IV_BODY_AFTER_YOU_TAG_PICTURES_AS_YOUR_FAVOURITES_PICTURES_WILL_BE_SHOWN"
+msgstr "Foto´s worden weergegeven nadat u deze als favoriet hebt getagd."
+
+msgid "IDS_IV_BODY_REMOVE_FACE_IDENTIFICATION_Q"
+msgstr "Gezichtsidentificatie verwijderen?"
+
+msgid "IDS_IV_OPT_ASSIGN_NAME"
+msgstr "Naam toewijzen"
+
+msgid "IDS_IV_OPT_CONFIRM_AS_PS"
+msgstr "Bevestigen als %s"
+
+msgid "IDS_IV_OPT_LAYOUT_M_PICTUERS"
+msgstr "Lay-out"
+
+msgid "IDS_IV_OPT_PD_PICTURES_ADDED"
+msgstr "%d foto´s toegevoegd"
+
+msgid "IDS_IV_POP_THE_ALBUM_WILL_BE_CANCELLED"
+msgstr "Het album wordt geannuleerd."
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEM_ABB"
+msgstr "Item verwijderen"
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEMS"
+msgstr "Items verwijderen"
+
+msgid "IDS_MEDIABR_BODY_1_ITEM"
+msgstr "1 item"
+
+msgid "IDS_MEDIABR_BODY_10_SECONDS"
+msgstr "10 seconden"
+
+msgid "IDS_MEDIABR_BODY_5_SECONDS"
+msgstr "5 seconden"
+
+msgid "IDS_MEDIABR_BODY_NOT_ASSIGNED"
+msgstr "Niet toegewezen"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL"
+msgstr "Interval diashow"
+
+msgid "IDS_MEDIABR_BODY_UNTAGGED"
+msgstr "Niet-getagd"
+
+msgid "IDS_MEDIABR_OPT_3_SECONDS"
+msgstr "3 seconden"
+
+msgid "IDS_MEDIABR_OPT_ALL_CONTENT"
+msgstr "Alle inhoud"
+
+msgid "IDS_MEDIABR_OPT_CONTENT_TO_DISPLAY"
+msgstr "Weer te geven inhoud"
+
+msgid "IDS_MEDIABR_OPT_DELETE_TAG"
+msgstr "Tag verwijderen"
+
+msgid "IDS_MEDIABR_OPT_DEVICE_CONTENT"
+msgstr "Apparaatinhoud"
+
+msgid "IDS_MEDIABR_OPT_DROPBOX_CONTENT"
+msgstr "Dropbox-inhoud"
+
+msgid "IDS_MEDIABR_OPT_FACEBOOK_CONTENT"
+msgstr "Facebook-inhoud"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_LEFT"
+msgstr "Linksom draaien"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_RIGHT"
+msgstr "Rechtsom draaien"
+
+msgid "IDS_MEDIABR_POP_IMPORT"
+msgstr "Importeren"
+
+msgid "IDS_MEDIABR_POP_IMPORTED"
+msgstr "Geïmporteerd."
+
+msgid "IDS_MEDIABR_POP_IMPORTING_ING"
+msgstr "Importeren..."
+
+msgid "IDS_MEDIABR_POP_LOADING_ING"
+msgstr "Laden..."
+
+msgid "IDS_MEDIABR_POP_NEARBY_DEVICES_FOUND"
+msgstr "Apparaten in de buurt gevonden."
+
+msgid "IDS_MEDIABR_POP_NO_DEVICES_FOUND_SCANNING_FOR_NEARBY_DEVICES_WILL_CONTINUE_IN_BACKGROUND"
+msgstr "Geen apparaten gevonden. Zoeken naar apparaten in de buurt wordt op de achtergrond voorgezet."
+
+msgid "IDS_MEDIABR_POP_REFRESHED"
+msgstr "Vernieuwd."
+
+msgid "IDS_MEDIABR_POP_ROTATING_ING"
+msgstr "Roteren..."
+
+msgid "IDS_MEDIABR_POP_SCAN_STARTED_DEVICE_LIST_WILL_BE_UPDATED_AUTOMATICALLY"
+msgstr "Scan gestart. Apparatenlijst wordt automatisch bijgewerkt."
+
+msgid "IDS_MEDIABR_POP_STARTING_DOWNLOAD_ABB"
+msgstr "Download starten..."
+
+msgid "IDS_MF_OPT_COPY_TO"
+msgstr "Kopiëren naar"
+
+msgid "IDS_MF_OPT_MOVE_TO"
+msgstr "Verplaatsen naar"
+
+msgid "IDS_MF_POP_FAILED_TO_ADD_SHORTCUT"
+msgstr "Kan sneltoets niet toevoegen."
+
+msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
+msgstr "Onvoldoende geheugen. Wis een aantal items."
+
+msgid "IDS_MF_POP_REMOVED"
+msgstr "Verwijderd."
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Toevoegen..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "%d albums verwijderen?"
+
+msgid "IDS_ST_BODY_PRIVATE_STORAGE"
+msgstr "Privé-opslag"
+
+msgid "IDS_IV_BODY_DRAG_HERE"
+msgstr "Hiernaartoe slepen."
+
+msgid "IDS_GALLERY_BODY_NEW_M_ALBUM_ABB"
+msgstr "Nieuw"
+
+msgid "IDS_GALLERY_HEADER_UNGROUPEDM_PEOPLE_ABB"
+msgstr "Groep opgeheven"
+
+msgid "IDS_KEEPIT_OPT_SCREENSHOTS_ABB"
+msgstr "Schermafbeeldingen"
+
+msgid "IDS_MEDIABR_OPT_PHOTOS"
+msgstr "Foto's"
+
+msgid "IDS_MEDIABR_POP_DOWNLOAD_FAILED"
+msgstr "Downloaden mislukt."
+
+msgid "IDS_MEDIABR_POP_UNSUPPORTED_FILE"
+msgstr "Niet-ondersteund bestand."
+
+msgid "IDS_SEARCH_BODY_1_RESULT"
+msgstr "1 resultaat"
+
+msgid "IDS_SEARCH_BODY_PD_RESULTS"
+msgstr "%d resultaten"
+
+msgid "IDS_TW_BODY_FAVORITES"
+msgstr "Favorieten"
+
+msgid "IDS_EMAIL_POP_DOWNLOAD_CANCELLED"
+msgstr "Downloaden geannuleerd."
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ALBUM_Q"
+msgstr "Dit album verwijderen?"
+
+msgid "IDS_CAM_HEADER_WARNING_ABB"
+msgstr "Waarschuwing"
+
+msgid "IDS_ALM_OPT_SORT_BY"
+msgstr "Sorteren op"
+
+msgid "IDS_CLD_OPT_TODAY"
+msgstr "Vandaag"
+
+msgid "IDS_GALLERY_BODY_DATE"
+msgstr "Datum"
+
+msgid "IDS_EMAIL_BODY_NO_ITEMS_TO_DISPLAY"
+msgstr "Geen items om weer te geven."
+
+msgid "IDS_PBR_BODY_TAP_HERE_TO_TAKE_PICTURES_OR_VIDEOS"
+msgstr "Tik hier om foto's of video's te maken."
+
+msgid "IDS_NFC_TPOP_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SHARED_HPD_EXCEEDED"
+msgstr "Maximumaantal items dat kan worden gedeeld (%d), is overschreden."
+
+msgid "IDS_IV_BODY_TAP_TO_ADD_IMAGES"
+msgstr "Tik om afbeeldingen toe te voegen."
+
+msgid "IDS_GALLERY_POP_COPY_OR_MOVE_THE_SELECTED_ITEMS_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Geselecteerde items uit het oorspronkelijke album kopiëren of verplaatsen?"
+
+msgid "IDS_GALLERY_HEADER_SELECT"
+msgstr "Selecteren"
+
+msgid "IDS_VIDEO_POP_FILE_ALREADY_EXISTS"
+msgstr "Bestand bestaat al."
+
+msgid "IDS_VIDEO_POP_THIS_ITEM_WILL_BE_DELETED"
+msgstr "Dit item wordt verwijderd."
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_FACEBOOK_ITEMS_WILL_BE_SHOWN"
+msgstr "Nadat u foto's hebt geüpload naar Facebook, worden items getoond."
+
+msgid "IDS_GALLERY_HEADER_SELECT_ALL_ABB"
+msgstr "Alles selecteren"
+
+msgid "IDS_GALLERY_HEADER_PD_SELECTED_ABB"
+msgstr "%d geselecteerd"
+
+msgid "IDS_GALLERY_OPT_VIEW_AS"
+msgstr "Weergeven als"
+
+msgid "IDS_GALLERY_OPT_DATE_HMOST_RECENT_ABB2"
+msgstr "Datum (recentst)"
+
+msgid "IDS_GALLERY_OPT_DATE_HOLDEST_ABB3"
+msgstr "Datum (oudst)"
+
+msgid "IDS_GALLERY_BODY_AFTER_YOU_TAKE_PICTURES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Nadat u foto´s hebt gemaakt, worden ze hier weergegeven."
+
+msgid "IDS_CLOUD_TPOP_CANCELLING_ING"
+msgstr "Annuleren..."
+
+msgid "IDS_GALLERY_OPT_FROM_DEVICE_ABB"
+msgstr "Van apparaat"
+
+msgid "IDS_GALLERY_OPT_FROM_DROPBOX_ABB"
+msgstr "Van Dropbox"
+
+msgid "IDS_GALLERY_OPT_FROM_FACEBOOK_ABB"
+msgstr "Van Facebook"
+
+msgid "IDS_MUSIC_BODY_DOWNLOAD_COMPLETED"
+msgstr "Downloaden voltooid."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DELETED"
+msgstr "Alle items worden verwijderd."
+
+msgid "IDS_GALLERY_POP_1_ITEM_WILL_BE_DOWNLOADED"
+msgstr "1 item wordt gedownload."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "%d items worden gedownload."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "Alle items worden gedownload."
+
+msgid "IDS_GALLERY_TPOP_SELECTED_ALBUM_SAME_AS_SOURCE_ALBUM_SELECT_ANOTHER_ALBUM"
+msgstr "Geselecteerd album is hetzelfde als bronalbum. Selecteer een ander album."
+
+msgid "IDS_HS_NPBODY_TAP_HERE_TO_ADD_IMAGES"
+msgstr "Tik hier om afbeeldingen toe te voegen"
+
+msgid "IDS_MF_HEADER_UNABLE_TO_SAVE_DATA_ABB"
+msgstr "Kan gegevens niet opslaan"
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_IN_YOUR_DEVICE_STORAGE_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "Er is onvoldoende ruimte in uw apparaatopslag. Ga naar Instellingen > Energie en opslag > Opslag, verwijder een aantal bestanden en probeer het opnieuw."
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_YOUR_SD_CARD_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "Er is onvoldoende ruimte op uw SD-kaart. Ga naar de Instellingen > Energie en opslag > Opslag, verwijder een aantal bestanden en probeer het opnieuw."
+
+msgid "IDS_MF_BUTTON_CANCEL_ABB3"
+msgstr "Annuleren"
+
+msgid "IDS_MF_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Niet meer tonen"
+
+msgid "IDS_MF_POP_USING_MOBILE_DATA_WHILE_ROAMING_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "Als u Mobiele gegevens tijdens roaming gebruikt, kan dat afhankelijk van uw abonnement extra kosten met zich meebrengen."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DELETED_ABB"
+msgstr "%d items worden verwijderd."
+
+msgid "IDS_GALLERY_OPT_DELETE"
+msgstr "Wissen"
+
+msgid "IDS_GALLERY_BODY_YESTERDAY"
+msgstr "Gisteren"
+
+msgid "IDS_BR_MBODY_DOWNLOADS"
+msgstr "Downloads"
+
+msgid "IDS_GALLERY_HEADER_COPY"
+msgstr "Kopiëren"
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Wissen"
+
+msgid "IDS_GALLERY_BUTTON_ALBUMS"
+msgstr "Albums"
+
+msgid "IDS_GALLERY_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Het maximumaantal items (%d) is overschreden."
+
+msgid "IDS_GALLERY_BUTTON_CANCEL"
+msgstr "Annuleer"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "GEREED"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ANNULEREN"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "VERWIJDEREN"
+
+msgid "IDS_GALLERY_POP_COPYING_ING"
+msgstr "Kopiëren..."
+
+msgid "IDS_GALLERY_POP_MOVING_ING"
+msgstr "Verplaatsen..."
+
+msgid "IDS_STORYALBUM_POP_IF_YOU_CREATE_CONTENT_THAT_INCLUDES_ITEMS_FROM_PERSONAL_STORAGE_IT_MAY_NOT_BE_HIDDEN_AUTOMATICALLY_MSG"
+msgstr "Als u inhoud maakt die items uit de persoonlijke opslag bevat, wordt deze mogelijk niet automatisch verborgen. De geselecteerde persoonlijke inhoud kan worden bekeken tijdens het weergeven van de nieuwe inhoud."
+
+msgid "IDS_HS_ACBUTTON_EDIT"
+msgstr "BEWERKEN"
+
+msgid "IDS_MF_BUTTON_SETTINGS"
+msgstr "Instellingen"
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "BEWERKEN"
+
+msgid "IDS_CLOCK_HEADER_REORDER_ABB"
+msgstr "Indeling wijzigen"
+
diff --git a/res/po/pl.po b/res/po/pl.po
new file mode 100644 (file)
index 0000000..62bba63
--- /dev/null
@@ -0,0 +1,759 @@
+msgid "IDS_MF_POP_YOUR_DEVICE_IS_NOT_CONNECTED_TO_A_WI_FI_NETWORK_CONNECTING_TO_A_MOBILE_NETWORK_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "Urządzenie nie jest połączone z siecią Wi-Fi. Połączenie z siecią telefonii komórkowej może spowodować naliczenie dodatkowych opłat w zależności od planu taryfowego."
+
+msgid "IDS_VIDEO_TPOP_MOBILE_DATA_TURNED_OFF_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_TURN_ON_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Funkcja Dane komórkowe jest wyłączona. Połącz się z siecią Wi-Fi lub włącz funkcję Dane komórkowe i spróbuj ponownie."
+
+msgid "IDS_VIDEO_BODY_AFTER_YOU_RECORD_VIDEOS_USING_THE_CAMERA_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Filmy zostaną tutaj wyświetlone po ich nagraniu za pomocą aparatu."
+
+msgid "IDS_VIDEO_TPOP_FILE_NAME_ALREADY_IN_USE"
+msgstr "Nazwa pliku już w użyciu."
+
+msgid "IDS_MF_POP_DELETE_PD_ITEMS_Q"
+msgstr "Usunąć elementów: %d?"
+
+msgid "IDS_ST_HEADER_PRIVACY"
+msgstr "Prywatność"
+
+msgid "IDS_COM_BODY_SEP_ABB"
+msgstr "Wrz."
+
+msgid "IDS_COM_BODY_OCT_ABB"
+msgstr "Paź."
+
+msgid "IDS_COM_BODY_NOV_ABB"
+msgstr "Lis."
+
+msgid "IDS_COM_BODY_MAY_ABB"
+msgstr "Maj"
+
+msgid "IDS_COM_BODY_MAR_ABB"
+msgstr "Mar."
+
+msgid "IDS_COM_BODY_JUN_ABB"
+msgstr "Cze."
+
+msgid "IDS_COM_BODY_JUL_ABB"
+msgstr "Lip."
+
+msgid "IDS_COM_BODY_JAN_ABB"
+msgstr "Sty."
+
+msgid "IDS_COM_BODY_FEB_ABB"
+msgstr "Lut."
+
+msgid "IDS_COM_BODY_DEC_ABB"
+msgstr "Gru."
+
+msgid "IDS_COM_BODY_AUG_ABB"
+msgstr "Sie."
+
+msgid "IDS_COM_BODY_APR_ABB"
+msgstr "Kwi."
+
+msgid "IDS_GALLERY_HEADER_ALBUM"
+msgstr "Album"
+
+msgid "IDS_MEDIABR_OPT_MORE"
+msgstr "Więcej"
+
+msgid "IDS_MEDIABR_POP_INVALID_INPUT_PARAMETER"
+msgstr "Nieprawidłowy parametr wejściowy"
+
+msgid "IDS_MEDIABR_POP_ENTRY_IS_EMPTY"
+msgstr "Wpis jest pusty."
+
+msgid "IDS_MEDIABR_POP_SAME_NAME_ALREADY_IN_USE"
+msgstr "Ta sama nazwa jest już w użyciu."
+
+msgid "IDS_MEDIABR_POP_UNABLE_TO_RENAME"
+msgstr "Nie można zmienić nazwy."
+
+msgid "IDS_MEDIABR_POP_NO_ALBUMS_SELECTED"
+msgstr "Nie wybrano albumów."
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ITEM"
+msgstr "Wybierz element"
+
+msgid "IDS_MEDIABR_BODY_NO_ALBUMS"
+msgstr "Brak albumów"
+
+msgid "IDS_MEDIABR_POP_CREATE_FOLDER_Q"
+msgstr "Utworzyć katalog ?"
+
+msgid "IDS_MEDIABR_POP_RETRY_Q"
+msgstr "Spróbować ponownie?"
+
+msgid "IDS_MEDIABR_POPUP_REMOVE_Q"
+msgstr "Usunąć?"
+
+msgid "IDS_MEDIABR_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "Liczba albumów, które zostaną usunięte: %d."
+
+msgid "IDS_MEDIABR_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "1 album zostanie usunięty."
+
+msgid "IDS_MEDIABR_BODY_CAMERA"
+msgstr "Aparat"
+
+msgid "IDS_MEDIABR_BUTTON_START"
+msgstr "Rozpocznij"
+
+msgid "IDS_MEDIABR_OPT_SETTINGS"
+msgstr "Ustawienia"
+
+msgid "IDS_MEDIABR_OPT_YES"
+msgstr "Tak"
+
+msgid "IDS_MEDIABR_OPT_NO"
+msgstr "Nie"
+
+msgid "IDS_MEDIABR_BUTTON_OK"
+msgstr "OK"
+
+msgid "IDS_MEDIABR_BUTTON_SAVE"
+msgstr "Zapisz"
+
+msgid "IDS_MEDIABR_POP_DELETE_Q"
+msgstr "Usunąć?"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_ALBUM"
+msgstr "Przenieś do albumu"
+
+msgid "IDS_GALLERY_OPT_COPY_TO_ALBUM"
+msgstr "Kopiuj do albumu"
+
+msgid "IDS_GALLERY_HEADER_VIEW_BY_ABB"
+msgstr "Sortuj wg"
+
+msgid "IDS_GALLERY_HEADER_ENTER_NAME"
+msgstr "Wpisz nazwę"
+
+msgid "IDS_MEDIABR_POP_ALL_DATA_RELATED_TO_THIS_ACCOUNT_WILL_BE_DELETED_CONTINUE_Q"
+msgstr "Wszystkie dane powiązane z tym kontem zostaną usunięte. Kontynuować?"
+
+msgid "IDS_MEDIABR_BUTTON_CANCEL_ABB"
+msgstr "Anuluj"
+
+msgid "IDS_MEDIABR_TAB4_NEW_ALBUM"
+msgstr "Nowy album"
+
+msgid "IDS_MEDIABR_POP_DO_YOU_WANT_TO_COPY_OR_MOVE_THE_PICTURES_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Chcesz skopiować czy przenieść obrazy z oryginalnego albumu?"
+
+msgid "IDS_MEDIABR_OPT_SHARE"
+msgstr "Udostępnij"
+
+msgid "IDS_MEDIABR_OPT_SLIDESHOW"
+msgstr "Pokaz slajdów"
+
+msgid "IDS_MEDIABR_OPT_START_SLIDESHOW"
+msgstr "Rozpocznij pokaz slajdów"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS"
+msgstr "Ustawienia pokazu slajdów"
+
+msgid "IDS_MEDIABR_POP_NO_NAME"
+msgstr "Bez nazwy"
+
+msgid "IDS_MEDIABR_BODY_ALL_ALBUMS"
+msgstr "Wszystkie albumy"
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ALBUM"
+msgstr "Wybierz album"
+
+msgid "IDS_MEDIABR_POP_1_ITEM_WILL_BE_DELETED"
+msgstr "1 element zostanie usunięty."
+
+msgid "IDS_MEDIABR_OPT_ALL_ITEMS"
+msgstr "Wszystkie elementy"
+
+msgid "IDS_MEDIABR_BODY_PD_ITEMS"
+msgstr "Elementów: %d"
+
+msgid "IDS_IV_BODY_THERE_IS_ONLY_ONE_ALBUM"
+msgstr "Istnieje tylko jeden album."
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "Maksymalna liczba elementów, które można wybrać: %d."
+
+msgid "IDS_MF_BODY_DOWNLOADS"
+msgstr "Pobrane"
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Usunąć?"
+
+msgid "IDS_MF_SK_MOVE"
+msgstr "Przenieś"
+
+msgid "IDS_MF_POP_DELETING_ING"
+msgstr "Usuwanie..."
+
+msgid "IDS_CAM_BODY_OPERATION_FAILED"
+msgstr "Operacja nie powiodła się."
+
+msgid "IDS_MSG_BODY_CANCELLED_M_CONTENT"
+msgstr "Anulowane"
+
+msgid "IDS_MF_OPT_DELETE_SELECTED"
+msgstr "Wybrane"
+
+msgid "IDS_MF_POP_MOVED"
+msgstr "Przeniesiono."
+
+msgid "IDS_MF_POP_COPIED"
+msgstr "Skopiowano."
+
+msgid "IDS_VPL_POP_NO_FILES_SELECTED"
+msgstr "Nie wybrano pliku."
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Zamknij"
+
+msgid "IDS_MF_OPT_SORT_BY_ABB"
+msgstr "Sortuj według"
+
+msgid "IDS_CAM_POP_LATEST"
+msgstr "Najnowsze"
+
+msgid "IDS_MEDIABR_POP_OLDEST_M_DATE"
+msgstr "Najstarsze"
+
+msgid "IDS_MSG_BUTTON2_CREATE"
+msgstr "Utwórz"
+
+msgid "IDS_MEDIABR_POP_NO_ITEMS"
+msgstr "Brak elementów"
+
+msgid "IDS_MEDIABR_OPT_EDIT_IMAGE"
+msgstr "Edytuj obraz"
+
+msgid "IDS_MEDIABR_BODY_SELECT_PICTURE"
+msgstr "Wybierz obraz"
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ITEM_Q"
+msgstr "Usunąć ten element?"
+
+msgid "IDS_GALLERY_OPT_SCENERY"
+msgstr "Sceneria"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PRIVATE"
+msgstr "Usuń z Prywatnych"
+
+msgid "IDS_GALLERY_OPT_PETS"
+msgstr "Zwierzątka"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_PRIVATE"
+msgstr "Przenieś do Prywatnych"
+
+msgid "IDS_GALLERY_OPT_FOOD"
+msgstr "Jedzenie"
+
+msgid "IDS_GALLERY_OPT_FLOWERS"
+msgstr "Kwiaty"
+
+msgid "IDS_GALLERY_OPT_DOCUMENTS"
+msgstr "Dokumenty"
+
+msgid "IDS_GALLERY_MBODY_VEHICLES"
+msgstr "Pojazdy"
+
+msgid "IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED"
+msgstr "Osiągnięto maksymalną liczbę znaków (%d)."
+
+msgid "IDS_IV_BODY_UNABLE_TO_LOAD_PHOTO_ABB"
+msgstr "Nie można załadować zdjęcia."
+
+msgid "IDS_IV_BODY_SHARE_VIA"
+msgstr "Udostępnij przez"
+
+msgid "IDS_IV_BODY_DONT_ASK_AGAIN"
+msgstr "Nie pytaj ponownie"
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Osiągnięto maksymalną liczbę znaków."
+
+msgid "IDS_GALLERY_HEADER_TIME"
+msgstr "Godzina"
+
+msgid "IDS_EMAIL_BODY_FAILED_M_STATUS"
+msgstr "Błąd"
+
+msgid "IDS_EMAIL_BODY_DELETED"
+msgstr "Usunięto."
+
+msgid "IDS_EMAIL_POP_DELETE_Q"
+msgstr "Usunąć?"
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Usuwanie..."
+
+msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS"
+msgstr "Wyświetlanie elementów: %d"
+
+msgid "IDS_GALLERY_OPT_CREATE_ALBUM"
+msgstr "Utwórz album"
+
+msgid "IDS_GALLERY_OPT_GALLERY_ABB"
+msgstr "Galeria"
+
+msgid "IDS_EMAIL_BUTTON_MORE"
+msgstr "Więcej"
+
+msgid "IDS_EMAIL_OPT_ACCOUNTS"
+msgstr "Konta"
+
+msgid "IDS_EMAIL_POP_OPERATION_FAILED"
+msgstr "Operacja nie powiodła się."
+
+msgid "IDS_GALLERY_BODY_DOWNLOAD"
+msgstr "Pobierz"
+
+msgid "IDS_GALLERY_BODY_SEARCH"
+msgstr "Szukaj"
+
+msgid "IDS_GALLERY_BUTTON_BACK"
+msgstr "Wstecz"
+
+msgid "IDS_GALLERY_BUTTON_CAMERA"
+msgstr "Aparat"
+
+msgid "IDS_GALLERY_HEADER_ALL"
+msgstr "Wszystkie"
+
+msgid "IDS_GALLERY_OPT_REFRESH"
+msgstr "Odśwież"
+
+msgid "IDS_GALLERY_OPT_REMOVE"
+msgstr "Usuń"
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_DROPBOX_ITEMS_WILL_BE_SHOWN"
+msgstr "Elementy zostaną wyświetlone po przekazaniu zdjęć do Dropbox."
+
+msgid "IDS_KEEPIT_BODY_GROUP_PLAY_ABB"
+msgstr "Group Play"
+
+msgid "IDS_MEDIABR_HEADER_CONTACTS"
+msgstr "Kontakty"
+
+msgid "IDS_MEDIABR_OPT_CREATE"
+msgstr "Utwórz"
+
+msgid "IDS_MEDIABR_OPT_DETAILS"
+msgstr "Szczegóły"
+
+msgid "IDS_MEDIABR_OPT_PRINT"
+msgstr "Drukuj"
+
+msgid "IDS_MEDIABR_OPT_RENAME"
+msgstr "Zmień nazwę"
+
+msgid "IDS_MEDIABR_POP_DOWNLOADED"
+msgstr "Pobrano."
+
+msgid "IDS_MEDIABR_POP_DOWNLOADING_ING"
+msgstr "Pobieranie..."
+
+msgid "IDS_MF_HEADER_ENTER_NAME"
+msgstr "Wpisz nazwę."
+
+msgid "IDS_MF_HEADER_MYFILES"
+msgstr "Moje pliki"
+
+msgid "IDS_MF_POP_ADDED"
+msgstr "Dodano."
+
+msgid "IDS_MF_POP_PROCESSING_ING"
+msgstr "Przetwarzanie..."
+
+msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
+msgstr "Nieobsługiwany typ pliku."
+
+msgid "IDS_IMGE_BODY_AFTER_YOU_TAKE_PICTURES_PICTURES_WILL_BE_SHOWN"
+msgstr "Zdjęcia będą widoczne po ich zrobieniu."
+
+msgid "IDS_IME_BODY_LANDSCAPE_MODE"
+msgstr "Orientacja pozioma"
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_CLOSE_DRAWER_MENU_TTS"
+msgstr "Dotknij dwukrotnie, aby zamknąć menu rozwijane."
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_OPEN_DRAWER_MENU_TTS"
+msgstr "Dotknij dwukrotnie, aby otworzyć menu rozwijane."
+
+msgid "IDS_EMAIL_BODY_DRAG_AND_DROP"
+msgstr "Przeciągnij i upuść"
+
+msgid "IDS_EMAIL_OPT_DRAWER_ABB"
+msgstr "Komoda"
+
+msgid "IDS_EMAIL_POP_MOBILE_DATA_IS_DISABLED_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_ENABLE_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Transmisja danych sieci jest wyłączona. Połącz się z siecią Wi-Fi lub włącz transmisję danych po sieci w ustawieniach urządzenia i spróbuj ponownie."
+
+msgid "IDS_EMAIL_POP_WI_FI_CONNECTION_REQUIRED_CONNECT_TO_WI_FI_NETWORK_AND_TRY_AGAIN"
+msgstr "Wymagane połączenie z siecią Wi-Fi. Połącz się z siecią Wi-Fi i spróbuj ponownie"
+
+msgid "IDS_GALLERY_HEADER_ADD_PICTURES_FROM_ABB"
+msgstr "Dodawanie zdjęć z"
+
+msgid "IDS_GALLERY_HEADER_CONNECTED_DEVICES_ABB"
+msgstr "Podłączone urządzenia"
+
+msgid "IDS_GALLERY_OPT_PRIVATE_CONTENT"
+msgstr "Zawartość prywatna"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PS"
+msgstr "Usuń z kategorii %s"
+
+msgid "IDS_GALLERY_OPT_REMOVE_NAME_TAG"
+msgstr "Usuń etykietę z imieniem"
+
+msgid "IDS_GALLERY_POP_THERE_ARE_NO_EVENTS_TO_DISPLAY_CREATE_A_NEW_EVENT"
+msgstr "Nie ma żadnych wydarzeń do wyświetlenia. Utwórz nowe wydarzenie."
+
+msgid "IDS_GALLERY_POP_TO_SCROLL_QUICKLY_TO_OTHER_DATES_TAP_AND_HOLD_THE_DATE_INDICATOR_AT_THE_TOP_RIGHT_OF_THE_SCREEN"
+msgstr "Aby szybko przewinąć do innych dat, dotknij wskaźnika daty w prawej górnej części ekranu i przytrzymaj go."
+
+msgid "IDS_GP_POP_REMOVE_PD_ITEMS_Q"
+msgstr "Usunąć elementów: %d?"
+
+msgid "IDS_GP_POP_REMOVE_THIS_ITEM_Q"
+msgstr "Usunąć ten element?"
+
+msgid "IDS_HELP_BODY_GALLERY"
+msgstr "Galeria"
+
+msgid "IDS_HELP_OPT_SHUFFLED_PICTURES"
+msgstr "Przetasowane zdjęcia"
+
+msgid "IDS_IV_BODY_ADD_PICTURES"
+msgstr "Dodaj obrazy"
+
+msgid "IDS_IV_BODY_AFTER_YOU_TAG_PICTURES_AS_YOUR_FAVOURITES_PICTURES_WILL_BE_SHOWN"
+msgstr "Zdjęcia będą widoczne po ich oznaczeniu jako ulubione."
+
+msgid "IDS_IV_BODY_REMOVE_FACE_IDENTIFICATION_Q"
+msgstr "Usunąć identyfikację twarzy?"
+
+msgid "IDS_IV_OPT_ASSIGN_NAME"
+msgstr "Przypisz nazwę"
+
+msgid "IDS_IV_OPT_CONFIRM_AS_PS"
+msgstr "Potwierdź jako %s"
+
+msgid "IDS_IV_OPT_LAYOUT_M_PICTUERS"
+msgstr "Układ"
+
+msgid "IDS_IV_OPT_PD_PICTURES_ADDED"
+msgstr "Dodano obrazów: %d"
+
+msgid "IDS_IV_POP_THE_ALBUM_WILL_BE_CANCELLED"
+msgstr "Album zostanie anulowany."
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEM_ABB"
+msgstr "Usuń element"
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEMS"
+msgstr "Usuwanie elementów"
+
+msgid "IDS_MEDIABR_BODY_1_ITEM"
+msgstr "1 element"
+
+msgid "IDS_MEDIABR_BODY_10_SECONDS"
+msgstr "10 sek."
+
+msgid "IDS_MEDIABR_BODY_5_SECONDS"
+msgstr "5 sek."
+
+msgid "IDS_MEDIABR_BODY_NOT_ASSIGNED"
+msgstr "Nieprzypisane"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL"
+msgstr "Czas wyświetlania slajdów"
+
+msgid "IDS_MEDIABR_BODY_UNTAGGED"
+msgstr "Nieoznaczone etykietą"
+
+msgid "IDS_MEDIABR_OPT_3_SECONDS"
+msgstr "3 sek."
+
+msgid "IDS_MEDIABR_OPT_ALL_CONTENT"
+msgstr "Cała zawartość"
+
+msgid "IDS_MEDIABR_OPT_CONTENT_TO_DISPLAY"
+msgstr "Zawartość do wyświetlenia"
+
+msgid "IDS_MEDIABR_OPT_DELETE_TAG"
+msgstr "Usuń etykietę"
+
+msgid "IDS_MEDIABR_OPT_DEVICE_CONTENT"
+msgstr "Zawartość w urządzeniu"
+
+msgid "IDS_MEDIABR_OPT_DROPBOX_CONTENT"
+msgstr "Zawartość w Dropbox"
+
+msgid "IDS_MEDIABR_OPT_FACEBOOK_CONTENT"
+msgstr "Zawartość na Facebooku"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_LEFT"
+msgstr "Obróć w lewo"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_RIGHT"
+msgstr "Obróć w prawo"
+
+msgid "IDS_MEDIABR_POP_IMPORT"
+msgstr "Importuj"
+
+msgid "IDS_MEDIABR_POP_IMPORTED"
+msgstr "Zaimportowano."
+
+msgid "IDS_MEDIABR_POP_IMPORTING_ING"
+msgstr "Importowanie..."
+
+msgid "IDS_MEDIABR_POP_LOADING_ING"
+msgstr "Ładuję..."
+
+msgid "IDS_MEDIABR_POP_NEARBY_DEVICES_FOUND"
+msgstr "Znaleziono urządzenia w pobliżu."
+
+msgid "IDS_MEDIABR_POP_NO_DEVICES_FOUND_SCANNING_FOR_NEARBY_DEVICES_WILL_CONTINUE_IN_BACKGROUND"
+msgstr "Nie znaleziono urządzeń. Skanowanie urządzeń znajdujących się w pobliżu będzie odbywać się w tle."
+
+msgid "IDS_MEDIABR_POP_REFRESHED"
+msgstr "Odświeżono."
+
+msgid "IDS_MEDIABR_POP_ROTATING_ING"
+msgstr "Obracanie..."
+
+msgid "IDS_MEDIABR_POP_SCAN_STARTED_DEVICE_LIST_WILL_BE_UPDATED_AUTOMATICALLY"
+msgstr "Skanowanie rozpoczęte. Lista urządzeń zostanie automatycznie zaktualizowana."
+
+msgid "IDS_MEDIABR_POP_STARTING_DOWNLOAD_ABB"
+msgstr "Rozpoczynanie pobierania..."
+
+msgid "IDS_MF_OPT_COPY_TO"
+msgstr "Kopiuj do"
+
+msgid "IDS_MF_OPT_MOVE_TO"
+msgstr "Przenieś do"
+
+msgid "IDS_MF_POP_FAILED_TO_ADD_SHORTCUT"
+msgstr "Nie udało się dodać skrótu."
+
+msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
+msgstr "Brak pamięci. Usuń niektóre elementy"
+
+msgid "IDS_MF_POP_REMOVED"
+msgstr "Usunięto."
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Dodawanie..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "Usunąć albumy: %d?"
+
+msgid "IDS_ST_BODY_PRIVATE_STORAGE"
+msgstr "Pamięć prywatna"
+
+msgid "IDS_IV_BODY_DRAG_HERE"
+msgstr "Przeciągnij tutaj."
+
+msgid "IDS_GALLERY_BODY_NEW_M_ALBUM_ABB"
+msgstr "Nowy"
+
+msgid "IDS_GALLERY_HEADER_UNGROUPEDM_PEOPLE_ABB"
+msgstr "Nieprzydzielone do grupy"
+
+msgid "IDS_KEEPIT_OPT_SCREENSHOTS_ABB"
+msgstr "Zrzuty ekranu"
+
+msgid "IDS_MEDIABR_OPT_PHOTOS"
+msgstr "Zdjęcia"
+
+msgid "IDS_MEDIABR_POP_DOWNLOAD_FAILED"
+msgstr "Błąd pobierania"
+
+msgid "IDS_MEDIABR_POP_UNSUPPORTED_FILE"
+msgstr "Nieobsługiwany plik."
+
+msgid "IDS_SEARCH_BODY_1_RESULT"
+msgstr "Liczba wyników: 1"
+
+msgid "IDS_SEARCH_BODY_PD_RESULTS"
+msgstr "Liczba wyników: %d"
+
+msgid "IDS_TW_BODY_FAVORITES"
+msgstr "Ulubione"
+
+msgid "IDS_EMAIL_POP_DOWNLOAD_CANCELLED"
+msgstr "Anulowano pobieranie."
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ALBUM_Q"
+msgstr "Usunąć ten album?"
+
+msgid "IDS_CAM_HEADER_WARNING_ABB"
+msgstr "Ostrzeżenie"
+
+msgid "IDS_ALM_OPT_SORT_BY"
+msgstr "Sortuj według"
+
+msgid "IDS_CLD_OPT_TODAY"
+msgstr "Dzisiaj"
+
+msgid "IDS_GALLERY_BODY_DATE"
+msgstr "Data"
+
+msgid "IDS_EMAIL_BODY_NO_ITEMS_TO_DISPLAY"
+msgstr "Brak elementów do wyświetlenia."
+
+msgid "IDS_PBR_BODY_TAP_HERE_TO_TAKE_PICTURES_OR_VIDEOS"
+msgstr "Dotknij tutaj, aby robić zdjęcia lub nagrywać filmy."
+
+msgid "IDS_NFC_TPOP_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SHARED_HPD_EXCEEDED"
+msgstr "Przekroczono maksymalną liczbę elementów, które można udostępnić (%d)."
+
+msgid "IDS_IV_BODY_TAP_TO_ADD_IMAGES"
+msgstr "Dotknij, aby dodać obrazy."
+
+msgid "IDS_GALLERY_POP_COPY_OR_MOVE_THE_SELECTED_ITEMS_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Skopiować lub przenieść wybrane elementy z oryginalnego albumu?"
+
+msgid "IDS_GALLERY_HEADER_SELECT"
+msgstr "Wybór"
+
+msgid "IDS_VIDEO_POP_FILE_ALREADY_EXISTS"
+msgstr "Plik już istnieje."
+
+msgid "IDS_VIDEO_POP_THIS_ITEM_WILL_BE_DELETED"
+msgstr "Ten element zostanie usunięty."
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_FACEBOOK_ITEMS_WILL_BE_SHOWN"
+msgstr "Elementy zostaną wyświetlone po przekazaniu zdjęć do Facebooka."
+
+msgid "IDS_GALLERY_HEADER_SELECT_ALL_ABB"
+msgstr "Wybierz wszystko"
+
+msgid "IDS_GALLERY_HEADER_PD_SELECTED_ABB"
+msgstr "Wybrano %d"
+
+msgid "IDS_GALLERY_OPT_VIEW_AS"
+msgstr "Widok"
+
+msgid "IDS_GALLERY_OPT_DATE_HMOST_RECENT_ABB2"
+msgstr "Data (najnowsze)"
+
+msgid "IDS_GALLERY_OPT_DATE_HOLDEST_ABB3"
+msgstr "Data (najstarsze)"
+
+msgid "IDS_GALLERY_BODY_AFTER_YOU_TAKE_PICTURES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Gdy zrobisz zdjęcia, zostaną one tutaj wyświetlone."
+
+msgid "IDS_CLOUD_TPOP_CANCELLING_ING"
+msgstr "Anulowanie..."
+
+msgid "IDS_GALLERY_OPT_FROM_DEVICE_ABB"
+msgstr "Z urządzenia"
+
+msgid "IDS_GALLERY_OPT_FROM_DROPBOX_ABB"
+msgstr "Z Dropbox"
+
+msgid "IDS_GALLERY_OPT_FROM_FACEBOOK_ABB"
+msgstr "Z Facebooka"
+
+msgid "IDS_MUSIC_BODY_DOWNLOAD_COMPLETED"
+msgstr "Zakończono pobieranie."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DELETED"
+msgstr "Wszystkie elementy zostaną usunięte."
+
+msgid "IDS_GALLERY_POP_1_ITEM_WILL_BE_DOWNLOADED"
+msgstr "1 element zostanie pobrany."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "Zostanie pobranych elementów: %d."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "Wszystkie elementy zostaną pobrane."
+
+msgid "IDS_GALLERY_TPOP_SELECTED_ALBUM_SAME_AS_SOURCE_ALBUM_SELECT_ANOTHER_ALBUM"
+msgstr "Wybrany album ten sam co album źródłowy. Wybierz inny album."
+
+msgid "IDS_HS_NPBODY_TAP_HERE_TO_ADD_IMAGES"
+msgstr "Dotknij tutaj, aby dodać obrazy"
+
+msgid "IDS_MF_HEADER_UNABLE_TO_SAVE_DATA_ABB"
+msgstr "Nie można zapisać danych"
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_IN_YOUR_DEVICE_STORAGE_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "Za mało miejsca w położeniu pamięci urządzenia. Przejdź do menu Ustawienia > Energia i położenie pamięci > Położenie pamięci, a następnie usuń niektóre pliki i spróbuj ponownie."
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_YOUR_SD_CARD_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "Za mało miejsca na karcie pamięci. Przejdź do menu Ustawienia > Energia i położenie pamięci > Położenie pamięci, a następnie usuń niektóre pliki i spróbuj ponownie."
+
+msgid "IDS_MF_BUTTON_CANCEL_ABB3"
+msgstr "Anuluj"
+
+msgid "IDS_MF_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Nie pokazuj ponownie"
+
+msgid "IDS_MF_POP_USING_MOBILE_DATA_WHILE_ROAMING_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "Korzystanie z transmisji danych po sieci podczas roamingu może powodować naliczanie dodatkowych opłat w zależności od planu taryfowego."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DELETED_ABB"
+msgstr "Elementów do usunięcia: %d."
+
+msgid "IDS_GALLERY_OPT_DELETE"
+msgstr "Usuń"
+
+msgid "IDS_GALLERY_BODY_YESTERDAY"
+msgstr "Wczoraj"
+
+msgid "IDS_BR_MBODY_DOWNLOADS"
+msgstr "Pobierane pliki"
+
+msgid "IDS_GALLERY_HEADER_COPY"
+msgstr "Kopiowanie"
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Usuń"
+
+msgid "IDS_GALLERY_BUTTON_ALBUMS"
+msgstr "Albumy"
+
+msgid "IDS_GALLERY_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Przekroczono maksymalną liczbę elementów (%d)."
+
+msgid "IDS_GALLERY_BUTTON_CANCEL"
+msgstr "Anuluj"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "GOTOWE"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ANULUJ"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "USUŃ"
+
+msgid "IDS_GALLERY_POP_COPYING_ING"
+msgstr "Kopiowanie..."
+
+msgid "IDS_GALLERY_POP_MOVING_ING"
+msgstr "Przenoszenie..."
+
+msgid "IDS_STORYALBUM_POP_IF_YOU_CREATE_CONTENT_THAT_INCLUDES_ITEMS_FROM_PERSONAL_STORAGE_IT_MAY_NOT_BE_HIDDEN_AUTOMATICALLY_MSG"
+msgstr "Jeśli tworzysz zawartość, która zawiera elementy z pamięci osobistej, może ona nie być ukrywana automatycznie. Wybrane dane osobiste mogą być widoczne podczas przeglądania nowej zawartości."
+
+msgid "IDS_HS_ACBUTTON_EDIT"
+msgstr "EDYTUJ"
+
+msgid "IDS_MF_BUTTON_SETTINGS"
+msgstr "Ustawienia"
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "EDYTUJ"
+
+msgid "IDS_CLOCK_HEADER_REORDER_ABB"
+msgstr "Zmień kolejność"
+
diff --git a/res/po/pt_BR.po b/res/po/pt_BR.po
new file mode 100644 (file)
index 0000000..18f1810
--- /dev/null
@@ -0,0 +1,759 @@
+msgid "IDS_MF_POP_YOUR_DEVICE_IS_NOT_CONNECTED_TO_A_WI_FI_NETWORK_CONNECTING_TO_A_MOBILE_NETWORK_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "O dispositivo não está conectado a uma rede Wi-Fi. A conexão a uma rede móvel pode resultar em cobranças adicionais dependendo do seu plano de pagamento."
+
+msgid "IDS_VIDEO_TPOP_MOBILE_DATA_TURNED_OFF_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_TURN_ON_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Dados móveis desligados. Conecte-se a uma rede Wi-Fi em seu lugar ou ligue os Dados móveis e tente novamente."
+
+msgid "IDS_VIDEO_BODY_AFTER_YOU_RECORD_VIDEOS_USING_THE_CAMERA_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Após gravar vídeos usando a câmera, eles serão exibidos aqui."
+
+msgid "IDS_VIDEO_TPOP_FILE_NAME_ALREADY_IN_USE"
+msgstr "O nome do arquivo já está em uso."
+
+msgid "IDS_MF_POP_DELETE_PD_ITEMS_Q"
+msgstr "Apagar itens %d?"
+
+msgid "IDS_ST_HEADER_PRIVACY"
+msgstr "Privacidade"
+
+msgid "IDS_COM_BODY_SEP_ABB"
+msgstr "Set."
+
+msgid "IDS_COM_BODY_OCT_ABB"
+msgstr "Out."
+
+msgid "IDS_COM_BODY_NOV_ABB"
+msgstr "Nov."
+
+msgid "IDS_COM_BODY_MAY_ABB"
+msgstr "Maio"
+
+msgid "IDS_COM_BODY_MAR_ABB"
+msgstr "Mar."
+
+msgid "IDS_COM_BODY_JUN_ABB"
+msgstr "Jun."
+
+msgid "IDS_COM_BODY_JUL_ABB"
+msgstr "Jul."
+
+msgid "IDS_COM_BODY_JAN_ABB"
+msgstr "Jan."
+
+msgid "IDS_COM_BODY_FEB_ABB"
+msgstr "Fev."
+
+msgid "IDS_COM_BODY_DEC_ABB"
+msgstr "Dez."
+
+msgid "IDS_COM_BODY_AUG_ABB"
+msgstr "Ago."
+
+msgid "IDS_COM_BODY_APR_ABB"
+msgstr "Abr."
+
+msgid "IDS_GALLERY_HEADER_ALBUM"
+msgstr "Álbum"
+
+msgid "IDS_MEDIABR_OPT_MORE"
+msgstr "Mais"
+
+msgid "IDS_MEDIABR_POP_INVALID_INPUT_PARAMETER"
+msgstr "Parâmetro de entrada inválido."
+
+msgid "IDS_MEDIABR_POP_ENTRY_IS_EMPTY"
+msgstr "Entrada vazia."
+
+msgid "IDS_MEDIABR_POP_SAME_NAME_ALREADY_IN_USE"
+msgstr "O mesmo nome já está sendo utilizado."
+
+msgid "IDS_MEDIABR_POP_UNABLE_TO_RENAME"
+msgstr "Impossível renomear."
+
+msgid "IDS_MEDIABR_POP_NO_ALBUMS_SELECTED"
+msgstr "Nenhum álbum selecionado."
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ITEM"
+msgstr "Selecionar item"
+
+msgid "IDS_MEDIABR_BODY_NO_ALBUMS"
+msgstr "Sem álbuns"
+
+msgid "IDS_MEDIABR_POP_CREATE_FOLDER_Q"
+msgstr "criar pasta?"
+
+msgid "IDS_MEDIABR_POP_RETRY_Q"
+msgstr "Repetir?"
+
+msgid "IDS_MEDIABR_POPUP_REMOVE_Q"
+msgstr "Remover?"
+
+msgid "IDS_MEDIABR_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "%d álbuns serão excluídos."
+
+msgid "IDS_MEDIABR_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "1 álbum será excluído."
+
+msgid "IDS_MEDIABR_BODY_CAMERA"
+msgstr "Câmera"
+
+msgid "IDS_MEDIABR_BUTTON_START"
+msgstr "Iniciar"
+
+msgid "IDS_MEDIABR_OPT_SETTINGS"
+msgstr "Configurações"
+
+msgid "IDS_MEDIABR_OPT_YES"
+msgstr "Sim"
+
+msgid "IDS_MEDIABR_OPT_NO"
+msgstr "Não"
+
+msgid "IDS_MEDIABR_BUTTON_OK"
+msgstr "OK"
+
+msgid "IDS_MEDIABR_BUTTON_SAVE"
+msgstr "Salvar"
+
+msgid "IDS_MEDIABR_POP_DELETE_Q"
+msgstr "Apagar?"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_ALBUM"
+msgstr "Mover para o álbum"
+
+msgid "IDS_GALLERY_OPT_COPY_TO_ALBUM"
+msgstr "Copiar para o álbum"
+
+msgid "IDS_GALLERY_HEADER_VIEW_BY_ABB"
+msgstr "Exibir por"
+
+msgid "IDS_GALLERY_HEADER_ENTER_NAME"
+msgstr "Inserir nome"
+
+msgid "IDS_MEDIABR_POP_ALL_DATA_RELATED_TO_THIS_ACCOUNT_WILL_BE_DELETED_CONTINUE_Q"
+msgstr "Todos os dados relacionados a esta conta serão apagados. Continuar?"
+
+msgid "IDS_MEDIABR_BUTTON_CANCEL_ABB"
+msgstr "Cancelar"
+
+msgid "IDS_MEDIABR_TAB4_NEW_ALBUM"
+msgstr "Álbum novo"
+
+msgid "IDS_MEDIABR_POP_DO_YOU_WANT_TO_COPY_OR_MOVE_THE_PICTURES_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Deseja copiar ou mover as imagens do álbum original?"
+
+msgid "IDS_MEDIABR_OPT_SHARE"
+msgstr "Compartilhar"
+
+msgid "IDS_MEDIABR_OPT_SLIDESHOW"
+msgstr "Apresentação de slides"
+
+msgid "IDS_MEDIABR_OPT_START_SLIDESHOW"
+msgstr "Iniciar apresentação de slides"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS"
+msgstr "Conf. Apres. de slides"
+
+msgid "IDS_MEDIABR_POP_NO_NAME"
+msgstr "Sem nome"
+
+msgid "IDS_MEDIABR_BODY_ALL_ALBUMS"
+msgstr "Todos os álbuns"
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ALBUM"
+msgstr "Selecionar álbum"
+
+msgid "IDS_MEDIABR_POP_1_ITEM_WILL_BE_DELETED"
+msgstr "1 item será excluído."
+
+msgid "IDS_MEDIABR_OPT_ALL_ITEMS"
+msgstr "Todos os itens"
+
+msgid "IDS_MEDIABR_BODY_PD_ITEMS"
+msgstr "%d itens"
+
+msgid "IDS_IV_BODY_THERE_IS_ONLY_ONE_ALBUM"
+msgstr "Existe apenas um álbum."
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "Você pode selecionar até %d itens."
+
+msgid "IDS_MF_BODY_DOWNLOADS"
+msgstr "Downloads"
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Apagar?"
+
+msgid "IDS_MF_SK_MOVE"
+msgstr "Mover"
+
+msgid "IDS_MF_POP_DELETING_ING"
+msgstr "Apagando…"
+
+msgid "IDS_CAM_BODY_OPERATION_FAILED"
+msgstr "Operação falhou."
+
+msgid "IDS_MSG_BODY_CANCELLED_M_CONTENT"
+msgstr "Cancelado"
+
+msgid "IDS_MF_OPT_DELETE_SELECTED"
+msgstr "Selecionado"
+
+msgid "IDS_MF_POP_MOVED"
+msgstr "Movido."
+
+msgid "IDS_MF_POP_COPIED"
+msgstr "Copiado."
+
+msgid "IDS_VPL_POP_NO_FILES_SELECTED"
+msgstr "Nenhum arquivo selecionado."
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Fechar"
+
+msgid "IDS_MF_OPT_SORT_BY_ABB"
+msgstr "Ordenar por"
+
+msgid "IDS_CAM_POP_LATEST"
+msgstr "Mais recentes"
+
+msgid "IDS_MEDIABR_POP_OLDEST_M_DATE"
+msgstr "Mais antiga"
+
+msgid "IDS_MSG_BUTTON2_CREATE"
+msgstr "Criar"
+
+msgid "IDS_MEDIABR_POP_NO_ITEMS"
+msgstr "Sem itens"
+
+msgid "IDS_MEDIABR_OPT_EDIT_IMAGE"
+msgstr "Editar imagem"
+
+msgid "IDS_MEDIABR_BODY_SELECT_PICTURE"
+msgstr "Selecionar imagem"
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ITEM_Q"
+msgstr "Excluir este item?"
+
+msgid "IDS_GALLERY_OPT_SCENERY"
+msgstr "Cenário"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PRIVATE"
+msgstr "Remover do Modo Privado"
+
+msgid "IDS_GALLERY_OPT_PETS"
+msgstr "Animais de estimação"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_PRIVATE"
+msgstr "Mover para o Modo Privado"
+
+msgid "IDS_GALLERY_OPT_FOOD"
+msgstr "Alimentos"
+
+msgid "IDS_GALLERY_OPT_FLOWERS"
+msgstr "Flores"
+
+msgid "IDS_GALLERY_OPT_DOCUMENTS"
+msgstr "Documentos"
+
+msgid "IDS_GALLERY_MBODY_VEHICLES"
+msgstr "Veículos"
+
+msgid "IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED"
+msgstr "Número máximo de caracteres (%d) atingido."
+
+msgid "IDS_IV_BODY_UNABLE_TO_LOAD_PHOTO_ABB"
+msgstr "Não é possível carregar foto."
+
+msgid "IDS_IV_BODY_SHARE_VIA"
+msgstr "Compartilhar via"
+
+msgid "IDS_IV_BODY_DONT_ASK_AGAIN"
+msgstr "Não pergunte novamente"
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Número máximo de caracteres atingido."
+
+msgid "IDS_GALLERY_HEADER_TIME"
+msgstr "Hora"
+
+msgid "IDS_EMAIL_BODY_FAILED_M_STATUS"
+msgstr "Falha"
+
+msgid "IDS_EMAIL_BODY_DELETED"
+msgstr "Excluído."
+
+msgid "IDS_EMAIL_POP_DELETE_Q"
+msgstr "Apagar?"
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "A remover..."
+
+msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS"
+msgstr "Exibir %d itens"
+
+msgid "IDS_GALLERY_OPT_CREATE_ALBUM"
+msgstr "Criar álbum"
+
+msgid "IDS_GALLERY_OPT_GALLERY_ABB"
+msgstr "Galeria"
+
+msgid "IDS_EMAIL_BUTTON_MORE"
+msgstr "Mais"
+
+msgid "IDS_EMAIL_OPT_ACCOUNTS"
+msgstr "Contas"
+
+msgid "IDS_EMAIL_POP_OPERATION_FAILED"
+msgstr "Operação falhou."
+
+msgid "IDS_GALLERY_BODY_DOWNLOAD"
+msgstr "Download"
+
+msgid "IDS_GALLERY_BODY_SEARCH"
+msgstr "Pesquisar"
+
+msgid "IDS_GALLERY_BUTTON_BACK"
+msgstr "Voltar"
+
+msgid "IDS_GALLERY_BUTTON_CAMERA"
+msgstr "Câmera"
+
+msgid "IDS_GALLERY_HEADER_ALL"
+msgstr "Todos"
+
+msgid "IDS_GALLERY_OPT_REFRESH"
+msgstr "Atualizar"
+
+msgid "IDS_GALLERY_OPT_REMOVE"
+msgstr "Remover"
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_DROPBOX_ITEMS_WILL_BE_SHOWN"
+msgstr "Após carregar as imagens para o Dropbox, os itens serão exibidos."
+
+msgid "IDS_KEEPIT_BODY_GROUP_PLAY_ABB"
+msgstr "Group Play"
+
+msgid "IDS_MEDIABR_HEADER_CONTACTS"
+msgstr "Contatos"
+
+msgid "IDS_MEDIABR_OPT_CREATE"
+msgstr "Criar"
+
+msgid "IDS_MEDIABR_OPT_DETAILS"
+msgstr "Detalhes"
+
+msgid "IDS_MEDIABR_OPT_PRINT"
+msgstr "Imprimir"
+
+msgid "IDS_MEDIABR_OPT_RENAME"
+msgstr "Renomear"
+
+msgid "IDS_MEDIABR_POP_DOWNLOADED"
+msgstr "Baixado."
+
+msgid "IDS_MEDIABR_POP_DOWNLOADING_ING"
+msgstr "Baixando…"
+
+msgid "IDS_MF_HEADER_ENTER_NAME"
+msgstr "Inserir nome."
+
+msgid "IDS_MF_HEADER_MYFILES"
+msgstr "Meus Arquivos"
+
+msgid "IDS_MF_POP_ADDED"
+msgstr "Adicionado."
+
+msgid "IDS_MF_POP_PROCESSING_ING"
+msgstr "Processando…"
+
+msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
+msgstr "Tipo de arquivo não suportado."
+
+msgid "IDS_IMGE_BODY_AFTER_YOU_TAKE_PICTURES_PICTURES_WILL_BE_SHOWN"
+msgstr "Após tirar fotos, elas serão exibidas."
+
+msgid "IDS_IME_BODY_LANDSCAPE_MODE"
+msgstr "Modo paisagem"
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_CLOSE_DRAWER_MENU_TTS"
+msgstr "Toque duas vezes para fechar a gaveta do menu."
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_OPEN_DRAWER_MENU_TTS"
+msgstr "Toque duas vezes para abrir a gaveta do menu."
+
+msgid "IDS_EMAIL_BODY_DRAG_AND_DROP"
+msgstr "Arrastar e soltar"
+
+msgid "IDS_EMAIL_OPT_DRAWER_ABB"
+msgstr "Gaveta"
+
+msgid "IDS_EMAIL_POP_MOBILE_DATA_IS_DISABLED_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_ENABLE_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "A rede de dados móveis está desativada. Conecte-se à rede Wi-Fi ou ative as redes móveis e tente novamente."
+
+msgid "IDS_EMAIL_POP_WI_FI_CONNECTION_REQUIRED_CONNECT_TO_WI_FI_NETWORK_AND_TRY_AGAIN"
+msgstr "É necessária uma conexão Wi-Fi. Conecte-se a uma rede Wi-Fi e tente novamente"
+
+msgid "IDS_GALLERY_HEADER_ADD_PICTURES_FROM_ABB"
+msgstr "Adicione fotos de"
+
+msgid "IDS_GALLERY_HEADER_CONNECTED_DEVICES_ABB"
+msgstr "Dispositivos conectados"
+
+msgid "IDS_GALLERY_OPT_PRIVATE_CONTENT"
+msgstr "Conteúdo privado"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PS"
+msgstr "Remover de %s"
+
+msgid "IDS_GALLERY_OPT_REMOVE_NAME_TAG"
+msgstr "Remover etiqueta do nome"
+
+msgid "IDS_GALLERY_POP_THERE_ARE_NO_EVENTS_TO_DISPLAY_CREATE_A_NEW_EVENT"
+msgstr "Não existem eventos para exibir. Crie um novo evento."
+
+msgid "IDS_GALLERY_POP_TO_SCROLL_QUICKLY_TO_OTHER_DATES_TAP_AND_HOLD_THE_DATE_INDICATOR_AT_THE_TOP_RIGHT_OF_THE_SCREEN"
+msgstr "Para percorrer rapidamente para outras datas, mantenha o indicador de data pressionado na parte superior da tela."
+
+msgid "IDS_GP_POP_REMOVE_PD_ITEMS_Q"
+msgstr "Remover %d itens?"
+
+msgid "IDS_GP_POP_REMOVE_THIS_ITEM_Q"
+msgstr "Remover este item?"
+
+msgid "IDS_HELP_BODY_GALLERY"
+msgstr "Galeria"
+
+msgid "IDS_HELP_OPT_SHUFFLED_PICTURES"
+msgstr "Fotos misturadas"
+
+msgid "IDS_IV_BODY_ADD_PICTURES"
+msgstr "Adicionar imagens"
+
+msgid "IDS_IV_BODY_AFTER_YOU_TAG_PICTURES_AS_YOUR_FAVOURITES_PICTURES_WILL_BE_SHOWN"
+msgstr "Após rotular imagens como suas favoritas, elas serão exibidas."
+
+msgid "IDS_IV_BODY_REMOVE_FACE_IDENTIFICATION_Q"
+msgstr "Remover a identificação do rosto?"
+
+msgid "IDS_IV_OPT_ASSIGN_NAME"
+msgstr "Atribuir nome"
+
+msgid "IDS_IV_OPT_CONFIRM_AS_PS"
+msgstr "Confirme como %s"
+
+msgid "IDS_IV_OPT_LAYOUT_M_PICTUERS"
+msgstr "Layout"
+
+msgid "IDS_IV_OPT_PD_PICTURES_ADDED"
+msgstr "%d imagens adicionadas"
+
+msgid "IDS_IV_POP_THE_ALBUM_WILL_BE_CANCELLED"
+msgstr "O álbum será cancelado."
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEM_ABB"
+msgstr "Excluir item"
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEMS"
+msgstr "Excluir itens"
+
+msgid "IDS_MEDIABR_BODY_1_ITEM"
+msgstr "1 item"
+
+msgid "IDS_MEDIABR_BODY_10_SECONDS"
+msgstr "10 segundos"
+
+msgid "IDS_MEDIABR_BODY_5_SECONDS"
+msgstr "5 segundos"
+
+msgid "IDS_MEDIABR_BODY_NOT_ASSIGNED"
+msgstr "Não atribuído"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL"
+msgstr "Intervalo da apresentação de slides"
+
+msgid "IDS_MEDIABR_BODY_UNTAGGED"
+msgstr "Sem marcas"
+
+msgid "IDS_MEDIABR_OPT_3_SECONDS"
+msgstr "3 segundos"
+
+msgid "IDS_MEDIABR_OPT_ALL_CONTENT"
+msgstr "Todo o conteúdo"
+
+msgid "IDS_MEDIABR_OPT_CONTENT_TO_DISPLAY"
+msgstr "Conteúdo para exibição"
+
+msgid "IDS_MEDIABR_OPT_DELETE_TAG"
+msgstr "Apagar etiqueta"
+
+msgid "IDS_MEDIABR_OPT_DEVICE_CONTENT"
+msgstr "Conteúdo do dispositivo"
+
+msgid "IDS_MEDIABR_OPT_DROPBOX_CONTENT"
+msgstr "Conteúdo do Dropbox"
+
+msgid "IDS_MEDIABR_OPT_FACEBOOK_CONTENT"
+msgstr "Conteúdo do Facebook"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_LEFT"
+msgstr "Girar para a esquerda"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_RIGHT"
+msgstr "Girar para a direita"
+
+msgid "IDS_MEDIABR_POP_IMPORT"
+msgstr "Importar"
+
+msgid "IDS_MEDIABR_POP_IMPORTED"
+msgstr "Importado."
+
+msgid "IDS_MEDIABR_POP_IMPORTING_ING"
+msgstr "Importando..."
+
+msgid "IDS_MEDIABR_POP_LOADING_ING"
+msgstr "Carregando..."
+
+msgid "IDS_MEDIABR_POP_NEARBY_DEVICES_FOUND"
+msgstr "Dispositivos encontrados nas proximidades."
+
+msgid "IDS_MEDIABR_POP_NO_DEVICES_FOUND_SCANNING_FOR_NEARBY_DEVICES_WILL_CONTINUE_IN_BACKGROUND"
+msgstr "Nenhum dispositivo encontrado. A varredura por dispositivos próximos continuará em segundo plano."
+
+msgid "IDS_MEDIABR_POP_REFRESHED"
+msgstr "Atualizado."
+
+msgid "IDS_MEDIABR_POP_ROTATING_ING"
+msgstr "Rotacionando..."
+
+msgid "IDS_MEDIABR_POP_SCAN_STARTED_DEVICE_LIST_WILL_BE_UPDATED_AUTOMATICALLY"
+msgstr "Busca iniciada. A lista de dispositivos será atualizada automaticamente."
+
+msgid "IDS_MEDIABR_POP_STARTING_DOWNLOAD_ABB"
+msgstr "Iniciando download..."
+
+msgid "IDS_MF_OPT_COPY_TO"
+msgstr "Copiar para"
+
+msgid "IDS_MF_OPT_MOVE_TO"
+msgstr "Mover para"
+
+msgid "IDS_MF_POP_FAILED_TO_ADD_SHORTCUT"
+msgstr "Falha ao adicionar atalho."
+
+msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
+msgstr "Memória insuficiente. Apague alguns itens"
+
+msgid "IDS_MF_POP_REMOVED"
+msgstr "Removido."
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Adicionando..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "Excluir %d álbuns?"
+
+msgid "IDS_ST_BODY_PRIVATE_STORAGE"
+msgstr "Armazenamento privado"
+
+msgid "IDS_IV_BODY_DRAG_HERE"
+msgstr "Arraste aqui."
+
+msgid "IDS_GALLERY_BODY_NEW_M_ALBUM_ABB"
+msgstr "Novo"
+
+msgid "IDS_GALLERY_HEADER_UNGROUPEDM_PEOPLE_ABB"
+msgstr "Desagrupado"
+
+msgid "IDS_KEEPIT_OPT_SCREENSHOTS_ABB"
+msgstr "Capturas de tela"
+
+msgid "IDS_MEDIABR_OPT_PHOTOS"
+msgstr "Fotos"
+
+msgid "IDS_MEDIABR_POP_DOWNLOAD_FAILED"
+msgstr "Falha na transferência."
+
+msgid "IDS_MEDIABR_POP_UNSUPPORTED_FILE"
+msgstr "Arquivo não suportado."
+
+msgid "IDS_SEARCH_BODY_1_RESULT"
+msgstr "1 resultado"
+
+msgid "IDS_SEARCH_BODY_PD_RESULTS"
+msgstr "%d resultados"
+
+msgid "IDS_TW_BODY_FAVORITES"
+msgstr "Favoritos"
+
+msgid "IDS_EMAIL_POP_DOWNLOAD_CANCELLED"
+msgstr "Transferência cancelada."
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ALBUM_Q"
+msgstr "Excluir este álbum?"
+
+msgid "IDS_CAM_HEADER_WARNING_ABB"
+msgstr "Atenção"
+
+msgid "IDS_ALM_OPT_SORT_BY"
+msgstr "Ordenar por"
+
+msgid "IDS_CLD_OPT_TODAY"
+msgstr "Hoje"
+
+msgid "IDS_GALLERY_BODY_DATE"
+msgstr "Data"
+
+msgid "IDS_EMAIL_BODY_NO_ITEMS_TO_DISPLAY"
+msgstr "Não há itens para exibir."
+
+msgid "IDS_PBR_BODY_TAP_HERE_TO_TAKE_PICTURES_OR_VIDEOS"
+msgstr "Toque aqui para tirar fotos ou vídeos."
+
+msgid "IDS_NFC_TPOP_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SHARED_HPD_EXCEEDED"
+msgstr "Número máximo de itens que podem ser compartilhados (%d) excedido."
+
+msgid "IDS_IV_BODY_TAP_TO_ADD_IMAGES"
+msgstr "Tocar para adicionar imagens."
+
+msgid "IDS_GALLERY_POP_COPY_OR_MOVE_THE_SELECTED_ITEMS_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Copiar ou mover os itens selecionados do álbum original?"
+
+msgid "IDS_GALLERY_HEADER_SELECT"
+msgstr "Selecionar"
+
+msgid "IDS_VIDEO_POP_FILE_ALREADY_EXISTS"
+msgstr "Arquivo existente."
+
+msgid "IDS_VIDEO_POP_THIS_ITEM_WILL_BE_DELETED"
+msgstr "Este item será removido."
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_FACEBOOK_ITEMS_WILL_BE_SHOWN"
+msgstr "Após carregar suas imagens para o Facebook, os itens serão exibidos."
+
+msgid "IDS_GALLERY_HEADER_SELECT_ALL_ABB"
+msgstr "Selecionar todos"
+
+msgid "IDS_GALLERY_HEADER_PD_SELECTED_ABB"
+msgstr "%d selecionado(s)"
+
+msgid "IDS_GALLERY_OPT_VIEW_AS"
+msgstr "Visualizar como"
+
+msgid "IDS_GALLERY_OPT_DATE_HMOST_RECENT_ABB2"
+msgstr "Data (mais recente)"
+
+msgid "IDS_GALLERY_OPT_DATE_HOLDEST_ABB3"
+msgstr "Data (mais antigo)"
+
+msgid "IDS_GALLERY_BODY_AFTER_YOU_TAKE_PICTURES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Após tirar fotos, elas serão exibidas aqui."
+
+msgid "IDS_CLOUD_TPOP_CANCELLING_ING"
+msgstr "Cancelando..."
+
+msgid "IDS_GALLERY_OPT_FROM_DEVICE_ABB"
+msgstr "Do dispositivo"
+
+msgid "IDS_GALLERY_OPT_FROM_DROPBOX_ABB"
+msgstr "Do Dropbox"
+
+msgid "IDS_GALLERY_OPT_FROM_FACEBOOK_ABB"
+msgstr "Do Facebook"
+
+msgid "IDS_MUSIC_BODY_DOWNLOAD_COMPLETED"
+msgstr "Transferência concluída."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DELETED"
+msgstr "Todos os itens serão apagados."
+
+msgid "IDS_GALLERY_POP_1_ITEM_WILL_BE_DOWNLOADED"
+msgstr "1 item será baixado."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "%d itens serão baixados."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "Todos os itens serão baixados."
+
+msgid "IDS_GALLERY_TPOP_SELECTED_ALBUM_SAME_AS_SOURCE_ALBUM_SELECT_ANOTHER_ALBUM"
+msgstr "O álbum selecionado é o mesmo álbum de origem. Selecione um outro álbum."
+
+msgid "IDS_HS_NPBODY_TAP_HERE_TO_ADD_IMAGES"
+msgstr "Toque aqui para adicionar imagens"
+
+msgid "IDS_MF_HEADER_UNABLE_TO_SAVE_DATA_ABB"
+msgstr "Impossível salvar dados"
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_IN_YOUR_DEVICE_STORAGE_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "Não existe espaço suficiente no armazenamento do dispositivo. Vá para Configurações > Energia e armazenamento > Armazenamento e exclua alguns arquivos e tente novamente."
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_YOUR_SD_CARD_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "Não existe espaço suficiente no seu cartão SD. Vá para Configurações > Carga e armazenamento > Armazenamento e exclua alguns arquivos e tente novamente."
+
+msgid "IDS_MF_BUTTON_CANCEL_ABB3"
+msgstr "Cancelar"
+
+msgid "IDS_MF_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Não exibir novamente"
+
+msgid "IDS_MF_POP_USING_MOBILE_DATA_WHILE_ROAMING_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "O uso de Dados móveis durante o roaming pode resultar em cobranças adicionais dependendo do seu plano de tarifas."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DELETED_ABB"
+msgstr "%d itens serão apagados."
+
+msgid "IDS_GALLERY_OPT_DELETE"
+msgstr "Excluir"
+
+msgid "IDS_GALLERY_BODY_YESTERDAY"
+msgstr "Ontem"
+
+msgid "IDS_BR_MBODY_DOWNLOADS"
+msgstr "Downloads"
+
+msgid "IDS_GALLERY_HEADER_COPY"
+msgstr "Copiar"
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Excluir"
+
+msgid "IDS_GALLERY_BUTTON_ALBUMS"
+msgstr "Álbuns"
+
+msgid "IDS_GALLERY_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_HPD_HAS_BEEN_EXCEEDED"
+msgstr "O número máximo de itens (%d) foi excedido."
+
+msgid "IDS_GALLERY_BUTTON_CANCEL"
+msgstr "Cancelar"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "CONCLUÍDO"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "CANCELAR"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "EXCLUIR"
+
+msgid "IDS_GALLERY_POP_COPYING_ING"
+msgstr "Copiando..."
+
+msgid "IDS_GALLERY_POP_MOVING_ING"
+msgstr "Movendo…"
+
+msgid "IDS_STORYALBUM_POP_IF_YOU_CREATE_CONTENT_THAT_INCLUDES_ITEMS_FROM_PERSONAL_STORAGE_IT_MAY_NOT_BE_HIDDEN_AUTOMATICALLY_MSG"
+msgstr "Se você criar conteúdo que inclua itens do seu armazenamento pessoal, ele poderá não ser oculto automaticamente. O conteúdo pessoal selecionado poderá ser visto ao visualizar o novo conteúdo."
+
+msgid "IDS_HS_ACBUTTON_EDIT"
+msgstr "EDITAR"
+
+msgid "IDS_MF_BUTTON_SETTINGS"
+msgstr "Configurações"
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "EDITAR"
+
+msgid "IDS_CLOCK_HEADER_REORDER_ABB"
+msgstr "Reordenar"
+
diff --git a/res/po/pt_PT.po b/res/po/pt_PT.po
new file mode 100644 (file)
index 0000000..490fd18
--- /dev/null
@@ -0,0 +1,759 @@
+msgid "IDS_MF_POP_YOUR_DEVICE_IS_NOT_CONNECTED_TO_A_WI_FI_NETWORK_CONNECTING_TO_A_MOBILE_NETWORK_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "O seu dispositivo não está ligado a uma rede Wi-Fi. A ligação a uma rede móvel pode resultar na cobrança de taxas adicionais dependendo do seu tarifário."
+
+msgid "IDS_VIDEO_TPOP_MOBILE_DATA_TURNED_OFF_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_TURN_ON_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Dados móveis desligados. Em alternativa, ligue-se a uma rede Wi-Fi ou ligue os Dados móveis e tente de novo."
+
+msgid "IDS_VIDEO_BODY_AFTER_YOU_RECORD_VIDEOS_USING_THE_CAMERA_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Depois de gravar vídeos utilizando a câmara, os vídeos serão mostrados aqui."
+
+msgid "IDS_VIDEO_TPOP_FILE_NAME_ALREADY_IN_USE"
+msgstr "Nome ficheiro já utilizado."
+
+msgid "IDS_MF_POP_DELETE_PD_ITEMS_Q"
+msgstr "Apagar itens %d?"
+
+msgid "IDS_ST_HEADER_PRIVACY"
+msgstr "Privacidade"
+
+msgid "IDS_COM_BODY_SEP_ABB"
+msgstr "Set."
+
+msgid "IDS_COM_BODY_OCT_ABB"
+msgstr "Out."
+
+msgid "IDS_COM_BODY_NOV_ABB"
+msgstr "Nov."
+
+msgid "IDS_COM_BODY_MAY_ABB"
+msgstr "Maio"
+
+msgid "IDS_COM_BODY_MAR_ABB"
+msgstr "Mar."
+
+msgid "IDS_COM_BODY_JUN_ABB"
+msgstr "Jun."
+
+msgid "IDS_COM_BODY_JUL_ABB"
+msgstr "Jul."
+
+msgid "IDS_COM_BODY_JAN_ABB"
+msgstr "Jan."
+
+msgid "IDS_COM_BODY_FEB_ABB"
+msgstr "Fev."
+
+msgid "IDS_COM_BODY_DEC_ABB"
+msgstr "Dez."
+
+msgid "IDS_COM_BODY_AUG_ABB"
+msgstr "Ago."
+
+msgid "IDS_COM_BODY_APR_ABB"
+msgstr "Abr."
+
+msgid "IDS_GALLERY_HEADER_ALBUM"
+msgstr "Álbum"
+
+msgid "IDS_MEDIABR_OPT_MORE"
+msgstr "Mais"
+
+msgid "IDS_MEDIABR_POP_INVALID_INPUT_PARAMETER"
+msgstr "Parâmetro de entrada inválido."
+
+msgid "IDS_MEDIABR_POP_ENTRY_IS_EMPTY"
+msgstr "Entrada vazia."
+
+msgid "IDS_MEDIABR_POP_SAME_NAME_ALREADY_IN_USE"
+msgstr "Já está a ser utilizado o mesmo nome."
+
+msgid "IDS_MEDIABR_POP_UNABLE_TO_RENAME"
+msgstr "Impossível mudar nome."
+
+msgid "IDS_MEDIABR_POP_NO_ALBUMS_SELECTED"
+msgstr "Nenhuns álbuns seleccionados."
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ITEM"
+msgstr "Seleccionar item"
+
+msgid "IDS_MEDIABR_BODY_NO_ALBUMS"
+msgstr "Sem álbuns"
+
+msgid "IDS_MEDIABR_POP_CREATE_FOLDER_Q"
+msgstr "Criar pasta?"
+
+msgid "IDS_MEDIABR_POP_RETRY_Q"
+msgstr "Tentar novamente?"
+
+msgid "IDS_MEDIABR_POPUP_REMOVE_Q"
+msgstr "Remover?"
+
+msgid "IDS_MEDIABR_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "%d álbuns serão eliminados."
+
+msgid "IDS_MEDIABR_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "1 álbum será eliminado."
+
+msgid "IDS_MEDIABR_BODY_CAMERA"
+msgstr "Câmara"
+
+msgid "IDS_MEDIABR_BUTTON_START"
+msgstr "Iniciar"
+
+msgid "IDS_MEDIABR_OPT_SETTINGS"
+msgstr "Definições"
+
+msgid "IDS_MEDIABR_OPT_YES"
+msgstr "Sim"
+
+msgid "IDS_MEDIABR_OPT_NO"
+msgstr "Não"
+
+msgid "IDS_MEDIABR_BUTTON_OK"
+msgstr "OK"
+
+msgid "IDS_MEDIABR_BUTTON_SAVE"
+msgstr "Guardar"
+
+msgid "IDS_MEDIABR_POP_DELETE_Q"
+msgstr "Eliminar?"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_ALBUM"
+msgstr "Mover para álbum"
+
+msgid "IDS_GALLERY_OPT_COPY_TO_ALBUM"
+msgstr "Copiar para álbum"
+
+msgid "IDS_GALLERY_HEADER_VIEW_BY_ABB"
+msgstr "Ver por"
+
+msgid "IDS_GALLERY_HEADER_ENTER_NAME"
+msgstr "Introduzir nome"
+
+msgid "IDS_MEDIABR_POP_ALL_DATA_RELATED_TO_THIS_ACCOUNT_WILL_BE_DELETED_CONTINUE_Q"
+msgstr "Todos os dados relacionados com esta conta serão eliminados. Continuar?"
+
+msgid "IDS_MEDIABR_BUTTON_CANCEL_ABB"
+msgstr "Cancelar"
+
+msgid "IDS_MEDIABR_TAB4_NEW_ALBUM"
+msgstr "Álbum novo"
+
+msgid "IDS_MEDIABR_POP_DO_YOU_WANT_TO_COPY_OR_MOVE_THE_PICTURES_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Quer copiar ou mover as imagens do álbum original?"
+
+msgid "IDS_MEDIABR_OPT_SHARE"
+msgstr "Partilhar"
+
+msgid "IDS_MEDIABR_OPT_SLIDESHOW"
+msgstr "Apresentação de slides"
+
+msgid "IDS_MEDIABR_OPT_START_SLIDESHOW"
+msgstr "Iniciar apresentação de slides"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS"
+msgstr "Definições da apresentação de slides"
+
+msgid "IDS_MEDIABR_POP_NO_NAME"
+msgstr "Sem nome"
+
+msgid "IDS_MEDIABR_BODY_ALL_ALBUMS"
+msgstr "Todos os álbuns"
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ALBUM"
+msgstr "Seleccionar álbum"
+
+msgid "IDS_MEDIABR_POP_1_ITEM_WILL_BE_DELETED"
+msgstr "1 item será eliminado."
+
+msgid "IDS_MEDIABR_OPT_ALL_ITEMS"
+msgstr "Todos os itens"
+
+msgid "IDS_MEDIABR_BODY_PD_ITEMS"
+msgstr "%d itens"
+
+msgid "IDS_IV_BODY_THERE_IS_ONLY_ONE_ALBUM"
+msgstr "Existe apenas um álbum."
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "Pode seleccionar até %d itens."
+
+msgid "IDS_MF_BODY_DOWNLOADS"
+msgstr "Transferências"
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Eliminar?"
+
+msgid "IDS_MF_SK_MOVE"
+msgstr "Mover"
+
+msgid "IDS_MF_POP_DELETING_ING"
+msgstr "A eliminar..."
+
+msgid "IDS_CAM_BODY_OPERATION_FAILED"
+msgstr "Operação falhou."
+
+msgid "IDS_MSG_BODY_CANCELLED_M_CONTENT"
+msgstr "Cancelado"
+
+msgid "IDS_MF_OPT_DELETE_SELECTED"
+msgstr "Seleccionado"
+
+msgid "IDS_MF_POP_MOVED"
+msgstr "Movido."
+
+msgid "IDS_MF_POP_COPIED"
+msgstr "Copiado."
+
+msgid "IDS_VPL_POP_NO_FILES_SELECTED"
+msgstr "Nenhum ficheiro seleccionado."
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Fechar"
+
+msgid "IDS_MF_OPT_SORT_BY_ABB"
+msgstr "Ordenar por"
+
+msgid "IDS_CAM_POP_LATEST"
+msgstr "Mais recentes"
+
+msgid "IDS_MEDIABR_POP_OLDEST_M_DATE"
+msgstr "Mais antiga"
+
+msgid "IDS_MSG_BUTTON2_CREATE"
+msgstr "Criar"
+
+msgid "IDS_MEDIABR_POP_NO_ITEMS"
+msgstr "Sem itens"
+
+msgid "IDS_MEDIABR_OPT_EDIT_IMAGE"
+msgstr "Editar imagem"
+
+msgid "IDS_MEDIABR_BODY_SELECT_PICTURE"
+msgstr "Seleccionar imagem"
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ITEM_Q"
+msgstr "Eliminar este item?"
+
+msgid "IDS_GALLERY_OPT_SCENERY"
+msgstr "Cenário"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PRIVATE"
+msgstr "Remover de Privado"
+
+msgid "IDS_GALLERY_OPT_PETS"
+msgstr "Animais de estimação"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_PRIVATE"
+msgstr "Mover para Privado"
+
+msgid "IDS_GALLERY_OPT_FOOD"
+msgstr "Alimentos"
+
+msgid "IDS_GALLERY_OPT_FLOWERS"
+msgstr "Flores"
+
+msgid "IDS_GALLERY_OPT_DOCUMENTS"
+msgstr "Documentos"
+
+msgid "IDS_GALLERY_MBODY_VEHICLES"
+msgstr "Veículos"
+
+msgid "IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED"
+msgstr "Número máximo de caracteres (%d) atingido."
+
+msgid "IDS_IV_BODY_UNABLE_TO_LOAD_PHOTO_ABB"
+msgstr "Impossível carregar fotografia."
+
+msgid "IDS_IV_BODY_SHARE_VIA"
+msgstr "Partilhar via"
+
+msgid "IDS_IV_BODY_DONT_ASK_AGAIN"
+msgstr "Não voltar a perguntar"
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Número máximo de caracteres atingido."
+
+msgid "IDS_GALLERY_HEADER_TIME"
+msgstr "Hora"
+
+msgid "IDS_EMAIL_BODY_FAILED_M_STATUS"
+msgstr "Falhou"
+
+msgid "IDS_EMAIL_BODY_DELETED"
+msgstr "Eliminado."
+
+msgid "IDS_EMAIL_POP_DELETE_Q"
+msgstr "Eliminar?"
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "A remover..."
+
+msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS"
+msgstr "Mostrar %d itens"
+
+msgid "IDS_GALLERY_OPT_CREATE_ALBUM"
+msgstr "Criar álbum"
+
+msgid "IDS_GALLERY_OPT_GALLERY_ABB"
+msgstr "Galeria"
+
+msgid "IDS_EMAIL_BUTTON_MORE"
+msgstr "Mais"
+
+msgid "IDS_EMAIL_OPT_ACCOUNTS"
+msgstr "Contas"
+
+msgid "IDS_EMAIL_POP_OPERATION_FAILED"
+msgstr "Operação falhou."
+
+msgid "IDS_GALLERY_BODY_DOWNLOAD"
+msgstr "Transferir"
+
+msgid "IDS_GALLERY_BODY_SEARCH"
+msgstr "Procurar"
+
+msgid "IDS_GALLERY_BUTTON_BACK"
+msgstr "Voltar"
+
+msgid "IDS_GALLERY_BUTTON_CAMERA"
+msgstr "Câmara"
+
+msgid "IDS_GALLERY_HEADER_ALL"
+msgstr "Tudo"
+
+msgid "IDS_GALLERY_OPT_REFRESH"
+msgstr "Actualizar"
+
+msgid "IDS_GALLERY_OPT_REMOVE"
+msgstr "Remover"
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_DROPBOX_ITEMS_WILL_BE_SHOWN"
+msgstr "Depois de transferir fotografias para o Dropbox, os itens serão mostrados."
+
+msgid "IDS_KEEPIT_BODY_GROUP_PLAY_ABB"
+msgstr "Group Play"
+
+msgid "IDS_MEDIABR_HEADER_CONTACTS"
+msgstr "Contactos"
+
+msgid "IDS_MEDIABR_OPT_CREATE"
+msgstr "Criar"
+
+msgid "IDS_MEDIABR_OPT_DETAILS"
+msgstr "Detalhes"
+
+msgid "IDS_MEDIABR_OPT_PRINT"
+msgstr "Imprimir"
+
+msgid "IDS_MEDIABR_OPT_RENAME"
+msgstr "Mudar nome"
+
+msgid "IDS_MEDIABR_POP_DOWNLOADED"
+msgstr "Transferido."
+
+msgid "IDS_MEDIABR_POP_DOWNLOADING_ING"
+msgstr "A transferir..."
+
+msgid "IDS_MF_HEADER_ENTER_NAME"
+msgstr "Introduzir nome."
+
+msgid "IDS_MF_HEADER_MYFILES"
+msgstr "Os Meus Ficheiros"
+
+msgid "IDS_MF_POP_ADDED"
+msgstr "Adicionado."
+
+msgid "IDS_MF_POP_PROCESSING_ING"
+msgstr "A processar..."
+
+msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
+msgstr "Tipo de ficheiro não suportado."
+
+msgid "IDS_IMGE_BODY_AFTER_YOU_TAKE_PICTURES_PICTURES_WILL_BE_SHOWN"
+msgstr "Depois de tirar fotografias, as fotografias são mostrados."
+
+msgid "IDS_IME_BODY_LANDSCAPE_MODE"
+msgstr "Modo paisagem"
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_CLOSE_DRAWER_MENU_TTS"
+msgstr "Toque duas vezes para fechar o menu de gaveta."
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_OPEN_DRAWER_MENU_TTS"
+msgstr "Toque duas vezes para abrir o menu de gaveta."
+
+msgid "IDS_EMAIL_BODY_DRAG_AND_DROP"
+msgstr "Arrastar e largar"
+
+msgid "IDS_EMAIL_OPT_DRAWER_ABB"
+msgstr "Gaveta"
+
+msgid "IDS_EMAIL_POP_MOBILE_DATA_IS_DISABLED_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_ENABLE_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Os dados móveis estão desactivados. Ligue à rede Wi-Fi em substituição ou active os dados móveis e tente novamente."
+
+msgid "IDS_EMAIL_POP_WI_FI_CONNECTION_REQUIRED_CONNECT_TO_WI_FI_NETWORK_AND_TRY_AGAIN"
+msgstr "Ligação Wi-Fi necessária. Estabeleça a ligação à rede Wi-Fi e tente novamente."
+
+msgid "IDS_GALLERY_HEADER_ADD_PICTURES_FROM_ABB"
+msgstr "Adicionar imagens de"
+
+msgid "IDS_GALLERY_HEADER_CONNECTED_DEVICES_ABB"
+msgstr "Dispositivos ligados"
+
+msgid "IDS_GALLERY_OPT_PRIVATE_CONTENT"
+msgstr "Conteúdo privado"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PS"
+msgstr "Remover de %s"
+
+msgid "IDS_GALLERY_OPT_REMOVE_NAME_TAG"
+msgstr "Remover etiqueta de nome"
+
+msgid "IDS_GALLERY_POP_THERE_ARE_NO_EVENTS_TO_DISPLAY_CREATE_A_NEW_EVENT"
+msgstr "Não existem eventos para visualizar. Crie um evento novo."
+
+msgid "IDS_GALLERY_POP_TO_SCROLL_QUICKLY_TO_OTHER_DATES_TAP_AND_HOLD_THE_DATE_INDICATOR_AT_THE_TOP_RIGHT_OF_THE_SCREEN"
+msgstr "Para se deslocar rapidamente para outras datas, toque sem soltar no indicador de data no canto superior direito do ecrã."
+
+msgid "IDS_GP_POP_REMOVE_PD_ITEMS_Q"
+msgstr "Remover %d itens?"
+
+msgid "IDS_GP_POP_REMOVE_THIS_ITEM_Q"
+msgstr "Remover este item?"
+
+msgid "IDS_HELP_BODY_GALLERY"
+msgstr "Galeria"
+
+msgid "IDS_HELP_OPT_SHUFFLED_PICTURES"
+msgstr "Fotografias aleatórias"
+
+msgid "IDS_IV_BODY_ADD_PICTURES"
+msgstr "Adicionar imagens"
+
+msgid "IDS_IV_BODY_AFTER_YOU_TAG_PICTURES_AS_YOUR_FAVOURITES_PICTURES_WILL_BE_SHOWN"
+msgstr "Depois de classificar as fotografias como suas favoritas, as fotografias serão mostradas."
+
+msgid "IDS_IV_BODY_REMOVE_FACE_IDENTIFICATION_Q"
+msgstr "Remover identificação de rostos?"
+
+msgid "IDS_IV_OPT_ASSIGN_NAME"
+msgstr "Atribuir nome"
+
+msgid "IDS_IV_OPT_CONFIRM_AS_PS"
+msgstr "Confirmar como %s"
+
+msgid "IDS_IV_OPT_LAYOUT_M_PICTUERS"
+msgstr "Esquema"
+
+msgid "IDS_IV_OPT_PD_PICTURES_ADDED"
+msgstr "%d imagens adicionadas"
+
+msgid "IDS_IV_POP_THE_ALBUM_WILL_BE_CANCELLED"
+msgstr "O álbum será cancelado."
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEM_ABB"
+msgstr "Eliminar item"
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEMS"
+msgstr "Eliminar itens"
+
+msgid "IDS_MEDIABR_BODY_1_ITEM"
+msgstr "1 item"
+
+msgid "IDS_MEDIABR_BODY_10_SECONDS"
+msgstr "10 segundos"
+
+msgid "IDS_MEDIABR_BODY_5_SECONDS"
+msgstr "5 segundos"
+
+msgid "IDS_MEDIABR_BODY_NOT_ASSIGNED"
+msgstr "Não atribuído"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL"
+msgstr "Duração da apresentação"
+
+msgid "IDS_MEDIABR_BODY_UNTAGGED"
+msgstr "Sem etiqueta"
+
+msgid "IDS_MEDIABR_OPT_3_SECONDS"
+msgstr "3 segundos"
+
+msgid "IDS_MEDIABR_OPT_ALL_CONTENT"
+msgstr "Todo o conteúdo"
+
+msgid "IDS_MEDIABR_OPT_CONTENT_TO_DISPLAY"
+msgstr "Conteúdo a apresentar"
+
+msgid "IDS_MEDIABR_OPT_DELETE_TAG"
+msgstr "Apagar etiqueta"
+
+msgid "IDS_MEDIABR_OPT_DEVICE_CONTENT"
+msgstr "Conteúdo do dispositivo"
+
+msgid "IDS_MEDIABR_OPT_DROPBOX_CONTENT"
+msgstr "Conteúdo do Dropbox"
+
+msgid "IDS_MEDIABR_OPT_FACEBOOK_CONTENT"
+msgstr "Conteúdo do Facebook"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_LEFT"
+msgstr "Rodar para a esquerda"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_RIGHT"
+msgstr "Rodar para a direita"
+
+msgid "IDS_MEDIABR_POP_IMPORT"
+msgstr "Importar"
+
+msgid "IDS_MEDIABR_POP_IMPORTED"
+msgstr "Importados."
+
+msgid "IDS_MEDIABR_POP_IMPORTING_ING"
+msgstr "A importar..."
+
+msgid "IDS_MEDIABR_POP_LOADING_ING"
+msgstr "A carregar..."
+
+msgid "IDS_MEDIABR_POP_NEARBY_DEVICES_FOUND"
+msgstr "Encontrados dispositivos próximos."
+
+msgid "IDS_MEDIABR_POP_NO_DEVICES_FOUND_SCANNING_FOR_NEARBY_DEVICES_WILL_CONTINUE_IN_BACKGROUND"
+msgstr "Sem dispositivos encontrados. A pesquisa de dispositivos próximos irá continuar em segundo plano."
+
+msgid "IDS_MEDIABR_POP_REFRESHED"
+msgstr "Actualizada."
+
+msgid "IDS_MEDIABR_POP_ROTATING_ING"
+msgstr "A rodar..."
+
+msgid "IDS_MEDIABR_POP_SCAN_STARTED_DEVICE_LIST_WILL_BE_UPDATED_AUTOMATICALLY"
+msgstr "Pesquisa iniciada. A lista de dispositivos será actualizada automaticamente."
+
+msgid "IDS_MEDIABR_POP_STARTING_DOWNLOAD_ABB"
+msgstr "A iniciar transferência..."
+
+msgid "IDS_MF_OPT_COPY_TO"
+msgstr "Copiar para"
+
+msgid "IDS_MF_OPT_MOVE_TO"
+msgstr "Mover para"
+
+msgid "IDS_MF_POP_FAILED_TO_ADD_SHORTCUT"
+msgstr "Falha ao adicionar atalho."
+
+msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
+msgstr "Memória insuficiente. Apague alguns itens."
+
+msgid "IDS_MF_POP_REMOVED"
+msgstr "Removido."
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "A adicionar..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "Eliminar %d álbuns?"
+
+msgid "IDS_ST_BODY_PRIVATE_STORAGE"
+msgstr "Armazenamento privado"
+
+msgid "IDS_IV_BODY_DRAG_HERE"
+msgstr "Arraste para aqui."
+
+msgid "IDS_GALLERY_BODY_NEW_M_ALBUM_ABB"
+msgstr "Nova"
+
+msgid "IDS_GALLERY_HEADER_UNGROUPEDM_PEOPLE_ABB"
+msgstr "Desagrupado"
+
+msgid "IDS_KEEPIT_OPT_SCREENSHOTS_ABB"
+msgstr "Capturas de ecrã"
+
+msgid "IDS_MEDIABR_OPT_PHOTOS"
+msgstr "Fotos"
+
+msgid "IDS_MEDIABR_POP_DOWNLOAD_FAILED"
+msgstr "Falha na transferência."
+
+msgid "IDS_MEDIABR_POP_UNSUPPORTED_FILE"
+msgstr "Ficheiro não suportado."
+
+msgid "IDS_SEARCH_BODY_1_RESULT"
+msgstr "1 resultado"
+
+msgid "IDS_SEARCH_BODY_PD_RESULTS"
+msgstr "%d resultados"
+
+msgid "IDS_TW_BODY_FAVORITES"
+msgstr "Favoritos"
+
+msgid "IDS_EMAIL_POP_DOWNLOAD_CANCELLED"
+msgstr "Transferência cancelada."
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ALBUM_Q"
+msgstr "Eliminar este álbum?"
+
+msgid "IDS_CAM_HEADER_WARNING_ABB"
+msgstr "Aviso"
+
+msgid "IDS_ALM_OPT_SORT_BY"
+msgstr "Ordenar por"
+
+msgid "IDS_CLD_OPT_TODAY"
+msgstr "Hoje"
+
+msgid "IDS_GALLERY_BODY_DATE"
+msgstr "Data"
+
+msgid "IDS_EMAIL_BODY_NO_ITEMS_TO_DISPLAY"
+msgstr "Sem itens para apresentar."
+
+msgid "IDS_PBR_BODY_TAP_HERE_TO_TAKE_PICTURES_OR_VIDEOS"
+msgstr "Toque aqui para tirar fotografias ou gravar vídeos."
+
+msgid "IDS_NFC_TPOP_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SHARED_HPD_EXCEEDED"
+msgstr "Excedido o número máximo de itens que podem ser partilhados (%d)."
+
+msgid "IDS_IV_BODY_TAP_TO_ADD_IMAGES"
+msgstr "Tocar para adicionar imagens."
+
+msgid "IDS_GALLERY_POP_COPY_OR_MOVE_THE_SELECTED_ITEMS_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Copiar ou mover os itens seleccionados do álbum original?"
+
+msgid "IDS_GALLERY_HEADER_SELECT"
+msgstr "Seleccionar"
+
+msgid "IDS_VIDEO_POP_FILE_ALREADY_EXISTS"
+msgstr "Ficheiro já existe."
+
+msgid "IDS_VIDEO_POP_THIS_ITEM_WILL_BE_DELETED"
+msgstr "Este item será eliminado."
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_FACEBOOK_ITEMS_WILL_BE_SHOWN"
+msgstr "Depois de transferir fotografias para o Facebook, os itens serão mostrados."
+
+msgid "IDS_GALLERY_HEADER_SELECT_ALL_ABB"
+msgstr "Seleccionar tudo"
+
+msgid "IDS_GALLERY_HEADER_PD_SELECTED_ABB"
+msgstr "%d selecionado(s)"
+
+msgid "IDS_GALLERY_OPT_VIEW_AS"
+msgstr "Ver como"
+
+msgid "IDS_GALLERY_OPT_DATE_HMOST_RECENT_ABB2"
+msgstr "Data (mais recente)"
+
+msgid "IDS_GALLERY_OPT_DATE_HOLDEST_ABB3"
+msgstr "Data (mais antiga)"
+
+msgid "IDS_GALLERY_BODY_AFTER_YOU_TAKE_PICTURES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Depois de tirar fotografias, estas serão mostradas aqui."
+
+msgid "IDS_CLOUD_TPOP_CANCELLING_ING"
+msgstr "A cancelar..."
+
+msgid "IDS_GALLERY_OPT_FROM_DEVICE_ABB"
+msgstr "Do dispositivo"
+
+msgid "IDS_GALLERY_OPT_FROM_DROPBOX_ABB"
+msgstr "Da Dropbox"
+
+msgid "IDS_GALLERY_OPT_FROM_FACEBOOK_ABB"
+msgstr "Do Facebook"
+
+msgid "IDS_MUSIC_BODY_DOWNLOAD_COMPLETED"
+msgstr "Transferência concluída."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DELETED"
+msgstr "Todos os itens serão eliminados."
+
+msgid "IDS_GALLERY_POP_1_ITEM_WILL_BE_DOWNLOADED"
+msgstr "1 item será transferido."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "%d itens serão transferidos."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "Todos os itens serão transferidos."
+
+msgid "IDS_GALLERY_TPOP_SELECTED_ALBUM_SAME_AS_SOURCE_ALBUM_SELECT_ANOTHER_ALBUM"
+msgstr "O álbum seleccionado é o mesmo que o álbum de origem. Seleccione outro álbum."
+
+msgid "IDS_HS_NPBODY_TAP_HERE_TO_ADD_IMAGES"
+msgstr "Tocar aqui para adicionar imagens"
+
+msgid "IDS_MF_HEADER_UNABLE_TO_SAVE_DATA_ABB"
+msgstr "Impossível guardar dados"
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_IN_YOUR_DEVICE_STORAGE_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "Não há espaço suficiente no armazenamento do seu dispositivo. Vá às Definições > Potência e armazenamento > Armazenamento e depois elimine alguns ficheiros e tente novamente."
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_YOUR_SD_CARD_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "Não há espaço suficiente no seu cartão SD. Vá às Definições > Potência e armazenamento > Armazenamento e depois elimine alguns ficheiros e tente novamente."
+
+msgid "IDS_MF_BUTTON_CANCEL_ABB3"
+msgstr "Cancelar"
+
+msgid "IDS_MF_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Não mostrar novamente"
+
+msgid "IDS_MF_POP_USING_MOBILE_DATA_WHILE_ROAMING_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "A utilização de Dados móveis em roaming pode implicar a cobrança de taxas adicionais dependendo do seu plano tarifário."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DELETED_ABB"
+msgstr "%d itens serão eliminados."
+
+msgid "IDS_GALLERY_OPT_DELETE"
+msgstr "Eliminar"
+
+msgid "IDS_GALLERY_BODY_YESTERDAY"
+msgstr "Ontem"
+
+msgid "IDS_BR_MBODY_DOWNLOADS"
+msgstr "Transferências"
+
+msgid "IDS_GALLERY_HEADER_COPY"
+msgstr "Copiar"
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Eliminar"
+
+msgid "IDS_GALLERY_BUTTON_ALBUMS"
+msgstr "Álbuns"
+
+msgid "IDS_GALLERY_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_HPD_HAS_BEEN_EXCEEDED"
+msgstr "O número máximo de itens (%d) foi excedido."
+
+msgid "IDS_GALLERY_BUTTON_CANCEL"
+msgstr "Cancelar"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "CONCLUÍDO"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "CANCELAR"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "ELIMINAR"
+
+msgid "IDS_GALLERY_POP_COPYING_ING"
+msgstr "A copiar..."
+
+msgid "IDS_GALLERY_POP_MOVING_ING"
+msgstr "A mover..."
+
+msgid "IDS_STORYALBUM_POP_IF_YOU_CREATE_CONTENT_THAT_INCLUDES_ITEMS_FROM_PERSONAL_STORAGE_IT_MAY_NOT_BE_HIDDEN_AUTOMATICALLY_MSG"
+msgstr "Se criar conteúdo que inclua itens de armazenamento pessoal, pode não ser ocultado automaticamente. O conteúdo pessoal seleccionado pode ser visto durante a visualização do conteúdo novo."
+
+msgid "IDS_HS_ACBUTTON_EDIT"
+msgstr "EDITAR"
+
+msgid "IDS_MF_BUTTON_SETTINGS"
+msgstr "Definições"
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "EDITAR"
+
+msgid "IDS_CLOCK_HEADER_REORDER_ABB"
+msgstr "Reordenar"
+
diff --git a/res/po/ro.po b/res/po/ro.po
new file mode 100644 (file)
index 0000000..b67c9a7
--- /dev/null
@@ -0,0 +1,759 @@
+msgid "IDS_MF_POP_YOUR_DEVICE_IS_NOT_CONNECTED_TO_A_WI_FI_NETWORK_CONNECTING_TO_A_MOBILE_NETWORK_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "Dispozitivul nu este conectat la o reţea Wi-Fi. Conectarea la o reţea mobilă poate genera costuri suplimentare, în funcţie de planul tarifar."
+
+msgid "IDS_VIDEO_TPOP_MOBILE_DATA_TURNED_OFF_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_TURN_ON_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Datele mobile sunt dezactivate. Conectaţi-vă în schimb la o reţea Wi-Fi sau activaţi Datele mobile şi încercaţi din nou."
+
+msgid "IDS_VIDEO_BODY_AFTER_YOU_RECORD_VIDEOS_USING_THE_CAMERA_THEY_WILL_BE_SHOWN_HERE"
+msgstr "După ce înregistraţi videoclipuri utilizând camera, acestea se vor afişa aici."
+
+msgid "IDS_VIDEO_TPOP_FILE_NAME_ALREADY_IN_USE"
+msgstr "Numele de fişier este deja utilizat."
+
+msgid "IDS_MF_POP_DELETE_PD_ITEMS_Q"
+msgstr "Ştergeţi %d elemente?"
+
+msgid "IDS_ST_HEADER_PRIVACY"
+msgstr "Confidenţialitate"
+
+msgid "IDS_COM_BODY_SEP_ABB"
+msgstr "Sep."
+
+msgid "IDS_COM_BODY_OCT_ABB"
+msgstr "Oct."
+
+msgid "IDS_COM_BODY_NOV_ABB"
+msgstr "Nov."
+
+msgid "IDS_COM_BODY_MAY_ABB"
+msgstr "Mai"
+
+msgid "IDS_COM_BODY_MAR_ABB"
+msgstr "Mar."
+
+msgid "IDS_COM_BODY_JUN_ABB"
+msgstr "Iun."
+
+msgid "IDS_COM_BODY_JUL_ABB"
+msgstr "Iul."
+
+msgid "IDS_COM_BODY_JAN_ABB"
+msgstr "Ian."
+
+msgid "IDS_COM_BODY_FEB_ABB"
+msgstr "Feb."
+
+msgid "IDS_COM_BODY_DEC_ABB"
+msgstr "Dec."
+
+msgid "IDS_COM_BODY_AUG_ABB"
+msgstr "Aug."
+
+msgid "IDS_COM_BODY_APR_ABB"
+msgstr "Apr."
+
+msgid "IDS_GALLERY_HEADER_ALBUM"
+msgstr "Album"
+
+msgid "IDS_MEDIABR_OPT_MORE"
+msgstr "Mai multe"
+
+msgid "IDS_MEDIABR_POP_INVALID_INPUT_PARAMETER"
+msgstr "Parametru de intrare incorect"
+
+msgid "IDS_MEDIABR_POP_ENTRY_IS_EMPTY"
+msgstr "Locaţie liberă"
+
+msgid "IDS_MEDIABR_POP_SAME_NAME_ALREADY_IN_USE"
+msgstr "Acelaşi nume deja în uz"
+
+msgid "IDS_MEDIABR_POP_UNABLE_TO_RENAME"
+msgstr "Imposibil de redenumit"
+
+msgid "IDS_MEDIABR_POP_NO_ALBUMS_SELECTED"
+msgstr "Nu sunt albume selectate."
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ITEM"
+msgstr "Selectaţi elementul"
+
+msgid "IDS_MEDIABR_BODY_NO_ALBUMS"
+msgstr "Nu există albume"
+
+msgid "IDS_MEDIABR_POP_CREATE_FOLDER_Q"
+msgstr "Creaţi folder?"
+
+msgid "IDS_MEDIABR_POP_RETRY_Q"
+msgstr "Reîncercaţi?"
+
+msgid "IDS_MEDIABR_POPUP_REMOVE_Q"
+msgstr "Eliminare?"
+
+msgid "IDS_MEDIABR_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "%d albume vor fi şterse."
+
+msgid "IDS_MEDIABR_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "1 album va fi şters."
+
+msgid "IDS_MEDIABR_BODY_CAMERA"
+msgstr "Cameră foto"
+
+msgid "IDS_MEDIABR_BUTTON_START"
+msgstr "Start"
+
+msgid "IDS_MEDIABR_OPT_SETTINGS"
+msgstr "Setări"
+
+msgid "IDS_MEDIABR_OPT_YES"
+msgstr "Da"
+
+msgid "IDS_MEDIABR_OPT_NO"
+msgstr "Nu"
+
+msgid "IDS_MEDIABR_BUTTON_OK"
+msgstr "OK"
+
+msgid "IDS_MEDIABR_BUTTON_SAVE"
+msgstr "Salvare"
+
+msgid "IDS_MEDIABR_POP_DELETE_Q"
+msgstr "Ştergeţi?"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_ALBUM"
+msgstr "Mutare în album"
+
+msgid "IDS_GALLERY_OPT_COPY_TO_ALBUM"
+msgstr "Copiere în album"
+
+msgid "IDS_GALLERY_HEADER_VIEW_BY_ABB"
+msgstr "Vizualizare după"
+
+msgid "IDS_GALLERY_HEADER_ENTER_NAME"
+msgstr "Introduceţi numele"
+
+msgid "IDS_MEDIABR_POP_ALL_DATA_RELATED_TO_THIS_ACCOUNT_WILL_BE_DELETED_CONTINUE_Q"
+msgstr "Toate datele asociate acestui cont vor fi şterse. Continuaţi?"
+
+msgid "IDS_MEDIABR_BUTTON_CANCEL_ABB"
+msgstr "Anulare"
+
+msgid "IDS_MEDIABR_TAB4_NEW_ALBUM"
+msgstr "Album nou"
+
+msgid "IDS_MEDIABR_POP_DO_YOU_WANT_TO_COPY_OR_MOVE_THE_PICTURES_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Doriţi să copiaţi sau să mutaţi imaginile din albumul iniţial?"
+
+msgid "IDS_MEDIABR_OPT_SHARE"
+msgstr "Partajare"
+
+msgid "IDS_MEDIABR_OPT_SLIDESHOW"
+msgstr "Expunere diapozitive"
+
+msgid "IDS_MEDIABR_OPT_START_SLIDESHOW"
+msgstr "Începere expunere de diapozitive"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS"
+msgstr "Setări expunere diapozitive"
+
+msgid "IDS_MEDIABR_POP_NO_NAME"
+msgstr "Nici un nume"
+
+msgid "IDS_MEDIABR_BODY_ALL_ALBUMS"
+msgstr "Toate albumele"
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ALBUM"
+msgstr "Selectare album"
+
+msgid "IDS_MEDIABR_POP_1_ITEM_WILL_BE_DELETED"
+msgstr "1 element va fi şters."
+
+msgid "IDS_MEDIABR_OPT_ALL_ITEMS"
+msgstr "Toate elementele"
+
+msgid "IDS_MEDIABR_BODY_PD_ITEMS"
+msgstr "%d elemente"
+
+msgid "IDS_IV_BODY_THERE_IS_ONLY_ONE_ALBUM"
+msgstr "Există un singur album."
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "Puteţi selecta maximum %d elemente."
+
+msgid "IDS_MF_BODY_DOWNLOADS"
+msgstr "Descărcări"
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Ştergeţi?"
+
+msgid "IDS_MF_SK_MOVE"
+msgstr "Mutare"
+
+msgid "IDS_MF_POP_DELETING_ING"
+msgstr "Se şterge..."
+
+msgid "IDS_CAM_BODY_OPERATION_FAILED"
+msgstr "Operaţie nereuşită"
+
+msgid "IDS_MSG_BODY_CANCELLED_M_CONTENT"
+msgstr "Anulate"
+
+msgid "IDS_MF_OPT_DELETE_SELECTED"
+msgstr "Selectat"
+
+msgid "IDS_MF_POP_MOVED"
+msgstr "Mutat"
+
+msgid "IDS_MF_POP_COPIED"
+msgstr "Copiat"
+
+msgid "IDS_VPL_POP_NO_FILES_SELECTED"
+msgstr "Niciun fişier selectat"
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Închidere"
+
+msgid "IDS_MF_OPT_SORT_BY_ABB"
+msgstr "Sortare după"
+
+msgid "IDS_CAM_POP_LATEST"
+msgstr "Cele mai recente"
+
+msgid "IDS_MEDIABR_POP_OLDEST_M_DATE"
+msgstr "Cel mai vechi"
+
+msgid "IDS_MSG_BUTTON2_CREATE"
+msgstr "Creare"
+
+msgid "IDS_MEDIABR_POP_NO_ITEMS"
+msgstr "Niciun element"
+
+msgid "IDS_MEDIABR_OPT_EDIT_IMAGE"
+msgstr "Editare imagine"
+
+msgid "IDS_MEDIABR_BODY_SELECT_PICTURE"
+msgstr "Selectare imagine"
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ITEM_Q"
+msgstr "Ştergeţi acest element?"
+
+msgid "IDS_GALLERY_OPT_SCENERY"
+msgstr "Peisaj"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PRIVATE"
+msgstr "Eliminare din Private"
+
+msgid "IDS_GALLERY_OPT_PETS"
+msgstr "Animale de casă"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_PRIVATE"
+msgstr "Mutare în Private"
+
+msgid "IDS_GALLERY_OPT_FOOD"
+msgstr "Mâncare"
+
+msgid "IDS_GALLERY_OPT_FLOWERS"
+msgstr "Flori"
+
+msgid "IDS_GALLERY_OPT_DOCUMENTS"
+msgstr "Documente"
+
+msgid "IDS_GALLERY_MBODY_VEHICLES"
+msgstr "Vehicule"
+
+msgid "IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED"
+msgstr "Numărul maxim de caractere (%d) a fost atins."
+
+msgid "IDS_IV_BODY_UNABLE_TO_LOAD_PHOTO_ABB"
+msgstr "Imposibil de încărcat fotografia"
+
+msgid "IDS_IV_BODY_SHARE_VIA"
+msgstr "Partajare prin"
+
+msgid "IDS_IV_BODY_DONT_ASK_AGAIN"
+msgstr "Nu se întreabă din nou"
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Adăugare la marcaje"
+
+msgid "IDS_GALLERY_HEADER_TIME"
+msgstr "Oră"
+
+msgid "IDS_EMAIL_BODY_FAILED_M_STATUS"
+msgstr "Nereuşit"
+
+msgid "IDS_EMAIL_BODY_DELETED"
+msgstr "Şters"
+
+msgid "IDS_EMAIL_POP_DELETE_Q"
+msgstr "Ştergeţi?"
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Eliminare..."
+
+msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS"
+msgstr "Se afişează %d elemente"
+
+msgid "IDS_GALLERY_OPT_CREATE_ALBUM"
+msgstr "Creare album"
+
+msgid "IDS_GALLERY_OPT_GALLERY_ABB"
+msgstr "Galerie"
+
+msgid "IDS_EMAIL_BUTTON_MORE"
+msgstr "Mai multe"
+
+msgid "IDS_EMAIL_OPT_ACCOUNTS"
+msgstr "Conturi"
+
+msgid "IDS_EMAIL_POP_OPERATION_FAILED"
+msgstr "Operaţie nereuşită"
+
+msgid "IDS_GALLERY_BODY_DOWNLOAD"
+msgstr "Descărcare"
+
+msgid "IDS_GALLERY_BODY_SEARCH"
+msgstr "Căutare"
+
+msgid "IDS_GALLERY_BUTTON_BACK"
+msgstr "Înapoi"
+
+msgid "IDS_GALLERY_BUTTON_CAMERA"
+msgstr "Cameră"
+
+msgid "IDS_GALLERY_HEADER_ALL"
+msgstr "Toate"
+
+msgid "IDS_GALLERY_OPT_REFRESH"
+msgstr "Reîmprospătare"
+
+msgid "IDS_GALLERY_OPT_REMOVE"
+msgstr "Eliminare"
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_DROPBOX_ITEMS_WILL_BE_SHOWN"
+msgstr "După ce încărcaţi imagini în Dropbox, se vor afişa elementele."
+
+msgid "IDS_KEEPIT_BODY_GROUP_PLAY_ABB"
+msgstr "Group Play"
+
+msgid "IDS_MEDIABR_HEADER_CONTACTS"
+msgstr "Contacte"
+
+msgid "IDS_MEDIABR_OPT_CREATE"
+msgstr "Creare"
+
+msgid "IDS_MEDIABR_OPT_DETAILS"
+msgstr "Detalii"
+
+msgid "IDS_MEDIABR_OPT_PRINT"
+msgstr "Imprimare"
+
+msgid "IDS_MEDIABR_OPT_RENAME"
+msgstr "Redenumire"
+
+msgid "IDS_MEDIABR_POP_DOWNLOADED"
+msgstr "Descărcat"
+
+msgid "IDS_MEDIABR_POP_DOWNLOADING_ING"
+msgstr "Se descarcă..."
+
+msgid "IDS_MF_HEADER_ENTER_NAME"
+msgstr "Introduceţi numele."
+
+msgid "IDS_MF_HEADER_MYFILES"
+msgstr "Fişierele mele"
+
+msgid "IDS_MF_POP_ADDED"
+msgstr "Adăugat"
+
+msgid "IDS_MF_POP_PROCESSING_ING"
+msgstr "Se procesează..."
+
+msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
+msgstr "Tip fişier neacceptat"
+
+msgid "IDS_IMGE_BODY_AFTER_YOU_TAKE_PICTURES_PICTURES_WILL_BE_SHOWN"
+msgstr "După ce realizaţi imagini, acestea vor fi afişate."
+
+msgid "IDS_IME_BODY_LANDSCAPE_MODE"
+msgstr "Mod Peisaj"
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_CLOSE_DRAWER_MENU_TTS"
+msgstr "Atingeţi de două ori pentru a închide meniul derulant."
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_OPEN_DRAWER_MENU_TTS"
+msgstr "Atingeţi de două ori pentru a deschide meniul derulant."
+
+msgid "IDS_EMAIL_BODY_DRAG_AND_DROP"
+msgstr "Glisare şi fixare"
+
+msgid "IDS_EMAIL_OPT_DRAWER_ABB"
+msgstr "Panou"
+
+msgid "IDS_EMAIL_POP_MOBILE_DATA_IS_DISABLED_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_ENABLE_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Date mobile dezactivate. Conectaţi-vă utilizând reţeaua Wi-Fi sau activaţi datele mobile şi încercaţi din nou"
+
+msgid "IDS_EMAIL_POP_WI_FI_CONNECTION_REQUIRED_CONNECT_TO_WI_FI_NETWORK_AND_TRY_AGAIN"
+msgstr "Este necesară o conexiune Wi-Fi. Conectaţi-vă la reţeaua Wi-Fi şi încercaţi din nou"
+
+msgid "IDS_GALLERY_HEADER_ADD_PICTURES_FROM_ABB"
+msgstr "Adăugaţi imagini din"
+
+msgid "IDS_GALLERY_HEADER_CONNECTED_DEVICES_ABB"
+msgstr "Dispozitive conectate"
+
+msgid "IDS_GALLERY_OPT_PRIVATE_CONTENT"
+msgstr "Conţinut privat"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PS"
+msgstr "Eliminare din %s"
+
+msgid "IDS_GALLERY_OPT_REMOVE_NAME_TAG"
+msgstr "Eliminaţi eticheta de nume"
+
+msgid "IDS_GALLERY_POP_THERE_ARE_NO_EVENTS_TO_DISPLAY_CREATE_A_NEW_EVENT"
+msgstr "Nu există evenimente de afişat. Creaţi un eveniment nou."
+
+msgid "IDS_GALLERY_POP_TO_SCROLL_QUICKLY_TO_OTHER_DATES_TAP_AND_HOLD_THE_DATE_INDICATOR_AT_THE_TOP_RIGHT_OF_THE_SCREEN"
+msgstr "Pentru derularea rapidă la alte date, menţineţi apăsat indicatorul de dată din partea din dreapta de sus a ecranului."
+
+msgid "IDS_GP_POP_REMOVE_PD_ITEMS_Q"
+msgstr "Eliminaţi %d elemente?"
+
+msgid "IDS_GP_POP_REMOVE_THIS_ITEM_Q"
+msgstr "Eliminaţi acest element?"
+
+msgid "IDS_HELP_BODY_GALLERY"
+msgstr "Galerie"
+
+msgid "IDS_HELP_OPT_SHUFFLED_PICTURES"
+msgstr "Imagini amestecate"
+
+msgid "IDS_IV_BODY_ADD_PICTURES"
+msgstr "Adăugare imagini"
+
+msgid "IDS_IV_BODY_AFTER_YOU_TAG_PICTURES_AS_YOUR_FAVOURITES_PICTURES_WILL_BE_SHOWN"
+msgstr "După ce etichetaţi imagini ca preferate, acestea vor fi afişate."
+
+msgid "IDS_IV_BODY_REMOVE_FACE_IDENTIFICATION_Q"
+msgstr "Eliminaţi identificarea feţelor?"
+
+msgid "IDS_IV_OPT_ASSIGN_NAME"
+msgstr "Atribuire nume"
+
+msgid "IDS_IV_OPT_CONFIRM_AS_PS"
+msgstr "Confirmare ca %s"
+
+msgid "IDS_IV_OPT_LAYOUT_M_PICTUERS"
+msgstr "Aspect"
+
+msgid "IDS_IV_OPT_PD_PICTURES_ADDED"
+msgstr "%d imagini adăugate"
+
+msgid "IDS_IV_POP_THE_ALBUM_WILL_BE_CANCELLED"
+msgstr "Albumul va fi anulat."
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEM_ABB"
+msgstr "Ştergere element"
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEMS"
+msgstr "Ştergere elemente"
+
+msgid "IDS_MEDIABR_BODY_1_ITEM"
+msgstr "1 element"
+
+msgid "IDS_MEDIABR_BODY_10_SECONDS"
+msgstr "10 secunde"
+
+msgid "IDS_MEDIABR_BODY_5_SECONDS"
+msgstr "5 secunde"
+
+msgid "IDS_MEDIABR_BODY_NOT_ASSIGNED"
+msgstr "Neatribuit"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL"
+msgstr "Interval expunere diapozitive"
+
+msgid "IDS_MEDIABR_BODY_UNTAGGED"
+msgstr "Fără etichetă"
+
+msgid "IDS_MEDIABR_OPT_3_SECONDS"
+msgstr "3 secunde"
+
+msgid "IDS_MEDIABR_OPT_ALL_CONTENT"
+msgstr "Întregul conţinut"
+
+msgid "IDS_MEDIABR_OPT_CONTENT_TO_DISPLAY"
+msgstr "Conţinut pentru afişare"
+
+msgid "IDS_MEDIABR_OPT_DELETE_TAG"
+msgstr "Ştergere etichetă"
+
+msgid "IDS_MEDIABR_OPT_DEVICE_CONTENT"
+msgstr "Conţinut de pe dispozitiv"
+
+msgid "IDS_MEDIABR_OPT_DROPBOX_CONTENT"
+msgstr "Conţinut din Dropbox"
+
+msgid "IDS_MEDIABR_OPT_FACEBOOK_CONTENT"
+msgstr "Conţinut de pe Facebook"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_LEFT"
+msgstr "Rotire stânga"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_RIGHT"
+msgstr "Rotire dreapta"
+
+msgid "IDS_MEDIABR_POP_IMPORT"
+msgstr "Importați"
+
+msgid "IDS_MEDIABR_POP_IMPORTED"
+msgstr "Importate"
+
+msgid "IDS_MEDIABR_POP_IMPORTING_ING"
+msgstr "Se importă..."
+
+msgid "IDS_MEDIABR_POP_LOADING_ING"
+msgstr "Încărcare..."
+
+msgid "IDS_MEDIABR_POP_NEARBY_DEVICES_FOUND"
+msgstr "S-au găsit dispozitive în apropiere."
+
+msgid "IDS_MEDIABR_POP_NO_DEVICES_FOUND_SCANNING_FOR_NEARBY_DEVICES_WILL_CONTINUE_IN_BACKGROUND"
+msgstr "Nu s-au găsit dispozitive. Căutarea dispozitivelor aflate în apropiere va continua în fundal."
+
+msgid "IDS_MEDIABR_POP_REFRESHED"
+msgstr "Reîmprospătat"
+
+msgid "IDS_MEDIABR_POP_ROTATING_ING"
+msgstr "Se roteşte..."
+
+msgid "IDS_MEDIABR_POP_SCAN_STARTED_DEVICE_LIST_WILL_BE_UPDATED_AUTOMATICALLY"
+msgstr "Scanarea a început. Lista dispozitivelor va fi actualizată automat."
+
+msgid "IDS_MEDIABR_POP_STARTING_DOWNLOAD_ABB"
+msgstr "Se începe descărcarea..."
+
+msgid "IDS_MF_OPT_COPY_TO"
+msgstr "Copiere în"
+
+msgid "IDS_MF_OPT_MOVE_TO"
+msgstr "Mutare în"
+
+msgid "IDS_MF_POP_FAILED_TO_ADD_SHORTCUT"
+msgstr "Adăugarea comenzii rapide nu a reuşit."
+
+msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
+msgstr "Memorie insuficientă. Ştergeţi câteva elemente"
+
+msgid "IDS_MF_POP_REMOVED"
+msgstr "Eliminat"
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Se adaugă..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "Ştergeţi %d albume?"
+
+msgid "IDS_ST_BODY_PRIVATE_STORAGE"
+msgstr "Spaţiu de stocare privat"
+
+msgid "IDS_IV_BODY_DRAG_HERE"
+msgstr "Glisaţi aici."
+
+msgid "IDS_GALLERY_BODY_NEW_M_ALBUM_ABB"
+msgstr "Nou"
+
+msgid "IDS_GALLERY_HEADER_UNGROUPEDM_PEOPLE_ABB"
+msgstr "Negrupate"
+
+msgid "IDS_KEEPIT_OPT_SCREENSHOTS_ABB"
+msgstr "Capturi de ecran"
+
+msgid "IDS_MEDIABR_OPT_PHOTOS"
+msgstr "Fotografii"
+
+msgid "IDS_MEDIABR_POP_DOWNLOAD_FAILED"
+msgstr "Descărcare eşuată"
+
+msgid "IDS_MEDIABR_POP_UNSUPPORTED_FILE"
+msgstr "Fişier neacceptat"
+
+msgid "IDS_SEARCH_BODY_1_RESULT"
+msgstr "1 rezultat"
+
+msgid "IDS_SEARCH_BODY_PD_RESULTS"
+msgstr "%d rezultate"
+
+msgid "IDS_TW_BODY_FAVORITES"
+msgstr "Favorite"
+
+msgid "IDS_EMAIL_POP_DOWNLOAD_CANCELLED"
+msgstr "Descărcare anulată"
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ALBUM_Q"
+msgstr "Ştergeţi acest album?"
+
+msgid "IDS_CAM_HEADER_WARNING_ABB"
+msgstr "Avertisment"
+
+msgid "IDS_ALM_OPT_SORT_BY"
+msgstr "Sortare după"
+
+msgid "IDS_CLD_OPT_TODAY"
+msgstr "Azi"
+
+msgid "IDS_GALLERY_BODY_DATE"
+msgstr "Dată"
+
+msgid "IDS_EMAIL_BODY_NO_ITEMS_TO_DISPLAY"
+msgstr "Nu sunt elemente de afişat."
+
+msgid "IDS_PBR_BODY_TAP_HERE_TO_TAKE_PICTURES_OR_VIDEOS"
+msgstr "Atingeţi aici pentru a realiza fotografii sau videoclipuri."
+
+msgid "IDS_NFC_TPOP_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SHARED_HPD_EXCEEDED"
+msgstr "A fost depăşit numărul maxim de elemente care pot fi partajate (%d)."
+
+msgid "IDS_IV_BODY_TAP_TO_ADD_IMAGES"
+msgstr "Atingeţi pentru a adăuga imagini."
+
+msgid "IDS_GALLERY_POP_COPY_OR_MOVE_THE_SELECTED_ITEMS_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Copiaţi sau mutaţi elementele selectate din albumul iniţial?"
+
+msgid "IDS_GALLERY_HEADER_SELECT"
+msgstr "Selectare"
+
+msgid "IDS_VIDEO_POP_FILE_ALREADY_EXISTS"
+msgstr "Fişierul există deja."
+
+msgid "IDS_VIDEO_POP_THIS_ITEM_WILL_BE_DELETED"
+msgstr "Acest element va fi şters."
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_FACEBOOK_ITEMS_WILL_BE_SHOWN"
+msgstr "După ce încărcaţi imagini pe Facebook, se vor afişa elementele."
+
+msgid "IDS_GALLERY_HEADER_SELECT_ALL_ABB"
+msgstr "Selectare totală"
+
+msgid "IDS_GALLERY_HEADER_PD_SELECTED_ABB"
+msgstr "%d selectate"
+
+msgid "IDS_GALLERY_OPT_VIEW_AS"
+msgstr "Vizualizare ca"
+
+msgid "IDS_GALLERY_OPT_DATE_HMOST_RECENT_ABB2"
+msgstr "Dată (cea mai recentă)"
+
+msgid "IDS_GALLERY_OPT_DATE_HOLDEST_ABB3"
+msgstr "Dată (cea mai veche)"
+
+msgid "IDS_GALLERY_BODY_AFTER_YOU_TAKE_PICTURES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "După ce faceţi fotografii, acestea vor fi afişate aici."
+
+msgid "IDS_CLOUD_TPOP_CANCELLING_ING"
+msgstr "Se anulează..."
+
+msgid "IDS_GALLERY_OPT_FROM_DEVICE_ABB"
+msgstr "De pe dispozitiv"
+
+msgid "IDS_GALLERY_OPT_FROM_DROPBOX_ABB"
+msgstr "Din Dropbox"
+
+msgid "IDS_GALLERY_OPT_FROM_FACEBOOK_ABB"
+msgstr "De pe Facebook"
+
+msgid "IDS_MUSIC_BODY_DOWNLOAD_COMPLETED"
+msgstr "Descărcare terminată"
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DELETED"
+msgstr "Toate elementele vor fi şterse."
+
+msgid "IDS_GALLERY_POP_1_ITEM_WILL_BE_DOWNLOADED"
+msgstr "1 element va fi descărcat."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "%d elemente vor fi descărcate."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "Toate elementele vor fi descărcate."
+
+msgid "IDS_GALLERY_TPOP_SELECTED_ALBUM_SAME_AS_SOURCE_ALBUM_SELECT_ANOTHER_ALBUM"
+msgstr "Albumul selectat este acelaşi cu albumul sursă. Selectaţi alt album."
+
+msgid "IDS_HS_NPBODY_TAP_HERE_TO_ADD_IMAGES"
+msgstr "Atingeţi aici pentru a adăuga imagini"
+
+msgid "IDS_MF_HEADER_UNABLE_TO_SAVE_DATA_ABB"
+msgstr "Datele nu pot fi salvate"
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_IN_YOUR_DEVICE_STORAGE_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "Spaţiul din memoria dispozitivului este insuficient. Deschideţi meniul Setări > Energie şi stocare > Stocare, apoi ştergeţi câteva fişiere şi încercaţi din nou."
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_YOUR_SD_CARD_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "Spaţiul de pe cardul SD este insuficient. Deschideţi meniul Setări > Energie şi stocare > Stocare, apoi ştergeţi câteva fişiere şi încercaţi din nou."
+
+msgid "IDS_MF_BUTTON_CANCEL_ABB3"
+msgstr "Anulare"
+
+msgid "IDS_MF_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Nu mai afişa"
+
+msgid "IDS_MF_POP_USING_MOBILE_DATA_WHILE_ROAMING_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "Utilizarea Datelor mobile în roaming poate genera costuri suplimentare, în funcţie de planul tarifar."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DELETED_ABB"
+msgstr "%d elemente vor fi şterse."
+
+msgid "IDS_GALLERY_OPT_DELETE"
+msgstr "Ştergere"
+
+msgid "IDS_GALLERY_BODY_YESTERDAY"
+msgstr "Ieri"
+
+msgid "IDS_BR_MBODY_DOWNLOADS"
+msgstr "Descărcări"
+
+msgid "IDS_GALLERY_HEADER_COPY"
+msgstr "Copiere"
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Ştergere"
+
+msgid "IDS_GALLERY_BUTTON_ALBUMS"
+msgstr "Albume"
+
+msgid "IDS_GALLERY_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_HPD_HAS_BEEN_EXCEEDED"
+msgstr "S-a depăşit numărul maxim de elemente (%d)."
+
+msgid "IDS_GALLERY_BUTTON_CANCEL"
+msgstr "Anulare"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "EFECTUAT"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ANULARE"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "ŞTERGERE"
+
+msgid "IDS_GALLERY_POP_COPYING_ING"
+msgstr "Copiere..."
+
+msgid "IDS_GALLERY_POP_MOVING_ING"
+msgstr "Mutare"
+
+msgid "IDS_STORYALBUM_POP_IF_YOU_CREATE_CONTENT_THAT_INCLUDES_ITEMS_FROM_PERSONAL_STORAGE_IT_MAY_NOT_BE_HIDDEN_AUTOMATICALLY_MSG"
+msgstr "În cazul în care creaţi conţinut care include elemente pentru spaţiul de stocare personal, este posibil ca acesta să nu fie ascuns în mod automat. Conţinutul personal selectat ar putea fi văzut la vizualizarea noului conţinut."
+
+msgid "IDS_HS_ACBUTTON_EDIT"
+msgstr "EDITARE"
+
+msgid "IDS_MF_BUTTON_SETTINGS"
+msgstr "Setări"
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "EDITARE"
+
+msgid "IDS_CLOCK_HEADER_REORDER_ABB"
+msgstr "Reordonare"
+
diff --git a/res/po/ru_RU.po b/res/po/ru_RU.po
new file mode 100644 (file)
index 0000000..06db860
--- /dev/null
@@ -0,0 +1,759 @@
+msgid "IDS_MF_POP_YOUR_DEVICE_IS_NOT_CONNECTED_TO_A_WI_FI_NETWORK_CONNECTING_TO_A_MOBILE_NETWORK_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "Ваше устройство не подключено к сети Wi-Fi. За подключение к мобильной сети может взиматься дополнительная плата (в зависимости от вашего тарифного плана)"
+
+msgid "IDS_VIDEO_TPOP_MOBILE_DATA_TURNED_OFF_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_TURN_ON_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Мобильные данные включены. Подключитесь к сети Wi-Fi или включите мобильные данные и повторите попытку."
+
+msgid "IDS_VIDEO_BODY_AFTER_YOU_RECORD_VIDEOS_USING_THE_CAMERA_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Здесь будут отображаться видеозаписи, сделанные с помощью камеры."
+
+msgid "IDS_VIDEO_TPOP_FILE_NAME_ALREADY_IN_USE"
+msgstr "Имя файла уже используется"
+
+msgid "IDS_MF_POP_DELETE_PD_ITEMS_Q"
+msgstr "Удалить %d элем.?"
+
+msgid "IDS_ST_HEADER_PRIVACY"
+msgstr "Конфиденциальность"
+
+msgid "IDS_COM_BODY_SEP_ABB"
+msgstr "Сен"
+
+msgid "IDS_COM_BODY_OCT_ABB"
+msgstr "Окт"
+
+msgid "IDS_COM_BODY_NOV_ABB"
+msgstr "Ноя"
+
+msgid "IDS_COM_BODY_MAY_ABB"
+msgstr "Май"
+
+msgid "IDS_COM_BODY_MAR_ABB"
+msgstr "Мар"
+
+msgid "IDS_COM_BODY_JUN_ABB"
+msgstr "Июн"
+
+msgid "IDS_COM_BODY_JUL_ABB"
+msgstr "Июл"
+
+msgid "IDS_COM_BODY_JAN_ABB"
+msgstr "Янв"
+
+msgid "IDS_COM_BODY_FEB_ABB"
+msgstr "Фев"
+
+msgid "IDS_COM_BODY_DEC_ABB"
+msgstr "Дек"
+
+msgid "IDS_COM_BODY_AUG_ABB"
+msgstr "Авг"
+
+msgid "IDS_COM_BODY_APR_ABB"
+msgstr "Апр"
+
+msgid "IDS_GALLERY_HEADER_ALBUM"
+msgstr "Альбом"
+
+msgid "IDS_MEDIABR_OPT_MORE"
+msgstr "Опции"
+
+msgid "IDS_MEDIABR_POP_INVALID_INPUT_PARAMETER"
+msgstr "Неверные параметры ввода"
+
+msgid "IDS_MEDIABR_POP_ENTRY_IS_EMPTY"
+msgstr "Пустая запись."
+
+msgid "IDS_MEDIABR_POP_SAME_NAME_ALREADY_IN_USE"
+msgstr "Имя уже используется."
+
+msgid "IDS_MEDIABR_POP_UNABLE_TO_RENAME"
+msgstr "Невозможно переименовать."
+
+msgid "IDS_MEDIABR_POP_NO_ALBUMS_SELECTED"
+msgstr "Альбомы не выбраны."
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ITEM"
+msgstr "Выберите элемент"
+
+msgid "IDS_MEDIABR_BODY_NO_ALBUMS"
+msgstr "Нет альбомов"
+
+msgid "IDS_MEDIABR_POP_CREATE_FOLDER_Q"
+msgstr "Создать папку?"
+
+msgid "IDS_MEDIABR_POP_RETRY_Q"
+msgstr "Повторить?"
+
+msgid "IDS_MEDIABR_POPUP_REMOVE_Q"
+msgstr "Удалить?"
+
+msgid "IDS_MEDIABR_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "Альбомы (%d) будут удалены."
+
+msgid "IDS_MEDIABR_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "Будет удален 1 альбом."
+
+msgid "IDS_MEDIABR_BODY_CAMERA"
+msgstr "Камера"
+
+msgid "IDS_MEDIABR_BUTTON_START"
+msgstr "Запуск"
+
+msgid "IDS_MEDIABR_OPT_SETTINGS"
+msgstr "Настройки"
+
+msgid "IDS_MEDIABR_OPT_YES"
+msgstr "Да"
+
+msgid "IDS_MEDIABR_OPT_NO"
+msgstr "Нет"
+
+msgid "IDS_MEDIABR_BUTTON_OK"
+msgstr "ОК"
+
+msgid "IDS_MEDIABR_BUTTON_SAVE"
+msgstr "Сохранить"
+
+msgid "IDS_MEDIABR_POP_DELETE_Q"
+msgstr "Удалить?"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_ALBUM"
+msgstr "Переместить в альбом"
+
+msgid "IDS_GALLERY_OPT_COPY_TO_ALBUM"
+msgstr "Копировать в альбом"
+
+msgid "IDS_GALLERY_HEADER_VIEW_BY_ABB"
+msgstr "Вид"
+
+msgid "IDS_GALLERY_HEADER_ENTER_NAME"
+msgstr "Введите имя"
+
+msgid "IDS_MEDIABR_POP_ALL_DATA_RELATED_TO_THIS_ACCOUNT_WILL_BE_DELETED_CONTINUE_Q"
+msgstr "Все данные, относящиеся к этой учетной записи, будут удалены. Продолжить?"
+
+msgid "IDS_MEDIABR_BUTTON_CANCEL_ABB"
+msgstr "Отмена"
+
+msgid "IDS_MEDIABR_TAB4_NEW_ALBUM"
+msgstr "Новый альбом"
+
+msgid "IDS_MEDIABR_POP_DO_YOU_WANT_TO_COPY_OR_MOVE_THE_PICTURES_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Скопировать или переместить фотографии из исходного альбома?"
+
+msgid "IDS_MEDIABR_OPT_SHARE"
+msgstr "Поделиться"
+
+msgid "IDS_MEDIABR_OPT_SLIDESHOW"
+msgstr "Слайд-шоу"
+
+msgid "IDS_MEDIABR_OPT_START_SLIDESHOW"
+msgstr "Запустить"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS"
+msgstr "Параметры"
+
+msgid "IDS_MEDIABR_POP_NO_NAME"
+msgstr "Нет имени"
+
+msgid "IDS_MEDIABR_BODY_ALL_ALBUMS"
+msgstr "Все альбомы"
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ALBUM"
+msgstr "Выберите альбом"
+
+msgid "IDS_MEDIABR_POP_1_ITEM_WILL_BE_DELETED"
+msgstr "Будет удален 1 элемент."
+
+msgid "IDS_MEDIABR_OPT_ALL_ITEMS"
+msgstr "Все элементы"
+
+msgid "IDS_MEDIABR_BODY_PD_ITEMS"
+msgstr "Эл-ов: %d"
+
+msgid "IDS_IV_BODY_THERE_IS_ONLY_ONE_ALBUM"
+msgstr "Существует только один альбом."
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "Можно выбрать до %d элементов."
+
+msgid "IDS_MF_BODY_DOWNLOADS"
+msgstr "Загрузки"
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Удалить?"
+
+msgid "IDS_MF_SK_MOVE"
+msgstr "Переместить"
+
+msgid "IDS_MF_POP_DELETING_ING"
+msgstr "Удаление..."
+
+msgid "IDS_CAM_BODY_OPERATION_FAILED"
+msgstr "Сбой операции."
+
+msgid "IDS_MSG_BODY_CANCELLED_M_CONTENT"
+msgstr "Отменено"
+
+msgid "IDS_MF_OPT_DELETE_SELECTED"
+msgstr "Выбранное"
+
+msgid "IDS_MF_POP_MOVED"
+msgstr "Перемещено."
+
+msgid "IDS_MF_POP_COPIED"
+msgstr "Скопировано."
+
+msgid "IDS_VPL_POP_NO_FILES_SELECTED"
+msgstr "Нет выбранных файлов."
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Закрыть"
+
+msgid "IDS_MF_OPT_SORT_BY_ABB"
+msgstr "Сортировать по"
+
+msgid "IDS_CAM_POP_LATEST"
+msgstr "Последние"
+
+msgid "IDS_MEDIABR_POP_OLDEST_M_DATE"
+msgstr "Старые"
+
+msgid "IDS_MSG_BUTTON2_CREATE"
+msgstr "Создать"
+
+msgid "IDS_MEDIABR_POP_NO_ITEMS"
+msgstr "Нет элементов"
+
+msgid "IDS_MEDIABR_OPT_EDIT_IMAGE"
+msgstr "Изменить изображение"
+
+msgid "IDS_MEDIABR_BODY_SELECT_PICTURE"
+msgstr "Выберите рисунок"
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ITEM_Q"
+msgstr "Удалить этот элемент?"
+
+msgid "IDS_GALLERY_OPT_SCENERY"
+msgstr "Пейзаж"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PRIVATE"
+msgstr "Удалить из приватного режима"
+
+msgid "IDS_GALLERY_OPT_PETS"
+msgstr "Домашние животные"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_PRIVATE"
+msgstr "Добавить в приватный режим"
+
+msgid "IDS_GALLERY_OPT_FOOD"
+msgstr "Еда"
+
+msgid "IDS_GALLERY_OPT_FLOWERS"
+msgstr "Цветы"
+
+msgid "IDS_GALLERY_OPT_DOCUMENTS"
+msgstr "Документы"
+
+msgid "IDS_GALLERY_MBODY_VEHICLES"
+msgstr "Транспортные средства"
+
+msgid "IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED"
+msgstr "Достигнуто максимальное число символов (%d)."
+
+msgid "IDS_IV_BODY_UNABLE_TO_LOAD_PHOTO_ABB"
+msgstr "Невозможно загрузить фотографию."
+
+msgid "IDS_IV_BODY_SHARE_VIA"
+msgstr "Отправить через"
+
+msgid "IDS_IV_BODY_DONT_ASK_AGAIN"
+msgstr "Больше не спрашивать"
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Достигнуто максимальное число символов."
+
+msgid "IDS_GALLERY_HEADER_TIME"
+msgstr "Время"
+
+msgid "IDS_EMAIL_BODY_FAILED_M_STATUS"
+msgstr "Сбой"
+
+msgid "IDS_EMAIL_BODY_DELETED"
+msgstr "Удалено."
+
+msgid "IDS_EMAIL_POP_DELETE_Q"
+msgstr "Удалить?"
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Удаление..."
+
+msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS"
+msgstr "Отображается элементов: %d"
+
+msgid "IDS_GALLERY_OPT_CREATE_ALBUM"
+msgstr "Создать альбом"
+
+msgid "IDS_GALLERY_OPT_GALLERY_ABB"
+msgstr "Галерея"
+
+msgid "IDS_EMAIL_BUTTON_MORE"
+msgstr "Еще"
+
+msgid "IDS_EMAIL_OPT_ACCOUNTS"
+msgstr "Учетные записи"
+
+msgid "IDS_EMAIL_POP_OPERATION_FAILED"
+msgstr "Сбой операции."
+
+msgid "IDS_GALLERY_BODY_DOWNLOAD"
+msgstr "Загрузка"
+
+msgid "IDS_GALLERY_BODY_SEARCH"
+msgstr "Поиск"
+
+msgid "IDS_GALLERY_BUTTON_BACK"
+msgstr "Назад"
+
+msgid "IDS_GALLERY_BUTTON_CAMERA"
+msgstr "Камера"
+
+msgid "IDS_GALLERY_HEADER_ALL"
+msgstr "Все"
+
+msgid "IDS_GALLERY_OPT_REFRESH"
+msgstr "Обновить"
+
+msgid "IDS_GALLERY_OPT_REMOVE"
+msgstr "Удалить"
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_DROPBOX_ITEMS_WILL_BE_SHOWN"
+msgstr "Здесь будут показаны фотографии, отправленные в Dropbox."
+
+msgid "IDS_KEEPIT_BODY_GROUP_PLAY_ABB"
+msgstr "Group Play"
+
+msgid "IDS_MEDIABR_HEADER_CONTACTS"
+msgstr "Контакты"
+
+msgid "IDS_MEDIABR_OPT_CREATE"
+msgstr "Создать"
+
+msgid "IDS_MEDIABR_OPT_DETAILS"
+msgstr "Свойства"
+
+msgid "IDS_MEDIABR_OPT_PRINT"
+msgstr "Печать"
+
+msgid "IDS_MEDIABR_OPT_RENAME"
+msgstr "Переименовать"
+
+msgid "IDS_MEDIABR_POP_DOWNLOADED"
+msgstr "Загружено."
+
+msgid "IDS_MEDIABR_POP_DOWNLOADING_ING"
+msgstr "Загрузка..."
+
+msgid "IDS_MF_HEADER_ENTER_NAME"
+msgstr "Введите название."
+
+msgid "IDS_MF_HEADER_MYFILES"
+msgstr "Мои файлы"
+
+msgid "IDS_MF_POP_ADDED"
+msgstr "Добавлено."
+
+msgid "IDS_MF_POP_PROCESSING_ING"
+msgstr "Обработка..."
+
+msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
+msgstr "Неподдерживаемый тип файла"
+
+msgid "IDS_IMGE_BODY_AFTER_YOU_TAKE_PICTURES_PICTURES_WILL_BE_SHOWN"
+msgstr "После съемки снимки будут показаны."
+
+msgid "IDS_IME_BODY_LANDSCAPE_MODE"
+msgstr "Альбомная ориентация"
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_CLOSE_DRAWER_MENU_TTS"
+msgstr "Дважды нажмите, чтобы закрыть меню."
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_OPEN_DRAWER_MENU_TTS"
+msgstr "Дважды нажмите, чтобы открыть меню."
+
+msgid "IDS_EMAIL_BODY_DRAG_AND_DROP"
+msgstr "Перетаскивание"
+
+msgid "IDS_EMAIL_OPT_DRAWER_ABB"
+msgstr "Меню"
+
+msgid "IDS_EMAIL_POP_MOBILE_DATA_IS_DISABLED_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_ENABLE_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Мобильные данные отключены. Подключитесь к сети Wi-Fi или снова включите мобильные данные и повторите попытку"
+
+msgid "IDS_EMAIL_POP_WI_FI_CONNECTION_REQUIRED_CONNECT_TO_WI_FI_NETWORK_AND_TRY_AGAIN"
+msgstr "Требуется подключение к Wi-Fi. Подключитесь к сети Wi-Fi и повторите попытку"
+
+msgid "IDS_GALLERY_HEADER_ADD_PICTURES_FROM_ABB"
+msgstr "Добавить изображения из"
+
+msgid "IDS_GALLERY_HEADER_CONNECTED_DEVICES_ABB"
+msgstr "Подключенные устройства"
+
+msgid "IDS_GALLERY_OPT_PRIVATE_CONTENT"
+msgstr "Частное содержимое"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PS"
+msgstr "Удалить из %s"
+
+msgid "IDS_GALLERY_OPT_REMOVE_NAME_TAG"
+msgstr "Удалить тег имени"
+
+msgid "IDS_GALLERY_POP_THERE_ARE_NO_EVENTS_TO_DISPLAY_CREATE_A_NEW_EVENT"
+msgstr "Нет событий. Создайте новое событие."
+
+msgid "IDS_GALLERY_POP_TO_SCROLL_QUICKLY_TO_OTHER_DATES_TAP_AND_HOLD_THE_DATE_INDICATOR_AT_THE_TOP_RIGHT_OF_THE_SCREEN"
+msgstr "Для быстрого перехода к другим датам нажмите и удерживайте индикатор даты в правом верхнем углу экрана."
+
+msgid "IDS_GP_POP_REMOVE_PD_ITEMS_Q"
+msgstr "Удалить элементы (%d)?"
+
+msgid "IDS_GP_POP_REMOVE_THIS_ITEM_Q"
+msgstr "Удалить этот элемент?"
+
+msgid "IDS_HELP_BODY_GALLERY"
+msgstr "Галерея"
+
+msgid "IDS_HELP_OPT_SHUFFLED_PICTURES"
+msgstr "Перемешанные изображения"
+
+msgid "IDS_IV_BODY_ADD_PICTURES"
+msgstr "Добавить рисунки"
+
+msgid "IDS_IV_BODY_AFTER_YOU_TAG_PICTURES_AS_YOUR_FAVOURITES_PICTURES_WILL_BE_SHOWN"
+msgstr "Здесь выводятся фотографии, добавленные в избранное."
+
+msgid "IDS_IV_BODY_REMOVE_FACE_IDENTIFICATION_Q"
+msgstr "Удалить идентификацию лица?"
+
+msgid "IDS_IV_OPT_ASSIGN_NAME"
+msgstr "Назначить имя"
+
+msgid "IDS_IV_OPT_CONFIRM_AS_PS"
+msgstr "Подтвердить как %s"
+
+msgid "IDS_IV_OPT_LAYOUT_M_PICTUERS"
+msgstr "Макет"
+
+msgid "IDS_IV_OPT_PD_PICTURES_ADDED"
+msgstr "Добавлено фотографий: %d"
+
+msgid "IDS_IV_POP_THE_ALBUM_WILL_BE_CANCELLED"
+msgstr "Альбом будет отменен."
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEM_ABB"
+msgstr "Удалить элемент"
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEMS"
+msgstr "Удалить элементы"
+
+msgid "IDS_MEDIABR_BODY_1_ITEM"
+msgstr "1 элемент"
+
+msgid "IDS_MEDIABR_BODY_10_SECONDS"
+msgstr "10 секунд"
+
+msgid "IDS_MEDIABR_BODY_5_SECONDS"
+msgstr "5 секунд"
+
+msgid "IDS_MEDIABR_BODY_NOT_ASSIGNED"
+msgstr "Не назначено"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL"
+msgstr "Интервал для слайд-шоу"
+
+msgid "IDS_MEDIABR_BODY_UNTAGGED"
+msgstr "Неотмеченные"
+
+msgid "IDS_MEDIABR_OPT_3_SECONDS"
+msgstr "3 секунды"
+
+msgid "IDS_MEDIABR_OPT_ALL_CONTENT"
+msgstr "Все содержимое"
+
+msgid "IDS_MEDIABR_OPT_CONTENT_TO_DISPLAY"
+msgstr "Параметры отображения"
+
+msgid "IDS_MEDIABR_OPT_DELETE_TAG"
+msgstr "Удалить метку"
+
+msgid "IDS_MEDIABR_OPT_DEVICE_CONTENT"
+msgstr "Содержимое на устройстве"
+
+msgid "IDS_MEDIABR_OPT_DROPBOX_CONTENT"
+msgstr "Содержимое Dropbox"
+
+msgid "IDS_MEDIABR_OPT_FACEBOOK_CONTENT"
+msgstr "Содержимое Facebook"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_LEFT"
+msgstr "Повернуть влево"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_RIGHT"
+msgstr "Повернуть вправо"
+
+msgid "IDS_MEDIABR_POP_IMPORT"
+msgstr "Импорт"
+
+msgid "IDS_MEDIABR_POP_IMPORTED"
+msgstr "Импортировано."
+
+msgid "IDS_MEDIABR_POP_IMPORTING_ING"
+msgstr "Импорт..."
+
+msgid "IDS_MEDIABR_POP_LOADING_ING"
+msgstr "Загрузка..."
+
+msgid "IDS_MEDIABR_POP_NEARBY_DEVICES_FOUND"
+msgstr "Обнаружены устройства поблизости."
+
+msgid "IDS_MEDIABR_POP_NO_DEVICES_FOUND_SCANNING_FOR_NEARBY_DEVICES_WILL_CONTINUE_IN_BACKGROUND"
+msgstr "Ни одного устройства не найдено. Поиск устройств поблизости будет продолжен в фоновом режиме"
+
+msgid "IDS_MEDIABR_POP_REFRESHED"
+msgstr "Обновлено."
+
+msgid "IDS_MEDIABR_POP_ROTATING_ING"
+msgstr "Поворот..."
+
+msgid "IDS_MEDIABR_POP_SCAN_STARTED_DEVICE_LIST_WILL_BE_UPDATED_AUTOMATICALLY"
+msgstr "Запущено сканирование. Список устройств будет обновлен автоматически"
+
+msgid "IDS_MEDIABR_POP_STARTING_DOWNLOAD_ABB"
+msgstr "Начало загрузки..."
+
+msgid "IDS_MF_OPT_COPY_TO"
+msgstr "Копировать"
+
+msgid "IDS_MF_OPT_MOVE_TO"
+msgstr "Переместить"
+
+msgid "IDS_MF_POP_FAILED_TO_ADD_SHORTCUT"
+msgstr "Не удалось добавить ярлык."
+
+msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
+msgstr "Недостаточно памяти. Удалите некоторые элементы"
+
+msgid "IDS_MF_POP_REMOVED"
+msgstr "Удалено."
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Добавление..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "Удалить альбомы (%d)?"
+
+msgid "IDS_ST_BODY_PRIVATE_STORAGE"
+msgstr "Приватное хранилище"
+
+msgid "IDS_IV_BODY_DRAG_HERE"
+msgstr "Перетащите сюда."
+
+msgid "IDS_GALLERY_BODY_NEW_M_ALBUM_ABB"
+msgstr "Новые"
+
+msgid "IDS_GALLERY_HEADER_UNGROUPEDM_PEOPLE_ABB"
+msgstr "Без группы"
+
+msgid "IDS_KEEPIT_OPT_SCREENSHOTS_ABB"
+msgstr "Снимки экрана"
+
+msgid "IDS_MEDIABR_OPT_PHOTOS"
+msgstr "Фотографии"
+
+msgid "IDS_MEDIABR_POP_DOWNLOAD_FAILED"
+msgstr "Загрузка невозможна."
+
+msgid "IDS_MEDIABR_POP_UNSUPPORTED_FILE"
+msgstr "Неподдерживаемый файл"
+
+msgid "IDS_SEARCH_BODY_1_RESULT"
+msgstr "Результатов: 1"
+
+msgid "IDS_SEARCH_BODY_PD_RESULTS"
+msgstr "Результатов: %d"
+
+msgid "IDS_TW_BODY_FAVORITES"
+msgstr "Избранное"
+
+msgid "IDS_EMAIL_POP_DOWNLOAD_CANCELLED"
+msgstr "Загрузка отменена."
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ALBUM_Q"
+msgstr "Удалить этот альбом?"
+
+msgid "IDS_CAM_HEADER_WARNING_ABB"
+msgstr "Предупреждение"
+
+msgid "IDS_ALM_OPT_SORT_BY"
+msgstr "Сортировка"
+
+msgid "IDS_CLD_OPT_TODAY"
+msgstr "Сегодня"
+
+msgid "IDS_GALLERY_BODY_DATE"
+msgstr "Дата"
+
+msgid "IDS_EMAIL_BODY_NO_ITEMS_TO_DISPLAY"
+msgstr "Элементов для отображения нет."
+
+msgid "IDS_PBR_BODY_TAP_HERE_TO_TAKE_PICTURES_OR_VIDEOS"
+msgstr "Нажмите здесь, чтобы снять фотографии или видео."
+
+msgid "IDS_NFC_TPOP_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SHARED_HPD_EXCEEDED"
+msgstr "Превышено максимальное количество отправляемых элементов (%d)."
+
+msgid "IDS_IV_BODY_TAP_TO_ADD_IMAGES"
+msgstr "Нажмите, чтобы добавить изображения."
+
+msgid "IDS_GALLERY_POP_COPY_OR_MOVE_THE_SELECTED_ITEMS_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Копировать или переместить выбранные элементы из исходного альбома?"
+
+msgid "IDS_GALLERY_HEADER_SELECT"
+msgstr "Выбрать"
+
+msgid "IDS_VIDEO_POP_FILE_ALREADY_EXISTS"
+msgstr "Файл уже существует."
+
+msgid "IDS_VIDEO_POP_THIS_ITEM_WILL_BE_DELETED"
+msgstr "Этот элемент будет удален."
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_FACEBOOK_ITEMS_WILL_BE_SHOWN"
+msgstr "Здесь будут показаны фотографии, отправленные в Facebook."
+
+msgid "IDS_GALLERY_HEADER_SELECT_ALL_ABB"
+msgstr "Выбрать все"
+
+msgid "IDS_GALLERY_HEADER_PD_SELECTED_ABB"
+msgstr "Выбрано: %d"
+
+msgid "IDS_GALLERY_OPT_VIEW_AS"
+msgstr "Вид"
+
+msgid "IDS_GALLERY_OPT_DATE_HMOST_RECENT_ABB2"
+msgstr "Дата (последние)"
+
+msgid "IDS_GALLERY_OPT_DATE_HOLDEST_ABB3"
+msgstr "Дата (старые)"
+
+msgid "IDS_GALLERY_BODY_AFTER_YOU_TAKE_PICTURES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Здесь выводятся снятые фотографии."
+
+msgid "IDS_CLOUD_TPOP_CANCELLING_ING"
+msgstr "Отмена..."
+
+msgid "IDS_GALLERY_OPT_FROM_DEVICE_ABB"
+msgstr "С устройства"
+
+msgid "IDS_GALLERY_OPT_FROM_DROPBOX_ABB"
+msgstr "С Dropbox"
+
+msgid "IDS_GALLERY_OPT_FROM_FACEBOOK_ABB"
+msgstr "С Facebook"
+
+msgid "IDS_MUSIC_BODY_DOWNLOAD_COMPLETED"
+msgstr "Загрузка завершена."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DELETED"
+msgstr "Все элементы будут удалены."
+
+msgid "IDS_GALLERY_POP_1_ITEM_WILL_BE_DOWNLOADED"
+msgstr "Будет загружен 1 элемент."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "Будет загружено элементов: %d."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "Будут загружены все элементы."
+
+msgid "IDS_GALLERY_TPOP_SELECTED_ALBUM_SAME_AS_SOURCE_ALBUM_SELECT_ANOTHER_ALBUM"
+msgstr "Выбранный альбом совпадает с исходным. Выберите другой альбом."
+
+msgid "IDS_HS_NPBODY_TAP_HERE_TO_ADD_IMAGES"
+msgstr "Нажмите здесь, чтобы добавить изображения"
+
+msgid "IDS_MF_HEADER_UNABLE_TO_SAVE_DATA_ABB"
+msgstr "Сбой сохранения данных"
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_IN_YOUR_DEVICE_STORAGE_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "Недостаточно места в памяти устройства. Откройте “Параметры” > “Питание и хранилище” > “Хранилище”, удалите часть файлов и повторите попытку."
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_YOUR_SD_CARD_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "Недостаточно места на карте памяти SD. Откройте “Параметры” > “Питание и хранилище” > “Хранилище”, удалите часть файлов и повторите попытку."
+
+msgid "IDS_MF_BUTTON_CANCEL_ABB3"
+msgstr "Отмена"
+
+msgid "IDS_MF_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Больше не показывать"
+
+msgid "IDS_MF_POP_USING_MOBILE_DATA_WHILE_ROAMING_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "За использование мобильных данных в роуминге может взиматься дополнительная плата (в зависимости от вашего тарифного плана)."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DELETED_ABB"
+msgstr "Элементы (%d) будут удалены."
+
+msgid "IDS_GALLERY_OPT_DELETE"
+msgstr "Удалить"
+
+msgid "IDS_GALLERY_BODY_YESTERDAY"
+msgstr "Вчера"
+
+msgid "IDS_BR_MBODY_DOWNLOADS"
+msgstr "Загрузки"
+
+msgid "IDS_GALLERY_HEADER_COPY"
+msgstr "Копировать"
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Удалить"
+
+msgid "IDS_GALLERY_BUTTON_ALBUMS"
+msgstr "Альбомы"
+
+msgid "IDS_GALLERY_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Превышено максимальное число элементов (%d)."
+
+msgid "IDS_GALLERY_BUTTON_CANCEL"
+msgstr "Отмена"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "ГОТОВО"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ОТМЕНА"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "УДАЛИТЬ"
+
+msgid "IDS_GALLERY_POP_COPYING_ING"
+msgstr "Копирование..."
+
+msgid "IDS_GALLERY_POP_MOVING_ING"
+msgstr "Перемещение..."
+
+msgid "IDS_STORYALBUM_POP_IF_YOU_CREATE_CONTENT_THAT_INCLUDES_ITEMS_FROM_PERSONAL_STORAGE_IT_MAY_NOT_BE_HIDDEN_AUTOMATICALLY_MSG"
+msgstr "Если создается содержимое, включающее данные из личного хранилища, оно может не скрываться автоматически. Личное содержимое может быть видно при просмотре нового содержимого."
+
+msgid "IDS_HS_ACBUTTON_EDIT"
+msgstr "ИЗМЕНИТЬ"
+
+msgid "IDS_MF_BUTTON_SETTINGS"
+msgstr "Настройки"
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "Изменить"
+
+msgid "IDS_CLOCK_HEADER_REORDER_ABB"
+msgstr "Изменить порядок"
+
diff --git a/res/po/sk.po b/res/po/sk.po
new file mode 100644 (file)
index 0000000..bebc56c
--- /dev/null
@@ -0,0 +1,759 @@
+msgid "IDS_MF_POP_YOUR_DEVICE_IS_NOT_CONNECTED_TO_A_WI_FI_NETWORK_CONNECTING_TO_A_MOBILE_NETWORK_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "Vaše zariadenie nie je pripojené k sieti Wi-Fi. Pripojenie k mobilnej sieti môže znamenať ďalšie poplatky v závislosti od vášho tarifného programu."
+
+msgid "IDS_VIDEO_TPOP_MOBILE_DATA_TURNED_OFF_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_TURN_ON_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Mobilné dátové pripojenie je vypnuté. Pripojte sa namiesto toho k sieti Wi-Fi alebo zapnite mobilné dátové pripojenie a skúste to znova."
+
+msgid "IDS_VIDEO_BODY_AFTER_YOU_RECORD_VIDEOS_USING_THE_CAMERA_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Po nahratí videí použitím fotoaparátu sa zobrazia tu."
+
+msgid "IDS_VIDEO_TPOP_FILE_NAME_ALREADY_IN_USE"
+msgstr "Názov súboru sa už používa."
+
+msgid "IDS_MF_POP_DELETE_PD_ITEMS_Q"
+msgstr "Vymazať %d položiek?"
+
+msgid "IDS_ST_HEADER_PRIVACY"
+msgstr "Súkromie"
+
+msgid "IDS_COM_BODY_SEP_ABB"
+msgstr "Sep."
+
+msgid "IDS_COM_BODY_OCT_ABB"
+msgstr "Okt."
+
+msgid "IDS_COM_BODY_NOV_ABB"
+msgstr "Nov."
+
+msgid "IDS_COM_BODY_MAY_ABB"
+msgstr "Máj"
+
+msgid "IDS_COM_BODY_MAR_ABB"
+msgstr "Mar."
+
+msgid "IDS_COM_BODY_JUN_ABB"
+msgstr "Jún"
+
+msgid "IDS_COM_BODY_JUL_ABB"
+msgstr "Júl"
+
+msgid "IDS_COM_BODY_JAN_ABB"
+msgstr "Jan."
+
+msgid "IDS_COM_BODY_FEB_ABB"
+msgstr "Feb."
+
+msgid "IDS_COM_BODY_DEC_ABB"
+msgstr "Dec."
+
+msgid "IDS_COM_BODY_AUG_ABB"
+msgstr "Aug."
+
+msgid "IDS_COM_BODY_APR_ABB"
+msgstr "Apr."
+
+msgid "IDS_GALLERY_HEADER_ALBUM"
+msgstr "Album"
+
+msgid "IDS_MEDIABR_OPT_MORE"
+msgstr "Ďalšie"
+
+msgid "IDS_MEDIABR_POP_INVALID_INPUT_PARAMETER"
+msgstr "Neplatný vstupný parameter."
+
+msgid "IDS_MEDIABR_POP_ENTRY_IS_EMPTY"
+msgstr "Prázdna položka."
+
+msgid "IDS_MEDIABR_POP_SAME_NAME_ALREADY_IN_USE"
+msgstr "Rovnaký názov sa už používa."
+
+msgid "IDS_MEDIABR_POP_UNABLE_TO_RENAME"
+msgstr "Nedá sa premenovať."
+
+msgid "IDS_MEDIABR_POP_NO_ALBUMS_SELECTED"
+msgstr "Nie sú vybraté žiadne albumy."
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ITEM"
+msgstr "Vybrať položku"
+
+msgid "IDS_MEDIABR_BODY_NO_ALBUMS"
+msgstr "Žiadne albumy"
+
+msgid "IDS_MEDIABR_POP_CREATE_FOLDER_Q"
+msgstr "Vytvoriť priečinok?"
+
+msgid "IDS_MEDIABR_POP_RETRY_Q"
+msgstr "Opakovať?"
+
+msgid "IDS_MEDIABR_POPUP_REMOVE_Q"
+msgstr "Odstrániť?"
+
+msgid "IDS_MEDIABR_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "%d albumy sa odstránia."
+
+msgid "IDS_MEDIABR_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "1 album sa odstráni."
+
+msgid "IDS_MEDIABR_BODY_CAMERA"
+msgstr "Fotoaparát"
+
+msgid "IDS_MEDIABR_BUTTON_START"
+msgstr "Štart"
+
+msgid "IDS_MEDIABR_OPT_SETTINGS"
+msgstr "Nastavenia"
+
+msgid "IDS_MEDIABR_OPT_YES"
+msgstr "Áno"
+
+msgid "IDS_MEDIABR_OPT_NO"
+msgstr "Nie"
+
+msgid "IDS_MEDIABR_BUTTON_OK"
+msgstr "OK"
+
+msgid "IDS_MEDIABR_BUTTON_SAVE"
+msgstr "Uložiť"
+
+msgid "IDS_MEDIABR_POP_DELETE_Q"
+msgstr "Odstrániť?"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_ALBUM"
+msgstr "Premiestniť do albumu"
+
+msgid "IDS_GALLERY_OPT_COPY_TO_ALBUM"
+msgstr "Kopírovať do albumu"
+
+msgid "IDS_GALLERY_HEADER_VIEW_BY_ABB"
+msgstr "Zobraziť podľa"
+
+msgid "IDS_GALLERY_HEADER_ENTER_NAME"
+msgstr "Zadať meno"
+
+msgid "IDS_MEDIABR_POP_ALL_DATA_RELATED_TO_THIS_ACCOUNT_WILL_BE_DELETED_CONTINUE_Q"
+msgstr "Všetky údaje týkajúce sa tohto konta sa vymažú. Pokračovať?"
+
+msgid "IDS_MEDIABR_BUTTON_CANCEL_ABB"
+msgstr "Zrušiť"
+
+msgid "IDS_MEDIABR_TAB4_NEW_ALBUM"
+msgstr "Nový album"
+
+msgid "IDS_MEDIABR_POP_DO_YOU_WANT_TO_COPY_OR_MOVE_THE_PICTURES_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Chcete skopírovať alebo premiestniť obrázky z pôvodného albumu?"
+
+msgid "IDS_MEDIABR_OPT_SHARE"
+msgstr "Zdieľať"
+
+msgid "IDS_MEDIABR_OPT_SLIDESHOW"
+msgstr "Prezentácia"
+
+msgid "IDS_MEDIABR_OPT_START_SLIDESHOW"
+msgstr "Spustiť prezentáciu"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS"
+msgstr "Nastavenia prezentácie"
+
+msgid "IDS_MEDIABR_POP_NO_NAME"
+msgstr "Žiadny názov"
+
+msgid "IDS_MEDIABR_BODY_ALL_ALBUMS"
+msgstr "Všetky albumy"
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ALBUM"
+msgstr "Vybrať album"
+
+msgid "IDS_MEDIABR_POP_1_ITEM_WILL_BE_DELETED"
+msgstr "1 položka sa vymaže."
+
+msgid "IDS_MEDIABR_OPT_ALL_ITEMS"
+msgstr "Všetky položky"
+
+msgid "IDS_MEDIABR_BODY_PD_ITEMS"
+msgstr "Počet položiek: %d"
+
+msgid "IDS_IV_BODY_THERE_IS_ONLY_ONE_ALBUM"
+msgstr "K dispozícii je iba jeden album."
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "Môžete vybrať maximálne %d položiek."
+
+msgid "IDS_MF_BODY_DOWNLOADS"
+msgstr "Stiahnuté položky"
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Odstrániť?"
+
+msgid "IDS_MF_SK_MOVE"
+msgstr "Presun."
+
+msgid "IDS_MF_POP_DELETING_ING"
+msgstr "Odstraňovanie..."
+
+msgid "IDS_CAM_BODY_OPERATION_FAILED"
+msgstr "Operácia zlyhala."
+
+msgid "IDS_MSG_BODY_CANCELLED_M_CONTENT"
+msgstr "Zrušené"
+
+msgid "IDS_MF_OPT_DELETE_SELECTED"
+msgstr "Vybrané"
+
+msgid "IDS_MF_POP_MOVED"
+msgstr "Presunuté."
+
+msgid "IDS_MF_POP_COPIED"
+msgstr "Skopírované."
+
+msgid "IDS_VPL_POP_NO_FILES_SELECTED"
+msgstr "Nie je vybraný žiadny súbor."
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Zavrieť"
+
+msgid "IDS_MF_OPT_SORT_BY_ABB"
+msgstr "Zoradiť podľa"
+
+msgid "IDS_CAM_POP_LATEST"
+msgstr "Najnovšie"
+
+msgid "IDS_MEDIABR_POP_OLDEST_M_DATE"
+msgstr "Najstaršie"
+
+msgid "IDS_MSG_BUTTON2_CREATE"
+msgstr "Vytvoriť"
+
+msgid "IDS_MEDIABR_POP_NO_ITEMS"
+msgstr "Žiadne položky"
+
+msgid "IDS_MEDIABR_OPT_EDIT_IMAGE"
+msgstr "Upraviť obrázok"
+
+msgid "IDS_MEDIABR_BODY_SELECT_PICTURE"
+msgstr "Vyberte obrázok"
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ITEM_Q"
+msgstr "Odstrániť túto položku?"
+
+msgid "IDS_GALLERY_OPT_SCENERY"
+msgstr "Scenéria"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PRIVATE"
+msgstr "Odstrániť z priečinka Súkromné"
+
+msgid "IDS_GALLERY_OPT_PETS"
+msgstr "Domáce zvieratá"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_PRIVATE"
+msgstr "Premiestniť do priečinka Súkromné"
+
+msgid "IDS_GALLERY_OPT_FOOD"
+msgstr "Jedlo"
+
+msgid "IDS_GALLERY_OPT_FLOWERS"
+msgstr "Kvety"
+
+msgid "IDS_GALLERY_OPT_DOCUMENTS"
+msgstr "Dokumenty"
+
+msgid "IDS_GALLERY_MBODY_VEHICLES"
+msgstr "Vozidlá"
+
+msgid "IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED"
+msgstr "Dosiahol sa maximálny počet znakov (%d)."
+
+msgid "IDS_IV_BODY_UNABLE_TO_LOAD_PHOTO_ABB"
+msgstr "Fotografia sa nedá načítať."
+
+msgid "IDS_IV_BODY_SHARE_VIA"
+msgstr "Zdieľať cez"
+
+msgid "IDS_IV_BODY_DONT_ASK_AGAIN"
+msgstr "Už sa nepýtať"
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Bol dosiahnutý maximálny počet znakov."
+
+msgid "IDS_GALLERY_HEADER_TIME"
+msgstr "Čas"
+
+msgid "IDS_EMAIL_BODY_FAILED_M_STATUS"
+msgstr "Zlyhanie"
+
+msgid "IDS_EMAIL_BODY_DELETED"
+msgstr "Odstránené."
+
+msgid "IDS_EMAIL_POP_DELETE_Q"
+msgstr "Odstrániť?"
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Odstraňovanie..."
+
+msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS"
+msgstr "Počet zobrazených položiek: %d"
+
+msgid "IDS_GALLERY_OPT_CREATE_ALBUM"
+msgstr "Vytvoriť album"
+
+msgid "IDS_GALLERY_OPT_GALLERY_ABB"
+msgstr "Galéria"
+
+msgid "IDS_EMAIL_BUTTON_MORE"
+msgstr "Ďalšie"
+
+msgid "IDS_EMAIL_OPT_ACCOUNTS"
+msgstr "Kontá"
+
+msgid "IDS_EMAIL_POP_OPERATION_FAILED"
+msgstr "Operácia zlyhala."
+
+msgid "IDS_GALLERY_BODY_DOWNLOAD"
+msgstr "Stiahnuť"
+
+msgid "IDS_GALLERY_BODY_SEARCH"
+msgstr "Hľadať"
+
+msgid "IDS_GALLERY_BUTTON_BACK"
+msgstr "Späť"
+
+msgid "IDS_GALLERY_BUTTON_CAMERA"
+msgstr "Fotoaparát"
+
+msgid "IDS_GALLERY_HEADER_ALL"
+msgstr "Všetky"
+
+msgid "IDS_GALLERY_OPT_REFRESH"
+msgstr "Obnoviť"
+
+msgid "IDS_GALLERY_OPT_REMOVE"
+msgstr "Odstrániť"
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_DROPBOX_ITEMS_WILL_BE_SHOWN"
+msgstr "Po odoslaní obrázkov do služby Dropbox sa zobrazia položky."
+
+msgid "IDS_KEEPIT_BODY_GROUP_PLAY_ABB"
+msgstr "Skupin. prehrávanie"
+
+msgid "IDS_MEDIABR_HEADER_CONTACTS"
+msgstr "Kontakty"
+
+msgid "IDS_MEDIABR_OPT_CREATE"
+msgstr "Vytvoriť"
+
+msgid "IDS_MEDIABR_OPT_DETAILS"
+msgstr "Podrobnosti"
+
+msgid "IDS_MEDIABR_OPT_PRINT"
+msgstr "Tlač"
+
+msgid "IDS_MEDIABR_OPT_RENAME"
+msgstr "Premenovať"
+
+msgid "IDS_MEDIABR_POP_DOWNLOADED"
+msgstr "Stiahnuté."
+
+msgid "IDS_MEDIABR_POP_DOWNLOADING_ING"
+msgstr "Sťahovanie..."
+
+msgid "IDS_MF_HEADER_ENTER_NAME"
+msgstr "Zadať meno"
+
+msgid "IDS_MF_HEADER_MYFILES"
+msgstr "Moje súbory"
+
+msgid "IDS_MF_POP_ADDED"
+msgstr "Pridané."
+
+msgid "IDS_MF_POP_PROCESSING_ING"
+msgstr "Prebieha spracovanie..."
+
+msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
+msgstr "Nepodporovaný typ súboru."
+
+msgid "IDS_IMGE_BODY_AFTER_YOU_TAKE_PICTURES_PICTURES_WILL_BE_SHOWN"
+msgstr "Po fotografovaní sa zobrazia obrázky."
+
+msgid "IDS_IME_BODY_LANDSCAPE_MODE"
+msgstr "Režim na šírku"
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_CLOSE_DRAWER_MENU_TTS"
+msgstr "Dvojitým ťuknutím zavriete vysúvacie menu."
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_OPEN_DRAWER_MENU_TTS"
+msgstr "Dvojitým ťuknutím otvoríte vysúvacie menu."
+
+msgid "IDS_EMAIL_BODY_DRAG_AND_DROP"
+msgstr "Uchopiť a presunúť"
+
+msgid "IDS_EMAIL_OPT_DRAWER_ABB"
+msgstr "Zásuvka"
+
+msgid "IDS_EMAIL_POP_MOBILE_DATA_IS_DISABLED_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_ENABLE_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Mobilné dátové pripojenie je vypnuté. Pripojte sa namiesto toho k sieti Wi-Fi alebo zapnite mobilné dátové pripojenie a skúste to znova"
+
+msgid "IDS_EMAIL_POP_WI_FI_CONNECTION_REQUIRED_CONNECT_TO_WI_FI_NETWORK_AND_TRY_AGAIN"
+msgstr "Vyžaduje sa pripojenie k sieti Wi-Fi. Pripojte sa k sieti Wi-Fi a skúste to znova"
+
+msgid "IDS_GALLERY_HEADER_ADD_PICTURES_FROM_ABB"
+msgstr "Pridať fotografie z"
+
+msgid "IDS_GALLERY_HEADER_CONNECTED_DEVICES_ABB"
+msgstr "Pripojené zariadenia"
+
+msgid "IDS_GALLERY_OPT_PRIVATE_CONTENT"
+msgstr "Súkromný obsah"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PS"
+msgstr "Odstrániť z kategórie %s"
+
+msgid "IDS_GALLERY_OPT_REMOVE_NAME_TAG"
+msgstr "Odstrániť menovku"
+
+msgid "IDS_GALLERY_POP_THERE_ARE_NO_EVENTS_TO_DISPLAY_CREATE_A_NEW_EVENT"
+msgstr "Nie sú žiadne udalosti na zobrazenie. Vytvorte novú udalosť."
+
+msgid "IDS_GALLERY_POP_TO_SCROLL_QUICKLY_TO_OTHER_DATES_TAP_AND_HOLD_THE_DATE_INDICATOR_AT_THE_TOP_RIGHT_OF_THE_SCREEN"
+msgstr "Ak chcete rýchlo prejsť na iné dátumy, ťuknite na indikátor dátumu v pravom hornom rohu obrazovky a podržte ho."
+
+msgid "IDS_GP_POP_REMOVE_PD_ITEMS_Q"
+msgstr "Odstrániť %d položky?"
+
+msgid "IDS_GP_POP_REMOVE_THIS_ITEM_Q"
+msgstr "Odstrániť túto položku?"
+
+msgid "IDS_HELP_BODY_GALLERY"
+msgstr "Galéria"
+
+msgid "IDS_HELP_OPT_SHUFFLED_PICTURES"
+msgstr "Náhodne zoradené fotografie"
+
+msgid "IDS_IV_BODY_ADD_PICTURES"
+msgstr "Pridať obrázky"
+
+msgid "IDS_IV_BODY_AFTER_YOU_TAG_PICTURES_AS_YOUR_FAVOURITES_PICTURES_WILL_BE_SHOWN"
+msgstr "Po označení obrázkov ako obľúbených sa zobrazia obrázky."
+
+msgid "IDS_IV_BODY_REMOVE_FACE_IDENTIFICATION_Q"
+msgstr "Odstrániť identifikáciu tváre?"
+
+msgid "IDS_IV_OPT_ASSIGN_NAME"
+msgstr "Priradiť meno"
+
+msgid "IDS_IV_OPT_CONFIRM_AS_PS"
+msgstr "Potvrdiť ako %s"
+
+msgid "IDS_IV_OPT_LAYOUT_M_PICTUERS"
+msgstr "Rozloženie"
+
+msgid "IDS_IV_OPT_PD_PICTURES_ADDED"
+msgstr "Pridané obrázky: %d"
+
+msgid "IDS_IV_POP_THE_ALBUM_WILL_BE_CANCELLED"
+msgstr "Album sa zruší."
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEM_ABB"
+msgstr "Odstrániť položku"
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEMS"
+msgstr "Odstrániť položky"
+
+msgid "IDS_MEDIABR_BODY_1_ITEM"
+msgstr "1 položka"
+
+msgid "IDS_MEDIABR_BODY_10_SECONDS"
+msgstr "10 sekúnd"
+
+msgid "IDS_MEDIABR_BODY_5_SECONDS"
+msgstr "5 sekúnd"
+
+msgid "IDS_MEDIABR_BODY_NOT_ASSIGNED"
+msgstr "Nepriradené"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL"
+msgstr "Interval prezentácie"
+
+msgid "IDS_MEDIABR_BODY_UNTAGGED"
+msgstr "Bez značky"
+
+msgid "IDS_MEDIABR_OPT_3_SECONDS"
+msgstr "3 sekundy"
+
+msgid "IDS_MEDIABR_OPT_ALL_CONTENT"
+msgstr "Všetok obsah"
+
+msgid "IDS_MEDIABR_OPT_CONTENT_TO_DISPLAY"
+msgstr "Obsah na zobrazenie"
+
+msgid "IDS_MEDIABR_OPT_DELETE_TAG"
+msgstr "Vymazať značku"
+
+msgid "IDS_MEDIABR_OPT_DEVICE_CONTENT"
+msgstr "Obsah zariadenia"
+
+msgid "IDS_MEDIABR_OPT_DROPBOX_CONTENT"
+msgstr "Obsah služby Dropbox"
+
+msgid "IDS_MEDIABR_OPT_FACEBOOK_CONTENT"
+msgstr "Obsah služby Facebook"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_LEFT"
+msgstr "Otočiť doľava"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_RIGHT"
+msgstr "Otočiť doprava"
+
+msgid "IDS_MEDIABR_POP_IMPORT"
+msgstr "Importovať"
+
+msgid "IDS_MEDIABR_POP_IMPORTED"
+msgstr "Importované."
+
+msgid "IDS_MEDIABR_POP_IMPORTING_ING"
+msgstr "Importuje sa..."
+
+msgid "IDS_MEDIABR_POP_LOADING_ING"
+msgstr "Načítava sa..."
+
+msgid "IDS_MEDIABR_POP_NEARBY_DEVICES_FOUND"
+msgstr "Našli sa blízke zariadenia."
+
+msgid "IDS_MEDIABR_POP_NO_DEVICES_FOUND_SCANNING_FOR_NEARBY_DEVICES_WILL_CONTINUE_IN_BACKGROUND"
+msgstr "Nenašli sa žiadne zariadenia. Hľadanie blízkych zariadení bude pokračovať na pozadí."
+
+msgid "IDS_MEDIABR_POP_REFRESHED"
+msgstr "Obnovené."
+
+msgid "IDS_MEDIABR_POP_ROTATING_ING"
+msgstr "Otáča sa..."
+
+msgid "IDS_MEDIABR_POP_SCAN_STARTED_DEVICE_LIST_WILL_BE_UPDATED_AUTOMATICALLY"
+msgstr "Vyhľadávanie sa spustilo. Zoznam zariadení sa aktualizuje automaticky."
+
+msgid "IDS_MEDIABR_POP_STARTING_DOWNLOAD_ABB"
+msgstr "Spúšťa sa sťahovanie..."
+
+msgid "IDS_MF_OPT_COPY_TO"
+msgstr "Kopírovať do"
+
+msgid "IDS_MF_OPT_MOVE_TO"
+msgstr "Presunúť do"
+
+msgid "IDS_MF_POP_FAILED_TO_ADD_SHORTCUT"
+msgstr "Nepodarilo sa pridať odkaz."
+
+msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
+msgstr "Nedostatok pamäte. Vymažte niektoré položky"
+
+msgid "IDS_MF_POP_REMOVED"
+msgstr "Odstránené."
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Pridávanie..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "Vykonať odstránenie %d albumov?"
+
+msgid "IDS_ST_BODY_PRIVATE_STORAGE"
+msgstr "Súkromné úložisko"
+
+msgid "IDS_IV_BODY_DRAG_HERE"
+msgstr "Presuňte sem."
+
+msgid "IDS_GALLERY_BODY_NEW_M_ALBUM_ABB"
+msgstr "Nové"
+
+msgid "IDS_GALLERY_HEADER_UNGROUPEDM_PEOPLE_ABB"
+msgstr "Nezoskupené"
+
+msgid "IDS_KEEPIT_OPT_SCREENSHOTS_ABB"
+msgstr "Snímky obrazovky"
+
+msgid "IDS_MEDIABR_OPT_PHOTOS"
+msgstr "Fotografie"
+
+msgid "IDS_MEDIABR_POP_DOWNLOAD_FAILED"
+msgstr "Stiahnutie nedostupné."
+
+msgid "IDS_MEDIABR_POP_UNSUPPORTED_FILE"
+msgstr "Nepodporovaný súbor."
+
+msgid "IDS_SEARCH_BODY_1_RESULT"
+msgstr "1 výsledok"
+
+msgid "IDS_SEARCH_BODY_PD_RESULTS"
+msgstr "Výsledky: %d"
+
+msgid "IDS_TW_BODY_FAVORITES"
+msgstr "Obľúbené"
+
+msgid "IDS_EMAIL_POP_DOWNLOAD_CANCELLED"
+msgstr "Sťahovanie zrušené."
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ALBUM_Q"
+msgstr "Odstrániť tento album?"
+
+msgid "IDS_CAM_HEADER_WARNING_ABB"
+msgstr "Upozornenie"
+
+msgid "IDS_ALM_OPT_SORT_BY"
+msgstr "Usporiadať podľa"
+
+msgid "IDS_CLD_OPT_TODAY"
+msgstr "Dnes"
+
+msgid "IDS_GALLERY_BODY_DATE"
+msgstr "Dátum"
+
+msgid "IDS_EMAIL_BODY_NO_ITEMS_TO_DISPLAY"
+msgstr "Žiadne položky na zobrazenie."
+
+msgid "IDS_PBR_BODY_TAP_HERE_TO_TAKE_PICTURES_OR_VIDEOS"
+msgstr "Ťuknutím sem môžete fotografovať alebo nahrávať videá."
+
+msgid "IDS_NFC_TPOP_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SHARED_HPD_EXCEEDED"
+msgstr "Prekročil sa maximálny počet položiek, ktoré môžete zdieľať (%d)."
+
+msgid "IDS_IV_BODY_TAP_TO_ADD_IMAGES"
+msgstr "Ťuknutím môžete obrázky."
+
+msgid "IDS_GALLERY_POP_COPY_OR_MOVE_THE_SELECTED_ITEMS_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Chcete skopírovať alebo premiestniť vybraté položky z pôvodného albumu?"
+
+msgid "IDS_GALLERY_HEADER_SELECT"
+msgstr "Vyberte"
+
+msgid "IDS_VIDEO_POP_FILE_ALREADY_EXISTS"
+msgstr "Súbor už existuje."
+
+msgid "IDS_VIDEO_POP_THIS_ITEM_WILL_BE_DELETED"
+msgstr "Táto položka sa vymaže."
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_FACEBOOK_ITEMS_WILL_BE_SHOWN"
+msgstr "Po odoslaní obrázkov do služby Facebook sa zobrazia položky."
+
+msgid "IDS_GALLERY_HEADER_SELECT_ALL_ABB"
+msgstr "Vybrať všetko"
+
+msgid "IDS_GALLERY_HEADER_PD_SELECTED_ABB"
+msgstr "Vybraté: %d"
+
+msgid "IDS_GALLERY_OPT_VIEW_AS"
+msgstr "Zobraziť ako"
+
+msgid "IDS_GALLERY_OPT_DATE_HMOST_RECENT_ABB2"
+msgstr "Dátum (najnovšie)"
+
+msgid "IDS_GALLERY_OPT_DATE_HOLDEST_ABB3"
+msgstr "Dátum (najstaršie)"
+
+msgid "IDS_GALLERY_BODY_AFTER_YOU_TAKE_PICTURES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Po nasnímaní fotografií sa zobrazia tu."
+
+msgid "IDS_CLOUD_TPOP_CANCELLING_ING"
+msgstr "Ruší sa..."
+
+msgid "IDS_GALLERY_OPT_FROM_DEVICE_ABB"
+msgstr "Zo zariadenia"
+
+msgid "IDS_GALLERY_OPT_FROM_DROPBOX_ABB"
+msgstr "Zo služby Dropbox"
+
+msgid "IDS_GALLERY_OPT_FROM_FACEBOOK_ABB"
+msgstr "Zo služby Facebook"
+
+msgid "IDS_MUSIC_BODY_DOWNLOAD_COMPLETED"
+msgstr "Sťahovanie dokončené."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DELETED"
+msgstr "Všetky položky sa vymažú."
+
+msgid "IDS_GALLERY_POP_1_ITEM_WILL_BE_DOWNLOADED"
+msgstr "Stiahne sa 1 položka."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "Vykoná sa stiahnutie %d položiek."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "Stiahnu sa všetky položky."
+
+msgid "IDS_GALLERY_TPOP_SELECTED_ALBUM_SAME_AS_SOURCE_ALBUM_SELECT_ANOTHER_ALBUM"
+msgstr "Vybratý album sa zhoduje so zdrojovým albumom. Vyberte iný album."
+
+msgid "IDS_HS_NPBODY_TAP_HERE_TO_ADD_IMAGES"
+msgstr "Ťuknutím sem môžete pridať fotografie"
+
+msgid "IDS_MF_HEADER_UNABLE_TO_SAVE_DATA_ABB"
+msgstr "Údaje sa nedajú uložiť"
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_IN_YOUR_DEVICE_STORAGE_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "V úložisku zariadenia nie je dostatok miesta. Prejdite do menu Nastavenia > Energia a úložisko > Úložisko a potom odstráňte niektoré súbory a skúste to znova."
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_YOUR_SD_CARD_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "Na karte SD nie je dostatok miesta. Prejdite do menu Nastavenia > Energia a úložisko > Úložisko a potom odstráňte niektoré súbory a skúste to znova."
+
+msgid "IDS_MF_BUTTON_CANCEL_ABB3"
+msgstr "Zrušiť"
+
+msgid "IDS_MF_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Už nezobrazovať"
+
+msgid "IDS_MF_POP_USING_MOBILE_DATA_WHILE_ROAMING_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "Používanie mobilného dátového pripojenia počas roamingu môže mať za následok ďalšie poplatky v závislosti od vášho tarifného programu."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DELETED_ABB"
+msgstr "Vykoná sa odstránenie %d položiek."
+
+msgid "IDS_GALLERY_OPT_DELETE"
+msgstr "Odstrániť"
+
+msgid "IDS_GALLERY_BODY_YESTERDAY"
+msgstr "Včera"
+
+msgid "IDS_BR_MBODY_DOWNLOADS"
+msgstr "Sťahovania"
+
+msgid "IDS_GALLERY_HEADER_COPY"
+msgstr "Kopírovanie"
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Odstrániť"
+
+msgid "IDS_GALLERY_BUTTON_ALBUMS"
+msgstr "Albumy"
+
+msgid "IDS_GALLERY_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Prekročil sa maximálny počet položiek (%d)."
+
+msgid "IDS_GALLERY_BUTTON_CANCEL"
+msgstr "Zrušiť"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "HOTOVO"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ZRUŠIŤ"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "ODSTRÁNIŤ"
+
+msgid "IDS_GALLERY_POP_COPYING_ING"
+msgstr "Kopírovanie..."
+
+msgid "IDS_GALLERY_POP_MOVING_ING"
+msgstr "Presúvanie..."
+
+msgid "IDS_STORYALBUM_POP_IF_YOU_CREATE_CONTENT_THAT_INCLUDES_ITEMS_FROM_PERSONAL_STORAGE_IT_MAY_NOT_BE_HIDDEN_AUTOMATICALLY_MSG"
+msgstr "Ak vytvoríte obsah zahŕňajúci položky z osobného úložného priestoru, nemusí byť automaticky skrytý. Vybratý osobný obsah by mohol byť viditeľný pri prezeraní nového obsahu."
+
+msgid "IDS_HS_ACBUTTON_EDIT"
+msgstr "UPRAVIŤ"
+
+msgid "IDS_MF_BUTTON_SETTINGS"
+msgstr "Nastavenia"
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "UPRAVIŤ"
+
+msgid "IDS_CLOCK_HEADER_REORDER_ABB"
+msgstr "Zmeniť poradie"
+
diff --git a/res/po/sl.po b/res/po/sl.po
new file mode 100644 (file)
index 0000000..1c6ddd7
--- /dev/null
@@ -0,0 +1,759 @@
+msgid "IDS_MF_POP_YOUR_DEVICE_IS_NOT_CONNECTED_TO_A_WI_FI_NETWORK_CONNECTING_TO_A_MOBILE_NETWORK_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "Vaša naprava ni povezana z omrežjem Wi-Fi. Povezava z mobilnim omrežjem lahko povzroči dodatne stroške, odvisno od vaše naročnine."
+
+msgid "IDS_VIDEO_TPOP_MOBILE_DATA_TURNED_OFF_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_TURN_ON_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Funkcija Prenos podatkov prek mobilnega omrežja je izklopljena. Namesto tega se povežite z omrežjem Wi-Fi, ali pa vklopite funkcijo Prenos podatkov prek mobilnega omrežja in poskusite znova."
+
+msgid "IDS_VIDEO_BODY_AFTER_YOU_RECORD_VIDEOS_USING_THE_CAMERA_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Ko boste s kamero posneli videoposnetke, bodo prikazani tukaj."
+
+msgid "IDS_VIDEO_TPOP_FILE_NAME_ALREADY_IN_USE"
+msgstr "Ime datoteke je že v uporabi."
+
+msgid "IDS_MF_POP_DELETE_PD_ITEMS_Q"
+msgstr "Zbrišem %d predmetov?"
+
+msgid "IDS_ST_HEADER_PRIVACY"
+msgstr "Zasebnost"
+
+msgid "IDS_COM_BODY_SEP_ABB"
+msgstr "sep."
+
+msgid "IDS_COM_BODY_OCT_ABB"
+msgstr "okt."
+
+msgid "IDS_COM_BODY_NOV_ABB"
+msgstr "nov."
+
+msgid "IDS_COM_BODY_MAY_ABB"
+msgstr "maj"
+
+msgid "IDS_COM_BODY_MAR_ABB"
+msgstr "mar."
+
+msgid "IDS_COM_BODY_JUN_ABB"
+msgstr "jun."
+
+msgid "IDS_COM_BODY_JUL_ABB"
+msgstr "jul."
+
+msgid "IDS_COM_BODY_JAN_ABB"
+msgstr "jan."
+
+msgid "IDS_COM_BODY_FEB_ABB"
+msgstr "feb."
+
+msgid "IDS_COM_BODY_DEC_ABB"
+msgstr "dec."
+
+msgid "IDS_COM_BODY_AUG_ABB"
+msgstr "avg."
+
+msgid "IDS_COM_BODY_APR_ABB"
+msgstr "apr."
+
+msgid "IDS_GALLERY_HEADER_ALBUM"
+msgstr "Album"
+
+msgid "IDS_MEDIABR_OPT_MORE"
+msgstr "Več"
+
+msgid "IDS_MEDIABR_POP_INVALID_INPUT_PARAMETER"
+msgstr "Neveljaven vhodni parameter."
+
+msgid "IDS_MEDIABR_POP_ENTRY_IS_EMPTY"
+msgstr "Prazen vnos."
+
+msgid "IDS_MEDIABR_POP_SAME_NAME_ALREADY_IN_USE"
+msgstr "XXX se že uporablja."
+
+msgid "IDS_MEDIABR_POP_UNABLE_TO_RENAME"
+msgstr "Ni mogoče preimenovati."
+
+msgid "IDS_MEDIABR_POP_NO_ALBUMS_SELECTED"
+msgstr "Ni izbranih albumov."
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ITEM"
+msgstr "Izberi predmet"
+
+msgid "IDS_MEDIABR_BODY_NO_ALBUMS"
+msgstr "Ni albumov"
+
+msgid "IDS_MEDIABR_POP_CREATE_FOLDER_Q"
+msgstr "Ustvarim mapo?"
+
+msgid "IDS_MEDIABR_POP_RETRY_Q"
+msgstr "Poskusim znova?"
+
+msgid "IDS_MEDIABR_POPUP_REMOVE_Q"
+msgstr "Odstranim?"
+
+msgid "IDS_MEDIABR_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "%d albumov bo izbrisanih."
+
+msgid "IDS_MEDIABR_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "1 album bo izbrisan."
+
+msgid "IDS_MEDIABR_BODY_CAMERA"
+msgstr "Fotoaparat"
+
+msgid "IDS_MEDIABR_BUTTON_START"
+msgstr "Začetek"
+
+msgid "IDS_MEDIABR_OPT_SETTINGS"
+msgstr "Nastavitve"
+
+msgid "IDS_MEDIABR_OPT_YES"
+msgstr "Da"
+
+msgid "IDS_MEDIABR_OPT_NO"
+msgstr "Ne"
+
+msgid "IDS_MEDIABR_BUTTON_OK"
+msgstr "V redu"
+
+msgid "IDS_MEDIABR_BUTTON_SAVE"
+msgstr "Shrani"
+
+msgid "IDS_MEDIABR_POP_DELETE_Q"
+msgstr "Izbrišem?"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_ALBUM"
+msgstr "Premakni v album"
+
+msgid "IDS_GALLERY_OPT_COPY_TO_ALBUM"
+msgstr "Kopiraj v album"
+
+msgid "IDS_GALLERY_HEADER_VIEW_BY_ABB"
+msgstr "Prikaz po"
+
+msgid "IDS_GALLERY_HEADER_ENTER_NAME"
+msgstr "Vnesite ime"
+
+msgid "IDS_MEDIABR_POP_ALL_DATA_RELATED_TO_THIS_ACCOUNT_WILL_BE_DELETED_CONTINUE_Q"
+msgstr "Vsi podatki, povezani s tem računom, bodo izbrisani. Nadaljujem?"
+
+msgid "IDS_MEDIABR_BUTTON_CANCEL_ABB"
+msgstr "Prekliči"
+
+msgid "IDS_MEDIABR_TAB4_NEW_ALBUM"
+msgstr "Nov album"
+
+msgid "IDS_MEDIABR_POP_DO_YOU_WANT_TO_COPY_OR_MOVE_THE_PICTURES_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Želite kopirati ali premakniti slike iz izvirnega albuma?"
+
+msgid "IDS_MEDIABR_OPT_SHARE"
+msgstr "Deli"
+
+msgid "IDS_MEDIABR_OPT_SLIDESHOW"
+msgstr "Diaprojekcija"
+
+msgid "IDS_MEDIABR_OPT_START_SLIDESHOW"
+msgstr "Začni diaprojekcijo"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS"
+msgstr "Nastavitve diaprojekcije"
+
+msgid "IDS_MEDIABR_POP_NO_NAME"
+msgstr "Brez imena"
+
+msgid "IDS_MEDIABR_BODY_ALL_ALBUMS"
+msgstr "Vsi albumi"
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ALBUM"
+msgstr "Izberite album"
+
+msgid "IDS_MEDIABR_POP_1_ITEM_WILL_BE_DELETED"
+msgstr "1 element bo izbrisan."
+
+msgid "IDS_MEDIABR_OPT_ALL_ITEMS"
+msgstr "Vsi elementi"
+
+msgid "IDS_MEDIABR_BODY_PD_ITEMS"
+msgstr "%d predmetov"
+
+msgid "IDS_IV_BODY_THERE_IS_ONLY_ONE_ALBUM"
+msgstr "Obstaja samo en album."
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "Izberete lahko do %d elementov."
+
+msgid "IDS_MF_BODY_DOWNLOADS"
+msgstr "Prenosi"
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Izbrišem?"
+
+msgid "IDS_MF_SK_MOVE"
+msgstr "Premik"
+
+msgid "IDS_MF_POP_DELETING_ING"
+msgstr "Brišem"
+
+msgid "IDS_CAM_BODY_OPERATION_FAILED"
+msgstr "Postopek ni uspel."
+
+msgid "IDS_MSG_BODY_CANCELLED_M_CONTENT"
+msgstr "Preklicano"
+
+msgid "IDS_MF_OPT_DELETE_SELECTED"
+msgstr "Izbrano"
+
+msgid "IDS_MF_POP_MOVED"
+msgstr "Premaknjeno."
+
+msgid "IDS_MF_POP_COPIED"
+msgstr "Kopirano."
+
+msgid "IDS_VPL_POP_NO_FILES_SELECTED"
+msgstr "Ni izbranih datotek."
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Zapri"
+
+msgid "IDS_MF_OPT_SORT_BY_ABB"
+msgstr "Razvrsti po"
+
+msgid "IDS_CAM_POP_LATEST"
+msgstr "Najnovejše"
+
+msgid "IDS_MEDIABR_POP_OLDEST_M_DATE"
+msgstr "Najstarejše"
+
+msgid "IDS_MSG_BUTTON2_CREATE"
+msgstr "Ustvari"
+
+msgid "IDS_MEDIABR_POP_NO_ITEMS"
+msgstr "Ni predmetov"
+
+msgid "IDS_MEDIABR_OPT_EDIT_IMAGE"
+msgstr "Uredi sliko"
+
+msgid "IDS_MEDIABR_BODY_SELECT_PICTURE"
+msgstr "Izberite sliko"
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ITEM_Q"
+msgstr "Želite izbrisati ta element?"
+
+msgid "IDS_GALLERY_OPT_SCENERY"
+msgstr "Prizorišče"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PRIVATE"
+msgstr "Odstrani iz zasebne"
+
+msgid "IDS_GALLERY_OPT_PETS"
+msgstr "Domače živali"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_PRIVATE"
+msgstr "Premaknite v mapo Zasebno"
+
+msgid "IDS_GALLERY_OPT_FOOD"
+msgstr "Hrana"
+
+msgid "IDS_GALLERY_OPT_FLOWERS"
+msgstr "Rože"
+
+msgid "IDS_GALLERY_OPT_DOCUMENTS"
+msgstr "Dokumenti"
+
+msgid "IDS_GALLERY_MBODY_VEHICLES"
+msgstr "Vozila"
+
+msgid "IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED"
+msgstr "Doseženo je največje število znakov (%d)."
+
+msgid "IDS_IV_BODY_UNABLE_TO_LOAD_PHOTO_ABB"
+msgstr "Fotografije ni mogoče naložiti."
+
+msgid "IDS_IV_BODY_SHARE_VIA"
+msgstr "Souporaba preko"
+
+msgid "IDS_IV_BODY_DONT_ASK_AGAIN"
+msgstr "Ne vprašaj znova"
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Doseženo je največje dovoljeno število znakov."
+
+msgid "IDS_GALLERY_HEADER_TIME"
+msgstr "Čas"
+
+msgid "IDS_EMAIL_BODY_FAILED_M_STATUS"
+msgstr "Ni uspelo"
+
+msgid "IDS_EMAIL_BODY_DELETED"
+msgstr "Izbrisano."
+
+msgid "IDS_EMAIL_POP_DELETE_Q"
+msgstr "Izbrišem?"
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Odstranjujem ..."
+
+msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS"
+msgstr "Število prikazanih elementov: %d"
+
+msgid "IDS_GALLERY_OPT_CREATE_ALBUM"
+msgstr "Ustvari album"
+
+msgid "IDS_GALLERY_OPT_GALLERY_ABB"
+msgstr "Galerija"
+
+msgid "IDS_EMAIL_BUTTON_MORE"
+msgstr "Več"
+
+msgid "IDS_EMAIL_OPT_ACCOUNTS"
+msgstr "Računi"
+
+msgid "IDS_EMAIL_POP_OPERATION_FAILED"
+msgstr "Postopek ni uspel."
+
+msgid "IDS_GALLERY_BODY_DOWNLOAD"
+msgstr "Prenos"
+
+msgid "IDS_GALLERY_BODY_SEARCH"
+msgstr "Iskanje"
+
+msgid "IDS_GALLERY_BUTTON_BACK"
+msgstr "Nazaj"
+
+msgid "IDS_GALLERY_BUTTON_CAMERA"
+msgstr "Kamera"
+
+msgid "IDS_GALLERY_HEADER_ALL"
+msgstr "Vse"
+
+msgid "IDS_GALLERY_OPT_REFRESH"
+msgstr "Osveži"
+
+msgid "IDS_GALLERY_OPT_REMOVE"
+msgstr "Odstrani"
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_DROPBOX_ITEMS_WILL_BE_SHOWN"
+msgstr "Ko boste prenesli slike v Dropbox, se bodo elementi prikazali."
+
+msgid "IDS_KEEPIT_BODY_GROUP_PLAY_ABB"
+msgstr "Skupinska igra"
+
+msgid "IDS_MEDIABR_HEADER_CONTACTS"
+msgstr "Imenik"
+
+msgid "IDS_MEDIABR_OPT_CREATE"
+msgstr "Ustvari"
+
+msgid "IDS_MEDIABR_OPT_DETAILS"
+msgstr "Podrobnosti"
+
+msgid "IDS_MEDIABR_OPT_PRINT"
+msgstr "Tiskanje"
+
+msgid "IDS_MEDIABR_OPT_RENAME"
+msgstr "Preimenuj"
+
+msgid "IDS_MEDIABR_POP_DOWNLOADED"
+msgstr "Preneseno."
+
+msgid "IDS_MEDIABR_POP_DOWNLOADING_ING"
+msgstr "Prenašam ..."
+
+msgid "IDS_MF_HEADER_ENTER_NAME"
+msgstr "Vnesite ime."
+
+msgid "IDS_MF_HEADER_MYFILES"
+msgstr "Moje datoteke"
+
+msgid "IDS_MF_POP_ADDED"
+msgstr "Dodano."
+
+msgid "IDS_MF_POP_PROCESSING_ING"
+msgstr "Obdelujem..."
+
+msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
+msgstr "Nepodprta vrsta datoteke."
+
+msgid "IDS_IMGE_BODY_AFTER_YOU_TAKE_PICTURES_PICTURES_WILL_BE_SHOWN"
+msgstr "Ko boste posneli fotografije, bodo prikazane."
+
+msgid "IDS_IME_BODY_LANDSCAPE_MODE"
+msgstr "Ležeči način"
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_CLOSE_DRAWER_MENU_TTS"
+msgstr "Dvakrat pritisnite, da zaprete predalni meni."
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_OPEN_DRAWER_MENU_TTS"
+msgstr "Dvakrat pritisnite, da odprete predalni meni."
+
+msgid "IDS_EMAIL_BODY_DRAG_AND_DROP"
+msgstr "Povlecite in spustite"
+
+msgid "IDS_EMAIL_OPT_DRAWER_ABB"
+msgstr "Predal"
+
+msgid "IDS_EMAIL_POP_MOBILE_DATA_IS_DISABLED_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_ENABLE_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Mobilni podatki so onemogočeni. Povežite se z omrežjem Wi-Fi ali omogočite mobilne podatke in poskusite znova"
+
+msgid "IDS_EMAIL_POP_WI_FI_CONNECTION_REQUIRED_CONNECT_TO_WI_FI_NETWORK_AND_TRY_AGAIN"
+msgstr "Zahtevana je povezava z omrežjem Wi-Fi. Povežite se z omrežjem Wi-Fi in poskusite znova"
+
+msgid "IDS_GALLERY_HEADER_ADD_PICTURES_FROM_ABB"
+msgstr "Dodajte slike iz"
+
+msgid "IDS_GALLERY_HEADER_CONNECTED_DEVICES_ABB"
+msgstr "Povezane naprave"
+
+msgid "IDS_GALLERY_OPT_PRIVATE_CONTENT"
+msgstr "Zasebna vsebina"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PS"
+msgstr "Odstrani iz kategorije %s"
+
+msgid "IDS_GALLERY_OPT_REMOVE_NAME_TAG"
+msgstr "Odstrani ime oznake"
+
+msgid "IDS_GALLERY_POP_THERE_ARE_NO_EVENTS_TO_DISPLAY_CREATE_A_NEW_EVENT"
+msgstr "Ni dogodkov za prikaz. Ustvarite nov dogodek."
+
+msgid "IDS_GALLERY_POP_TO_SCROLL_QUICKLY_TO_OTHER_DATES_TAP_AND_HOLD_THE_DATE_INDICATOR_AT_THE_TOP_RIGHT_OF_THE_SCREEN"
+msgstr "Če želite hitro skočiti na druge datume, pritisnite in držite kazalnik datuma v zgornjem desnem delu zaslona."
+
+msgid "IDS_GP_POP_REMOVE_PD_ITEMS_Q"
+msgstr "Odstranim %d elementov?"
+
+msgid "IDS_GP_POP_REMOVE_THIS_ITEM_Q"
+msgstr "Želite odstraniti ta element?"
+
+msgid "IDS_HELP_BODY_GALLERY"
+msgstr "Galerija"
+
+msgid "IDS_HELP_OPT_SHUFFLED_PICTURES"
+msgstr "Naključne slike"
+
+msgid "IDS_IV_BODY_ADD_PICTURES"
+msgstr "Dodaj slike"
+
+msgid "IDS_IV_BODY_AFTER_YOU_TAG_PICTURES_AS_YOUR_FAVOURITES_PICTURES_WILL_BE_SHOWN"
+msgstr "Ko boste slike označili kot priljubljene, se bodo prikazale."
+
+msgid "IDS_IV_BODY_REMOVE_FACE_IDENTIFICATION_Q"
+msgstr "Želite odstraniti prepoznavanje obrazov?"
+
+msgid "IDS_IV_OPT_ASSIGN_NAME"
+msgstr "Določi ime"
+
+msgid "IDS_IV_OPT_CONFIRM_AS_PS"
+msgstr "Potrdi kot %s"
+
+msgid "IDS_IV_OPT_LAYOUT_M_PICTUERS"
+msgstr "Postavitev"
+
+msgid "IDS_IV_OPT_PD_PICTURES_ADDED"
+msgstr "%d slik dodanih"
+
+msgid "IDS_IV_POP_THE_ALBUM_WILL_BE_CANCELLED"
+msgstr "Album bo preklican."
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEM_ABB"
+msgstr "Brisanje elementa"
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEMS"
+msgstr "Izbrišite elemente"
+
+msgid "IDS_MEDIABR_BODY_1_ITEM"
+msgstr "1 element"
+
+msgid "IDS_MEDIABR_BODY_10_SECONDS"
+msgstr "10 sekund"
+
+msgid "IDS_MEDIABR_BODY_5_SECONDS"
+msgstr "5 sekund"
+
+msgid "IDS_MEDIABR_BODY_NOT_ASSIGNED"
+msgstr "Ni dodeljeno"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL"
+msgstr "Interval diaprojekcije"
+
+msgid "IDS_MEDIABR_BODY_UNTAGGED"
+msgstr "Brez oznake"
+
+msgid "IDS_MEDIABR_OPT_3_SECONDS"
+msgstr "3 sekunde"
+
+msgid "IDS_MEDIABR_OPT_ALL_CONTENT"
+msgstr "Vsa vsebina"
+
+msgid "IDS_MEDIABR_OPT_CONTENT_TO_DISPLAY"
+msgstr "Vsebina za prikaz"
+
+msgid "IDS_MEDIABR_OPT_DELETE_TAG"
+msgstr "Izbriši oznako"
+
+msgid "IDS_MEDIABR_OPT_DEVICE_CONTENT"
+msgstr "Vsebina naprave"
+
+msgid "IDS_MEDIABR_OPT_DROPBOX_CONTENT"
+msgstr "Vsebina storitve Dropbox"
+
+msgid "IDS_MEDIABR_OPT_FACEBOOK_CONTENT"
+msgstr "Vsebina storitve Facebook"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_LEFT"
+msgstr "Zavrti v levo"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_RIGHT"
+msgstr "Zavrti v desno"
+
+msgid "IDS_MEDIABR_POP_IMPORT"
+msgstr "Uvoz"
+
+msgid "IDS_MEDIABR_POP_IMPORTED"
+msgstr "Uvoženo."
+
+msgid "IDS_MEDIABR_POP_IMPORTING_ING"
+msgstr "Uvažam ..."
+
+msgid "IDS_MEDIABR_POP_LOADING_ING"
+msgstr "Nalaganje..."
+
+msgid "IDS_MEDIABR_POP_NEARBY_DEVICES_FOUND"
+msgstr "Najdene naprave v bližini."
+
+msgid "IDS_MEDIABR_POP_NO_DEVICES_FOUND_SCANNING_FOR_NEARBY_DEVICES_WILL_CONTINUE_IN_BACKGROUND"
+msgstr "Nobena naprava ni najdena. Iskanje naprav v bližini se bo nadaljevalo v ozadju."
+
+msgid "IDS_MEDIABR_POP_REFRESHED"
+msgstr "Osveženo."
+
+msgid "IDS_MEDIABR_POP_ROTATING_ING"
+msgstr "Sukanje ..."
+
+msgid "IDS_MEDIABR_POP_SCAN_STARTED_DEVICE_LIST_WILL_BE_UPDATED_AUTOMATICALLY"
+msgstr "Iskanje se je začelo. Seznam naprav bo samodejno posodobljen."
+
+msgid "IDS_MEDIABR_POP_STARTING_DOWNLOAD_ABB"
+msgstr "Prenos se začenja ..."
+
+msgid "IDS_MF_OPT_COPY_TO"
+msgstr "Kopiraj v"
+
+msgid "IDS_MF_OPT_MOVE_TO"
+msgstr "Premakni v"
+
+msgid "IDS_MF_POP_FAILED_TO_ADD_SHORTCUT"
+msgstr "Bližnjice ni uspelo dodati."
+
+msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
+msgstr "Ni dovolj pomnilnika. Izbrišite nekaj predmetov"
+
+msgid "IDS_MF_POP_REMOVED"
+msgstr "Odstranjeno."
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Dodajam..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "Želite izbrisati toliko albumov: %d?"
+
+msgid "IDS_ST_BODY_PRIVATE_STORAGE"
+msgstr "Zasebna shramba"
+
+msgid "IDS_IV_BODY_DRAG_HERE"
+msgstr "Povlecite sem."
+
+msgid "IDS_GALLERY_BODY_NEW_M_ALBUM_ABB"
+msgstr "Novo"
+
+msgid "IDS_GALLERY_HEADER_UNGROUPEDM_PEOPLE_ABB"
+msgstr "Razdruženo"
+
+msgid "IDS_KEEPIT_OPT_SCREENSHOTS_ABB"
+msgstr "Posnetki zaslona"
+
+msgid "IDS_MEDIABR_OPT_PHOTOS"
+msgstr "Fotografije"
+
+msgid "IDS_MEDIABR_POP_DOWNLOAD_FAILED"
+msgstr "Prenos ni na voljo."
+
+msgid "IDS_MEDIABR_POP_UNSUPPORTED_FILE"
+msgstr "Nepodprta datoteka."
+
+msgid "IDS_SEARCH_BODY_1_RESULT"
+msgstr "1 rezultat"
+
+msgid "IDS_SEARCH_BODY_PD_RESULTS"
+msgstr "%d rezultatov"
+
+msgid "IDS_TW_BODY_FAVORITES"
+msgstr "Priljubljene"
+
+msgid "IDS_EMAIL_POP_DOWNLOAD_CANCELLED"
+msgstr "Nalaganje preklicano."
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ALBUM_Q"
+msgstr "Želite izbrisati ta album?"
+
+msgid "IDS_CAM_HEADER_WARNING_ABB"
+msgstr "Opozorilo"
+
+msgid "IDS_ALM_OPT_SORT_BY"
+msgstr "Uredi po"
+
+msgid "IDS_CLD_OPT_TODAY"
+msgstr "Danes"
+
+msgid "IDS_GALLERY_BODY_DATE"
+msgstr "Datum"
+
+msgid "IDS_EMAIL_BODY_NO_ITEMS_TO_DISPLAY"
+msgstr "Ni elementov za prikaz."
+
+msgid "IDS_PBR_BODY_TAP_HERE_TO_TAKE_PICTURES_OR_VIDEOS"
+msgstr "Pritisnite tukaj za slikanje ali snemanje videa."
+
+msgid "IDS_NFC_TPOP_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SHARED_HPD_EXCEEDED"
+msgstr "Največje dovoljeno število elementov, ki jih je mogoče deliti z drugimi (%d), je preseženo."
+
+msgid "IDS_IV_BODY_TAP_TO_ADD_IMAGES"
+msgstr "Pritisnite, da dodate slike."
+
+msgid "IDS_GALLERY_POP_COPY_OR_MOVE_THE_SELECTED_ITEMS_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Želite kopirati ali premakniti izbrane elemente iz izvirnega albuma?"
+
+msgid "IDS_GALLERY_HEADER_SELECT"
+msgstr "Izberite"
+
+msgid "IDS_VIDEO_POP_FILE_ALREADY_EXISTS"
+msgstr "Datoteka že obstaja."
+
+msgid "IDS_VIDEO_POP_THIS_ITEM_WILL_BE_DELETED"
+msgstr "Ta element bo izbrisan."
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_FACEBOOK_ITEMS_WILL_BE_SHOWN"
+msgstr "Ko boste prenesli slike v Facebook, se bodo elementi prikazali."
+
+msgid "IDS_GALLERY_HEADER_SELECT_ALL_ABB"
+msgstr "Izberite vse"
+
+msgid "IDS_GALLERY_HEADER_PD_SELECTED_ABB"
+msgstr "%d izbranih"
+
+msgid "IDS_GALLERY_OPT_VIEW_AS"
+msgstr "Prikaži kot"
+
+msgid "IDS_GALLERY_OPT_DATE_HMOST_RECENT_ABB2"
+msgstr "Datum (najnovejši)"
+
+msgid "IDS_GALLERY_OPT_DATE_HOLDEST_ABB3"
+msgstr "Datum (najstarejši)"
+
+msgid "IDS_GALLERY_BODY_AFTER_YOU_TAKE_PICTURES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Ko napravite fotografije, bodo prikazane tukaj."
+
+msgid "IDS_CLOUD_TPOP_CANCELLING_ING"
+msgstr "Preklic ..."
+
+msgid "IDS_GALLERY_OPT_FROM_DEVICE_ABB"
+msgstr "Iz naprave"
+
+msgid "IDS_GALLERY_OPT_FROM_DROPBOX_ABB"
+msgstr "Iz storitve Dropbox"
+
+msgid "IDS_GALLERY_OPT_FROM_FACEBOOK_ABB"
+msgstr "Iz storitve Facebook"
+
+msgid "IDS_MUSIC_BODY_DOWNLOAD_COMPLETED"
+msgstr "Prenos je končan."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DELETED"
+msgstr "Vsi elementi bodo izbrisani."
+
+msgid "IDS_GALLERY_POP_1_ITEM_WILL_BE_DOWNLOADED"
+msgstr "Prenesen bo 1 element."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "Prenesenih bo toliko elementov: %d."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "Preneseni bodo vsi elementi."
+
+msgid "IDS_GALLERY_TPOP_SELECTED_ALBUM_SAME_AS_SOURCE_ALBUM_SELECT_ANOTHER_ALBUM"
+msgstr "Izbrani album je enak kot izvirni album. Izberite drug album."
+
+msgid "IDS_HS_NPBODY_TAP_HERE_TO_ADD_IMAGES"
+msgstr "Pritisnite tukaj, da dodate slike"
+
+msgid "IDS_MF_HEADER_UNABLE_TO_SAVE_DATA_ABB"
+msgstr "Podat. ni mogoče shraniti"
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_IN_YOUR_DEVICE_STORAGE_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "V shrambi naprave ni dovolj prostora. Pojdite v meni Nastavitve > Energija in shramba > Shramba, izbrišite nekaj datotek in poskusite znova."
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_YOUR_SD_CARD_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "Na kartici SD ni dovolj prostora. Pojdite v meni Nastavitve > Energija in shramba > Shramba, izbrišite nekaj datotek in poskusite znova."
+
+msgid "IDS_MF_BUTTON_CANCEL_ABB3"
+msgstr "Prekliči"
+
+msgid "IDS_MF_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Ne pokaži znova"
+
+msgid "IDS_MF_POP_USING_MOBILE_DATA_WHILE_ROAMING_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "Uporaba prenosa podatkov prek mobilnega omrežja na gostovanju lahko povzroči dodatne stroške, odvisno od vaše naročnine."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DELETED_ABB"
+msgstr "Izbrisanih bo toliko elementov: %d."
+
+msgid "IDS_GALLERY_OPT_DELETE"
+msgstr "Izbriši"
+
+msgid "IDS_GALLERY_BODY_YESTERDAY"
+msgstr "Včeraj"
+
+msgid "IDS_BR_MBODY_DOWNLOADS"
+msgstr "Prenosi"
+
+msgid "IDS_GALLERY_HEADER_COPY"
+msgstr "Kopiranje"
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Izbriši"
+
+msgid "IDS_GALLERY_BUTTON_ALBUMS"
+msgstr "Albumi"
+
+msgid "IDS_GALLERY_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Največje dovoljeno število elementov (%d) je preseženo."
+
+msgid "IDS_GALLERY_BUTTON_CANCEL"
+msgstr "Prekliči"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "KONČANO"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "PREKLIČI"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "IZBRIŠI"
+
+msgid "IDS_GALLERY_POP_COPYING_ING"
+msgstr "Kopiram ..."
+
+msgid "IDS_GALLERY_POP_MOVING_ING"
+msgstr "Premikam"
+
+msgid "IDS_STORYALBUM_POP_IF_YOU_CREATE_CONTENT_THAT_INCLUDES_ITEMS_FROM_PERSONAL_STORAGE_IT_MAY_NOT_BE_HIDDEN_AUTOMATICALLY_MSG"
+msgstr "Če ustvarite vsebino, ki vsebuje elemente iz osebne shrambe, ta vsebina morda ne bo samodejno skrita. Izbrana osebna vsebina je lahko vidna pri ogledovanju nove vsebine."
+
+msgid "IDS_HS_ACBUTTON_EDIT"
+msgstr "UREJANJE"
+
+msgid "IDS_MF_BUTTON_SETTINGS"
+msgstr "Nastavitve"
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "UREDI"
+
+msgid "IDS_CLOCK_HEADER_REORDER_ABB"
+msgstr "Prerazporeditev"
+
diff --git a/res/po/sr.po b/res/po/sr.po
new file mode 100644 (file)
index 0000000..ce9eb2f
--- /dev/null
@@ -0,0 +1,759 @@
+msgid "IDS_MF_POP_YOUR_DEVICE_IS_NOT_CONNECTED_TO_A_WI_FI_NETWORK_CONNECTING_TO_A_MOBILE_NETWORK_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "Uređaj nije povezan na Wi-Fi mrežu. Povezivanje na mrežu mobilne telefonije može dovesti do dodatnih troškova u zavisnosti od tarifnog paketa."
+
+msgid "IDS_VIDEO_TPOP_MOBILE_DATA_TURNED_OFF_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_TURN_ON_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Prenos podataka putem mobilne telefonije je isključen. Umesto toga, poveži se na Wi-Fi mrežu ili uključi Prenos podataka putem mobilne telefonije i pokušaj ponovo."
+
+msgid "IDS_VIDEO_BODY_AFTER_YOU_RECORD_VIDEOS_USING_THE_CAMERA_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Nakon snimanja video zapisa kamerom, oni će se prikazati ovde."
+
+msgid "IDS_VIDEO_TPOP_FILE_NAME_ALREADY_IN_USE"
+msgstr "Naziv fajla već u upotrebi."
+
+msgid "IDS_MF_POP_DELETE_PD_ITEMS_Q"
+msgstr "Obriši %d stavki?"
+
+msgid "IDS_ST_HEADER_PRIVACY"
+msgstr "Privatnost"
+
+msgid "IDS_COM_BODY_SEP_ABB"
+msgstr "Sep."
+
+msgid "IDS_COM_BODY_OCT_ABB"
+msgstr "Okt."
+
+msgid "IDS_COM_BODY_NOV_ABB"
+msgstr "Nov."
+
+msgid "IDS_COM_BODY_MAY_ABB"
+msgstr "Maj"
+
+msgid "IDS_COM_BODY_MAR_ABB"
+msgstr "Mar."
+
+msgid "IDS_COM_BODY_JUN_ABB"
+msgstr "Jun."
+
+msgid "IDS_COM_BODY_JUL_ABB"
+msgstr "Jul."
+
+msgid "IDS_COM_BODY_JAN_ABB"
+msgstr "Jan."
+
+msgid "IDS_COM_BODY_FEB_ABB"
+msgstr "Feb."
+
+msgid "IDS_COM_BODY_DEC_ABB"
+msgstr "Dec."
+
+msgid "IDS_COM_BODY_AUG_ABB"
+msgstr "Avg."
+
+msgid "IDS_COM_BODY_APR_ABB"
+msgstr "Apr."
+
+msgid "IDS_GALLERY_HEADER_ALBUM"
+msgstr "Album"
+
+msgid "IDS_MEDIABR_OPT_MORE"
+msgstr "Još"
+
+msgid "IDS_MEDIABR_POP_INVALID_INPUT_PARAMETER"
+msgstr "Neispravan ulazni parametar."
+
+msgid "IDS_MEDIABR_POP_ENTRY_IS_EMPTY"
+msgstr "Unos je prazan."
+
+msgid "IDS_MEDIABR_POP_SAME_NAME_ALREADY_IN_USE"
+msgstr "Taj naziv je već u upotrebi."
+
+msgid "IDS_MEDIABR_POP_UNABLE_TO_RENAME"
+msgstr "Nemoguće preimenovati."
+
+msgid "IDS_MEDIABR_POP_NO_ALBUMS_SELECTED"
+msgstr "Albumi nisu izabrani."
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ITEM"
+msgstr "Izaberi objekat"
+
+msgid "IDS_MEDIABR_BODY_NO_ALBUMS"
+msgstr "Nema albuma"
+
+msgid "IDS_MEDIABR_POP_CREATE_FOLDER_Q"
+msgstr "Kreiraj folder?"
+
+msgid "IDS_MEDIABR_POP_RETRY_Q"
+msgstr "Ponovi?"
+
+msgid "IDS_MEDIABR_POPUP_REMOVE_Q"
+msgstr "Ukloni?"
+
+msgid "IDS_MEDIABR_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "Biće obrisana/o %d albuma."
+
+msgid "IDS_MEDIABR_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "1 album će biti izbrisan."
+
+msgid "IDS_MEDIABR_BODY_CAMERA"
+msgstr "Kamera"
+
+msgid "IDS_MEDIABR_BUTTON_START"
+msgstr "Start"
+
+msgid "IDS_MEDIABR_OPT_SETTINGS"
+msgstr "Podešavanja"
+
+msgid "IDS_MEDIABR_OPT_YES"
+msgstr "Da"
+
+msgid "IDS_MEDIABR_OPT_NO"
+msgstr "Ne"
+
+msgid "IDS_MEDIABR_BUTTON_OK"
+msgstr "OK"
+
+msgid "IDS_MEDIABR_BUTTON_SAVE"
+msgstr "Sačuvaj"
+
+msgid "IDS_MEDIABR_POP_DELETE_Q"
+msgstr "Obriši?"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_ALBUM"
+msgstr "Premesti u album"
+
+msgid "IDS_GALLERY_OPT_COPY_TO_ALBUM"
+msgstr "Kopiraj u album"
+
+msgid "IDS_GALLERY_HEADER_VIEW_BY_ABB"
+msgstr "Prikaži po"
+
+msgid "IDS_GALLERY_HEADER_ENTER_NAME"
+msgstr "Unesi ime"
+
+msgid "IDS_MEDIABR_POP_ALL_DATA_RELATED_TO_THIS_ACCOUNT_WILL_BE_DELETED_CONTINUE_Q"
+msgstr "Biće obrisani svi podaci povezani sa ovim nalogom. Nastavak?"
+
+msgid "IDS_MEDIABR_BUTTON_CANCEL_ABB"
+msgstr "Otkaži"
+
+msgid "IDS_MEDIABR_TAB4_NEW_ALBUM"
+msgstr "Novi album"
+
+msgid "IDS_MEDIABR_POP_DO_YOU_WANT_TO_COPY_OR_MOVE_THE_PICTURES_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Da li želiš da kopiraš ili premestiš slike iz originalnog albuma?"
+
+msgid "IDS_MEDIABR_OPT_SHARE"
+msgstr "Podeli"
+
+msgid "IDS_MEDIABR_OPT_SLIDESHOW"
+msgstr "Slajd-šou"
+
+msgid "IDS_MEDIABR_OPT_START_SLIDESHOW"
+msgstr "Pokreni slajd-šou"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS"
+msgstr "Podešavanja za slajd-šou"
+
+msgid "IDS_MEDIABR_POP_NO_NAME"
+msgstr "Nema imena"
+
+msgid "IDS_MEDIABR_BODY_ALL_ALBUMS"
+msgstr "Svi albumi"
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ALBUM"
+msgstr "Izaberi album"
+
+msgid "IDS_MEDIABR_POP_1_ITEM_WILL_BE_DELETED"
+msgstr "1 stavka će biti izbrisana."
+
+msgid "IDS_MEDIABR_OPT_ALL_ITEMS"
+msgstr "Sve stavke"
+
+msgid "IDS_MEDIABR_BODY_PD_ITEMS"
+msgstr "%d stavki"
+
+msgid "IDS_IV_BODY_THERE_IS_ONLY_ONE_ALBUM"
+msgstr "Postoji samo jedan album."
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "Možete izabrati do %d stavki."
+
+msgid "IDS_MF_BODY_DOWNLOADS"
+msgstr "Preuzimanja"
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Obriši?"
+
+msgid "IDS_MF_SK_MOVE"
+msgstr "Premesti"
+
+msgid "IDS_MF_POP_DELETING_ING"
+msgstr "Brisanje..."
+
+msgid "IDS_CAM_BODY_OPERATION_FAILED"
+msgstr "Operacija neuspešna."
+
+msgid "IDS_MSG_BODY_CANCELLED_M_CONTENT"
+msgstr "Otkazano"
+
+msgid "IDS_MF_OPT_DELETE_SELECTED"
+msgstr "Označeno"
+
+msgid "IDS_MF_POP_MOVED"
+msgstr "Premešteno."
+
+msgid "IDS_MF_POP_COPIED"
+msgstr "Iskopirano."
+
+msgid "IDS_VPL_POP_NO_FILES_SELECTED"
+msgstr "Nema izabranih fajlova."
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Zatvori"
+
+msgid "IDS_MF_OPT_SORT_BY_ABB"
+msgstr "Sortiraj po"
+
+msgid "IDS_CAM_POP_LATEST"
+msgstr "Najnovije"
+
+msgid "IDS_MEDIABR_POP_OLDEST_M_DATE"
+msgstr "Najstarije"
+
+msgid "IDS_MSG_BUTTON2_CREATE"
+msgstr "Kreiraj"
+
+msgid "IDS_MEDIABR_POP_NO_ITEMS"
+msgstr "Nema stavki"
+
+msgid "IDS_MEDIABR_OPT_EDIT_IMAGE"
+msgstr "Izmeni sliku"
+
+msgid "IDS_MEDIABR_BODY_SELECT_PICTURE"
+msgstr "Izaberi sliku"
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ITEM_Q"
+msgstr "Izbrisati ovu stavku?"
+
+msgid "IDS_GALLERY_OPT_SCENERY"
+msgstr "Scenery"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PRIVATE"
+msgstr "Ukloni iz režima Privatno"
+
+msgid "IDS_GALLERY_OPT_PETS"
+msgstr "Kućni ljubimci"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_PRIVATE"
+msgstr "Premesti u folder Privatno"
+
+msgid "IDS_GALLERY_OPT_FOOD"
+msgstr "Hrana"
+
+msgid "IDS_GALLERY_OPT_FLOWERS"
+msgstr "Cveće"
+
+msgid "IDS_GALLERY_OPT_DOCUMENTS"
+msgstr "Dokumenti"
+
+msgid "IDS_GALLERY_MBODY_VEHICLES"
+msgstr "Vozila"
+
+msgid "IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED"
+msgstr "Dostignut maksimalan broj karaktera (%d)."
+
+msgid "IDS_IV_BODY_UNABLE_TO_LOAD_PHOTO_ABB"
+msgstr "Nije moguće učitati fotografiju."
+
+msgid "IDS_IV_BODY_SHARE_VIA"
+msgstr "Podeli koristeći"
+
+msgid "IDS_IV_BODY_DONT_ASK_AGAIN"
+msgstr "Ne pitaj ponovo"
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Dostignut maksimalan broj karaktera."
+
+msgid "IDS_GALLERY_HEADER_TIME"
+msgstr "Vreme"
+
+msgid "IDS_EMAIL_BODY_FAILED_M_STATUS"
+msgstr "Nije uspelo"
+
+msgid "IDS_EMAIL_BODY_DELETED"
+msgstr "Obrisano."
+
+msgid "IDS_EMAIL_POP_DELETE_Q"
+msgstr "Obriši?"
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Uklanjanje..."
+
+msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS"
+msgstr "Prikazuje se %d stavki"
+
+msgid "IDS_GALLERY_OPT_CREATE_ALBUM"
+msgstr "Kreiraj album"
+
+msgid "IDS_GALLERY_OPT_GALLERY_ABB"
+msgstr "Galerija"
+
+msgid "IDS_EMAIL_BUTTON_MORE"
+msgstr "Još"
+
+msgid "IDS_EMAIL_OPT_ACCOUNTS"
+msgstr "Nalozi"
+
+msgid "IDS_EMAIL_POP_OPERATION_FAILED"
+msgstr "Operacija neuspešna."
+
+msgid "IDS_GALLERY_BODY_DOWNLOAD"
+msgstr "Preuzmi"
+
+msgid "IDS_GALLERY_BODY_SEARCH"
+msgstr "Pretraži"
+
+msgid "IDS_GALLERY_BUTTON_BACK"
+msgstr "Nazad"
+
+msgid "IDS_GALLERY_BUTTON_CAMERA"
+msgstr "Kamera"
+
+msgid "IDS_GALLERY_HEADER_ALL"
+msgstr "Sve"
+
+msgid "IDS_GALLERY_OPT_REFRESH"
+msgstr "Osveži"
+
+msgid "IDS_GALLERY_OPT_REMOVE"
+msgstr "Ukloni"
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_DROPBOX_ITEMS_WILL_BE_SHOWN"
+msgstr "Nakon što pošalješ slike u Dropbox, prikazaće se stavke."
+
+msgid "IDS_KEEPIT_BODY_GROUP_PLAY_ABB"
+msgstr "Grupno reprodukov."
+
+msgid "IDS_MEDIABR_HEADER_CONTACTS"
+msgstr "Kontakti"
+
+msgid "IDS_MEDIABR_OPT_CREATE"
+msgstr "Kreiraj"
+
+msgid "IDS_MEDIABR_OPT_DETAILS"
+msgstr "Detalji"
+
+msgid "IDS_MEDIABR_OPT_PRINT"
+msgstr "Štampaj"
+
+msgid "IDS_MEDIABR_OPT_RENAME"
+msgstr "Preimenuj"
+
+msgid "IDS_MEDIABR_POP_DOWNLOADED"
+msgstr "Preuzeto."
+
+msgid "IDS_MEDIABR_POP_DOWNLOADING_ING"
+msgstr "Preuzimanje..."
+
+msgid "IDS_MF_HEADER_ENTER_NAME"
+msgstr "Unesi ime."
+
+msgid "IDS_MF_HEADER_MYFILES"
+msgstr "Moji fajlovi"
+
+msgid "IDS_MF_POP_ADDED"
+msgstr "Dodato."
+
+msgid "IDS_MF_POP_PROCESSING_ING"
+msgstr "Obrada..."
+
+msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
+msgstr "Nepodržani tip fajla."
+
+msgid "IDS_IMGE_BODY_AFTER_YOU_TAKE_PICTURES_PICTURES_WILL_BE_SHOWN"
+msgstr "Nakon što snimiš fotografije, one će se prikazati."
+
+msgid "IDS_IME_BODY_LANDSCAPE_MODE"
+msgstr "Položeno"
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_CLOSE_DRAWER_MENU_TTS"
+msgstr "Dvaput kucni za zatvaranje menija za fioke."
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_OPEN_DRAWER_MENU_TTS"
+msgstr "Dvaput kucni za otvaranje menija za fioke."
+
+msgid "IDS_EMAIL_BODY_DRAG_AND_DROP"
+msgstr "Prevuci i otpusti"
+
+msgid "IDS_EMAIL_OPT_DRAWER_ABB"
+msgstr "Fioka"
+
+msgid "IDS_EMAIL_POP_MOBILE_DATA_IS_DISABLED_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_ENABLE_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Prenos podataka putem mobilne telefonije nije omogućen. Umesto toga, poveži se na Wi-Fi mrežu ili omogući prenos podataka putem mobilne telefonije i pokušaj ponovo"
+
+msgid "IDS_EMAIL_POP_WI_FI_CONNECTION_REQUIRED_CONNECT_TO_WI_FI_NETWORK_AND_TRY_AGAIN"
+msgstr "Neophodna je Wi-Fi veza. Poveži se na Wi-Fi mrežu i pokušaj ponovo"
+
+msgid "IDS_GALLERY_HEADER_ADD_PICTURES_FROM_ABB"
+msgstr "Dodaj slike iz"
+
+msgid "IDS_GALLERY_HEADER_CONNECTED_DEVICES_ABB"
+msgstr "Povezani uređaji"
+
+msgid "IDS_GALLERY_OPT_PRIVATE_CONTENT"
+msgstr "Privatni sadržaj"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PS"
+msgstr "Ukloni iz %s"
+
+msgid "IDS_GALLERY_OPT_REMOVE_NAME_TAG"
+msgstr "Ukloni oznaku sa imenom"
+
+msgid "IDS_GALLERY_POP_THERE_ARE_NO_EVENTS_TO_DISPLAY_CREATE_A_NEW_EVENT"
+msgstr "Ne postoji nijedan događaj. Kreiraj novi događaj."
+
+msgid "IDS_GALLERY_POP_TO_SCROLL_QUICKLY_TO_OTHER_DATES_TAP_AND_HOLD_THE_DATE_INDICATOR_AT_THE_TOP_RIGHT_OF_THE_SCREEN"
+msgstr "Da bi brzo došla/la do drugih datuma, kucni i zadrži indikator datuma gore desno na ekranu."
+
+msgid "IDS_GP_POP_REMOVE_PD_ITEMS_Q"
+msgstr "Ukloni %d stavke/i?"
+
+msgid "IDS_GP_POP_REMOVE_THIS_ITEM_Q"
+msgstr "Ukloniti ovu stavku?"
+
+msgid "IDS_HELP_BODY_GALLERY"
+msgstr "Galerija"
+
+msgid "IDS_HELP_OPT_SHUFFLED_PICTURES"
+msgstr "Nasumične slike"
+
+msgid "IDS_IV_BODY_ADD_PICTURES"
+msgstr "Dodaj slike"
+
+msgid "IDS_IV_BODY_AFTER_YOU_TAG_PICTURES_AS_YOUR_FAVOURITES_PICTURES_WILL_BE_SHOWN"
+msgstr "Kada označiš slike kao omiljene, one će se prikazati."
+
+msgid "IDS_IV_BODY_REMOVE_FACE_IDENTIFICATION_Q"
+msgstr "Ukloniti prepoznavanje lica?"
+
+msgid "IDS_IV_OPT_ASSIGN_NAME"
+msgstr "Dodeli ime"
+
+msgid "IDS_IV_OPT_CONFIRM_AS_PS"
+msgstr "Potvrdi za osobu %s"
+
+msgid "IDS_IV_OPT_LAYOUT_M_PICTUERS"
+msgstr "Izgled"
+
+msgid "IDS_IV_OPT_PD_PICTURES_ADDED"
+msgstr "Dodato je %d slika"
+
+msgid "IDS_IV_POP_THE_ALBUM_WILL_BE_CANCELLED"
+msgstr "Ovaj album će biti otkazan."
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEM_ABB"
+msgstr "Izbriši stavku"
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEMS"
+msgstr "Izbriši stavke"
+
+msgid "IDS_MEDIABR_BODY_1_ITEM"
+msgstr "1 stavka"
+
+msgid "IDS_MEDIABR_BODY_10_SECONDS"
+msgstr "10 sekundi"
+
+msgid "IDS_MEDIABR_BODY_5_SECONDS"
+msgstr "5 sekundi"
+
+msgid "IDS_MEDIABR_BODY_NOT_ASSIGNED"
+msgstr "Nedodeljeno"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL"
+msgstr "Interval za slajd-šou"
+
+msgid "IDS_MEDIABR_BODY_UNTAGGED"
+msgstr "Uklonjena oznaka"
+
+msgid "IDS_MEDIABR_OPT_3_SECONDS"
+msgstr "3 sekunde"
+
+msgid "IDS_MEDIABR_OPT_ALL_CONTENT"
+msgstr "Sav sadržaj"
+
+msgid "IDS_MEDIABR_OPT_CONTENT_TO_DISPLAY"
+msgstr "Sadržaj za prikazivanje"
+
+msgid "IDS_MEDIABR_OPT_DELETE_TAG"
+msgstr "Obriši oznaku"
+
+msgid "IDS_MEDIABR_OPT_DEVICE_CONTENT"
+msgstr "Sadržaj uređaja"
+
+msgid "IDS_MEDIABR_OPT_DROPBOX_CONTENT"
+msgstr "Dropbox sadržaj"
+
+msgid "IDS_MEDIABR_OPT_FACEBOOK_CONTENT"
+msgstr "Facebook sadržaj"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_LEFT"
+msgstr "Rotiraj ulevo"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_RIGHT"
+msgstr "Rotiraj udesno"
+
+msgid "IDS_MEDIABR_POP_IMPORT"
+msgstr "Uvezi"
+
+msgid "IDS_MEDIABR_POP_IMPORTED"
+msgstr "Uvezeno."
+
+msgid "IDS_MEDIABR_POP_IMPORTING_ING"
+msgstr "Uvoz..."
+
+msgid "IDS_MEDIABR_POP_LOADING_ING"
+msgstr "Učitavanje..."
+
+msgid "IDS_MEDIABR_POP_NEARBY_DEVICES_FOUND"
+msgstr "Pronađeni su uređaji u blizini."
+
+msgid "IDS_MEDIABR_POP_NO_DEVICES_FOUND_SCANNING_FOR_NEARBY_DEVICES_WILL_CONTINUE_IN_BACKGROUND"
+msgstr "Uređaji nisu pronađeni. Skeniranje uređaja u blizini će se nastaviti u pozadini."
+
+msgid "IDS_MEDIABR_POP_REFRESHED"
+msgstr "Osveženo."
+
+msgid "IDS_MEDIABR_POP_ROTATING_ING"
+msgstr "Rotiranje..."
+
+msgid "IDS_MEDIABR_POP_SCAN_STARTED_DEVICE_LIST_WILL_BE_UPDATED_AUTOMATICALLY"
+msgstr "Skeniranje je počelo. Lista uređaja će se dopuniti automatski."
+
+msgid "IDS_MEDIABR_POP_STARTING_DOWNLOAD_ABB"
+msgstr "Preuzimanje počinje..."
+
+msgid "IDS_MF_OPT_COPY_TO"
+msgstr "Kopiraj u"
+
+msgid "IDS_MF_OPT_MOVE_TO"
+msgstr "Premesti u"
+
+msgid "IDS_MF_POP_FAILED_TO_ADD_SHORTCUT"
+msgstr "Neuspešno dodavanje prečice."
+
+msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
+msgstr "Nedovoljno memorije. Obriši neke od stavki"
+
+msgid "IDS_MF_POP_REMOVED"
+msgstr "Uklonjeno."
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Dodavanje..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "Izbrisati %d albuma?"
+
+msgid "IDS_ST_BODY_PRIVATE_STORAGE"
+msgstr "Privatna memorija"
+
+msgid "IDS_IV_BODY_DRAG_HERE"
+msgstr "Prevuci ovde."
+
+msgid "IDS_GALLERY_BODY_NEW_M_ALBUM_ABB"
+msgstr "Novo"
+
+msgid "IDS_GALLERY_HEADER_UNGROUPEDM_PEOPLE_ABB"
+msgstr "Negrupisano"
+
+msgid "IDS_KEEPIT_OPT_SCREENSHOTS_ABB"
+msgstr "Snimci ekrana"
+
+msgid "IDS_MEDIABR_OPT_PHOTOS"
+msgstr "Fotografije"
+
+msgid "IDS_MEDIABR_POP_DOWNLOAD_FAILED"
+msgstr "Preuzimanje neuspešno."
+
+msgid "IDS_MEDIABR_POP_UNSUPPORTED_FILE"
+msgstr "Nepodržani tip fajla."
+
+msgid "IDS_SEARCH_BODY_1_RESULT"
+msgstr "1 rezultat"
+
+msgid "IDS_SEARCH_BODY_PD_RESULTS"
+msgstr "%d rezultata"
+
+msgid "IDS_TW_BODY_FAVORITES"
+msgstr "Omiljeni"
+
+msgid "IDS_EMAIL_POP_DOWNLOAD_CANCELLED"
+msgstr "Preuzimanje prekinuto."
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ALBUM_Q"
+msgstr "Izbrisati ovaj album?"
+
+msgid "IDS_CAM_HEADER_WARNING_ABB"
+msgstr "Upozorenje"
+
+msgid "IDS_ALM_OPT_SORT_BY"
+msgstr "Sortiraj po"
+
+msgid "IDS_CLD_OPT_TODAY"
+msgstr "Danas"
+
+msgid "IDS_GALLERY_BODY_DATE"
+msgstr "Datum"
+
+msgid "IDS_EMAIL_BODY_NO_ITEMS_TO_DISPLAY"
+msgstr "Nema stavki za prikaz."
+
+msgid "IDS_PBR_BODY_TAP_HERE_TO_TAKE_PICTURES_OR_VIDEOS"
+msgstr "Kucni ovde za fotografisanje ili snimanje videa."
+
+msgid "IDS_NFC_TPOP_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SHARED_HPD_EXCEEDED"
+msgstr "Dostignut je maksimalan broj stavki (%d) koje se mogu deliti."
+
+msgid "IDS_IV_BODY_TAP_TO_ADD_IMAGES"
+msgstr "Kucni za dodavanje slika."
+
+msgid "IDS_GALLERY_POP_COPY_OR_MOVE_THE_SELECTED_ITEMS_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Kopirati ili premestiti izabrane stavke iz originalnog albuma?"
+
+msgid "IDS_GALLERY_HEADER_SELECT"
+msgstr "Izaberi"
+
+msgid "IDS_VIDEO_POP_FILE_ALREADY_EXISTS"
+msgstr "Fajl već postoji."
+
+msgid "IDS_VIDEO_POP_THIS_ITEM_WILL_BE_DELETED"
+msgstr "Ova stavka će biti obrisana."
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_FACEBOOK_ITEMS_WILL_BE_SHOWN"
+msgstr "Nakon što pošalješ slike na Facebook, prikazaće se stavke."
+
+msgid "IDS_GALLERY_HEADER_SELECT_ALL_ABB"
+msgstr "Izaberi sve"
+
+msgid "IDS_GALLERY_HEADER_PD_SELECTED_ABB"
+msgstr "Izabrano je %d"
+
+msgid "IDS_GALLERY_OPT_VIEW_AS"
+msgstr "Prikaži kao"
+
+msgid "IDS_GALLERY_OPT_DATE_HMOST_RECENT_ABB2"
+msgstr "Datum (najnoviji)"
+
+msgid "IDS_GALLERY_OPT_DATE_HOLDEST_ABB3"
+msgstr "Datum (najstariji)"
+
+msgid "IDS_GALLERY_BODY_AFTER_YOU_TAKE_PICTURES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Nakon što snimiš slike, one će se prikazati ovde."
+
+msgid "IDS_CLOUD_TPOP_CANCELLING_ING"
+msgstr "Otkazivanje..."
+
+msgid "IDS_GALLERY_OPT_FROM_DEVICE_ABB"
+msgstr "U uređaju"
+
+msgid "IDS_GALLERY_OPT_FROM_DROPBOX_ABB"
+msgstr "U Dropbox-u"
+
+msgid "IDS_GALLERY_OPT_FROM_FACEBOOK_ABB"
+msgstr "Sa Facebook-a"
+
+msgid "IDS_MUSIC_BODY_DOWNLOAD_COMPLETED"
+msgstr "Preuzimanje završeno."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DELETED"
+msgstr "Biće obrisane sve stavke."
+
+msgid "IDS_GALLERY_POP_1_ITEM_WILL_BE_DOWNLOADED"
+msgstr "Jedna stavka će biti preuzeta."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "Biće preuzet sledeći broj stavki: %d."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "Sve stavke će biti preuzete."
+
+msgid "IDS_GALLERY_TPOP_SELECTED_ALBUM_SAME_AS_SOURCE_ALBUM_SELECT_ANOTHER_ALBUM"
+msgstr "Izabrani album je isti kao izvorni album. Izaberi drugi album."
+
+msgid "IDS_HS_NPBODY_TAP_HERE_TO_ADD_IMAGES"
+msgstr "Kucni ovde za dodavanje slika"
+
+msgid "IDS_MF_HEADER_UNABLE_TO_SAVE_DATA_ABB"
+msgstr "Nemoguće čuvanje podataka"
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_IN_YOUR_DEVICE_STORAGE_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "Nema dovoljno prostora na skladišnoj lokaciji uređaja. Idi na Podešavanja > Napajanje i skladište > Skladišna lokacija, a zatim izbriši neke fajlove i pokušaj ponovo."
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_YOUR_SD_CARD_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "Nema dovoljno prostora na SD kartici. Idi na Podešavanja > Napajanje i skladište > Skladišna lokacija, a zatim izbriši neke fajlove i pokušaj ponovo."
+
+msgid "IDS_MF_BUTTON_CANCEL_ABB3"
+msgstr "Otkaži"
+
+msgid "IDS_MF_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Ne prikazuj ponovo"
+
+msgid "IDS_MF_POP_USING_MOBILE_DATA_WHILE_ROAMING_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "Korišćenje Podataka za mobilne uređaje u romingu može dovesti do dodatnih troškova u zavisnosti od tarifnog paketa."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DELETED_ABB"
+msgstr "Biće izbrisan sledeći broj stavki: %d."
+
+msgid "IDS_GALLERY_OPT_DELETE"
+msgstr "Izbriši"
+
+msgid "IDS_GALLERY_BODY_YESTERDAY"
+msgstr "Juče"
+
+msgid "IDS_BR_MBODY_DOWNLOADS"
+msgstr "Preuzimanja"
+
+msgid "IDS_GALLERY_HEADER_COPY"
+msgstr "Kopiraj"
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Izbriši"
+
+msgid "IDS_GALLERY_BUTTON_ALBUMS"
+msgstr "Albumi"
+
+msgid "IDS_GALLERY_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Prekoračen je maksimalan broj stavki (%d)."
+
+msgid "IDS_GALLERY_BUTTON_CANCEL"
+msgstr "Otkaži"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "GOTOVO"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "OTKAŽI"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "IZBRIŠI"
+
+msgid "IDS_GALLERY_POP_COPYING_ING"
+msgstr "Kopiranje..."
+
+msgid "IDS_GALLERY_POP_MOVING_ING"
+msgstr "Premeštanje"
+
+msgid "IDS_STORYALBUM_POP_IF_YOU_CREATE_CONTENT_THAT_INCLUDES_ITEMS_FROM_PERSONAL_STORAGE_IT_MAY_NOT_BE_HIDDEN_AUTOMATICALLY_MSG"
+msgstr "Ako kreiraš sadržaj koji uključuje stavke iz lične memorije, on možda neće automatski biti skriven. Izabrani ličan sadržaj može se videti prilikom prikaza novog sadržaja."
+
+msgid "IDS_HS_ACBUTTON_EDIT"
+msgstr "IZMENI"
+
+msgid "IDS_MF_BUTTON_SETTINGS"
+msgstr "Podešavanja"
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "IZMENI"
+
+msgid "IDS_CLOCK_HEADER_REORDER_ABB"
+msgstr "Preuredi"
+
diff --git a/res/po/sv.po b/res/po/sv.po
new file mode 100644 (file)
index 0000000..8dd324c
--- /dev/null
@@ -0,0 +1,759 @@
+msgid "IDS_MF_POP_YOUR_DEVICE_IS_NOT_CONNECTED_TO_A_WI_FI_NETWORK_CONNECTING_TO_A_MOBILE_NETWORK_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "Enheten är inte ansluten till ett Wi-Fi-nätverk. Att ansluta till ett mobilt nätverk kan medföra ytterligare avgifter beroende på din betalningsplan."
+
+msgid "IDS_VIDEO_TPOP_MOBILE_DATA_TURNED_OFF_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_TURN_ON_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Mobildata har slagits av. Anslut till ett Wi-Fi-nätverk istället eller slå på Mobildata och försök igen."
+
+msgid "IDS_VIDEO_BODY_AFTER_YOU_RECORD_VIDEOS_USING_THE_CAMERA_THEY_WILL_BE_SHOWN_HERE"
+msgstr "När du har spelat in videor med kameran visas de här."
+
+msgid "IDS_VIDEO_TPOP_FILE_NAME_ALREADY_IN_USE"
+msgstr "Filnamnet används redan."
+
+msgid "IDS_MF_POP_DELETE_PD_ITEMS_Q"
+msgstr "Radera %d objekt?"
+
+msgid "IDS_ST_HEADER_PRIVACY"
+msgstr "Privat"
+
+msgid "IDS_COM_BODY_SEP_ABB"
+msgstr "Sep"
+
+msgid "IDS_COM_BODY_OCT_ABB"
+msgstr "Okt"
+
+msgid "IDS_COM_BODY_NOV_ABB"
+msgstr "Nov"
+
+msgid "IDS_COM_BODY_MAY_ABB"
+msgstr "maj"
+
+msgid "IDS_COM_BODY_MAR_ABB"
+msgstr "Mar"
+
+msgid "IDS_COM_BODY_JUN_ABB"
+msgstr "Jun"
+
+msgid "IDS_COM_BODY_JUL_ABB"
+msgstr "Jul"
+
+msgid "IDS_COM_BODY_JAN_ABB"
+msgstr "Jan"
+
+msgid "IDS_COM_BODY_FEB_ABB"
+msgstr "Feb"
+
+msgid "IDS_COM_BODY_DEC_ABB"
+msgstr "Dec"
+
+msgid "IDS_COM_BODY_AUG_ABB"
+msgstr "Aug"
+
+msgid "IDS_COM_BODY_APR_ABB"
+msgstr "Apr"
+
+msgid "IDS_GALLERY_HEADER_ALBUM"
+msgstr "Album"
+
+msgid "IDS_MEDIABR_OPT_MORE"
+msgstr "Mer"
+
+msgid "IDS_MEDIABR_POP_INVALID_INPUT_PARAMETER"
+msgstr "Felaktig indataparameter."
+
+msgid "IDS_MEDIABR_POP_ENTRY_IS_EMPTY"
+msgstr "Posten är tom."
+
+msgid "IDS_MEDIABR_POP_SAME_NAME_ALREADY_IN_USE"
+msgstr "Detta namn används redan."
+
+msgid "IDS_MEDIABR_POP_UNABLE_TO_RENAME"
+msgstr "Kan inte byta namn."
+
+msgid "IDS_MEDIABR_POP_NO_ALBUMS_SELECTED"
+msgstr "Inga valda album."
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ITEM"
+msgstr "Välj objekt"
+
+msgid "IDS_MEDIABR_BODY_NO_ALBUMS"
+msgstr "Inga album"
+
+msgid "IDS_MEDIABR_POP_CREATE_FOLDER_Q"
+msgstr "Skapa mapp?"
+
+msgid "IDS_MEDIABR_POP_RETRY_Q"
+msgstr "Försök igen?"
+
+msgid "IDS_MEDIABR_POPUP_REMOVE_Q"
+msgstr "Ta bort?"
+
+msgid "IDS_MEDIABR_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "%d album kommer att tas bort."
+
+msgid "IDS_MEDIABR_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "1 album kommer att tas bort."
+
+msgid "IDS_MEDIABR_BODY_CAMERA"
+msgstr "Kamera"
+
+msgid "IDS_MEDIABR_BUTTON_START"
+msgstr "Starta"
+
+msgid "IDS_MEDIABR_OPT_SETTINGS"
+msgstr "Inställningar"
+
+msgid "IDS_MEDIABR_OPT_YES"
+msgstr "Ja"
+
+msgid "IDS_MEDIABR_OPT_NO"
+msgstr "Nej"
+
+msgid "IDS_MEDIABR_BUTTON_OK"
+msgstr "OK"
+
+msgid "IDS_MEDIABR_BUTTON_SAVE"
+msgstr "Spara"
+
+msgid "IDS_MEDIABR_POP_DELETE_Q"
+msgstr "Radera?"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_ALBUM"
+msgstr "Flytta till album"
+
+msgid "IDS_GALLERY_OPT_COPY_TO_ALBUM"
+msgstr "Kopiera till album"
+
+msgid "IDS_GALLERY_HEADER_VIEW_BY_ABB"
+msgstr "Visa efter"
+
+msgid "IDS_GALLERY_HEADER_ENTER_NAME"
+msgstr "Ange namn"
+
+msgid "IDS_MEDIABR_POP_ALL_DATA_RELATED_TO_THIS_ACCOUNT_WILL_BE_DELETED_CONTINUE_Q"
+msgstr "Alla data som hänför sig till det här kontot raderas. Fortsätta?"
+
+msgid "IDS_MEDIABR_BUTTON_CANCEL_ABB"
+msgstr "Avbryt"
+
+msgid "IDS_MEDIABR_TAB4_NEW_ALBUM"
+msgstr "Nytt album"
+
+msgid "IDS_MEDIABR_POP_DO_YOU_WANT_TO_COPY_OR_MOVE_THE_PICTURES_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Vill du kopiera eller flytta bilderna från det ursprungliga albumet?"
+
+msgid "IDS_MEDIABR_OPT_SHARE"
+msgstr "Dela"
+
+msgid "IDS_MEDIABR_OPT_SLIDESHOW"
+msgstr "Bildspel"
+
+msgid "IDS_MEDIABR_OPT_START_SLIDESHOW"
+msgstr "Starta bildspel"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS"
+msgstr "Bildspelsinställningar"
+
+msgid "IDS_MEDIABR_POP_NO_NAME"
+msgstr "Inget namn"
+
+msgid "IDS_MEDIABR_BODY_ALL_ALBUMS"
+msgstr "Alla album"
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ALBUM"
+msgstr "Välj album"
+
+msgid "IDS_MEDIABR_POP_1_ITEM_WILL_BE_DELETED"
+msgstr "1 objekt kommer att tas bort."
+
+msgid "IDS_MEDIABR_OPT_ALL_ITEMS"
+msgstr "Alla objekt"
+
+msgid "IDS_MEDIABR_BODY_PD_ITEMS"
+msgstr "%d objekt"
+
+msgid "IDS_IV_BODY_THERE_IS_ONLY_ONE_ALBUM"
+msgstr "Det finns endast ett album."
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "Du kan välja upp till %d objekt."
+
+msgid "IDS_MF_BODY_DOWNLOADS"
+msgstr "Nedladdningar"
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Radera?"
+
+msgid "IDS_MF_SK_MOVE"
+msgstr "Flytta"
+
+msgid "IDS_MF_POP_DELETING_ING"
+msgstr "Raderar..."
+
+msgid "IDS_CAM_BODY_OPERATION_FAILED"
+msgstr "Åtgärden misslyckades."
+
+msgid "IDS_MSG_BODY_CANCELLED_M_CONTENT"
+msgstr "Avbruten"
+
+msgid "IDS_MF_OPT_DELETE_SELECTED"
+msgstr "Markerade"
+
+msgid "IDS_MF_POP_MOVED"
+msgstr "Flyttad."
+
+msgid "IDS_MF_POP_COPIED"
+msgstr "Kopierad."
+
+msgid "IDS_VPL_POP_NO_FILES_SELECTED"
+msgstr "Inga filer valda."
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Stäng"
+
+msgid "IDS_MF_OPT_SORT_BY_ABB"
+msgstr "Sortera efter"
+
+msgid "IDS_CAM_POP_LATEST"
+msgstr "Senaste"
+
+msgid "IDS_MEDIABR_POP_OLDEST_M_DATE"
+msgstr "Äldst"
+
+msgid "IDS_MSG_BUTTON2_CREATE"
+msgstr "Skapa"
+
+msgid "IDS_MEDIABR_POP_NO_ITEMS"
+msgstr "Inga objekt"
+
+msgid "IDS_MEDIABR_OPT_EDIT_IMAGE"
+msgstr "Redigera bild"
+
+msgid "IDS_MEDIABR_BODY_SELECT_PICTURE"
+msgstr "Välj bild"
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ITEM_Q"
+msgstr "Ta bort det här objektet?"
+
+msgid "IDS_GALLERY_OPT_SCENERY"
+msgstr "Landskap"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PRIVATE"
+msgstr "Ta bort från Privat"
+
+msgid "IDS_GALLERY_OPT_PETS"
+msgstr "Husdjur"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_PRIVATE"
+msgstr "Flytta till Privat"
+
+msgid "IDS_GALLERY_OPT_FOOD"
+msgstr "Mat"
+
+msgid "IDS_GALLERY_OPT_FLOWERS"
+msgstr "Blommor"
+
+msgid "IDS_GALLERY_OPT_DOCUMENTS"
+msgstr "Dokument"
+
+msgid "IDS_GALLERY_MBODY_VEHICLES"
+msgstr "Fordon"
+
+msgid "IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED"
+msgstr "Högsta antal tecken (%d) har uppnåtts."
+
+msgid "IDS_IV_BODY_UNABLE_TO_LOAD_PHOTO_ABB"
+msgstr "Det går inte att läsa in fotot."
+
+msgid "IDS_IV_BODY_SHARE_VIA"
+msgstr "Dela via"
+
+msgid "IDS_IV_BODY_DONT_ASK_AGAIN"
+msgstr "Fråga inte igen"
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maximalt antal tecken har använts."
+
+msgid "IDS_GALLERY_HEADER_TIME"
+msgstr "Tid"
+
+msgid "IDS_EMAIL_BODY_FAILED_M_STATUS"
+msgstr "Misslyckad"
+
+msgid "IDS_EMAIL_BODY_DELETED"
+msgstr "Raderad."
+
+msgid "IDS_EMAIL_POP_DELETE_Q"
+msgstr "Radera?"
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Tar bort..."
+
+msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS"
+msgstr "Visar %d objekt"
+
+msgid "IDS_GALLERY_OPT_CREATE_ALBUM"
+msgstr "Skapa album"
+
+msgid "IDS_GALLERY_OPT_GALLERY_ABB"
+msgstr "Galleri"
+
+msgid "IDS_EMAIL_BUTTON_MORE"
+msgstr "Mer"
+
+msgid "IDS_EMAIL_OPT_ACCOUNTS"
+msgstr "Konton"
+
+msgid "IDS_EMAIL_POP_OPERATION_FAILED"
+msgstr "Åtgärden misslyckades."
+
+msgid "IDS_GALLERY_BODY_DOWNLOAD"
+msgstr "Hämta"
+
+msgid "IDS_GALLERY_BODY_SEARCH"
+msgstr "Sök"
+
+msgid "IDS_GALLERY_BUTTON_BACK"
+msgstr "Åter"
+
+msgid "IDS_GALLERY_BUTTON_CAMERA"
+msgstr "Kamera"
+
+msgid "IDS_GALLERY_HEADER_ALL"
+msgstr "Alla"
+
+msgid "IDS_GALLERY_OPT_REFRESH"
+msgstr "Uppdatera"
+
+msgid "IDS_GALLERY_OPT_REMOVE"
+msgstr "Ta bort"
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_DROPBOX_ITEMS_WILL_BE_SHOWN"
+msgstr "När du har överfört bilder till Dropbox kommer objekten att visas."
+
+msgid "IDS_KEEPIT_BODY_GROUP_PLAY_ABB"
+msgstr "Group Play"
+
+msgid "IDS_MEDIABR_HEADER_CONTACTS"
+msgstr "Kontakter"
+
+msgid "IDS_MEDIABR_OPT_CREATE"
+msgstr "Skapa"
+
+msgid "IDS_MEDIABR_OPT_DETAILS"
+msgstr "Detaljer"
+
+msgid "IDS_MEDIABR_OPT_PRINT"
+msgstr "Skriv ut"
+
+msgid "IDS_MEDIABR_OPT_RENAME"
+msgstr "Byt namn"
+
+msgid "IDS_MEDIABR_POP_DOWNLOADED"
+msgstr "Nedladdade."
+
+msgid "IDS_MEDIABR_POP_DOWNLOADING_ING"
+msgstr "Laddar ned..."
+
+msgid "IDS_MF_HEADER_ENTER_NAME"
+msgstr "Ange namn."
+
+msgid "IDS_MF_HEADER_MYFILES"
+msgstr "Mina filer"
+
+msgid "IDS_MF_POP_ADDED"
+msgstr "Tillagd."
+
+msgid "IDS_MF_POP_PROCESSING_ING"
+msgstr "Bearbetar..."
+
+msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
+msgstr "Filtypen stöds inte."
+
+msgid "IDS_IMGE_BODY_AFTER_YOU_TAKE_PICTURES_PICTURES_WILL_BE_SHOWN"
+msgstr "När du har tagit bilder visas bilderna."
+
+msgid "IDS_IME_BODY_LANDSCAPE_MODE"
+msgstr "Landskap läge"
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_CLOSE_DRAWER_MENU_TTS"
+msgstr "Dubbeltryck för att stänga lådmenyn."
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_OPEN_DRAWER_MENU_TTS"
+msgstr "Dubbeltryck för att öppna lådmenyn."
+
+msgid "IDS_EMAIL_BODY_DRAG_AND_DROP"
+msgstr "Dra och släpp"
+
+msgid "IDS_EMAIL_OPT_DRAWER_ABB"
+msgstr "Låda"
+
+msgid "IDS_EMAIL_POP_MOBILE_DATA_IS_DISABLED_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_ENABLE_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Mobildata har inaktiverats. Anslut till ett Wi-Fi-nätverk istället eller aktivera mobildata och gör ett nytt försök."
+
+msgid "IDS_EMAIL_POP_WI_FI_CONNECTION_REQUIRED_CONNECT_TO_WI_FI_NETWORK_AND_TRY_AGAIN"
+msgstr "Wi-Fi-anslutning krävs. Anslut till Wi-Fi-nätverk och försök igen."
+
+msgid "IDS_GALLERY_HEADER_ADD_PICTURES_FROM_ABB"
+msgstr "Lägg till bilder från"
+
+msgid "IDS_GALLERY_HEADER_CONNECTED_DEVICES_ABB"
+msgstr "Anslutna enheter"
+
+msgid "IDS_GALLERY_OPT_PRIVATE_CONTENT"
+msgstr "Privat innehåll"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PS"
+msgstr "Ta bort från %s"
+
+msgid "IDS_GALLERY_OPT_REMOVE_NAME_TAG"
+msgstr "Ta bort namntagg"
+
+msgid "IDS_GALLERY_POP_THERE_ARE_NO_EVENTS_TO_DISPLAY_CREATE_A_NEW_EVENT"
+msgstr "Det finns inga händelser att visa. Skapa en ny händelse."
+
+msgid "IDS_GALLERY_POP_TO_SCROLL_QUICKLY_TO_OTHER_DATES_TAP_AND_HOLD_THE_DATE_INDICATOR_AT_THE_TOP_RIGHT_OF_THE_SCREEN"
+msgstr "Bläddra snabbt till andra datum, tryck på datumindikatorn högst upp till höger på skärmen och håll den nedtryckt."
+
+msgid "IDS_GP_POP_REMOVE_PD_ITEMS_Q"
+msgstr "Ta bort %d objekt?"
+
+msgid "IDS_GP_POP_REMOVE_THIS_ITEM_Q"
+msgstr "Vill du ta bort artikeln?"
+
+msgid "IDS_HELP_BODY_GALLERY"
+msgstr "Galleri"
+
+msgid "IDS_HELP_OPT_SHUFFLED_PICTURES"
+msgstr "Blandade bilder"
+
+msgid "IDS_IV_BODY_ADD_PICTURES"
+msgstr "Lägg till bilder"
+
+msgid "IDS_IV_BODY_AFTER_YOU_TAG_PICTURES_AS_YOUR_FAVOURITES_PICTURES_WILL_BE_SHOWN"
+msgstr "När du har taggat bilder som favoriter visas bilderna."
+
+msgid "IDS_IV_BODY_REMOVE_FACE_IDENTIFICATION_Q"
+msgstr "Ta bort ansiktsidentifiering?"
+
+msgid "IDS_IV_OPT_ASSIGN_NAME"
+msgstr "Tilldela namn"
+
+msgid "IDS_IV_OPT_CONFIRM_AS_PS"
+msgstr "Bekräfta som %s"
+
+msgid "IDS_IV_OPT_LAYOUT_M_PICTUERS"
+msgstr "Layout"
+
+msgid "IDS_IV_OPT_PD_PICTURES_ADDED"
+msgstr "%d bilder tillagda"
+
+msgid "IDS_IV_POP_THE_ALBUM_WILL_BE_CANCELLED"
+msgstr "Albumet avbryts."
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEM_ABB"
+msgstr "Ta bort objekt"
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEMS"
+msgstr "Ta bort objekt"
+
+msgid "IDS_MEDIABR_BODY_1_ITEM"
+msgstr "1 objekt"
+
+msgid "IDS_MEDIABR_BODY_10_SECONDS"
+msgstr "10 sekunder"
+
+msgid "IDS_MEDIABR_BODY_5_SECONDS"
+msgstr "5 sekunder"
+
+msgid "IDS_MEDIABR_BODY_NOT_ASSIGNED"
+msgstr "Inte tilldelad"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL"
+msgstr "Bildspelsintervall"
+
+msgid "IDS_MEDIABR_BODY_UNTAGGED"
+msgstr "Ej taggad"
+
+msgid "IDS_MEDIABR_OPT_3_SECONDS"
+msgstr "3 sekunder"
+
+msgid "IDS_MEDIABR_OPT_ALL_CONTENT"
+msgstr "Allt innehåll"
+
+msgid "IDS_MEDIABR_OPT_CONTENT_TO_DISPLAY"
+msgstr "Innehåll som ska visas"
+
+msgid "IDS_MEDIABR_OPT_DELETE_TAG"
+msgstr "Radera tagg"
+
+msgid "IDS_MEDIABR_OPT_DEVICE_CONTENT"
+msgstr "Innehåll på enheten"
+
+msgid "IDS_MEDIABR_OPT_DROPBOX_CONTENT"
+msgstr "Innehåll i Dropbox"
+
+msgid "IDS_MEDIABR_OPT_FACEBOOK_CONTENT"
+msgstr "Innehåll på Facebook"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_LEFT"
+msgstr "Rotera moturs"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_RIGHT"
+msgstr "Rotera medurs"
+
+msgid "IDS_MEDIABR_POP_IMPORT"
+msgstr "Importera"
+
+msgid "IDS_MEDIABR_POP_IMPORTED"
+msgstr "Importerat."
+
+msgid "IDS_MEDIABR_POP_IMPORTING_ING"
+msgstr "Importerar..."
+
+msgid "IDS_MEDIABR_POP_LOADING_ING"
+msgstr "Laddar..."
+
+msgid "IDS_MEDIABR_POP_NEARBY_DEVICES_FOUND"
+msgstr "Hittade enheter i närheten."
+
+msgid "IDS_MEDIABR_POP_NO_DEVICES_FOUND_SCANNING_FOR_NEARBY_DEVICES_WILL_CONTINUE_IN_BACKGROUND"
+msgstr "Inga enheter hittades. Sökningen efter enheter i närheten fortsätter i bakgrunden."
+
+msgid "IDS_MEDIABR_POP_REFRESHED"
+msgstr "Uppdaterad."
+
+msgid "IDS_MEDIABR_POP_ROTATING_ING"
+msgstr "Roterar..."
+
+msgid "IDS_MEDIABR_POP_SCAN_STARTED_DEVICE_LIST_WILL_BE_UPDATED_AUTOMATICALLY"
+msgstr "Sökningen startades. Enhetslistan uppdateras automatiskt."
+
+msgid "IDS_MEDIABR_POP_STARTING_DOWNLOAD_ABB"
+msgstr "Startar hämtning..."
+
+msgid "IDS_MF_OPT_COPY_TO"
+msgstr "Kopiera till"
+
+msgid "IDS_MF_OPT_MOVE_TO"
+msgstr "Flytta till"
+
+msgid "IDS_MF_POP_FAILED_TO_ADD_SHORTCUT"
+msgstr "Det gick inte att lägga till genväg."
+
+msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
+msgstr "Minnet räcker inte. Radera några objekt."
+
+msgid "IDS_MF_POP_REMOVED"
+msgstr "Borttagen."
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Lägger till..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "Ta bort %d album?"
+
+msgid "IDS_ST_BODY_PRIVATE_STORAGE"
+msgstr "Privat lagring"
+
+msgid "IDS_IV_BODY_DRAG_HERE"
+msgstr "Dra hit."
+
+msgid "IDS_GALLERY_BODY_NEW_M_ALBUM_ABB"
+msgstr "Ny"
+
+msgid "IDS_GALLERY_HEADER_UNGROUPEDM_PEOPLE_ABB"
+msgstr "Ej grupperad"
+
+msgid "IDS_KEEPIT_OPT_SCREENSHOTS_ABB"
+msgstr "Skärmbilder"
+
+msgid "IDS_MEDIABR_OPT_PHOTOS"
+msgstr "Foton"
+
+msgid "IDS_MEDIABR_POP_DOWNLOAD_FAILED"
+msgstr "Hämtning misslyckades."
+
+msgid "IDS_MEDIABR_POP_UNSUPPORTED_FILE"
+msgstr "Filen stöds inte."
+
+msgid "IDS_SEARCH_BODY_1_RESULT"
+msgstr "1 resultat"
+
+msgid "IDS_SEARCH_BODY_PD_RESULTS"
+msgstr "%d resultat"
+
+msgid "IDS_TW_BODY_FAVORITES"
+msgstr "Favoriter"
+
+msgid "IDS_EMAIL_POP_DOWNLOAD_CANCELLED"
+msgstr "Nedladdning avbruten."
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ALBUM_Q"
+msgstr "Ta bort detta album?"
+
+msgid "IDS_CAM_HEADER_WARNING_ABB"
+msgstr "Varning"
+
+msgid "IDS_ALM_OPT_SORT_BY"
+msgstr "Sortera efter"
+
+msgid "IDS_CLD_OPT_TODAY"
+msgstr "Idag"
+
+msgid "IDS_GALLERY_BODY_DATE"
+msgstr "Datum"
+
+msgid "IDS_EMAIL_BODY_NO_ITEMS_TO_DISPLAY"
+msgstr "Inga objekt att visa."
+
+msgid "IDS_PBR_BODY_TAP_HERE_TO_TAKE_PICTURES_OR_VIDEOS"
+msgstr "Tryck här för att ta bilder och spela in video."
+
+msgid "IDS_NFC_TPOP_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SHARED_HPD_EXCEEDED"
+msgstr "Max. antal objekt som kan delas (%d) har överskridits."
+
+msgid "IDS_IV_BODY_TAP_TO_ADD_IMAGES"
+msgstr "Tryck för att lägga till bilder."
+
+msgid "IDS_GALLERY_POP_COPY_OR_MOVE_THE_SELECTED_ITEMS_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Vill du kopiera eller flytta de valda objekten från det ursprungliga albumet?"
+
+msgid "IDS_GALLERY_HEADER_SELECT"
+msgstr "Välj"
+
+msgid "IDS_VIDEO_POP_FILE_ALREADY_EXISTS"
+msgstr "Filen finns redan."
+
+msgid "IDS_VIDEO_POP_THIS_ITEM_WILL_BE_DELETED"
+msgstr "Det här objektet kommer att raderas."
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_FACEBOOK_ITEMS_WILL_BE_SHOWN"
+msgstr "När du överfört bilder till Facebook kommer objekten att visas."
+
+msgid "IDS_GALLERY_HEADER_SELECT_ALL_ABB"
+msgstr "Markera alla"
+
+msgid "IDS_GALLERY_HEADER_PD_SELECTED_ABB"
+msgstr "%d valda"
+
+msgid "IDS_GALLERY_OPT_VIEW_AS"
+msgstr "Visa som"
+
+msgid "IDS_GALLERY_OPT_DATE_HMOST_RECENT_ABB2"
+msgstr "Datum (senaste)"
+
+msgid "IDS_GALLERY_OPT_DATE_HOLDEST_ABB3"
+msgstr "Datum (äldsta)"
+
+msgid "IDS_GALLERY_BODY_AFTER_YOU_TAKE_PICTURES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "När du har tagit bilder visas de här."
+
+msgid "IDS_CLOUD_TPOP_CANCELLING_ING"
+msgstr "Avbryter ..."
+
+msgid "IDS_GALLERY_OPT_FROM_DEVICE_ABB"
+msgstr "Från enhet"
+
+msgid "IDS_GALLERY_OPT_FROM_DROPBOX_ABB"
+msgstr "Från Dropbox"
+
+msgid "IDS_GALLERY_OPT_FROM_FACEBOOK_ABB"
+msgstr "Från Facebook"
+
+msgid "IDS_MUSIC_BODY_DOWNLOAD_COMPLETED"
+msgstr "Nedladdning klar."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DELETED"
+msgstr "Alla objekt tas bort."
+
+msgid "IDS_GALLERY_POP_1_ITEM_WILL_BE_DOWNLOADED"
+msgstr "1 objekt hämtas."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "%d objekt hämtas."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "Alla objekt hämtas."
+
+msgid "IDS_GALLERY_TPOP_SELECTED_ALBUM_SAME_AS_SOURCE_ALBUM_SELECT_ANOTHER_ALBUM"
+msgstr "Det valda albumet är samma som källalbumet. Välj ett annat album."
+
+msgid "IDS_HS_NPBODY_TAP_HERE_TO_ADD_IMAGES"
+msgstr "Tryck här för att lägga till bilder"
+
+msgid "IDS_MF_HEADER_UNABLE_TO_SAVE_DATA_ABB"
+msgstr "Går inte att spara data"
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_IN_YOUR_DEVICE_STORAGE_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "Det finns inte tillräckligt med utrymme på enhetens lagringsutrymme. Gå till Inställningar > Ström och lagring > Lagring och ta bort några filer. Försök sedan igen."
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_YOUR_SD_CARD_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "Det finns inte tillräckligt med utrymme på SD-kortet. Gå till Inställningar > Ström och lagring > Lagring och ta bort några filer. Försök sedan igen."
+
+msgid "IDS_MF_BUTTON_CANCEL_ABB3"
+msgstr "Avbryt"
+
+msgid "IDS_MF_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Visa inte igen"
+
+msgid "IDS_MF_POP_USING_MOBILE_DATA_WHILE_ROAMING_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "Användning av Mobila data under roaming kan medföra extra avgifter beroende på din betalningsplan."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DELETED_ABB"
+msgstr "%d objekt kommer att tas bort."
+
+msgid "IDS_GALLERY_OPT_DELETE"
+msgstr "Ta bort"
+
+msgid "IDS_GALLERY_BODY_YESTERDAY"
+msgstr "Igår"
+
+msgid "IDS_BR_MBODY_DOWNLOADS"
+msgstr "Nedladdningar"
+
+msgid "IDS_GALLERY_HEADER_COPY"
+msgstr "Kopiera"
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Ta bort"
+
+msgid "IDS_GALLERY_BUTTON_ALBUMS"
+msgstr "Album"
+
+msgid "IDS_GALLERY_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Max antal objekt (%d) har överskridits."
+
+msgid "IDS_GALLERY_BUTTON_CANCEL"
+msgstr "Avbryt"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "KLAR"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "AVBRYT"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "TA BORT"
+
+msgid "IDS_GALLERY_POP_COPYING_ING"
+msgstr "Kopierar..."
+
+msgid "IDS_GALLERY_POP_MOVING_ING"
+msgstr "Flyttar..."
+
+msgid "IDS_STORYALBUM_POP_IF_YOU_CREATE_CONTENT_THAT_INCLUDES_ITEMS_FROM_PERSONAL_STORAGE_IT_MAY_NOT_BE_HIDDEN_AUTOMATICALLY_MSG"
+msgstr "Om du skapar innehåll som innehåller objekt från privat lagring, kan det kanske inte döljs automatiskt. Det valda privata innehållet kanske visas när du visar det nya innehållet."
+
+msgid "IDS_HS_ACBUTTON_EDIT"
+msgstr "REDIGERA"
+
+msgid "IDS_MF_BUTTON_SETTINGS"
+msgstr "Inställningar"
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "REDIGERA"
+
+msgid "IDS_CLOCK_HEADER_REORDER_ABB"
+msgstr "Ordna om"
+
diff --git a/res/po/tr_TR.po b/res/po/tr_TR.po
new file mode 100644 (file)
index 0000000..ae4a7f1
--- /dev/null
@@ -0,0 +1,759 @@
+msgid "IDS_MF_POP_YOUR_DEVICE_IS_NOT_CONNECTED_TO_A_WI_FI_NETWORK_CONNECTING_TO_A_MOBILE_NETWORK_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "Cihazınız Wi-Fi ağına bağlı değil. Mobil ağa bağlanmak ödeme planınıza bağlı olarak ek ücretle sonuçlanabilir."
+
+msgid "IDS_VIDEO_TPOP_MOBILE_DATA_TURNED_OFF_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_TURN_ON_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Mobil veri kapatıldı. Bunun yerine Wi-Fi ağına bağlanın veya Mobil veriyi etkinleştirip tekrar deneyin."
+
+msgid "IDS_VIDEO_BODY_AFTER_YOU_RECORD_VIDEOS_USING_THE_CAMERA_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Kamerayı kullanarak video çektiğinizde videolar burada görüntülenir."
+
+msgid "IDS_VIDEO_TPOP_FILE_NAME_ALREADY_IN_USE"
+msgstr "Dosya adı kullanılıyor"
+
+msgid "IDS_MF_POP_DELETE_PD_ITEMS_Q"
+msgstr "%d öğeleri silinsin mi?"
+
+msgid "IDS_ST_HEADER_PRIVACY"
+msgstr "Gizlilik"
+
+msgid "IDS_COM_BODY_SEP_ABB"
+msgstr "Eyl."
+
+msgid "IDS_COM_BODY_OCT_ABB"
+msgstr "Eki."
+
+msgid "IDS_COM_BODY_NOV_ABB"
+msgstr "Kas."
+
+msgid "IDS_COM_BODY_MAY_ABB"
+msgstr "May."
+
+msgid "IDS_COM_BODY_MAR_ABB"
+msgstr "Mar."
+
+msgid "IDS_COM_BODY_JUN_ABB"
+msgstr "Haz."
+
+msgid "IDS_COM_BODY_JUL_ABB"
+msgstr "Tem."
+
+msgid "IDS_COM_BODY_JAN_ABB"
+msgstr "Ocak"
+
+msgid "IDS_COM_BODY_FEB_ABB"
+msgstr "Şub."
+
+msgid "IDS_COM_BODY_DEC_ABB"
+msgstr "Ara."
+
+msgid "IDS_COM_BODY_AUG_ABB"
+msgstr "Ağu."
+
+msgid "IDS_COM_BODY_APR_ABB"
+msgstr "Nis."
+
+msgid "IDS_GALLERY_HEADER_ALBUM"
+msgstr "Albüm"
+
+msgid "IDS_MEDIABR_OPT_MORE"
+msgstr "Daha fazla"
+
+msgid "IDS_MEDIABR_POP_INVALID_INPUT_PARAMETER"
+msgstr "Giriş parametresi geçersiz."
+
+msgid "IDS_MEDIABR_POP_ENTRY_IS_EMPTY"
+msgstr "Girdi yok."
+
+msgid "IDS_MEDIABR_POP_SAME_NAME_ALREADY_IN_USE"
+msgstr "İsim zaten kullanımda."
+
+msgid "IDS_MEDIABR_POP_UNABLE_TO_RENAME"
+msgstr "Yeniden adlandırılamıyor. Dosya kullanımda."
+
+msgid "IDS_MEDIABR_POP_NO_ALBUMS_SELECTED"
+msgstr "Albüm seçilmedi."
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ITEM"
+msgstr "Öğe seç"
+
+msgid "IDS_MEDIABR_BODY_NO_ALBUMS"
+msgstr "Albüm yok"
+
+msgid "IDS_MEDIABR_POP_CREATE_FOLDER_Q"
+msgstr "Klasör oluşturulsun mu?"
+
+msgid "IDS_MEDIABR_POP_RETRY_Q"
+msgstr "Tekrar denensin mi?"
+
+msgid "IDS_MEDIABR_POPUP_REMOVE_Q"
+msgstr "Kaldır?"
+
+msgid "IDS_MEDIABR_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "%d albüm silinecek"
+
+msgid "IDS_MEDIABR_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "1 albüm silinecek"
+
+msgid "IDS_MEDIABR_BODY_CAMERA"
+msgstr "Kamera"
+
+msgid "IDS_MEDIABR_BUTTON_START"
+msgstr "Başlat"
+
+msgid "IDS_MEDIABR_OPT_SETTINGS"
+msgstr "Ayarlar"
+
+msgid "IDS_MEDIABR_OPT_YES"
+msgstr "Evet"
+
+msgid "IDS_MEDIABR_OPT_NO"
+msgstr "Hayır"
+
+msgid "IDS_MEDIABR_BUTTON_OK"
+msgstr "Tamam"
+
+msgid "IDS_MEDIABR_BUTTON_SAVE"
+msgstr "Kaydet"
+
+msgid "IDS_MEDIABR_POP_DELETE_Q"
+msgstr "Sil?"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_ALBUM"
+msgstr "Albüme taşı"
+
+msgid "IDS_GALLERY_OPT_COPY_TO_ALBUM"
+msgstr "Albüme kopyala"
+
+msgid "IDS_GALLERY_HEADER_VIEW_BY_ABB"
+msgstr "Görünüm kriteri"
+
+msgid "IDS_GALLERY_HEADER_ENTER_NAME"
+msgstr "İsim girin"
+
+msgid "IDS_MEDIABR_POP_ALL_DATA_RELATED_TO_THIS_ACCOUNT_WILL_BE_DELETED_CONTINUE_Q"
+msgstr "Bu hesapla ilgili tüm veriler silinecek. Devam edilsin mi?"
+
+msgid "IDS_MEDIABR_BUTTON_CANCEL_ABB"
+msgstr "İptal"
+
+msgid "IDS_MEDIABR_TAB4_NEW_ALBUM"
+msgstr "Yeni albüm"
+
+msgid "IDS_MEDIABR_POP_DO_YOU_WANT_TO_COPY_OR_MOVE_THE_PICTURES_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Orijinal albümden fotoğrafları kopyalamak veya taşımak istiyor musunuz?"
+
+msgid "IDS_MEDIABR_OPT_SHARE"
+msgstr "Paylaşıma aç"
+
+msgid "IDS_MEDIABR_OPT_SLIDESHOW"
+msgstr "Slayt gösterisi"
+
+msgid "IDS_MEDIABR_OPT_START_SLIDESHOW"
+msgstr "Slayt gösterisini başlat"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS"
+msgstr "Slayt gösterisi ayarları"
+
+msgid "IDS_MEDIABR_POP_NO_NAME"
+msgstr "İsim yok"
+
+msgid "IDS_MEDIABR_BODY_ALL_ALBUMS"
+msgstr "Tüm albümler"
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ALBUM"
+msgstr "Albüm seç"
+
+msgid "IDS_MEDIABR_POP_1_ITEM_WILL_BE_DELETED"
+msgstr "1 öğe silinecek."
+
+msgid "IDS_MEDIABR_OPT_ALL_ITEMS"
+msgstr "Tüm öğeler"
+
+msgid "IDS_MEDIABR_BODY_PD_ITEMS"
+msgstr "%d öğe"
+
+msgid "IDS_IV_BODY_THERE_IS_ONLY_ONE_ALBUM"
+msgstr "Sadece bir albüm var."
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "%d öğeye kadar seçebilirsiniz."
+
+msgid "IDS_MF_BODY_DOWNLOADS"
+msgstr "İndirilenler"
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Sil?"
+
+msgid "IDS_MF_SK_MOVE"
+msgstr "Taşı"
+
+msgid "IDS_MF_POP_DELETING_ING"
+msgstr "Siliniyor..."
+
+msgid "IDS_CAM_BODY_OPERATION_FAILED"
+msgstr "İşlem başarısız."
+
+msgid "IDS_MSG_BODY_CANCELLED_M_CONTENT"
+msgstr "İptal edildi"
+
+msgid "IDS_MF_OPT_DELETE_SELECTED"
+msgstr "Seçili"
+
+msgid "IDS_MF_POP_MOVED"
+msgstr "Taşındı."
+
+msgid "IDS_MF_POP_COPIED"
+msgstr "Kopyalandı."
+
+msgid "IDS_VPL_POP_NO_FILES_SELECTED"
+msgstr "Dosya seçilmedi."
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Kapat"
+
+msgid "IDS_MF_OPT_SORT_BY_ABB"
+msgstr "Sıralama ölçütü"
+
+msgid "IDS_CAM_POP_LATEST"
+msgstr "En son"
+
+msgid "IDS_MEDIABR_POP_OLDEST_M_DATE"
+msgstr "En eski"
+
+msgid "IDS_MSG_BUTTON2_CREATE"
+msgstr "Oluştur"
+
+msgid "IDS_MEDIABR_POP_NO_ITEMS"
+msgstr "Öğe yok"
+
+msgid "IDS_MEDIABR_OPT_EDIT_IMAGE"
+msgstr "Resmi düzenle"
+
+msgid "IDS_MEDIABR_BODY_SELECT_PICTURE"
+msgstr "Resim seç"
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ITEM_Q"
+msgstr "Bu öğe silinsin mi?"
+
+msgid "IDS_GALLERY_OPT_SCENERY"
+msgstr "Manzara"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PRIVATE"
+msgstr "Özelden Kaldır"
+
+msgid "IDS_GALLERY_OPT_PETS"
+msgstr "Evcil hayvanlar"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_PRIVATE"
+msgstr "Özel'e taşı"
+
+msgid "IDS_GALLERY_OPT_FOOD"
+msgstr "Yiyecek"
+
+msgid "IDS_GALLERY_OPT_FLOWERS"
+msgstr "Çiçekler"
+
+msgid "IDS_GALLERY_OPT_DOCUMENTS"
+msgstr "Belgeler"
+
+msgid "IDS_GALLERY_MBODY_VEHICLES"
+msgstr "Araçlar"
+
+msgid "IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED"
+msgstr "Maksimum karakter sayısına (%d) ulaşıldı."
+
+msgid "IDS_IV_BODY_UNABLE_TO_LOAD_PHOTO_ABB"
+msgstr "Fotoğraf yüklenemiyor."
+
+msgid "IDS_IV_BODY_SHARE_VIA"
+msgstr "Şununla paylaş"
+
+msgid "IDS_IV_BODY_DONT_ASK_AGAIN"
+msgstr "Tekrar sorma"
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maksimum karakter sayısına ulaşıldı."
+
+msgid "IDS_GALLERY_HEADER_TIME"
+msgstr "Saat"
+
+msgid "IDS_EMAIL_BODY_FAILED_M_STATUS"
+msgstr "Başarısız"
+
+msgid "IDS_EMAIL_BODY_DELETED"
+msgstr "Silindi."
+
+msgid "IDS_EMAIL_POP_DELETE_Q"
+msgstr "Sil?"
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Çıkartılıyor..."
+
+msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS"
+msgstr "%d öğe gösteriliyor"
+
+msgid "IDS_GALLERY_OPT_CREATE_ALBUM"
+msgstr "Albüm oluştur"
+
+msgid "IDS_GALLERY_OPT_GALLERY_ABB"
+msgstr "Galeri"
+
+msgid "IDS_EMAIL_BUTTON_MORE"
+msgstr "Daha fazla"
+
+msgid "IDS_EMAIL_OPT_ACCOUNTS"
+msgstr "Hesaplar"
+
+msgid "IDS_EMAIL_POP_OPERATION_FAILED"
+msgstr "İşlem başarısız."
+
+msgid "IDS_GALLERY_BODY_DOWNLOAD"
+msgstr "İndir"
+
+msgid "IDS_GALLERY_BODY_SEARCH"
+msgstr "Ara"
+
+msgid "IDS_GALLERY_BUTTON_BACK"
+msgstr "Geri"
+
+msgid "IDS_GALLERY_BUTTON_CAMERA"
+msgstr "Kamera"
+
+msgid "IDS_GALLERY_HEADER_ALL"
+msgstr "Hepsi"
+
+msgid "IDS_GALLERY_OPT_REFRESH"
+msgstr "Yenile"
+
+msgid "IDS_GALLERY_OPT_REMOVE"
+msgstr "Kaldır"
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_DROPBOX_ITEMS_WILL_BE_SHOWN"
+msgstr "Öğe yok. Dropbox'a resim yükledikten sonra, öğeler gösterilecektir."
+
+msgid "IDS_KEEPIT_BODY_GROUP_PLAY_ABB"
+msgstr "Group Play"
+
+msgid "IDS_MEDIABR_HEADER_CONTACTS"
+msgstr "Kişiler"
+
+msgid "IDS_MEDIABR_OPT_CREATE"
+msgstr "Oluştur"
+
+msgid "IDS_MEDIABR_OPT_DETAILS"
+msgstr "Ayrıntılar"
+
+msgid "IDS_MEDIABR_OPT_PRINT"
+msgstr "Yazdır"
+
+msgid "IDS_MEDIABR_OPT_RENAME"
+msgstr "Yeniden adlandır"
+
+msgid "IDS_MEDIABR_POP_DOWNLOADED"
+msgstr "İndirildi."
+
+msgid "IDS_MEDIABR_POP_DOWNLOADING_ING"
+msgstr "İndiriliyor..."
+
+msgid "IDS_MF_HEADER_ENTER_NAME"
+msgstr "İsim girin."
+
+msgid "IDS_MF_HEADER_MYFILES"
+msgstr "Dosyalarım"
+
+msgid "IDS_MF_POP_ADDED"
+msgstr "Eklendi."
+
+msgid "IDS_MF_POP_PROCESSING_ING"
+msgstr "Uygulanıyor..."
+
+msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
+msgstr "Dosya türü desteklenmiyor."
+
+msgid "IDS_IMGE_BODY_AFTER_YOU_TAKE_PICTURES_PICTURES_WILL_BE_SHOWN"
+msgstr "Resimleri cektikten sonra, resimler gösterilecektir."
+
+msgid "IDS_IME_BODY_LANDSCAPE_MODE"
+msgstr "Yatay görünüm modu"
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_CLOSE_DRAWER_MENU_TTS"
+msgstr "Açılır menüyü kapatmak için çift dokunun."
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_OPEN_DRAWER_MENU_TTS"
+msgstr "Açılır menüyü açmak için çift dokunun."
+
+msgid "IDS_EMAIL_BODY_DRAG_AND_DROP"
+msgstr "Sürükle ve bırak"
+
+msgid "IDS_EMAIL_OPT_DRAWER_ABB"
+msgstr "Çekmece"
+
+msgid "IDS_EMAIL_POP_MOBILE_DATA_IS_DISABLED_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_ENABLE_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Mobil veri devre dışı. Bunun yerine Wi-Fi ağına bağlanın veya mobil veriyi etkinleştirin ve tekrar deneyin."
+
+msgid "IDS_EMAIL_POP_WI_FI_CONNECTION_REQUIRED_CONNECT_TO_WI_FI_NETWORK_AND_TRY_AGAIN"
+msgstr "Wi-Fi bağlantısı gerekiyor. Wi-Fi ağına bağlanın ve tekrar deneyin."
+
+msgid "IDS_GALLERY_HEADER_ADD_PICTURES_FROM_ABB"
+msgstr "Resim ekleme konumu"
+
+msgid "IDS_GALLERY_HEADER_CONNECTED_DEVICES_ABB"
+msgstr "Bağlı cihazlar"
+
+msgid "IDS_GALLERY_OPT_PRIVATE_CONTENT"
+msgstr "Özel içerik"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PS"
+msgstr "%s üzerinden kaldır"
+
+msgid "IDS_GALLERY_OPT_REMOVE_NAME_TAG"
+msgstr "İsim etiketini kaldır"
+
+msgid "IDS_GALLERY_POP_THERE_ARE_NO_EVENTS_TO_DISPLAY_CREATE_A_NEW_EVENT"
+msgstr "Görüntülenecek etkinlik yok. Yeni bir etkinlik oluşturun."
+
+msgid "IDS_GALLERY_POP_TO_SCROLL_QUICKLY_TO_OTHER_DATES_TAP_AND_HOLD_THE_DATE_INDICATOR_AT_THE_TOP_RIGHT_OF_THE_SCREEN"
+msgstr "Diğer tarihlere hızla geçiş yapmak için ekranın sağ üst kısmındaki tarih göstergesini basılı tutun."
+
+msgid "IDS_GP_POP_REMOVE_PD_ITEMS_Q"
+msgstr "%d öğe kaldırılsın mı?"
+
+msgid "IDS_GP_POP_REMOVE_THIS_ITEM_Q"
+msgstr "Bu öğe kaldırılsın mı?"
+
+msgid "IDS_HELP_BODY_GALLERY"
+msgstr "Galeri"
+
+msgid "IDS_HELP_OPT_SHUFFLED_PICTURES"
+msgstr "Karıştırılmış fotoğraflar"
+
+msgid "IDS_IV_BODY_ADD_PICTURES"
+msgstr "Resim ekle"
+
+msgid "IDS_IV_BODY_AFTER_YOU_TAG_PICTURES_AS_YOUR_FAVOURITES_PICTURES_WILL_BE_SHOWN"
+msgstr "Resimleri favorileriniz olarak etiketledikten sonra, resimler gösterilecektir."
+
+msgid "IDS_IV_BODY_REMOVE_FACE_IDENTIFICATION_Q"
+msgstr "Yüz tanıma kaldırılsın mı?"
+
+msgid "IDS_IV_OPT_ASSIGN_NAME"
+msgstr "İsim ata"
+
+msgid "IDS_IV_OPT_CONFIRM_AS_PS"
+msgstr "%s olarak onayla"
+
+msgid "IDS_IV_OPT_LAYOUT_M_PICTUERS"
+msgstr "Yerleşim"
+
+msgid "IDS_IV_OPT_PD_PICTURES_ADDED"
+msgstr "%d resim eklendi"
+
+msgid "IDS_IV_POP_THE_ALBUM_WILL_BE_CANCELLED"
+msgstr "Album iptal edilecek."
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEM_ABB"
+msgstr "Öğeyi sil"
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEMS"
+msgstr "Öğeleri sil"
+
+msgid "IDS_MEDIABR_BODY_1_ITEM"
+msgstr "1 öğe"
+
+msgid "IDS_MEDIABR_BODY_10_SECONDS"
+msgstr "10 saniye"
+
+msgid "IDS_MEDIABR_BODY_5_SECONDS"
+msgstr "5 saniye"
+
+msgid "IDS_MEDIABR_BODY_NOT_ASSIGNED"
+msgstr "Atanmadı"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL"
+msgstr "Slayt gösterisi aralığı"
+
+msgid "IDS_MEDIABR_BODY_UNTAGGED"
+msgstr "Etiketsiz"
+
+msgid "IDS_MEDIABR_OPT_3_SECONDS"
+msgstr "3 saniye"
+
+msgid "IDS_MEDIABR_OPT_ALL_CONTENT"
+msgstr "Tüm içerik"
+
+msgid "IDS_MEDIABR_OPT_CONTENT_TO_DISPLAY"
+msgstr "Görüntülenecek içerik"
+
+msgid "IDS_MEDIABR_OPT_DELETE_TAG"
+msgstr "İmi sil"
+
+msgid "IDS_MEDIABR_OPT_DEVICE_CONTENT"
+msgstr "Cihaz içeriği"
+
+msgid "IDS_MEDIABR_OPT_DROPBOX_CONTENT"
+msgstr "Dropbox içeriği"
+
+msgid "IDS_MEDIABR_OPT_FACEBOOK_CONTENT"
+msgstr "Facebook içeriği"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_LEFT"
+msgstr "Saat yönünün tersine döndür"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_RIGHT"
+msgstr "Saat yönünde döndür"
+
+msgid "IDS_MEDIABR_POP_IMPORT"
+msgstr "Dışardan al"
+
+msgid "IDS_MEDIABR_POP_IMPORTED"
+msgstr "Alındı."
+
+msgid "IDS_MEDIABR_POP_IMPORTING_ING"
+msgstr "Dışarıdan alınıyor..."
+
+msgid "IDS_MEDIABR_POP_LOADING_ING"
+msgstr "Yükleniyor..."
+
+msgid "IDS_MEDIABR_POP_NEARBY_DEVICES_FOUND"
+msgstr "Yakındaki cihazlar bulundu."
+
+msgid "IDS_MEDIABR_POP_NO_DEVICES_FOUND_SCANNING_FOR_NEARBY_DEVICES_WILL_CONTINUE_IN_BACKGROUND"
+msgstr "Hiçbir cihaz bulunamadı. Yakın cihazları taramaya arkaplanda devam edilecek."
+
+msgid "IDS_MEDIABR_POP_REFRESHED"
+msgstr "Yenilendi."
+
+msgid "IDS_MEDIABR_POP_ROTATING_ING"
+msgstr "Döndürülüyor..."
+
+msgid "IDS_MEDIABR_POP_SCAN_STARTED_DEVICE_LIST_WILL_BE_UPDATED_AUTOMATICALLY"
+msgstr "Tarama başladı. Cihaz listesi otomatik olarak güncellenecek."
+
+msgid "IDS_MEDIABR_POP_STARTING_DOWNLOAD_ABB"
+msgstr "İndirme başlatılıyor..."
+
+msgid "IDS_MF_OPT_COPY_TO"
+msgstr "Şuraya kopyala"
+
+msgid "IDS_MF_OPT_MOVE_TO"
+msgstr "Şuraya taşı"
+
+msgid "IDS_MF_POP_FAILED_TO_ADD_SHORTCUT"
+msgstr "Kısayol eklenemedi."
+
+msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
+msgstr "Yeterli hafıza yok. Bazı öğeleri silin."
+
+msgid "IDS_MF_POP_REMOVED"
+msgstr "Kaldırıldı."
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Ekleniyor..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "%d albüm silinsin mi?"
+
+msgid "IDS_ST_BODY_PRIVATE_STORAGE"
+msgstr "Özel depolama"
+
+msgid "IDS_IV_BODY_DRAG_HERE"
+msgstr "Buraya sürükleyin."
+
+msgid "IDS_GALLERY_BODY_NEW_M_ALBUM_ABB"
+msgstr "Yeni"
+
+msgid "IDS_GALLERY_HEADER_UNGROUPEDM_PEOPLE_ABB"
+msgstr "Gruplanmamış"
+
+msgid "IDS_KEEPIT_OPT_SCREENSHOTS_ABB"
+msgstr "Ekran resimleri"
+
+msgid "IDS_MEDIABR_OPT_PHOTOS"
+msgstr "Fotoğraflar"
+
+msgid "IDS_MEDIABR_POP_DOWNLOAD_FAILED"
+msgstr "İndirme başarısız."
+
+msgid "IDS_MEDIABR_POP_UNSUPPORTED_FILE"
+msgstr "Dosya desteklenmiyor."
+
+msgid "IDS_SEARCH_BODY_1_RESULT"
+msgstr "1 sonuç"
+
+msgid "IDS_SEARCH_BODY_PD_RESULTS"
+msgstr "%d sonuç"
+
+msgid "IDS_TW_BODY_FAVORITES"
+msgstr "Favoriler"
+
+msgid "IDS_EMAIL_POP_DOWNLOAD_CANCELLED"
+msgstr "Yükleme iptal edildi."
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ALBUM_Q"
+msgstr "Bu albüm silinsin mi?"
+
+msgid "IDS_CAM_HEADER_WARNING_ABB"
+msgstr "Uyarı"
+
+msgid "IDS_ALM_OPT_SORT_BY"
+msgstr "Sıralama ölçütü"
+
+msgid "IDS_CLD_OPT_TODAY"
+msgstr "Bugün"
+
+msgid "IDS_GALLERY_BODY_DATE"
+msgstr "Tarih"
+
+msgid "IDS_EMAIL_BODY_NO_ITEMS_TO_DISPLAY"
+msgstr "Görüntülenecek öğe yok."
+
+msgid "IDS_PBR_BODY_TAP_HERE_TO_TAKE_PICTURES_OR_VIDEOS"
+msgstr "Fotoğraf veya video çekmek için buraya dokunun."
+
+msgid "IDS_NFC_TPOP_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SHARED_HPD_EXCEEDED"
+msgstr "Paylaşılabilecek maksimum öğe sayısı (%d) aşıldı."
+
+msgid "IDS_IV_BODY_TAP_TO_ADD_IMAGES"
+msgstr "Resim eklemek için dokun."
+
+msgid "IDS_GALLERY_POP_COPY_OR_MOVE_THE_SELECTED_ITEMS_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Orijinal albümdeki seçili öğeler kopyalansın veya taşınsın mı?"
+
+msgid "IDS_GALLERY_HEADER_SELECT"
+msgstr "Seç"
+
+msgid "IDS_VIDEO_POP_FILE_ALREADY_EXISTS"
+msgstr "Dosya zaten var."
+
+msgid "IDS_VIDEO_POP_THIS_ITEM_WILL_BE_DELETED"
+msgstr "Bu öğe silinecek."
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_FACEBOOK_ITEMS_WILL_BE_SHOWN"
+msgstr "Öğe yok. Facebook'a resim yükledikten sonra, öğeler gösterilecektir."
+
+msgid "IDS_GALLERY_HEADER_SELECT_ALL_ABB"
+msgstr "Tümünü seç"
+
+msgid "IDS_GALLERY_HEADER_PD_SELECTED_ABB"
+msgstr "%d seçildi"
+
+msgid "IDS_GALLERY_OPT_VIEW_AS"
+msgstr "Farklı görüntüle"
+
+msgid "IDS_GALLERY_OPT_DATE_HMOST_RECENT_ABB2"
+msgstr "Tarih (en yeni)"
+
+msgid "IDS_GALLERY_OPT_DATE_HOLDEST_ABB3"
+msgstr "Tarih (en eski)"
+
+msgid "IDS_GALLERY_BODY_AFTER_YOU_TAKE_PICTURES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Fotoğraflar çekildikten sonra burada gösterilir."
+
+msgid "IDS_CLOUD_TPOP_CANCELLING_ING"
+msgstr "İptal ediliyor..."
+
+msgid "IDS_GALLERY_OPT_FROM_DEVICE_ABB"
+msgstr "Cihazdan"
+
+msgid "IDS_GALLERY_OPT_FROM_DROPBOX_ABB"
+msgstr "Dropbox'tan"
+
+msgid "IDS_GALLERY_OPT_FROM_FACEBOOK_ABB"
+msgstr "Facebook'tan"
+
+msgid "IDS_MUSIC_BODY_DOWNLOAD_COMPLETED"
+msgstr "Yükleme tamamlandı."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DELETED"
+msgstr "Tüm öğeler silinecek."
+
+msgid "IDS_GALLERY_POP_1_ITEM_WILL_BE_DOWNLOADED"
+msgstr "1 öğe indirilecek."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "%d öğe indirilecek."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "Tüm öğeler indirilecek."
+
+msgid "IDS_GALLERY_TPOP_SELECTED_ALBUM_SAME_AS_SOURCE_ALBUM_SELECT_ANOTHER_ALBUM"
+msgstr "Seçilen albüm kaynak albümle aynı. Başka bir albüm seçin."
+
+msgid "IDS_HS_NPBODY_TAP_HERE_TO_ADD_IMAGES"
+msgstr "Resim eklemek için buraya dokunun"
+
+msgid "IDS_MF_HEADER_UNABLE_TO_SAVE_DATA_ABB"
+msgstr "Veriler kaydedilemiyor"
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_IN_YOUR_DEVICE_STORAGE_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "Cihazınızın hafızasında yeterli alan yok. Ayarlar > Güç ve hafıza > Hafıza bölümüne gidin, ardından bazı dosyaları silip tekrar deneyin."
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_YOUR_SD_CARD_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "SD kartınızda yeterli alan yok. Ayarlar > Güç ve hafıza > Hafıza bölümüne gidin, ardından bazı dosyaları silip tekrar deneyin."
+
+msgid "IDS_MF_BUTTON_CANCEL_ABB3"
+msgstr "İptal et"
+
+msgid "IDS_MF_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Tekrar gösterme"
+
+msgid "IDS_MF_POP_USING_MOBILE_DATA_WHILE_ROAMING_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "Dolaşım sırasında Mobil verileri kullanmak ödeme planınıza bağlı olarak ek ücretlerin uygulanmasına neden olabilir."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DELETED_ABB"
+msgstr "%d öğe silinecek."
+
+msgid "IDS_GALLERY_OPT_DELETE"
+msgstr "Sil"
+
+msgid "IDS_GALLERY_BODY_YESTERDAY"
+msgstr "Dün"
+
+msgid "IDS_BR_MBODY_DOWNLOADS"
+msgstr "İndirilenler"
+
+msgid "IDS_GALLERY_HEADER_COPY"
+msgstr "Kopyala"
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Sil"
+
+msgid "IDS_GALLERY_BUTTON_ALBUMS"
+msgstr "Albümler"
+
+msgid "IDS_GALLERY_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Maksimum öğe sayısı (%d) aşıldı."
+
+msgid "IDS_GALLERY_BUTTON_CANCEL"
+msgstr "İptal"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "BİTTİ"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "İPTAL"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "SİL"
+
+msgid "IDS_GALLERY_POP_COPYING_ING"
+msgstr "Kopyalanıyor..."
+
+msgid "IDS_GALLERY_POP_MOVING_ING"
+msgstr "Taşıyor..."
+
+msgid "IDS_STORYALBUM_POP_IF_YOU_CREATE_CONTENT_THAT_INCLUDES_ITEMS_FROM_PERSONAL_STORAGE_IT_MAY_NOT_BE_HIDDEN_AUTOMATICALLY_MSG"
+msgstr "Kişisel bellekteki öğeleri içeren bir içerik oluşturursanız bu içerik otomatik olarak gizlenemeyebilir. Seçilen kişisel içerikler, yeni içerik görüntülenirken görülebilir."
+
+msgid "IDS_HS_ACBUTTON_EDIT"
+msgstr "DÜZENLE"
+
+msgid "IDS_MF_BUTTON_SETTINGS"
+msgstr "Ayarlar"
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "DÜZENLE"
+
+msgid "IDS_CLOCK_HEADER_REORDER_ABB"
+msgstr "Yeniden sırala"
+
diff --git a/res/po/uk.po b/res/po/uk.po
new file mode 100644 (file)
index 0000000..ffbdbeb
--- /dev/null
@@ -0,0 +1,759 @@
+msgid "IDS_MF_POP_YOUR_DEVICE_IS_NOT_CONNECTED_TO_A_WI_FI_NETWORK_CONNECTING_TO_A_MOBILE_NETWORK_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "Пристрій не підключено до мережі Wi-Fi. Підключення до мобільної мережі може призвести до додаткових витрат залежно від тарифного плану"
+
+msgid "IDS_VIDEO_TPOP_MOBILE_DATA_TURNED_OFF_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_TURN_ON_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Використання мобільних даних вимкнено. Натомість підключіться до мережі Wi-Fi або ввімкніть використання мобільних даних і спробуйте ще раз."
+
+msgid "IDS_VIDEO_BODY_AFTER_YOU_RECORD_VIDEOS_USING_THE_CAMERA_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Після запису відео за допомогою камери їх буде відображено тут."
+
+msgid "IDS_VIDEO_TPOP_FILE_NAME_ALREADY_IN_USE"
+msgstr "Ім’я файла вже використовується"
+
+msgid "IDS_MF_POP_DELETE_PD_ITEMS_Q"
+msgstr "Видалити %d об’єктів?"
+
+msgid "IDS_ST_HEADER_PRIVACY"
+msgstr "Конфіденційність"
+
+msgid "IDS_COM_BODY_SEP_ABB"
+msgstr "Вер"
+
+msgid "IDS_COM_BODY_OCT_ABB"
+msgstr "Жов"
+
+msgid "IDS_COM_BODY_NOV_ABB"
+msgstr "Лис."
+
+msgid "IDS_COM_BODY_MAY_ABB"
+msgstr "Тра"
+
+msgid "IDS_COM_BODY_MAR_ABB"
+msgstr "Бер"
+
+msgid "IDS_COM_BODY_JUN_ABB"
+msgstr "Чер."
+
+msgid "IDS_COM_BODY_JUL_ABB"
+msgstr "Лип."
+
+msgid "IDS_COM_BODY_JAN_ABB"
+msgstr "Січ"
+
+msgid "IDS_COM_BODY_FEB_ABB"
+msgstr "Лют"
+
+msgid "IDS_COM_BODY_DEC_ABB"
+msgstr "Гру"
+
+msgid "IDS_COM_BODY_AUG_ABB"
+msgstr "Сер"
+
+msgid "IDS_COM_BODY_APR_ABB"
+msgstr "Кві"
+
+msgid "IDS_GALLERY_HEADER_ALBUM"
+msgstr "Альбом"
+
+msgid "IDS_MEDIABR_OPT_MORE"
+msgstr "Більше"
+
+msgid "IDS_MEDIABR_POP_INVALID_INPUT_PARAMETER"
+msgstr "Неправильний вхідний параметр."
+
+msgid "IDS_MEDIABR_POP_ENTRY_IS_EMPTY"
+msgstr "Запис порожній."
+
+msgid "IDS_MEDIABR_POP_SAME_NAME_ALREADY_IN_USE"
+msgstr "Ім’я вже використовується."
+
+msgid "IDS_MEDIABR_POP_UNABLE_TO_RENAME"
+msgstr "Неможливо перейменувати."
+
+msgid "IDS_MEDIABR_POP_NO_ALBUMS_SELECTED"
+msgstr "Не вибрано альбомів."
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ITEM"
+msgstr "Виберіть елемент"
+
+msgid "IDS_MEDIABR_BODY_NO_ALBUMS"
+msgstr "Немає альбомів"
+
+msgid "IDS_MEDIABR_POP_CREATE_FOLDER_Q"
+msgstr "Створити папку?"
+
+msgid "IDS_MEDIABR_POP_RETRY_Q"
+msgstr "Повторити?"
+
+msgid "IDS_MEDIABR_POPUP_REMOVE_Q"
+msgstr "Видалити?"
+
+msgid "IDS_MEDIABR_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "Буде видалено альбомів: %d"
+
+msgid "IDS_MEDIABR_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "1 альбом буде видалено."
+
+msgid "IDS_MEDIABR_BODY_CAMERA"
+msgstr "Камера"
+
+msgid "IDS_MEDIABR_BUTTON_START"
+msgstr "Запустити"
+
+msgid "IDS_MEDIABR_OPT_SETTINGS"
+msgstr "Налаштування"
+
+msgid "IDS_MEDIABR_OPT_YES"
+msgstr "Так"
+
+msgid "IDS_MEDIABR_OPT_NO"
+msgstr "Ні"
+
+msgid "IDS_MEDIABR_BUTTON_OK"
+msgstr "OK"
+
+msgid "IDS_MEDIABR_BUTTON_SAVE"
+msgstr "Зберегти"
+
+msgid "IDS_MEDIABR_POP_DELETE_Q"
+msgstr "Видалити?"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_ALBUM"
+msgstr "Перемістити до альбому"
+
+msgid "IDS_GALLERY_OPT_COPY_TO_ALBUM"
+msgstr "Копіювати до альбому"
+
+msgid "IDS_GALLERY_HEADER_VIEW_BY_ABB"
+msgstr "Вигляд"
+
+msgid "IDS_GALLERY_HEADER_ENTER_NAME"
+msgstr "Введіть назву"
+
+msgid "IDS_MEDIABR_POP_ALL_DATA_RELATED_TO_THIS_ACCOUNT_WILL_BE_DELETED_CONTINUE_Q"
+msgstr "Усі дані, пов'язані з цим обліковим записом, буде видалено. Продовжити?"
+
+msgid "IDS_MEDIABR_BUTTON_CANCEL_ABB"
+msgstr "Скасувати"
+
+msgid "IDS_MEDIABR_TAB4_NEW_ALBUM"
+msgstr "Новий альбом"
+
+msgid "IDS_MEDIABR_POP_DO_YOU_WANT_TO_COPY_OR_MOVE_THE_PICTURES_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Бажаєте копіювати або перемістити фотографії з вихідного альбому?"
+
+msgid "IDS_MEDIABR_OPT_SHARE"
+msgstr "Поділитися"
+
+msgid "IDS_MEDIABR_OPT_SLIDESHOW"
+msgstr "Слайд-шоу"
+
+msgid "IDS_MEDIABR_OPT_START_SLIDESHOW"
+msgstr "Розпочати слайд-шоу"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS"
+msgstr "Установки слайд-шоу"
+
+msgid "IDS_MEDIABR_POP_NO_NAME"
+msgstr "Немає імені"
+
+msgid "IDS_MEDIABR_BODY_ALL_ALBUMS"
+msgstr "Усі альбоми"
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ALBUM"
+msgstr "Вибір альбому"
+
+msgid "IDS_MEDIABR_POP_1_ITEM_WILL_BE_DELETED"
+msgstr "1 об’єкт буде видалено."
+
+msgid "IDS_MEDIABR_OPT_ALL_ITEMS"
+msgstr "Усі об’єкті"
+
+msgid "IDS_MEDIABR_BODY_PD_ITEMS"
+msgstr "%d об’єктів"
+
+msgid "IDS_IV_BODY_THERE_IS_ONLY_ONE_ALBUM"
+msgstr "Наявний лише один альбом."
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "Можна вибрати до %d об’єктів."
+
+msgid "IDS_MF_BODY_DOWNLOADS"
+msgstr "Завантаження"
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Видалити?"
+
+msgid "IDS_MF_SK_MOVE"
+msgstr "Переміст."
+
+msgid "IDS_MF_POP_DELETING_ING"
+msgstr "Видалення..."
+
+msgid "IDS_CAM_BODY_OPERATION_FAILED"
+msgstr "Збій операції."
+
+msgid "IDS_MSG_BODY_CANCELLED_M_CONTENT"
+msgstr "Скасовано"
+
+msgid "IDS_MF_OPT_DELETE_SELECTED"
+msgstr "Вибране"
+
+msgid "IDS_MF_POP_MOVED"
+msgstr "Переміщено."
+
+msgid "IDS_MF_POP_COPIED"
+msgstr "Скопійовано."
+
+msgid "IDS_VPL_POP_NO_FILES_SELECTED"
+msgstr "Файли не вибрані."
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Закрити"
+
+msgid "IDS_MF_OPT_SORT_BY_ABB"
+msgstr "Сортувати за"
+
+msgid "IDS_CAM_POP_LATEST"
+msgstr "Найновіші"
+
+msgid "IDS_MEDIABR_POP_OLDEST_M_DATE"
+msgstr "Найдавніша"
+
+msgid "IDS_MSG_BUTTON2_CREATE"
+msgstr "Створити"
+
+msgid "IDS_MEDIABR_POP_NO_ITEMS"
+msgstr "Немає елементів"
+
+msgid "IDS_MEDIABR_OPT_EDIT_IMAGE"
+msgstr "Редагувати зображення"
+
+msgid "IDS_MEDIABR_BODY_SELECT_PICTURE"
+msgstr "Вибрати картинку"
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ITEM_Q"
+msgstr "Видалити цей об’єкт?"
+
+msgid "IDS_GALLERY_OPT_SCENERY"
+msgstr "Пейзаж"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PRIVATE"
+msgstr "Видалити з особистого режиму"
+
+msgid "IDS_GALLERY_OPT_PETS"
+msgstr "Домашні улюбленці"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_PRIVATE"
+msgstr "Перемістити до особистої папки"
+
+msgid "IDS_GALLERY_OPT_FOOD"
+msgstr "Їжа"
+
+msgid "IDS_GALLERY_OPT_FLOWERS"
+msgstr "Квіти"
+
+msgid "IDS_GALLERY_OPT_DOCUMENTS"
+msgstr "Документи"
+
+msgid "IDS_GALLERY_MBODY_VEHICLES"
+msgstr "Транспортні засоби"
+
+msgid "IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED"
+msgstr "Досягнуто максимальної кількості символів: %d."
+
+msgid "IDS_IV_BODY_UNABLE_TO_LOAD_PHOTO_ABB"
+msgstr "Неможливо завантажити фотографію."
+
+msgid "IDS_IV_BODY_SHARE_VIA"
+msgstr "Поділитися"
+
+msgid "IDS_IV_BODY_DONT_ASK_AGAIN"
+msgstr "Більше не запитувати"
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Досягнуто максимальної кількості символів."
+
+msgid "IDS_GALLERY_HEADER_TIME"
+msgstr "Час"
+
+msgid "IDS_EMAIL_BODY_FAILED_M_STATUS"
+msgstr "Збій"
+
+msgid "IDS_EMAIL_BODY_DELETED"
+msgstr "Видалено."
+
+msgid "IDS_EMAIL_POP_DELETE_Q"
+msgstr "Видалити?"
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Видалення..."
+
+msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS"
+msgstr "Відображення %d об’єктів"
+
+msgid "IDS_GALLERY_OPT_CREATE_ALBUM"
+msgstr "Створити альбом"
+
+msgid "IDS_GALLERY_OPT_GALLERY_ABB"
+msgstr "Галерея"
+
+msgid "IDS_EMAIL_BUTTON_MORE"
+msgstr "Додатково"
+
+msgid "IDS_EMAIL_OPT_ACCOUNTS"
+msgstr "Облікові записи"
+
+msgid "IDS_EMAIL_POP_OPERATION_FAILED"
+msgstr "Збій операції."
+
+msgid "IDS_GALLERY_BODY_DOWNLOAD"
+msgstr "Завантаження"
+
+msgid "IDS_GALLERY_BODY_SEARCH"
+msgstr "Пошук"
+
+msgid "IDS_GALLERY_BUTTON_BACK"
+msgstr "Назад"
+
+msgid "IDS_GALLERY_BUTTON_CAMERA"
+msgstr "Камера"
+
+msgid "IDS_GALLERY_HEADER_ALL"
+msgstr "Всі"
+
+msgid "IDS_GALLERY_OPT_REFRESH"
+msgstr "Оновити"
+
+msgid "IDS_GALLERY_OPT_REMOVE"
+msgstr "Видалити"
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_DROPBOX_ITEMS_WILL_BE_SHOWN"
+msgstr "Об’єкти буде відображено після завантаження фотографій до Dropbox."
+
+msgid "IDS_KEEPIT_BODY_GROUP_PLAY_ABB"
+msgstr "Group Play"
+
+msgid "IDS_MEDIABR_HEADER_CONTACTS"
+msgstr "Контакти"
+
+msgid "IDS_MEDIABR_OPT_CREATE"
+msgstr "Створити"
+
+msgid "IDS_MEDIABR_OPT_DETAILS"
+msgstr "Деталі"
+
+msgid "IDS_MEDIABR_OPT_PRINT"
+msgstr "Друк"
+
+msgid "IDS_MEDIABR_OPT_RENAME"
+msgstr "Перейменувати"
+
+msgid "IDS_MEDIABR_POP_DOWNLOADED"
+msgstr "Завантажено."
+
+msgid "IDS_MEDIABR_POP_DOWNLOADING_ING"
+msgstr "Завантаження..."
+
+msgid "IDS_MF_HEADER_ENTER_NAME"
+msgstr "Введіть назву."
+
+msgid "IDS_MF_HEADER_MYFILES"
+msgstr "Мої файли"
+
+msgid "IDS_MF_POP_ADDED"
+msgstr "Додано."
+
+msgid "IDS_MF_POP_PROCESSING_ING"
+msgstr "Обробка..."
+
+msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
+msgstr "Формат не підтримується."
+
+msgid "IDS_IMGE_BODY_AFTER_YOU_TAKE_PICTURES_PICTURES_WILL_BE_SHOWN"
+msgstr "Зображення відобразяться після фотозйомки."
+
+msgid "IDS_IME_BODY_LANDSCAPE_MODE"
+msgstr "Альбомний режим"
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_CLOSE_DRAWER_MENU_TTS"
+msgstr "Двічі натисніть, щоб закрити висувне меню."
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_OPEN_DRAWER_MENU_TTS"
+msgstr "Двічі натисніть, щоб відкрити висувне меню."
+
+msgid "IDS_EMAIL_BODY_DRAG_AND_DROP"
+msgstr "Перетягування"
+
+msgid "IDS_EMAIL_OPT_DRAWER_ABB"
+msgstr "Висувне меню"
+
+msgid "IDS_EMAIL_POP_MOBILE_DATA_IS_DISABLED_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_ENABLE_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Використання мобільних даних вимкнено. Підключіться до мережі Wi-Fi або увімкніть використання мобільних даних та спробуйте ще раз"
+
+msgid "IDS_EMAIL_POP_WI_FI_CONNECTION_REQUIRED_CONNECT_TO_WI_FI_NETWORK_AND_TRY_AGAIN"
+msgstr "Потрібне підключення до мережі Wi-Fi. Підключіться до мережі Wi-Fi та спробуйте ще раз"
+
+msgid "IDS_GALLERY_HEADER_ADD_PICTURES_FROM_ABB"
+msgstr "Додавання фотографій із"
+
+msgid "IDS_GALLERY_HEADER_CONNECTED_DEVICES_ABB"
+msgstr "Підключені пристрої"
+
+msgid "IDS_GALLERY_OPT_PRIVATE_CONTENT"
+msgstr "Особистий вміст"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PS"
+msgstr "Видалити з %s"
+
+msgid "IDS_GALLERY_OPT_REMOVE_NAME_TAG"
+msgstr "Видалення тега імені"
+
+msgid "IDS_GALLERY_POP_THERE_ARE_NO_EVENTS_TO_DISPLAY_CREATE_A_NEW_EVENT"
+msgstr "Немає подій для відображення. Створіть нову подію."
+
+msgid "IDS_GALLERY_POP_TO_SCROLL_QUICKLY_TO_OTHER_DATES_TAP_AND_HOLD_THE_DATE_INDICATOR_AT_THE_TOP_RIGHT_OF_THE_SCREEN"
+msgstr "Для швидкого переходу до інших дат натисніть та утримуйте індикатор дати у верхньому правому куті екрана."
+
+msgid "IDS_GP_POP_REMOVE_PD_ITEMS_Q"
+msgstr "Видалити %d об’єктів?"
+
+msgid "IDS_GP_POP_REMOVE_THIS_ITEM_Q"
+msgstr "Видалити цей об’єкт?"
+
+msgid "IDS_HELP_BODY_GALLERY"
+msgstr "Галерея"
+
+msgid "IDS_HELP_OPT_SHUFFLED_PICTURES"
+msgstr "Фотографії у випадковому порядку"
+
+msgid "IDS_IV_BODY_ADD_PICTURES"
+msgstr "Додати фотографії"
+
+msgid "IDS_IV_BODY_AFTER_YOU_TAG_PICTURES_AS_YOUR_FAVOURITES_PICTURES_WILL_BE_SHOWN"
+msgstr "Фотографії буде відображено після їх додавання до обраного."
+
+msgid "IDS_IV_BODY_REMOVE_FACE_IDENTIFICATION_Q"
+msgstr "Видалити ідентифікацію обличчя?"
+
+msgid "IDS_IV_OPT_ASSIGN_NAME"
+msgstr "Призначити ім'я"
+
+msgid "IDS_IV_OPT_CONFIRM_AS_PS"
+msgstr "Підтвердити як %s"
+
+msgid "IDS_IV_OPT_LAYOUT_M_PICTUERS"
+msgstr "Макет"
+
+msgid "IDS_IV_OPT_PD_PICTURES_ADDED"
+msgstr "Додано фотографій: %d"
+
+msgid "IDS_IV_POP_THE_ALBUM_WILL_BE_CANCELLED"
+msgstr "Альбом буде скасовано."
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEM_ABB"
+msgstr "Видалити об’єкт"
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEMS"
+msgstr "Видалити об’єкти"
+
+msgid "IDS_MEDIABR_BODY_1_ITEM"
+msgstr "1 об’єкт"
+
+msgid "IDS_MEDIABR_BODY_10_SECONDS"
+msgstr "10 секунд"
+
+msgid "IDS_MEDIABR_BODY_5_SECONDS"
+msgstr "5 секунд"
+
+msgid "IDS_MEDIABR_BODY_NOT_ASSIGNED"
+msgstr "Не призначено"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL"
+msgstr "Інтервал слайд-шоу"
+
+msgid "IDS_MEDIABR_BODY_UNTAGGED"
+msgstr "Без тегу"
+
+msgid "IDS_MEDIABR_OPT_3_SECONDS"
+msgstr "3 секунди"
+
+msgid "IDS_MEDIABR_OPT_ALL_CONTENT"
+msgstr "Весь вміст"
+
+msgid "IDS_MEDIABR_OPT_CONTENT_TO_DISPLAY"
+msgstr "Вміст для відображення"
+
+msgid "IDS_MEDIABR_OPT_DELETE_TAG"
+msgstr "Видалити тег"
+
+msgid "IDS_MEDIABR_OPT_DEVICE_CONTENT"
+msgstr "Вміст пристрою"
+
+msgid "IDS_MEDIABR_OPT_DROPBOX_CONTENT"
+msgstr "Вміст Dropbox"
+
+msgid "IDS_MEDIABR_OPT_FACEBOOK_CONTENT"
+msgstr "Вміст Facebook"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_LEFT"
+msgstr "Обернути ліворуч"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_RIGHT"
+msgstr "Обернути праворуч"
+
+msgid "IDS_MEDIABR_POP_IMPORT"
+msgstr "Імпортувати"
+
+msgid "IDS_MEDIABR_POP_IMPORTED"
+msgstr "Імпортовано."
+
+msgid "IDS_MEDIABR_POP_IMPORTING_ING"
+msgstr "Імпортування..."
+
+msgid "IDS_MEDIABR_POP_LOADING_ING"
+msgstr "Завантаження..."
+
+msgid "IDS_MEDIABR_POP_NEARBY_DEVICES_FOUND"
+msgstr "Знайдено пристрої поблизу."
+
+msgid "IDS_MEDIABR_POP_NO_DEVICES_FOUND_SCANNING_FOR_NEARBY_DEVICES_WILL_CONTINUE_IN_BACKGROUND"
+msgstr "Пристрої не знайдено. Пошук наявних поблизу пристроїв буде продовжено у фоновому режимі"
+
+msgid "IDS_MEDIABR_POP_REFRESHED"
+msgstr "Оновлено."
+
+msgid "IDS_MEDIABR_POP_ROTATING_ING"
+msgstr "Обертання..."
+
+msgid "IDS_MEDIABR_POP_SCAN_STARTED_DEVICE_LIST_WILL_BE_UPDATED_AUTOMATICALLY"
+msgstr "Розпочато пошук. Список пристроїв буде оновлено автоматично"
+
+msgid "IDS_MEDIABR_POP_STARTING_DOWNLOAD_ABB"
+msgstr "Початок завантаження..."
+
+msgid "IDS_MF_OPT_COPY_TO"
+msgstr "Копіювати на"
+
+msgid "IDS_MF_OPT_MOVE_TO"
+msgstr "Перемістити в"
+
+msgid "IDS_MF_POP_FAILED_TO_ADD_SHORTCUT"
+msgstr "Не вдалося додати ярлик."
+
+msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
+msgstr "Недостатньо пам’яті. Видаліть деякі об’єкти"
+
+msgid "IDS_MF_POP_REMOVED"
+msgstr "Видалено."
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Додавання..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "Видалити %d альбому(-ів)?"
+
+msgid "IDS_ST_BODY_PRIVATE_STORAGE"
+msgstr "Місце збереження особистих даних"
+
+msgid "IDS_IV_BODY_DRAG_HERE"
+msgstr "Перетягніть сюди."
+
+msgid "IDS_GALLERY_BODY_NEW_M_ALBUM_ABB"
+msgstr "Нова"
+
+msgid "IDS_GALLERY_HEADER_UNGROUPEDM_PEOPLE_ABB"
+msgstr "Незгруповані"
+
+msgid "IDS_KEEPIT_OPT_SCREENSHOTS_ABB"
+msgstr "Знімки екрана"
+
+msgid "IDS_MEDIABR_OPT_PHOTOS"
+msgstr "Фотографії"
+
+msgid "IDS_MEDIABR_POP_DOWNLOAD_FAILED"
+msgstr "Збій завантаження"
+
+msgid "IDS_MEDIABR_POP_UNSUPPORTED_FILE"
+msgstr "Файл не підтримується."
+
+msgid "IDS_SEARCH_BODY_1_RESULT"
+msgstr "1 результат"
+
+msgid "IDS_SEARCH_BODY_PD_RESULTS"
+msgstr "%d результатів"
+
+msgid "IDS_TW_BODY_FAVORITES"
+msgstr "Обрані"
+
+msgid "IDS_EMAIL_POP_DOWNLOAD_CANCELLED"
+msgstr "Завантаження скасовано."
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ALBUM_Q"
+msgstr "Видалити цей альбом?"
+
+msgid "IDS_CAM_HEADER_WARNING_ABB"
+msgstr "Увага"
+
+msgid "IDS_ALM_OPT_SORT_BY"
+msgstr "Сортування"
+
+msgid "IDS_CLD_OPT_TODAY"
+msgstr "Сьогодні"
+
+msgid "IDS_GALLERY_BODY_DATE"
+msgstr "Дата"
+
+msgid "IDS_EMAIL_BODY_NO_ITEMS_TO_DISPLAY"
+msgstr "Немає об’єктів для відбраження."
+
+msgid "IDS_PBR_BODY_TAP_HERE_TO_TAKE_PICTURES_OR_VIDEOS"
+msgstr "Натисніть тут, щоб зробити фотографію або записати відео."
+
+msgid "IDS_NFC_TPOP_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SHARED_HPD_EXCEEDED"
+msgstr "Перевищено максимальну кількість об’єктів, до яких можна надати спільний доступ (%d)."
+
+msgid "IDS_IV_BODY_TAP_TO_ADD_IMAGES"
+msgstr "Натисніть, щоб додати зображення."
+
+msgid "IDS_GALLERY_POP_COPY_OR_MOVE_THE_SELECTED_ITEMS_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Копіювати або перемістити вибрані об’єкти з вихідного альбому?"
+
+msgid "IDS_GALLERY_HEADER_SELECT"
+msgstr "Вибрати"
+
+msgid "IDS_VIDEO_POP_FILE_ALREADY_EXISTS"
+msgstr "Файл уже існує."
+
+msgid "IDS_VIDEO_POP_THIS_ITEM_WILL_BE_DELETED"
+msgstr "Цей файл буде видалено."
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_FACEBOOK_ITEMS_WILL_BE_SHOWN"
+msgstr "Об’єкти буде відображено після завантаження фотографій до Facebook."
+
+msgid "IDS_GALLERY_HEADER_SELECT_ALL_ABB"
+msgstr "Вибрати всіх"
+
+msgid "IDS_GALLERY_HEADER_PD_SELECTED_ABB"
+msgstr "Вибрано: %d"
+
+msgid "IDS_GALLERY_OPT_VIEW_AS"
+msgstr "Переглянути як"
+
+msgid "IDS_GALLERY_OPT_DATE_HMOST_RECENT_ABB2"
+msgstr "Дата (останні)"
+
+msgid "IDS_GALLERY_OPT_DATE_HOLDEST_ABB3"
+msgstr "Дата (найдавніші)"
+
+msgid "IDS_GALLERY_BODY_AFTER_YOU_TAKE_PICTURES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Після створення знімків їх буде відображено тут."
+
+msgid "IDS_CLOUD_TPOP_CANCELLING_ING"
+msgstr "Cкасування..."
+
+msgid "IDS_GALLERY_OPT_FROM_DEVICE_ABB"
+msgstr "Із пристрою"
+
+msgid "IDS_GALLERY_OPT_FROM_DROPBOX_ABB"
+msgstr "Із Dropbox"
+
+msgid "IDS_GALLERY_OPT_FROM_FACEBOOK_ABB"
+msgstr "Із Facebook"
+
+msgid "IDS_MUSIC_BODY_DOWNLOAD_COMPLETED"
+msgstr "Завантаження завершено."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DELETED"
+msgstr "Усі об’єкти буде видалено."
+
+msgid "IDS_GALLERY_POP_1_ITEM_WILL_BE_DOWNLOADED"
+msgstr "1 об’єкт буде завантажено."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "%d об’єктів буде завантажено."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "Усі об’єкти буде завантажено."
+
+msgid "IDS_GALLERY_TPOP_SELECTED_ALBUM_SAME_AS_SOURCE_ALBUM_SELECT_ANOTHER_ALBUM"
+msgstr "Вибраний і вихідний альбоми однакові. Виберіть інший альбом."
+
+msgid "IDS_HS_NPBODY_TAP_HERE_TO_ADD_IMAGES"
+msgstr "Торкніться тут, щоб додати зображення"
+
+msgid "IDS_MF_HEADER_UNABLE_TO_SAVE_DATA_ABB"
+msgstr "Неможливо зберегти дані"
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_IN_YOUR_DEVICE_STORAGE_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "Недостатньо вільного місця в місці збереження на пристрої. Перейдіть до меню «Налаштування» > «Живлення та місце збереження» > «Місце збереження» та видаліть деякі файли, а потім спробуйте ще раз."
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_YOUR_SD_CARD_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "Недостатньо вільного місця на карті пам’яті. Перейдіть до меню «Налаштування» > «Живлення та місце збереження» > «Місце збереження» та видаліть деякі файли, а потім спробуйте ще раз."
+
+msgid "IDS_MF_BUTTON_CANCEL_ABB3"
+msgstr "Скасувати"
+
+msgid "IDS_MF_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Більше не показувати"
+
+msgid "IDS_MF_POP_USING_MOBILE_DATA_WHILE_ROAMING_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "Використання мобільних даних у роумінгу може призвести до додаткових витрат залежно від тарифного плану."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DELETED_ABB"
+msgstr "%d об’єктів буде видалено."
+
+msgid "IDS_GALLERY_OPT_DELETE"
+msgstr "Видалити"
+
+msgid "IDS_GALLERY_BODY_YESTERDAY"
+msgstr "Вчора"
+
+msgid "IDS_BR_MBODY_DOWNLOADS"
+msgstr "Завантаження"
+
+msgid "IDS_GALLERY_HEADER_COPY"
+msgstr "Копіювання"
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Видалити"
+
+msgid "IDS_GALLERY_BUTTON_ALBUMS"
+msgstr "Альбоми"
+
+msgid "IDS_GALLERY_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Перевищено максимальну кількість об’єктів (%d)."
+
+msgid "IDS_GALLERY_BUTTON_CANCEL"
+msgstr "Скасувати"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "ГОТОВО"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "СКАСУВАТИ"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "ВИДАЛИТИ"
+
+msgid "IDS_GALLERY_POP_COPYING_ING"
+msgstr "Копіювання..."
+
+msgid "IDS_GALLERY_POP_MOVING_ING"
+msgstr "Переміщення..."
+
+msgid "IDS_STORYALBUM_POP_IF_YOU_CREATE_CONTENT_THAT_INCLUDES_ITEMS_FROM_PERSONAL_STORAGE_IT_MAY_NOT_BE_HIDDEN_AUTOMATICALLY_MSG"
+msgstr "У разі створення нового вмісту, в якому містяться об’єкти з особистого місця збереження, його буде неможливо автоматично приховати. Вибраний особистий вміст можна переглядати під час перегляду нового вмісту."
+
+msgid "IDS_HS_ACBUTTON_EDIT"
+msgstr "РЕДАГУВАТИ"
+
+msgid "IDS_MF_BUTTON_SETTINGS"
+msgstr "Налаштування"
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "ЗМІНИТИ"
+
+msgid "IDS_CLOCK_HEADER_REORDER_ABB"
+msgstr "Упорядкування"
+
diff --git a/res/po/update-po.sh b/res/po/update-po.sh
new file mode 100755 (executable)
index 0000000..6e710ce
--- /dev/null
@@ -0,0 +1,60 @@
+#!/bin/sh
+
+PACKAGE=gallery
+SRCROOT=..
+POTFILES=POTFILES.in
+
+#ALL_LINGUAS= am az be ca cs da de el en_CA en_GB es et fi fr hr hu it ja ko lv mk ml ms nb ne nl pa pl pt pt_BR ru rw sk sl sr sr@Latn sv ta tr uk vi zh_CN zh_TW
+ALL_LINGUAS="en_US en_GB ja ko zh_CN"
+
+XGETTEXT=/usr/bin/xgettext
+MSGMERGE=/usr/bin/msgmerge
+
+echo -n "Make ${PACKAGE}.pot  "
+if [ ! -e $POTFILES ] ; then
+       echo "$POTFILES not found"
+       exit 1
+fi
+
+$XGETTEXT --default-domain=${PACKAGE} --directory=${SRCROOT} \
+               --add-comments --keyword=_ --keyword=N_ --files-from=$POTFILES
+if [ $? -ne 0 ]; then
+       echo "xgettext error"
+       exit 1
+fi
+
+if [ ! -f ${PACKAGE}.po ]; then
+       echo "No such file: ${PACKAGE}.po"
+       exit 1
+fi
+
+rm -f ${PACKAGE}.pot && mv ${PACKAGE}.po ${PACKAGE}.pot
+echo "done"
+
+for LANG in $ALL_LINGUAS; do 
+       echo "$LANG : "
+
+       if [ ! -e $LANG.po ] ; then
+               sed 's/CHARSET/UTF-8/g' ${PACKAGE}.pot > ${LANG}.po
+               echo "${LANG}.po created"
+       else
+               if $MSGMERGE ${LANG}.po ${PACKAGE}.pot -o ${LANG}.new.po ; then
+                       if cmp ${LANG}.po ${LANG}.new.po > /dev/null 2>&1; then
+                               rm -f ${LANG}.new.po
+                       else
+                               if mv -f ${LANG}.new.po ${LANG}.po; then
+                                       echo "" 
+                               else
+                                       echo "msgmerge for $LANG.po failed: cannot move $LANG.new.po to $LANG.po" 1>&2
+                                       rm -f ${LANG}.new.po
+                                       exit 1
+                               fi
+                       fi
+               else
+                       echo "msgmerge for $LANG failed!"
+                       rm -f ${LANG}.new.po
+               fi
+       fi
+       echo ""
+done
+
diff --git a/res/po/uz.po b/res/po/uz.po
new file mode 100644 (file)
index 0000000..10f1a96
--- /dev/null
@@ -0,0 +1,759 @@
+msgid "IDS_MF_POP_YOUR_DEVICE_IS_NOT_CONNECTED_TO_A_WI_FI_NETWORK_CONNECTING_TO_A_MOBILE_NETWORK_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "Qurilmangiz Wi-Fi tarmoqqa ulanmagan. Mobil tarmoqqa ulanish tarif rejangiz asosida qo‘shimcha to‘lov olinishiga olib kelishi mumkin"
+
+msgid "IDS_VIDEO_TPOP_MOBILE_DATA_TURNED_OFF_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_TURN_ON_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Mobil ma’lumot o‘chirilgan. Uning o‘rniga Wi-Fi tarmoqqa ulaning yoki Mobil ma’lumotni yoqing va qayta urinib ko‘ring."
+
+msgid "IDS_VIDEO_BODY_AFTER_YOU_RECORD_VIDEOS_USING_THE_CAMERA_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Kamera yordamida videoga olganingizdan so‘ng, ular bu yerda ko‘rsatiladi."
+
+msgid "IDS_VIDEO_TPOP_FILE_NAME_ALREADY_IN_USE"
+msgstr "Fayl nomi avvaldan foydalanilmoqda"
+
+msgid "IDS_MF_POP_DELETE_PD_ITEMS_Q"
+msgstr "%dta element O'chirilsinmi?"
+
+msgid "IDS_ST_HEADER_PRIVACY"
+msgstr "Maxfiylik"
+
+msgid "IDS_COM_BODY_SEP_ABB"
+msgstr "Sen."
+
+msgid "IDS_COM_BODY_OCT_ABB"
+msgstr "Okt."
+
+msgid "IDS_COM_BODY_NOV_ABB"
+msgstr "Noy."
+
+msgid "IDS_COM_BODY_MAY_ABB"
+msgstr "May"
+
+msgid "IDS_COM_BODY_MAR_ABB"
+msgstr "Mar."
+
+msgid "IDS_COM_BODY_JUN_ABB"
+msgstr "Iyn."
+
+msgid "IDS_COM_BODY_JUL_ABB"
+msgstr "Iyl."
+
+msgid "IDS_COM_BODY_JAN_ABB"
+msgstr "Yan."
+
+msgid "IDS_COM_BODY_FEB_ABB"
+msgstr "Fev."
+
+msgid "IDS_COM_BODY_DEC_ABB"
+msgstr "Dek."
+
+msgid "IDS_COM_BODY_AUG_ABB"
+msgstr "Avg."
+
+msgid "IDS_COM_BODY_APR_ABB"
+msgstr "Apr."
+
+msgid "IDS_GALLERY_HEADER_ALBUM"
+msgstr "Albom"
+
+msgid "IDS_MEDIABR_OPT_MORE"
+msgstr "Ko‘proq"
+
+msgid "IDS_MEDIABR_POP_INVALID_INPUT_PARAMETER"
+msgstr "Noto‘g‘ri kiritish parametri."
+
+msgid "IDS_MEDIABR_POP_ENTRY_IS_EMPTY"
+msgstr "Kiritish bo‘sh."
+
+msgid "IDS_MEDIABR_POP_SAME_NAME_ALREADY_IN_USE"
+msgstr "Bunday nom avvaldan ishlatilmoqda."
+
+msgid "IDS_MEDIABR_POP_UNABLE_TO_RENAME"
+msgstr "Nomini o‘zgartirib bo‘lmaydi."
+
+msgid "IDS_MEDIABR_POP_NO_ALBUMS_SELECTED"
+msgstr "Albom tanlanmagan."
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ITEM"
+msgstr "Element tanlang"
+
+msgid "IDS_MEDIABR_BODY_NO_ALBUMS"
+msgstr "Albomlar yo‘q"
+
+msgid "IDS_MEDIABR_POP_CREATE_FOLDER_Q"
+msgstr "Jild yaratilsinmi?"
+
+msgid "IDS_MEDIABR_POP_RETRY_Q"
+msgstr "Qayta urinib ko‘rilsinmi?"
+
+msgid "IDS_MEDIABR_POPUP_REMOVE_Q"
+msgstr "Olib tashlansinmi?"
+
+msgid "IDS_MEDIABR_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "%d ta albom o'chiriladi."
+
+msgid "IDS_MEDIABR_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "1 albom yo‘q qilinadi."
+
+msgid "IDS_MEDIABR_BODY_CAMERA"
+msgstr "Kamera"
+
+msgid "IDS_MEDIABR_BUTTON_START"
+msgstr "Boshlash"
+
+msgid "IDS_MEDIABR_OPT_SETTINGS"
+msgstr "Parametrlar"
+
+msgid "IDS_MEDIABR_OPT_YES"
+msgstr "Ha"
+
+msgid "IDS_MEDIABR_OPT_NO"
+msgstr "Yo‘q"
+
+msgid "IDS_MEDIABR_BUTTON_OK"
+msgstr "OK"
+
+msgid "IDS_MEDIABR_BUTTON_SAVE"
+msgstr "Saqlash"
+
+msgid "IDS_MEDIABR_POP_DELETE_Q"
+msgstr "O'chirilsinmi?"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_ALBUM"
+msgstr "Albomga ko‘chirish"
+
+msgid "IDS_GALLERY_OPT_COPY_TO_ALBUM"
+msgstr "Albomga nusxa ko‘chirish"
+
+msgid "IDS_GALLERY_HEADER_VIEW_BY_ABB"
+msgstr "Quyid. bo‘yicha ko‘r/chiq"
+
+msgid "IDS_GALLERY_HEADER_ENTER_NAME"
+msgstr "Nom kiriting"
+
+msgid "IDS_MEDIABR_POP_ALL_DATA_RELATED_TO_THIS_ACCOUNT_WILL_BE_DELETED_CONTINUE_Q"
+msgstr "Ushbu hisob qaydnomasiga tegishli barcha ma’lumotlar o'chirib tashlanadi. Davom ettirilsinmi?"
+
+msgid "IDS_MEDIABR_BUTTON_CANCEL_ABB"
+msgstr "Bekor qilish"
+
+msgid "IDS_MEDIABR_TAB4_NEW_ALBUM"
+msgstr "Yangi albom"
+
+msgid "IDS_MEDIABR_POP_DO_YOU_WANT_TO_COPY_OR_MOVE_THE_PICTURES_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Rasmlarni birlamchi albomga nusxa ko‘chirish yoki ko‘chirishni istaysizmi?"
+
+msgid "IDS_MEDIABR_OPT_SHARE"
+msgstr "Ulashish"
+
+msgid "IDS_MEDIABR_OPT_SLIDESHOW"
+msgstr "Slayd-shou"
+
+msgid "IDS_MEDIABR_OPT_START_SLIDESHOW"
+msgstr "Slayd-shouni boshlash"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS"
+msgstr "Slayd-shou parametrlari"
+
+msgid "IDS_MEDIABR_POP_NO_NAME"
+msgstr "Nom yo‘q"
+
+msgid "IDS_MEDIABR_BODY_ALL_ALBUMS"
+msgstr "Barcha albomlar"
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ALBUM"
+msgstr "Albom tanlash"
+
+msgid "IDS_MEDIABR_POP_1_ITEM_WILL_BE_DELETED"
+msgstr "1 element yo‘q qilinadi."
+
+msgid "IDS_MEDIABR_OPT_ALL_ITEMS"
+msgstr "Barcha elementlar"
+
+msgid "IDS_MEDIABR_BODY_PD_ITEMS"
+msgstr "%d element"
+
+msgid "IDS_IV_BODY_THERE_IS_ONLY_ONE_ALBUM"
+msgstr "Faqat bitta albom mavjud."
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "Eng ko‘pi bilan %d element tanlashingiz mumkin."
+
+msgid "IDS_MF_BODY_DOWNLOADS"
+msgstr "Yuklanishlar"
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "O'chirilsinmi?"
+
+msgid "IDS_MF_SK_MOVE"
+msgstr "Ko‘chir."
+
+msgid "IDS_MF_POP_DELETING_ING"
+msgstr "O'chirilmoqda…"
+
+msgid "IDS_CAM_BODY_OPERATION_FAILED"
+msgstr "Operatsiya bajarilmadi."
+
+msgid "IDS_MSG_BODY_CANCELLED_M_CONTENT"
+msgstr "Bekor qilindi"
+
+msgid "IDS_MF_OPT_DELETE_SELECTED"
+msgstr "Tanlangan"
+
+msgid "IDS_MF_POP_MOVED"
+msgstr "Ko‘chirilgan."
+
+msgid "IDS_MF_POP_COPIED"
+msgstr "Nusxa olindi."
+
+msgid "IDS_VPL_POP_NO_FILES_SELECTED"
+msgstr "Fayllar tanlanmagan."
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "Yopish"
+
+msgid "IDS_MF_OPT_SORT_BY_ABB"
+msgstr "Quyidagi bo‘y. saral"
+
+msgid "IDS_CAM_POP_LATEST"
+msgstr "So‘nggi"
+
+msgid "IDS_MEDIABR_POP_OLDEST_M_DATE"
+msgstr "Eng eski"
+
+msgid "IDS_MSG_BUTTON2_CREATE"
+msgstr "Yaratish"
+
+msgid "IDS_MEDIABR_POP_NO_ITEMS"
+msgstr "Elementlar yo‘q"
+
+msgid "IDS_MEDIABR_OPT_EDIT_IMAGE"
+msgstr "Tasvirni tahrirlash"
+
+msgid "IDS_MEDIABR_BODY_SELECT_PICTURE"
+msgstr "Rasm tanlash"
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ITEM_Q"
+msgstr "Ushbu element yo‘q qilinsinmi?"
+
+msgid "IDS_GALLERY_OPT_SCENERY"
+msgstr "Sahna"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PRIVATE"
+msgstr "Maxfiydan olib tashlash"
+
+msgid "IDS_GALLERY_OPT_PETS"
+msgstr "Uy hayvonlari"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_PRIVATE"
+msgstr "Maxfiyga ko‘chirish"
+
+msgid "IDS_GALLERY_OPT_FOOD"
+msgstr "Oziq-ovqat"
+
+msgid "IDS_GALLERY_OPT_FLOWERS"
+msgstr "Gullar"
+
+msgid "IDS_GALLERY_OPT_DOCUMENTS"
+msgstr "Hujjatlar"
+
+msgid "IDS_GALLERY_MBODY_VEHICLES"
+msgstr "Transportlar"
+
+msgid "IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED"
+msgstr "Belgilar soni ruxsat etilgan maksimal miqdorga (%d) yetdi."
+
+msgid "IDS_IV_BODY_UNABLE_TO_LOAD_PHOTO_ABB"
+msgstr "Fotosuratni yuklab bo‘lmaydi."
+
+msgid "IDS_IV_BODY_SHARE_VIA"
+msgstr "Quyidagi orqali ulashish"
+
+msgid "IDS_IV_BODY_DONT_ASK_AGAIN"
+msgstr "Boshqa so'ramang"
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Belgilar soni ruxsat etilgan maksimal miqdorga yetdi."
+
+msgid "IDS_GALLERY_HEADER_TIME"
+msgstr "Vaqt"
+
+msgid "IDS_EMAIL_BODY_FAILED_M_STATUS"
+msgstr "Xato"
+
+msgid "IDS_EMAIL_BODY_DELETED"
+msgstr "O'chirildi."
+
+msgid "IDS_EMAIL_POP_DELETE_Q"
+msgstr "O'chirilsinmi?"
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "Olib tashlanmoqda..."
+
+msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS"
+msgstr "%d ta elementni ko‘rsatish"
+
+msgid "IDS_GALLERY_OPT_CREATE_ALBUM"
+msgstr "Albom yaratish"
+
+msgid "IDS_GALLERY_OPT_GALLERY_ABB"
+msgstr "Galereya"
+
+msgid "IDS_EMAIL_BUTTON_MORE"
+msgstr "Yana"
+
+msgid "IDS_EMAIL_OPT_ACCOUNTS"
+msgstr "Hisob qaydnomalari"
+
+msgid "IDS_EMAIL_POP_OPERATION_FAILED"
+msgstr "Operatsiya bajarilmadi."
+
+msgid "IDS_GALLERY_BODY_DOWNLOAD"
+msgstr "Yuklab olish"
+
+msgid "IDS_GALLERY_BODY_SEARCH"
+msgstr "Qidirish"
+
+msgid "IDS_GALLERY_BUTTON_BACK"
+msgstr "Orqaga"
+
+msgid "IDS_GALLERY_BUTTON_CAMERA"
+msgstr "Kamera"
+
+msgid "IDS_GALLERY_HEADER_ALL"
+msgstr "Barchasi"
+
+msgid "IDS_GALLERY_OPT_REFRESH"
+msgstr "Yangilash"
+
+msgid "IDS_GALLERY_OPT_REMOVE"
+msgstr "Olib tashlash"
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_DROPBOX_ITEMS_WILL_BE_SHOWN"
+msgstr "Dropboxga rasmlarni yuklaganingizdan so‘ng, elementlar ko‘rsatiladi."
+
+msgid "IDS_KEEPIT_BODY_GROUP_PLAY_ABB"
+msgstr "Group Play"
+
+msgid "IDS_MEDIABR_HEADER_CONTACTS"
+msgstr "Kontaktlar"
+
+msgid "IDS_MEDIABR_OPT_CREATE"
+msgstr "Yaratish"
+
+msgid "IDS_MEDIABR_OPT_DETAILS"
+msgstr "Tafsilotlar"
+
+msgid "IDS_MEDIABR_OPT_PRINT"
+msgstr "Chop etish"
+
+msgid "IDS_MEDIABR_OPT_RENAME"
+msgstr "Nom o‘zgartirish"
+
+msgid "IDS_MEDIABR_POP_DOWNLOADED"
+msgstr "Yuklandi."
+
+msgid "IDS_MEDIABR_POP_DOWNLOADING_ING"
+msgstr "Yuklanmoqda..."
+
+msgid "IDS_MF_HEADER_ENTER_NAME"
+msgstr "Nom kiriting."
+
+msgid "IDS_MF_HEADER_MYFILES"
+msgstr "Fayllarim"
+
+msgid "IDS_MF_POP_ADDED"
+msgstr "Qo‘shildi."
+
+msgid "IDS_MF_POP_PROCESSING_ING"
+msgstr "Bajarilmoqda..."
+
+msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
+msgstr "Qo‘llab-quvvatlanmaydigan fayl turi."
+
+msgid "IDS_IMGE_BODY_AFTER_YOU_TAKE_PICTURES_PICTURES_WILL_BE_SHOWN"
+msgstr "Rasmga olganingizdan so‘ng, rasmlar ko‘rsatiladi."
+
+msgid "IDS_IME_BODY_LANDSCAPE_MODE"
+msgstr "Albom rejimi"
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_CLOSE_DRAWER_MENU_TTS"
+msgstr "Chizish vositasi menyusini yopish uchun ikki marta teging."
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_OPEN_DRAWER_MENU_TTS"
+msgstr "Chizish vositasi menyusini ochish uchun ikki marta teging."
+
+msgid "IDS_EMAIL_BODY_DRAG_AND_DROP"
+msgstr "Tortib o‘tkazish"
+
+msgid "IDS_EMAIL_OPT_DRAWER_ABB"
+msgstr "Chizish vositasi"
+
+msgid "IDS_EMAIL_POP_MOBILE_DATA_IS_DISABLED_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_ENABLE_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "Mobil ma’lumot o‘chirilgan. Uning o‘rniga Wi-Fi tarmoqqa ulaning yoki mobil ma’lumotni yoqing va qayta urinib ko‘ring"
+
+msgid "IDS_EMAIL_POP_WI_FI_CONNECTION_REQUIRED_CONNECT_TO_WI_FI_NETWORK_AND_TRY_AGAIN"
+msgstr "Wi-Fi ulanishi talab qilinadi. Wi-Fi tarmoqqa ulaning va qayta urinib ko‘ring"
+
+msgid "IDS_GALLERY_HEADER_ADD_PICTURES_FROM_ABB"
+msgstr "Quyidagidan rasm qo‘shish"
+
+msgid "IDS_GALLERY_HEADER_CONNECTED_DEVICES_ABB"
+msgstr "Ulangan qurilmalar"
+
+msgid "IDS_GALLERY_OPT_PRIVATE_CONTENT"
+msgstr "Maxfiy tarkib"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PS"
+msgstr "%sdan olib tashlash"
+
+msgid "IDS_GALLERY_OPT_REMOVE_NAME_TAG"
+msgstr "Nom tegini olib tashlash"
+
+msgid "IDS_GALLERY_POP_THERE_ARE_NO_EVENTS_TO_DISPLAY_CREATE_A_NEW_EVENT"
+msgstr "Ko‘rsatiladigan hodisalar yo‘q. Yangi hodisa yarating."
+
+msgid "IDS_GALLERY_POP_TO_SCROLL_QUICKLY_TO_OTHER_DATES_TAP_AND_HOLD_THE_DATE_INDICATOR_AT_THE_TOP_RIGHT_OF_THE_SCREEN"
+msgstr "Boshqa sanalarga tezda o‘tish uchun ekranning yuqori o‘ng burchagida joylashgan sana indikatorini bosib turing."
+
+msgid "IDS_GP_POP_REMOVE_PD_ITEMS_Q"
+msgstr "%d element olib tashlansinmi?"
+
+msgid "IDS_GP_POP_REMOVE_THIS_ITEM_Q"
+msgstr "Ushbu element olib tashlansinmi?"
+
+msgid "IDS_HELP_BODY_GALLERY"
+msgstr "Galereya"
+
+msgid "IDS_HELP_OPT_SHUFFLED_PICTURES"
+msgstr "Tasodifiy tartibdagi rasmlar"
+
+msgid "IDS_IV_BODY_ADD_PICTURES"
+msgstr "Rasmlar qo‘shish"
+
+msgid "IDS_IV_BODY_AFTER_YOU_TAG_PICTURES_AS_YOUR_FAVOURITES_PICTURES_WILL_BE_SHOWN"
+msgstr "Rasmlarni tanlanganlar sifatida belgilaganingizdan so‘ng, rasmlar ko‘rsatiladi."
+
+msgid "IDS_IV_BODY_REMOVE_FACE_IDENTIFICATION_Q"
+msgstr "Yuzni aniqlash olib tashlansinmi?"
+
+msgid "IDS_IV_OPT_ASSIGN_NAME"
+msgstr "Nomni tayinlash"
+
+msgid "IDS_IV_OPT_CONFIRM_AS_PS"
+msgstr "%s sifatida tasdiqlash"
+
+msgid "IDS_IV_OPT_LAYOUT_M_PICTUERS"
+msgstr "Joylashuv"
+
+msgid "IDS_IV_OPT_PD_PICTURES_ADDED"
+msgstr "%d rasm qo‘shildi"
+
+msgid "IDS_IV_POP_THE_ALBUM_WILL_BE_CANCELLED"
+msgstr "Albom bekor qilinadi."
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEM_ABB"
+msgstr "Elementni yo‘q qil"
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEMS"
+msgstr "Elementlarni yo‘q qilish"
+
+msgid "IDS_MEDIABR_BODY_1_ITEM"
+msgstr "1 element"
+
+msgid "IDS_MEDIABR_BODY_10_SECONDS"
+msgstr "10 soniya"
+
+msgid "IDS_MEDIABR_BODY_5_SECONDS"
+msgstr "5 soniya"
+
+msgid "IDS_MEDIABR_BODY_NOT_ASSIGNED"
+msgstr "Tayinlanmagan"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL"
+msgstr "Slayd-shou intervali"
+
+msgid "IDS_MEDIABR_BODY_UNTAGGED"
+msgstr "Teglanmagan"
+
+msgid "IDS_MEDIABR_OPT_3_SECONDS"
+msgstr "3 soniya"
+
+msgid "IDS_MEDIABR_OPT_ALL_CONTENT"
+msgstr "Butun tarkib"
+
+msgid "IDS_MEDIABR_OPT_CONTENT_TO_DISPLAY"
+msgstr "Ko‘rsatiladigan tarkib"
+
+msgid "IDS_MEDIABR_OPT_DELETE_TAG"
+msgstr "Tegni o'chirib tashlash"
+
+msgid "IDS_MEDIABR_OPT_DEVICE_CONTENT"
+msgstr "Qurilmadagi tarkib"
+
+msgid "IDS_MEDIABR_OPT_DROPBOX_CONTENT"
+msgstr "Dropboxdagi tarkib"
+
+msgid "IDS_MEDIABR_OPT_FACEBOOK_CONTENT"
+msgstr "Facebookdagi tarkib"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_LEFT"
+msgstr "Chapga aylantir."
+
+msgid "IDS_MEDIABR_OPT_ROTATE_RIGHT"
+msgstr "O‘ngga aylantir."
+
+msgid "IDS_MEDIABR_POP_IMPORT"
+msgstr "Import qilish"
+
+msgid "IDS_MEDIABR_POP_IMPORTED"
+msgstr "Import qilindi."
+
+msgid "IDS_MEDIABR_POP_IMPORTING_ING"
+msgstr "Import qilinmoqda..."
+
+msgid "IDS_MEDIABR_POP_LOADING_ING"
+msgstr "Yuklanmoqda..."
+
+msgid "IDS_MEDIABR_POP_NEARBY_DEVICES_FOUND"
+msgstr "Yaqin-atrofda joylashgan qurilmalar topildi."
+
+msgid "IDS_MEDIABR_POP_NO_DEVICES_FOUND_SCANNING_FOR_NEARBY_DEVICES_WILL_CONTINUE_IN_BACKGROUND"
+msgstr "Qurilmalar topilmadi. Yaqin-atrofdagi qurilmalarni qidirish fonda davom etadi"
+
+msgid "IDS_MEDIABR_POP_REFRESHED"
+msgstr "Yangilandi."
+
+msgid "IDS_MEDIABR_POP_ROTATING_ING"
+msgstr "Aylantirilmoqda..."
+
+msgid "IDS_MEDIABR_POP_SCAN_STARTED_DEVICE_LIST_WILL_BE_UPDATED_AUTOMATICALLY"
+msgstr "Qidirish boshlandi. Qurilmalar ro‘yxati avtomatik ravishda yangilanadi"
+
+msgid "IDS_MEDIABR_POP_STARTING_DOWNLOAD_ABB"
+msgstr "Yuklab olish boshlanmoqda..."
+
+msgid "IDS_MF_OPT_COPY_TO"
+msgstr "Quyidagiga nusxa ko‘chirish"
+
+msgid "IDS_MF_OPT_MOVE_TO"
+msgstr "Quyidagiga ko‘chirish"
+
+msgid "IDS_MF_POP_FAILED_TO_ADD_SHORTCUT"
+msgstr "Yorliqni qo‘shib bo‘lmadi."
+
+msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
+msgstr "Xotira yetarli emas. Ba’zi elementlarni o'chiring"
+
+msgid "IDS_MF_POP_REMOVED"
+msgstr "Olib tashlandi."
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "Qo‘shilmoqda..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "%dta albom yo‘q qilinsinmi?"
+
+msgid "IDS_ST_BODY_PRIVATE_STORAGE"
+msgstr "Maxfiy xotira"
+
+msgid "IDS_IV_BODY_DRAG_HERE"
+msgstr "Bu yerga tortib o‘tkazing."
+
+msgid "IDS_GALLERY_BODY_NEW_M_ALBUM_ABB"
+msgstr "Yangi"
+
+msgid "IDS_GALLERY_HEADER_UNGROUPEDM_PEOPLE_ABB"
+msgstr "Guruhdan chiqarildi"
+
+msgid "IDS_KEEPIT_OPT_SCREENSHOTS_ABB"
+msgstr "Ekran suratlari"
+
+msgid "IDS_MEDIABR_OPT_PHOTOS"
+msgstr "Suratlar"
+
+msgid "IDS_MEDIABR_POP_DOWNLOAD_FAILED"
+msgstr "Yuklash bajarilmadi."
+
+msgid "IDS_MEDIABR_POP_UNSUPPORTED_FILE"
+msgstr "Qo‘llab-quvvatlanmaydigan fayl."
+
+msgid "IDS_SEARCH_BODY_1_RESULT"
+msgstr "1 natija"
+
+msgid "IDS_SEARCH_BODY_PD_RESULTS"
+msgstr "%d natija"
+
+msgid "IDS_TW_BODY_FAVORITES"
+msgstr "Tanlanganlar"
+
+msgid "IDS_EMAIL_POP_DOWNLOAD_CANCELLED"
+msgstr "Yuklab olish bekor qilindi."
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ALBUM_Q"
+msgstr "Ushbu albom yo‘q qilinsinmi?"
+
+msgid "IDS_CAM_HEADER_WARNING_ABB"
+msgstr "Ogohlantirish"
+
+msgid "IDS_ALM_OPT_SORT_BY"
+msgstr "Saralash"
+
+msgid "IDS_CLD_OPT_TODAY"
+msgstr "Bugun"
+
+msgid "IDS_GALLERY_BODY_DATE"
+msgstr "Sana"
+
+msgid "IDS_EMAIL_BODY_NO_ITEMS_TO_DISPLAY"
+msgstr "Ko‘rsatiladigan elementlar yo‘q."
+
+msgid "IDS_PBR_BODY_TAP_HERE_TO_TAKE_PICTURES_OR_VIDEOS"
+msgstr "Rasm yoki videoga olish uchun bu yerga teging."
+
+msgid "IDS_NFC_TPOP_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SHARED_HPD_EXCEEDED"
+msgstr "Ulashilgan elementlar soni maksimal miqdordan (%d) oshib ketdi."
+
+msgid "IDS_IV_BODY_TAP_TO_ADD_IMAGES"
+msgstr "Tasvirlar qo‘shish uchun teging."
+
+msgid "IDS_GALLERY_POP_COPY_OR_MOVE_THE_SELECTED_ITEMS_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "Asl nusxadagi albomdan elementlardan nusxa ko‘chirilsinmi yoki ular ko‘chirilsinmi?"
+
+msgid "IDS_GALLERY_HEADER_SELECT"
+msgstr "Tanlash"
+
+msgid "IDS_VIDEO_POP_FILE_ALREADY_EXISTS"
+msgstr "Fayl avvaldan mavjud."
+
+msgid "IDS_VIDEO_POP_THIS_ITEM_WILL_BE_DELETED"
+msgstr "Ushbu element yo‘q qilinadi."
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_FACEBOOK_ITEMS_WILL_BE_SHOWN"
+msgstr "Facebookka rasmlarni yuklaganingizdan so‘ng, elementlar ko‘rsatiladi."
+
+msgid "IDS_GALLERY_HEADER_SELECT_ALL_ABB"
+msgstr "Barchasini tanlash"
+
+msgid "IDS_GALLERY_HEADER_PD_SELECTED_ABB"
+msgstr "%d tanlandi"
+
+msgid "IDS_GALLERY_OPT_VIEW_AS"
+msgstr "Quyidagi sifatida ko‘rib chiqish"
+
+msgid "IDS_GALLERY_OPT_DATE_HMOST_RECENT_ABB2"
+msgstr "Sana (eng oxirgi)"
+
+msgid "IDS_GALLERY_OPT_DATE_HOLDEST_ABB3"
+msgstr "Sana (eng eski)"
+
+msgid "IDS_GALLERY_BODY_AFTER_YOU_TAKE_PICTURES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Rasmga olganingizdan so‘ng ular bu yerda ko‘rsatiladi."
+
+msgid "IDS_CLOUD_TPOP_CANCELLING_ING"
+msgstr "Bekor qilinmoqda..."
+
+msgid "IDS_GALLERY_OPT_FROM_DEVICE_ABB"
+msgstr "Qurilmadan"
+
+msgid "IDS_GALLERY_OPT_FROM_DROPBOX_ABB"
+msgstr "Dropbox-dan"
+
+msgid "IDS_GALLERY_OPT_FROM_FACEBOOK_ABB"
+msgstr "Facebook-dan"
+
+msgid "IDS_MUSIC_BODY_DOWNLOAD_COMPLETED"
+msgstr "Yuklash jarayoni yakunlandi."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DELETED"
+msgstr "Barcha elementlar o'chirib tashlanadi."
+
+msgid "IDS_GALLERY_POP_1_ITEM_WILL_BE_DOWNLOADED"
+msgstr "1 ta element yuklab olinadi."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "%d ta element yuklab olinadi."
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "Barcha elementlar yuklab olinadi."
+
+msgid "IDS_GALLERY_TPOP_SELECTED_ALBUM_SAME_AS_SOURCE_ALBUM_SELECT_ANOTHER_ALBUM"
+msgstr "Tanlangan albom manba albomi bilan bir xil. Boshqa albomni tanlang."
+
+msgid "IDS_HS_NPBODY_TAP_HERE_TO_ADD_IMAGES"
+msgstr "Tasvirlar qo‘shish uchun bu yerga teging"
+
+msgid "IDS_MF_HEADER_UNABLE_TO_SAVE_DATA_ABB"
+msgstr "Ma’lumotni saqlanmaydi"
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_IN_YOUR_DEVICE_STORAGE_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "Qurilmangiz xotirasida yetarli bo‘sh joy mavjud emas. Parametrlar > Quvvat va xotira > Xotiraga o‘ting, so‘ngra ba’zi fayllarni yo‘q qiling va qayta urinib ko‘ring."
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_YOUR_SD_CARD_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "SD-kartangizda yetarli xotira mavjud emas. Parametrlar > Quvvat va xotira > Xotiraga o‘ting, so‘ngra ba’zi fayllarni yo‘q qiling va qayta urinib ko‘ring."
+
+msgid "IDS_MF_BUTTON_CANCEL_ABB3"
+msgstr "Bekor qilish"
+
+msgid "IDS_MF_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Boshqa ko‘rsatilmasin"
+
+msgid "IDS_MF_POP_USING_MOBILE_DATA_WHILE_ROAMING_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "Rouming vaqtida Mobil ma’lumotdan foydalanish tarif rejangiz asosida qo‘shimcha to‘lovlarga olib kelishi mumkin."
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DELETED_ABB"
+msgstr "%dta element yo‘q qilinadi."
+
+msgid "IDS_GALLERY_OPT_DELETE"
+msgstr "Yo‘q qilish"
+
+msgid "IDS_GALLERY_BODY_YESTERDAY"
+msgstr "Kecha"
+
+msgid "IDS_BR_MBODY_DOWNLOADS"
+msgstr "Yuklanmalar"
+
+msgid "IDS_GALLERY_HEADER_COPY"
+msgstr "Nusxa ko‘chirish"
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "Yo‘q qilish"
+
+msgid "IDS_GALLERY_BUTTON_ALBUMS"
+msgstr "Albom"
+
+msgid "IDS_GALLERY_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Elementar soni maksimal miqdordan (%d) oshib ketdi."
+
+msgid "IDS_GALLERY_BUTTON_CANCEL"
+msgstr "Bekor qilish"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "BAJARILDI"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "BEKOR QILISH"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "O‘CHIRISH"
+
+msgid "IDS_GALLERY_POP_COPYING_ING"
+msgstr "Nusxa ko‘chirilmoqda..."
+
+msgid "IDS_GALLERY_POP_MOVING_ING"
+msgstr "Ko‘chirilmoqda..."
+
+msgid "IDS_STORYALBUM_POP_IF_YOU_CREATE_CONTENT_THAT_INCLUDES_ITEMS_FROM_PERSONAL_STORAGE_IT_MAY_NOT_BE_HIDDEN_AUTOMATICALLY_MSG"
+msgstr "Shaxsiy xotiradagi elementlarga ega tarkibni yaratsangiz, uni avtomatik ravishda yashirib bo‘lmaydi. Yangi tarkibni ko‘rib chiqayotganda, tanlangan shaxsiy tarkib ko‘rinishi mumkin."
+
+msgid "IDS_HS_ACBUTTON_EDIT"
+msgstr "TAHRIRLASH"
+
+msgid "IDS_MF_BUTTON_SETTINGS"
+msgstr "Parametrlar"
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "TAHRIRLA"
+
+msgid "IDS_CLOCK_HEADER_REORDER_ABB"
+msgstr "Qayta saralash"
+
diff --git a/res/po/zh_CN.po b/res/po/zh_CN.po
new file mode 100644 (file)
index 0000000..1d4df4e
--- /dev/null
@@ -0,0 +1,759 @@
+msgid "IDS_MF_POP_YOUR_DEVICE_IS_NOT_CONNECTED_TO_A_WI_FI_NETWORK_CONNECTING_TO_A_MOBILE_NETWORK_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "您的设备未连接至 Wi-Fi 网络。连接至移动网络根据您的付费方案可能产生额外费用。"
+
+msgid "IDS_VIDEO_TPOP_MOBILE_DATA_TURNED_OFF_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_TURN_ON_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "移动数据已关闭。改为连接至 Wi-Fi 网络或打开移动数据并重试。"
+
+msgid "IDS_VIDEO_BODY_AFTER_YOU_RECORD_VIDEOS_USING_THE_CAMERA_THEY_WILL_BE_SHOWN_HERE"
+msgstr "在您使用照相机录制视频后,其将显示在此处。"
+
+msgid "IDS_VIDEO_TPOP_FILE_NAME_ALREADY_IN_USE"
+msgstr "文件名已被使用"
+
+msgid "IDS_MF_POP_DELETE_PD_ITEMS_Q"
+msgstr "删除 %d 个项目吗?"
+
+msgid "IDS_ST_HEADER_PRIVACY"
+msgstr "隐私权"
+
+msgid "IDS_COM_BODY_SEP_ABB"
+msgstr "9月"
+
+msgid "IDS_COM_BODY_OCT_ABB"
+msgstr "10月"
+
+msgid "IDS_COM_BODY_NOV_ABB"
+msgstr "11月"
+
+msgid "IDS_COM_BODY_MAY_ABB"
+msgstr "5月"
+
+msgid "IDS_COM_BODY_MAR_ABB"
+msgstr "3月"
+
+msgid "IDS_COM_BODY_JUN_ABB"
+msgstr "6月"
+
+msgid "IDS_COM_BODY_JUL_ABB"
+msgstr "7月"
+
+msgid "IDS_COM_BODY_JAN_ABB"
+msgstr "1月"
+
+msgid "IDS_COM_BODY_FEB_ABB"
+msgstr "2月"
+
+msgid "IDS_COM_BODY_DEC_ABB"
+msgstr "12月"
+
+msgid "IDS_COM_BODY_AUG_ABB"
+msgstr "8月"
+
+msgid "IDS_COM_BODY_APR_ABB"
+msgstr "4月"
+
+msgid "IDS_GALLERY_HEADER_ALBUM"
+msgstr "相册"
+
+msgid "IDS_MEDIABR_OPT_MORE"
+msgstr "更多"
+
+msgid "IDS_MEDIABR_POP_INVALID_INPUT_PARAMETER"
+msgstr "输入参数无效"
+
+msgid "IDS_MEDIABR_POP_ENTRY_IS_EMPTY"
+msgstr "空记录。"
+
+msgid "IDS_MEDIABR_POP_SAME_NAME_ALREADY_IN_USE"
+msgstr "相同名字已使用"
+
+msgid "IDS_MEDIABR_POP_UNABLE_TO_RENAME"
+msgstr "无法重命名"
+
+msgid "IDS_MEDIABR_POP_NO_ALBUMS_SELECTED"
+msgstr "未选择音乐库。"
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ITEM"
+msgstr "选择项目"
+
+msgid "IDS_MEDIABR_BODY_NO_ALBUMS"
+msgstr "无相册"
+
+msgid "IDS_MEDIABR_POP_CREATE_FOLDER_Q"
+msgstr "创建文件夹吗?"
+
+msgid "IDS_MEDIABR_POP_RETRY_Q"
+msgstr "重试?"
+
+msgid "IDS_MEDIABR_POPUP_REMOVE_Q"
+msgstr "移除?"
+
+msgid "IDS_MEDIABR_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "将删除 %d 个相册。"
+
+msgid "IDS_MEDIABR_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "将删除 1 个相册。"
+
+msgid "IDS_MEDIABR_BODY_CAMERA"
+msgstr "照相机"
+
+msgid "IDS_MEDIABR_BUTTON_START"
+msgstr "开始"
+
+msgid "IDS_MEDIABR_OPT_SETTINGS"
+msgstr "设定"
+
+msgid "IDS_MEDIABR_OPT_YES"
+msgstr "是"
+
+msgid "IDS_MEDIABR_OPT_NO"
+msgstr "否"
+
+msgid "IDS_MEDIABR_BUTTON_OK"
+msgstr "确定"
+
+msgid "IDS_MEDIABR_BUTTON_SAVE"
+msgstr "保存"
+
+msgid "IDS_MEDIABR_POP_DELETE_Q"
+msgstr "删除?"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_ALBUM"
+msgstr "移动至相册"
+
+msgid "IDS_GALLERY_OPT_COPY_TO_ALBUM"
+msgstr "复制至相册"
+
+msgid "IDS_GALLERY_HEADER_VIEW_BY_ABB"
+msgstr "查看方式"
+
+msgid "IDS_GALLERY_HEADER_ENTER_NAME"
+msgstr "输入名称"
+
+msgid "IDS_MEDIABR_POP_ALL_DATA_RELATED_TO_THIS_ACCOUNT_WILL_BE_DELETED_CONTINUE_Q"
+msgstr "与此帐户相关的全部数据将被删除。继续?"
+
+msgid "IDS_MEDIABR_BUTTON_CANCEL_ABB"
+msgstr "取消"
+
+msgid "IDS_MEDIABR_TAB4_NEW_ALBUM"
+msgstr "新相册"
+
+msgid "IDS_MEDIABR_POP_DO_YOU_WANT_TO_COPY_OR_MOVE_THE_PICTURES_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "是否要从原始相册复制或移动照片?"
+
+msgid "IDS_MEDIABR_OPT_SHARE"
+msgstr "共享"
+
+msgid "IDS_MEDIABR_OPT_SLIDESHOW"
+msgstr "幻灯片播放"
+
+msgid "IDS_MEDIABR_OPT_START_SLIDESHOW"
+msgstr "开始播放幻灯片"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS"
+msgstr "幻灯片播放设定"
+
+msgid "IDS_MEDIABR_POP_NO_NAME"
+msgstr "无名称"
+
+msgid "IDS_MEDIABR_BODY_ALL_ALBUMS"
+msgstr "所有相册"
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ALBUM"
+msgstr "选择相册"
+
+msgid "IDS_MEDIABR_POP_1_ITEM_WILL_BE_DELETED"
+msgstr "将删除 1 个项目。"
+
+msgid "IDS_MEDIABR_OPT_ALL_ITEMS"
+msgstr "所有项目"
+
+msgid "IDS_MEDIABR_BODY_PD_ITEMS"
+msgstr "%d个项目"
+
+msgid "IDS_IV_BODY_THERE_IS_ONLY_ONE_ALBUM"
+msgstr "仅有一个相册"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "最多可选择%d个项目。"
+
+msgid "IDS_MF_BODY_DOWNLOADS"
+msgstr "下载列表"
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "删除?"
+
+msgid "IDS_MF_SK_MOVE"
+msgstr "移动"
+
+msgid "IDS_MF_POP_DELETING_ING"
+msgstr "删除中.."
+
+msgid "IDS_CAM_BODY_OPERATION_FAILED"
+msgstr "操作失败"
+
+msgid "IDS_MSG_BODY_CANCELLED_M_CONTENT"
+msgstr "已取消"
+
+msgid "IDS_MF_OPT_DELETE_SELECTED"
+msgstr "已选定"
+
+msgid "IDS_MF_POP_MOVED"
+msgstr "已移动"
+
+msgid "IDS_MF_POP_COPIED"
+msgstr "已复制"
+
+msgid "IDS_VPL_POP_NO_FILES_SELECTED"
+msgstr "没有可选的文件。"
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "关闭"
+
+msgid "IDS_MF_OPT_SORT_BY_ABB"
+msgstr "排序方式"
+
+msgid "IDS_CAM_POP_LATEST"
+msgstr "最新"
+
+msgid "IDS_MEDIABR_POP_OLDEST_M_DATE"
+msgstr "最早"
+
+msgid "IDS_MSG_BUTTON2_CREATE"
+msgstr "新建"
+
+msgid "IDS_MEDIABR_POP_NO_ITEMS"
+msgstr "无项目"
+
+msgid "IDS_MEDIABR_OPT_EDIT_IMAGE"
+msgstr "编辑图像"
+
+msgid "IDS_MEDIABR_BODY_SELECT_PICTURE"
+msgstr "选择图片"
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ITEM_Q"
+msgstr "是否删除该项目?"
+
+msgid "IDS_GALLERY_OPT_SCENERY"
+msgstr "场景"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PRIVATE"
+msgstr "从私密模式移除"
+
+msgid "IDS_GALLERY_OPT_PETS"
+msgstr "宠物"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_PRIVATE"
+msgstr "移动至私密模式"
+
+msgid "IDS_GALLERY_OPT_FOOD"
+msgstr "美食"
+
+msgid "IDS_GALLERY_OPT_FLOWERS"
+msgstr "鲜花"
+
+msgid "IDS_GALLERY_OPT_DOCUMENTS"
+msgstr "文档"
+
+msgid "IDS_GALLERY_MBODY_VEHICLES"
+msgstr "车辆"
+
+msgid "IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED"
+msgstr "已达到最大字符数(%d)。"
+
+msgid "IDS_IV_BODY_UNABLE_TO_LOAD_PHOTO_ABB"
+msgstr "无法载入"
+
+msgid "IDS_IV_BODY_SHARE_VIA"
+msgstr "共享通过"
+
+msgid "IDS_IV_BODY_DONT_ASK_AGAIN"
+msgstr "不再询问"
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "已达到最大字符限制"
+
+msgid "IDS_GALLERY_HEADER_TIME"
+msgstr "时间"
+
+msgid "IDS_EMAIL_BODY_FAILED_M_STATUS"
+msgstr "失败"
+
+msgid "IDS_EMAIL_BODY_DELETED"
+msgstr "已删除"
+
+msgid "IDS_EMAIL_POP_DELETE_Q"
+msgstr "删除?"
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "正在移除..."
+
+msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS"
+msgstr "显示 %d 个项目"
+
+msgid "IDS_GALLERY_OPT_CREATE_ALBUM"
+msgstr "创建相册"
+
+msgid "IDS_GALLERY_OPT_GALLERY_ABB"
+msgstr "相册"
+
+msgid "IDS_EMAIL_BUTTON_MORE"
+msgstr "更多"
+
+msgid "IDS_EMAIL_OPT_ACCOUNTS"
+msgstr "账户"
+
+msgid "IDS_EMAIL_POP_OPERATION_FAILED"
+msgstr "操作失败"
+
+msgid "IDS_GALLERY_BODY_DOWNLOAD"
+msgstr "下载"
+
+msgid "IDS_GALLERY_BODY_SEARCH"
+msgstr "搜索"
+
+msgid "IDS_GALLERY_BUTTON_BACK"
+msgstr "返回"
+
+msgid "IDS_GALLERY_BUTTON_CAMERA"
+msgstr "照相机"
+
+msgid "IDS_GALLERY_HEADER_ALL"
+msgstr "全部"
+
+msgid "IDS_GALLERY_OPT_REFRESH"
+msgstr "刷新"
+
+msgid "IDS_GALLERY_OPT_REMOVE"
+msgstr "移除"
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_DROPBOX_ITEMS_WILL_BE_SHOWN"
+msgstr "在您上传照片至 Dropbox 后,将显示项目。"
+
+msgid "IDS_KEEPIT_BODY_GROUP_PLAY_ABB"
+msgstr "Group Play"
+
+msgid "IDS_MEDIABR_HEADER_CONTACTS"
+msgstr "联系人"
+
+msgid "IDS_MEDIABR_OPT_CREATE"
+msgstr "新建"
+
+msgid "IDS_MEDIABR_OPT_DETAILS"
+msgstr "详情"
+
+msgid "IDS_MEDIABR_OPT_PRINT"
+msgstr "打印"
+
+msgid "IDS_MEDIABR_OPT_RENAME"
+msgstr "重命名"
+
+msgid "IDS_MEDIABR_POP_DOWNLOADED"
+msgstr "已下载"
+
+msgid "IDS_MEDIABR_POP_DOWNLOADING_ING"
+msgstr "下载中..."
+
+msgid "IDS_MF_HEADER_ENTER_NAME"
+msgstr "输入名字。"
+
+msgid "IDS_MF_HEADER_MYFILES"
+msgstr "我的文件"
+
+msgid "IDS_MF_POP_ADDED"
+msgstr "已添加"
+
+msgid "IDS_MF_POP_PROCESSING_ING"
+msgstr "处理中..."
+
+msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
+msgstr "不支持的文件类型。"
+
+msgid "IDS_IMGE_BODY_AFTER_YOU_TAKE_PICTURES_PICTURES_WILL_BE_SHOWN"
+msgstr "在您拍照后,将显示照片。"
+
+msgid "IDS_IME_BODY_LANDSCAPE_MODE"
+msgstr "横向模式"
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_CLOSE_DRAWER_MENU_TTS"
+msgstr "双击以关闭抽屉菜单。"
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_OPEN_DRAWER_MENU_TTS"
+msgstr "双击以打开抽屉菜单。"
+
+msgid "IDS_EMAIL_BODY_DRAG_AND_DROP"
+msgstr "拖放"
+
+msgid "IDS_EMAIL_OPT_DRAWER_ABB"
+msgstr "抽屉"
+
+msgid "IDS_EMAIL_POP_MOBILE_DATA_IS_DISABLED_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_ENABLE_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "移动数据已禁用。连接至 Wi-Fi 网络,或启用移动数据并重试。"
+
+msgid "IDS_EMAIL_POP_WI_FI_CONNECTION_REQUIRED_CONNECT_TO_WI_FI_NETWORK_AND_TRY_AGAIN"
+msgstr "需要 Wi-Fi 连接。连接至 Wi-Fi 网络并重试。"
+
+msgid "IDS_GALLERY_HEADER_ADD_PICTURES_FROM_ABB"
+msgstr "添加照片自"
+
+msgid "IDS_GALLERY_HEADER_CONNECTED_DEVICES_ABB"
+msgstr "已连接设备"
+
+msgid "IDS_GALLERY_OPT_PRIVATE_CONTENT"
+msgstr "私人内容"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PS"
+msgstr "从 %s 移除"
+
+msgid "IDS_GALLERY_OPT_REMOVE_NAME_TAG"
+msgstr "移除名称标签"
+
+msgid "IDS_GALLERY_POP_THERE_ARE_NO_EVENTS_TO_DISPLAY_CREATE_A_NEW_EVENT"
+msgstr "无可显示事件。创建一个新事件。"
+
+msgid "IDS_GALLERY_POP_TO_SCROLL_QUICKLY_TO_OTHER_DATES_TAP_AND_HOLD_THE_DATE_INDICATOR_AT_THE_TOP_RIGHT_OF_THE_SCREEN"
+msgstr "若要快速滚动至其他日期,请轻敲并按住屏幕右上方的日期指示。"
+
+msgid "IDS_GP_POP_REMOVE_PD_ITEMS_Q"
+msgstr "移除%d个项目?"
+
+msgid "IDS_GP_POP_REMOVE_THIS_ITEM_Q"
+msgstr "是否移除该项目?"
+
+msgid "IDS_HELP_BODY_GALLERY"
+msgstr "相册"
+
+msgid "IDS_HELP_OPT_SHUFFLED_PICTURES"
+msgstr "随机排序的照片"
+
+msgid "IDS_IV_BODY_ADD_PICTURES"
+msgstr "添加图片"
+
+msgid "IDS_IV_BODY_AFTER_YOU_TAG_PICTURES_AS_YOUR_FAVOURITES_PICTURES_WILL_BE_SHOWN"
+msgstr "在您将图片标记为您的收藏时,将显示图片。"
+
+msgid "IDS_IV_BODY_REMOVE_FACE_IDENTIFICATION_Q"
+msgstr "是否移除面部识别?"
+
+msgid "IDS_IV_OPT_ASSIGN_NAME"
+msgstr "分配名称"
+
+msgid "IDS_IV_OPT_CONFIRM_AS_PS"
+msgstr "确认为 %s"
+
+msgid "IDS_IV_OPT_LAYOUT_M_PICTUERS"
+msgstr "布局"
+
+msgid "IDS_IV_OPT_PD_PICTURES_ADDED"
+msgstr "%d 张图片已添加"
+
+msgid "IDS_IV_POP_THE_ALBUM_WILL_BE_CANCELLED"
+msgstr "相册将被取消"
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEM_ABB"
+msgstr "删除项目"
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEMS"
+msgstr "删除项目"
+
+msgid "IDS_MEDIABR_BODY_1_ITEM"
+msgstr "1个项目"
+
+msgid "IDS_MEDIABR_BODY_10_SECONDS"
+msgstr "10 秒"
+
+msgid "IDS_MEDIABR_BODY_5_SECONDS"
+msgstr "5 秒"
+
+msgid "IDS_MEDIABR_BODY_NOT_ASSIGNED"
+msgstr "未分配"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL"
+msgstr "幻灯片播放间隔"
+
+msgid "IDS_MEDIABR_BODY_UNTAGGED"
+msgstr "未标签"
+
+msgid "IDS_MEDIABR_OPT_3_SECONDS"
+msgstr "3 秒"
+
+msgid "IDS_MEDIABR_OPT_ALL_CONTENT"
+msgstr "全部内容"
+
+msgid "IDS_MEDIABR_OPT_CONTENT_TO_DISPLAY"
+msgstr "要显示的内容"
+
+msgid "IDS_MEDIABR_OPT_DELETE_TAG"
+msgstr "删除记录"
+
+msgid "IDS_MEDIABR_OPT_DEVICE_CONTENT"
+msgstr "设备内容"
+
+msgid "IDS_MEDIABR_OPT_DROPBOX_CONTENT"
+msgstr "Dropbox 内容"
+
+msgid "IDS_MEDIABR_OPT_FACEBOOK_CONTENT"
+msgstr "Facebook 内容"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_LEFT"
+msgstr "向左旋转"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_RIGHT"
+msgstr "向右旋转"
+
+msgid "IDS_MEDIABR_POP_IMPORT"
+msgstr "导入"
+
+msgid "IDS_MEDIABR_POP_IMPORTED"
+msgstr "已导入"
+
+msgid "IDS_MEDIABR_POP_IMPORTING_ING"
+msgstr "导入中…"
+
+msgid "IDS_MEDIABR_POP_LOADING_ING"
+msgstr "载入中…"
+
+msgid "IDS_MEDIABR_POP_NEARBY_DEVICES_FOUND"
+msgstr "已找到附近设备"
+
+msgid "IDS_MEDIABR_POP_NO_DEVICES_FOUND_SCANNING_FOR_NEARBY_DEVICES_WILL_CONTINUE_IN_BACKGROUND"
+msgstr "未找到设备。将在后台继续扫描附近设备。"
+
+msgid "IDS_MEDIABR_POP_REFRESHED"
+msgstr "已刷新。"
+
+msgid "IDS_MEDIABR_POP_ROTATING_ING"
+msgstr "旋转中…"
+
+msgid "IDS_MEDIABR_POP_SCAN_STARTED_DEVICE_LIST_WILL_BE_UPDATED_AUTOMATICALLY"
+msgstr "扫描已开始。设备列表将自动更新。"
+
+msgid "IDS_MEDIABR_POP_STARTING_DOWNLOAD_ABB"
+msgstr "正在开始下载…"
+
+msgid "IDS_MF_OPT_COPY_TO"
+msgstr "复制至"
+
+msgid "IDS_MF_OPT_MOVE_TO"
+msgstr "移动至"
+
+msgid "IDS_MF_POP_FAILED_TO_ADD_SHORTCUT"
+msgstr "添加快捷方式失败。"
+
+msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
+msgstr "存储空间不足。请删除部分项目。"
+
+msgid "IDS_MF_POP_REMOVED"
+msgstr "已移除"
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "添加中..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "是否删除 %d 本相册?"
+
+msgid "IDS_ST_BODY_PRIVATE_STORAGE"
+msgstr "私人存储空间"
+
+msgid "IDS_IV_BODY_DRAG_HERE"
+msgstr "拖拽至此处"
+
+msgid "IDS_GALLERY_BODY_NEW_M_ALBUM_ABB"
+msgstr "新建"
+
+msgid "IDS_GALLERY_HEADER_UNGROUPEDM_PEOPLE_ABB"
+msgstr "未分组"
+
+msgid "IDS_KEEPIT_OPT_SCREENSHOTS_ABB"
+msgstr "截屏"
+
+msgid "IDS_MEDIABR_OPT_PHOTOS"
+msgstr "照片"
+
+msgid "IDS_MEDIABR_POP_DOWNLOAD_FAILED"
+msgstr "下载失败"
+
+msgid "IDS_MEDIABR_POP_UNSUPPORTED_FILE"
+msgstr "不支持的文件"
+
+msgid "IDS_SEARCH_BODY_1_RESULT"
+msgstr "1个结果"
+
+msgid "IDS_SEARCH_BODY_PD_RESULTS"
+msgstr "%d个结果"
+
+msgid "IDS_TW_BODY_FAVORITES"
+msgstr "收藏"
+
+msgid "IDS_EMAIL_POP_DOWNLOAD_CANCELLED"
+msgstr "已取消下载"
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ALBUM_Q"
+msgstr "是否删除该相册?"
+
+msgid "IDS_CAM_HEADER_WARNING_ABB"
+msgstr "警告"
+
+msgid "IDS_ALM_OPT_SORT_BY"
+msgstr "排序方式"
+
+msgid "IDS_CLD_OPT_TODAY"
+msgstr "今天"
+
+msgid "IDS_GALLERY_BODY_DATE"
+msgstr "日期"
+
+msgid "IDS_EMAIL_BODY_NO_ITEMS_TO_DISPLAY"
+msgstr "无可显示的条目。"
+
+msgid "IDS_PBR_BODY_TAP_HERE_TO_TAKE_PICTURES_OR_VIDEOS"
+msgstr "轻敲此处以拍摄照片或视频。"
+
+msgid "IDS_NFC_TPOP_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SHARED_HPD_EXCEEDED"
+msgstr "已超过可共享的最大项目数 (%d)"
+
+msgid "IDS_IV_BODY_TAP_TO_ADD_IMAGES"
+msgstr "点击添加图像"
+
+msgid "IDS_GALLERY_POP_COPY_OR_MOVE_THE_SELECTED_ITEMS_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "是否从原始相册复制或移动选中项目?"
+
+msgid "IDS_GALLERY_HEADER_SELECT"
+msgstr "选择"
+
+msgid "IDS_VIDEO_POP_FILE_ALREADY_EXISTS"
+msgstr "文件已存在"
+
+msgid "IDS_VIDEO_POP_THIS_ITEM_WILL_BE_DELETED"
+msgstr "该项目将被删除。"
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_FACEBOOK_ITEMS_WILL_BE_SHOWN"
+msgstr "在您上传照片至 Facebook 后,将显示项目。"
+
+msgid "IDS_GALLERY_HEADER_SELECT_ALL_ABB"
+msgstr "全选"
+
+msgid "IDS_GALLERY_HEADER_PD_SELECTED_ABB"
+msgstr "%d 已选择"
+
+msgid "IDS_GALLERY_OPT_VIEW_AS"
+msgstr "查看方式"
+
+msgid "IDS_GALLERY_OPT_DATE_HMOST_RECENT_ABB2"
+msgstr "日期(最近)"
+
+msgid "IDS_GALLERY_OPT_DATE_HOLDEST_ABB3"
+msgstr "日期(最早)"
+
+msgid "IDS_GALLERY_BODY_AFTER_YOU_TAKE_PICTURES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "在您拍摄照片后,其将显示在此处。"
+
+msgid "IDS_CLOUD_TPOP_CANCELLING_ING"
+msgstr "正在取消..."
+
+msgid "IDS_GALLERY_OPT_FROM_DEVICE_ABB"
+msgstr "从设备"
+
+msgid "IDS_GALLERY_OPT_FROM_DROPBOX_ABB"
+msgstr "从 Dropbox"
+
+msgid "IDS_GALLERY_OPT_FROM_FACEBOOK_ABB"
+msgstr "从 Facebook"
+
+msgid "IDS_MUSIC_BODY_DOWNLOAD_COMPLETED"
+msgstr "下载结束"
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DELETED"
+msgstr "全部项目将被删除。"
+
+msgid "IDS_GALLERY_POP_1_ITEM_WILL_BE_DOWNLOADED"
+msgstr "将下载 1 个项目。"
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "将下载 %d 个项目。"
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "将下载所有项目。"
+
+msgid "IDS_GALLERY_TPOP_SELECTED_ALBUM_SAME_AS_SOURCE_ALBUM_SELECT_ANOTHER_ALBUM"
+msgstr "选中的相册与源相册相同。请选择其他相册。"
+
+msgid "IDS_HS_NPBODY_TAP_HERE_TO_ADD_IMAGES"
+msgstr "点击此处以添加图像"
+
+msgid "IDS_MF_HEADER_UNABLE_TO_SAVE_DATA_ABB"
+msgstr "无法保存数据"
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_IN_YOUR_DEVICE_STORAGE_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "您的设备存储空间不足。请进入设定 > 电源和存储 > 存储,然后删除部分文件并重试。"
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_YOUR_SD_CARD_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "您的 SD 卡存储空间不足。请进入设定 > 电源和存储 > 存储,然后删除部分文件并重试。"
+
+msgid "IDS_MF_BUTTON_CANCEL_ABB3"
+msgstr "取消"
+
+msgid "IDS_MF_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "不再显示"
+
+msgid "IDS_MF_POP_USING_MOBILE_DATA_WHILE_ROAMING_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "根据您的付费方案,漫游时使用移动数据可能产生额外费用。"
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DELETED_ABB"
+msgstr "将删除 %d 个项目。"
+
+msgid "IDS_GALLERY_OPT_DELETE"
+msgstr "删除"
+
+msgid "IDS_GALLERY_BODY_YESTERDAY"
+msgstr "昨天"
+
+msgid "IDS_BR_MBODY_DOWNLOADS"
+msgstr "下载"
+
+msgid "IDS_GALLERY_HEADER_COPY"
+msgstr "复制"
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "删除"
+
+msgid "IDS_GALLERY_BUTTON_ALBUMS"
+msgstr "相册"
+
+msgid "IDS_GALLERY_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_HPD_HAS_BEEN_EXCEEDED"
+msgstr "已超过最大项目数 (%d)。"
+
+msgid "IDS_GALLERY_BUTTON_CANCEL"
+msgstr "取消"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "完成"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "取消"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "删除"
+
+msgid "IDS_GALLERY_POP_COPYING_ING"
+msgstr "正在复制..."
+
+msgid "IDS_GALLERY_POP_MOVING_ING"
+msgstr "移动中..."
+
+msgid "IDS_STORYALBUM_POP_IF_YOU_CREATE_CONTENT_THAT_INCLUDES_ITEMS_FROM_PERSONAL_STORAGE_IT_MAY_NOT_BE_HIDDEN_AUTOMATICALLY_MSG"
+msgstr "如果您创建包括来自个人存储空间的内容,其可能无法自动隐藏。选中的个人内容可在查看新内容时看到。"
+
+msgid "IDS_HS_ACBUTTON_EDIT"
+msgstr "编辑"
+
+msgid "IDS_MF_BUTTON_SETTINGS"
+msgstr "设定"
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "编辑"
+
+msgid "IDS_CLOCK_HEADER_REORDER_ABB"
+msgstr "重新排序"
+
diff --git a/res/po/zh_HK.po b/res/po/zh_HK.po
new file mode 100644 (file)
index 0000000..30a414d
--- /dev/null
@@ -0,0 +1,759 @@
+msgid "IDS_MF_POP_YOUR_DEVICE_IS_NOT_CONNECTED_TO_A_WI_FI_NETWORK_CONNECTING_TO_A_MOBILE_NETWORK_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "您的裝置尚未連接至 Wi-Fi 網絡。連接至流動網絡可能根據您的資費計畫產生額外費用。"
+
+msgid "IDS_VIDEO_TPOP_MOBILE_DATA_TURNED_OFF_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_TURN_ON_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "流動數據已關閉。改為連接至 Wi-Fi 網絡或開啟流動數據並重試。"
+
+msgid "IDS_VIDEO_BODY_AFTER_YOU_RECORD_VIDEOS_USING_THE_CAMERA_THEY_WILL_BE_SHOWN_HERE"
+msgstr "使用相機錄製影片後,將顯示於此。"
+
+msgid "IDS_VIDEO_TPOP_FILE_NAME_ALREADY_IN_USE"
+msgstr "檔案名稱已被使用"
+
+msgid "IDS_MF_POP_DELETE_PD_ITEMS_Q"
+msgstr "要刪除 %d 個項目嗎?"
+
+msgid "IDS_ST_HEADER_PRIVACY"
+msgstr "私隱"
+
+msgid "IDS_COM_BODY_SEP_ABB"
+msgstr "9 月"
+
+msgid "IDS_COM_BODY_OCT_ABB"
+msgstr "10 月"
+
+msgid "IDS_COM_BODY_NOV_ABB"
+msgstr "11 月"
+
+msgid "IDS_COM_BODY_MAY_ABB"
+msgstr "5 月"
+
+msgid "IDS_COM_BODY_MAR_ABB"
+msgstr "3 月"
+
+msgid "IDS_COM_BODY_JUN_ABB"
+msgstr "6 月"
+
+msgid "IDS_COM_BODY_JUL_ABB"
+msgstr "7 月"
+
+msgid "IDS_COM_BODY_JAN_ABB"
+msgstr "1 月"
+
+msgid "IDS_COM_BODY_FEB_ABB"
+msgstr "2 月"
+
+msgid "IDS_COM_BODY_DEC_ABB"
+msgstr "12 月"
+
+msgid "IDS_COM_BODY_AUG_ABB"
+msgstr "8 月"
+
+msgid "IDS_COM_BODY_APR_ABB"
+msgstr "4 月"
+
+msgid "IDS_GALLERY_HEADER_ALBUM"
+msgstr "相簿"
+
+msgid "IDS_MEDIABR_OPT_MORE"
+msgstr "更多"
+
+msgid "IDS_MEDIABR_POP_INVALID_INPUT_PARAMETER"
+msgstr "輸入參數無效。"
+
+msgid "IDS_MEDIABR_POP_ENTRY_IS_EMPTY"
+msgstr "空白記錄。"
+
+msgid "IDS_MEDIABR_POP_SAME_NAME_ALREADY_IN_USE"
+msgstr "相同名稱已被使用"
+
+msgid "IDS_MEDIABR_POP_UNABLE_TO_RENAME"
+msgstr "無法重新命名。"
+
+msgid "IDS_MEDIABR_POP_NO_ALBUMS_SELECTED"
+msgstr "未選擇專輯。"
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ITEM"
+msgstr "選擇項目"
+
+msgid "IDS_MEDIABR_BODY_NO_ALBUMS"
+msgstr "無相簿"
+
+msgid "IDS_MEDIABR_POP_CREATE_FOLDER_Q"
+msgstr "要建立資料夾嗎?"
+
+msgid "IDS_MEDIABR_POP_RETRY_Q"
+msgstr "要重試嗎?"
+
+msgid "IDS_MEDIABR_POPUP_REMOVE_Q"
+msgstr "要移除嗎?"
+
+msgid "IDS_MEDIABR_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "將刪除 %d 個相簿。"
+
+msgid "IDS_MEDIABR_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "將刪除 1 個相簿。"
+
+msgid "IDS_MEDIABR_BODY_CAMERA"
+msgstr "相機"
+
+msgid "IDS_MEDIABR_BUTTON_START"
+msgstr "開始"
+
+msgid "IDS_MEDIABR_OPT_SETTINGS"
+msgstr "設定"
+
+msgid "IDS_MEDIABR_OPT_YES"
+msgstr "是"
+
+msgid "IDS_MEDIABR_OPT_NO"
+msgstr "否"
+
+msgid "IDS_MEDIABR_BUTTON_OK"
+msgstr "確定"
+
+msgid "IDS_MEDIABR_BUTTON_SAVE"
+msgstr "儲存"
+
+msgid "IDS_MEDIABR_POP_DELETE_Q"
+msgstr "刪除嗎?"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_ALBUM"
+msgstr "移動至相簿"
+
+msgid "IDS_GALLERY_OPT_COPY_TO_ALBUM"
+msgstr "複製至相簿"
+
+msgid "IDS_GALLERY_HEADER_VIEW_BY_ABB"
+msgstr "檢視方式"
+
+msgid "IDS_GALLERY_HEADER_ENTER_NAME"
+msgstr "輸入名稱"
+
+msgid "IDS_MEDIABR_POP_ALL_DATA_RELATED_TO_THIS_ACCOUNT_WILL_BE_DELETED_CONTINUE_Q"
+msgstr "所有關於此帳戶的數據將被刪除。繼續嗎?"
+
+msgid "IDS_MEDIABR_BUTTON_CANCEL_ABB"
+msgstr "取消"
+
+msgid "IDS_MEDIABR_TAB4_NEW_ALBUM"
+msgstr "新相簿"
+
+msgid "IDS_MEDIABR_POP_DO_YOU_WANT_TO_COPY_OR_MOVE_THE_PICTURES_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "要從原始相簿複製或移動圖片嗎?"
+
+msgid "IDS_MEDIABR_OPT_SHARE"
+msgstr "分享"
+
+msgid "IDS_MEDIABR_OPT_SLIDESHOW"
+msgstr "投影片"
+
+msgid "IDS_MEDIABR_OPT_START_SLIDESHOW"
+msgstr "開始播放投影片"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS"
+msgstr "投影片設定"
+
+msgid "IDS_MEDIABR_POP_NO_NAME"
+msgstr "無名稱"
+
+msgid "IDS_MEDIABR_BODY_ALL_ALBUMS"
+msgstr "全部相簿"
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ALBUM"
+msgstr "選擇相簿"
+
+msgid "IDS_MEDIABR_POP_1_ITEM_WILL_BE_DELETED"
+msgstr "將刪除 1 個項目。"
+
+msgid "IDS_MEDIABR_OPT_ALL_ITEMS"
+msgstr "全部項目"
+
+msgid "IDS_MEDIABR_BODY_PD_ITEMS"
+msgstr "%d 個項目"
+
+msgid "IDS_IV_BODY_THERE_IS_ONLY_ONE_ALBUM"
+msgstr "僅有一本相簿。"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "最多可選擇 %d 個項目。"
+
+msgid "IDS_MF_BODY_DOWNLOADS"
+msgstr "下載項目"
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "刪除嗎?"
+
+msgid "IDS_MF_SK_MOVE"
+msgstr "移動"
+
+msgid "IDS_MF_POP_DELETING_ING"
+msgstr "正在刪除..."
+
+msgid "IDS_CAM_BODY_OPERATION_FAILED"
+msgstr "操作失敗"
+
+msgid "IDS_MSG_BODY_CANCELLED_M_CONTENT"
+msgstr "已取消"
+
+msgid "IDS_MF_OPT_DELETE_SELECTED"
+msgstr "已選擇"
+
+msgid "IDS_MF_POP_MOVED"
+msgstr "已移動"
+
+msgid "IDS_MF_POP_COPIED"
+msgstr "已複製。"
+
+msgid "IDS_VPL_POP_NO_FILES_SELECTED"
+msgstr "無選擇檔案"
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "關閉"
+
+msgid "IDS_MF_OPT_SORT_BY_ABB"
+msgstr "排序方式"
+
+msgid "IDS_CAM_POP_LATEST"
+msgstr "最新"
+
+msgid "IDS_MEDIABR_POP_OLDEST_M_DATE"
+msgstr "最舊"
+
+msgid "IDS_MSG_BUTTON2_CREATE"
+msgstr "建立"
+
+msgid "IDS_MEDIABR_POP_NO_ITEMS"
+msgstr "無項目"
+
+msgid "IDS_MEDIABR_OPT_EDIT_IMAGE"
+msgstr "編輯圖像"
+
+msgid "IDS_MEDIABR_BODY_SELECT_PICTURE"
+msgstr "選擇圖片"
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ITEM_Q"
+msgstr "刪除此項目嗎?"
+
+msgid "IDS_GALLERY_OPT_SCENERY"
+msgstr "場景"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PRIVATE"
+msgstr "從私人資料夾中移除"
+
+msgid "IDS_GALLERY_OPT_PETS"
+msgstr "寵物"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_PRIVATE"
+msgstr "移動至私人資料夾"
+
+msgid "IDS_GALLERY_OPT_FOOD"
+msgstr "美食"
+
+msgid "IDS_GALLERY_OPT_FLOWERS"
+msgstr "花朵"
+
+msgid "IDS_GALLERY_OPT_DOCUMENTS"
+msgstr "文件"
+
+msgid "IDS_GALLERY_MBODY_VEHICLES"
+msgstr "車輛"
+
+msgid "IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED"
+msgstr "已達字元數目上限 (%d)。"
+
+msgid "IDS_IV_BODY_UNABLE_TO_LOAD_PHOTO_ABB"
+msgstr "無法載入相片。"
+
+msgid "IDS_IV_BODY_SHARE_VIA"
+msgstr "分享透過"
+
+msgid "IDS_IV_BODY_DONT_ASK_AGAIN"
+msgstr "不再詢問"
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "字元數目已達上限。"
+
+msgid "IDS_GALLERY_HEADER_TIME"
+msgstr "時間"
+
+msgid "IDS_EMAIL_BODY_FAILED_M_STATUS"
+msgstr "失敗"
+
+msgid "IDS_EMAIL_BODY_DELETED"
+msgstr "已刪除。"
+
+msgid "IDS_EMAIL_POP_DELETE_Q"
+msgstr "刪除嗎?"
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "正在移除..."
+
+msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS"
+msgstr "顯示 %d 個項目"
+
+msgid "IDS_GALLERY_OPT_CREATE_ALBUM"
+msgstr "建立相簿"
+
+msgid "IDS_GALLERY_OPT_GALLERY_ABB"
+msgstr "媒體瀏覽器"
+
+msgid "IDS_EMAIL_BUTTON_MORE"
+msgstr "更多"
+
+msgid "IDS_EMAIL_OPT_ACCOUNTS"
+msgstr "帳戶"
+
+msgid "IDS_EMAIL_POP_OPERATION_FAILED"
+msgstr "操作失敗"
+
+msgid "IDS_GALLERY_BODY_DOWNLOAD"
+msgstr "下載"
+
+msgid "IDS_GALLERY_BODY_SEARCH"
+msgstr "搜尋"
+
+msgid "IDS_GALLERY_BUTTON_BACK"
+msgstr "返回"
+
+msgid "IDS_GALLERY_BUTTON_CAMERA"
+msgstr "相機"
+
+msgid "IDS_GALLERY_HEADER_ALL"
+msgstr "全部"
+
+msgid "IDS_GALLERY_OPT_REFRESH"
+msgstr "重新整理"
+
+msgid "IDS_GALLERY_OPT_REMOVE"
+msgstr "移除"
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_DROPBOX_ITEMS_WILL_BE_SHOWN"
+msgstr "將圖片上載至 Dropbox 後將顯示項目。"
+
+msgid "IDS_KEEPIT_BODY_GROUP_PLAY_ABB"
+msgstr "Group Play"
+
+msgid "IDS_MEDIABR_HEADER_CONTACTS"
+msgstr "聯絡人"
+
+msgid "IDS_MEDIABR_OPT_CREATE"
+msgstr "建立"
+
+msgid "IDS_MEDIABR_OPT_DETAILS"
+msgstr "詳細資料"
+
+msgid "IDS_MEDIABR_OPT_PRINT"
+msgstr "列印"
+
+msgid "IDS_MEDIABR_OPT_RENAME"
+msgstr "重新命名"
+
+msgid "IDS_MEDIABR_POP_DOWNLOADED"
+msgstr "已下載"
+
+msgid "IDS_MEDIABR_POP_DOWNLOADING_ING"
+msgstr "正在下載..."
+
+msgid "IDS_MF_HEADER_ENTER_NAME"
+msgstr "輸入名稱。"
+
+msgid "IDS_MF_HEADER_MYFILES"
+msgstr "我的檔案"
+
+msgid "IDS_MF_POP_ADDED"
+msgstr "已加入"
+
+msgid "IDS_MF_POP_PROCESSING_ING"
+msgstr "正在處理..."
+
+msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
+msgstr "不支援的檔案類型。"
+
+msgid "IDS_IMGE_BODY_AFTER_YOU_TAKE_PICTURES_PICTURES_WILL_BE_SHOWN"
+msgstr "拍攝照片後,將顯示照片。"
+
+msgid "IDS_IME_BODY_LANDSCAPE_MODE"
+msgstr "橫向模式"
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_CLOSE_DRAWER_MENU_TTS"
+msgstr "輕觸兩下以關閉滑動選單功能表。"
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_OPEN_DRAWER_MENU_TTS"
+msgstr "輕觸兩下以開啟滑動選單功能表。"
+
+msgid "IDS_EMAIL_BODY_DRAG_AND_DROP"
+msgstr "拖放"
+
+msgid "IDS_EMAIL_OPT_DRAWER_ABB"
+msgstr "滑動選單"
+
+msgid "IDS_EMAIL_POP_MOBILE_DATA_IS_DISABLED_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_ENABLE_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "流動數據已停用。請連接 Wi-Fi 網絡或啟用流動數據並重試。"
+
+msgid "IDS_EMAIL_POP_WI_FI_CONNECTION_REQUIRED_CONNECT_TO_WI_FI_NETWORK_AND_TRY_AGAIN"
+msgstr "需要 Wi-Fi 連接。連接至 Wi-Fi 網絡並重試。"
+
+msgid "IDS_GALLERY_HEADER_ADD_PICTURES_FROM_ABB"
+msgstr "加入相片自"
+
+msgid "IDS_GALLERY_HEADER_CONNECTED_DEVICES_ABB"
+msgstr "已連接裝置"
+
+msgid "IDS_GALLERY_OPT_PRIVATE_CONTENT"
+msgstr "私人資料夾內容"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PS"
+msgstr "從 %s 移除"
+
+msgid "IDS_GALLERY_OPT_REMOVE_NAME_TAG"
+msgstr "移除名稱標籤"
+
+msgid "IDS_GALLERY_POP_THERE_ARE_NO_EVENTS_TO_DISPLAY_CREATE_A_NEW_EVENT"
+msgstr "沒有可顯示的事件。建立一個新事件。"
+
+msgid "IDS_GALLERY_POP_TO_SCROLL_QUICKLY_TO_OTHER_DATES_TAP_AND_HOLD_THE_DATE_INDICATOR_AT_THE_TOP_RIGHT_OF_THE_SCREEN"
+msgstr "若要快速捲動至其他日期,請輕觸並按住螢幕右上方的日期指示器。"
+
+msgid "IDS_GP_POP_REMOVE_PD_ITEMS_Q"
+msgstr "是否移除 %d 個項目?"
+
+msgid "IDS_GP_POP_REMOVE_THIS_ITEM_Q"
+msgstr "移除此項目嗎?"
+
+msgid "IDS_HELP_BODY_GALLERY"
+msgstr "媒體瀏覽器"
+
+msgid "IDS_HELP_OPT_SHUFFLED_PICTURES"
+msgstr "隨機排序相片"
+
+msgid "IDS_IV_BODY_ADD_PICTURES"
+msgstr "加入圖片"
+
+msgid "IDS_IV_BODY_AFTER_YOU_TAG_PICTURES_AS_YOUR_FAVOURITES_PICTURES_WILL_BE_SHOWN"
+msgstr "在您將圖片標籤為最愛後,將顯示圖片。"
+
+msgid "IDS_IV_BODY_REMOVE_FACE_IDENTIFICATION_Q"
+msgstr "移除臉部識別嗎?"
+
+msgid "IDS_IV_OPT_ASSIGN_NAME"
+msgstr "指定名稱"
+
+msgid "IDS_IV_OPT_CONFIRM_AS_PS"
+msgstr "確認為 %s"
+
+msgid "IDS_IV_OPT_LAYOUT_M_PICTUERS"
+msgstr "版面配置"
+
+msgid "IDS_IV_OPT_PD_PICTURES_ADDED"
+msgstr "已加入 %d 張圖片"
+
+msgid "IDS_IV_POP_THE_ALBUM_WILL_BE_CANCELLED"
+msgstr "相簿將被取消。"
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEM_ABB"
+msgstr "刪除項目"
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEMS"
+msgstr "刪除項目"
+
+msgid "IDS_MEDIABR_BODY_1_ITEM"
+msgstr "1個項目"
+
+msgid "IDS_MEDIABR_BODY_10_SECONDS"
+msgstr "10 秒"
+
+msgid "IDS_MEDIABR_BODY_5_SECONDS"
+msgstr "5 秒"
+
+msgid "IDS_MEDIABR_BODY_NOT_ASSIGNED"
+msgstr "無指定"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL"
+msgstr "投影片間隔"
+
+msgid "IDS_MEDIABR_BODY_UNTAGGED"
+msgstr "未標籤"
+
+msgid "IDS_MEDIABR_OPT_3_SECONDS"
+msgstr "3 秒"
+
+msgid "IDS_MEDIABR_OPT_ALL_CONTENT"
+msgstr "全部內容"
+
+msgid "IDS_MEDIABR_OPT_CONTENT_TO_DISPLAY"
+msgstr "要顯示的內容"
+
+msgid "IDS_MEDIABR_OPT_DELETE_TAG"
+msgstr "刪除標籤"
+
+msgid "IDS_MEDIABR_OPT_DEVICE_CONTENT"
+msgstr "裝置內容"
+
+msgid "IDS_MEDIABR_OPT_DROPBOX_CONTENT"
+msgstr "Dropbox 內容"
+
+msgid "IDS_MEDIABR_OPT_FACEBOOK_CONTENT"
+msgstr "Facebook 內容"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_LEFT"
+msgstr "左轉"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_RIGHT"
+msgstr "右轉"
+
+msgid "IDS_MEDIABR_POP_IMPORT"
+msgstr "匯入"
+
+msgid "IDS_MEDIABR_POP_IMPORTED"
+msgstr "已匯入。"
+
+msgid "IDS_MEDIABR_POP_IMPORTING_ING"
+msgstr "正在匯入..."
+
+msgid "IDS_MEDIABR_POP_LOADING_ING"
+msgstr "正在載入..."
+
+msgid "IDS_MEDIABR_POP_NEARBY_DEVICES_FOUND"
+msgstr "找到附近的裝置。"
+
+msgid "IDS_MEDIABR_POP_NO_DEVICES_FOUND_SCANNING_FOR_NEARBY_DEVICES_WILL_CONTINUE_IN_BACKGROUND"
+msgstr "未找到裝置。掃描附近裝置將於背景中繼續進行。"
+
+msgid "IDS_MEDIABR_POP_REFRESHED"
+msgstr "已重新整理。"
+
+msgid "IDS_MEDIABR_POP_ROTATING_ING"
+msgstr "正在旋轉..."
+
+msgid "IDS_MEDIABR_POP_SCAN_STARTED_DEVICE_LIST_WILL_BE_UPDATED_AUTOMATICALLY"
+msgstr "掃描已開始。裝置清單將自動更新。"
+
+msgid "IDS_MEDIABR_POP_STARTING_DOWNLOAD_ABB"
+msgstr "正在開始下載…"
+
+msgid "IDS_MF_OPT_COPY_TO"
+msgstr "複製到"
+
+msgid "IDS_MF_OPT_MOVE_TO"
+msgstr "移動到"
+
+msgid "IDS_MF_POP_FAILED_TO_ADD_SHORTCUT"
+msgstr "無法加入捷徑。"
+
+msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
+msgstr "記憶體不足。請刪除一些項目。"
+
+msgid "IDS_MF_POP_REMOVED"
+msgstr "已移除"
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "正在加入..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "刪除 %d 張專輯嗎?"
+
+msgid "IDS_ST_BODY_PRIVATE_STORAGE"
+msgstr "私人儲存空間"
+
+msgid "IDS_IV_BODY_DRAG_HERE"
+msgstr "拖曳至這裡。"
+
+msgid "IDS_GALLERY_BODY_NEW_M_ALBUM_ABB"
+msgstr "新的"
+
+msgid "IDS_GALLERY_HEADER_UNGROUPEDM_PEOPLE_ABB"
+msgstr "未分組"
+
+msgid "IDS_KEEPIT_OPT_SCREENSHOTS_ABB"
+msgstr "螢幕截圖"
+
+msgid "IDS_MEDIABR_OPT_PHOTOS"
+msgstr "相片"
+
+msgid "IDS_MEDIABR_POP_DOWNLOAD_FAILED"
+msgstr "不能下載"
+
+msgid "IDS_MEDIABR_POP_UNSUPPORTED_FILE"
+msgstr "不支援的檔案。"
+
+msgid "IDS_SEARCH_BODY_1_RESULT"
+msgstr "1 個結果"
+
+msgid "IDS_SEARCH_BODY_PD_RESULTS"
+msgstr "%d 個結果"
+
+msgid "IDS_TW_BODY_FAVORITES"
+msgstr "我的最愛"
+
+msgid "IDS_EMAIL_POP_DOWNLOAD_CANCELLED"
+msgstr "下載已取消"
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ALBUM_Q"
+msgstr "刪除此相簿嗎?"
+
+msgid "IDS_CAM_HEADER_WARNING_ABB"
+msgstr "警告"
+
+msgid "IDS_ALM_OPT_SORT_BY"
+msgstr "排序方式"
+
+msgid "IDS_CLD_OPT_TODAY"
+msgstr "今天"
+
+msgid "IDS_GALLERY_BODY_DATE"
+msgstr "日期"
+
+msgid "IDS_EMAIL_BODY_NO_ITEMS_TO_DISPLAY"
+msgstr "沒有要顯示的項目。"
+
+msgid "IDS_PBR_BODY_TAP_HERE_TO_TAKE_PICTURES_OR_VIDEOS"
+msgstr "輕觸這裡以拍攝相片或影片。"
+
+msgid "IDS_NFC_TPOP_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SHARED_HPD_EXCEEDED"
+msgstr "已超過可共享的項目數量上限 (%d)。"
+
+msgid "IDS_IV_BODY_TAP_TO_ADD_IMAGES"
+msgstr "輕觸以加入圖像。"
+
+msgid "IDS_GALLERY_POP_COPY_OR_MOVE_THE_SELECTED_ITEMS_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "從原始相簿複製或移動選擇的項目嗎?"
+
+msgid "IDS_GALLERY_HEADER_SELECT"
+msgstr "選擇"
+
+msgid "IDS_VIDEO_POP_FILE_ALREADY_EXISTS"
+msgstr "檔案已存在。"
+
+msgid "IDS_VIDEO_POP_THIS_ITEM_WILL_BE_DELETED"
+msgstr "此項目將被刪除。"
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_FACEBOOK_ITEMS_WILL_BE_SHOWN"
+msgstr "將圖片上載至 Facebook 後將顯示項目。"
+
+msgid "IDS_GALLERY_HEADER_SELECT_ALL_ABB"
+msgstr "選擇全部"
+
+msgid "IDS_GALLERY_HEADER_PD_SELECTED_ABB"
+msgstr "已選擇 %d"
+
+msgid "IDS_GALLERY_OPT_VIEW_AS"
+msgstr "檢視方式"
+
+msgid "IDS_GALLERY_OPT_DATE_HMOST_RECENT_ABB2"
+msgstr "日期(最近)"
+
+msgid "IDS_GALLERY_OPT_DATE_HOLDEST_ABB3"
+msgstr "日期(最舊)"
+
+msgid "IDS_GALLERY_BODY_AFTER_YOU_TAKE_PICTURES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "在您拍攝相片後,將顯示於此。"
+
+msgid "IDS_CLOUD_TPOP_CANCELLING_ING"
+msgstr "正在取消..."
+
+msgid "IDS_GALLERY_OPT_FROM_DEVICE_ABB"
+msgstr "從裝置"
+
+msgid "IDS_GALLERY_OPT_FROM_DROPBOX_ABB"
+msgstr "從 Dropbox"
+
+msgid "IDS_GALLERY_OPT_FROM_FACEBOOK_ABB"
+msgstr "從 Facebook"
+
+msgid "IDS_MUSIC_BODY_DOWNLOAD_COMPLETED"
+msgstr "下載完成"
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DELETED"
+msgstr "所有項目將被刪除。"
+
+msgid "IDS_GALLERY_POP_1_ITEM_WILL_BE_DOWNLOADED"
+msgstr "將下載 1 個項目。"
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "將下載 %d 個項目。"
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "將下載所有項目。"
+
+msgid "IDS_GALLERY_TPOP_SELECTED_ALBUM_SAME_AS_SOURCE_ALBUM_SELECT_ANOTHER_ALBUM"
+msgstr "選擇的相簿與來源相簿相同。請選擇其他相簿。"
+
+msgid "IDS_HS_NPBODY_TAP_HERE_TO_ADD_IMAGES"
+msgstr "輕觸此處以加入圖像"
+
+msgid "IDS_MF_HEADER_UNABLE_TO_SAVE_DATA_ABB"
+msgstr "無法儲存數據"
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_IN_YOUR_DEVICE_STORAGE_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "您的裝置儲存空間不足。請前往設定 > 電源與儲存空間 > 儲存空間,然後刪除部分檔案並重試。"
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_YOUR_SD_CARD_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "您的 SD 卡上的空間不足。請前往設定 > 電源與儲存空間 > 儲存空間,然後刪除部分檔案並重試。"
+
+msgid "IDS_MF_BUTTON_CANCEL_ABB3"
+msgstr "取消"
+
+msgid "IDS_MF_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "不要再顯示"
+
+msgid "IDS_MF_POP_USING_MOBILE_DATA_WHILE_ROAMING_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "在漫遊時使用流動數據可能根據您的資費方案產生額外費用。"
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DELETED_ABB"
+msgstr "將刪除 %d 個項目。"
+
+msgid "IDS_GALLERY_OPT_DELETE"
+msgstr "刪除"
+
+msgid "IDS_GALLERY_BODY_YESTERDAY"
+msgstr "昨天"
+
+msgid "IDS_BR_MBODY_DOWNLOADS"
+msgstr "下載項目"
+
+msgid "IDS_GALLERY_HEADER_COPY"
+msgstr "複製"
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "刪除"
+
+msgid "IDS_GALLERY_BUTTON_ALBUMS"
+msgstr "相簿"
+
+msgid "IDS_GALLERY_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_HPD_HAS_BEEN_EXCEEDED"
+msgstr "已超過項目數量上限 (%d)。"
+
+msgid "IDS_GALLERY_BUTTON_CANCEL"
+msgstr "取消"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "完成"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "取消"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "刪除"
+
+msgid "IDS_GALLERY_POP_COPYING_ING"
+msgstr "正在複製..."
+
+msgid "IDS_GALLERY_POP_MOVING_ING"
+msgstr "正在移動..."
+
+msgid "IDS_STORYALBUM_POP_IF_YOU_CREATE_CONTENT_THAT_INCLUDES_ITEMS_FROM_PERSONAL_STORAGE_IT_MAY_NOT_BE_HIDDEN_AUTOMATICALLY_MSG"
+msgstr "若您建立包括來自個人儲存空間的內容,則可能無法自動隱藏。選擇的個人內容可在檢視新內容時查看。"
+
+msgid "IDS_HS_ACBUTTON_EDIT"
+msgstr "編輯"
+
+msgid "IDS_MF_BUTTON_SETTINGS"
+msgstr "設定"
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "編輯"
+
+msgid "IDS_CLOCK_HEADER_REORDER_ABB"
+msgstr "重新排序"
+
diff --git a/res/po/zh_TW.po b/res/po/zh_TW.po
new file mode 100644 (file)
index 0000000..4d29e6e
--- /dev/null
@@ -0,0 +1,759 @@
+msgid "IDS_MF_POP_YOUR_DEVICE_IS_NOT_CONNECTED_TO_A_WI_FI_NETWORK_CONNECTING_TO_A_MOBILE_NETWORK_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "您的裝置尚未連接至 Wi-Fi 網路。連接至行動網路可能根據您的資費方案產生額外費用。"
+
+msgid "IDS_VIDEO_TPOP_MOBILE_DATA_TURNED_OFF_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_TURN_ON_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "行動數據已關閉。請連接 Wi-Fi 網路,或開啟行動數據並重試。"
+
+msgid "IDS_VIDEO_BODY_AFTER_YOU_RECORD_VIDEOS_USING_THE_CAMERA_THEY_WILL_BE_SHOWN_HERE"
+msgstr "使用相機錄製影片後,將顯示於此。"
+
+msgid "IDS_VIDEO_TPOP_FILE_NAME_ALREADY_IN_USE"
+msgstr "檔案名稱已被使用"
+
+msgid "IDS_MF_POP_DELETE_PD_ITEMS_Q"
+msgstr "要刪除 %d 個項目嗎?"
+
+msgid "IDS_ST_HEADER_PRIVACY"
+msgstr "隱私設定"
+
+msgid "IDS_COM_BODY_SEP_ABB"
+msgstr "9 月"
+
+msgid "IDS_COM_BODY_OCT_ABB"
+msgstr "10 月"
+
+msgid "IDS_COM_BODY_NOV_ABB"
+msgstr "11 月"
+
+msgid "IDS_COM_BODY_MAY_ABB"
+msgstr "5 月"
+
+msgid "IDS_COM_BODY_MAR_ABB"
+msgstr "3 月"
+
+msgid "IDS_COM_BODY_JUN_ABB"
+msgstr "6 月"
+
+msgid "IDS_COM_BODY_JUL_ABB"
+msgstr "7 月"
+
+msgid "IDS_COM_BODY_JAN_ABB"
+msgstr "1 月"
+
+msgid "IDS_COM_BODY_FEB_ABB"
+msgstr "2 月"
+
+msgid "IDS_COM_BODY_DEC_ABB"
+msgstr "12 月"
+
+msgid "IDS_COM_BODY_AUG_ABB"
+msgstr "8 月"
+
+msgid "IDS_COM_BODY_APR_ABB"
+msgstr "4 月"
+
+msgid "IDS_GALLERY_HEADER_ALBUM"
+msgstr "相簿"
+
+msgid "IDS_MEDIABR_OPT_MORE"
+msgstr "更多"
+
+msgid "IDS_MEDIABR_POP_INVALID_INPUT_PARAMETER"
+msgstr "輸入參數無效。"
+
+msgid "IDS_MEDIABR_POP_ENTRY_IS_EMPTY"
+msgstr "項目為空。"
+
+msgid "IDS_MEDIABR_POP_SAME_NAME_ALREADY_IN_USE"
+msgstr "相同名稱已在使用中"
+
+msgid "IDS_MEDIABR_POP_UNABLE_TO_RENAME"
+msgstr "無法重新命名。"
+
+msgid "IDS_MEDIABR_POP_NO_ALBUMS_SELECTED"
+msgstr "未選擇相簿。"
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ITEM"
+msgstr "選擇項目"
+
+msgid "IDS_MEDIABR_BODY_NO_ALBUMS"
+msgstr "無相簿"
+
+msgid "IDS_MEDIABR_POP_CREATE_FOLDER_Q"
+msgstr "要建立資料夾嗎?"
+
+msgid "IDS_MEDIABR_POP_RETRY_Q"
+msgstr "要重試嗎?"
+
+msgid "IDS_MEDIABR_POPUP_REMOVE_Q"
+msgstr "要移除嗎?"
+
+msgid "IDS_MEDIABR_POP_PD_ALBUMS_WILL_BE_DELETED"
+msgstr "將刪除 %d 個相簿。"
+
+msgid "IDS_MEDIABR_POP_1_ALBUM_WILL_BE_DELETED"
+msgstr "將刪除 1 個相簿。"
+
+msgid "IDS_MEDIABR_BODY_CAMERA"
+msgstr "相機"
+
+msgid "IDS_MEDIABR_BUTTON_START"
+msgstr "開啟"
+
+msgid "IDS_MEDIABR_OPT_SETTINGS"
+msgstr "設定"
+
+msgid "IDS_MEDIABR_OPT_YES"
+msgstr "是"
+
+msgid "IDS_MEDIABR_OPT_NO"
+msgstr "否"
+
+msgid "IDS_MEDIABR_BUTTON_OK"
+msgstr "確認"
+
+msgid "IDS_MEDIABR_BUTTON_SAVE"
+msgstr "儲存"
+
+msgid "IDS_MEDIABR_POP_DELETE_Q"
+msgstr "要刪除嗎?"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_ALBUM"
+msgstr "移動至相簿"
+
+msgid "IDS_GALLERY_OPT_COPY_TO_ALBUM"
+msgstr "複製至相簿"
+
+msgid "IDS_GALLERY_HEADER_VIEW_BY_ABB"
+msgstr "檢視依據"
+
+msgid "IDS_GALLERY_HEADER_ENTER_NAME"
+msgstr "輸入名稱"
+
+msgid "IDS_MEDIABR_POP_ALL_DATA_RELATED_TO_THIS_ACCOUNT_WILL_BE_DELETED_CONTINUE_Q"
+msgstr "所有此帳戶的相關資料將被刪除。要繼續嗎?"
+
+msgid "IDS_MEDIABR_BUTTON_CANCEL_ABB"
+msgstr "取消"
+
+msgid "IDS_MEDIABR_TAB4_NEW_ALBUM"
+msgstr "新相簿"
+
+msgid "IDS_MEDIABR_POP_DO_YOU_WANT_TO_COPY_OR_MOVE_THE_PICTURES_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "要從原始相簿複製或移動圖片嗎?"
+
+msgid "IDS_MEDIABR_OPT_SHARE"
+msgstr "分享"
+
+msgid "IDS_MEDIABR_OPT_SLIDESHOW"
+msgstr "投影片"
+
+msgid "IDS_MEDIABR_OPT_START_SLIDESHOW"
+msgstr "開始播放投影片"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS"
+msgstr "投影片設定"
+
+msgid "IDS_MEDIABR_POP_NO_NAME"
+msgstr "無姓名"
+
+msgid "IDS_MEDIABR_BODY_ALL_ALBUMS"
+msgstr "所有相簿"
+
+msgid "IDS_MEDIABR_HEADER_SELECT_ALBUM"
+msgstr "選擇相簿"
+
+msgid "IDS_MEDIABR_POP_1_ITEM_WILL_BE_DELETED"
+msgstr "將刪除 1 個項目。"
+
+msgid "IDS_MEDIABR_OPT_ALL_ITEMS"
+msgstr "所有項目"
+
+msgid "IDS_MEDIABR_BODY_PD_ITEMS"
+msgstr "%d 個項目"
+
+msgid "IDS_IV_BODY_THERE_IS_ONLY_ONE_ALBUM"
+msgstr "僅有一本相簿。"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "最多可以選擇 %d 個項目。"
+
+msgid "IDS_MF_BODY_DOWNLOADS"
+msgstr "下載"
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "要刪除嗎?"
+
+msgid "IDS_MF_SK_MOVE"
+msgstr "移動"
+
+msgid "IDS_MF_POP_DELETING_ING"
+msgstr "正在刪除..."
+
+msgid "IDS_CAM_BODY_OPERATION_FAILED"
+msgstr "操作失敗"
+
+msgid "IDS_MSG_BODY_CANCELLED_M_CONTENT"
+msgstr "已取消"
+
+msgid "IDS_MF_OPT_DELETE_SELECTED"
+msgstr "已選擇"
+
+msgid "IDS_MF_POP_MOVED"
+msgstr "已移動"
+
+msgid "IDS_MF_POP_COPIED"
+msgstr "已複製。"
+
+msgid "IDS_VPL_POP_NO_FILES_SELECTED"
+msgstr "未選擇檔案"
+
+msgid "IDS_CAM_SK_CLOSE"
+msgstr "關閉"
+
+msgid "IDS_MF_OPT_SORT_BY_ABB"
+msgstr "排序依據"
+
+msgid "IDS_CAM_POP_LATEST"
+msgstr "最新"
+
+msgid "IDS_MEDIABR_POP_OLDEST_M_DATE"
+msgstr "最舊"
+
+msgid "IDS_MSG_BUTTON2_CREATE"
+msgstr "建立"
+
+msgid "IDS_MEDIABR_POP_NO_ITEMS"
+msgstr "無項目"
+
+msgid "IDS_MEDIABR_OPT_EDIT_IMAGE"
+msgstr "編輯影像"
+
+msgid "IDS_MEDIABR_BODY_SELECT_PICTURE"
+msgstr "選擇圖片"
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ITEM_Q"
+msgstr "刪除此項目嗎?"
+
+msgid "IDS_GALLERY_OPT_SCENERY"
+msgstr "場景"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PRIVATE"
+msgstr "從隱私資料夾中移除"
+
+msgid "IDS_GALLERY_OPT_PETS"
+msgstr "寵物"
+
+msgid "IDS_GALLERY_OPT_MOVE_TO_PRIVATE"
+msgstr "移動至隱私資料夾"
+
+msgid "IDS_GALLERY_OPT_FOOD"
+msgstr "美食"
+
+msgid "IDS_GALLERY_OPT_FLOWERS"
+msgstr "花朵"
+
+msgid "IDS_GALLERY_OPT_DOCUMENTS"
+msgstr "文件"
+
+msgid "IDS_GALLERY_MBODY_VEHICLES"
+msgstr "車輛"
+
+msgid "IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED"
+msgstr "達到%d個最大字元。"
+
+msgid "IDS_IV_BODY_UNABLE_TO_LOAD_PHOTO_ABB"
+msgstr "無法載入相片。"
+
+msgid "IDS_IV_BODY_SHARE_VIA"
+msgstr "分享經由"
+
+msgid "IDS_IV_BODY_DONT_ASK_AGAIN"
+msgstr "不要再詢問"
+
+msgid "IDS_MF_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "已達字元數上限。"
+
+msgid "IDS_GALLERY_HEADER_TIME"
+msgstr "時間"
+
+msgid "IDS_EMAIL_BODY_FAILED_M_STATUS"
+msgstr "失敗"
+
+msgid "IDS_EMAIL_BODY_DELETED"
+msgstr "已刪除。"
+
+msgid "IDS_EMAIL_POP_DELETE_Q"
+msgstr "要刪除嗎?"
+
+msgid "IDS_MUSIC_POP_REMOVING"
+msgstr "正在移除..."
+
+msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS"
+msgstr "顯示 %d 個項目"
+
+msgid "IDS_GALLERY_OPT_CREATE_ALBUM"
+msgstr "建立相簿"
+
+msgid "IDS_GALLERY_OPT_GALLERY_ABB"
+msgstr "媒體瀏覽器"
+
+msgid "IDS_EMAIL_BUTTON_MORE"
+msgstr "更多"
+
+msgid "IDS_EMAIL_OPT_ACCOUNTS"
+msgstr "帳號"
+
+msgid "IDS_EMAIL_POP_OPERATION_FAILED"
+msgstr "操作失敗"
+
+msgid "IDS_GALLERY_BODY_DOWNLOAD"
+msgstr "下載"
+
+msgid "IDS_GALLERY_BODY_SEARCH"
+msgstr "搜尋"
+
+msgid "IDS_GALLERY_BUTTON_BACK"
+msgstr "返回"
+
+msgid "IDS_GALLERY_BUTTON_CAMERA"
+msgstr "相機"
+
+msgid "IDS_GALLERY_HEADER_ALL"
+msgstr "全部"
+
+msgid "IDS_GALLERY_OPT_REFRESH"
+msgstr "重新整理"
+
+msgid "IDS_GALLERY_OPT_REMOVE"
+msgstr "移除"
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_DROPBOX_ITEMS_WILL_BE_SHOWN"
+msgstr "將圖片上傳至 Dropbox 後將顯示項目。"
+
+msgid "IDS_KEEPIT_BODY_GROUP_PLAY_ABB"
+msgstr "Group Play"
+
+msgid "IDS_MEDIABR_HEADER_CONTACTS"
+msgstr "聯絡人"
+
+msgid "IDS_MEDIABR_OPT_CREATE"
+msgstr "建立"
+
+msgid "IDS_MEDIABR_OPT_DETAILS"
+msgstr "詳細資料"
+
+msgid "IDS_MEDIABR_OPT_PRINT"
+msgstr "列印"
+
+msgid "IDS_MEDIABR_OPT_RENAME"
+msgstr "重新命名"
+
+msgid "IDS_MEDIABR_POP_DOWNLOADED"
+msgstr "已下載"
+
+msgid "IDS_MEDIABR_POP_DOWNLOADING_ING"
+msgstr "正在下載..."
+
+msgid "IDS_MF_HEADER_ENTER_NAME"
+msgstr "輸入名稱。"
+
+msgid "IDS_MF_HEADER_MYFILES"
+msgstr "我的檔案"
+
+msgid "IDS_MF_POP_ADDED"
+msgstr "已新增。"
+
+msgid "IDS_MF_POP_PROCESSING_ING"
+msgstr "正在處理..."
+
+msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
+msgstr "不支援的檔案類型。"
+
+msgid "IDS_IMGE_BODY_AFTER_YOU_TAKE_PICTURES_PICTURES_WILL_BE_SHOWN"
+msgstr "拍攝照片後,將顯示照片。"
+
+msgid "IDS_IME_BODY_LANDSCAPE_MODE"
+msgstr "橫向模式"
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_CLOSE_DRAWER_MENU_TTS"
+msgstr "按兩下來關閉抽屜功能表。"
+
+msgid "IDS_EMAIL_BODY_DOUBLE_TAP_TO_OPEN_DRAWER_MENU_TTS"
+msgstr "按兩下來開啟抽屜功能表。"
+
+msgid "IDS_EMAIL_BODY_DRAG_AND_DROP"
+msgstr "拖放"
+
+msgid "IDS_EMAIL_OPT_DRAWER_ABB"
+msgstr "抽屜"
+
+msgid "IDS_EMAIL_POP_MOBILE_DATA_IS_DISABLED_CONNECT_TO_WI_FI_NETWORK_INSTEAD_OR_ENABLE_MOBILE_DATA_AND_TRY_AGAIN"
+msgstr "行動數據已停用。請連接 Wi-Fi 網路或啟用行動數據再重試。"
+
+msgid "IDS_EMAIL_POP_WI_FI_CONNECTION_REQUIRED_CONNECT_TO_WI_FI_NETWORK_AND_TRY_AGAIN"
+msgstr "需要 Wi-Fi 連接。連接至 Wi-Fi 網路然後重試。"
+
+msgid "IDS_GALLERY_HEADER_ADD_PICTURES_FROM_ABB"
+msgstr "新增圖片從"
+
+msgid "IDS_GALLERY_HEADER_CONNECTED_DEVICES_ABB"
+msgstr "已連接的裝置"
+
+msgid "IDS_GALLERY_OPT_PRIVATE_CONTENT"
+msgstr "私密內容"
+
+msgid "IDS_GALLERY_OPT_REMOVE_FROM_PS"
+msgstr "從 %s 移除"
+
+msgid "IDS_GALLERY_OPT_REMOVE_NAME_TAG"
+msgstr "移除姓名標籤"
+
+msgid "IDS_GALLERY_POP_THERE_ARE_NO_EVENTS_TO_DISPLAY_CREATE_A_NEW_EVENT"
+msgstr "沒有要顯示的活動。建立新活動。"
+
+msgid "IDS_GALLERY_POP_TO_SCROLL_QUICKLY_TO_OTHER_DATES_TAP_AND_HOLD_THE_DATE_INDICATOR_AT_THE_TOP_RIGHT_OF_THE_SCREEN"
+msgstr "若要快速捲動至其他日期,請輕觸並按住螢幕右上角的日期指示器。"
+
+msgid "IDS_GP_POP_REMOVE_PD_ITEMS_Q"
+msgstr "移除%d個項目?"
+
+msgid "IDS_GP_POP_REMOVE_THIS_ITEM_Q"
+msgstr "移除此項目嗎?"
+
+msgid "IDS_HELP_BODY_GALLERY"
+msgstr "媒體瀏覽器"
+
+msgid "IDS_HELP_OPT_SHUFFLED_PICTURES"
+msgstr "隨機排序相片"
+
+msgid "IDS_IV_BODY_ADD_PICTURES"
+msgstr "新增圖片"
+
+msgid "IDS_IV_BODY_AFTER_YOU_TAG_PICTURES_AS_YOUR_FAVOURITES_PICTURES_WILL_BE_SHOWN"
+msgstr "在您將圖片標籤為最愛後,將顯示圖片。"
+
+msgid "IDS_IV_BODY_REMOVE_FACE_IDENTIFICATION_Q"
+msgstr "移除臉部辨識嗎?"
+
+msgid "IDS_IV_OPT_ASSIGN_NAME"
+msgstr "指定姓名"
+
+msgid "IDS_IV_OPT_CONFIRM_AS_PS"
+msgstr "確認為 %s"
+
+msgid "IDS_IV_OPT_LAYOUT_M_PICTUERS"
+msgstr "配置"
+
+msgid "IDS_IV_OPT_PD_PICTURES_ADDED"
+msgstr "已加入 %d 張圖片"
+
+msgid "IDS_IV_POP_THE_ALBUM_WILL_BE_CANCELLED"
+msgstr "相簿將被取消。"
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEM_ABB"
+msgstr "刪除項目"
+
+msgid "IDS_KEEPIT_HEADER_DELETE_ITEMS"
+msgstr "刪除項目"
+
+msgid "IDS_MEDIABR_BODY_1_ITEM"
+msgstr "1個項目"
+
+msgid "IDS_MEDIABR_BODY_10_SECONDS"
+msgstr "10 秒"
+
+msgid "IDS_MEDIABR_BODY_5_SECONDS"
+msgstr "5 秒"
+
+msgid "IDS_MEDIABR_BODY_NOT_ASSIGNED"
+msgstr "未指定"
+
+msgid "IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL"
+msgstr "投影片放映間隔"
+
+msgid "IDS_MEDIABR_BODY_UNTAGGED"
+msgstr "未標記"
+
+msgid "IDS_MEDIABR_OPT_3_SECONDS"
+msgstr "3 秒"
+
+msgid "IDS_MEDIABR_OPT_ALL_CONTENT"
+msgstr "所有內容"
+
+msgid "IDS_MEDIABR_OPT_CONTENT_TO_DISPLAY"
+msgstr "要顯示的內容"
+
+msgid "IDS_MEDIABR_OPT_DELETE_TAG"
+msgstr "刪除標籤"
+
+msgid "IDS_MEDIABR_OPT_DEVICE_CONTENT"
+msgstr "裝置內容"
+
+msgid "IDS_MEDIABR_OPT_DROPBOX_CONTENT"
+msgstr "Dropbox 內容"
+
+msgid "IDS_MEDIABR_OPT_FACEBOOK_CONTENT"
+msgstr "Facebook 內容"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_LEFT"
+msgstr "向左旋轉"
+
+msgid "IDS_MEDIABR_OPT_ROTATE_RIGHT"
+msgstr "向右旋轉"
+
+msgid "IDS_MEDIABR_POP_IMPORT"
+msgstr "匯入"
+
+msgid "IDS_MEDIABR_POP_IMPORTED"
+msgstr "已匯入。"
+
+msgid "IDS_MEDIABR_POP_IMPORTING_ING"
+msgstr "正在匯入..."
+
+msgid "IDS_MEDIABR_POP_LOADING_ING"
+msgstr "正在載入..."
+
+msgid "IDS_MEDIABR_POP_NEARBY_DEVICES_FOUND"
+msgstr "找到附近的裝置。"
+
+msgid "IDS_MEDIABR_POP_NO_DEVICES_FOUND_SCANNING_FOR_NEARBY_DEVICES_WILL_CONTINUE_IN_BACKGROUND"
+msgstr "未找到裝置。搜尋附近裝置將於背景繼續進行。"
+
+msgid "IDS_MEDIABR_POP_REFRESHED"
+msgstr "已重新整理。"
+
+msgid "IDS_MEDIABR_POP_ROTATING_ING"
+msgstr "正在旋轉..."
+
+msgid "IDS_MEDIABR_POP_SCAN_STARTED_DEVICE_LIST_WILL_BE_UPDATED_AUTOMATICALLY"
+msgstr "掃描已開始。裝置清單將自動更新。"
+
+msgid "IDS_MEDIABR_POP_STARTING_DOWNLOAD_ABB"
+msgstr "正在開始下載…"
+
+msgid "IDS_MF_OPT_COPY_TO"
+msgstr "複製到"
+
+msgid "IDS_MF_OPT_MOVE_TO"
+msgstr "移動到"
+
+msgid "IDS_MF_POP_FAILED_TO_ADD_SHORTCUT"
+msgstr "無法新增捷徑。"
+
+msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
+msgstr "記憶體不足。請刪除部分項目。"
+
+msgid "IDS_MF_POP_REMOVED"
+msgstr "已移除。"
+
+msgid "IDS_MUSIC_POP_ADDING"
+msgstr "正在加入..."
+
+msgid "IDS_MUSIC_POP_DELETE_PD_ALBUMS_Q"
+msgstr "刪除 %d 張專輯嗎?"
+
+msgid "IDS_ST_BODY_PRIVATE_STORAGE"
+msgstr "私密儲存空間"
+
+msgid "IDS_IV_BODY_DRAG_HERE"
+msgstr "拖曳至這裡"
+
+msgid "IDS_GALLERY_BODY_NEW_M_ALBUM_ABB"
+msgstr "新活動"
+
+msgid "IDS_GALLERY_HEADER_UNGROUPEDM_PEOPLE_ABB"
+msgstr "未分組"
+
+msgid "IDS_KEEPIT_OPT_SCREENSHOTS_ABB"
+msgstr "螢幕截圖"
+
+msgid "IDS_MEDIABR_OPT_PHOTOS"
+msgstr "相片"
+
+msgid "IDS_MEDIABR_POP_DOWNLOAD_FAILED"
+msgstr "無法下載"
+
+msgid "IDS_MEDIABR_POP_UNSUPPORTED_FILE"
+msgstr "不支援的檔案。"
+
+msgid "IDS_SEARCH_BODY_1_RESULT"
+msgstr "1個結果"
+
+msgid "IDS_SEARCH_BODY_PD_RESULTS"
+msgstr "%d 個結果"
+
+msgid "IDS_TW_BODY_FAVORITES"
+msgstr "我的最愛"
+
+msgid "IDS_EMAIL_POP_DOWNLOAD_CANCELLED"
+msgstr "下載已取消"
+
+msgid "IDS_GALLERY_POP_DELETE_THIS_ALBUM_Q"
+msgstr "刪除此專輯嗎?"
+
+msgid "IDS_CAM_HEADER_WARNING_ABB"
+msgstr "警告"
+
+msgid "IDS_ALM_OPT_SORT_BY"
+msgstr "排序依據"
+
+msgid "IDS_CLD_OPT_TODAY"
+msgstr "今天"
+
+msgid "IDS_GALLERY_BODY_DATE"
+msgstr "日期"
+
+msgid "IDS_EMAIL_BODY_NO_ITEMS_TO_DISPLAY"
+msgstr "沒有要顯示的項目。"
+
+msgid "IDS_PBR_BODY_TAP_HERE_TO_TAKE_PICTURES_OR_VIDEOS"
+msgstr "輕觸這裡以拍照或攝影。"
+
+msgid "IDS_NFC_TPOP_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SHARED_HPD_EXCEEDED"
+msgstr "超過可共享的項目數量上限(%d)。"
+
+msgid "IDS_IV_BODY_TAP_TO_ADD_IMAGES"
+msgstr "輕觸以新增圖像。"
+
+msgid "IDS_GALLERY_POP_COPY_OR_MOVE_THE_SELECTED_ITEMS_FROM_THE_ORIGINAL_ALBUM_Q"
+msgstr "要從原始相簿複製或移動選擇的項目嗎?"
+
+msgid "IDS_GALLERY_HEADER_SELECT"
+msgstr "選擇"
+
+msgid "IDS_VIDEO_POP_FILE_ALREADY_EXISTS"
+msgstr "文件已存在。"
+
+msgid "IDS_VIDEO_POP_THIS_ITEM_WILL_BE_DELETED"
+msgstr "此項目將被刪除。"
+
+msgid "IDS_IV_BODY_AFTER_YOU_UPLOAD_PICTURES_TO_FACEBOOK_ITEMS_WILL_BE_SHOWN"
+msgstr "將圖片上傳至 Facebook 後將顯示項目。"
+
+msgid "IDS_GALLERY_HEADER_SELECT_ALL_ABB"
+msgstr "全選"
+
+msgid "IDS_GALLERY_HEADER_PD_SELECTED_ABB"
+msgstr "已選擇 %d"
+
+msgid "IDS_GALLERY_OPT_VIEW_AS"
+msgstr "檢視方式"
+
+msgid "IDS_GALLERY_OPT_DATE_HMOST_RECENT_ABB2"
+msgstr "日期(最近的)"
+
+msgid "IDS_GALLERY_OPT_DATE_HOLDEST_ABB3"
+msgstr "日期(最舊的)"
+
+msgid "IDS_GALLERY_BODY_AFTER_YOU_TAKE_PICTURES_THEY_WILL_BE_SHOWN_HERE"
+msgstr "拍照後,將顯示於此。"
+
+msgid "IDS_CLOUD_TPOP_CANCELLING_ING"
+msgstr "取消中..."
+
+msgid "IDS_GALLERY_OPT_FROM_DEVICE_ABB"
+msgstr "自裝置"
+
+msgid "IDS_GALLERY_OPT_FROM_DROPBOX_ABB"
+msgstr "自 Dropbox"
+
+msgid "IDS_GALLERY_OPT_FROM_FACEBOOK_ABB"
+msgstr "自 Facebook"
+
+msgid "IDS_MUSIC_BODY_DOWNLOAD_COMPLETED"
+msgstr "下載完成"
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DELETED"
+msgstr "所有項目將被刪除。"
+
+msgid "IDS_GALLERY_POP_1_ITEM_WILL_BE_DOWNLOADED"
+msgstr "將下載 1 個項目。"
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "將下載 %d 個項目。"
+
+msgid "IDS_GALLERY_POP_ALL_ITEMS_WILL_BE_DOWNLOADED"
+msgstr "將下載所有項目。"
+
+msgid "IDS_GALLERY_TPOP_SELECTED_ALBUM_SAME_AS_SOURCE_ALBUM_SELECT_ANOTHER_ALBUM"
+msgstr "選擇的相簿與來源相簿相同。請選擇其他相簿。"
+
+msgid "IDS_HS_NPBODY_TAP_HERE_TO_ADD_IMAGES"
+msgstr "輕觸此處以新增圖像"
+
+msgid "IDS_MF_HEADER_UNABLE_TO_SAVE_DATA_ABB"
+msgstr "無法儲存資料"
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_IN_YOUR_DEVICE_STORAGE_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "裝置儲存空間中的空間不足。前往設定 > 電力與儲存空間 > 儲存空間來刪除部分檔案,然後重試。"
+
+msgid "IDS_MF_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_YOUR_SD_CARD_GO_TO_SETTINGS_POWER_AND_STORAGE_STORAGE_THEN_DELETE_SOME_FILES_AND_TRY_AGAIN"
+msgstr "SD 卡上的空間不足。前往設定 > 電力與儲存空間 > 儲存空間來刪除部分檔案,然後重試。"
+
+msgid "IDS_MF_BUTTON_CANCEL_ABB3"
+msgstr "取消"
+
+msgid "IDS_MF_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "不再顯示"
+
+msgid "IDS_MF_POP_USING_MOBILE_DATA_WHILE_ROAMING_MAY_RESULT_IN_ADDITIONAL_CHARGES_DEPENDING_ON_YOUR_PAYMENT_PLAN"
+msgstr "漫遊時使用行動數據可能視您的付費方案而產生額外費用。"
+
+msgid "IDS_GALLERY_POP_PD_ITEMS_WILL_BE_DELETED_ABB"
+msgstr "將刪除%d 個項目。"
+
+msgid "IDS_GALLERY_OPT_DELETE"
+msgstr "刪除"
+
+msgid "IDS_GALLERY_BODY_YESTERDAY"
+msgstr "昨天"
+
+msgid "IDS_BR_MBODY_DOWNLOADS"
+msgstr "下載內容"
+
+msgid "IDS_GALLERY_HEADER_COPY"
+msgstr "複製"
+
+msgid "IDS_MUSIC_OPT_DELETE"
+msgstr "刪除"
+
+msgid "IDS_GALLERY_BUTTON_ALBUMS"
+msgstr "相簿"
+
+msgid "IDS_GALLERY_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_HPD_HAS_BEEN_EXCEEDED"
+msgstr "已超過項目數量上限  (%d) 。"
+
+msgid "IDS_GALLERY_BUTTON_CANCEL"
+msgstr "取消"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "完成"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "取消"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "刪除"
+
+msgid "IDS_GALLERY_POP_COPYING_ING"
+msgstr "正在複製..."
+
+msgid "IDS_GALLERY_POP_MOVING_ING"
+msgstr "正在移動..."
+
+msgid "IDS_STORYALBUM_POP_IF_YOU_CREATE_CONTENT_THAT_INCLUDES_ITEMS_FROM_PERSONAL_STORAGE_IT_MAY_NOT_BE_HIDDEN_AUTOMATICALLY_MSG"
+msgstr "若您建立包含來自個人儲存空間項目的內容時,將不會自動隱藏。選擇的個人內容可於檢視新內容時顯示。"
+
+msgid "IDS_HS_ACBUTTON_EDIT"
+msgstr "編輯"
+
+msgid "IDS_MF_BUTTON_SETTINGS"
+msgstr "設定"
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "編輯"
+
+msgid "IDS_CLOCK_HEADER_REORDER_ABB"
+msgstr "重新排序"
+
diff --git a/res/res.xml b/res/res.xml
new file mode 100644 (file)
index 0000000..e537eb7
--- /dev/null
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<res xmlns="http://tizen.org/ns/rm"/>
diff --git a/shared/res/org.tizen.gallery.png b/shared/res/org.tizen.gallery.png
new file mode 100644 (file)
index 0000000..3bf41ce
Binary files /dev/null and b/shared/res/org.tizen.gallery.png differ
diff --git a/src/2dview/gl-albums-edit.c b/src/2dview/gl-albums-edit.c
new file mode 100644 (file)
index 0000000..4479bf4
--- /dev/null
@@ -0,0 +1,537 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#include <errno.h>
+#include "gl-albums.h"
+#include "gl-albums-edit.h"
+#include "gl-albums-rename.h"
+#include "gl-debug.h"
+#include "gl-strings.h"
+#include "gl-ui-util.h"
+#include "gl-util.h"
+#include "gl-data.h"
+#include "gl-icons.h"
+#include "gl-controlbar.h"
+#include "gl-ctxpopup.h"
+#include "gl-button.h"
+#include "gl-notify.h"
+#include "gl-popup.h"
+#include "gl-tile.h"
+#include "gl-ext-exec.h"
+
+/**
+* @Brif Update checkbox state and album cover and update selectioninfo.
+*
+* @Param data  gl_appdata.
+* @Param album_item  album item.
+* @Param check_obj  object of checkbox.
+* @Param b_ck_box  true: Checkbox selection, false: album cover selection.
+*/
+static int __gl_albums_edit_update_check_state(void *data,
+                                              gl_cluster *album_item,
+                                              Evas_Object *check_obj,
+                                              bool b_ck_box)
+{
+       GL_CHECK_VAL(album_item, -1);
+       GL_CHECK_VAL(album_item->cluster, -1);
+       GL_CHECK_VAL(album_item->cluster->uuid, -1);
+       GL_CHECK_VAL(check_obj, -1);
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       gl_dbg("Select checkbox[1]/album_cover[0]: %d.", b_ck_box);
+
+       /* Update state of checkbox */
+       album_item->checked = !album_item->checked;
+       gl_sdbg("album (%s) check state: %d", album_item->cluster->display_name,
+              album_item->checked);
+
+       /**
+       * If album cover selected, update checkbox icon manually,
+       * If checkbox selected, its icon is updated by system automatically.
+       */
+       Evas_Object *ck = NULL;
+       if (b_ck_box == false)
+               ck = elm_object_item_part_content_get(album_item->item,
+                                                     GL_TILE_CHECKBOX);
+       else
+               ck = elm_object_item_part_content_get(album_item->item,
+                                                     GL_TILE_CHECKBOX_GRID);
+       elm_check_state_set(ck, album_item->checked);
+
+       if (album_item->checked) {
+               gl_sdbg("Append:%s, id:%s", album_item->cluster->display_name,
+                      album_item->cluster->uuid);
+               _gl_data_albums_selected_list_append(ad, album_item);
+       } else {
+               gl_sdbg("Remove:%s, id:%s", album_item->cluster->display_name,
+                      album_item->cluster->uuid);
+               _gl_data_albums_selected_list_remove(ad, album_item);
+       }
+
+       /* Display selectioninfo */
+       int cnt = _gl_data_get_albums_selected_cnt(ad);
+       _gl_notify_check_selall(ad, ad->ctrlinfo.nf_it,
+                               ad->albuminfo.elist->edit_cnt, cnt);
+       /* Update the label text */
+       _gl_ui_update_navi_title_text(ad->ctrlinfo.nf_it, cnt, false);
+       return 0;
+}
+
+static void __gl_albums_edit_check_changed(void *data, Evas_Object *obj,
+                                          void *ei)
+{
+       GL_CHECK(obj);
+       GL_CHECK(data);
+       gl_cluster *album_item = (gl_cluster *)data;
+       GL_CHECK(album_item->ad);
+       gl_appdata *ad = (gl_appdata *)album_item->ad;
+       gl_dbg("");
+
+       if (gl_get_view_mode(ad) != GL_VIEW_ALBUMS_EDIT) {
+               gl_dbgE("Wrong view mode!");
+               return;
+       } else {
+               /* gl_dbg("EditMode"); */
+       }
+
+       /* Checkbox selected, b_ck_box=true */
+       __gl_albums_edit_update_check_state(ad, album_item, obj, true);
+}
+
+static void __gl_albums_edit_check_grid_changed(void *data, Evas_Object *obj,
+                                               void *ei)
+{
+       GL_CHECK(obj);
+       GL_CHECK(data);
+       gl_cluster *album_item = (gl_cluster *)data;
+       GL_CHECK(album_item->ad);
+       gl_appdata *ad = (gl_appdata *)album_item->ad;
+       gl_dbg("");
+
+       if (gl_get_view_mode(ad) != GL_VIEW_ALBUMS_EDIT) {
+               gl_dbgE("Wrong view mode!");
+               return;
+       } else {
+               /* gl_dbg("EditMode"); */
+       }
+
+       /* Grid checkbox selected, b_ck_box=false */
+       __gl_albums_edit_update_check_state(ad, album_item, obj, false);
+}
+
+static void __gl_albums_edit_rename(gl_cluster *album)
+{
+       GL_CHECK(album);
+       GL_CHECK(album->ad);
+       gl_appdata *ad = (gl_appdata *)album->ad;
+       /* save album selected for rename */
+       if (_gl_albums_rename_create_view(album->ad, album) == 0)
+               ad->albuminfo.selected = album;
+}
+
+static void __gl_albums_edit_rename_btn_cb(void *data, Evas_Object *obj,
+                                    void *event_info)
+{
+       gl_dbg("");
+       GL_CHECK(data);
+       gl_cluster *album_item = (gl_cluster *)data;
+       gl_appdata *ad = (gl_appdata *)album_item->ad;
+       _gl_ctxpopup_del(ad);
+       /* Save scroller position before clearing gengrid */
+       _gl_ui_save_scroller_pos(ad->albuminfo.view);
+       __gl_albums_edit_rename(album_item);
+}
+
+static void __gl_albums_edit_del_cb(void *data, Evas_Object *obj,
+                                   void *ei)
+{
+       elm_toolbar_item_selected_set((Elm_Object_Item *)ei, EINA_FALSE);
+       GL_CHECK(data);
+       gl_dbg("");
+
+       if ((gl_get_view_mode(data) == GL_VIEW_ALBUMS_EDIT)) {
+               if (_gl_data_get_albums_selected_cnt(data) == 0) {
+                       gl_dbgW("No albums selected!");
+                       gl_popup_create_popup(data, GL_POPUP_NOBUT,
+                                             GL_STR_NO_ALBUMS_SELECTED);
+                       return;
+               }
+               _gl_popup_create_del(data, GL_POPUP_DEL_ALBUM,
+                                    _gl_data_get_albums_selected_cnt,
+                                    _gl_del_albums, data);
+       } else {
+               gl_dbgE("Unknow mode!");
+       }
+}
+
+static void __gl_albums_edit_cancel_cb(void *data, Evas_Object *obj, void *ei)
+{
+       elm_toolbar_item_selected_set((Elm_Object_Item *)ei, EINA_FALSE);
+       GL_CHECK(data);
+       gl_dbg("");
+       _gl_albums_change_mode(data, false);
+}
+
+#ifdef GL_EXTENDED_FEATURES
+static int __gl_albums_edit_get_cnt(void *data, gl_media_s *item)
+{
+       GL_CHECK_VAL(item, -1);
+       GL_CHECK_VAL(item->file_url, -1);
+       GL_CHECK_VAL(data, -1);
+
+       int *count = (int *)data;
+       *count += 1;
+       return 0;
+}
+
+static int __gl_albums_edit_get_path_cb(void *data, char **files)
+{
+       GL_CHECK_VAL(data, 0);
+       GL_CHECK_VAL(files, 0);
+       return _gl_get_album_images_path(data, files, false);
+}
+
+void _gl_albums_edit_share(void *data)
+{
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       gl_dbg("");
+
+       if (ad->uginfo.ug || ad->uginfo.b_app_called) {
+               gl_dbgW("UG or APP is already loaded!");
+               return;
+       }
+
+       int cnt = 0;
+
+       cnt = _gl_data_get_albums_selected_cnt(ad);
+       if (cnt == 0) {
+               gl_dbgW("No albums selected!");
+               gl_popup_create_popup(ad, GL_POPUP_NOBUT,
+                                     GL_STR_NO_ALBUMS_SELECTED);
+               return;
+       }
+       /* Check albums are empty */
+       if (_gl_data_is_albums_selected_empty(ad)) {
+               gl_dbgW("No thumbs selected!");
+               gl_popup_create_popup(ad, GL_POPUP_NOBUT,
+                                     GL_STR_NO_FILES_SELECTED);
+               return;
+       }
+
+       int media_cnt = 0;
+       _gl_data_get_albums_selected_files(data, __gl_albums_edit_get_cnt,
+                                          (void *)(&media_cnt));
+       gl_dbg("media_cnt: %d", media_cnt);
+       /* Check albums are empty */
+       if (media_cnt == 0) {
+               gl_dbgW("No thumbs selected!");
+               gl_popup_create_popup(ad, GL_POPUP_NOBUT,
+                                     GL_STR_NO_FILES_SELECTED);
+               return;
+       }
+       _gl_ext_launch_share(data, media_cnt,
+                            __gl_albums_edit_get_path_cb);
+}
+
+static void __gl_albums_edit_share_cb(void *data, Evas_Object *obj,
+                                     void *ei)
+{
+       elm_toolbar_item_selected_set((Elm_Object_Item *)ei, EINA_FALSE);
+       GL_CHECK(data);
+       _gl_albums_edit_share(data);
+       /*back to the albums view */
+       _gl_albums_change_mode(data, false);
+}
+#endif
+
+/* Select-all checkbox selected/deselected */
+static void __gl_albums_edit_selall_cb(void *data, Evas_Object *obj, void *ei)
+{
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       int item_cnt = 0;
+       int sel_all_cnt = 0;
+
+       ad->selinfo.ck_state = !ad->selinfo.ck_state;
+       if (ad->selinfo.selectall_ck) {
+               elm_check_state_set(ad->selinfo.selectall_ck, ad->selinfo.ck_state);
+       }
+       int state = ad->selinfo.ck_state;
+       gl_dbg("Checkbox state: %d", state);
+
+       gl_cluster *album = NULL;
+       Elm_Object_Item *first_it = NULL;
+       Elm_Object_Item *next_it = NULL;
+       Elm_Object_Item *last_it = NULL;
+       first_it = elm_gengrid_first_item_get(ad->albuminfo.view);
+       last_it = elm_gengrid_last_item_get(ad->albuminfo.view);
+       while (first_it) {
+               album = NULL;
+               next_it = elm_gengrid_item_next_get(first_it);
+               /* Get data */
+               album = (gl_cluster *)elm_object_item_data_get(first_it);
+               if (album == NULL || album->cluster == NULL) {
+                       gl_dbgE("Invalid item data!");
+                       /* Get next item */
+                       first_it = next_it;
+                       continue;
+               }
+
+               if (album->cluster->type >= GL_STORE_T_ALL) {
+                       gl_dbgW("Uneditable album!");
+                       /* Get next item */
+                       first_it = next_it;
+                       continue;
+               }
+
+               item_cnt++;
+
+               if (album->checked == state) {
+                       /* Get next item */
+                       first_it = next_it;
+                       continue;
+               }
+
+               /* Update checkbox state */
+               album->checked = state;
+               /* Update selected list */
+               if (state == EINA_TRUE)
+                       _gl_data_albums_selected_list_append(ad, album);
+               else
+                       _gl_data_albums_selected_list_remove(ad, album);
+
+               if (last_it == first_it) {
+                       gl_dbg("Update done!");
+                       break;
+               } else {
+                       first_it = next_it;
+               }
+       }
+       /* Update all realized items */
+       _gl_ui_update_realized_grid_ck(ad->albuminfo.view,
+                                      GL_TILE_CHECKBOX_GRID, GL_TILE_CHECKBOX,
+                                      state);
+
+       /* Recreate selection info for both cases */
+       if (state == EINA_FALSE)
+               sel_all_cnt = 0;
+       else
+               sel_all_cnt = item_cnt;
+
+       _gl_notify_check_selall(ad, ad->ctrlinfo.nf_it, item_cnt, sel_all_cnt);
+       /* Update the label text */
+       _gl_ui_update_navi_title_text(ad->ctrlinfo.nf_it, sel_all_cnt, false);
+}
+
+static int __gl_albums_edit_ctxpopup_append(void *data, Evas_Object *parent)
+{
+       gl_dbg("");
+       GL_CHECK_VAL(parent, -1);
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_CHECK_VAL(ad->albuminfo.sel_elist, -1);
+       gl_cluster *album_item = NULL;
+       album_item = (gl_cluster *)eina_list_nth(ad->albuminfo.sel_elist, 0);
+       GL_CHECK_VAL(album_item, -1);
+
+       /* Rename */
+       _gl_ctxpopup_append(parent, GL_STR_ID_RENAME,
+                           __gl_albums_edit_rename_btn_cb, album_item);
+       return 0;
+}
+
+static void __gl_albums_edit_more_btn_cb(void *data, Evas_Object *obj, void *ei)
+{
+       gl_dbgE("more button clicked");
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+
+       if (GL_GRID_EDIT != ad->albuminfo.b_share_mode)
+               return;
+       GL_CHECK(ad->albuminfo.sel_elist);
+       gl_cluster *album_item = NULL;
+       album_item = (gl_cluster *)eina_list_nth(ad->albuminfo.sel_elist, 0);
+       GL_CHECK(album_item);
+       if (1 != _gl_data_get_albums_selected_cnt(ad) ||
+           album_item->cluster->type > GL_STORE_T_MMC ||
+           _gl_data_is_camera_album(album_item->cluster))
+               return;
+       _gl_ctxpopup_create(data, obj, __gl_albums_edit_ctxpopup_append);
+}
+
+Evas_Object *_gl_albums_edit_add_content(void *data, Evas_Object *obj,
+                                        const char *part)
+{
+       GL_CHECK_NULL(part);
+       GL_CHECK_NULL(data);
+       gl_cluster *album = (gl_cluster *)data;
+       GL_CHECK_NULL(album->cluster);
+       Evas_Object *_obj = NULL;
+
+       if (!g_strcmp0(part, GL_TILE_CHECKBOX_GRID)) {
+               if (album->cluster->type >= GL_STORE_T_ALL)
+                       return NULL;
+
+               _obj = _gl_tile_show_part_checkbox_grid(obj, album->checked,
+                                                       __gl_albums_edit_check_grid_changed,
+                                                       data);
+       } else if (!g_strcmp0(part, GL_TILE_CHECKBOX)) {
+               if (album->cluster->type >= GL_STORE_T_ALL)
+                       return NULL;
+
+               _obj = _gl_tile_show_part_checkbox(obj, album->checked,
+                                                  __gl_albums_edit_check_changed,
+                                                  data);
+       } else if (!g_strcmp0(part, GL_TILE_DIM) &&
+                  album->cluster->type >= GL_STORE_T_ALL) {
+               _obj = _gl_tile_show_part_dim(obj); /* Disable item */
+       }
+
+       return _obj;
+}
+
+/**
+ *  Use naviframe api to push albums edit view to stack.
+ *  @param obj is the content to be pushed.
+ */
+int _gl_albums_edit_add_btns(void *data, Evas_Object *parent)
+{
+       gl_dbg("GL_NAVI_ALBUMS_EDIT");
+       GL_CHECK_VAL(parent, -1);
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       Elm_Object_Item *nf_it = elm_naviframe_top_item_get(parent);
+       GL_CHECK_VAL(nf_it, -1);
+
+       _gl_ui_clear_btns(data);
+
+       Evas_Object *btn = NULL;
+       /* More */
+       btn = _gl_but_create_but(parent, NULL, NULL, GL_BUTTON_STYLE_NAVI_MORE,
+                                __gl_albums_edit_more_btn_cb, data);
+       GL_CHECK_VAL(btn, -1);
+       elm_object_item_part_content_set(nf_it, GL_NAVIFRAME_MORE, btn);
+       _gl_ui_disable_menu(nf_it, true);
+
+       Evas_Object *btn1 = elm_button_add(parent);
+       Evas_Object *btn2 = elm_button_add(parent);
+       GL_CHECK_VAL(btn1, -1);
+       GL_CHECK_VAL(btn2, -1);
+       /* Title Cancel Button */
+       elm_object_style_set(btn1, "naviframe/title_left");
+       elm_object_item_part_content_set(ad->ctrlinfo.nf_it, GL_NAVIFRAME_TITLE_LEFT_BTN, btn1);
+       _gl_ui_set_translate_str(btn1,GL_STR_ID_CANCEL_CAP);
+       evas_object_smart_callback_add(btn1, "clicked", __gl_albums_edit_cancel_cb, ad);
+
+       /* Title Done Button */
+       elm_object_style_set(btn2, "naviframe/title_right");
+       elm_object_item_part_content_set(ad->ctrlinfo.nf_it, GL_NAVIFRAME_TITLE_RIGHT_BTN, btn2);
+       _gl_ui_set_translate_str(btn2,GL_STR_ID_DONE_CAP);
+       evas_object_smart_callback_add(btn2, "clicked", __gl_albums_edit_del_cb, ad);
+       elm_object_disabled_set(btn2, EINA_TRUE);
+
+       /* Select-all */
+       ad->selinfo.ck_state = false;
+       _gl_ui_add_selall_ck(ad->ctrlinfo.ctrlbar_view_ly, "select.all.area.check", "select.all.area.check",
+                           __gl_albums_edit_selall_cb, data);
+       return 0;
+}
+
+int _gl_albums_edit_update_view(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       gl_dbg("");
+
+       if (gl_check_gallery_empty(data) ||
+           ad->albuminfo.elist->edit_cnt == 0) {
+               /* Remove invalid widgets */
+               gl_del_invalid_widgets(data, GL_INVALID_NONE);
+               gl_dbgW("None editable albums, show albums view!");
+               _gl_albums_edit_pop_view(data);
+               return 0;
+       }
+
+       int sel_cnt = _gl_data_get_albums_selected_cnt(data);
+       int invalid_m = GL_INVALID_NONE;
+       /* Album selected for rename was deleted */
+       if (sel_cnt == 0) {
+               /* None albums selected */
+               gl_dbgW("None albums selected!");
+               /* Disable toolbar buttons */
+               _gl_albums_edit_disable_btns(data, true);
+               /* Remove invalid widgets */
+               gl_del_invalid_widgets(data, invalid_m);
+       }
+
+       /* Update edit view, other update view in cancel callback */
+       _gl_albums_create_items(data, ad->albuminfo.view);
+       /* Display selectioninfo */
+       _gl_notify_check_selall(data, ad->ctrlinfo.nf_it,
+                               ad->albuminfo.elist->edit_cnt, sel_cnt);
+       /* Update the label text */
+       _gl_ui_update_navi_title_text(ad->ctrlinfo.nf_it, sel_cnt, false);
+       return 0;
+}
+
+int _gl_albums_edit_pop_view(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+
+       /* Pop rename entry view */
+       elm_naviframe_item_pop_to(ad->ctrlinfo.nf_it);
+       ad->albuminfo.selected = NULL;
+       ad->albuminfo.b_share_mode = GL_GRID_EDIT;
+       _gl_data_finalize_albums_selected_list(data);
+
+       gl_albums_change_to_view(data);
+       _gl_albums_check_btns(data);
+       return 0;
+}
+
+int _gl_albums_edit_update_lang(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_CHECK_VAL(ad->ctrlinfo.nf_it, -1);
+
+       /*Reset select info text*/
+       int cnt = _gl_data_get_albums_selected_cnt(ad);
+       /* Update the label text */
+       _gl_ui_update_navi_title_text(ad->ctrlinfo.nf_it, cnt, true);
+       return 0;
+}
+
+/* albums view: more-delete-add to home */
+/* Delete in unavaliable for Facebook */
+int _gl_albums_edit_disable_btns(void *data, bool b_disable)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       gl_dbg("b_disable: %d", b_disable);
+
+       if (!b_disable) {
+               /* Enable items */
+               _gl_ctrl_disable_items(ad->ctrlinfo.nf_it, false);
+       } else {
+               _gl_ctrl_disable_items(ad->ctrlinfo.nf_it, true);
+       }
+       return 0;
+}
+
diff --git a/src/2dview/gl-albums-edit.h b/src/2dview/gl-albums-edit.h
new file mode 100644 (file)
index 0000000..bac7073
--- /dev/null
@@ -0,0 +1,36 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#ifndef _GL_ALBUMS_EDIT_H_
+#define _GL_ALBUMS_EDIT_H_
+
+#include <Elementary.h>
+#include "gallery.h"
+
+Evas_Object *_gl_albums_edit_add_content(void *data, Evas_Object *obj,
+                                        const char *part);
+int _gl_albums_edit_add_btns(void *data, Evas_Object *parent);
+int _gl_albums_edit_update_view(void *data);
+int _gl_albums_edit_pop_view(void *data);
+int _gl_albums_edit_update_lang(void *data);
+int _gl_albums_edit_disable_btns(void *data, bool b_disable);
+#ifdef GL_EXTENDED_FEATURES
+void _gl_albums_edit_share(void *data);
+#endif
+
+#endif
+
diff --git a/src/2dview/gl-albums-new.c b/src/2dview/gl-albums-new.c
new file mode 100644 (file)
index 0000000..3c3ffdc
--- /dev/null
@@ -0,0 +1,182 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#include "gl-debug.h"
+#include "gl-fs.h"
+#include "gl-albums-new.h"
+#include "gl-entry.h"
+#include "gl-thumbs.h"
+#include "gl-ui-util.h"
+#include "gl-util.h"
+#include "gl-data.h"
+#include "gl-controlbar.h"
+#include "gl-editfield.h"
+#include "gl-popup.h"
+#include "gl-strings.h"
+#include "gl-fs.h"
+#include "gl-notify.h"
+#include "gl-file-util.h"
+
+static int __gl_albums_new_pop_view(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       gl_dbg("");
+
+       int view_mode = gl_get_view_mode(ad);
+       if (ad->albuminfo.b_new_album) {
+               ad->albuminfo.b_new_album = false;
+       }  else if (view_mode == GL_VIEW_THUMBS_EDIT) {
+               _gl_notify_check_selall(ad, ad->gridinfo.nf_it,
+                                       ad->gridinfo.count,
+                                       _gl_data_selected_list_count(ad));
+               /* Update the label text */
+               _gl_thumbs_update_label_text(ad->gridinfo.nf_it,
+                                            _gl_data_selected_list_count(ad),
+                                            false);
+       }
+
+       return 0;
+}
+
+/* dont call elm_naviframe_item_pop in this callback */
+static Eina_Bool __gl_albums_new_pop_cb(void *data, Elm_Object_Item *it)
+
+{
+       /* If the back button is clicked or H/W Back key is pressed,
+       this callback will be called right before the
+       current view pop. User may implement application logic here. */
+
+       /* To proceed the popping, please return the EINA_TRUE or not,
+       popping will be canceled.
+       If it needs to delete the current view without any transition effect,
+       then call the elm_object_item_del() here and then return the EINA_FALSE */
+
+       gl_dbg("");
+       __gl_albums_new_pop_view(data);
+       return EINA_TRUE;
+}
+
+int _gl_albums_new_create_view(void *data, void *op_func)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       gl_dbg("");
+
+       ad->entryinfo.mode = GL_ENTRY_NEW_ALBUM;
+       ad->entryinfo.op_cb = op_func;
+       /* Create entry view */
+       if (_gl_entry_create_view(data, NULL, GL_STR_ID_NEW_ALBUM) < 0) {
+               ad->entryinfo.mode = GL_ENTRY_NONE;
+               ad->entryinfo.op_cb = NULL;
+               return -1;
+       }
+       /* Set callbacks */
+       Evas_Object *entry = _gl_editfield_get_entry(data);
+       GL_CHECK_VAL(entry, -1);
+       evas_object_data_set(entry, "gl_entry_process_cb_key",
+                            _gl_albums_new_process);
+       evas_object_data_set(entry, "gl_entry_pop_cb_key",
+                            __gl_albums_new_pop_cb);
+       return 0;
+}
+
+/*
+* @param b_enter
+*      True: Enter key on Keyboard pressed, False: Button Done clicked
+*/
+int _gl_albums_new_process(void *data, bool b_enter)
+{
+       gl_dbg("b_enter: %d", b_enter);
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+
+       if (ad->entryinfo.editfield == NULL) {
+               gl_dbgE("Edit filed is NULL");
+               goto NEW_ALBUM_FAILED;
+       }
+
+       Evas_Object *entry = ad->entryinfo.entry;
+       char name[GL_ALBUM_NAME_LEN_MAX] = { 0, };
+
+       /* Get utf8 format string */
+       if (gl_get_entry_text(entry, name, GL_ALBUM_NAME_LEN_MAX) != 0) {
+               gl_dbgE("Get entry text failed!");
+               goto NEW_ALBUM_FAILED;
+       }
+
+       /* Get valid name */
+       if (_gl_validate_album_name(data, name) != 0) {
+               if (b_enter)
+                       _gl_editfield_hide_imf(ad);
+               return -1;
+       }
+       gl_sdbg("Valid album name: %s", name);
+
+       /* Check whether the new folder exist */
+       char new_path[GL_DIR_PATH_LEN_MAX] = { 0, };
+
+       /* Make dir full new_path of new album */
+       snprintf(new_path, GL_DIR_PATH_LEN_MAX, "%s/%s", GL_DEFAULT_PATH_IMAGES,
+                name);
+       gl_sdbg("New dir new_path: %s", new_path);
+#ifdef _RENAME_ALBUM_SENSITIVE
+       if (_gl_fs_check_name_case(new_path, name))
+#endif
+       {
+               memset(new_path, 0x00, GL_DIR_PATH_LEN_MAX);
+               snprintf(new_path, GL_DIR_PATH_LEN_MAX, "%s/%s",
+                        GL_DEFAULT_PATH_IMAGES, name);
+               gl_sdbg("New dir new_path: %s", new_path);
+               int res = gl_file_dir_is_empty(new_path);
+               /**
+               * If dir is empty, 1 is returned,
+               * if it contains at least 1 file, 0 is returned.
+               * On failure, -1 is returned.
+               */
+               gl_dbg("file_dir_is_empty return value: %d", res);
+               if (res == 0) {
+                       gl_dbgW("New folder already exists!");
+                       _gl_popup_create_local(data, GL_POPUP_NOBUT,
+                                              GL_STR_ID_SAME_NAME_ALREADY_IN_USE);
+                       return -1;
+               }
+       }
+
+       /* Save new album name */
+       char *new_album = ad->albuminfo.new_name;
+       g_strlcpy(new_album, name, GL_ALBUM_NAME_LEN_MAX);
+       new_album[GL_ALBUM_NAME_LEN_MAX - 1] = '\0';
+
+       if (ad->albuminfo.view)
+               elm_gengrid_clear(ad->albuminfo.view);
+
+       if (ad->entryinfo.op_cb) {
+               int (*mc_cb)(void *data);
+               /* Get operation funciton */
+               mc_cb = ad->entryinfo.op_cb;
+               /* Move/Save/Copy files to dest album */
+               mc_cb(ad);
+       }
+       GL_IF_DEL_OBJ(ad->popupinfo.popup);
+       return 0;
+
+NEW_ALBUM_FAILED:
+       GL_IF_DEL_OBJ(ad->popupinfo.popup);
+       return -1;
+}
+
diff --git a/src/2dview/gl-albums-new.h b/src/2dview/gl-albums-new.h
new file mode 100644 (file)
index 0000000..dcb90dd
--- /dev/null
@@ -0,0 +1,28 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#ifndef _GL_ALBUMS_NEW_H_
+#define _GL_ALBUMS_NEW_H_
+
+#include <Elementary.h>
+#include "gallery.h"
+
+int _gl_albums_new_create_view(void *data, void *op_func);
+int _gl_albums_new_process(void *data, bool b_enter);
+
+#endif
+
diff --git a/src/2dview/gl-albums-rename.c b/src/2dview/gl-albums-rename.c
new file mode 100644 (file)
index 0000000..12358c7
--- /dev/null
@@ -0,0 +1,387 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#include "gl-debug.h"
+#include "gl-fs.h"
+#include "gl-entry.h"
+#include "gl-albums-rename.h"
+#include "gl-albums.h"
+#include "gl-ui-util.h"
+#include "gl-util.h"
+#include "gl-controlbar.h"
+#include "gl-editfield.h"
+#include "gl-button.h"
+#include "gl-popup.h"
+#include "gl-strings.h"
+#include "gl-fs.h"
+#include "gl-db-update.h"
+#include "gl-file-util.h"
+
+static void __gl_albums_rename_trans_finished(void *data)
+{
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       int view_mode = gl_get_view_mode(ad);
+       gl_dbgW("view_mode: %d", view_mode);
+
+       /* Clear previous view after animation finished */
+       if (view_mode == GL_VIEW_ALBUMS_RENAME)
+               elm_gengrid_clear(ad->albuminfo.view);
+}
+
+static int __gl_albums_rename_pop_view(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_CHECK_VAL(ad->maininfo.naviframe, -1);
+       gl_dbg("");
+
+       ad->albuminfo.selected = NULL;
+       /* Update album view */
+       gl_set_view_mode(data, GL_VIEW_ALBUMS);
+       _gl_albums_change_mode(data, false);
+       return 0;
+}
+
+/* dont call elm_naviframe_item_pop in this callback */
+static Eina_Bool __gl_albums_rename_pop_cb(void *data, Elm_Object_Item *it)
+
+{
+       /* If the back button is clicked or H/W Back key is pressed,
+       this callback will be called right before the
+       current view pop. User may implement application logic here. */
+
+       /* To proceed the popping, please return the EINA_TRUE or not,
+       popping will be canceled.
+       If it needs to delete the current view without any transition effect,
+       then call the elm_object_item_del() here and then return the EINA_FALSE */
+
+       gl_dbg("");
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       ad->albuminfo.selected = NULL;
+       /* Update edit view */
+       gl_set_view_mode(data, GL_VIEW_ALBUMS_EDIT);
+       gl_albums_update_items(data);
+       return EINA_TRUE;
+}
+
+/*It is used by rename in longpressed event popup, after rename, should pop to album view, not album edit view*/
+static Eina_Bool __gl_albums_rename_pop_to_album_cb(void *data, Elm_Object_Item *it)
+
+{
+       gl_dbg("");
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       ad->albuminfo.selected = NULL;
+       /* Update edit view */
+       gl_set_view_mode(data, GL_VIEW_ALBUMS);
+       gl_albums_update_items(data);
+       return EINA_TRUE;
+}
+
+/*
+* @param b_enter
+*      True: Enter key on Keyboard pressed, False: Button Done clicked
+*/
+static int __gl_albums_rename_process(void *data, bool b_enter)
+{
+       gl_dbg("b_enter: %d", b_enter);
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       bool b_root_path = false;
+       gl_cluster *album_item = NULL;
+
+       /*If click "Done", will back to album view, pop callback should not be called.*/
+       evas_object_data_del(ad->entryinfo.entry, "gl_entry_pop_cb_key");
+
+       if (gl_get_view_mode(ad) != GL_VIEW_ALBUMS_RENAME) {
+               gl_dbgE("View mode is wrong!");
+               goto RENAME_FAILED;
+       }
+
+       album_item = ad->albuminfo.selected;
+       if (album_item == NULL || album_item->cluster == NULL ||
+           album_item->cluster->uuid == NULL) {
+               gl_dbgE("selected_album is NULL!");
+               goto RENAME_FAILED;
+       }
+
+       char name[GL_FILE_NAME_LEN_MAX] = { 0, };
+       /* Get utf8 format string */
+       int ret = -1;
+       ret = gl_get_entry_text(ad->entryinfo.entry, name,
+                               GL_FILE_NAME_LEN_MAX);
+       if (ret != 0) {
+               gl_dbgE("Get entry text failed!");
+               goto RENAME_FAILED;
+       }
+
+       /* Get valid name */
+       if (_gl_validate_album_name(data, name) != 0) {
+               if (b_enter)
+                       _gl_editfield_hide_imf(ad);
+               return -1;
+       }
+
+       gl_sdbg("Valid album name: %s", name);
+       /* Get src folder path */
+       char old_path[GL_DIR_PATH_LEN_MAX] = { 0, };
+       if (album_item->cluster->path) {
+               g_strlcpy(old_path, album_item->cluster->path,
+                         GL_DIR_PATH_LEN_MAX);
+               gl_sdbg("Src folder: %s", old_path);
+               if (_gl_data_is_root_path(old_path)) {
+                       /**
+                       * Root path, couldn't rename root path,
+                       * make the new dest folder
+                       * and move all files for root path to it.
+                       */
+                       gl_dbg("Rename [No Name] album's name.");
+                       b_root_path = true;
+               }
+       } else {
+               gl_dbgE("gl_db_get_folder_fullpath failed(%d)!", ret);
+               goto RENAME_FAILED;
+       }
+
+       /* Get dest folder path */
+       char new_path[GL_DIR_PATH_LEN_MAX] = { 0, };
+       char parent[GL_DIR_PATH_LEN_MAX] = { 0, };
+
+       if (b_root_path) {
+               snprintf(new_path, GL_DIR_PATH_LEN_MAX, "%s/%s",
+                        GL_DEFAULT_PATH_IMAGES, name);
+               g_strlcpy(parent, GL_DEFAULT_PATH_IMAGES, GL_DIR_PATH_LEN_MAX);
+       } else {
+               g_strlcpy(new_path, old_path, GL_DIR_PATH_LEN_MAX);
+               g_strlcpy(parent, old_path, GL_DIR_PATH_LEN_MAX);
+
+               int i = 0;
+               int length = strlen(old_path);
+               for (i = length; i >= 0; i--) {
+                       if (new_path[i] == '/') {
+                               gl_dbg("length=%d, i=%d", length, i);
+                                /* Path like "/root/abc/" */
+                               if (i == length - 1)
+                                       continue;
+                               memcpy(&new_path[i + 1], name, strlen(name));
+                               new_path[i + 1 + strlen(name)] =  '\0';
+                               parent[i] =  '\0';
+                               break;
+                       }
+               }
+       }
+
+       gl_sdbg("Dest folder: %s", new_path);
+#ifdef _RENAME_ALBUM_SENSITIVE
+       if (!strcasecmp(old_path, new_path))
+#else
+       if (!g_strcmp0(old_path, new_path))
+#endif
+       {
+               gl_dbgW("Same as current name!");
+               goto RENAME_FAILED;
+       }
+
+       /**
+       * If dir is empty, 1 is returned,
+       * if it contains at least 1 file, 0 is returned.
+       * On failure, -1 is returned.
+       */
+#ifdef _RENAME_ALBUM_SENSITIVE
+       if (_gl_fs_check_name_case(new_path, name))
+#endif
+       {
+               memset(new_path, 0x00, GL_DIR_PATH_LEN_MAX);
+               snprintf(new_path, GL_DIR_PATH_LEN_MAX, "%s/%s", parent, name);
+               gl_sdbg("New dir path: %s", new_path);
+               int res = gl_file_dir_is_empty(new_path);
+               gl_dbg("file_dir_is_empty return value: %d", res);
+               if (res == 0) {
+                       char *popup_desc = NULL;
+                       popup_desc = (char *)calloc(GL_POPUP_STRING_MAX,
+                                                  sizeof(char));
+                       if (popup_desc == NULL) {
+                               gl_dbgE("memory allocation fail!");
+                               return -1;
+                       }
+
+                       snprintf(popup_desc, GL_POPUP_STRING_MAX, "%s<br>%s",
+                               GL_STR_SAME_NAME_ALREADY_IN_USE, GL_STR_RETRY_Q);
+                       popup_desc[strlen(popup_desc)] = '\0';
+                       gl_popup_create_popup(ad, GL_POPUP_ALBUM_RENAME_DUPLICATE,
+                                             popup_desc);
+                       GL_FREE(popup_desc);
+                       gl_dbgW("New folder already exists!");
+                       return -1;
+               }
+       }
+
+       _gl_db_update_lock_once(ad, true);
+       if (b_root_path) {
+               /**
+               * Case 1: Rename virtual album 'No Name'.
+               * It couldn't be done by updating album record in DB directly.
+               * Cuz it would change the folder path of all folder records,
+               * to make them invalid.
+               *
+               * Create new folder under default images path,
+               * Move all medias under root path to new folder.
+               */
+               if (gl_make_new_album(name) == false) {
+                       gl_popup_create_popup(ad, GL_POPUP_NOBUT,
+                                             GL_STR_UNABLE_tO_RENAME);
+                       gl_dbgE("Failed to make a new directory!");
+                       goto RENAME_FAILED;
+               }
+
+               /* Move medias from 'No Name' album to new album */
+               if (gl_move_root_album(ad, album_item, new_path) != 0) {
+                       gl_dbg("gl_move_root_album failed!");
+                       gl_popup_create_popup(ad, GL_POPUP_NOBUT,
+                                             GL_STR_UNABLE_tO_RENAME);
+                       goto RENAME_FAILED;
+               } else {
+                       gl_dbg("New album added, update albums list.");
+                       ad->albuminfo.selected = NULL;
+                       _gl_data_update_cluster_list(ad);
+               }
+       } else {
+               /**
+               * Case 2: Rename normal album. Update album record in DB.
+               */
+               media_folder_set_name(album_item->cluster->folder_h, name);
+               ret = media_folder_update_to_db(album_item->cluster->folder_h);
+               if (ret < 0) {
+                       gl_dbg("media_folder_set_name failed (%d)!", ret);
+                       goto RENAME_FAILED;
+               }
+
+               /**
+               * Change folder name in file system
+               * for some special name, DB update success, but file mv failed.
+               * So, do this first.
+               */
+               if (gl_file_exists(old_path)) {
+                       if (!gl_file_mv(old_path, new_path))
+                               gl_dbg("file_mv failed!");
+               } else {
+                       gl_dbgW("Source folder path doesn't exist!");
+               }
+               /* Update memory */
+               GL_FREEIF(album_item->cluster->display_name);
+               album_item->cluster->display_name = strdup(name);
+               GL_FREEIF(album_item->cluster->path);
+               album_item->cluster->path = strdup(new_path);
+       }
+
+       elm_naviframe_item_pop(ad->maininfo.naviframe);
+       __gl_albums_rename_pop_view(data);
+       return 0;
+
+ RENAME_FAILED:
+
+       elm_naviframe_item_pop(ad->maininfo.naviframe);
+       __gl_albums_rename_pop_view(data);
+       return -1;
+}
+
+int _gl_albums_rename_create_view(void *data, gl_cluster *album)
+{
+       GL_CHECK_VAL(album, -1);
+       GL_CHECK_VAL(album->cluster, -1);
+       GL_CHECK_VAL(album->cluster->display_name, -1);
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       gl_dbg("");
+
+       ad->entryinfo.mode = GL_ENTRY_RENAME_ALBUM;
+
+       /* Create entry view */
+       if (_gl_entry_create_view(data, album->cluster->display_name, GL_STR_ID_CHNAGE_NAME) < 0) {
+               ad->entryinfo.mode = GL_ENTRY_NONE;
+               return -1;
+       }
+       /* Set callbacks */
+       Evas_Object *entry = _gl_editfield_get_entry(data);
+       GL_CHECK_VAL(entry, -1);
+       evas_object_data_set(entry, "gl_entry_process_cb_key",
+                            __gl_albums_rename_process);
+       if (GL_VIEW_ALBUMS == gl_get_view_mode(data))
+               evas_object_data_set(entry, "gl_entry_pop_cb_key",
+                                    __gl_albums_rename_pop_to_album_cb);
+       else
+               evas_object_data_set(entry, "gl_entry_pop_cb_key",
+                                    __gl_albums_rename_pop_cb);
+
+       evas_object_data_set(entry, "gl_entry_transit_cb_key",
+                            __gl_albums_rename_trans_finished);
+       gl_set_view_mode(data, GL_VIEW_ALBUMS_RENAME);
+       return 0;
+}
+
+int _gl_albums_rename_update_view(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       gl_dbg("");
+
+       if (gl_check_gallery_empty(data) ||
+           ad->albuminfo.elist->edit_cnt == 0) {
+               /* Remove invalid widgets */
+               gl_del_invalid_widgets(data, GL_INVALID_NONE);
+               gl_dbgW("None editable albums, show albums view!");
+               _gl_albums_change_mode(data, false);
+               return 0;
+       }
+
+       /* Album selected for rename was deleted */
+       if (ad->albuminfo.selected == NULL) {
+               gl_dbgW("Rename invalid album!");
+               /* Remove rename view */
+               elm_naviframe_item_pop(ad->maininfo.naviframe);
+               return 0;
+       }
+
+       /* Cluster list updated, clear view */
+       elm_gengrid_clear(ad->albuminfo.view);
+       return 0;
+}
+
+int _gl_albums_rename_update_lang(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_CHECK_VAL(ad->entryinfo.nf_it, -1);
+
+       if (ad->popupinfo.popup) {
+               char *popup_desc = (char *)calloc(GL_POPUP_STRING_MAX,
+                                                sizeof(char));
+               if (popup_desc) {
+                       snprintf(popup_desc, GL_POPUP_STRING_MAX, "%s<br>%s",
+                                        GL_STR_SAME_NAME_ALREADY_IN_USE, GL_STR_RETRY_Q);
+                       popup_desc[strlen(popup_desc)] = '\0';
+                       gl_popup_create_popup(ad, GL_POPUP_ALBUM_RENAME_DUPLICATE,
+                                                                 popup_desc);
+                       GL_FREE(popup_desc);
+               }
+       }
+
+       return 0;
+}
+
diff --git a/src/2dview/gl-albums-rename.h b/src/2dview/gl-albums-rename.h
new file mode 100644 (file)
index 0000000..1454bbd
--- /dev/null
@@ -0,0 +1,29 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#ifndef _GL_ALBUMS_RENAME_H_
+#define _GL_ALBUMS_RENAME_H_
+
+#include <Elementary.h>
+#include "gallery.h"
+
+int _gl_albums_rename_create_view(void *data, gl_cluster *album);
+int _gl_albums_rename_update_view(void *data);
+int _gl_albums_rename_update_lang(void *data);
+
+#endif
+
diff --git a/src/2dview/gl-ecore-animator.h b/src/2dview/gl-ecore-animator.h
new file mode 100644 (file)
index 0000000..1dcab67
--- /dev/null
@@ -0,0 +1,104 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#pragma once
+
+typedef bool (*CallbackFUNC)(double delta, void *data);
+
+template <class ObjType, class FunType, class ParmType>
+class UserMemFunctor
+{
+public:
+    UserMemFunctor(ObjType& obj, FunType fun) : m_obj(obj), m_func(fun) {}
+    void operator()(ParmType& p) { (m_obj.*m_func)(p); }
+private:
+    ObjType& m_obj;
+    FunType m_func;
+};
+
+// TODO : Implement using Functor.
+
+class ECoreAnimator {
+       static Eina_Bool _on_anim(void *data)
+       {
+               ECoreAnimator *thiz = static_cast<ECoreAnimator *>(data);
+
+               return thiz->OnAnimation();
+       }
+
+public:
+       ECoreAnimator() : m_animator(NULL), m_bStarted(false) {};
+       ~ECoreAnimator() {
+               Stop();
+       };
+
+       void Start(CallbackFUNC cb, void *data)
+       {
+               m_cb = cb;
+               m_data = data;
+
+               m_count = 0;
+               m_animator = ecore_animator_add(_on_anim, this);
+               m_bStarted = true;
+       }
+
+       void Stop() {
+               if (m_bStarted) {
+                       m_bStarted = false;
+                       ecore_animator_del(m_animator);
+                       m_animator = NULL;
+               }
+       };
+
+       Eina_Bool OnAnimation() {
+               double current;
+
+               if (m_count == 0) {
+                       current = m_prev = ecore_loop_time_get();
+               } else {
+                       current = ecore_loop_time_get();
+               }
+
+               m_count++;
+
+               if (m_cb(current - m_prev, m_data) == false) {
+                       Stop();
+                       return ECORE_CALLBACK_CANCEL;
+               }
+
+               m_prev = current;
+               return ECORE_CALLBACK_RENEW;
+       };
+
+       bool IsRunning() const {
+               return m_bStarted;
+       };
+
+private:
+       Ecore_Animator *m_animator;
+
+//     template <typename T, bool (T::*callback)()>
+//     func_bind<T, callback> m_f;
+       CallbackFUNC m_cb;
+       void *m_data;
+
+       double m_prev;
+       bool m_bStarted;
+
+       int m_count;
+};
+
diff --git a/src/2dview/gl-exception.h b/src/2dview/gl-exception.h
new file mode 100644 (file)
index 0000000..ced65ac
--- /dev/null
@@ -0,0 +1,31 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+#pragma once
+
+class CException {
+public:
+       typedef enum {
+               IO_ERROR,
+       } error_code;
+
+       CException(error_code err) : m_err(err) {};
+       ~CException() {};
+
+private:
+       error_code m_err;
+};
+
diff --git a/src/2dview/gl-timeline.c b/src/2dview/gl-timeline.c
new file mode 100644 (file)
index 0000000..0330f00
--- /dev/null
@@ -0,0 +1,4782 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#include <stdlib.h>
+#include <time.h>
+#include "gl-debug.h"
+#include "gl-timeline.h"
+#include "gl-controlbar.h"
+#include "gl-ui-util.h"
+#include "gl-util.h"
+#include "gl-data.h"
+#include "gl-strings.h"
+#ifdef _USE_ROTATE_BG
+#include "gl-rotate-bg.h"
+#include "gl-exif.h"
+#endif
+#include "gl-thumb.h"
+#include "gl-thumbs.h"
+#include "gl-main.h"
+#include "gl-albums.h"
+#include "gl-albums-sel.h"
+#include "gl-nocontents.h"
+#include "gl-ext-exec.h"
+#include "gl-ext-ug-load.h"
+#include "gl-ctxpopup.h"
+#include "gl-popup.h"
+#include "gl-button.h"
+#include "gl-ext-exec.h"
+#include "gl-notify.h"
+#include "gl-db-update.h"
+#include "gl-thread-util.h"
+#include "gl-fs.h"
+#include "gl-file-util.h"
+#include "gl-gesture.h"
+
+#define GL_TIMELINE_TITLE_H 46
+#define GL_TIMELINE_PAD_H 8
+#define GL_TIMELINE_CONTENT_P_H 956
+#define GL_TIMELINE_CONTENT_L_H 429
+#define GL_TIMELINE_PAGE_SIZE 450
+
+#define GL_TL_PINCH_OUT_2_CNT 15
+#define GL_TL_PINCH_OUT_1_CNT 8
+#define GL_TL_PINCH_OUT_CNT_STEP 3
+
+/* Signals to hide/show title swallow */
+#define GL_TL_SWALLOW_TITLE_SHOW "elm,swallow_title,state,show"
+#define GL_TL_SWALLOW_TITLE_HIDE "elm,swallow_title,state,hide"
+/* Signals to transit title during updating if date(time) changed */
+#define GL_TL_TITLE2_SHOW_FINISHED "elm,action,title2,show,finished"
+#define GL_TL_TITLE_HIDE_FINISHED "elm,action,title,hide,finished"
+#define GL_TL_TITLE_FADE_OUT "elm,action,title,fade_out"
+#define GL_TL_TITLE2_FADE_IN "elm,action,title2,fade_in"
+#define GL_TL_TITLE_HIDE_DEFERRED "elm,state,title,hide,deferred"
+#define GL_TL_TITLE2_SHOW_DEFERRED "elm,state,title2,show,deferred"
+#define GL_TL_TITLE_SHOW "elm,state,title,show"
+#define GL_TL_TITLE2_CREATED "elm,state,title2,created"
+
+#define GL_TL_CONTENTS_FORMAT "contents_%d_%d"
+#define GL_TL_CHECKBOX_FORMAT "contents_%d_%d_checkbox"
+#define GL_TL_CONTENT_FORMAT "content_%d"
+
+#define GL_TL_TILE_DATA_KEY "gl_tile_data"
+#define GL_TL_DATA_KEY "gl_tl_data"
+
+#define GL_GRID_4_PER_ROW 4
+#define GL_GRID_7_PER_ROW 7
+
+#define GL_GRID_8_PER_ROW 8
+#define GL_GRID_3_PER_ROW 3
+
+#define GL_GRID_6_PER_ROW 6
+#define GL_GRID_10_PER_ROW 10
+
+#define GL_GRID_H_ZOOM_03 178
+#define GL_GRID_H_ZOOM_02 267
+
+#define GL_TL_DEL_TRANSITS(tiles) \
+       do { \
+               gl_tile_s *tile = NULL; \
+               if (tiles) { \
+                       gl_dbgW("Delete transits of tiles!"); \
+                       Eina_List *l = NULL; \
+                       EINA_LIST_FOREACH(tiles, l, tile) { \
+                               if (tile) { \
+                                       GL_IF_DEL_TRANSIT(tile->trans); \
+                                       tile = NULL; \
+                               } \
+                       } \
+               } \
+       } while (0)
+
+#define GL_TL_DEL_IDLERS(idlers) \
+       do { \
+               if (idlers) { \
+                       gl_tlp_s *it_d = NULL; \
+                       EINA_LIST_FREE(idlers, it_d) { \
+                               if (it_d) { \
+                                       GL_IF_DEL_IDLER(it_d->update_idler); \
+                                       it_d = NULL; \
+                               } \
+                       } \
+                       idlers = NULL; \
+               } \
+       } while (0)
+
+/* Slider unload->free pages ==> Delete contents first before release list */
+#define GL_TL_CLEAR_PAGES(timeline_d, b_set_zop) \
+       do { \
+               GL_TL_DEL_TRANSITS(timeline_d->tiles); \
+               GL_TL_DEL_IDLERS(timeline_d->idlers); \
+               if (b_set_zop) \
+                       _gl_slider_set_zop(timeline_d->view, GL_SLIDE_ZOP_DEFAULT); \
+               _gl_slider_unload(timeline_d->view); \
+               __gl_timeline_free_pages(timeline_d); \
+       } while (0)
+
+typedef enum _gl_zoom_mode_t {
+       GL_TM_ZOOM_NONE = -3,
+       GL_TM_ZOOM_OUT_TWO,
+       GL_TM_ZOOM_OUT_ONE,
+       GL_TM_ZOOM_DEFAULT,
+       GL_TM_ZOOM_MAX,
+} gl_zoom_mode_e;
+
+typedef enum _gl_trans_op_t {
+       GL_TRANS_OP_DEFAULT, /* Initial state */
+       GL_TRANS_OP_DONE, /* Transition is done, do some updating */
+       GL_TRANS_OP_START, /* Preparation is one, start to transit tiles */
+       GL_TRANS_OP_PREPARE, /* Prepare to add transition */
+       GL_TRANS_OP_SHOW, /* Tiles already created, just show them with transition */
+       GL_TRANS_OP_MAX,
+} gl_trans_op_e;
+
+typedef enum _gl_tl_view_t {
+       GL_TL_VIEW_NORMAL,
+       GL_TL_VIEW_EDIT,
+       GL_TL_VIEW_SHARE,
+       GL_TL_VIEW_MAX,
+} gl_tl_view_e;
+
+typedef struct _gl_tm_t gl_tm_s;
+struct _gl_tm_t {
+       int tm_year;
+       int tm_mon;
+       int tm_mday;
+};
+
+typedef struct _gl_sel_data_t gl_sel_s;
+struct _gl_sel_data_t {
+       Eina_List *sel_list; /* List about image selected */
+       int jpge_cnt;
+       int image_cnt;
+};
+
+typedef enum _gl_time_view_display_order {
+       TIME_ORDER_ASC = 0,
+       TIME_ORDER_DESC
+}_gl_time_view_order;
+
+struct _gl_timeline_t {
+       gl_appdata *ad;
+       Evas_Object *parent;
+       Evas_Object *layout;
+       Evas_Object *view;
+       Evas_Object *nocontents;
+       Evas_Object *date_layout;
+       Elm_Object_Item *nf_it;
+       int count; /* All images count add in TIMELINE */
+       time_t last_mtime;
+       int w;
+       int h;
+       bool delete_data;
+       gl_mouse_s mouse;
+       Eina_List *count_list; /* List about image count of each item in default zoom level */
+       gl_tl_view_e view_m; /* View mode: normal/edit/share */
+       gl_zoom_mode_e zoom_level;
+       Eina_List *list; /* Page data list */
+       /* mtime range for title */
+       gl_tm_s tm_s;
+       gl_tm_s tm_e;
+       bool b_created;
+       Ecore_Animator *animator;
+       bool b_updating_title; /* Flag: updating title, it's not done if TRUE set */
+       gl_cluster *album; /* Create 'All albums' album for share/edit operation */
+       int tran_op; /* Add effect */
+       Eina_List *tiles; /* All tiles of one page */
+       Eina_List *idlers; /* For showing original file */
+       Eina_List *thumbs; /* Object list for creating thumbnails */
+       Eina_List *data_list;   /* Media list */
+       gl_sel_s *sel_d;
+       bool is_list_reverse;
+       _gl_time_view_order time_media_display_order; /* keep track of the media items display order */
+       Elm_Object_Item *realized_item;
+};
+
+typedef struct _gl_tlp_t gl_tlp_s;
+struct _gl_tlp_t {
+       int index;
+       int start_pos;
+       int end_pos;
+       int count;
+       int w;
+       int h;
+       Evas_Object *layout;
+       Ecore_Idler *update_idler;
+       bool b_created;
+       gl_timeline_s *timeline_d;
+};
+
+typedef struct _gl_tile_t gl_tile_s;
+struct _gl_tile_t {
+       Evas_Object *bg;
+       Evas_Object *parent;
+       Elm_Transit *trans;
+       int count;
+       int total;
+       gl_tlp_s *it_d;
+       gl_timeline_s *timeline_d;
+};
+
+int _get_count_of_items_on_same_date(gl_media_s *item, Eina_List *list, char **text, int start_index);
+int _gl_time_get_number_of_items_per_row(void *data);
+static void __gl_timeline_page_deleted_cb(void *data, Evas_Object *obj,
+                                         void *ei);
+static int __gl_timeline_change_mode(void *data, int mode);
+static Evas_Object *__gl_timeline_create_list_view(gl_timeline_s *timeline_d, bool update);
+
+#ifdef _USE_APP_SLIDESHOW
+static int __gl_timeline_edit(void *data);
+#endif
+
+static bool __gl_timeline_is_checked(gl_timeline_s *timeline_d, char *uuid)
+{
+       GL_CHECK_FALSE(uuid);
+       GL_CHECK_FALSE(timeline_d);
+       GL_CHECK_FALSE(timeline_d->sel_d);
+
+       Eina_List *l = NULL;
+       char *item = NULL;
+       EINA_LIST_FOREACH(timeline_d->sel_d->sel_list, l, item) {
+               if (item && !g_strcmp0(item, uuid))
+                       return true;
+       }
+       return false;
+}
+
+#if 0
+static bool __gl_timeline_clear_sel_cnt(gl_timeline_s *timeline_d)
+{
+       GL_CHECK_FALSE(timeline_d);
+       if (timeline_d->sel_d == NULL)
+               return false;
+
+       timeline_d->sel_d->sel_list = NULL;
+       timeline_d->sel_d->jpge_cnt = 0;
+       timeline_d->sel_d->image_cnt = 0;
+       return true;
+}
+#endif
+
+static bool __gl_timeline_clear_sel_list(gl_timeline_s *timeline_d)
+{
+       GL_CHECK_FALSE(timeline_d);
+       if (timeline_d->sel_d == NULL)
+               return false;
+
+       char *item = NULL;
+       EINA_LIST_FREE(timeline_d->sel_d->sel_list, item) {
+               GL_GFREEIF(item);
+       }
+       timeline_d->sel_d->sel_list = NULL;
+       return false;
+}
+
+static int __gl_timeline_get_sel_cnt(gl_timeline_s *timeline_d)
+{
+       GL_CHECK_VAL(timeline_d, 0);
+       GL_CHECK_VAL(timeline_d->sel_d, 0);
+       return eina_list_count(timeline_d->sel_d->sel_list);
+}
+
+static bool __gl_timeline_sel_append_item(gl_timeline_s *timeline_d, char *uuid)
+{
+       GL_CHECK_FALSE(uuid);
+       GL_CHECK_FALSE(timeline_d);
+       GL_CHECK_FALSE(timeline_d->sel_d);
+
+       Eina_List *l = NULL;
+       char *item = NULL;
+       EINA_LIST_FOREACH(timeline_d->sel_d->sel_list, l, item) {
+               if (item && !g_strcmp0(item, uuid)) {
+                       gl_dbgW("Appended!");
+                       return false;
+               }
+       }
+       char *tmp = g_strdup(uuid);
+       GL_CHECK_FALSE(tmp);
+       timeline_d->sel_d->sel_list = eina_list_append(timeline_d->sel_d->sel_list,
+                                                      (void *)tmp);
+       return true;
+}
+
+static bool __gl_timeline_check_special_file(gl_timeline_s *timeline_d,
+                                            gl_media_s *item, bool b_append)
+{
+       GL_CHECK_FALSE(item);
+       GL_CHECK_FALSE(timeline_d);
+       GL_CHECK_FALSE(timeline_d->sel_d);
+
+       if (b_append) {
+               if (item->type == MEDIA_CONTENT_TYPE_IMAGE) {
+                       timeline_d->sel_d->image_cnt++;
+                       if (item->ext != NULL &&
+                               !strcasecmp(item->ext, GL_JPEG_FILE_EXT) &&
+                           _gl_exif_check_img_type(item->file_url))
+                               timeline_d->sel_d->jpge_cnt++;
+               }
+       } else {
+               if (item->type == MEDIA_CONTENT_TYPE_IMAGE) {
+                       if (timeline_d->sel_d->image_cnt > 0)
+                               timeline_d->sel_d->image_cnt--;
+                       else
+                               gl_dbgW("Image count is 0!");
+                       if (item->ext != NULL &&
+                                       !strcasecmp(item->ext, GL_JPEG_FILE_EXT) &&
+                                       _gl_exif_check_img_type(item->file_url)) {
+                               if (timeline_d->sel_d->jpge_cnt > 0)
+                                       timeline_d->sel_d->jpge_cnt--;
+                               else
+                                       gl_dbgW("JPG count is 0!");
+                       }
+               }
+       }
+       return true;
+}
+
+int __gl_timeline_check_btns_state(gl_timeline_s *timeline_d, int all_cnt,
+                                  int sel_cnt)
+{
+       GL_CHECK_VAL(timeline_d, -1);
+       GL_CHECK_VAL(timeline_d->ad, -1);
+       GL_CHECK_VAL(timeline_d->sel_d, -1);
+       gl_appdata *ad = (gl_appdata *)timeline_d->ad;
+
+       gl_dbg("sel_cnt/all_cnt = %d/%d", sel_cnt, all_cnt);
+       if (sel_cnt > all_cnt) {
+               gl_dbgE("selected_cnt > all_cnt!");
+               return -1;
+       } else if (sel_cnt == all_cnt) {
+               ad->selinfo.ck_state = EINA_TRUE;
+       } else {
+               ad->selinfo.ck_state = EINA_FALSE;
+       }
+
+       if (ad->selinfo.selectall_ck) {
+               elm_check_state_set(ad->selinfo.selectall_ck, ad->selinfo.ck_state);
+       }
+
+       /* Enable/Disable control bar buttons */
+       if (sel_cnt > 0) {
+               gl_dbg("view_m: %d", ad->tlinfo->view_m);
+               if (ad->tlinfo->view_m == GL_TL_VIEW_EDIT) {
+                       /* Disable delete/edit/addtag if facebook files selected */
+                       /* Disable edit/addtag if cloud files selected */
+                       /* facebook files only for share */
+                       _gl_ui_disable_menu(timeline_d->nf_it, false);
+                       _gl_ctrl_disable_items(timeline_d->nf_it, false);
+               } else { /* Share mode */
+                               _gl_ctrl_disable_items(timeline_d->nf_it, false);
+               }
+       } else {
+               /* Disable control bar buttons */
+               _gl_ui_disable_menu(timeline_d->nf_it, true);
+               _gl_ctrl_disable_items(timeline_d->nf_it, true);
+       }
+
+       return 0;
+}
+
+static bool __gl_timeline_sel_remove_item(gl_timeline_s *timeline_d, char *uuid)
+{
+       GL_CHECK_FALSE(uuid);
+       GL_CHECK_FALSE(timeline_d);
+       GL_CHECK_FALSE(timeline_d->sel_d);
+
+       Eina_List *l = NULL;
+       char *item = NULL;
+       EINA_LIST_FOREACH(timeline_d->sel_d->sel_list, l, item) {
+               if (item && !g_strcmp0(item, uuid)) {
+                       timeline_d->sel_d->sel_list = eina_list_remove(timeline_d->sel_d->sel_list,
+                                                                      (void *)item);
+                       GL_GFREE(item);
+                       return true;
+               }
+       }
+       return false;
+}
+
+#if 0
+static int __gl_timeline_update_sel_list(gl_timeline_s *timeline_d)
+{
+       GL_CHECK_VAL(timeline_d, -1);
+       GL_CHECK_VAL(timeline_d->sel_d, -1);
+       int ret = -1;
+       Eina_List *new_l = NULL;
+       Eina_List *list = NULL;
+
+       ret = _gl_data_get_items(GL_GET_ALL_RECORDS, GL_GET_ALL_RECORDS, &list);
+       if (ret != 0 || !list)
+               gl_dbgW("Empty!");
+
+       /* Clear old selected count of sepecial files type */
+       __gl_timeline_clear_sel_cnt(timeline_d);
+
+       gl_media_s *item = NULL;
+       char *tmp = NULL;
+       EINA_LIST_FREE(list, item) {
+               if (!item || !item->uuid)
+                       continue;
+               if (__gl_timeline_sel_remove_item(timeline_d, item->uuid)) {
+                       tmp = g_strdup(item->uuid);
+                       new_l = eina_list_append(new_l, (void *)tmp);
+                       __gl_timeline_check_special_file(timeline_d, item, true);
+               }
+               _gl_data_type_free_glitem((void **)(&item));
+               item = NULL;
+               tmp = NULL;
+       }
+
+       __gl_timeline_clear_sel_list(timeline_d);
+       return 0;
+}
+
+static int __gl_timeline_check_op(gl_tlp_s *it_d, Evas_Object *obj, int index)
+{
+       GL_CHECK_VAL(obj, -1);
+       GL_CHECK_VAL(it_d, -1);
+       GL_CHECK_VAL(it_d->timeline_d, -1);
+       GL_CHECK_VAL(it_d->timeline_d->ad, -1);
+       gl_dbg("index: %d", index);
+       gl_dbg("start_pos-%d, end_pos-%d", it_d->start_pos, it_d->end_pos);
+
+#ifdef _USE_SVI
+       /* Play touch sound */
+       _gl_play_sound(it_d->timeline_d->ad);
+#endif
+
+       Eina_List *list = NULL;
+       _gl_data_get_items(it_d->start_pos, it_d->end_pos, &list);
+       if (list == NULL) {
+               gl_dbgW("Empty list!");
+               return -1;
+       }
+
+       gl_media_s *item = NULL;
+       item = eina_list_nth(list, index);
+
+       Eina_Bool checked = elm_check_state_get(obj);
+       gl_dbg("checked: %d", checked);
+       gl_sdbg("uuid: %s", item->uuid);
+
+       if (checked) {
+               __gl_timeline_check_special_file(it_d->timeline_d, item, true);
+               __gl_timeline_sel_append_item(it_d->timeline_d, item->uuid);
+       } else {
+               __gl_timeline_check_special_file(it_d->timeline_d, item, false);
+               __gl_timeline_sel_remove_item(it_d->timeline_d, item->uuid);
+       }
+
+       /* Update the label text */
+       int sel_cnt = __gl_timeline_get_sel_cnt(it_d->timeline_d);
+       _gl_ui_update_navi_title_text(it_d->timeline_d->nf_it, sel_cnt, false);
+
+       __gl_timeline_check_btns_state(it_d->timeline_d, it_d->timeline_d->count,
+                                      sel_cnt);
+
+       _gl_data_type_free_media_list(&list);
+       return 0;
+}
+#endif
+
+static int __gl_timeline_thumb_check_op(gl_timeline_s *it_d, Evas_Object *obj, gl_media_s *item)
+{
+       GL_CHECK_VAL(obj, -1);
+       GL_CHECK_VAL(it_d, -1);
+       GL_CHECK_VAL(it_d->ad, -1);
+       GL_CHECK_VAL(item, -1);
+
+#ifdef _USE_SVI
+       /* Play touch sound */
+       _gl_play_sound(it_d->ad);
+#endif
+
+       Eina_Bool checked = elm_check_state_get(obj);
+       item->check_state = checked;
+       if (checked) {
+               __gl_timeline_check_special_file(it_d, item, true);
+               __gl_timeline_sel_append_item(it_d, item->uuid);
+       } else {
+               __gl_timeline_check_special_file(it_d, item, false);
+               __gl_timeline_sel_remove_item(it_d, item->uuid);
+       }
+
+       /* Update the label text */
+       int sel_cnt = __gl_timeline_get_sel_cnt(it_d);
+       _gl_ui_update_navi_title_text(it_d->nf_it, sel_cnt, false);
+
+       __gl_timeline_check_btns_state(it_d, it_d->count,
+                                      sel_cnt);
+
+       return 0;
+}
+
+static void __gl_timeline_thumbs_check_changed(void *data, Evas_Object *obj, void *ei)
+{
+       GL_CHECK(obj);
+       GL_CHECK(data);
+       gl_media_s *gitem = (gl_media_s *)data;
+       gl_timeline_s *td = evas_object_data_get(obj, "data");
+       GL_CHECK(td);
+
+       __gl_timeline_thumb_check_op(td, obj, gitem);
+}
+
+#if 0
+static int __gl_timeline_open_file(gl_tlp_s *it_d, int index)
+{
+       GL_CHECK_VAL(it_d, -1);
+       GL_CHECK_VAL(it_d->timeline_d, -1);
+       GL_CHECK_VAL(it_d->timeline_d->ad, -1);
+       gl_dbg("index: %d", index);
+       gl_dbg("start_pos-%d, end_pos-%d", it_d->start_pos, it_d->end_pos);
+
+#ifdef _USE_SVI
+       /* Play touch sound */
+       _gl_play_sound(it_d->timeline_d->ad);
+#endif
+
+       Eina_List *list = NULL;
+       _gl_data_get_items(it_d->start_pos, it_d->end_pos, &list);
+       if (list == NULL) {
+               gl_dbgW("Empty list!");
+               return -1;
+       }
+       gl_media_s *item = NULL;
+       item = eina_list_nth(list, index);
+
+       if (item && item->file_url)
+               _gl_ext_load_iv_timeline(it_d->timeline_d->ad, item->file_url,
+                                        (it_d->start_pos + index + 1));
+       else
+               gl_dbgW("Image wasn't found!");
+       _gl_data_type_free_media_list(&list);
+       return 0;
+}
+
+static void __gl_timeline_mouse_down(void *data, Evas *e, Evas_Object *obj,
+                                    void *ei)
+{
+       GL_CHECK(ei);
+       GL_CHECK(data);
+       gl_tlp_s *it_d = (gl_tlp_s *)data;
+       GL_CHECK(it_d->timeline_d);
+       Evas_Event_Mouse_Down *ev = (Evas_Event_Mouse_Down *)ei;
+
+       it_d->timeline_d->mouse.x = ev->output.x;
+       it_d->timeline_d->mouse.y = ev->output.y;
+}
+
+static void __gl_timeline_mouse_up(void *data, Evas *e, Evas_Object *obj,
+                                  void *ei)
+{
+       GL_CHECK(ei);
+       GL_CHECK(data);
+       gl_tlp_s *it_d = (gl_tlp_s *)data;
+       GL_CHECK(it_d->timeline_d);
+       GL_CHECK(it_d->timeline_d->ad);
+
+       if (!ei || !obj)
+               return;
+
+       Evas_Event_Mouse_Up *ev = (Evas_Event_Mouse_Up *)ei;
+       if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD ||
+           ev->event_flags & EVAS_EVENT_FLAG_ON_SCROLL)
+               return;
+
+       if ((abs(it_d->timeline_d->mouse.x - ev->output.x) > GL_MOUSE_RANGE) ||
+           (abs(it_d->timeline_d->mouse.y - ev->output.y) > GL_MOUSE_RANGE))
+               return;
+
+       int saved_i = 0;
+#ifdef _USE_ROTATE_BG
+       _gl_rotate_bg_get_data(obj, (void **)(&saved_i));
+#endif
+       if (it_d->timeline_d->view_m != GL_TL_VIEW_NORMAL) {
+               char *part = NULL;
+               part = g_strdup_printf(GL_TL_CHECKBOX_FORMAT, it_d->count,
+                                      saved_i + 1);
+               Evas_Object *ck = NULL;
+               ck = elm_object_part_content_get(it_d->layout, part);
+               GL_FREEIF(part);
+               elm_check_state_set(ck, !elm_check_state_get(ck));
+               __gl_timeline_check_op(it_d, ck, saved_i);
+       } else {
+               __gl_timeline_open_file(it_d, saved_i);
+       }
+}
+
+static int __gl_timeline_clear_bg_data(Evas_Object *bg)
+{
+       GL_CHECK_VAL(bg, -1);
+       gl_media_s *item = NULL;
+       gl_timeline_s *timeline_d = NULL;
+
+       item = (gl_media_s *)evas_object_data_get(bg, GL_TL_TILE_DATA_KEY);
+       if (item) {
+               gl_dbg("Free media item!");
+               _gl_data_type_free_glitem((void **)(&item));
+       }
+       evas_object_data_del(bg, GL_TL_TILE_DATA_KEY);
+
+       timeline_d = (gl_timeline_s *)evas_object_data_get(bg, GL_TL_DATA_KEY);
+       if (timeline_d && timeline_d->thumbs) {
+               gl_dbg("Remove object!");
+               timeline_d->thumbs = eina_list_remove(timeline_d->thumbs,
+                                                     (void *)bg);
+       }
+       return 0;
+}
+
+static void __gl_timeline_del_bg_cb(void *data, Evas *e, Evas_Object *obj,
+                                   void *ei)
+{
+       gl_dbgW("Delete bg ---");
+       __gl_timeline_clear_bg_data(obj);
+       /* Remove mouse event if bg deleted */
+       evas_object_event_callback_del(obj, EVAS_CALLBACK_MOUSE_DOWN,
+                                      __gl_timeline_mouse_down);
+       evas_object_event_callback_del(obj, EVAS_CALLBACK_MOUSE_UP,
+                                      __gl_timeline_mouse_up);
+       gl_dbgW("Delete bg +++");
+}
+
+static Evas_Object *__gl_timeline_add_page_bg(Evas_Object *layout,
+                                             const char *part,
+                                             unsigned int orient, char *path,
+                                             int w, int h)
+{
+       GL_CHECK_NULL(layout);
+#ifdef _USE_ROTATE_BG
+       Evas_Object *bg = _gl_rotate_bg_add(layout, false);
+       GL_CHECK_NULL(bg);
+
+       _gl_rotate_bg_set_file(bg, path, w, h);
+       _gl_rotate_bg_rotate_image(bg, orient);
+
+       gl_dbg("part-%s", part);
+       elm_object_part_content_set(layout, part, bg);
+       return bg;
+#else
+       return NULL;
+#endif
+}
+
+static void __gl_timeline_check_changed(void *data, Evas_Object *obj, void *ei)
+{
+       GL_CHECK(data);
+       gl_tlp_s *it_d = (gl_tlp_s *)data;
+
+       int idx = (int)evas_object_data_get(obj, "gl_tl_idx_key");
+       __gl_timeline_check_op(it_d, obj, idx);
+}
+
+static Evas_Object *__gl_timeline_add_ck(Evas_Object *layout,
+                                       const char *part, bool b_checked,
+                                       gl_tlp_s *it_d)
+{
+       GL_CHECK_NULL(layout);
+       Evas_Object *ck = NULL;
+       ck = _gl_thumb_show_checkbox(layout, b_checked,
+                                    __gl_timeline_check_changed, it_d);
+       gl_dbg("part-%s", part);
+       elm_object_part_content_set(layout, part, ck);
+       return ck;
+}
+
+static Evas_Object *__gl_timeline_add_page_ly(Evas_Object *parent,
+                                             gl_tlp_s *it_d)
+{
+       GL_CHECK_NULL(it_d);
+       GL_CHECK_NULL(parent);
+       Evas_Object *ly = NULL;
+
+       char *group = NULL;
+       if (it_d->h > it_d->w)
+               group = g_strdup_printf("gallery/timeline_%d", it_d->count);
+       else
+               group = g_strdup_printf("gallery/timeline_%dl", it_d->count);
+
+       ly = gl_ui_load_edj(parent, GL_EDJ_FILE, group);
+       GL_GFREE(group);
+       GL_CHECK_NULL(ly);
+
+       Evas_Object *bg = evas_object_rectangle_add(evas_object_evas_get(ly));
+       if (!bg) {
+               evas_object_del(ly);
+               return NULL;
+       }
+
+       evas_object_color_set(bg, 0, 0, 0, 0);
+       elm_object_part_content_set(ly, "bg_c", bg);
+
+       evas_object_show(ly);
+       return ly;
+}
+#endif
+
+static bool __gl_timeline_is_yesterday(struct tm *req_tm, struct tm *now_tm)
+{
+       if (now_tm->tm_yday == 0) { /* It is the first day of this year */
+               if (req_tm->tm_year == now_tm->tm_year - 1 &&
+                   req_tm->tm_mon == 11 && req_tm->tm_mday == 31)
+                       return true;
+               else
+                       return false;
+       } else {
+               if (req_tm->tm_year == now_tm->tm_year &&
+                   req_tm->tm_yday == now_tm->tm_yday - 1)
+                       return true;
+               else
+                       return false;
+       }
+}
+
+static bool __gl_timeline_is_today(struct tm *req_tm, struct tm *now_tm)
+{
+       if (req_tm->tm_year == now_tm->tm_year &&
+           req_tm->tm_yday == now_tm->tm_yday)
+               return true;
+       else
+               return false;
+}
+
+/* change 'time_t' to 'struct tm' */
+static int __gl_timeline_get_tm(time_t mtime1, time_t mtime2, struct tm *t1,
+                               struct tm *t2)
+{
+       GL_CHECK_VAL(t1, -1);
+       GL_CHECK_VAL(t2, -1);
+
+       memset(t1, 0x00, sizeof(struct tm));
+       localtime_r(&mtime1, t1);
+       memset(t2, 0x00, sizeof(struct tm));
+       localtime_r(&mtime2, t2);
+       return 0;
+}
+
+#if 0
+/* check mtime is changed or not */
+static bool __gl_timeline_is_tm_changed(struct tm t1, struct tm t2,
+                                       gl_tm_s *tms, gl_tm_s *tme)
+{
+       GL_CHECK_FALSE(tms);
+       GL_CHECK_FALSE(tme);
+
+       gl_dbgW("%d/%d/%d-%d/%d/%d =? %d/%d/%d-%d/%d/%d!", t1.tm_year, t1.tm_mon,
+               t1.tm_mday, t2.tm_year, t2.tm_mon, t2.tm_mday, tms->tm_year,
+               tms->tm_mon, tms->tm_mday, tme->tm_year, tme->tm_mon,
+               tme->tm_mday);
+
+       if (tms->tm_year == t1.tm_year && tms->tm_mon == t1.tm_mon &&
+           tms->tm_mday == t1.tm_mday && tme->tm_year == t2.tm_year &&
+           tme->tm_mon == t2.tm_mon && tme->tm_mday == t2.tm_mday)
+               return false;
+
+       tms->tm_year = t1.tm_year;
+       tms->tm_mon = t1.tm_mon;
+       tms->tm_mday = t1.tm_mday;
+
+       tme->tm_year = t2.tm_year;
+       tme->tm_mon = t2.tm_mon;
+       tme->tm_mday = t2.tm_mday;
+       return true;
+}
+#endif
+
+/* Caller need to free strings returned */
+static int __gl_timeline_get_mtime_str(struct tm t1, struct tm t2, char **str1,
+                                      char **str2)
+{
+       GL_CHECK_VAL(str1, -1);
+       GL_CHECK_VAL(str2, -1);
+       struct tm ct;
+       time_t ctime = 0;
+       const char *prefix1 = "";
+       const char *prefix2 = "";
+       /*char *week_day[7] = { GL_STR_SUN, GL_STR_MON, GL_STR_TUE, GL_STR_WED,
+                             GL_STR_THU, GL_STR_FRI, GL_STR_SAT};*/
+       char *month[12] = { GL_STR_ID_JAN, GL_STR_ID_FEB, GL_STR_ID_MAR, GL_STR_ID_APR, GL_STR_ID_MAY, GL_STR_ID_JUN,
+                       GL_STR_ID_JUL, GL_STR_ID_AUG, GL_STR_ID_SEP, GL_STR_ID_OCT, GL_STR_ID_NOV, GL_STR_ID_DEC};
+
+       /* Current time */
+       memset(&ct, 0x00, sizeof(struct tm));
+       time(&ctime);
+       localtime_r(&ctime, &ct);
+
+       if (t1.tm_year == t2.tm_year && t1.tm_mon == t2.tm_mon &&
+           t1.tm_mday == t2.tm_mday) {
+               /* Same day */
+               if (__gl_timeline_is_today(&t1, &ct)) {
+                       /* Today */
+                       *str1 = g_strdup_printf("%s%s", prefix1,
+                                               GL_STR_TODAY);
+                       *str2 = g_strdup_printf("%s%s", prefix2,
+                                                                 "");
+                       return 0;
+               }
+       } else if (t1.tm_year == t2.tm_year && t1.tm_mon == t2.tm_mon) {
+               /* Same month */
+               if (__gl_timeline_is_yesterday(&t1, &ct)) {
+                       /* Yesterday */
+                       *str1 = g_strdup_printf("%s%s", prefix1,
+                                       GL_STR_YESTERDAY);
+                       *str2 = g_strdup_printf("%s%s", prefix2,
+                                       "");
+                       return 0;
+               }
+               *str2 = g_strdup_printf("%s%d.%02d.%02d ~ %02d.%02d", prefix2,
+                               GL_DEFAULT_YEAR + t2.tm_year,
+                               t2.tm_mon + 1, t2.tm_mday,
+                               t1.tm_mon + 1, t1.tm_mday);
+               *str1 = g_strdup_printf("%s%02d %s", prefix2,
+                               t1.tm_mday, month[t1.tm_mon]);
+       } else if (t1.tm_year == t2.tm_year) {
+               /* Same year */
+               *str2 = g_strdup_printf("%s%d.%02d.%02d ~ %02d.%02d", prefix2,
+                                       GL_DEFAULT_YEAR + t2.tm_year,
+                                       t2.tm_mon + 1, t2.tm_mday,
+                                       t1.tm_mon + 1, t1.tm_mday);
+               *str1 = g_strdup_printf("%s %s", prefix2, month[t1.tm_mon]);
+       } else {
+               *str2 = g_strdup_printf("%s%d.%02d.%02d ~ %d.%02d.%02d",
+                                       prefix2, GL_DEFAULT_YEAR + t2.tm_year,
+                                       t2.tm_mon + 1, t2.tm_mday,
+                                       GL_DEFAULT_YEAR + t1.tm_year,
+                                       t1.tm_mon + 1, t1.tm_mday);
+               *str1 = g_strdup_printf("%s%d ", prefix2, GL_DEFAULT_YEAR + t1.tm_year);
+       }
+       return 0;
+}
+
+#if 0
+static Evas_Object *__gl_timeline_add_title(Evas_Object *parent, char *text1,
+                                           char *text2)
+{
+       gl_dbg("");
+       GL_CHECK_NULL(parent);
+       Evas_Object *bx = NULL;
+       Evas_Object *data1 = NULL;
+       Evas_Object *data2 = NULL;
+       double scale = elm_config_scale_get();
+
+       if (text2 == NULL)
+               goto GL_UI_FAILED;
+
+       bx = elm_box_add(parent);
+       GL_CHECK_NULL(bx);
+       elm_box_horizontal_set(bx, EINA_TRUE);
+       elm_box_homogeneous_set(bx, EINA_FALSE);
+       evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+       evas_object_size_hint_align_set(bx, 0.0, 0.5);
+       elm_box_align_set(bx, 0.0, 0.5);
+
+       Evas *evas = evas_object_evas_get(parent);
+       if (evas == NULL)
+               goto GL_UI_FAILED;
+       /* Pad - 11 */
+       Evas_Object *rect1 = evas_object_rectangle_add(evas);
+       if (rect1 == NULL)
+               goto GL_UI_FAILED;
+       Evas_Coord pad_w = (Evas_Coord)(11 * scale);
+       Evas_Coord pad_h = (Evas_Coord)(GL_TIMELINE_TITLE_H * scale);
+       evas_object_resize(rect1, pad_w, pad_h);
+       evas_object_size_hint_min_set(rect1, pad_w, pad_h);
+       evas_object_size_hint_max_set(rect1, pad_w, pad_h);
+       elm_box_pack_end(bx, rect1);
+
+       /* data 1 */
+       if (text1) {
+               data1 = elm_label_add(parent);
+               if (data1 == NULL)
+                       goto GL_UI_FAILED;
+               evas_object_size_hint_weight_set(data1, 0.0, EVAS_HINT_EXPAND);
+               evas_object_size_hint_align_set(data1, 0.0, 0.5);
+               elm_box_pack_end(bx, data1);
+               evas_object_show(data1);
+               /* Set text */
+               gl_dbg("%s", text1);
+               elm_object_text_set(data1, text1);
+               GL_GFREE(text1);
+
+               /* Pad - 10 */
+               Evas_Object *rect2 = evas_object_rectangle_add(evas);
+               if (rect2 == NULL)
+                       goto GL_UI_FAILED;
+               Evas_Coord pad2_w = (Evas_Coord)(10 * scale);
+               evas_object_resize(rect2, pad2_w, pad_h);
+               evas_object_size_hint_min_set(rect2, pad2_w, pad_h);
+               evas_object_size_hint_max_set(rect2, pad2_w, pad_h);
+               elm_box_pack_end(bx, rect2);
+       }
+
+       /* data 2 */
+       data2 = elm_label_add(parent);
+       if (data2 == NULL)
+               goto GL_UI_FAILED;
+       evas_object_size_hint_weight_set(data2, 0.0, EVAS_HINT_EXPAND);
+       evas_object_size_hint_align_set(data2, 0.0, 0.5);
+       elm_box_pack_end(bx, data2);
+       evas_object_show(data2);
+       /* Set text */
+       gl_dbg("%s", text2);
+       elm_object_text_set(data2, text2);
+       GL_GFREE(text2);
+
+       /* Pad - 11 */
+       Evas_Object *rect3 = evas_object_rectangle_add(evas);
+       if (rect3 == NULL)
+               goto GL_UI_FAILED;
+       evas_object_resize(rect3, pad_w, pad_h);
+       evas_object_size_hint_min_set(rect3, pad_w, pad_h);
+       evas_object_size_hint_max_set(rect3, pad_w, pad_h);
+       elm_box_pack_end(bx, rect3);
+
+       evas_object_show(bx);
+       return bx;
+
+ GL_UI_FAILED:
+
+       gl_dbgE("Failed to add title!");
+       GL_IF_DEL_OBJ(bx);
+       return NULL;
+}
+#endif
+
+/* Reset title for previous animation if another animation is triggerred */
+static int __gl_timeline_reset_title(gl_timeline_s *timeline_d)
+{
+       GL_CHECK_VAL(timeline_d, -1);
+
+       Evas_Object *title = elm_object_part_content_unset(timeline_d->layout,
+                                                          "title2");
+       GL_CHECK_VAL(title, -1);
+       gl_dbg("Set new title: %p", title);
+       elm_object_part_content_set(timeline_d->layout, "title", title);
+
+       edje_object_signal_emit(_EDJ(timeline_d->layout), GL_TL_TITLE_SHOW,
+                               "elm");
+       edje_object_message_signal_process(_EDJ(timeline_d->layout));
+       return 0;
+}
+
+/* "elm,state,title,hide"
+ */
+static void __gl_timeline_on_title_hide_finished(void *data, Evas_Object *obj,
+                                                const char *emission,
+                                                const char *source)
+{
+       GL_CHECK(data);
+       gl_timeline_s *timeline_d = (gl_timeline_s *)data;
+
+       if (!timeline_d->b_updating_title) {
+               gl_dbgW("Updating done!");
+               return;
+       }
+
+       Evas_Object *title = elm_object_part_content_unset(timeline_d->layout,
+                                                          "title");
+       gl_dbg("Delete old title: %p", title);
+       GL_IF_DEL_OBJ(title);
+}
+
+/* "elm,state,title2,show"
+ */
+static void __gl_timeline_on_title2_show_finished(void *data, Evas_Object *obj,
+                                                 const char *emission,
+                                                 const char *source)
+{
+       GL_CHECK(data);
+       gl_timeline_s *timeline_d = (gl_timeline_s *)data;
+
+       if (!timeline_d->b_updating_title) {
+               gl_dbgW("Updating done!");
+               return;
+       }
+
+       gl_dbg("Update title");
+       __gl_timeline_reset_title(timeline_d);
+}
+
+static int __gl_timeline_add_title_trans_finished_cbs(gl_timeline_s *timeline_d,
+                                                     bool b_add)
+{
+       GL_CHECK_VAL(timeline_d, -1);
+       gl_dbg("b_add: %d", b_add);
+
+       if (b_add) {
+               /* Add callback for title updating */
+               edje_object_signal_callback_add(_EDJ(timeline_d->layout),
+                                               GL_TL_TITLE2_SHOW_FINISHED, "",
+                                               __gl_timeline_on_title2_show_finished,
+                                               (void *)timeline_d);
+               edje_object_signal_callback_add(_EDJ(timeline_d->layout),
+                                               GL_TL_TITLE_HIDE_FINISHED, "",
+                                               __gl_timeline_on_title_hide_finished,
+                                               (void *)timeline_d);
+       } else {
+               /* Add callback for title updating */
+               edje_object_signal_callback_del(_EDJ(timeline_d->layout),
+                                               GL_TL_TITLE2_SHOW_FINISHED, "",
+                                               __gl_timeline_on_title2_show_finished);
+               edje_object_signal_callback_del(_EDJ(timeline_d->layout),
+                                               GL_TL_TITLE_HIDE_FINISHED, "",
+                                               __gl_timeline_on_title_hide_finished);
+       }
+       return 0;
+}
+
+#if 0
+static Eina_Bool __gl_timeline_title_trans_cb(void *data)
+{
+       GL_CHECK_CANCEL(data);
+       gl_timeline_s *timeline_d = (gl_timeline_s *)data;
+       gl_dbg("");
+
+       if (!timeline_d->b_updating_title) {
+               gl_dbgW("Updating done!");
+               return ECORE_CALLBACK_CANCEL;
+       }
+
+       timeline_d->animator = NULL;
+
+       edje_object_signal_emit(_EDJ(timeline_d->layout),
+                               GL_TL_TITLE_FADE_OUT, "elm");
+       //edje_object_message_signal_process(_EDJ(timeline_d->layout));
+       edje_object_signal_emit(_EDJ(timeline_d->layout),
+                               GL_TL_TITLE2_FADE_IN, "elm");
+       edje_object_message_signal_process(_EDJ(timeline_d->layout));
+       edje_object_signal_emit(_EDJ(timeline_d->layout),
+                               GL_TL_TITLE_HIDE_DEFERRED, "elm");
+       edje_object_message_signal_process(_EDJ(timeline_d->layout));
+       edje_object_signal_emit(_EDJ(timeline_d->layout),
+                               GL_TL_TITLE2_SHOW_DEFERRED, "elm");
+       edje_object_message_signal_process(_EDJ(timeline_d->layout));
+
+       gl_dbg("done");
+       return ECORE_CALLBACK_CANCEL;
+}
+
+static int __gl_timeline_start_title_trans(gl_timeline_s *timeline_d)
+{
+       GL_CHECK_VAL(timeline_d, -1);
+       edje_object_signal_emit(_EDJ(timeline_d->layout), GL_TL_TITLE_SHOW,
+                               "elm");
+       edje_object_signal_emit(_EDJ(timeline_d->layout), GL_TL_TITLE2_CREATED,
+                               "elm");
+       edje_object_message_signal_process(_EDJ(timeline_d->layout));
+       timeline_d->animator = ecore_animator_add(__gl_timeline_title_trans_cb,
+                                                 timeline_d);
+       return 0;
+}
+
+static int __gl_timeline_update_title(gl_timeline_s *timeline_d, gl_tlp_s *it_d,
+                                     bool b_forced)
+{
+       GL_CHECK_VAL(it_d, -1);
+       GL_CHECK_VAL(timeline_d, -1);
+       gl_dbg("index-%d, count-%d", it_d->index, it_d->count);
+       gl_dbg("start_pos-%d, end_pos-%d", it_d->start_pos, it_d->end_pos);
+
+       Eina_List *list = NULL;
+       _gl_data_get_items(it_d->start_pos, it_d->end_pos, &list);
+       if (list == NULL) {
+               gl_dbgW("Empty list!");
+               return -1;
+       }
+
+       Evas_Object *title = NULL;
+       gl_media_s *item = NULL;
+       int i = 0;
+       time_t mtime1 = 0;
+       time_t mtime2 = 0;
+       int count = eina_list_count(list);
+
+       for (i = 0; i < count; i++) {
+               item = eina_list_nth(list, i);
+               if (item == NULL) {
+                       gl_dbgE("Invalid item!");
+                       continue;
+               }
+
+               if (i == 0)
+                       mtime1 = item->mtime;
+               if (i == count - 1)
+                       mtime2 = item->mtime;
+
+               item = NULL;
+       }
+       _gl_data_type_free_media_list(&list);
+
+       struct tm t1;
+       struct tm t2;
+       __gl_timeline_get_tm(mtime1, mtime2, &t1, &t2);
+       /* Time changed? */
+       if (!b_forced &&
+           !__gl_timeline_is_tm_changed(t1, t2, &(timeline_d->tm_s), &(timeline_d->tm_e))) {
+               if (!elm_object_part_content_get(timeline_d->layout, "title")) {
+                       gl_dbgW("Title is empty, recreate it!");
+               } else {
+                       gl_dbgW("Same mtime, change nothing!");
+                       return 0;
+               }
+       }
+       /* Get title range -- string */
+       char *text1 = NULL;
+       char *text2 = NULL;
+       __gl_timeline_get_mtime_str(t1, t2, &text1, &text2);
+       /* Add title object */
+       title = __gl_timeline_add_title(timeline_d->layout, text1, text2);
+       GL_CHECK_VAL(title, -1);
+       if (!b_forced && /* Dont transit if it's forced to update title */
+           elm_object_part_content_get(timeline_d->layout, "title")) {
+               /* Play Animation for title updating */
+               gl_dbg("Animate title");
+               if (timeline_d->b_updating_title) {
+                       gl_dbgW("Cancel previous animation!");
+                       GL_IF_DEL_ANIMATOR(timeline_d->animator);
+                       /* Delete callback first to skip useless operation */
+                       __gl_timeline_add_title_trans_finished_cbs(timeline_d,
+                                                                  false);
+                       __gl_timeline_reset_title(timeline_d);
+                       /* Add callback again */
+                       __gl_timeline_add_title_trans_finished_cbs(timeline_d,
+                                                                  true);
+               } else {
+                       timeline_d->b_updating_title = true;
+               }
+               elm_object_part_content_set(timeline_d->layout, "title2", title);
+               __gl_timeline_start_title_trans(timeline_d);
+       } else {
+               gl_dbg("Set title");
+               elm_object_part_content_set(timeline_d->layout, "title", title);
+       }
+       return 0;
+}
+
+static int __gl_timeline_get_tile_size(int count, int idx, bool b_land, int *w,
+                                      int *h)
+{
+       GL_CHECK_VAL(w, -1);
+       GL_CHECK_VAL(h, -1);
+
+       if (count == 1) {
+               if (b_land) {
+                       *w = GL_WIN_HEIGHT;
+                       *h = GL_TIMELINE_CONTENT_L_H;
+               } else {
+                       *w = GL_WIN_WIDTH;
+                       *h = GL_TIMELINE_CONTENT_P_H;
+               }
+       } else if (count == 2 || (count == 3 && idx == 0)) {
+               if (!b_land) {
+                       *w = GL_WIN_WIDTH * 2 / 3;
+                       *h = GL_TIMELINE_CONTENT_P_H / 2;
+               } else if (idx == 0) {
+                       *w = GL_WIN_HEIGHT * 2 / 3;
+                       *h = GL_TIMELINE_CONTENT_L_H;
+               }
+       }
+       return 0;
+}
+#endif
+
+/* Free data after page deleted */
+static void __gl_timeline_del_page_cb(void *data, Evas *e, Evas_Object *obj,
+                                       void *ei)
+{
+       gl_dbgW("Delete page ---");
+       GL_CHECK(data);
+       evas_object_smart_callback_del(obj, "layout,page,deleted",
+                                      __gl_timeline_page_deleted_cb);
+       gl_tlp_s *it_d = (gl_tlp_s *)data;
+       GL_IF_DEL_IDLER(it_d->update_idler);
+       it_d->b_created = false;
+       gl_dbgW("Delete page +++");
+}
+
+static void __gl_timeline_page_deleted_cb(void *data, Evas_Object *obj,
+                                                void *ei)
+{
+       gl_dbgW("Deleted page ------");
+       evas_object_event_callback_del(obj, EVAS_CALLBACK_DEL,
+                                      __gl_timeline_del_page_cb);
+       GL_CHECK(data);
+       gl_tlp_s *it_d = (gl_tlp_s *)data;
+       GL_IF_DEL_IDLER(it_d->update_idler);
+       it_d->b_created = false;
+       gl_dbgW("Deleted page ++++++");
+}
+
+#if 0
+static int __gl_timeline_update_page(gl_tlp_s *it_d)
+{
+       GL_CHECK_VAL(it_d, -1);
+       GL_CHECK_VAL(it_d->layout, -1);
+       gl_dbg("index-%d, count-%d", it_d->index, it_d->count);
+       gl_dbg("start_pos-%d, end_pos-%d", it_d->start_pos, it_d->end_pos);
+
+       Eina_List *list = NULL;
+       _gl_data_get_items(it_d->start_pos, it_d->end_pos, &list);
+       if (list == NULL) {
+               gl_dbgW("Empty list!");
+               return -1;
+       }
+
+       bool b_landscape = false;
+       if (it_d->w > it_d->h)
+               b_landscape = true;
+
+       Evas_Object *layout = it_d->layout;
+       Evas_Object *bg = NULL;
+       gl_media_s *item = NULL;
+       int i = 0;
+       char *part = NULL;
+       int count = eina_list_count(list);
+       char *path = NULL;
+       unsigned int orient = 0;
+       int w = GL_TIMELINE_PAGE_SIZE;
+       int h = GL_TIMELINE_PAGE_SIZE;
+
+       for (i = 0; i < count; i++) {
+               item = eina_list_nth(list, i);
+               if (item == NULL) {
+                       gl_dbgE("Invalid item!");
+                       continue;
+               }
+
+/* Checkme: Scrolling doesn't work smoothly if original file was used */
+               /* Get orientation for original file */
+               if (((i == 0 && count <= 5) ||
+                    (i == 1 && count <= 3 && !b_landscape) ||
+                    (i == 2 && count == 4 && !b_landscape) ||
+                    (i == 1 && (count == 2 || count == 4) && b_landscape)) &&
+                   item->type == MEDIA_CONTENT_TYPE_IMAGE &&
+                   GL_FILE_EXISTS(item->file_url)) {
+                       path = item->file_url;
+#ifdef _USE_ROTATE_BG
+                       if (_gl_exif_get_orientation(path, &orient) < 0) {
+                               path = item->thumb_url;
+                               return -1;
+                       }
+#endif
+                       __gl_timeline_get_tile_size(count, i, b_landscape, &w,
+                                                   &h);
+                       part = g_strdup_printf(GL_TL_CONTENTS_FORMAT,
+                                              it_d->count, i + 1);
+                       bg = elm_object_part_content_get(layout, part);
+                       if (bg) {
+                               _gl_rotate_bg_set_file(bg, path, w, h);
+                               _gl_rotate_bg_rotate_image(bg, orient);
+                       } else {
+                               gl_dbgE("BG is invalid!");
+                       }
+                       GL_GFREEIF(part);
+               }
+               part = NULL;
+               item = NULL;
+       }
+       _gl_data_type_free_media_list(&list);
+       gl_dbg("done");
+       return 0;
+}
+
+static void __gl_timeline_page_transited_cb(void *data, Evas_Object *obj,
+                                                void *ei)
+{
+       gl_dbgW("Transited page ------");
+       evas_object_event_callback_del(obj, EVAS_CALLBACK_DEL,
+                                      __gl_timeline_del_page_cb);
+       GL_CHECK(data);
+       gl_tlp_s *it_d = (gl_tlp_s *)data;
+       GL_IF_DEL_IDLER(it_d->update_idler);
+       _gl_slider_set_zop(it_d->timeline_d->view, GL_SLIDE_ZOP_DEFAULT);
+       __gl_timeline_update_page((gl_tlp_s *)data);
+       gl_dbgW("evas_object_freeze_events_set EINA_FALSE");
+       evas_object_freeze_events_set(it_d->timeline_d->view, EINA_FALSE);
+       gl_dbgW("Transited page ++++++");
+}
+
+static Eina_Bool __gl_timeline_page_update_idler_cb(void *data)
+{
+       gl_dbgW("start");
+       GL_CHECK_CANCEL(data);
+       gl_tlp_s *it_d = (gl_tlp_s *)data;
+       GL_IF_DEL_IDLER(it_d->update_idler);
+       __gl_timeline_update_page((gl_tlp_s *)data);
+       gl_dbgW("done");
+       return ECORE_CALLBACK_CANCEL;
+}
+
+static int __gl_timeline_check_page_idler(gl_tlp_s *it_d)
+{
+       GL_CHECK_VAL(it_d, -1);
+       GL_CHECK_VAL(it_d->timeline_d, -1);
+
+       gl_slide_zop_e zoom = _gl_slider_get_zop(it_d->timeline_d->view);
+       gl_dbg("zoom-%d, tran_op-%d", zoom, it_d->timeline_d->tran_op);
+       if (it_d->timeline_d->tran_op == GL_TRANS_OP_PREPARE ||
+           it_d->timeline_d->tran_op == GL_TRANS_OP_DONE) {
+               gl_dbg("Update checked by transit callback");
+       } else if (it_d->timeline_d->tran_op == GL_TRANS_OP_START) {
+               gl_dbg("Delay idler callback");
+               it_d->timeline_d->idlers = eina_list_append(it_d->timeline_d->idlers,
+                                                           it_d);
+       } else if (zoom == GL_SLIDE_ZOP_OUT || zoom == GL_SLIDE_ZOP_IN) {
+               gl_dbg("Updated by transit callback");
+       } else {
+               GL_IF_DEL_IDLER(it_d->update_idler);
+               gl_dbg("Add idler callback");
+               it_d->update_idler = ecore_idler_add(__gl_timeline_page_update_idler_cb,
+                                                    it_d);
+       }
+       return 0;
+}
+
+static int __gl_timeline_add_page_cbs(gl_tlp_s *it_d, Evas_Object *layout)
+{
+       GL_CHECK_VAL(layout, -1);
+       GL_CHECK_VAL(it_d, -1);
+
+       /* Register delete callback */
+       evas_object_event_callback_add(layout, EVAS_CALLBACK_DEL,
+                                      __gl_timeline_del_page_cb, it_d);
+       evas_object_smart_callback_add(layout, "layout,page,deleted",
+                                      __gl_timeline_page_deleted_cb, it_d);
+       /* Register transit callback */
+       evas_object_smart_callback_add(layout, "layout,page,transited",
+                                      __gl_timeline_page_transited_cb, it_d);
+       return 0;
+}
+
+static void __gl_timeline_transit_op(Elm_Transit_Effect *data,
+                                    Elm_Transit *transit, double progress)
+{
+       gl_dbg("");
+}
+
+static void __gl_timeline_transit_done(Elm_Transit_Effect *data, Elm_Transit *transit)
+{
+       GL_CHECK(data);
+       gl_tile_s *tile = (gl_tile_s *)data;
+       gl_dbgW("%d/%d", tile->count, tile->total);
+       if (tile->count != tile->total)
+               return;
+
+       gl_dbgW("tran_op: %d", tile->timeline_d->tran_op);
+       if (tile->timeline_d->tran_op == GL_TRANS_OP_START) {
+               tile->timeline_d->tran_op = GL_TRANS_OP_DONE;
+               _gl_slider_update_first_item(tile->timeline_d->view);
+       }
+       tile->timeline_d->tran_op = GL_TRANS_OP_DEFAULT;
+       gl_dbg("idlers: %p", tile->timeline_d->idlers);
+       if (tile->timeline_d->idlers) {
+               gl_tlp_s *it_d = NULL;
+               EINA_LIST_FREE(tile->timeline_d->idlers, it_d) {
+                       gl_dbg("it_d: %p", it_d);
+                       it_d->update_idler = ecore_idler_add(__gl_timeline_page_update_idler_cb,
+                                                            it_d);
+                       it_d = NULL;
+               }
+               tile->timeline_d->idlers = NULL;
+       }
+}
+
+static void __gl_timeline_transit_del_cb(void *data, Elm_Transit *transit)
+{
+       gl_dbg("");
+       GL_CHECK(data);
+       gl_tile_s *tile = (gl_tile_s *)data;
+       if (tile->count == tile->total) {
+               gl_dbgW("evas_object_freeze_events_set EINA_FALSE");
+               evas_object_freeze_events_set(tile->timeline_d->view, EINA_FALSE);
+               GL_IF_FREE_ELIST(tile->timeline_d->tiles);
+       }
+       /* Free data */
+       GL_FREEIF(data);
+}
+
+static int __gl_timeline_tile_transit(gl_tile_s *tile)
+{
+#define GL_TL_TRANS_TIME 0.7
+       gl_dbg("");
+       GL_CHECK_VAL(tile, -1);
+
+        tile->trans = elm_transit_add();
+        elm_transit_object_add(tile->trans, tile->bg);
+
+        elm_transit_tween_mode_set(tile->trans,
+                                  ELM_TRANSIT_TWEEN_MODE_DECELERATE);
+
+       elm_transit_effect_color_add(tile->trans, 0, 0, 0, 0, 255, 255, 255,
+                                    255);
+       elm_transit_effect_zoom_add(tile->trans, 0.4, 1.0);
+       elm_transit_effect_add(tile->trans,__gl_timeline_transit_op,
+                              (Elm_Transit_Effect *)tile,
+                              __gl_timeline_transit_done);
+       elm_transit_del_cb_set(tile->trans, __gl_timeline_transit_del_cb, tile);
+
+       elm_transit_duration_set(tile->trans, GL_TL_TRANS_TIME);
+       elm_transit_objects_final_state_keep_set(tile->trans, EINA_FALSE);
+       elm_transit_go(tile->trans);
+       return 0;
+}
+
+static int __gl_timeline_transit_tiles(gl_timeline_s *timeline_d)
+{
+       gl_dbgW("start!");
+       GL_CHECK_VAL(timeline_d, -1);
+       GL_CHECK_VAL(timeline_d->tiles, -1);
+       gl_tile_s *tile = NULL;
+       Eina_List *l = NULL;
+
+       gl_dbgW("evas_object_freeze_events_set EINA_TRUE");
+       evas_object_freeze_events_set(timeline_d->view, EINA_TRUE);
+
+       /* Remove previous transits first */
+       EINA_LIST_FOREACH(timeline_d->tiles, l, tile) {
+               if (tile) {
+                       GL_IF_DEL_TRANSIT(tile->trans);
+                       tile = NULL;
+               }
+       }
+       /* Transit each tile */
+       EINA_LIST_FOREACH(timeline_d->tiles, l, tile) {
+               __gl_timeline_tile_transit(tile);
+               tile = NULL;
+       }
+       gl_dbgW("done!");
+       return 0;
+}
+
+static int __gl_timeline_add_tile(gl_tlp_s *it_d, Evas_Object *parent,
+                                 Evas_Object *bg, int count, int total)
+{
+       GL_CHECK_VAL(it_d, -1);
+
+       gl_tile_s *tile = (gl_tile_s *)calloc(1, sizeof(gl_tile_s));
+       GL_CHECK_VAL(tile, -1);
+       tile->bg = bg;
+       tile->parent = parent;
+       tile->it_d = it_d;
+       tile->count = count;
+       tile->total = total;
+       tile->timeline_d = it_d->timeline_d;
+       it_d->timeline_d->tiles = eina_list_append(it_d->timeline_d->tiles,
+                                                  tile);
+       return 0;
+}
+
+static Evas_Object *__gl_timeline_get_page_tiles(gl_tlp_s *it_d)
+{
+       GL_CHECK_NULL(it_d);
+       GL_CHECK_NULL(it_d->timeline_d);
+       gl_dbg("index-%d, count-%d", it_d->index, it_d->count);
+       gl_dbg("start_pos-%d, end_pos-%d", it_d->start_pos, it_d->end_pos);
+
+       int i = 0;
+       int count = it_d->count;
+       char *part = NULL;
+       Evas_Object *bg = NULL;
+
+       for (i = 0; i < count; i++) {
+               /* Add images */
+               part = g_strdup_printf(GL_TL_CONTENTS_FORMAT, it_d->count,
+                                      i + 1);
+
+               bg= elm_object_part_content_get(it_d->layout, part);
+               __gl_timeline_add_tile(it_d, NULL, bg, i + 1, count);
+
+               part = NULL;
+       }
+       return 0;
+}
+
+/* Transit tiles without updating images or layout */
+static int __gl_timeline_show_tiles_trans(gl_timeline_s *timeline_d)
+{
+       GL_CHECK_VAL(timeline_d, -1);
+       /* Get first image of current page */
+       void *sitem = _gl_slider_get_sitem(timeline_d->view);
+       GL_CHECK_VAL(sitem, -1);
+       gl_tlp_s *it_d = (gl_tlp_s *)_gl_slider_get_sitem_data(sitem);
+       GL_CHECK_VAL(it_d, -1);
+       /* Show transition */
+       if (it_d->timeline_d->tran_op == GL_TRANS_OP_PREPARE) {
+               __gl_timeline_get_page_tiles(it_d);
+               it_d->timeline_d->tran_op = GL_TRANS_OP_SHOW;
+               __gl_timeline_transit_tiles(it_d->timeline_d);
+       }
+       return 0;
+}
+
+/* Only for local medias */
+static void __gl_timeline_create_thumb_cb(media_content_error_e error,
+                                       const char *path, void *user_data)
+{
+       GL_CHECK(user_data);
+       Evas_Object *bg = (Evas_Object *)user_data;
+
+       if (error == MEDIA_CONTENT_ERROR_NONE && GL_FILE_EXISTS(path) &&
+           g_strcmp0(path, GL_ICON_DB_DEFAULT_THUMB)) {
+               gl_sdbgW("path[%s]!", path);
+               _gl_rotate_bg_set_file(bg, path, GL_TIMELINE_PAGE_SIZE,
+                                      GL_TIMELINE_PAGE_SIZE);
+               _gl_rotate_bg_rotate_image(bg, GL_ORIENTATION_ROT_0);
+       } else {
+               gl_sdbgE("[%d]Invalid path[%s]!", error, path);
+       }
+
+       __gl_timeline_clear_bg_data(bg);
+}
+
+/* Add thumbs creation */
+static int __gl_timeline_create_thumbs(gl_timeline_s *timeline_d)
+{
+       GL_CHECK_VAL(timeline_d, -1);
+       Eina_List *l = NULL;
+       Evas_Object *bg = NULL;
+       gl_media_s *item = NULL;
+       int ret = -1;
+
+       EINA_LIST_FOREACH(timeline_d->thumbs, l, bg) {
+               if (bg == NULL)
+                       continue;
+               item = (gl_media_s *)evas_object_data_get(bg,
+                                                         GL_TL_TILE_DATA_KEY);
+               if (item && !GL_FILE_EXISTS(item->thumb_url) &&
+                   GL_FILE_EXISTS(item->file_url)) {
+                       gl_dbgW("Add thumb creation!");
+                       ret = _gl_data_create_thumb(item,
+                                                   __gl_timeline_create_thumb_cb,
+                                                   bg);
+                       if (ret == 0)
+                               continue;
+                       else
+                               goto GL_TL_FAILED;
+               } else {
+ GL_TL_FAILED:
+
+                       evas_object_data_del(bg, GL_TL_TILE_DATA_KEY);
+                       timeline_d->thumbs = eina_list_remove(timeline_d->thumbs,
+                                                             bg);
+                       if (item)
+                               _gl_data_type_free_glitem((void **)(&item));
+               }
+       }
+       return 0;
+}
+#endif
+
+/* Cancel thumb creation*/
+static int __gl_timeline_cancel_thumbs(gl_timeline_s *timeline_d)
+{
+       GL_CHECK_VAL(timeline_d, -1);
+       Eina_List *l = NULL;
+       Evas_Object *bg = NULL;
+       gl_media_s *item = NULL;
+
+       EINA_LIST_FOREACH(timeline_d->thumbs, l, bg) {
+               if (bg == NULL)
+                       continue;
+               item = (gl_media_s *)evas_object_data_get(bg,
+                                                         GL_TL_TILE_DATA_KEY);
+               if (item && item->b_create_thumb) {
+                       gl_dbgW("Cancel thumb creation!");
+                       _gl_data_cancel_thumb(item);
+               }
+       }
+       return 0;
+}
+
+#if 0
+static int __gl_timeline_check_thumb(gl_media_s *item, Evas_Object *bg)
+{
+       GL_CHECK_VAL(bg, -1);
+       GL_CHECK_VAL(item, -1);
+
+       if (item->storage_type != GL_STORE_T_PHONE &&
+           item->storage_type != GL_STORE_T_MMC)
+               return -1;
+
+       if (GL_FILE_EXISTS(item->file_url)) {
+               int ret = -1;
+               ret = _gl_data_create_thumb(item, __gl_timeline_create_thumb_cb,
+                                           (void *)bg);
+               return ret;
+       }
+       return -1;
+}
+
+static int __gl_timeline_check_glitem(gl_timeline_s *timeline_d,
+                                     gl_media_s *item, Evas_Object *bg,
+                                     bool b_check_thumb)
+{
+       /* Check thumb */
+       if (b_check_thumb) {
+               gl_dbg("Check thumb");
+               if (__gl_timeline_check_thumb(item, bg) == 0) {
+                       evas_object_data_set(bg, GL_TL_TILE_DATA_KEY,
+                                            (void *)item);
+                       evas_object_data_set(bg, GL_TL_DATA_KEY,
+                                            (void *)timeline_d);
+                       timeline_d->thumbs = eina_list_append(timeline_d->thumbs,
+                                                             (void *)bg);
+               } else {
+                       _gl_data_type_free_glitem((void **)(&item));
+               }
+       } else {
+               _gl_data_type_free_glitem((void **)(&item));
+       }
+       return 0;
+}
+
+static Evas_Object *__gl_timeline_add_page(Evas_Object *parent, gl_tlp_s *it_d)
+{
+       GL_CHECK_NULL(it_d);
+       GL_CHECK_NULL(it_d->timeline_d);
+       GL_CHECK_NULL(parent);
+       gl_dbg("index-%d, count-%d", it_d->index, it_d->count);
+       gl_dbg("start_pos-%d, end_pos-%d", it_d->start_pos, it_d->end_pos);
+
+       Eina_List *list = NULL;
+       _gl_data_get_items(it_d->start_pos, it_d->end_pos, &list);
+       if (list == NULL) {
+               gl_dbgW("Empty list!");
+               return NULL;
+       }
+       int count = eina_list_count(list);
+
+       it_d->w = it_d->timeline_d->w;
+       it_d->h = it_d->timeline_d->h;
+       bool b_landscape = (it_d->h > it_d->w) ? false : true;
+       Evas_Object *layout = NULL;
+       layout = __gl_timeline_add_page_ly(parent, it_d);
+       GL_CHECK_NULL(layout);
+
+       if (!it_d->b_created) {
+               it_d->b_created = true;
+               /* Add idler for showing original files for big tile */
+               if (count <= 5)
+                       __gl_timeline_check_page_idler(it_d);
+               else
+                       gl_dbg("count>5, no idler for showing original file");
+       }
+       it_d->layout = layout;
+       __gl_timeline_add_page_cbs(it_d, layout);
+
+       Evas_Object *bg = NULL;
+       Evas_Object *ck = NULL;
+       gl_media_s *item = NULL;
+       int i = 0;
+       char *part = NULL;
+       char *path = NULL;
+       unsigned int orient = 0;
+       int w = GL_TIMELINE_PAGE_SIZE;
+       int h = GL_TIMELINE_PAGE_SIZE;
+       bool b_check_thumb = false;
+
+       for (i = 0; i < count; i++) {
+               item = eina_list_nth(list, i);
+               if (item == NULL) {
+                       gl_dbgE("Invalid item!");
+                       continue;
+               }
+/* Checkme: Scrolling doesn't work smoothly if original file was used */
+               /* Get orientation for original file */
+               if (((i == 0 && count <= 5) ||
+                    (i == 1 && count <= 3 && !b_landscape) ||
+                    (i == 2 && count == 4 && !b_landscape) ||
+                    (i == 1 && (count == 2 || count == 4) && b_landscape)) &&
+                   item->type == MEDIA_CONTENT_TYPE_IMAGE &&
+                   (it_d->timeline_d->tran_op == GL_TRANS_OP_DONE ||
+                    !it_d->b_created) && GL_FILE_EXISTS(item->file_url)) {
+                       path = item->file_url;
+#ifdef _USE_ROTATE_BG
+                       if (_gl_exif_get_orientation(path, &orient) < 0) {
+                               path = item->thumb_url;
+                               orient = GL_ORIENTATION_ROT_0;
+                               if (!GL_FILE_EXISTS(path)) {
+                                       path = GL_ICON_NO_THUMBNAIL;
+                                       b_check_thumb = true;
+                               }
+                       }
+#endif
+                       __gl_timeline_get_tile_size(count, i, b_landscape, &w,
+                                                   &h);
+               } else {
+                       path = item->thumb_url;
+#ifdef _USE_ROTATE_BG
+                       orient = GL_ORIENTATION_ROT_0;
+#endif
+                       if (!GL_FILE_EXISTS(path)) {
+                               path = GL_ICON_NO_THUMBNAIL;
+                               b_check_thumb = true;
+                       }
+               }
+
+               /* Add images */
+               part = g_strdup_printf(GL_TL_CONTENTS_FORMAT, it_d->count,
+                                      i + 1);
+               bg = __gl_timeline_add_page_bg(layout, part, orient, path, w,
+                                              h);
+               evas_object_event_callback_add(bg, EVAS_CALLBACK_DEL,
+                                              __gl_timeline_del_bg_cb, NULL);
+#ifdef _USE_ROTATE_BG
+               _gl_rotate_bg_set_data(bg, (void *)i);
+#endif
+               GL_GFREEIF(part);
+               /* Add mouse event for launching Imageviewer */
+               evas_object_event_callback_add(bg, EVAS_CALLBACK_MOUSE_DOWN,
+                                              __gl_timeline_mouse_down, it_d);
+               evas_object_event_callback_add(bg, EVAS_CALLBACK_MOUSE_UP,
+                                              __gl_timeline_mouse_up, it_d);
+               /* Add checkbox */
+               if (it_d->timeline_d->view_m != GL_TL_VIEW_NORMAL) {
+                       part = g_strdup_printf(GL_TL_CHECKBOX_FORMAT,
+                                              it_d->count, i + 1);
+                       ck = __gl_timeline_add_ck(layout, part,
+                                                 __gl_timeline_is_checked(it_d->timeline_d, item->uuid),
+                                                 it_d);
+                       evas_object_data_set(ck, "gl_tl_idx_key", (void *)i);
+                       GL_GFREEIF(part);
+               }
+               /* Check data */
+               __gl_timeline_check_glitem(it_d->timeline_d, item, bg ,
+                                          b_check_thumb);
+               b_check_thumb = false;
+
+               if (it_d->timeline_d->tran_op == GL_TRANS_OP_PREPARE)
+                       __gl_timeline_add_tile(it_d, parent, bg, i + 1, count);
+
+               item = NULL;
+       }
+       GL_IF_FREE_ELIST(list);
+
+       if (it_d->timeline_d->tran_op == GL_TRANS_OP_PREPARE) {
+               /* Only transit tiles once */
+               it_d->timeline_d->tran_op = GL_TRANS_OP_START;
+               __gl_timeline_transit_tiles(it_d->timeline_d);
+       }
+       return layout;
+}
+
+static Evas_Object *__gl_timeline_reset_cks(Evas_Object *parent, gl_tlp_s *it_d)
+{
+       GL_CHECK_NULL(it_d);
+       GL_CHECK_NULL(it_d->timeline_d);
+       GL_CHECK_NULL(parent);
+       gl_dbg("index-%d, count-%d", it_d->index, it_d->count);
+       gl_dbg("start_pos-%d, end_pos-%d", it_d->start_pos, it_d->end_pos);
+
+       Eina_List *list = NULL;
+       _gl_data_get_items(it_d->start_pos, it_d->end_pos, &list);
+       if (list == NULL) {
+               gl_dbgW("Empty list!");
+               return NULL;
+       }
+       int count = eina_list_count(list);
+
+       bool b_landscape = (it_d->h > it_d->w) ? false : true;
+       Evas_Object *layout = NULL;
+       layout = __gl_timeline_add_page_ly(parent, it_d);
+       GL_CHECK_NULL(layout);
+
+       it_d->b_created = true;
+       it_d->layout = layout;
+       __gl_timeline_add_page_cbs(it_d, layout);
+
+       Evas_Object *bg = NULL;
+       Evas_Object *ck = NULL;
+       gl_media_s *item = NULL;
+       int i = 0;
+       char *part = NULL;
+       char *path = NULL;
+       unsigned int orient = 0;
+       int w = GL_TIMELINE_PAGE_SIZE;
+       int h = GL_TIMELINE_PAGE_SIZE;
+       bool b_check_thumb = false;
+
+       for (i = 0; i < count; i++) {
+               item = eina_list_nth(list, i);
+               if (item == NULL) {
+                       gl_dbgE("Invalid item!");
+                       continue;
+               }
+/* Checkme: Scrolling doesn't work smoothly if original file was used */
+               /* Get orientation for original file */
+               if (((i == 0 && count <= 5) ||
+                    (i == 1 && count <= 3 && !b_landscape) ||
+                    (i == 2 && count == 4 && !b_landscape) ||
+                    (i == 1 && (count == 2 || count == 4) && b_landscape)) &&
+                   item->type == MEDIA_CONTENT_TYPE_IMAGE &&
+                   GL_FILE_EXISTS(item->file_url)) {
+                       path = item->file_url;
+#ifdef _USE_ROTATE_BG
+                       if (_gl_exif_get_orientation(path, &orient) < 0) {
+                               path = item->thumb_url;
+                               orient = GL_ORIENTATION_ROT_0;
+                               if (!GL_FILE_EXISTS(path)) {
+                                       path = GL_ICON_NO_THUMBNAIL;
+                                       b_check_thumb = true;
+                               }
+                       }
+#endif
+                       __gl_timeline_get_tile_size(count, i, b_landscape, &w,
+                                                   &h);
+               } else {
+                       path = item->thumb_url;
+#ifdef _USE_ROTATE_BG
+                       orient = GL_ORIENTATION_ROT_0;
+#endif
+                       if (!GL_FILE_EXISTS(path)) {
+                               path = GL_ICON_NO_THUMBNAIL;
+                               b_check_thumb = true;
+                       }
+               }
+
+               /* Add images */
+               part = g_strdup_printf(GL_TL_CONTENTS_FORMAT, it_d->count,
+                                      i + 1);
+               bg = __gl_timeline_add_page_bg(layout, part, orient, path, w,
+                                              h);
+               evas_object_event_callback_add(bg, EVAS_CALLBACK_DEL,
+                                              __gl_timeline_del_bg_cb, NULL);
+#ifdef _USE_ROTATE_BG
+               _gl_rotate_bg_set_data(bg, (void *)i);
+#endif
+               GL_GFREEIF(part);
+               /* Add mouse event for launching Imageviewer */
+               evas_object_event_callback_add(bg, EVAS_CALLBACK_MOUSE_DOWN,
+                                              __gl_timeline_mouse_down, it_d);
+               evas_object_event_callback_add(bg, EVAS_CALLBACK_MOUSE_UP,
+                                              __gl_timeline_mouse_up, it_d);
+               /* Add checkbox */
+               if (it_d->timeline_d->view_m != GL_TL_VIEW_NORMAL) {
+                       part = g_strdup_printf(GL_TL_CHECKBOX_FORMAT,
+                                              it_d->count, i + 1);
+                       ck = __gl_timeline_add_ck(layout, part,
+                                                 __gl_timeline_is_checked(it_d->timeline_d, item->uuid),
+                                                 it_d);
+                       evas_object_data_set(ck, "gl_tl_idx_key", (void *)i);
+                       GL_GFREEIF(part);
+               }
+               /* Check data */
+               __gl_timeline_check_glitem(it_d->timeline_d, item, bg ,
+                                          b_check_thumb);
+               b_check_thumb = false;
+
+               item = NULL;
+       }
+       GL_IF_FREE_ELIST(list);
+       return layout;
+}
+
+static bool __gl_timeline_set_cks_state(gl_tlp_s *it_d, bool b_checked)
+{
+       GL_CHECK_FALSE(it_d);
+       GL_CHECK_FALSE(it_d->timeline_d);
+       gl_dbg("index-%d, count-%d", it_d->index, it_d->count);
+       gl_dbg("start_pos-%d, end_pos-%d", it_d->start_pos, it_d->end_pos);
+       gl_dbg("checkbox: %d", b_checked);
+
+       Evas_Object *ck = NULL;
+       int i = 0;
+       char *part = NULL;
+       Eina_Bool checked = EINA_FALSE;
+
+       for (i = 0; i < it_d->count; i++) {
+               part = g_strdup_printf(GL_TL_CHECKBOX_FORMAT, it_d->count,
+                                      i + 1);
+               ck = elm_object_part_content_get(it_d->layout, part);
+               if (ck) {
+                       checked = elm_check_state_get(ck);
+                       if (checked != b_checked)
+                               elm_check_state_set(ck, b_checked);
+               } else {
+                       gl_dbgW("Invalid checkbox!");
+               }
+               GL_GFREEIF(part);
+       }
+       return true;
+}
+
+static int __gl_timeline_free_pages(gl_timeline_s *timeline_d)
+{
+       GL_CHECK_VAL(timeline_d, -1);
+       if (timeline_d->list) {
+               gl_dbgW("##############  Free pages ###############");
+               void *tl_d = NULL;
+               EINA_LIST_FREE(timeline_d->list, tl_d) {
+                       GL_FREEIF(tl_d);
+               }
+               timeline_d->list = NULL;
+       } else {
+               gl_dbgW("None pages!");
+       }
+       return 0;
+}
+
+static int __gl_timeline_update_tiles_cnt(int zlevel, int default_cnt)
+{
+       int tiles_cnt = 0;
+
+       if (zlevel == GL_TM_ZOOM_OUT_TWO) {
+               tiles_cnt = GL_TL_PINCH_OUT_2_CNT;
+       } else if (zlevel == GL_TM_ZOOM_OUT_ONE) {
+               if (default_cnt <= 2)
+                       tiles_cnt = default_cnt * GL_TL_PINCH_OUT_CNT_STEP;
+               else
+                       tiles_cnt = GL_TL_PINCH_OUT_1_CNT;
+       } else {
+               tiles_cnt = default_cnt;
+       }
+       return tiles_cnt;
+}
+
+static int __gl_timeline_update_zoom_flags(gl_timeline_s *timeline_d,
+                                          bool b_pout)
+{
+       GL_CHECK_VAL(timeline_d, -1);
+
+       /* To trigger different transition */
+       if (!b_pout) {
+               timeline_d->zoom_level++;
+               _gl_slider_set_zop(timeline_d->view, GL_SLIDE_ZOP_IN);
+       } else {
+               timeline_d->zoom_level--;
+               _gl_slider_set_zop(timeline_d->view, GL_SLIDE_ZOP_OUT);
+       }
+       /* Reset zoom level for overscrolling showing in slider */
+       if (timeline_d->zoom_level == GL_TM_ZOOM_DEFAULT)
+               _gl_slider_set_zlevel(timeline_d->view, GL_SLIDE_ZLEVEL_MAX);
+       else if (timeline_d->zoom_level == GL_TM_ZOOM_OUT_TWO)
+               _gl_slider_set_zlevel(timeline_d->view, GL_SLIDE_ZLEVEL_MIN);
+       else
+               _gl_slider_set_zlevel(timeline_d->view, GL_SLIDE_ZLEVEL_MID);
+       return 0;
+}
+
+static int __gl_timeline_update_zoom_pages(gl_timeline_s *timeline_d,
+                                          bool b_pout)
+{
+       GL_CHECK_VAL(timeline_d, -1);
+       int i = 0;
+       gl_tlp_s *it_d = NULL;
+       int index = 0;
+       /* Get first image of current page */
+       void *sitem = _gl_slider_get_sitem(timeline_d->view);
+       GL_CHECK_VAL(sitem, -1);
+       it_d = (gl_tlp_s *)_gl_slider_get_sitem_data(sitem);
+       GL_CHECK_VAL(it_d, -1);
+       int page_first_img_idx = it_d->start_pos;
+       int new_cur_page_idx = 0;
+       int list_cnt = eina_list_count(timeline_d->count_list);
+       gl_dbg("level: %d, count: %d, count_list: %d", timeline_d->zoom_level,
+              timeline_d->count, list_cnt);
+       int cnt = 0;
+
+       /* Update flags */
+       __gl_timeline_update_zoom_flags(timeline_d, b_pout);
+       evas_object_freeze_events_set(timeline_d->view, EINA_TRUE);
+       GL_TL_CLEAR_PAGES(timeline_d, false);
+       gl_dbgW("evas_object_freeze_events_set EINA_TRUE");
+
+       for (i = 0; i < timeline_d->count;) {
+               /* item date is freed in del_cb */
+               it_d = (gl_tlp_s *)calloc(1, sizeof(gl_tlp_s));
+               /* Create UX item */
+               timeline_d->list = eina_list_append(timeline_d->list, it_d);
+               it_d->timeline_d = timeline_d;
+               if (list_cnt > index) {
+                       /* Reuse count of page */
+                       cnt = (int)eina_list_nth(timeline_d->count_list,
+                                                index);
+                       gl_dbg("%d", cnt);
+               } else {
+                       /* Add new random count */
+                       cnt = 1 + rand() % 5;
+                       timeline_d->count_list = eina_list_append(timeline_d->count_list,
+                                                                 (void *)cnt);
+               }
+
+               it_d->count = __gl_timeline_update_tiles_cnt(timeline_d->zoom_level,
+                                                            cnt);
+               it_d->index = index++;
+               it_d->start_pos = i;
+               /* Refer to first item of next loop */
+               i += it_d->count;
+               it_d->end_pos = i - 1;
+               /* Get new index of page */
+               if (new_cur_page_idx ==0 &&
+                   page_first_img_idx >= it_d->start_pos &&
+                   page_first_img_idx <= it_d->end_pos) {
+                       gl_dbgW("New page index got!");
+                       new_cur_page_idx = it_d->index;
+               }
+               /* Reset count and end_pos of last page */
+               if (timeline_d->zoom_level != GL_TM_ZOOM_OUT_TWO &&
+                   i >= timeline_d->count) {
+                       it_d->end_pos = timeline_d->count - 1;
+                       it_d->count = it_d->end_pos - it_d->start_pos + 1;
+                       break;
+               }
+               it_d = NULL;
+       }
+       gl_dbg("length: %d", eina_list_count(timeline_d->list));
+
+       _gl_slider_set_list(timeline_d->view, timeline_d->list,
+                           new_cur_page_idx);
+       _gl_slider_load_first_item(timeline_d->view);
+       return 0;
+}
+
+static Eina_Bool __gl_timeline_zoom_in(gl_timeline_s *timeline_d)
+{
+       GL_CHECK_FALSE(timeline_d);
+       gl_dbg("");
+
+       if (gl_get_view_mode(timeline_d->ad) != GL_VIEW_TIMELINE)
+               return false;
+
+       gl_dbg("level: %d", timeline_d->zoom_level);
+       if (timeline_d->zoom_level >= GL_TM_ZOOM_DEFAULT)
+               return false;
+
+       /* Update view */
+       __gl_timeline_update_zoom_pages(timeline_d, false);
+       return true;
+}
+
+static Eina_Bool __gl_timeline_zoom_out(gl_timeline_s *timeline_d)
+{
+       GL_CHECK_FALSE(timeline_d);
+       gl_dbg("");
+
+       if (gl_get_view_mode(timeline_d->ad) != GL_VIEW_TIMELINE)
+               return false;
+
+       gl_dbg("level: %d", timeline_d->zoom_level);
+       if (timeline_d->zoom_level <= GL_TM_ZOOM_OUT_TWO)
+               return false;
+
+       /* Update view */
+       __gl_timeline_update_zoom_pages(timeline_d, true);
+       return true;
+}
+
+static void __gl_timeline_slider_clicked_cb(void *data, Evas_Object *obj, void *ei)
+{
+       gl_dbg("");
+}
+
+static void __gl_timeline_slider_long_press_start_cb(void *data,
+                                                    Evas_Object *obj, void *ei)
+{
+       gl_dbg("");
+}
+
+static void __gl_timeline_slider_long_press_end_cb(void *data, Evas_Object *obj,
+                                                  void *ei)
+{
+       gl_dbg("");
+}
+
+static void __gl_timeline_slider_item_changed_cb(void *data, Evas_Object *obj,
+                                                void *ei)
+{
+       GL_CHECK(ei);
+       GL_CHECK(data);
+       gl_dbg("");
+
+       __gl_timeline_update_title((gl_timeline_s *)data,
+                                  (gl_tlp_s *)_gl_slider_get_sitem_data(ei),
+                                  false);
+}
+
+static void __gl_timeline_slider_item_state_changed_cb(void *data,
+                                                      Evas_Object *obj,
+                                                      void *ei)
+{
+       gl_dbg("");
+}
+
+static void __gl_timeline_slider_items_resized_cb(void *data, Evas_Object *obj,
+                                                 void *ei)
+{
+       gl_dbgW("start");
+       GL_CHECK(data);
+       gl_timeline_s *timeline_d = (gl_timeline_s *)data;
+       GL_CHECK(timeline_d->ad);
+       _gl_main_add_reg_idler(timeline_d->ad);
+       if (!timeline_d->b_created) {
+               timeline_d->b_created = true;
+               _gl_slider_load_first_item(timeline_d->view);
+       } else {
+               if (timeline_d->tran_op == GL_TRANS_OP_SHOW) {
+                       gl_dbgW("Change transit operation mode!");
+                       timeline_d->tran_op = GL_TRANS_OP_START;
+               }
+       }
+       gl_dbgW("done");
+}
+
+static void __gl_timeline_slider_items_zoom_out_cb(void *data, Evas_Object *obj,
+                                                  void *ei)
+{
+       gl_dbgW("start");
+       GL_CHECK(data);
+       gl_timeline_s *timeline_d = (gl_timeline_s *)data;
+       GL_CHECK(timeline_d->ad);
+       __gl_timeline_zoom_out(timeline_d);
+       gl_dbgW("done");
+}
+
+static void __gl_timeline_slider_items_zoom_in_cb(void *data, Evas_Object *obj,
+                                                 void *ei)
+{
+       gl_dbgW("start");
+       GL_CHECK(data);
+       gl_timeline_s *timeline_d = (gl_timeline_s *)data;
+       GL_CHECK(timeline_d->ad);
+       __gl_timeline_zoom_in(timeline_d);
+       gl_dbgW("done");
+}
+#endif
+
+static void __gl_timeline_resize_layout_cb(void *data, Evas *e,
+                                          Evas_Object *obj, void *ei)
+{
+       GL_CHECK(data);
+       gl_timeline_s *timeline_d = (gl_timeline_s *)data;
+       Evas_Coord x,y,w,h;
+
+       evas_object_geometry_get(obj, &x, &y, &w, &h);
+       gl_dbg("MainView resized geomtery XYWH(%d,%d,%d,%d)", x, y, w, h);
+       evas_object_data_set(timeline_d->layout, "page_w", (void *)w);
+       evas_object_data_set(timeline_d->layout, "page_h", (void *)h);
+       timeline_d->w = w;
+       timeline_d->h = h;
+}
+
+/* register mouse callback */
+#if 0
+static int __gl_timeline_add_slider_cbs(Evas_Object *slider, void *cb_data)
+{
+       GL_CHECK_VAL(cb_data, -1);
+       GL_CHECK_VAL(slider, -1);
+
+       evas_object_smart_callback_add(slider, "slider,clicked",
+                                      __gl_timeline_slider_clicked_cb,
+                                      cb_data);
+       evas_object_smart_callback_add(slider, "slider,longpress,start",
+                                      __gl_timeline_slider_long_press_start_cb,
+                                      cb_data);
+       evas_object_smart_callback_add(slider, "slider,longpress,end",
+                                      __gl_timeline_slider_long_press_end_cb,
+                                      cb_data);
+
+       evas_object_smart_callback_add(slider, "slider,item,changed",
+                                      __gl_timeline_slider_item_changed_cb,
+                                      cb_data);
+       evas_object_smart_callback_add(slider, "slider,item,state,changed",
+                                      __gl_timeline_slider_item_state_changed_cb,
+                                      cb_data);
+       evas_object_smart_callback_add(slider, "slider,items,resized",
+                                      __gl_timeline_slider_items_resized_cb,
+                                      cb_data);
+       evas_object_smart_callback_add(slider, "slider,items,zoomout",
+                                      __gl_timeline_slider_items_zoom_out_cb,
+                                      cb_data);
+       evas_object_smart_callback_add(slider, "slider,items,zoomin",
+                                      __gl_timeline_slider_items_zoom_in_cb,
+                                      cb_data);
+       return 0;
+}
+
+static Evas_Object *__gl_timeline_create_slider(gl_timeline_s *timeline_d)
+{
+       GL_CHECK_NULL(timeline_d);
+       Evas_Object *slider = NULL;
+
+       slider = _gl_slider_add(timeline_d->layout);
+       GL_CHECK_NULL(slider);
+
+       evas_object_data_set(slider, "create_func",
+                            (void *)__gl_timeline_add_page);
+       evas_object_data_set(slider, "reset_cks_func",
+                            (void *)__gl_timeline_reset_cks);
+       evas_object_data_set(slider, "set_cks_state_func",
+                            (void *)__gl_timeline_set_cks_state);
+       __gl_timeline_add_slider_cbs(slider, (void *)timeline_d);
+       int bx = 0;
+       int by = 0;
+       int bw = 0;
+       int bh = 0;
+       evas_object_geometry_get(slider, &bx, &by, &bw, &bh);
+       gl_dbg("slider. (%d,%d,%d,%d)", bx, by, bw, bh);
+
+       return slider;
+}
+#endif
+
+static int __gl_timelne_show_nocontents(gl_timeline_s *timeline_d)
+{
+       GL_CHECK_VAL(timeline_d, -1);
+       GL_CHECK_VAL(timeline_d->ad, -1);
+
+       if (timeline_d->nocontents) {
+               gl_dbgW("Already created!");
+               return 0;
+       }
+
+       GL_IF_DEL_OBJ(timeline_d->view);
+       Evas_Object *title = elm_object_part_content_get(timeline_d->layout,
+                                                        "title");
+       GL_IF_DEL_OBJ(title);
+
+       Evas_Object *noc = _gl_nocontents_create(timeline_d->parent);
+       elm_object_part_content_set(timeline_d->parent, "elm.swallow.view",
+                                           noc);
+       timeline_d->nocontents = noc;
+
+       return 0;
+}
+
+static int __gl_timelne_del_nocontents(gl_timeline_s *timeline_d)
+{
+       GL_CHECK_VAL(timeline_d, -1);
+       GL_CHECK_VAL(timeline_d->ad, -1);
+
+       if (timeline_d->nocontents == NULL)
+               return 0;
+
+       gl_dbg("Delete nocontents view first");
+       GL_IF_DEL_OBJ(timeline_d->nocontents);
+
+       Evas_Object *view = __gl_timeline_create_list_view(timeline_d, false);
+       if (view == NULL) {
+               gl_dbgE("Failed to create view!");
+               __gl_timelne_show_nocontents(timeline_d);
+               elm_naviframe_item_title_enabled_set(timeline_d->nf_it, EINA_FALSE, EINA_FALSE);
+               return -1;
+       }
+
+       elm_naviframe_item_title_enabled_set(timeline_d->nf_it, EINA_TRUE, EINA_TRUE);
+       timeline_d->view = view;
+       elm_object_part_content_set(timeline_d->parent, "elm.swallow.view",
+                                   view);
+
+       return 0;
+}
+
+int _gl_timeline_get_item_index(void *data, char* path)
+{
+       GL_CHECK_VAL(data, 1);
+       GL_CHECK_VAL(path, 1);
+       gl_appdata *ad = (gl_appdata *)data;
+       gl_media_s *gitem = NULL;
+       if (ad->tlinfo && ad->tlinfo->data_list) {
+               int count = eina_list_count(ad->tlinfo->data_list);
+               int i;
+               for (i = 0 ; i < count ; i++) {
+                       gitem = eina_list_nth(ad->tlinfo->data_list, i);
+                       if (gitem) {
+                               if (!strcmp(path, gitem->file_url)) {
+                                       return i + 1;
+                               }
+                       }
+               }
+       }
+       return 1;
+}
+
+static void __gl_timeline_thumbs_sel_cb(void *data, Evas_Object *obj, void *ei)
+{
+       GL_CHECK(data);
+       gl_timeline_s *gitem = (gl_timeline_s *)data;
+       GL_CHECK(gitem->ad);
+       gl_appdata *ad = (gl_appdata *)gitem->ad;
+       elm_gengrid_item_selected_set((Elm_Object_Item *)ei, EINA_FALSE);
+
+       /* Save scroller position before clearing gengrid */
+       gl_media_s *item = NULL;
+       item = elm_object_item_data_get((Elm_Object_Item *)ei);
+       _gl_ui_save_scroller_pos(gitem->view);
+       if (gitem->view_m != GL_TL_VIEW_NORMAL) {
+               Evas_Object *ck = NULL;
+               ck = elm_object_item_part_content_get((Elm_Object_Item *)ei, GL_THUMB_CHECKBOX);
+               if (ck) {
+                       elm_check_state_set(ck, !elm_check_state_get(ck));
+                       __gl_timeline_thumb_check_op(gitem, ck, item);
+               } else {
+                       gl_dbgE("item checkbox not found");
+               }
+       } else {
+               if (item && item->file_url) {
+                       int index = _gl_timeline_get_item_index(ad, item->file_url);
+                       _gl_ext_load_iv_timeline(ad, item->file_url, index, ad->tlinfo->time_media_display_order);
+               }
+               else {
+                       gl_dbgW("Image wasn't found!");
+               }
+       }
+       _gl_ui_restore_scroller_pos(gitem->view);
+}
+
+Evas_Object *_gl_timeline_thumbs_get_content(void *data, Evas_Object *parent,
+                                   int w, int h)
+{
+       GL_CHECK_NULL(parent);
+       GL_CHECK_NULL(data);
+       gl_media_s *item = (gl_media_s *)data;
+       char *path = NULL;
+       Evas_Object *layout = NULL;
+
+       if (GL_FILE_EXISTS(item->thumb_url)) {
+               path = item->thumb_url;
+       } else {
+               /* Use default image */
+               path = GL_ICON_NO_THUMBNAIL;
+       }
+
+       int zoom_level = GL_ZOOM_DEFAULT;
+
+       if (item->type == MEDIA_CONTENT_TYPE_VIDEO) {
+               unsigned int v_dur = 0;
+               if (item->video_info) {
+                       v_dur = item->video_info->duration;
+               }
+               layout = _gl_thumb_show_video(parent, path, v_dur, w, h,
+                               zoom_level);
+       } else {
+               if (item->image_info &&
+                               item->image_info->burstshot_id) {
+                       layout = _gl_thumb_show_image(parent, path, 0, w, h,
+                                       zoom_level);
+                       item->mode = GL_CM_MODE_BURSTSHOT;
+               } else {
+                       layout = _gl_thumb_show_image(parent, path, 0, w, h,
+                                       zoom_level);
+               }
+       }
+       return layout;
+}
+
+static void __gl_timeline_thumbs_create_thumb_cb(media_content_error_e error,
+                                       const char *path, void *user_data)
+{
+       GL_CHECK(user_data);
+       gl_media_s *thumb_data = (gl_media_s *)user_data;
+
+       thumb_data->b_create_thumb = false;
+       if (error == MEDIA_CONTENT_ERROR_NONE && GL_FILE_EXISTS(path) &&
+           g_strcmp0(path, GL_ICON_DB_DEFAULT_THUMB)) {
+               GL_CHECK(thumb_data);
+               /* Update thumb path */
+               GL_FREEIF(thumb_data->thumb_url);
+               thumb_data->thumb_url = strdup(path);
+               elm_gengrid_item_update(thumb_data->elm_item);
+       } else {
+               gl_dbgE("[%d]Invalid path[%s]!", error, path);
+       }
+}
+
+/* Use file to create new thumb if possible */
+int _gl_timeline_thumbs_create_thumb(gl_media_s *gitem)
+{
+       GL_CHECK_VAL(gitem, -1);
+       GL_CHECK_VAL(gitem->file_url, -1);
+
+       if (GL_FILE_EXISTS(gitem->file_url)) {
+               _gl_data_create_thumb(gitem, __gl_timeline_thumbs_create_thumb_cb,
+                                     gitem);
+               return 0;
+       }
+       return -1;
+}
+
+static void __gl_timeline_thumbs_realized(void *data, Evas_Object *obj, void *ei)
+{
+
+       gl_dbg("realized");
+       GL_CHECK(ei);
+       GL_CHECK(data);
+       Elm_Object_Item *it = (Elm_Object_Item *)ei;
+       gl_media_s *gitem = NULL;
+
+       gitem = elm_object_item_data_get(it);
+       GL_CHECK(gitem);
+       /* Checking for local files only */
+       if (gitem->storage_type == GL_STORE_T_MMC ||
+                       gitem->storage_type == GL_STORE_T_ALL ||
+                       gitem->storage_type == GL_STORE_T_PHONE) {
+               /* Use default image */
+               if (!GL_FILE_EXISTS(gitem->thumb_url)) {
+                       _gl_timeline_thumbs_create_thumb(gitem);
+               }
+       }
+}
+
+static void __gl_timeline_thumbs_unrealized(void *data, Evas_Object *obj, void *ei)
+{
+       gl_dbg("unrealized");
+       GL_CHECK(ei);
+       GL_CHECK(data); /* It's ad */
+       Elm_Object_Item *it = (Elm_Object_Item *)ei;
+
+       gl_media_s *gitem = elm_object_item_data_get(it);
+       GL_CHECK(gitem);
+       /* Checking for local files only */
+       if (gitem->storage_type == GL_STORE_T_MMC ||
+           gitem->storage_type == GL_STORE_T_ALL ||
+           gitem->storage_type == GL_STORE_T_PHONE) {
+               if (gitem->b_create_thumb) {
+                       _gl_data_cancel_thumb(gitem);
+               }
+       }
+}
+
+void _gl_timeline_open_file_select_mode(void *data)
+{
+       gl_media_s *gitem = (gl_media_s *)data;
+       GL_CHECK(gitem);
+       GL_CHECK(gitem->file_url);
+       GL_CHECK(strlen(gitem->file_url));
+       GL_CHECK(gitem->ad);
+       gl_appdata *ad = (gl_appdata *)gitem->ad;
+
+       gl_dbg("Loading UG-IMAGE-VIEWER-SELECT-MODE");
+       gl_ext_load_iv_time_ug_select_mode(ad, gitem, GL_UG_IV, ad->tlinfo->time_media_display_order);
+}
+
+void _gl_timeline_open_image_in_select_mode(void *data, Evas_Object *obj, void *event_info)
+{
+       GL_CHECK(data);
+       _gl_timeline_open_file_select_mode(data);
+}
+
+static Evas_Object *__gl_timeline_thumbs_get_content(void *data, Evas_Object *obj,
+                                           const char *part)
+{
+       GL_CHECK_NULL(part);
+       GL_CHECK_NULL(strlen(part));
+       GL_CHECK_NULL(data);
+       gl_media_s *gitem = (gl_media_s *)data;
+       GL_CHECK_NULL(gitem);
+       gl_timeline_s *timeline_d = (gl_timeline_s *)evas_object_data_get(obj, "data");
+       GL_CHECK_NULL(timeline_d);
+       int mode = timeline_d->view_m;
+
+       if (!g_strcmp0(part, GL_THUMB_ICON)) {
+               Evas_Object *layout = _gl_timeline_thumbs_get_content(gitem, obj,
+                               timeline_d->w,
+                               timeline_d->h);
+               if (gitem->storage_type == GL_STORE_T_MMC) {
+                       elm_object_item_signal_emit(gitem->elm_item, "show_sd_card_icon", "sd_card_icon_img");
+               }
+               return layout;
+       } else if (!g_strcmp0(part, GL_THUMB_CHECKBOX)) {
+               Evas_Object *ck = NULL;
+               if (mode == GL_TL_VIEW_EDIT) {
+                       ck = elm_check_add(obj);
+                       GL_CHECK_NULL(ck);
+
+#ifdef _USE_GRID_CHECK
+                       elm_object_style_set(ck, "grid");
+#else
+                       elm_object_style_set(ck, GL_CHECKBOX_STYLE_THUMB);
+#endif
+                       evas_object_propagate_events_set(ck, EINA_FALSE);
+                       elm_check_state_set(ck, gitem->check_state);
+                       evas_object_data_set(ck, "data", (void *)timeline_d);
+                       evas_object_smart_callback_add(ck, "changed", __gl_timeline_thumbs_check_changed, data);
+                       evas_object_show(ck);
+                       elm_object_item_signal_emit(gitem->elm_item, "show_image_icon", "elm_image_open_icon_rect");
+               } else {
+                       elm_object_item_signal_emit(gitem->elm_item, "hide_image_icon", "elm_image_open_icon_rect");
+               }
+               return ck;
+       } else if (!g_strcmp0(part, "elm_image_open_icon_swallow_blocker")) {
+               Evas_Object *btn1 = NULL;
+               if (mode == GL_TL_VIEW_EDIT) {
+                       btn1 = evas_object_rectangle_add(evas_object_evas_get(obj));
+                       evas_object_color_set(btn1, 0, 255, 0, 0);
+                       evas_object_propagate_events_set(btn1, EINA_FALSE);
+               } else {
+                       btn1 = elm_object_item_part_content_get(gitem->elm_item,
+                                       "elm_image_open_icon_swallow_blocker");
+                       if (btn1) {
+                               evas_object_del(btn1);
+                               btn1 = NULL;
+                       }
+               }
+               return btn1;
+       } else if (!g_strcmp0(part, "elm_image_open_icon_swallow")) {
+               Evas_Object *btn = NULL;
+               if (mode == GL_TL_VIEW_EDIT) {
+                       btn = elm_button_add(obj);
+                       elm_object_style_set(btn, "transparent");
+                       evas_object_show(btn);
+                       evas_object_propagate_events_set(btn, EINA_FALSE);
+                       evas_object_smart_callback_add(btn, "clicked", _gl_timeline_open_image_in_select_mode, gitem);
+               } else {
+                       btn = elm_object_item_part_content_get(gitem->elm_item,
+                                       "elm_image_open_icon_swallow");
+                       if (btn) {
+                               evas_object_del(btn);
+                               btn = NULL;
+                       }
+               }
+               return btn;
+       }
+       return NULL;
+}
+
+int _gl_timeline_thumb_set_size(void *data, Evas_Object *view, int *size_w, int *size_h)
+{
+       GL_CHECK_VAL(view, -1);
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       int rotate_mode = ad->maininfo.rotate_mode;
+       int _w = 0;
+       int _h = 0;
+       int _w_l = 0;
+       int _h_l = 0;
+       int win_w = 0;
+       int win_h = 0;
+       int items_per_row = 0;
+       _gl_get_win_factor(ad->maininfo.win, &win_w, &win_h);
+
+       if ((rotate_mode == APP_DEVICE_ORIENTATION_270) ||
+                       (rotate_mode == APP_DEVICE_ORIENTATION_90)) {
+               if (ad->pinchinfo.zoom_level == GL_ZOOM_IN_TWO) {
+                       items_per_row = GL_GRID_6_PER_ROW;
+               } else if (ad->pinchinfo.zoom_level == GL_ZOOM_IN_ONE) {
+                       items_per_row = GL_GRID_7_PER_ROW;
+               } else if (ad->pinchinfo.zoom_level == GL_ZOOM_DEFAULT) {
+                       items_per_row = GL_GRID_10_PER_ROW;
+               } else {
+                       items_per_row = GL_GRID_7_PER_ROW;
+               }
+       } else {
+               if (ad->pinchinfo.zoom_level == GL_ZOOM_IN_TWO) {
+                       items_per_row = GL_GRID_3_PER_ROW;
+               } else if (ad->pinchinfo.zoom_level == GL_ZOOM_IN_ONE) {
+                       items_per_row = GL_GRID_4_PER_ROW;
+               } else if (ad->pinchinfo.zoom_level == GL_ZOOM_DEFAULT) {
+                       items_per_row = GL_GRID_8_PER_ROW;
+               } else {
+                       items_per_row = GL_GRID_4_PER_ROW;
+               }
+       }
+
+       _w = (int)(win_w / items_per_row);
+       _w_l = (int)(win_h / items_per_row);
+       _h = _w;
+       _h_l = _w_l;
+
+       if ((rotate_mode == APP_DEVICE_ORIENTATION_270) ||
+                       (rotate_mode == APP_DEVICE_ORIENTATION_90)) {
+               elm_gengrid_item_size_set(view, _w_l, _h_l);
+               if (size_w)
+                       *size_w = _w_l-4;
+               if (size_h)
+                       *size_h = _h_l-4;
+       } else {
+               elm_gengrid_item_size_set(view, _w, _h);
+               if (size_w)
+                       *size_w = _w-4;
+               if (size_h)
+                       *size_h = _h-4;
+       }
+       if (size_w && size_h)
+               gl_dbg("P: %dx%d, size_w: %d,size_h: %d", _w, _h, *size_w, *size_h);
+       return 0;
+}
+
+Evas_Object *_gl_grid_layout_add(Evas_Object *parent)
+{
+       Evas_Object *layout = NULL;
+       layout = elm_layout_add(parent);
+       elm_layout_file_set(layout, GL_EDJ_FILE, "timeline_gridview");
+       evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
+       evas_object_show(layout);
+
+       return layout;
+}
+
+Evas_Object *_gl_grid_add(Evas_Object *parent)
+{
+       GL_CHECK_NULL(parent);
+       Evas_Object *grid = elm_gengrid_add(parent);
+       GL_CHECK_NULL(grid);
+
+       elm_gengrid_align_set(grid, 0.0, 0.0);
+       elm_gengrid_horizontal_set(grid, EINA_FALSE);
+       elm_scroller_bounce_set(grid, EINA_FALSE, EINA_TRUE);
+       elm_scroller_policy_set(grid, ELM_SCROLLER_POLICY_OFF,
+                       ELM_SCROLLER_POLICY_AUTO);
+       elm_gengrid_multi_select_set(grid, EINA_TRUE);
+       evas_object_size_hint_weight_set(grid, EVAS_HINT_EXPAND,
+                       EVAS_HINT_EXPAND);
+       evas_object_show(grid);
+
+       return grid;
+}
+
+void _gl_time_finialize_media_data(gl_timeline_s *timeline_d)
+{
+       GL_CHECK(timeline_d);
+       if (timeline_d->data_list) {
+               gl_media_s *item = NULL;
+               EINA_LIST_FREE(timeline_d->data_list, item) {
+                       if (!item || !item->uuid)
+                               continue;
+                       _gl_data_type_free_glitem((void **)(&item));
+                       item = NULL;
+               }
+       }
+}
+
+void _gl_time_update_selected_media(gl_timeline_s *timeline_d, Eina_List *list)
+{
+       GL_CHECK(timeline_d);
+       GL_CHECK(list);
+       gl_media_s *gitem = NULL;
+       int i;
+       if (list) {
+               int count = eina_list_count(list);
+               for (i = 0; i < count ; i++) {
+                       gitem = eina_list_nth(list, i);
+                       if (gitem) {
+                               if (__gl_timeline_is_checked(timeline_d, gitem->uuid)) {
+                                       gitem->check_state = true;
+                               }
+                       }
+               }
+       }
+}
+
+static void _gl_time_view_append_gengrid_items(Evas_Object *
+               pGengrid,
+               int nGenItemIndex,
+               gl_timeline_s *timeline_d)
+{
+       static Elm_Gengrid_Item_Class *gic;
+       gic = elm_gengrid_item_class_new();
+       gic->item_style = GL_GENGRID_ITEM_STYLE_THUMBNAIL;
+       gic->func.text_get = NULL;
+       gic->func.content_get = __gl_timeline_thumbs_get_content;
+       gic->func.del = NULL;
+
+       int nCount = _gl_time_get_number_of_items_per_row(timeline_d->ad);
+       int nIndex = nGenItemIndex;
+       int nMaxIndex = nIndex + nCount;
+       int nVideoListSize = eina_list_count(timeline_d->data_list);
+       gl_media_s *item = NULL;
+       char * text = NULL;
+       item = eina_list_nth(timeline_d->data_list, nIndex);
+       if (item == NULL) {
+               gl_dbgE("Invalid item!");
+               return;
+       }
+       int numberOfItemsOnParticularDate = _get_count_of_items_on_same_date(item, timeline_d->data_list, &text, nIndex+1);
+       int k =1;
+       Elm_Object_Item *gridItem = NULL;
+       for (; (nIndex < nMaxIndex) && (nIndex < nVideoListSize) && (k <= numberOfItemsOnParticularDate) ; nIndex++) {
+               item = eina_list_nth(timeline_d->data_list, nIndex);
+               gridItem =
+                               elm_gengrid_item_append(pGengrid, gic, item, __gl_timeline_thumbs_sel_cb, timeline_d);
+               elm_gengrid_item_select_mode_set(gridItem,
+                               ELM_OBJECT_SELECT_MODE_ALWAYS);
+               item->elm_item = gridItem;
+               item->ad = timeline_d->ad;
+               k++;
+       }
+       elm_genlist_item_class_free(gic);
+       _gl_timeline_thumb_set_size(timeline_d->ad, pGengrid, &timeline_d->w, &timeline_d->h);
+}
+
+static Evas_Object *__gl_get_icon_of_grid_cb(const void
+               *pUserData,
+               Evas_Object *
+               pObject,
+               const char
+               *pPart)
+{
+       int nGenItemIndex = (int) pUserData;
+       gl_timeline_s *timeline_d = (gl_timeline_s *)evas_object_data_get(pObject,"data");
+       if (!timeline_d) {
+               return NULL;
+       }
+
+       Evas_Object *pGengrid = _gl_grid_add(pObject);
+       if (!pGengrid) {
+               return NULL;
+       }
+
+       evas_object_data_set(pGengrid, "data", (void *)timeline_d);
+       evas_object_smart_callback_add(pGengrid, "realized", __gl_timeline_thumbs_realized, timeline_d);
+       evas_object_smart_callback_add(pGengrid, "unrealized", __gl_timeline_thumbs_unrealized, timeline_d);
+
+       _gl_time_view_append_gengrid_items(pGengrid, nGenItemIndex, timeline_d);
+
+       return pGengrid;
+}
+
+static char *__gl_time_date_get_text(void *data, Evas_Object *obj, const char *part)
+{
+       GL_CHECK_NULL(data);
+       char * text = (char *)data;
+       return strdup(text);
+}
+
+int _get_count_of_items_on_same_date(gl_media_s *item, Eina_List *list, char **text, int start_index)
+{
+       int count = 1;
+       char *text1 = NULL;
+       char *text2 = NULL;
+       char *text3 = NULL;
+       struct tm t1;
+       struct tm t2;
+       struct tm ct;
+       time_t ctime = 0;
+       memset(&ct, 0x00, sizeof(struct tm));
+       time(&ctime);
+       localtime_r(&ctime, &ct);
+       time_t mtime1 = 0;
+       time_t mtime2 = 0;
+       int i;
+
+       mtime1 = item->mtime;
+       mtime2 = item->mtime;
+       int item_cnt = eina_list_count(list);
+
+       __gl_timeline_get_tm(mtime1, mtime2, &t1, &t2);
+       __gl_timeline_get_mtime_str(t1, ct, &text1, &text2);
+       if (text1) {
+               text3 = g_strdup_printf("%s", text1);
+       }
+       for (i = start_index; i < item_cnt ; i++) {
+               item = eina_list_nth(list, i);
+               if (!item) {
+                       return 0;
+               }
+               mtime1 = item->mtime;
+               mtime2 = item->mtime;
+               __gl_timeline_get_tm(mtime1, mtime2, &t1, &t2);
+               __gl_timeline_get_mtime_str(t1, ct, &text1, &text2);
+               if (text1 && text3 && (strcmp(text1, text3))) {
+                       break;
+               }
+               count ++;
+               if (text1) {
+                       text3 = g_strdup_printf("%s", text1);
+               }
+       }
+       *text = g_strdup_printf("%s", text3);
+
+       return count;
+}
+
+int _gl_time_get_number_of_items_per_row(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       int rotate_mode = ad->maininfo.rotate_mode;
+       int items_per_row = 0;
+       if ((rotate_mode == APP_DEVICE_ORIENTATION_270) ||
+                       (rotate_mode == APP_DEVICE_ORIENTATION_90)) {
+               if (ad->pinchinfo.zoom_level == GL_ZOOM_IN_TWO) {
+                       items_per_row = GL_GRID_6_PER_ROW;
+               } else if (ad->pinchinfo.zoom_level == GL_ZOOM_IN_ONE) {
+                       items_per_row = GL_GRID_7_PER_ROW;
+               } else if (ad->pinchinfo.zoom_level == GL_ZOOM_DEFAULT) {
+                       items_per_row = GL_GRID_10_PER_ROW;
+               } else {
+                       items_per_row = GL_GRID_7_PER_ROW;
+               }
+       } else {
+               if (ad->pinchinfo.zoom_level == GL_ZOOM_IN_TWO) {
+                       items_per_row = GL_GRID_3_PER_ROW;
+               } else if (ad->pinchinfo.zoom_level == GL_ZOOM_IN_ONE) {
+                       items_per_row = GL_GRID_4_PER_ROW;
+               } else if (ad->pinchinfo.zoom_level == GL_ZOOM_DEFAULT) {
+                       items_per_row = GL_GRID_8_PER_ROW;
+               } else {
+                       items_per_row = GL_GRID_4_PER_ROW;
+               }
+       }
+       return items_per_row;
+}
+
+char *_gl_time_get_genlist_style(void *data)
+{
+       GL_CHECK_VAL(data, NULL);
+       gl_appdata *ad = (gl_appdata *)data;
+       int rotate_mode = ad->maininfo.rotate_mode;
+       int items_per_row = 0;
+       int height = 0;
+       int win_w = 0;
+       int win_h = 0;
+       char *style = NULL;
+       _gl_get_win_factor(ad->maininfo.win, &win_w, &win_h);
+       if (_gl_is_timeline_edit_mode(data)) {
+               ad->pinchinfo.zoom_level = GL_ZOOM_IN_ONE;
+       }
+       if ((rotate_mode == APP_DEVICE_ORIENTATION_270) ||
+                       (rotate_mode == APP_DEVICE_ORIENTATION_90)) {
+               if (ad->pinchinfo.zoom_level == GL_ZOOM_IN_TWO) {
+                       items_per_row = GL_GRID_6_PER_ROW;
+               } else if (ad->pinchinfo.zoom_level == GL_ZOOM_IN_ONE) {
+                       items_per_row = GL_GRID_7_PER_ROW;
+               } else if (ad->pinchinfo.zoom_level == GL_ZOOM_DEFAULT) {
+                       items_per_row = GL_GRID_10_PER_ROW;
+               } else {
+                       items_per_row = GL_GRID_7_PER_ROW;
+               }
+               height = ceil((double)win_h/items_per_row);
+       } else {
+               if (ad->pinchinfo.zoom_level == GL_ZOOM_IN_TWO) {
+                       items_per_row = GL_GRID_3_PER_ROW;
+               } else if (ad->pinchinfo.zoom_level == GL_ZOOM_IN_ONE) {
+                       items_per_row = GL_GRID_4_PER_ROW;
+               } else if (ad->pinchinfo.zoom_level == GL_ZOOM_DEFAULT) {
+                       items_per_row = GL_GRID_8_PER_ROW;
+               } else {
+                       items_per_row = GL_GRID_4_PER_ROW;
+               }
+               height = ceil((double)win_w/items_per_row);
+       }
+       style = g_strdup_printf(GL_TL_CONTENT_FORMAT,height);
+
+       return style;
+}
+
+
+int _gl_timeline_create_grid_view(gl_timeline_s *timeline_d, Evas_Object *genlist, bool update)
+{
+       GL_CHECK_VAL(timeline_d, -1);
+       int item_cnt = 0;
+       int ret = -1;
+       int i = 0;
+       int k = 0;
+
+       /* Check media-content to show */
+       ret = _gl_data_get_item_cnt(GL_ALBUM_ALL_ID, GL_STORE_T_ALL, &item_cnt);
+       if (ret != 0 || item_cnt == 0)
+               gl_dbgE("Empty!");
+
+       Eina_List *list = NULL;
+       if (!update) {
+               _gl_data_get_items(-1, -1, &list);
+               _gl_time_finialize_media_data(timeline_d);
+               if (timeline_d->view_m == GL_TL_VIEW_EDIT) {
+                       _gl_time_update_selected_media(timeline_d, list);
+               }
+               timeline_d->data_list = list;
+               timeline_d->delete_data = false;
+       } else {
+               list = timeline_d->data_list;
+               timeline_d->delete_data = false;
+       }
+
+       if (list == NULL) {
+               __gl_timelne_show_nocontents(timeline_d);
+               elm_naviframe_item_title_enabled_set(timeline_d->nf_it, EINA_FALSE, EINA_FALSE);
+               return -1;
+       } else {
+               __gl_timelne_del_nocontents(timeline_d);
+               elm_naviframe_item_title_enabled_set(timeline_d->nf_it, EINA_TRUE, EINA_TRUE);
+       }
+       if ((!update || !timeline_d->is_list_reverse) && timeline_d->time_media_display_order == TIME_ORDER_ASC) {
+               list = eina_list_reverse(list);
+               timeline_d->is_list_reverse = true;
+       } else if (timeline_d->is_list_reverse && timeline_d->time_media_display_order == TIME_ORDER_DESC) {
+               list = eina_list_reverse(list);
+               timeline_d->is_list_reverse = false;
+       }
+
+       item_cnt = eina_list_count(list);
+       timeline_d->count = item_cnt;
+       struct tm ct;
+       time_t ctime = 0;
+       memset(&ct, 0x00, sizeof(struct tm));
+       time(&ctime);
+       localtime_r(&ctime, &ct);
+       gl_media_s *item = NULL;
+       char *style_name = NULL;
+
+       Elm_Genlist_Item_Class *pGenGridItc;
+       Elm_Genlist_Item_Class *pGenGridZoomItc;
+       pGenGridItc = elm_genlist_item_class_new();
+       if (!pGenGridItc) {
+               gl_dbg("failed to create genlist item class");
+               return -1;
+       }
+
+       style_name = _gl_time_get_genlist_style(timeline_d->ad);
+
+       pGenGridItc->item_style = style_name;
+       pGenGridItc->func.text_get = NULL;
+       pGenGridItc->func.content_get =
+                       (void *) __gl_get_icon_of_grid_cb;
+       pGenGridItc->func.state_get = NULL;
+       pGenGridItc->func.del = NULL;
+       pGenGridItc->decorate_item_style = NULL;
+
+       pGenGridZoomItc = elm_genlist_item_class_new();
+       if (!pGenGridZoomItc) {
+               gl_dbg("failed to create genlist item class");
+               elm_genlist_item_class_free(pGenGridItc);
+               return -1;
+       }
+
+       pGenGridZoomItc->item_style = "genlist_group_date";
+       pGenGridZoomItc->func.text_get = __gl_time_date_get_text;
+       pGenGridZoomItc->func.content_get = NULL;
+       pGenGridZoomItc->func.state_get = NULL;
+       pGenGridZoomItc->func.del = NULL;
+
+       evas_object_data_set(genlist, "data", (void *)timeline_d);
+       int number_of_items_on_particular_date = -1;
+       int items_per_row = 0;
+       int number_of_rows = 0;
+       Elm_Object_Item *it = NULL;
+       int item_index = 0;
+
+       char *text = NULL;
+       for (i = 0; i < item_cnt; i++) {
+               item = eina_list_nth(list, i);
+
+               number_of_items_on_particular_date = _get_count_of_items_on_same_date(item, list, &text, i+1);
+               items_per_row = _gl_time_get_number_of_items_per_row(timeline_d->ad);
+               if (items_per_row < 0) {
+                       items_per_row = 4;
+               }
+               number_of_rows = ceil((double)number_of_items_on_particular_date/items_per_row);
+               it = elm_genlist_item_append(genlist, pGenGridZoomItc, (void*)text, NULL, ELM_GENLIST_ITEM_TREE, NULL, NULL);
+
+               for (k = 0; k < number_of_rows; k++) {
+                       elm_genlist_item_append(genlist, pGenGridItc, (void*)item_index, it, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+                       if (((k * items_per_row) + items_per_row) <= number_of_items_on_particular_date) {
+                               item_index = item_index + items_per_row;
+                       } else {
+                               int temp = ((k * items_per_row) + items_per_row) - number_of_items_on_particular_date;
+                               item_index = item_index + items_per_row - temp;
+                       }
+               }
+               i = (i + number_of_items_on_particular_date) - 1;
+       }
+       elm_genlist_item_class_free(pGenGridItc);
+       elm_genlist_item_class_free(pGenGridZoomItc);
+
+       return 0;
+}
+
+Evas_Object *_gl_box_add(Evas_Object *parent)
+{
+       Evas_Object *box = NULL;
+       box = elm_box_add(parent);
+       elm_box_align_set(box,0.0, 0.0);
+       evas_object_show(box);
+
+       return box;
+}
+
+static void __gl_timeline_genlist_move_cb(void *data, Evas_Object *obj, void *ei)
+{
+       GL_CHECK(data);
+       gl_dbg("");
+       gl_timeline_s *timeline_d = (gl_timeline_s *)data;
+
+       if (timeline_d->realized_item) {
+               Evas_Object *grid = elm_object_item_part_content_get(timeline_d->realized_item, "elm.swallow");
+               if (grid) {
+                       Elm_Object_Item *it = elm_gengrid_first_item_get(grid);
+                       if (it) {
+                               gl_media_s *item = (gl_media_s *)elm_object_item_data_get(it);
+                               char *text1 = NULL;
+                               char *text2 = NULL;
+                               struct tm t1;
+                               struct tm t2;
+                               struct tm ct;
+                               time_t ctime = 0;
+                               memset(&ct, 0x00, sizeof(struct tm));
+                               time(&ctime);
+                               localtime_r(&ctime, &ct);
+                               time_t mtime1 = 0;
+                               time_t mtime2 = 0;
+                               mtime1 = item->mtime;
+                               mtime2 = item->mtime;
+
+                               __gl_timeline_get_tm(mtime1, mtime2, &t1, &t2);
+                               __gl_timeline_get_mtime_str(t1, ct, &text1, &text2);
+
+                               if (text1) {
+                                       if (timeline_d->date_layout) {
+                                               elm_object_part_text_set(timeline_d->date_layout, "text", text1);
+                                               elm_object_part_content_set(timeline_d->parent, "elm.swallow.date.layout", timeline_d->date_layout);
+                                       }
+                               }
+                       }
+               }
+       }
+}
+
+static void __gl_timeline_genlist_move_stop_cb(void *data, Evas_Object *obj, void *ei)
+{
+       gl_dbg("Entry");
+       GL_CHECK(data);
+       gl_timeline_s *timeline_d = (gl_timeline_s *)data;
+       if (timeline_d->date_layout) {
+               elm_object_part_content_unset(timeline_d->parent, "elm.swallow.date.layout");
+               evas_object_hide(timeline_d->date_layout);
+       }
+       gl_dbg("Exit");
+}
+
+Evas_Object *_gl_genlist_add(Evas_Object *parent)
+{
+       Evas_Object *genlist = NULL;
+       genlist = elm_genlist_add(parent);
+       elm_object_style_set(genlist, "handler");
+       evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL, EVAS_HINT_FILL);
+       evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+       elm_scroller_bounce_set(genlist, EINA_FALSE, EINA_TRUE);
+       elm_scroller_policy_set(genlist, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO);
+       elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS);
+       elm_scroller_single_direction_set(genlist, ELM_SCROLLER_SINGLE_DIRECTION_HARD);
+       evas_object_show(genlist);
+
+       return genlist;
+}
+
+static void __gl_timeline_genlist_realized(void *data, Evas_Object *obj, void *ei)
+{
+       gl_dbg("realize_gl_timeline_create_grid_viewd");
+       GL_CHECK(ei);
+       GL_CHECK(data);
+       gl_timeline_s *timeline_d = (gl_timeline_s *)data;
+       Elm_Object_Item *it = (Elm_Object_Item *)ei;
+       timeline_d->realized_item = it;
+}
+
+static Evas_Object *__gl_timeline_create_list_view(gl_timeline_s *timeline_d, bool update)
+{
+       GL_CHECK_NULL(timeline_d);
+       Evas_Object *genlist = NULL;
+       Evas_Object *layout = NULL;
+
+       if (timeline_d->view) {
+               evas_object_del(timeline_d->view);
+       }
+
+       genlist = _gl_genlist_add(timeline_d->parent);
+       GL_CHECK_NULL(genlist);
+       evas_object_smart_callback_add(genlist, "vbar,drag", __gl_timeline_genlist_move_cb, timeline_d);
+       evas_object_smart_callback_add(genlist, "scroll,anim,stop", __gl_timeline_genlist_move_stop_cb, timeline_d);
+       evas_object_smart_callback_add(genlist, "scroll,drag,stop", __gl_timeline_genlist_move_stop_cb, timeline_d);
+       evas_object_smart_callback_add(genlist, "realized", __gl_timeline_genlist_realized, timeline_d);
+
+       layout = elm_layout_add(timeline_d->parent);
+       GL_CHECK_NULL(layout);
+       elm_layout_file_set(layout, GL_EDJ_FILE, "timeline_gridview_date_toast");
+       timeline_d->date_layout = layout;
+
+       if (_gl_timeline_create_grid_view(timeline_d, genlist, update) < 0) {
+               return NULL;
+       }
+
+       return genlist;
+}
+
+#if 0
+static int __gl_timeline_page_rand(gl_timeline_s *timeline_d)
+{
+       GL_CHECK_VAL(timeline_d, -1);
+       int item_cnt = timeline_d->count;
+       int i = 0;
+       gl_tlp_s *it_d = NULL;
+       int index = 0;
+
+       GL_TL_CLEAR_PAGES(timeline_d, true);
+
+       srand(time(NULL));
+       int cnt = 0;
+       bool b_new_count = false;
+       int list_cnt = eina_list_count(timeline_d->count_list);
+       gl_dbg("list_cnt: %d", list_cnt);
+
+       for (i = 0; i < item_cnt;) {
+               it_d = (gl_tlp_s *)calloc(1, sizeof(gl_tlp_s));
+               timeline_d->list = eina_list_append(timeline_d->list, it_d);
+               it_d->timeline_d = timeline_d;
+               if (list_cnt > index) {
+                       /* Reuse count of page */
+                       cnt = (int)eina_list_nth(timeline_d->count_list,
+                                                index);
+               } else {
+                       /* Add new random count */
+                       cnt = 1 + rand() % 5;
+                       b_new_count = true;
+               }
+
+               it_d->count = __gl_timeline_update_tiles_cnt(timeline_d->zoom_level,
+                                                            cnt);
+               it_d->index = index++;
+               it_d->start_pos = i;
+               /* Refer to first item of next loop */
+               i += it_d->count;
+               it_d->end_pos = i - 1;
+               /* Reset count and end_pos of last page */
+               if (timeline_d->zoom_level != GL_TM_ZOOM_OUT_TWO &&
+                   i >= item_cnt) {
+                       it_d->end_pos = item_cnt - 1;
+                       it_d->count = it_d->end_pos - it_d->start_pos + 1;
+                       if (b_new_count)
+                               timeline_d->count_list = eina_list_append(timeline_d->count_list,
+                                                                         (void *)it_d->count);
+                       break;
+               }
+               if (b_new_count)
+                       timeline_d->count_list = eina_list_append(timeline_d->count_list,
+                                                                 (void *)it_d->count);
+               it_d = NULL;
+       }
+       return 0;
+}
+
+static int __gl_timeline_update_view(gl_timeline_s *timeline_d, bool b_first)
+{
+       GL_CHECK_VAL(timeline_d, -1);
+       int item_cnt = 0;
+       time_t last_mtime = 0;
+       int ret = -1;
+
+       /* Check media-content to show */
+       ret = _gl_data_get_item_cnt(GL_ALBUM_ALL_ID, GL_STORE_T_ALL, &item_cnt);
+       if (ret != 0 || item_cnt == 0)
+               gl_dbgE("Empty!");
+
+       Eina_List *list = NULL;
+       _gl_data_get_items(0, 0, &list);
+       if (list == NULL) {
+               GL_TL_CLEAR_PAGES(timeline_d, true);
+               __gl_timelne_show_nocontents(timeline_d);
+               elm_naviframe_item_title_enabled_set(timeline_d->nf_it, EINA_FALSE, EINA_FALSE);
+               return -1;
+       } else {
+               __gl_timelne_del_nocontents(timeline_d);
+               elm_naviframe_item_title_enabled_set(timeline_d->nf_it, EINA_TRUE, EINA_TRUE);
+       }
+
+       gl_media_s *item = eina_list_nth(list, 0);
+       if (item)
+               last_mtime = item->mtime;
+
+       item = NULL;
+       EINA_LIST_FREE(list, item) {
+               _gl_data_type_free_glitem((void **)(&item));
+               item = NULL;
+       }
+
+       if (!b_first) {
+               if (last_mtime == timeline_d->last_mtime &&
+                   item_cnt == timeline_d->count) {
+                       gl_dbgW("Nothing changed!");
+                       evas_object_show(timeline_d->view); /* To show slide items */
+                       __gl_timeline_show_tiles_trans(timeline_d);
+                       return -1;
+               }
+       }
+
+       timeline_d->count = item_cnt;
+       timeline_d->last_mtime = last_mtime;
+       /* Set rand image count for each page */
+       __gl_timeline_page_rand(timeline_d);
+       /* Reset zoom level for overscrolling showing in slider */
+       if (timeline_d->zoom_level == GL_TM_ZOOM_DEFAULT)
+               _gl_slider_set_zlevel(timeline_d->view, GL_SLIDE_ZLEVEL_MAX);
+       else if (timeline_d->zoom_level == GL_TM_ZOOM_DEFAULT)
+               _gl_slider_set_zlevel(timeline_d->view, GL_SLIDE_ZLEVEL_MIN);
+       else
+               _gl_slider_set_zlevel(timeline_d->view, GL_SLIDE_ZLEVEL_MID);
+
+       _gl_slider_set_list(timeline_d->view, timeline_d->list, 0);
+       evas_object_show(timeline_d->view); /* To show slide items */
+       if (timeline_d->b_created)
+               _gl_slider_start(timeline_d->view);
+       return 0;
+}
+#endif
+
+/* Free data after layout deleted */
+static void __gl_timeline_del_layout_cb(void *data, Evas *e, Evas_Object *obj,
+                                       void *ei)
+{
+       gl_dbg("Delete timeline layout ---");
+       evas_object_data_del(obj, "page_w");
+       evas_object_data_del(obj, "page_h");
+       if (data) {
+               gl_timeline_s *timeline_d = (gl_timeline_s *)data;
+               GL_IF_DEL_ANIMATOR(timeline_d->animator);
+               GL_IF_FREE_ELIST(timeline_d->count_list);
+               GL_IF_FREE_ELIST(timeline_d->thumbs);
+               if (timeline_d->album) {
+                       _gl_data_util_free_gcluster(timeline_d->album);
+                       timeline_d->album = NULL;
+               }
+               __gl_timeline_clear_sel_list(timeline_d);
+               GL_GFREEIF(timeline_d->sel_d);
+               _gl_time_finialize_media_data(timeline_d);
+               GL_FREE(data);
+       }
+       gl_dbg("Delete timeline layout +++");
+}
+
+static int __gl_timeline_add_cbs(gl_timeline_s *timeline_d)
+{
+       GL_CHECK_VAL(timeline_d, -1);
+       GL_CHECK_VAL(timeline_d->ad, -1);
+
+       /* Add callback for title updating */
+       __gl_timeline_add_title_trans_finished_cbs(timeline_d, true);
+       /* Register delete callback */
+       evas_object_event_callback_add(timeline_d->layout, EVAS_CALLBACK_DEL,
+                                      __gl_timeline_del_layout_cb, timeline_d);
+       evas_object_event_callback_add(timeline_d->layout, EVAS_CALLBACK_RESIZE,
+                                      __gl_timeline_resize_layout_cb,
+                                      timeline_d);
+       int bx = 0;
+       int by = 0;
+       int bw = 0;
+       int bh = 0;
+       evas_object_geometry_get(timeline_d->ad->maininfo.naviframe, &bx, &by,
+                                &bw, &bh);
+       gl_dbg("naviframe. (%d,%d,%d,%d)", bx, by, bw, bh);
+       evas_object_geometry_get(timeline_d->layout, &bx, &by, &bw, &bh);
+       gl_dbg("layout. (%d,%d,%d,%d)", bx, by, bw, bh);
+       return 0;
+}
+
+#ifdef SUPPORT_SLIDESHOW
+static int __gl_timeline_start_slideshow(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       ad->gridinfo.grid_type = GL_GRID_T_ALLALBUMS;
+
+       Eina_List *list = NULL;
+       gl_item *gitem = NULL;
+       gl_media_s *item = NULL;
+       _gl_data_get_items(GL_FIRST_VIEW_START_POS,
+                          GL_FIRST_VIEW_START_POS, &list);
+       if (list != NULL) {
+               item = (gl_media_s *)eina_list_nth(list, 0);
+               GL_IF_FREE_ELIST(list);
+               gitem = _gl_data_new_item_mitem(item);
+               GL_CHECK_VAL(gitem, -1);
+               gl_ext_load_iv_ug(data, gitem, GL_UG_IV_SLIDESHOW_ALL);
+               _gl_data_util_free_gitem(gitem);
+       }
+       return 0;
+}
+
+static int __gl_timeline_slideshow(void *data, const char *label)
+{
+       GL_CHECK_VAL(label, -1);
+       GL_CHECK_VAL(data, -1);
+       gl_dbg("label : %s ", label);
+       gl_appdata *ad = (gl_appdata *)data;
+
+       if (!g_strcmp0(label, _gl_str(GL_STR_ID_ALL_ITEMS))) {
+               __gl_timeline_start_slideshow(data);
+       } else if (!g_strcmp0(label, _gl_str(GL_STR_ID_SETTINGS))) {
+               evas_object_data_set(ad->maininfo.naviframe,
+                                    GL_NAVIFRAME_SLIDESHOW_DATA_KEY,
+                                    __gl_timeline_start_slideshow);
+               gl_ext_load_ug(data, GL_UG_GALLERY_SETTING_SLIDESHOW);
+       } else if (!g_strcmp0(label, _gl_str(GL_STR_ID_SELECT_ITEMS))) {
+#ifdef _USE_APP_SLIDESHOW
+               __gl_timeline_edit(data);
+               evas_object_data_set(ad->maininfo.naviframe,
+                                    GL_NAVIFRAME_SELECTED_SLIDESHOW_KEY,
+                                    gl_pop_to_ctrlbar_ly);
+#else
+               _gl_ext_launch_gallery_ug(data);
+#endif
+       } else {
+               gl_dbgE("Invalid lable!");
+               return -1;
+       }
+       return 0;
+}
+
+static void __gl_timeline_slideshow_cb(void *data, Evas_Object *obj, void *ei)
+{
+       GL_CHECK(data);
+       _gl_ctxpopup_del(data);
+       _gl_popup_create_slideshow(data, __gl_timeline_slideshow);
+}
+#endif
+
+#ifdef _USE_APP_SLIDESHOW
+static Eina_Bool __gl_timeline_edit_cancel_cb(void *data, Elm_Object_Item *it)
+{
+       GL_CHECK_FALSE(data);
+       gl_dbg("");
+       gl_set_view_mode(data, GL_VIEW_TIMELINE);
+       gl_appdata *ad = (gl_appdata *)data;
+       if (_gl_timeline_update_view(data) < 0) {
+               if (ad->tlinfo->nocontents == NULL) {
+                       ad->tlinfo->tran_op = GL_TRANS_OP_DEFAULT;
+                       _gl_slider_update_first_item(ad->tlinfo->view);
+               }
+
+       }
+       return EINA_TRUE;
+}
+
+static int __gl_timeline_edit(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       int item_cnt = 0;
+       int ret = -1;
+
+       ret = _gl_data_get_item_cnt(GL_ALBUM_ALL_ID, GL_STORE_T_ALL, &item_cnt);
+       if (ret != 0 || item_cnt == 0) {
+               gl_dbgE("Empty!");
+               return -1;
+       }
+
+       if (ad->tlinfo->album == NULL)
+               ad->tlinfo->album = _gl_data_util_new_gcluster_all(data,
+                                                                  item_cnt);
+       GL_CHECK_VAL(ad->tlinfo->album, -1);
+       _gl_albums_set_current(data, ad->tlinfo->album);
+       Eina_List *medias_elist = NULL;
+       _gl_data_get_items_album(data, ad->tlinfo->album,
+                                GL_FIRST_VIEW_START_POS, GL_FIRST_VIEW_END_POS,
+                                &medias_elist);
+       _gl_thumbs_set_list(ad, medias_elist);
+       _gl_thumbs_set_edit_mode(data, GL_THUMBS_EDIT_SLIDESHOW);
+       _gl_thumbs_create_view(data, GL_NAVI_THUMBS, GL_STR_ID_ALL_ALBUMS, true,
+                              __gl_timeline_edit_cancel_cb);
+
+       gl_dbg("Done edit");
+       return 0;
+}
+#endif
+
+void __gl_timeline_desc_mode_set(void *data) {
+       gl_dbg("ENTRY");
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       if (ad->tlinfo->time_media_display_order == TIME_ORDER_DESC) {
+               gl_dbg("EXIT 1");
+               return;
+       }
+       ad->tlinfo->time_media_display_order = TIME_ORDER_DESC;
+       __gl_update_timeline(ad);
+}
+
+void __gl_timeline_asc_mode_set(void *data) {
+       gl_dbg("ENTRY");
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       if (ad->tlinfo->time_media_display_order == TIME_ORDER_ASC) {
+               gl_dbg("EXIT 1");
+               return;
+       }
+       ad->tlinfo->time_media_display_order = TIME_ORDER_ASC;
+       __gl_update_timeline(ad);
+}
+
+static void __gl_timeline_sort_cb(void *data, Evas_Object *obj, void *ei)
+{
+       gl_dbg("ENTRY");
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       int state_index = -1;
+       state_index = ad->tlinfo->time_media_display_order == TIME_ORDER_ASC ? 1 : 0;
+       _gl_list_pop_create(data, obj, ei, GL_STR_SORT, GL_STR_DATE_MOST_RECENT, GL_STR_DATE_OLDEST, state_index);
+       gl_dbg("EXIT");
+}
+
+static void __gl_timeline_edit_cb(void *data, Evas_Object *obj, void *ei)
+{
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       _gl_ctxpopup_del(data);
+       if (ad->uginfo.ug) {
+               /**
+               * Prevent changed to edit view in wrong way.
+               * 1. When invoke imageviewer UG;
+               */
+               gl_dbgW("UG invoked!");
+               return;
+       }
+       __gl_timeline_change_mode(data, GL_TL_VIEW_EDIT);
+}
+
+static void __gl_albums_viewas_pop_cb(void *data, Evas_Object *obj, void *ei)
+{
+       gl_dbg("ENTRY");
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       int state_index = 1; // default is album
+       int view_mode = gl_get_view_mode(ad);
+       if (view_mode == GL_VIEW_TIMELINE) {
+               state_index = 0;
+       } else if (view_mode == GL_VIEW_ALBUMS) {
+               state_index = 1;
+       }
+       _gl_list_pop_create(data, obj, ei, GL_STR_ID_VIEW_AS, GL_STR_TIME_VIEW, GL_STR_ALBUMS, state_index);
+       gl_dbg("EXIT");
+}
+
+#if 0
+static void __gl_timeline_share_cb(void *data, Evas_Object *obj, void *ei)
+{
+       GL_CHECK(data);
+       _gl_ctxpopup_del(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       if (ad->uginfo.ug) {
+               /**
+               * Prevent changed to edit view in wrong way.
+               * 1. When invoke imageviewer UG;
+               */
+               gl_dbgW("UG invoked!");
+               return;
+       }
+       __gl_timeline_change_mode(data, GL_TL_VIEW_SHARE);
+}
+#endif
+
+/* 'Delete medias' is available in Dali view */
+static int __gl_timeline_del_op(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_CHECK_VAL(ad->tlinfo, -1);
+       gl_timeline_s *timeline_d = ad->tlinfo;
+       GL_CHECK_VAL(timeline_d->sel_d, -1);
+       int i = 0;
+       int popup_op = GL_POPUP_OP_NONE;
+       char *item = NULL;
+       int ret = -1;
+
+       EINA_LIST_FREE(timeline_d->sel_d->sel_list, item) {
+               i++;
+               if (item) {
+                       ret = _gl_del_media_by_id(data, (const char *)item);
+                       if (ret != 0)
+                               gl_dbgE("Get media failed[%d]!", ret);
+                       item = NULL;
+               }
+
+               gl_dbg("Write pipe, make progressbar updated!");
+               gl_thread_write_pipe(ad, i, popup_op);
+               popup_op = GL_POPUP_OP_NONE;
+       }
+       timeline_d->sel_d->sel_list = NULL;
+       return 0;
+}
+
+/* Update view after deleting process done */
+static int __gl_timeline_update_del_view(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_dbgW("");
+
+       __gl_timeline_change_mode(data, GL_TL_VIEW_NORMAL);
+       /* Update view */
+       _gl_timeline_update_view(data);
+       /* Add notification */
+       _gl_notify_create_notiinfo(GL_STR_DELETED);
+       /* Add albums list */
+       _gl_update_albums_list(data);
+       _gl_db_update_lock_always(data, false);
+       return 0;
+}
+
+#if 0
+static int __gl_timeline_get_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->tlinfo, -1);
+       gl_timeline_s *timeline_d = ad->tlinfo;
+       GL_CHECK_VAL(timeline_d->sel_d, -1);
+       GString *selected_path_list = g_string_new(NULL);
+       int selected_item_cnt = 0;
+       Eina_List *l = NULL;
+       char *item = NULL;
+       int ret = -1;
+       char *path = NULL;
+
+       EINA_LIST_FOREACH(timeline_d->sel_d->sel_list, l, item) {
+               if (item == NULL) {
+                       gl_dbgE("Invalid item!");
+                       goto GL_TL_FAILED;
+               }
+
+               ret = _gl_local_data_get_path_by_id((const char *)item, &path);
+               if (ret != 0 || !path) {
+                       gl_dbgE("Get path failed[%d]!", ret);
+                       goto GL_TL_FAILED;
+               }
+
+               if (strstr(selected_path_list->str, path)) {
+                       gl_dbgW("Already appended!");
+               } else {
+                       selected_item_cnt++;
+                       g_string_append(selected_path_list, path);
+                       g_string_append_c(selected_path_list, sep_c);
+               }
+               GL_FREE(path);
+       }
+       gl_dbg("Selected items count: %d.", selected_item_cnt);
+       if (sel_cnt)
+               *sel_cnt = selected_item_cnt;
+       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;
+
+ GL_TL_FAILED:
+
+       if (selected_path_list) {
+               g_string_free(selected_path_list, true);
+               selected_path_list = NULL;
+       }
+       GL_FREEIF(path);
+       return -1;
+}
+
+/* To launch Image-editor*/
+static void __gl_timeline_ie_cb(void *data, Evas_Object *obj, void *ei)
+{
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       gl_dbg("");
+
+       if (ad->uginfo.ug || ad->uginfo.b_app_called) {
+               gl_dbgW("UG or APP is already loaded!");
+               return;
+       }
+       _gl_ctxpopup_del(data);
+
+       GL_CHECK(ad->tlinfo);
+       gl_timeline_s *timeline_d = ad->tlinfo;
+       if (__gl_timeline_get_sel_cnt(timeline_d) == 0) {
+               gl_dbgW("No thumbs selected!");
+               gl_popup_create_popup(ad, GL_POPUP_NOBUT,
+                                     GL_STR_NO_FILES_SELECTED);
+               return;
+       }
+
+       _gl_ext_load_ie(data, __gl_timeline_get_path_str);
+       /* Change to normal mode */
+       __gl_timeline_change_mode(data, GL_TL_VIEW_NORMAL);
+}
+
+/* 'Move medias' is only available in tab Albums */
+static int __gl_timeline_move_copy_op(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_CHECK_VAL(ad->tlinfo, -1);
+       gl_timeline_s *timeline_d = ad->tlinfo;
+       GL_CHECK_VAL(timeline_d->sel_d, -1);
+       int i = 0;
+       int popup_op = GL_POPUP_OP_NONE;
+       char *item = NULL;
+
+       EINA_LIST_FREE(timeline_d->sel_d->sel_list, item) {
+               i++;
+               if (item) {
+                       gl_sdbg("Selected [%s]", item);
+                       if (ad->maininfo.medias_op_type == GL_MEDIA_OP_COPY_TIMELINE) {
+                               if (_gl_move_media_thumb_by_id(data, (const char *)item, ad->albuminfo.dest_folder, &popup_op, GL_MC_COPY) != 0)
+                                       gl_dbg("Failed to copy this item");
+                       } else if (ad->maininfo.medias_op_type == GL_MEDIA_OP_MOVE_TIMELINE) {
+                               if (_gl_move_media_thumb_by_id(data, (const char *)item, ad->albuminfo.dest_folder, &popup_op, GL_MC_MOVE) != 0)
+                                       gl_dbg("Failed to move this item");
+                       } else {
+                               gl_dbgE("Wrong mode!");
+                       }
+                       item = NULL;
+               }
+
+               gl_dbg("Write pipe, make progressbar updated!");
+               gl_thread_write_pipe(ad, i, popup_op);
+               popup_op = GL_POPUP_OP_NONE;
+       }
+       timeline_d->sel_d->sel_list = NULL;
+       return 0;
+}
+
+/* Update view after moving process done */
+static int __gl_timeline_update_move_copy_view(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+
+       gl_appdata *ad = (gl_appdata *)data;
+       const char *noti_str = NULL;
+       if (ad->maininfo.medias_op_type == GL_MEDIA_OP_COPY_TIMELINE) {
+               noti_str = GL_STR_COPIED;
+       } else if (ad->maininfo.medias_op_type == GL_MEDIA_OP_MOVE_TIMELINE) {
+               noti_str = GL_STR_MOVED;
+       } else {
+               gl_dbgE("Wrong mode!");
+       }
+       if (noti_str)
+               _gl_notify_create_notiinfo(noti_str);
+       elm_naviframe_item_pop_to(ad->tlinfo->nf_it);
+       __gl_timeline_change_mode(data, GL_TL_VIEW_NORMAL);
+       /* Update view */
+       _gl_timeline_update_view(data);
+       /* Update albums list and items list */
+       _gl_update_albums_list(ad);
+       _gl_db_update_lock_always(data, false);
+       return 0;
+}
+
+static int __gl_timeline_move_copy(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       char folder_fullpath[GL_DIR_PATH_LEN_MAX] = { 0, };
+       GL_CHECK_VAL(ad->tlinfo, -1);
+       gl_timeline_s *timeline_d = ad->tlinfo;
+       int cnt = __gl_timeline_get_sel_cnt(timeline_d);
+       gl_dbg("");
+
+       _gl_db_update_lock_always(data, true);
+       /**
+        * 'move_album_id == NULL' is new album case,
+        * other move/save to some existed album.
+        */
+       if (ad->albuminfo.path == NULL) {
+               gl_dbg("New album");
+               if (gl_make_new_album(ad->albuminfo.new_name) != 0) {
+                       gl_popup_create_popup(ad, GL_POPUP_NOBUT,
+                                             GL_STR_SAME_NAME_ALREADY_IN_USE);
+                       gl_dbgE("Failed to make a new directory!");
+                       goto GL_FAILED;
+               }
+               snprintf(folder_fullpath, GL_DIR_PATH_LEN_MAX, "%s/%s",
+                        GL_DEFAULT_PATH_IMAGES, ad->albuminfo.new_name);
+       } else {
+               g_strlcpy(folder_fullpath, ad->albuminfo.path,
+                         GL_DIR_PATH_LEN_MAX);
+               GL_FREE(ad->albuminfo.path);
+       }
+
+       memset(ad->albuminfo.dest_folder, 0x00, GL_DIR_PATH_LEN_MAX);
+       g_strlcpy(ad->albuminfo.dest_folder, folder_fullpath,
+                 GL_DIR_PATH_LEN_MAX);
+
+       /* Check MMC state for cancel operation */
+       gl_check_mmc_state(ad, folder_fullpath);
+       gl_dbg("MMC state: %d.", ad->maininfo.mmc_state);
+       _gl_set_file_op_cbs(data, __gl_timeline_move_copy_op, NULL,
+                           __gl_timeline_update_move_copy_view, cnt);
+
+       if (ad->albuminfo.file_mc_mode == GL_MC_MOVE)
+               _gl_use_thread_operate_medias(ad, GL_STR_ID_MOVING, cnt,
+                                             GL_MEDIA_OP_MOVE_TIMELINE);
+       else if (ad->albuminfo.file_mc_mode == GL_MC_COPY)
+               _gl_use_thread_operate_medias(ad, GL_STR_ID_COPYING, cnt,
+                                             GL_MEDIA_OP_COPY_TIMELINE);
+       else
+               gl_dbgE("Wrong mode!");
+       return 0;
+
+ GL_FAILED:
+
+       /* Update the label text */
+       _gl_ui_update_navi_title_text(timeline_d->nf_it, cnt, false);
+       __gl_timeline_check_btns_state(timeline_d, timeline_d->count, cnt);
+       _gl_db_update_lock_always(data, false);
+       return -1;
+}
+
+/* move media to album in edit view */
+static void __gl_timeline_move_cb(void *data, Evas_Object *obj, void *ei)
+{
+       elm_toolbar_item_selected_set((Elm_Object_Item *)ei, EINA_FALSE);
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_CHECK(ad->tlinfo);
+       gl_timeline_s *timeline_d = ad->tlinfo;
+       gl_dbg("");
+
+       if (__gl_timeline_get_sel_cnt(timeline_d) == 0) {
+               gl_dbgW("No thumbs selected!");
+               gl_popup_create_popup(data, GL_POPUP_NOBUT,
+                                     GL_STR_NO_FILES_SELECTED);
+               return;
+       }
+
+       ad->albuminfo.file_mc_mode = GL_MC_MOVE;
+       _gl_popup_create_move(data, __gl_timeline_move_copy);
+}
+
+/* move media to album in edit view */
+static void __gl_timeline_copy_cb(void *data, Evas_Object *obj, void *ei)
+{
+       GL_CHECK(data);
+       _gl_ctxpopup_del(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_CHECK(ad->tlinfo);
+       gl_timeline_s *timeline_d = ad->tlinfo;
+       gl_dbg("");
+
+       if (__gl_timeline_get_sel_cnt(timeline_d) == 0) {
+               gl_dbgW("No thumbs selected!");
+               gl_popup_create_popup(data, GL_POPUP_NOBUT,
+                                     GL_STR_NO_FILES_SELECTED);
+               return;
+       }
+
+       ad->albuminfo.file_mc_mode = GL_MC_COPY;
+       _gl_popup_create_copy(data, __gl_timeline_move_copy);
+}
+#endif
+
+#ifdef _USE_ROTATE_BG
+static int __gl_timeline_rotate_op(void *data)
+{
+#define GL_ROTATE_DELAY 0.25
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_CHECK_VAL(ad->tlinfo, -1);
+       gl_timeline_s *timeline_d = ad->tlinfo;
+       GL_CHECK_VAL(timeline_d->sel_d, -1);
+       int i = 0;
+       int popup_op = GL_POPUP_OP_NONE;
+       int ret = -1;
+       bool b_left = false;
+       char *item = NULL;
+       int cnt = __gl_timeline_get_sel_cnt(timeline_d);
+
+       if (ad->maininfo.medias_op_type == GL_MEDIA_OP_ROTATING_LEFT_TIMELINE)
+               b_left = true;
+
+       EINA_LIST_FREE(timeline_d->sel_d->sel_list, item) {
+               i++;
+               if (item) {
+                       ret = _gl_rotate_image_by_id(data, (const char *)item,
+                                                    b_left);
+                       if (ret != 0)
+                               gl_dbgE("Rotate image failed[%d]!", ret);
+
+                       /* Add some delay for last two images to wait for thumb updated */
+                       if (i > cnt - 2)
+                               _gl_delay(GL_ROTATE_DELAY);
+
+                       if (i == cnt) {
+                               gl_dbgW("Last image rotated!");
+                               /* Add another delay for last thumb */
+                               _gl_delay(GL_ROTATE_DELAY);
+                       }
+                       item = NULL;
+               }
+
+               gl_dbg("Write pipe, make progressbar updated!");
+               gl_thread_write_pipe(ad, i, popup_op);
+               popup_op = GL_POPUP_OP_NONE;
+       }
+       timeline_d->sel_d->sel_list = NULL;
+       return 0;
+}
+
+static int __gl_timeline_update_rotate_view(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_dbgW("");
+
+       __gl_timeline_change_mode(data, GL_TL_VIEW_NORMAL);
+       _gl_db_update_lock_always(data, false);
+       return 0;
+}
+static int __gl_timeline_rotate_images(void *data, bool b_left)
+{
+       gl_dbg("");
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_CHECK_VAL(ad->tlinfo, -1);
+       gl_timeline_s *timeline_d = ad->tlinfo;
+
+       /* Get all selected medias count */
+       int cnt = __gl_timeline_get_sel_cnt(timeline_d);
+       /* Check MMC state for cancel operation */
+       gl_check_mmc_state(ad, NULL);
+       gl_dbg("MMC state: %d.", ad->maininfo.mmc_state);
+       /* Rotate left */
+       int op_type = GL_MEDIA_OP_ROTATING_LEFT_TIMELINE;
+       /* Rotate right */
+       if (!b_left)
+               op_type = GL_MEDIA_OP_ROTATING_RIGHT_TIMELINE;
+       _gl_db_update_lock_always(data, true);
+       _gl_set_file_op_cbs(data, __gl_timeline_rotate_op, NULL,
+                           __gl_timeline_update_rotate_view, cnt);
+       _gl_use_thread_operate_medias(ad, GL_STR_ID_ROTATING, cnt, op_type);
+
+       return 0;
+}
+
+static void __gl_timeline_edit_rotate_left_cb(void *data, Evas_Object *obj,
+                                           void *ei)
+{
+       GL_CHECK(data);
+       _gl_ctxpopup_del(data);
+
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_CHECK(ad->tlinfo);
+       gl_timeline_s *timeline_d = ad->tlinfo;
+
+       if (__gl_timeline_get_sel_cnt(timeline_d) == 0) {
+               gl_dbgW("No thumbs selected!");
+               gl_popup_create_popup(data, GL_POPUP_NOBUT,
+                                     GL_STR_NO_FILES_SELECTED);
+               return;
+       }
+       __gl_timeline_rotate_images(data, true);
+}
+
+static void __gl_timeline_edit_rotate_right_cb(void *data, Evas_Object *obj,
+                                            void *ei)
+{
+       GL_CHECK(data);
+       _gl_ctxpopup_del(data);
+
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_CHECK(ad->tlinfo);
+       gl_timeline_s *timeline_d = ad->tlinfo;
+
+       if (__gl_timeline_get_sel_cnt(timeline_d) == 0) {
+               gl_dbgW("No thumbs selected!");
+               gl_popup_create_popup(data, GL_POPUP_NOBUT,
+                                     GL_STR_NO_FILES_SELECTED);
+               return;
+       }
+       __gl_timeline_rotate_images(data, false);
+}
+#endif
+
+/* Easy mode: New album/Edit/Slideshow */
+static int __gl_timeline_ctxpopup_append(void *data, Evas_Object *parent)
+{
+       gl_dbg("");
+       GL_CHECK_VAL(parent, -1);
+       GL_CHECK_VAL(data, -1);
+       GL_CHECK_VAL(parent, -1);
+       int cnt = 0;
+       int ret = -1;
+       ret = _gl_data_get_item_cnt(GL_ALBUM_ALL_ID, GL_STORE_T_ALL, &cnt);
+       if (ret != 0 || cnt == 0) {
+               gl_dbgE("Empty!");
+       }
+
+       if (cnt > 0) {
+               /* View As */
+               _gl_ctxpopup_append(parent, GL_STR_ID_VIEW_AS,
+                               __gl_albums_viewas_pop_cb, data);
+               /* Delete */
+               _gl_ctxpopup_append(parent, GL_STR_ID_DELETE,
+                                   __gl_timeline_edit_cb, data);
+               /* Sort */
+               _gl_ctxpopup_append(parent, GL_STR_SORT,
+                                   __gl_timeline_sort_cb, data);
+#ifdef SUPPORT_SLIDESHOW
+               /* Slide show */
+               _gl_ctxpopup_append(parent, GL_STR_ID_SLIDESHOW,
+                                   __gl_timeline_slideshow_cb, data);
+#endif
+       }
+
+       return 0;
+}
+
+static int __gl_timeline_edit_ctxpopup_append(void *data, Evas_Object *parent)
+{
+       gl_dbg("");
+       GL_CHECK_VAL(parent, -1);
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_CHECK_VAL(ad->tlinfo, -1);
+       GL_CHECK_VAL(ad->tlinfo->sel_d, -1);
+       int cnt = __gl_timeline_get_sel_cnt(ad->tlinfo);
+
+       /* Hide items */
+
+#ifdef _USE_ROTATE_BG
+       if (ad->tlinfo->sel_d->jpge_cnt == cnt) {
+               gl_dbg("Enable more button");
+               _gl_ctxpopup_append(parent, GL_STR_ID_ROTATE_LEFT,
+                                   __gl_timeline_edit_rotate_left_cb,
+                                   data);
+               _gl_ctxpopup_append(parent, GL_STR_ID_ROTATE_RIGHT,
+                                   __gl_timeline_edit_rotate_right_cb,
+                                   data);
+       }
+#endif
+       return 0;
+}
+
+static void __gl_timeline_more_cb(void *data, Evas_Object *obj, void *ei)
+{
+       gl_dbg("more button clicked");
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       Evas_Object *more = NULL;
+       more = _gl_ui_get_btn(NULL, ad->tlinfo->nf_it, GL_NAVIFRAME_MORE);
+       if (EINA_TRUE == elm_object_disabled_get(more)) {
+               gl_dbg("Menu is disabled");
+               return; /* Menu is disabled */
+       }
+
+       gl_dbg("Menu is clicked");
+       GL_CHECK(ad->tlinfo);
+       /* Edit mode */
+       if (ad->tlinfo->view_m == GL_TL_VIEW_EDIT)
+               _gl_ctxpopup_create(data, obj,
+                                   __gl_timeline_edit_ctxpopup_append);
+       else if (ad->tlinfo->view_m == GL_TL_VIEW_NORMAL)
+               _gl_ctxpopup_create(data, obj, __gl_timeline_ctxpopup_append);
+       else
+               gl_dbg("Unavailable menu operation");
+}
+
+#if 0
+static void __gl_timeline_camera_cb(void *data, Evas_Object *obj, void *ei)
+{
+       GL_CHECK(data);
+       gl_dbg("");
+       _gl_ext_load_camera(data);
+}
+#endif
+
+static int __gl_timeline_reset_label(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+
+       if (ad->tlinfo == NULL)
+               return -1;
+       if (ad->tlinfo->view_m == GL_TL_VIEW_NORMAL) {
+               gl_dbg("Normal mode");
+               return -1;
+       }
+
+       int sel_cnt = __gl_timeline_get_sel_cnt(ad->tlinfo);
+       __gl_timeline_check_btns_state(ad->tlinfo, ad->tlinfo->count, sel_cnt);
+       /* Update the label text */
+       _gl_ui_update_navi_title_text(ad->tlinfo->nf_it, sel_cnt, false);
+       return 0;
+}
+
+static int __gl_timeline_reset_btns(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+
+       if (ad->tlinfo == NULL)
+               return -1;
+       /* Check Button menu state in Easymode */
+       _gl_ui_disable_menu(ad->tlinfo->nf_it, false);
+       return 0;
+}
+
+int _gl_time_data_selected_list_finalize(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       gl_dbg("");
+       gl_media_s *gitem = NULL;
+       GL_CHECK_VAL(ad->tlinfo, -1);
+       int i;
+       int count;
+       if (ad->tlinfo->data_list) {
+               count = eina_list_count(ad->tlinfo->data_list);
+               for (i = 0; i < count ; i++) {
+                       gitem = eina_list_nth(ad->tlinfo->data_list, i);
+                       if (gitem) {
+                               gitem->check_state = false;
+                       }
+               }
+       }
+
+       return 0;
+}
+
+static void __gl_timeline_edit_cancel_cb(void *data, Evas_Object *obj, void *ei)
+{
+       elm_toolbar_item_selected_set((Elm_Object_Item *)ei, EINA_FALSE);
+       GL_CHECK(data);
+       gl_dbg("");
+       __gl_timeline_change_mode(data, GL_TL_VIEW_NORMAL);
+}
+
+static int __gl_timeline_add_btns(void *data)
+{
+       gl_dbg("");
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_CHECK_VAL(ad->maininfo.naviframe, -1);
+       GL_CHECK_VAL(ad->tlinfo->nf_it, -1);
+       Evas_Object *parent = ad->maininfo.naviframe;
+       Elm_Object_Item *nf_it = ad->tlinfo->nf_it;
+
+       _gl_ui_clear_btns(data);
+       Evas_Object *btn = NULL;
+
+       /* More */
+       btn = _gl_but_create_but(parent, NULL, NULL,
+                                GL_BUTTON_STYLE_NAVI_MORE,
+                                __gl_timeline_more_cb, data);
+       GL_CHECK_VAL(btn, -1);
+       elm_object_item_part_content_set(nf_it, GL_NAVIFRAME_MORE, btn);
+       elm_object_signal_emit(ad->ctrlinfo.ctrlbar_view_ly, "elm,selectall,state,default", "elm");
+       return 0;
+}
+
+static void __gl_timeline_del_cb(void *data, Evas_Object *obj, void *ei)
+{
+       elm_toolbar_item_selected_set((Elm_Object_Item *)ei, EINA_FALSE);
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_CHECK(ad->tlinfo);
+       gl_timeline_s *timeline_d = ad->tlinfo;
+       /* Get all selected medias count */
+       int cnt = __gl_timeline_get_sel_cnt(timeline_d);
+       if (cnt == 0) {
+               gl_dbgW("No thumbs selected!");
+               gl_popup_create_popup(ad, GL_POPUP_NOBUT, GL_STR_NO_FILES_SELECTED);
+               return;
+       }
+
+       /* Check MMC state for cancel operation */
+       gl_check_mmc_state(ad, NULL);
+       gl_dbg("MMC state: %d.", ad->maininfo.mmc_state);
+       _gl_db_update_lock_always(data, true);
+       _gl_set_file_op_cbs(data, __gl_timeline_del_op, NULL,
+                           __gl_timeline_update_del_view, cnt);
+       _gl_use_thread_operate_medias(ad, GL_STR_ID_DELETING, cnt,
+                                     GL_MEDIA_OP_DELETE_TIMELINE);
+}
+
+/* Select-all checkbox selected/deselected */
+#if 0
+static void __gl_timeline_edit_selall_cb(void *data, Evas_Object *obj, void *ei)
+{
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       int item_cnt = 0;
+       int sel_all_cnt = 0;
+       int ret = -1;
+
+       ad->selinfo.ck_state = !ad->selinfo.ck_state;
+       if (ad->selinfo.selectall_ck) {
+               elm_check_state_set(ad->selinfo.selectall_ck, ad->selinfo.ck_state);
+       }
+       int state = ad->selinfo.ck_state;
+       gl_dbg("Checkbox state: %d", state);
+       _gl_slider_set_cks_state(ad->tlinfo->view, state);
+
+       __gl_timeline_clear_sel_list(ad->tlinfo);
+       __gl_timeline_clear_sel_cnt(ad->tlinfo);
+
+       if (state == EINA_FALSE) {
+               sel_all_cnt = 0;
+               item_cnt = ad->tlinfo->count;
+       } else {
+               Eina_List *list = NULL;
+               ret = _gl_data_get_items(GL_GET_ALL_RECORDS, GL_GET_ALL_RECORDS,
+                                        &list);
+               if (ret != 0 || !list)
+                       gl_dbgW("Empty!");
+
+               gl_media_s *item = NULL;
+               EINA_LIST_FREE(list, item) {
+                       if (!item || !item->uuid)
+                               continue;
+                       __gl_timeline_check_special_file(ad->tlinfo, item, true);
+                       __gl_timeline_sel_append_item(ad->tlinfo, item->uuid);
+                       _gl_data_type_free_glitem((void **)(&item));
+                       item_cnt++;
+                       item = NULL;
+               }
+               sel_all_cnt = item_cnt;
+       }
+
+       __gl_timeline_check_btns_state(ad->tlinfo, item_cnt, sel_all_cnt);
+       /* Update the label text */
+       _gl_ui_update_navi_title_text(ad->tlinfo->nf_it, sel_all_cnt, false);
+}
+#endif
+
+int _gl_timeline_update_realized_grid_ck(Evas_Object *view, Eina_Bool state)
+{
+       GL_CHECK_VAL(view, -1);
+       Eina_List *grid = NULL;
+       Eina_List *l = NULL;
+       Elm_Object_Item *it = NULL;
+
+       grid = elm_gengrid_realized_items_get(view);
+       GL_CHECK_VAL(grid, -1);
+
+       EINA_LIST_FOREACH(grid, l, it) {
+               if (it == NULL) {
+                       gl_dbgE("Invalid item!");
+                       continue;
+               }
+               Evas_Object *ck = NULL;
+
+               ck = elm_object_item_part_content_get(it, GL_THUMB_CHECKBOX);
+               gl_media_s *data = (gl_media_s *)elm_object_item_data_get(it);
+               if (!ck) {
+                       gl_dbgE("Invalid checkbox!");
+                       return -1;
+               }
+
+               if (elm_check_state_get(ck) != state) {
+                       elm_check_state_set(ck, state);
+                       gl_timeline_s *td = evas_object_data_get(ck, "data");
+                       GL_CHECK_VAL(td, -1);
+                       __gl_timeline_thumb_check_op(td, ck, data);
+               }
+       }
+
+       return 0;
+}
+
+/* Select-all checkbox selected/deselected */
+static void __gl_timeline_thumb_edit_selall_cb(void *data, Evas_Object *obj, void *ei)
+{
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_CHECK(ad->tlinfo);
+
+       ad->selinfo.ck_state = !ad->selinfo.ck_state;
+       if (ad->selinfo.selectall_ck) {
+               elm_check_state_set(ad->selinfo.selectall_ck, ad->selinfo.ck_state);
+       }
+       int state = ad->selinfo.ck_state;
+
+       GL_CHECK(ad->tlinfo);
+       Evas_Object *genlist = ad->tlinfo->view;
+       GL_CHECK(genlist);
+
+       gl_media_s *gitem = NULL;
+       int i;
+       if (ad->tlinfo->data_list) {
+               int count = eina_list_count(ad->tlinfo->data_list);
+               for (i = 0; i < count ; i++) {
+                       gitem = eina_list_nth(ad->tlinfo->data_list, i);
+                       if (gitem) {
+                               gitem->check_state = state;
+                               if (state) {
+                                       __gl_timeline_check_special_file(ad->tlinfo, gitem, true);
+                                       __gl_timeline_sel_append_item(ad->tlinfo, gitem->uuid);
+                               } else {
+                                       __gl_timeline_check_special_file(ad->tlinfo, gitem, false);
+                                       __gl_timeline_sel_remove_item(ad->tlinfo, gitem->uuid);
+                               }
+                       }
+               }
+               int sel_cnt = __gl_timeline_get_sel_cnt(ad->tlinfo);
+               _gl_ui_update_navi_title_text(ad->tlinfo->nf_it, sel_cnt, false);
+
+               __gl_timeline_check_btns_state(ad->tlinfo, ad->tlinfo->count,
+                               sel_cnt);
+       }
+       elm_genlist_realized_items_update(genlist);
+}
+
+/**
+ *  Use naviframe api to push albums edit view to stack.
+ *  @param obj is the content to be pushed.
+ */
+static int __gl_timeline_edit_add_btns(void *data)
+{
+       gl_dbg("EDIT");
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       Evas_Object *parent = ad->maininfo.naviframe;
+       Elm_Object_Item *nf_it = elm_naviframe_top_item_get(parent);
+       GL_CHECK_VAL(nf_it, -1);
+
+       /* More */
+       Evas_Object *btn = _gl_but_create_but(parent, NULL, NULL,
+                                             GL_BUTTON_STYLE_NAVI_MORE,
+                                             __gl_timeline_more_cb, data);
+       GL_CHECK_VAL(btn, -1);
+       _gl_ui_disable_btn(btn);
+       elm_object_item_part_content_set(nf_it, GL_NAVIFRAME_MORE, btn);
+
+       Evas_Object *btn1 = elm_button_add(parent);
+       Evas_Object *btn2 = elm_button_add(parent);
+       GL_CHECK_VAL(btn1, -1);
+       GL_CHECK_VAL(btn2, -1);
+       /* Title Cancel Button */
+       elm_object_style_set(btn1, "naviframe/title_left");
+       elm_object_item_part_content_set(ad->ctrlinfo.nf_it, GL_NAVIFRAME_TITLE_LEFT_BTN, btn1);
+       _gl_ui_set_translate_str(btn1,GL_STR_ID_CANCEL_CAP);
+       evas_object_smart_callback_add(btn1, "clicked", __gl_timeline_edit_cancel_cb, ad);
+       /* Title Done Button */
+       elm_object_style_set(btn2, "naviframe/title_right");
+       elm_object_item_part_content_set(ad->ctrlinfo.nf_it, GL_NAVIFRAME_TITLE_RIGHT_BTN, btn2);
+       _gl_ui_set_translate_str(btn2,GL_STR_ID_DONE_CAP);
+       evas_object_smart_callback_add(btn2, "clicked", __gl_timeline_del_cb, ad);
+       elm_object_disabled_set(btn2, EINA_TRUE);
+
+       gl_dbg("Sending signal to EDC");
+       elm_object_signal_emit(ad->ctrlinfo.ctrlbar_view_ly, "elm,selectall,state,visible,bg", "elm");
+       elm_object_signal_emit(ad->ctrlinfo.ctrlbar_view_ly, "elm,selectall,state,visible", "elm");
+       _gl_ui_add_selall_ck(ad->ctrlinfo.ctrlbar_view_ly, "select.all.area.check", "select.all.area.check",
+                           __gl_timeline_thumb_edit_selall_cb, data);
+       return 0;
+}
+
+#ifdef GL_EXTENDED_FEATURES
+static int __gl_timeline_share_get_path(void *data, char **files)
+{
+       GL_CHECK_VAL(files, 0);
+       GL_CHECK_VAL(data, 0);
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_CHECK_VAL(ad->tlinfo, 0);
+       gl_timeline_s *timeline_d = ad->tlinfo;
+       GL_CHECK_VAL(timeline_d->sel_d, 0);
+       int i = 0;
+       Eina_List *l = NULL;
+       int ret = -1;
+       char *item = NULL;
+       char *path = NULL;
+
+       EINA_LIST_FOREACH(timeline_d->sel_d->sel_list, l, item) {
+               if (item == NULL) {
+                       gl_dbgE("Invalid item!");
+                       goto GL_TL_FAILED;
+               }
+
+               ret = _gl_local_data_get_path_by_id((const char *)item, &path);
+               if (ret != 0 || !path) {
+                       gl_dbgE("Get path failed[%d]!", ret);
+                       goto GL_TL_FAILED;
+               }
+
+               files[i++] = strdup(path);
+               gl_sdbg("file_url: %s!", files[i - 1]);
+
+               GL_FREE(path);
+       }
+       return i;
+
+ GL_TL_FAILED:
+
+       for (; i > 0; --i)
+              GL_FREEIF(files[i - 1]);
+       GL_FREEIF(path);
+       return 0;
+}
+
+static void __gl_timeline_share_op_cb(void *data, Evas_Object *obj, void *ei)
+{
+       elm_toolbar_item_selected_set((Elm_Object_Item *)ei, EINA_FALSE);
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_CHECK(ad->tlinfo);
+       gl_timeline_s *timeline_d = ad->tlinfo;
+       /* Get all selected medias count */
+       int cnt = __gl_timeline_get_sel_cnt(timeline_d);
+       _gl_ext_launch_share(data, cnt, __gl_timeline_share_get_path);
+       /* Change to normal mode */
+       __gl_timeline_change_mode(data, GL_TL_VIEW_NORMAL);
+}
+
+/**
+ *  Use naviframe api to push albums edit view to stack.
+ *  @param obj is the content to be pushed.
+ */
+static int __gl_timeline_share_add_btns(void *data)
+{
+       gl_dbg("Share");
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       Evas_Object *parent = ad->maininfo.naviframe;
+       Elm_Object_Item *nf_it = elm_naviframe_top_item_get(parent);
+       GL_CHECK_VAL(nf_it, -1);
+       /* Item Toolbar */
+       Elm_Object_Item *tb_it = NULL;
+       Evas_Object *toolbar = _gl_ctrl_add_toolbar(parent);
+       /* Cancel */
+       _gl_ctrl_append_item(toolbar, NULL, GL_STR_ID_CANCEL,
+                            __gl_timeline_edit_cancel_cb, data);
+       /* Share */
+       tb_it = _gl_ctrl_append_item(toolbar, NULL, GL_STR_ID_SHARE,
+                                    __gl_timeline_share_op_cb, data);
+       _gl_ctrl_disable_item(tb_it, true);
+       elm_object_item_part_content_set(nf_it, "toolbar", toolbar);
+       /* Select-all */
+       ad->selinfo.ck_state = false;
+       _gl_ui_add_xpt_btns(nf_it, GL_UI_XPT_SEL_ALL,
+                           __gl_timeline_thumb_edit_selall_cb, NULL, data);
+       return 0;
+}
+#endif
+
+bool __gl_update_timeline(void *data) {
+       GL_CHECK_FALSE(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_CHECK_FALSE(ad->tlinfo);
+
+       if (ad->tlinfo->nocontents) {
+               return false;
+       }
+       Evas_Object *view = __gl_timeline_create_list_view(ad->tlinfo, true);
+       if (!view) {
+               gl_dbgE("Failed to create view!");
+               return false;
+       }
+       ad->tlinfo->view = view;
+       elm_object_part_content_set(ad->tlinfo->layout, "elm.swallow", view);
+       return true;
+}
+
+static int __gl_timeline_change_mode(void *data, int mode)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_CHECK_VAL(ad->tlinfo, -1);
+
+       ad->tlinfo->view_m = mode;
+       switch (mode) {
+       case GL_TL_VIEW_NORMAL:
+               gl_dbg("GL_TL_VIEW_NORMAL");
+               _gl_time_data_selected_list_finalize(data);
+               _gl_ui_change_navi_title(ad->tlinfo->nf_it, GL_STR_TIME_VIEW, true);
+               __gl_timeline_add_btns(data);
+               /* Update view to hide checkboxes and clear data */
+               __gl_timeline_clear_sel_list(ad->tlinfo);
+               GL_GFREEIF(ad->tlinfo->sel_d);
+               break;
+       case GL_TL_VIEW_EDIT:
+       case GL_TL_VIEW_SHARE:
+               GL_GFREEIF(ad->tlinfo->sel_d);
+               ad->tlinfo->sel_d = g_new0(gl_sel_s, 1);
+               GL_CHECK_VAL(ad->tlinfo->sel_d, -1);
+               _gl_ui_change_navi_title(ad->tlinfo->nf_it, GL_STR_ID_SELECT_ITEM,
+                                 false);
+               if (GL_TL_VIEW_EDIT == mode) {
+                       __gl_timeline_edit_add_btns(data);
+               }
+#ifdef GL_EXTENDED_FEATURES
+               else {
+                       __gl_timeline_share_add_btns(data);
+               }
+#endif
+               break;
+       default:
+               gl_dbgE("Wrong mode!");
+               return -1;
+       }
+       __gl_update_timeline(data);
+       return 0;
+}
+
+static Eina_Bool __gl_timeline_pop_op(void *data)
+{
+       GL_CHECK_FALSE(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       if (ad->tlinfo && ad->tlinfo->view_m != GL_TL_VIEW_NORMAL) {
+               gl_dbg("EDIT");
+               __gl_timeline_change_mode(data, GL_TL_VIEW_NORMAL);
+               /* Just cancel edit view, dont lower app to background */
+               return EINA_TRUE;
+       }
+       return EINA_FALSE;
+}
+
+int _gl_timeline_create_view(void *data, Evas_Object *parent)
+{
+       GL_CHECK_VAL(parent, -1);
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       gl_dbg("");
+       int w = 0;
+       int h = 0;
+
+       /* Set pop callback for operating when button back clicked */
+       evas_object_data_set(ad->maininfo.naviframe, GL_NAVIFRAME_POP_CB_KEY,
+                            (void *)__gl_timeline_pop_op);
+
+       evas_object_geometry_get(parent, NULL, NULL, &w, &h);
+       gl_dbg("content's size(%dx%d)", w, h);
+
+       gl_set_view_mode(data, GL_VIEW_TIMELINE);
+       _gl_ctrl_show_title(data, GL_CTRL_TAB_TIMELINE);
+
+       if (ad->tlinfo) {
+               gl_dbgW("Update view");
+               /*To show transition*/
+               ad->tlinfo->tran_op = GL_TRANS_OP_PREPARE;
+               /*Update view*/
+               ad->tlinfo->view = __gl_timeline_create_list_view(ad->tlinfo, false);
+               elm_object_part_content_set(parent, "elm.swallow.view", ad->tlinfo->layout);
+               /*TODO: Update date info if time changed, add timer to check time changed*/
+               elm_object_part_content_set(ad->tlinfo->layout, "elm.swallow", ad->tlinfo->view);
+               if (ad->tlinfo->view == NULL) {
+                       gl_dbgE("Failed to create view!");
+                       return -1;
+               }
+               evas_object_show(ad->tlinfo->view);
+               /*Update buttons*/
+               __gl_timeline_add_btns(data);
+               /* Update buttons state */
+               __gl_timeline_reset_btns(data);
+               /* Update naviframe item title */
+               __gl_timeline_reset_label(data);
+               return 0;
+       }
+
+       Evas_Object *layout = NULL;
+       Evas_Object *view = NULL;
+       gl_timeline_s *timeline_d = NULL;
+
+       timeline_d = (gl_timeline_s *)calloc(1, sizeof(gl_timeline_s));
+       GL_CHECK_VAL(timeline_d, -1);
+
+       timeline_d->ad = ad;
+       timeline_d->parent = parent;
+       timeline_d->nf_it = ad->ctrlinfo.nf_it;
+       ad->tlinfo = timeline_d;
+       timeline_d->tran_op = GL_TRANS_OP_PREPARE;
+       timeline_d->time_media_display_order = TIME_ORDER_DESC;
+       ad->pinchinfo.zoom_level = GL_ZOOM_IN_ONE;
+
+       layout = gl_ui_load_edj(parent, GL_EDJ_FILE, "timeline");
+       if (layout == NULL) {
+               gl_dbgE("Failed to create layout!");
+               goto GL_TIMELINE_FAILED;
+       }
+       evas_object_show(layout);
+       elm_object_part_content_set(parent, "elm.swallow.view", layout);
+       timeline_d->layout = layout;
+
+       /* Minus title height */
+       h -= (GL_TIMELINE_TITLE_H + GL_TIMELINE_PAD_H) * elm_config_scale_get();
+       evas_object_data_set(layout, "page_w", (void *)w);
+       evas_object_data_set(layout, "page_h", (void *)h);
+       timeline_d->w = w;
+       timeline_d->h = h;
+       timeline_d->is_list_reverse = false;
+       gl_dbg("content's size(%dx%d)", w, h);
+
+       view = __gl_timeline_create_list_view(timeline_d, false);
+       if (view == NULL) {
+               gl_dbgE("Failed to create view!");
+               GL_IF_DEL_OBJ(layout);
+               return -1;
+       }
+       timeline_d->view = view;
+       elm_object_part_content_set(timeline_d->layout, "elm.swallow", view);
+
+       /*Update buttons*/
+       __gl_timeline_add_btns(data);
+       /* Update buttons state */
+       __gl_timeline_reset_btns(data);
+       /* Register callbacks */
+       __gl_timeline_add_cbs(timeline_d);
+       return 0;
+
+ GL_TIMELINE_FAILED:
+
+       GL_IF_DEL_OBJ(layout);
+       return -1;
+}
+
+int _gl_timeline_update_view(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_CHECK_VAL(ad->tlinfo, -1);
+
+       /* Update view */
+       gl_dbgW("Update view");
+       Evas_Object *view = __gl_timeline_create_list_view(ad->tlinfo, false);
+       if (view == NULL) {
+               gl_dbgE("Failed to create view!");
+               return -1;
+       }
+       ad->tlinfo->view = view;
+       elm_object_part_content_set(ad->tlinfo->layout, "elm.swallow", view);
+       /* Update buttons state */
+       __gl_timeline_reset_btns(data);
+       /* Update naviframe item title */
+       __gl_timeline_reset_label(data);
+       return 0;
+}
+
+int _gl_timeline_update_lang(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_dbg("");
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_CHECK_VAL(ad->tlinfo, -1);
+       GL_CHECK_VAL(ad->tlinfo->nf_it, -1);
+       _gl_ui_change_navi_title(ad->tlinfo->nf_it, GL_STR_TIME_VIEW, true);
+       _gl_timeline_update_view(ad);
+
+       return 0;
+}
+
+int _gl_timeline_hide_view(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       gl_dbg("");
+
+       if (ad->tlinfo == NULL)
+               return -1;
+
+       GL_TL_DEL_TRANSITS(ad->tlinfo->tiles);
+       /* To hide slide items */
+       evas_object_hide(ad->tlinfo->view);
+       /* Cancel thumb creation*/
+       __gl_timeline_cancel_thumbs(ad->tlinfo);
+       /* Hide previous view */
+       Evas_Object *pre_view = NULL;
+       pre_view = elm_object_part_content_unset(ad->tlinfo->parent,
+                                                "elm.swallow.view");
+       evas_object_hide(pre_view);
+       return 0;
+}
+
+int _gl_timeline_rotate_view(void *data)
+{
+       return 0;
+}
+
+int _gl_timeline_view_rotate(void *data)
+{
+       gl_dbgE("ENTRY");
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_CHECK_VAL(ad->tlinfo, -1);
+
+       if (ad->tlinfo->nocontents) {
+               return -1;
+       }
+
+       ad->tlinfo->delete_data = false;
+       Evas_Object *view = __gl_timeline_create_list_view(ad->tlinfo, true);
+       if (view == NULL) {
+               gl_dbgE("Failed to create view!");
+               return -1;
+       }
+       ad->tlinfo->view = view;
+       elm_object_part_content_set(ad->tlinfo->layout, "elm.swallow", view);
+       if ((ad->maininfo.rotate_mode == APP_DEVICE_ORIENTATION_270) ||
+                       (ad->maininfo.rotate_mode == APP_DEVICE_ORIENTATION_90)) {
+               elm_object_signal_emit(ad->tlinfo->parent, "timelineview,landscape", "");
+       } else {
+               elm_object_signal_emit(ad->tlinfo->parent, "timelineview,portrait", "");
+       }
+       if (ad->tlinfo->view_m == GL_TL_VIEW_EDIT) {
+               elm_object_signal_emit(ad->ctrlinfo.ctrlbar_view_ly, "elm,selectall,state,visible,bg", "elm");
+               elm_object_signal_emit(ad->ctrlinfo.ctrlbar_view_ly, "elm,selectall,state,visible", "elm");
+       }
+
+       gl_dbgE("EXIT");
+       return 0;
+}
+
+int _gl_timeline_update_grid_size(void *data)
+{
+       gl_dbgE("ENTRY");
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_CHECK_VAL(ad->tlinfo, -1);
+
+       if (ad->tlinfo->nocontents) {
+               return -1;
+       }
+       Evas_Object *view = __gl_timeline_create_list_view(ad->tlinfo, true);
+       if (view == NULL) {
+               gl_dbgE("Failed to create view!");
+               return -1;
+       }
+       ad->tlinfo->view = view;
+       elm_object_part_content_set(ad->tlinfo->layout, "elm.swallow", view);
+
+       return 0;
+}
+
+void _gl_update_timeview_iv_select_mode_reply(void *data, char **select_result, int count)
+{
+       gl_dbgE("ENTRY");
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_CHECK(ad->tlinfo);
+       gl_media_s *item = NULL;
+       Eina_List *l = NULL;
+       int i;
+       int sel_count = 0;
+       bool in_list = false;
+
+       if (select_result) {
+               EINA_LIST_FOREACH(ad->tlinfo->data_list, l, item) {
+                       if (!item) {
+                               continue;
+                       }
+                       in_list = false;
+                       for (i = 0; i < count; i++) {
+                               if (!strcmp(select_result[i], item->file_url)) {
+                                       if (!item->check_state) {
+                                               __gl_timeline_sel_append_item(ad->tlinfo, item->uuid);
+                                               item->check_state = true;
+                                       }
+                                       in_list = true;
+                                       sel_count++;
+                                       break;
+                               }
+                       }
+                       if (!in_list) {
+                               if (item->check_state) {
+                                       __gl_timeline_sel_remove_item(ad->tlinfo, item->uuid);
+                                       item->check_state = false;
+                               }
+                       }
+               }
+       } else {
+               EINA_LIST_FOREACH(ad->tlinfo->data_list, l, item) {
+                       if (!item) {
+                               continue;
+                       }
+                       if (item->check_state) {
+                               __gl_timeline_sel_remove_item(ad->tlinfo, item->uuid);
+                               item->check_state = false;
+                       }
+               }
+       }
+
+       _gl_ui_update_navi_title_text(ad->tlinfo->nf_it, sel_count, false);
+
+       if (sel_count == ad->tlinfo->count) {
+               ad->selinfo.ck_state = EINA_TRUE;
+       } else {
+               ad->selinfo.ck_state = EINA_FALSE;
+       }
+
+       if (ad->selinfo.selectall_ck) {
+               elm_check_state_set(ad->selinfo.selectall_ck, ad->selinfo.ck_state);
+       }
+
+       GL_CHECK(ad->tlinfo->view);
+       elm_genlist_realized_items_update(ad->tlinfo->view);
+
+       if (select_result) {
+               for (i = 0; i < count; i++) {
+                       if (select_result[i]) {
+                               free(select_result[i]);
+                       }
+               }
+               free(select_result);
+       }
+}
+
+int _gl_ext_load_time_iv_selected_list(app_control_h service, void *data)
+{
+       gl_dbgE("ENTRY");
+       GL_CHECK_VAL(data, GL_UG_FAIL);
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_CHECK_VAL(service, GL_UG_FAIL);
+       GL_CHECK_VAL(ad->tlinfo, GL_UG_FAIL);
+       GL_CHECK_VAL(ad->tlinfo->sel_d, GL_UG_FAIL);
+       int i;
+       char *gitem = NULL;
+       gl_media_s *item = NULL;
+       Eina_List *l = NULL;
+       char **value = NULL;
+
+       int count = eina_list_count(ad->tlinfo->sel_d->sel_list);
+
+       if (count > 0) {
+               (value) = (char**)malloc(count * sizeof(char *));
+               if (!value) {
+                       return GL_UG_FAIL;
+               }
+       }
+
+       for (i = 0; i < count; i++) {
+               gitem = eina_list_nth(ad->tlinfo->sel_d->sel_list, i);
+               EINA_LIST_FOREACH(ad->tlinfo->data_list, l, item) {
+                       if (!item) {
+                               continue;
+                       }
+                       if (!strcmp(item->uuid, gitem)) {
+                               (value)[i] = strdup(item->file_url);
+                               break;
+                       }
+               }
+       }
+
+       if (count > 0) {
+               app_control_add_extra_data_array(service, "Selected index",
+                               value, count);
+       }
+
+       if (value) {
+               for (i = 0; i < count; i++) {
+                       free(value[i]);
+               }
+               free(value);
+       }
+
+       return GL_UG_SUCCESS;
+}
+
+bool _gl_is_timeline_edit_mode(void *data)
+{
+       GL_CHECK_FALSE(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_CHECK_FALSE(ad->tlinfo);
+       if (ad->tlinfo->view_m == GL_TL_VIEW_EDIT) {
+               return true;
+       }
+       return false;
+}
+
+
diff --git a/src/2dview/gl-timeline.h b/src/2dview/gl-timeline.h
new file mode 100644 (file)
index 0000000..1bea68a
--- /dev/null
@@ -0,0 +1,39 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#ifndef _GL_TIMELINE_H_
+#define _GL_TIMELINE_H_
+
+#include <Elementary.h>
+#include "gallery.h"
+
+int _gl_timeline_create_view(void *data, Evas_Object *parent);
+int _gl_timeline_update_view(void *data);
+int _gl_timeline_update_lang(void *data);
+int _gl_timeline_hide_view(void *data);
+int _gl_timeline_view_rotate(void *data);
+int _gl_timeline_rotate_view(void *data);
+void __gl_timeline_asc_mode_set(void *data);
+void __gl_timeline_desc_mode_set(void *data);
+bool __gl_update_timeline(void *data);
+int _gl_timeline_update_grid_size(void *data);
+void _gl_update_timeview_iv_select_mode_reply(void *data, char **select_result, int count);
+int _gl_ext_load_time_iv_selected_list(app_control_h service, void *data);
+bool _gl_is_timeline_edit_mode(void *data);
+
+#endif
+
diff --git a/src/data/gl-data-type.c b/src/data/gl-data-type.c
new file mode 100644 (file)
index 0000000..6f23f3d
--- /dev/null
@@ -0,0 +1,154 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#include "gl-data-type.h"
+#include "gl-debug.h"
+
+int _gl_data_type_new_media(gl_media_s **item)
+{
+       GL_CHECK_VAL(item, -1);
+       gl_media_s *tmp_item = (gl_media_s *)calloc(1, sizeof(gl_media_s));
+       GL_CHECK_VAL(tmp_item, -1);
+       tmp_item->gtype = GL_TYPE_MEDIA;
+       *item =  tmp_item;
+       return 0;
+}
+
+int _gl_data_type_new_album(gl_album_s **album)
+{
+       GL_CHECK_VAL(album, -1);
+       gl_album_s *tmp_item = (gl_album_s *)calloc(1, sizeof(gl_album_s));
+       GL_CHECK_VAL(tmp_item, -1);
+       tmp_item->gtype = GL_TYPE_ALBUM;
+       *album =  tmp_item;
+       return 0;
+}
+
+
+static int __gl_data_type_free_media(gl_media_s **item)
+{
+       GL_CHECK_VAL(item, -1);
+       GL_CHECK_VAL(*item, -1);
+       gl_media_s *tmp_item = *item;
+
+       /* For local medias */
+       if (tmp_item->media_h) {
+               if (tmp_item->b_create_thumb) {
+                       media_info_cancel_thumbnail(tmp_item->media_h);
+                       tmp_item->b_create_thumb = false;
+               }
+               media_info_destroy(tmp_item->media_h);
+               tmp_item->media_h = NULL;
+       }
+
+       GL_FREEIF(tmp_item->uuid);
+       GL_FREEIF(tmp_item->thumb_url);
+       GL_FREEIF(tmp_item->file_url);
+       GL_FREEIF(tmp_item->display_name);
+       GL_FREEIF(tmp_item->ext);
+
+       if (MEDIA_CONTENT_TYPE_IMAGE == tmp_item->type &&
+           tmp_item->image_info) {
+               /* For local medias */
+               if (tmp_item->image_info->image_h) {
+                       image_meta_destroy(tmp_item->image_info->image_h);
+                       tmp_item->image_info->image_h = NULL;
+               }
+               GL_FREEIF(tmp_item->image_info->burstshot_id);
+               GL_FREEIF(tmp_item->image_info->media_uuid);
+               GL_FREE(tmp_item->image_info);
+       } else if (MEDIA_CONTENT_TYPE_VIDEO == tmp_item->type &&
+                  tmp_item->video_info) {
+               /* For local medias */
+               if (tmp_item->video_info->video_h) {
+                       video_meta_destroy(tmp_item->video_info->video_h);
+                       tmp_item->video_info->video_h = NULL;
+               }
+
+               GL_FREEIF(tmp_item->video_info->media_uuid);
+               GL_FREEIF(tmp_item->video_info->title);
+               GL_FREE(tmp_item->video_info);
+       }
+
+       GL_FREE(tmp_item);
+       *item = NULL;
+       return 0;
+}
+
+int _gl_data_type_free_media_list(Eina_List **list)
+{
+       GL_CHECK_VAL(list, -1);
+       GL_CHECK_VAL(*list, -1);
+       gl_media_s *item = NULL;
+       Eina_List *tmp_list = *list;
+       EINA_LIST_FREE(tmp_list, item) {
+               if (item)
+                       __gl_data_type_free_media(&item);
+       }
+       *list = NULL;
+       return 0;
+}
+
+static int __gl_data_type_free_album(gl_album_s **album)
+{
+       GL_CHECK_VAL(album, -1);
+       GL_CHECK_VAL(*album, -1);
+       gl_album_s *tmp_album = *album;
+
+       GL_FREEIF(tmp_album->uuid);
+       GL_FREEIF(tmp_album->display_name);
+       GL_FREEIF(tmp_album->path);
+
+       if (tmp_album->folder_h)
+               media_folder_destroy(tmp_album->folder_h);
+       GL_FREE(tmp_album);
+       *album = NULL;
+       return 0;
+}
+
+int _gl_data_type_free_album_list(Eina_List **list)
+{
+       GL_CHECK_VAL(list, -1);
+       GL_CHECK_VAL(*list, -1);
+       gl_album_s *item = NULL;
+       Eina_List *tmp_list = *list;
+       EINA_LIST_FREE(tmp_list, item) {
+               if (item)
+                       __gl_data_type_free_album(&item);
+       }
+       *list = NULL;
+       return 0;
+}
+
+int _gl_data_type_free_glitem(void **item)
+{
+       GL_CHECK_VAL(item, -1);
+       GL_CHECK_VAL(*item, -1);
+       int ret = -1;
+
+       if (((gl_album_s *)*item)->gtype == GL_TYPE_ALBUM)
+               ret = __gl_data_type_free_album((gl_album_s **)item);
+       else if (((gl_media_s *)*item)->gtype == GL_TYPE_MEDIA ||
+                ((gl_media_s *)*item)->gtype == GL_TYPE_WEB_MEDIA)
+               ret = __gl_data_type_free_media((gl_media_s **)item);
+
+       if (ret < 0)
+               return -1;
+       else
+               return 0;
+}
+
diff --git a/src/data/gl-data-util.c b/src/data/gl-data-util.c
new file mode 100644 (file)
index 0000000..4909fb6
--- /dev/null
@@ -0,0 +1,448 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#include <errno.h>
+#include <string.h>
+#include "gl-data-util.h"
+#include "gl-controlbar.h"
+#include "gallery.h"
+#include "gl-debug.h"
+#include "gl-util.h"
+#include "gl-strings.h"
+#include "gl-data-type.h"
+
+bool _gl_data_util_get_file_dir_name(const char *file_path, char *filename,
+                                    char *dir_name, char *dir_path)
+{
+       GL_CHECK_FALSE(file_path);
+       gint i = 0;
+       gint count = 0;
+       for (i = strlen(file_path); i >= 0; i--) {
+               if (file_path[i] != '\0') {
+                       count++;
+               }
+               if (file_path[i] == '/') {
+                       if (filename != NULL) {
+                               memcpy(filename, &file_path[i + 1], --count);
+                               *(filename + count) = '\0';
+                               gl_sdbg("File Name = %s", filename);
+                       }
+                       if (dir_path != NULL) {
+                               memcpy(dir_path, &file_path[0], i);
+                               *(dir_path + i) = '\0';
+                               gl_sdbg("Directory Name = %s", dir_path);
+                       }
+                       if (dir_name != NULL) {
+                               count = 0;
+                               for (--i; i >= 0; i--) {
+                                       count++;
+                                       if (file_path[i] == '/') {
+                                               memcpy(dir_name, &file_path[i + 1], --count);
+                                               *(dir_name + count) = '\0';
+                                               gl_sdbg("Directory Name = %s", dir_name);
+                                               count = 0;
+                                               return true;
+                                       }
+                               }
+                       }
+                       return true;
+               }
+       }
+
+       return false;
+}
+
+/*
+*  create a gl_item
+*/
+gl_item *_gl_data_util_calloc_gitem(void)
+{
+       gl_item *gitem = (gl_item *)calloc(1, sizeof(gl_item));
+       GL_CHECK_NULL(gitem);
+       return gitem;
+}
+
+int _gl_data_util_free_gitem(gl_item *gitem)
+{
+       GL_CHECK_VAL(gitem, -1);
+       if (gitem->item) {
+               _gl_data_type_free_glitem((void **)&(gitem->item));
+               gitem->item = NULL;
+       }
+
+       GL_FREEIF(gitem->thumb_data);
+       GL_FREE(gitem);
+       return 0;
+}
+
+gl_cluster *_gl_data_util_calloc_gcluster(void)
+{
+       gl_cluster *gcluster = (gl_cluster *)calloc(1, sizeof(gl_cluster));
+       GL_CHECK_NULL(gcluster);
+       return gcluster;
+}
+
+int _gl_data_util_free_gcluster(gl_cluster *gcluster)
+{
+       GL_CHECK_VAL(gcluster, -1);
+       if (gcluster->cover) {
+               _gl_data_util_free_gitem(gcluster->cover);
+               gcluster->cover = NULL;
+       }
+       if (gcluster->cluster) {
+               _gl_data_type_free_glitem((void **)&(gcluster->cluster));
+               gcluster->cluster = NULL;
+       }
+       GL_FREE(gcluster->album_data);
+       GL_FREE(gcluster);
+       return 0;
+}
+
+gl_cluster *_gl_data_util_new_gcluster_all(void *data, int count)
+{
+       gl_dbg("");
+       GL_CHECK_NULL(data);
+       gl_cluster *gcluster = NULL;
+       gl_album_s *mcluster = NULL;
+
+       gcluster = _gl_data_util_calloc_gcluster();
+       GL_CHECK_NULL(gcluster);
+
+       _gl_data_type_new_album(&mcluster);
+       if (mcluster == NULL) {
+               GL_FREE(gcluster);
+               return NULL;
+       }
+
+       mcluster->uuid = strdup(GL_ALBUM_ALL_ID);
+       mcluster->count = count;
+       mcluster->type = GL_STORE_T_ALL;
+       mcluster->display_name = strdup(GL_STR_ID_ALL_ALBUMS);
+       gcluster->ad = data;
+       gcluster->cluster = mcluster;
+       return gcluster;
+}
+
+gl_cluster *_gl_data_util_new_gcluster_fav(void *data, int count)
+{
+       gl_dbg("");
+       GL_CHECK_NULL(data);
+       gl_cluster *gcluster = NULL;
+       gl_album_s *mcluster = NULL;
+
+       gcluster = _gl_data_util_calloc_gcluster();
+       GL_CHECK_NULL(gcluster);
+
+       _gl_data_type_new_album(&mcluster);
+       if (mcluster == NULL) {
+               GL_FREE(gcluster);
+               return NULL;
+       }
+
+       mcluster->uuid = strdup(GL_ALBUM_FAVOURITE_ID);
+       mcluster->count = count;
+       mcluster->type = GL_STORE_T_FAV;
+       mcluster->display_name = strdup(GL_STR_ID_FAVOURITE_ALBUMS);
+       gcluster->ad = data;
+       gcluster->cluster = mcluster;
+
+       return gcluster;
+}
+
+gl_cluster_list *_gl_data_util_calloc_cluster_list(void)
+{
+       gl_cluster_list *clus_list = (gl_cluster_list *)calloc(1,
+                                                              sizeof(gl_cluster_list));
+       GL_CHECK_NULL(clus_list);
+       return clus_list;
+}
+
+/* Clear eina_list got from DB */
+int _gl_data_util_clear_gtype_item_list(Eina_List **elist)
+{
+       void *current = NULL;
+
+       if (elist && *elist) {
+               gl_dbg("Clear gtype items list");
+               EINA_LIST_FREE(*elist, current) {
+                       if (current) {
+                               _gl_data_type_free_glitem((void **)&current);
+                               current = NULL;
+                       }
+               }
+               *elist = NULL;
+       }
+
+       return 0;
+}
+
+int _gl_data_util_clear_item_list(Eina_List **elist)
+{
+       GL_CHECK_VAL(elist, -1);
+       gl_item *current = NULL;
+       if (*elist) {
+               gl_dbg("Clear elist");
+               EINA_LIST_FREE(*elist, current) {
+                       _gl_data_util_free_gitem(current);
+                       current = NULL;
+               }
+               *elist = NULL;
+       }
+       return 0;
+
+}
+
+int _gl_data_util_clear_cluster_list(Eina_List **elist)
+{
+       GL_CHECK_VAL(elist, -1);
+       gl_cluster *current = NULL;
+       if (*elist) {
+               EINA_LIST_FREE(*elist, current) {
+                       _gl_data_util_free_gcluster(current);
+                       current = NULL;
+               }
+               *elist = NULL;
+       }
+       return 0;
+}
+
+int _gl_data_util_get_selected_cluster_id_list(void *data,
+                                              Eina_List **sel_id_list)
+{
+       GL_CHECK_VAL(sel_id_list, -1);
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_CHECK_VAL(ad->albuminfo.sel_elist, -1);
+       gl_cluster *gcluster = NULL;
+       char *item_id = NULL;
+
+       /* Save ID of selected clusters */
+       EINA_LIST_FREE(ad->albuminfo.sel_elist, gcluster) {
+               if (gcluster && gcluster->cluster && gcluster->cluster->uuid) {
+                       item_id = strdup(gcluster->cluster->uuid);
+                       *sel_id_list = eina_list_append(*sel_id_list,
+                                                       (void *)item_id);
+               }
+       }
+       return 0;
+}
+
+int _gl_data_util_get_selected_str_ids(Eina_List **sel_list, Eina_List **elist)
+{
+       GL_CHECK_VAL(elist, -1);
+       GL_CHECK_VAL(sel_list, -1);
+       gl_item *gitem = NULL;
+       char *str_id = NULL;
+
+       /* Save ID of selected items */
+       EINA_LIST_FREE(*sel_list, gitem) {
+               if (gitem && gitem->item && gitem->item->uuid) {
+                       str_id = strdup(gitem->item->uuid);
+                       *elist = eina_list_append(*elist, (void *)str_id);
+               }
+       }
+       *sel_list = NULL;
+       return 0;
+}
+
+int _gl_data_util_filter_selected_str_ids(Eina_List **sel_list, Eina_List **elist)
+{
+       GL_CHECK_VAL(elist, -1);
+       GL_CHECK_VAL(sel_list, -1);
+       gl_item *gitem = NULL;
+       Eina_List *tmp;
+       char *str_id = NULL;
+
+       /* Save ID of selected items */
+       EINA_LIST_FOREACH(*sel_list, tmp, gitem) {
+               if (gitem && gitem->item && gitem->item->uuid) {
+                       str_id = strdup(gitem->item->uuid);
+                       *elist = eina_list_append(*elist, (void *)str_id);
+               }
+       }
+       return 0;
+}
+
+/* Check ID is in the list or not */
+bool _gl_data_util_check_selected_str_id(Eina_List **sel_id_list, const char *id)
+{
+       GL_CHECK_FALSE(id);
+       GL_CHECK_FALSE(sel_id_list);
+       Eina_List *tmp_elist = NULL;
+       void *p_id = NULL;
+
+       if (eina_list_count(*sel_id_list) == 0) {
+               gl_dbgE("sel_id_list is empty!");
+               return false;
+       }
+
+       EINA_LIST_FOREACH(*sel_id_list, tmp_elist, p_id) {
+               if (p_id == NULL) {
+                       gl_dbgE("Invalid p_id!");
+                       continue;
+               }
+               /* Get next one if they wasn't equal */
+               if (g_strcmp0(id, (char *)p_id)) {
+                       p_id = NULL;
+                       continue;
+               }
+               gl_sdbg("Found: %s", id);
+               *sel_id_list = eina_list_remove(*sel_id_list, p_id);
+               GL_FREE(p_id);
+               return true;
+       }
+       return false;
+}
+
+/* Free list of selected IDs */
+int _gl_data_util_free_selected_str_list(Eina_List **sel_id_list)
+{
+       GL_CHECK_VAL(sel_id_list, -1);
+       if (*sel_id_list == NULL) {
+               gl_dbg("sel_id_list is empty!");
+               return -1;
+       }
+
+       void *p_id = NULL;
+       EINA_LIST_FREE(*sel_id_list, p_id) {
+               if (p_id == NULL) {
+                       gl_dbgE("Invalid p_id!");
+                       continue;
+               }
+               GL_FREE(p_id);
+       }
+       *sel_id_list = NULL;
+       return 0;
+}
+
+/* Check in selected list of web album id */
+bool _gl_data_util_check_selected_int_id(Eina_List **sel_id_list, int id)
+{
+       GL_CHECK_FALSE(sel_id_list);
+       Eina_List *tmp_elist = NULL;
+       void *p_id = NULL;
+
+       if (eina_list_count(*sel_id_list) == 0) {
+               gl_dbgE("sel_id_list is empty!");
+               return false;
+       }
+
+       EINA_LIST_FOREACH(*sel_id_list, tmp_elist, p_id) {
+               if (p_id == NULL) {
+                       gl_dbgE("Invalid p_id!");
+                       continue;
+               }
+
+               if (id != (int)p_id) {
+                       p_id = NULL;
+                       continue;
+               }
+
+               *sel_id_list = eina_list_remove(*sel_id_list, p_id);
+               return true;
+       }
+       return false;
+}
+
+int _gl_data_util_check_album_selected_files(gl_cluster *album,
+                                            int *img_cnt, int *sel_cnt,
+                                            int *web_cnt)
+{
+       GL_CHECK_VAL(album, -1);
+       GL_CHECK_VAL(album->cluster, -1);
+       GL_CHECK_VAL(album->cluster->uuid, -1);
+       int _sel_cnt = 0;
+       int _img_cnt = 0;
+       int _web_cnt = 0;
+       int err = -1;
+       Eina_List *itemlist = NULL;
+       gl_filter_s filter;
+
+       memset(&filter, 0x00, sizeof(gl_filter_s));
+       _gl_data_util_get_cond(filter.cond);
+       filter.sort_type = MEDIA_CONTENT_ORDER_DESC;
+       filter.collate_type = MEDIA_CONTENT_COLLATE_NOCASE;
+       g_strlcpy(filter.sort_keyword, GL_CONDITION_ORDER, KEYWORD_LENGTH);
+       filter.offset = GL_GET_ALL_RECORDS;
+       filter.count = GL_GET_ALL_RECORDS;
+       filter.with_meta = false;
+
+       if (album->cluster->type == GL_STORE_T_ALL) {
+               gl_dbg("All albums");
+               err = _gl_local_data_get_all_albums_media_list(&filter,
+                                                              &itemlist);
+       } else if (album->cluster->type == GL_STORE_T_PHONE ||
+                  album->cluster->type == GL_STORE_T_MMC) {
+               gl_dbg("Local album");
+               err = _gl_local_data_get_album_media_list(&filter,
+                                                         album->cluster->uuid,
+                                                         &itemlist);
+       } else {
+               gl_dbgE("Wrong cluster type!");
+               return -1;
+       }
+
+       if ((err == 0) && (itemlist != NULL)) {
+               gl_media_s *item = NULL;
+               EINA_LIST_FREE(itemlist, item) {
+                       if (item == NULL || item->uuid == NULL) {
+                               gl_dbgE("Invalid item!");
+                               continue;
+                       }
+
+                       _sel_cnt++;
+                       if (album->cluster->type == GL_STORE_T_PHONE ||
+                           album->cluster->type == GL_STORE_T_ALL) {
+                               if (item->type == MEDIA_CONTENT_TYPE_IMAGE)
+                                       _img_cnt++;
+                       } else {
+                               /*  image for web */
+                               _web_cnt++;
+                       }
+                       item = NULL;
+               }
+       }
+       gl_dbg("Selected items count: %d, image count: %d, web count: %d",
+              _sel_cnt, _img_cnt, _web_cnt);
+       if (sel_cnt)
+               *sel_cnt = _sel_cnt;
+       if (img_cnt)
+               *img_cnt = _img_cnt;
+       if (web_cnt)
+               *web_cnt = _web_cnt;
+       return 0;
+}
+
+/* Set viewby_m as -1 or GL_VIEW_BY_NUM to get cond view default viewby mode
+ * @cond is allocated by caller, maybe it's an array
+ */
+int _gl_data_util_get_cond(char *cond)
+{
+       GL_CHECK_VAL(cond, -1);
+       g_strlcpy(cond, GL_CONDITION_IMAGE_VIDEO, CONDITION_LENGTH);
+       return 0;
+}
+
+int _gl_data_util_get_fav_cond(char *cond)
+{
+       GL_CHECK_VAL(cond, -1);
+       g_strlcpy(cond, "((MEDIA_TYPE=0 OR MEDIA_TYPE=1) AND (MEDIA_FAVOURITE>0)"
+                       " AND (MEDIA_STORAGE_TYPE=0 OR MEDIA_STORAGE_TYPE=1 "
+                       "OR MEDIA_STORAGE_TYPE=101 OR MEDIA_STORAGE_TYPE=121))", CONDITION_LENGTH);
+       return 0;
+}
+
diff --git a/src/data/gl-data.c b/src/data/gl-data.c
new file mode 100644 (file)
index 0000000..4ef19ed
--- /dev/null
@@ -0,0 +1,2004 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#include <errno.h>
+#include <string.h>
+#include <media_content.h>
+#include "gl-data.h"
+#include "gl-controlbar.h"
+#include "gl-albums.h"
+#include "gallery.h"
+#include "gl-debug.h"
+#include "gl-util.h"
+#include "gl-strings.h"
+#include "gl-icons.h"
+#include "gl-exif.h"
+#include "gl-db-update.h"
+#include "gl-file-util.h"
+
+static int __gl_data_append_gitems(void *data, Eina_List *elist, int store_type,
+                                  Eina_List **p_elist)
+{
+       GL_CHECK_VAL(p_elist, -1);
+       GL_CHECK_VAL(elist, -1);
+       GL_CHECK_VAL(data, -1);
+       gl_media_s *item = NULL;
+       gl_item *gitem = NULL;
+
+       EINA_LIST_FREE(elist, item) {
+               if (item == NULL || item->uuid == NULL) {
+                       gl_dbgE("Invalid item!");
+                       continue;
+               }
+
+               gitem = _gl_data_util_calloc_gitem();
+               if (gitem == NULL) {
+                       gl_dbgE("calloc gitem failed!");
+                       _gl_data_type_free_glitem((void **)&item);
+                       continue;
+               }
+
+               gitem->ad = data;
+               gitem->item = item;
+               gitem->store_type = store_type;
+               *p_elist = eina_list_append(*p_elist, gitem);
+               item = NULL;
+               gitem = NULL;
+       }
+       return 0;
+}
+
+int _gl_get_fav_image_count(int *count) {
+       gl_filter_s filter;
+       memset(&filter, 0x00, sizeof(gl_filter_s));
+       _gl_data_util_get_fav_cond(filter.cond);
+       filter.sort_type = MEDIA_CONTENT_ORDER_DESC;
+       g_strlcpy(filter.sort_keyword, GL_CONDITION_ORDER, KEYWORD_LENGTH);
+       filter.collate_type = MEDIA_CONTENT_COLLATE_NOCASE;
+       filter.offset = GL_GET_ALL_RECORDS;
+       filter.count = GL_GET_ALL_RECORDS;
+       filter.with_meta = false;
+
+       int err = _gl_local_data_get_all_media_count(&filter, count);
+       if (err < 0) {
+               gl_dbg("Failed to get item count[err: %d]!", err);
+               return -1;
+       }
+
+       return err;
+}
+
+static int __gl_data_get_cluster_list(void *data, bool b_update)
+{
+       GL_PROFILE_IN;
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       int length = 0;
+       int all_item_cnt = 0;
+       int phone_cnt = 0;
+       Eina_List *item_list = NULL;
+       gl_album_s *f_data = NULL;
+       gl_cluster *default_album = NULL;
+       int err = -1;
+       int edit_album_cnt = 0;
+       gl_filter_s filter;
+       gl_album_s *new_mc = NULL;
+       Eina_List *sel_id_list = NULL;
+       bool b_selected = false;
+       char new_mc_id[GL_MTYPE_ITEN_ID_LEN_MAX] = { 0, };
+       char sel_id[GL_MTYPE_ITEN_ID_LEN_MAX] = { 0, };
+       gl_dbg("");
+
+       memset(&filter, 0x00, sizeof(gl_filter_s));
+
+       if (b_update) {
+               gl_dbg("Update mode.");
+               gl_cluster *album_item = ad->albuminfo.selected;
+               if (album_item && album_item->cluster &&
+                   album_item->cluster->uuid) {
+                       g_strlcpy(sel_id, album_item->cluster->uuid,
+                                 GL_MTYPE_ITEN_ID_LEN_MAX);
+                       gl_sdbg("Save selected album ID: %s.", sel_id);
+               }
+               ad->albuminfo.selected = NULL;
+               /* Get selected cluster IDs list */
+               _gl_data_util_get_selected_cluster_id_list(ad, &sel_id_list);
+               /* Free old list */
+               _gl_data_finalize_albums_selected_list(ad);
+               /* Clear cluster list */
+               _gl_data_clear_cluster_list(ad, false);
+       }
+
+
+       //ad->new_album_name is the cluster name of newly created album
+       //in moving medias to new album case.
+       if (strlen(ad->albuminfo.new_name) && !ad->albuminfo.b_new_album) {
+               memset(ad->albuminfo.new_name, 0x00, GL_ALBUM_NAME_LEN_MAX);
+               //get gl_media_s from DB via folder full path(URL).
+               err = _gl_local_data_get_album_by_path(ad->albuminfo.dest_folder,
+                                                      &new_mc);
+               if (err != 0) {
+                       gl_dbgE("Faild to get album[%d]!", err);
+               } else if (new_mc->count == 0) {
+                       //media records of this cluster havn't been inserted to DB.
+                       //save the cluster ID.
+                       //update cluster item count while refresh albums view in _gl_albums_get_label().
+                       gl_sdbg("Get newly created gl_media_s, url: %s.",
+                              ad->albuminfo.dest_folder);
+                       g_strlcpy(new_mc_id, new_mc->uuid,
+                                 GL_MTYPE_ITEN_ID_LEN_MAX);
+                       _gl_data_type_free_glitem((void **)&new_mc);
+               }
+       }
+
+       //get real albums
+       memset(filter.cond, 0x00, CONDITION_LENGTH);
+       /* Get all contents(including local and cloud) for albums list */
+       g_strlcpy(filter.cond, GL_CONDITION_IMAGE_VIDEO, CONDITION_LENGTH);
+       filter.sort_type = MEDIA_CONTENT_ORDER_ASC;
+       g_strlcpy(filter.sort_keyword, FOLDER_NAME, KEYWORD_LENGTH);
+       filter.collate_type = MEDIA_CONTENT_COLLATE_NOCASE;
+       filter.offset = GL_GET_ALL_RECORDS;
+       filter.count = GL_GET_ALL_RECORDS;
+       filter.with_meta = false;
+
+       gl_dbg("Get_album_list:start");
+       err = _gl_local_data_get_album_list(&filter, &item_list);
+       gl_dbg("Get_album_list:end, %d", err);
+       if (err != 0) {
+               gl_dbg("No record!");
+               ad->albuminfo.elist->clist = NULL;
+               if (item_list)
+                       _gl_data_util_clear_gtype_item_list(&item_list);
+               /* Continue to add AllShare album */
+       }
+
+       gl_cluster *gcluster = NULL;
+       EINA_LIST_FREE(item_list, f_data) {
+               if (f_data == NULL || f_data->uuid == NULL) {
+                       gl_dbgE("Invalid gl_media_s!");
+                       continue;
+               }
+               gl_sdbg("folder id: %s.", f_data->uuid);
+
+               /**
+               * There are Phone and web filters in libmedia-info,
+               * but the are seperated, if we want to get  phone and web photos
+               * only we can use is WMINFO_CLUSTER_TYPE_ALL,
+               * and add condition checking to skip MMC albums.
+               *
+               * To skip MMC albums if MMC already unmounted,
+               * in case of delay updating in DB.
+               */
+               if ((ad->maininfo.mmc_state == GL_MMC_STATE_REMOVED_MOVING ||
+                    ad->maininfo.mmc_state == GL_MMC_STATE_REMOVED) &&
+                    f_data->type == GL_STORE_T_MMC) {
+                       gl_dbgW("MMC was unmounted, skip MMC album!");
+                       _gl_data_type_free_glitem((void **)&f_data);
+                       continue;
+               }
+
+               if (f_data->type == GL_STORE_T_PHONE ||
+                   f_data->type == GL_STORE_T_MMC) {
+                       if (f_data->count == 0) {
+                               if (!g_strcmp0(f_data->uuid, new_mc_id)) {
+                                       /* append the newly created cluster to list */
+                                       gl_dbg("empty local album, but it's newly created...");
+                               } else {
+                                       /* Skip empty album */
+                                       gl_dbg("empty local album, skipping it...");
+                                       _gl_data_type_free_glitem((void **)&f_data);
+                                       continue;
+                               }
+                       }
+                       all_item_cnt += f_data->count;
+                       if (f_data->type == GL_STORE_T_PHONE ||
+                           f_data->type == GL_STORE_T_MMC)
+                               phone_cnt++;
+               }
+
+               gcluster = NULL;
+               gcluster = _gl_data_util_calloc_gcluster();
+               if (gcluster == NULL) {
+                       gl_dbgE("_gl_data_util_calloc_gcluster failed!");
+                       _gl_data_type_free_glitem((void **)&f_data);
+                       continue;
+               }
+
+               gcluster->ad = ad;
+               gcluster->cluster = f_data;
+
+               length += f_data->count;
+
+               if (_gl_data_is_camera_album(f_data)) {
+                       /**
+                       * Default album: Camera
+                       * Now Camera Shot is located in Phone/MMC.
+                       * If user can determine the location of default album,
+                       * here we should get the path and check it's in Phone or MMC.
+                       */
+                       if (default_album) {
+                               /* album 'Camera' is in phone, set it before MMC album 'Camera' */
+                               if (_gl_data_check_root_type(f_data->path, GL_ROOT_PATH_PHONE)) {
+                                       ad->albuminfo.elist->clist = eina_list_prepend(ad->albuminfo.elist->clist,
+                                                                                      gcluster);
+                               } else {
+                                       ad->albuminfo.elist->clist = eina_list_append_relative(ad->albuminfo.elist->clist,
+                                                                                              gcluster,
+                                                                                              default_album);
+                                       default_album = gcluster;
+                               }
+                       } else {
+                               default_album = gcluster;
+                               ad->albuminfo.elist->clist = eina_list_prepend(ad->albuminfo.elist->clist,
+                                                                              gcluster);
+                       }
+               } else if (_gl_data_is_default_album(GL_STR_ALBUM_DOWNLOADS, f_data) || _gl_data_is_screenshot_album(GL_STR_ALBUM_SCREENSHOTS, f_data)) {
+                       if (default_album)
+                               ad->albuminfo.elist->clist = eina_list_append_relative(ad->albuminfo.elist->clist,
+                                                                                      gcluster,
+                                                                                      default_album);
+                       else
+                               ad->albuminfo.elist->clist = eina_list_prepend(ad->albuminfo.elist->clist,
+                                                                              gcluster);
+               } else {
+                       ad->albuminfo.elist->clist = eina_list_append(ad->albuminfo.elist->clist,
+                                                                     gcluster);
+               }
+               /* Default album 'Camera shots' showed in edit view */
+               edit_album_cnt++;
+
+               if (sel_id_list) {
+                       b_selected = _gl_data_util_check_selected_str_id(&sel_id_list,
+                                                                        f_data->uuid);
+                       if (b_selected) {
+                               b_selected = false;
+                               /* Set checkbox state */
+                               gcluster->checked = true;
+                               /* Append gcluster to selected list */
+                               _gl_data_albums_selected_list_append(ad, gcluster);
+                       }
+               }
+               if (strlen(sel_id) > 0 && !g_strcmp0(sel_id, f_data->uuid)) {
+                       gl_dbgW("Found selected_album.");
+                       ad->albuminfo.selected = gcluster;
+               }
+       }
+
+       /* Clear list of selected ID */
+       if (sel_id_list) {
+               b_selected = _gl_data_util_check_selected_str_id(&sel_id_list,
+                                                                GL_ALBUM_ALL_ID);
+               _gl_data_util_free_selected_str_list(&sel_id_list);
+       }
+
+       ad->albuminfo.elist->phone_cnt = phone_cnt;
+       ad->albuminfo.elist->edit_cnt = edit_album_cnt;
+#if 0
+       /**
+       * add "all" album, only inclduing local albums temporarily,
+       * web album would be contained in the future .
+       */
+       if (all_item_cnt) {
+               _gl_db_update_set_count(ad, all_item_cnt);
+               /* Create "All albums" album if any local file exists */
+               gcluster = _gl_data_util_new_gcluster_all(ad, all_item_cnt);
+               if (gcluster == NULL) {
+                       gl_dbgE("_gl_data_util_new_gcluster_all failed!");
+                       _gl_data_clear_cluster_list(ad, false);
+                       return -1;
+               }
+               if (b_selected) {
+                       b_selected = false;
+                       /* Set checkbox state */
+                       gcluster->checked = true;
+                       /* Append gcluster to selected list */
+                       _gl_data_albums_selected_list_append(ad, gcluster);
+               }
+
+               if (default_album)
+                       ad->albuminfo.elist->clist = eina_list_append_relative(ad->albuminfo.elist->clist,
+                                                                              gcluster,
+                                                                              default_album);
+               else
+                       ad->albuminfo.elist->clist = eina_list_prepend(ad->albuminfo.elist->clist,
+                                                                      gcluster);
+               default_album = gcluster;
+
+               /* Save all count */
+               ad->maininfo.all_medias_cnt = all_item_cnt;
+       }
+#endif
+
+       /* add "favourite" album */
+       int fav_count = 0;
+       err = _gl_get_fav_image_count(&fav_count);
+       gl_dbg("fav image count is : %d", fav_count);
+
+       if (fav_count) {
+               /* Create "favourite albums" album if any favourite file exists */
+               gcluster = _gl_data_util_new_gcluster_fav(ad, fav_count);
+               if (gcluster == NULL) {
+                       gl_dbgE("_gl_data_util_new_gcluster_all failed!");
+                       _gl_data_clear_cluster_list(ad, false);
+                       return -1;
+               }
+               if (b_selected) {
+                       b_selected = false;
+                       /* Set checkbox state */
+                       gcluster->checked = true;
+                       /* Append gcluster to selected list */
+                       _gl_data_albums_selected_list_append(ad, gcluster);
+               }
+
+               if (default_album) {
+                       ad->albuminfo.elist->clist = eina_list_append_relative(
+                                       ad->albuminfo.elist->clist, gcluster, default_album);
+               } else {
+                       ad->albuminfo.elist->clist = eina_list_prepend(
+                                       ad->albuminfo.elist->clist, gcluster);
+               }
+               default_album = gcluster;
+       }
+
+       if (all_item_cnt) {
+               _gl_db_update_set_count(ad, all_item_cnt);
+               /* Save all count */
+               ad->maininfo.all_medias_cnt = all_item_cnt;
+       }
+
+       gl_dbg("Cluster Done.");
+       GL_PROFILE_OUT;
+       return length;
+}
+
+/* get a new gitem by mitem id*/
+gl_item *_gl_data_new_gitem(void *data, const char *item_id)
+{
+       GL_CHECK_NULL(data);
+
+       gl_item *gitem = _gl_data_util_calloc_gitem();
+       GL_CHECK_NULL(gitem);
+
+       _gl_local_data_get_media_by_id((char *)item_id, &(gitem->item));
+       if (gitem->item == NULL) {
+               _gl_data_util_free_gitem(gitem);
+               return NULL;
+       }
+       return gitem;
+}
+
+gl_item *_gl_data_new_item_mitem(gl_media_s *mitem)
+{
+       gl_item *gitem = _gl_data_util_calloc_gitem();
+       GL_CHECK_NULL(gitem);
+       gitem->item = mitem;
+
+       return gitem;
+}
+
+/*
+*   Check it's default album under root path
+*/
+bool _gl_data_is_default_album(const char *match_folder, gl_album_s *album)
+{
+       GL_CHECK_FALSE(album);
+       GL_CHECK_FALSE(album->display_name);
+       GL_CHECK_FALSE(album->uuid);
+       GL_CHECK_FALSE(match_folder);
+
+       /* Name is 'Camera' folder locates in Phone */
+       if (!g_strcmp0(album->display_name, match_folder) &&
+           album->type == GL_STORE_T_PHONE) {
+               char parent_path[GL_DIR_PATH_LEN_MAX] = { 0, };
+
+               gl_sdbg("Full path: %s", album->path);
+
+               _gl_data_util_get_file_dir_name(album->path, NULL, NULL,
+                                               parent_path);
+               gl_sdbg("Parent path: %s.", parent_path);
+
+               /* And parent folder is Phone root path, it's default folder */
+               return (!g_strcmp0(parent_path, GL_ROOT_PATH_PHONE));
+       }
+
+       return false;
+}
+
+/*
+*   Check it's screenshot album under Image path
+*/
+bool _gl_data_is_screenshot_album(const char *match_folder, gl_album_s *album)
+{
+       GL_CHECK_FALSE(album);
+       GL_CHECK_FALSE(album->display_name);
+       GL_CHECK_FALSE(album->uuid);
+       GL_CHECK_FALSE(match_folder);
+
+       if (!g_strcmp0(album->display_name, match_folder) &&
+           album->type == GL_STORE_T_PHONE) {
+               char parent_path[GL_DIR_PATH_LEN_MAX] = { 0, };
+
+               _gl_data_util_get_file_dir_name(album->path, NULL, NULL,
+                                               parent_path);
+               /* And parent folder is Phone Image path, it's default folder */
+               return (!g_strcmp0(parent_path, GL_DEFAULT_PATH_PICTURES));
+       }
+
+       return false;
+}
+
+/*
+*   Check it's default album camera
+*/
+bool _gl_data_is_camera_album(gl_album_s *album)
+{
+       GL_CHECK_FALSE(album);
+       GL_CHECK_FALSE(album->display_name);
+
+#define GL_DCIM "DCIM"
+       /* Name is 'Camera' folder locates in Phone */
+       if (!g_strcmp0(album->display_name, GL_STR_ALBUM_CAMERA)) {
+               char *parent_path = (char *)calloc(1, GL_DIR_PATH_LEN_MAX);
+               GL_CHECK_FALSE(parent_path);
+
+               const char *root = NULL;
+               if (album->type == GL_STORE_T_PHONE)
+                       root = GL_ROOT_PATH_PHONE;
+               else
+                       root = GL_ROOT_PATH_MMC;
+
+               gl_sdbg("Full path: %s", album->path);
+               _gl_data_util_get_file_dir_name(album->path, NULL, NULL,
+                                               parent_path);
+               gl_sdbg("Parent path: %s.", parent_path);
+
+               char *dcim_path = g_strdup_printf("%s/%s", root, GL_DCIM);
+               if (dcim_path == NULL) {
+                       GL_GFREE(parent_path);
+                       return false;
+               }
+               /* And parent folder is Phone root path, it's default folder */
+               bool ret = false;
+               ret = !g_strcmp0(dcim_path, parent_path);
+
+               GL_GFREE(parent_path);
+               GL_GFREE(dcim_path);
+               return ret;
+       }
+
+       return false;
+}
+
+int _gl_data_cp_item_list(void *data, Eina_List *elist, Eina_List **p_elist)
+{
+       GL_CHECK_VAL(p_elist, -1);
+       GL_CHECK_VAL(elist, -1);
+       GL_CHECK_VAL(data, -1);
+
+       Eina_List *l = NULL;
+       gl_item *gitem = NULL;
+       gl_item *ngitem = NULL;
+       EINA_LIST_FOREACH(elist, l, gitem) {
+               if (!gitem || !gitem->item)
+                       continue;
+               ngitem = _gl_data_new_gitem(data, gitem->item->uuid);
+               if (ngitem)
+                       *p_elist = eina_list_append(*p_elist, ngitem);
+       }
+       return 0;
+}
+
+int _gl_data_clear_cluster_list(void *data, bool b_force)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       /* To reset current album when clear cluster list */
+       _gl_albums_set_current(data, NULL);
+
+       if (ad->albuminfo.elist) {
+               _gl_data_util_clear_cluster_list(&(ad->albuminfo.elist->clist));
+               if (b_force) {
+                       GL_FREE(ad->albuminfo.elist);
+               }
+       }
+       return 0;
+}
+
+int _gl_data_copy_cluster_list(void *data, bool b_force, Eina_List **list)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       /* To reset current album when clear cluster list */
+       _gl_albums_set_current(data, NULL);
+       gl_cluster *current = NULL;
+       int count = eina_list_count(ad->albuminfo.elist->clist);
+       int i;
+       for (i = 0; i < count; i++) {
+               current = eina_list_nth(ad->albuminfo.elist->clist, i);
+               if (current) {
+                       (*list) = eina_list_append((*list), current);
+               }
+       }
+       if (ad->albuminfo.elist) {
+               ad->albuminfo.elist->clist = NULL;
+               if (b_force) {
+                       GL_FREE(ad->albuminfo.elist);
+               }
+       }
+       return 0;
+}
+
+bool _gl_data_get_cluster_list(void *data)
+{
+       GL_PROFILE_IN;
+       GL_CHECK_FALSE(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       int n_entire_items = 0;
+
+       /* Free old list */
+       _gl_data_finalize_albums_selected_list(ad);
+       _gl_data_clear_cluster_list(ad, true);
+
+       ad->albuminfo.elist = _gl_data_util_calloc_cluster_list();
+       GL_CHECK_FALSE(ad->albuminfo.elist);
+       n_entire_items = __gl_data_get_cluster_list(ad, false);
+       if (n_entire_items <= 0) /* if error code is returned, negative value is possible */
+               return false;
+
+       gl_dbg("cluster-length:%d", n_entire_items);
+       GL_PROFILE_OUT;
+       return true;
+}
+
+void _gl_update_album_selected_data(void *data, Eina_List **list)
+{
+       GL_CHECK(data);
+       GL_CHECK(list);
+       gl_appdata *ad = (gl_appdata *)data;
+       gl_cluster *current = NULL;
+       gl_cluster *sit = NULL;
+       Eina_List *tmp_elist = NULL;
+       if ((*list) && ad->albuminfo.elist && ad->albuminfo.elist->clist) {
+               int count = eina_list_count(ad->albuminfo.elist->clist);
+               int i;
+               for (i = 0; i < count; i++) {
+                       current = eina_list_nth(ad->albuminfo.elist->clist, i);
+                       if (current && current->cluster) {
+                               EINA_LIST_FOREACH((*list), tmp_elist, sit) {
+                                       if (sit && sit->cluster) {
+                                               if (!g_strcmp0(current->cluster->uuid, sit->cluster->uuid)) {
+                                                       current->elist = sit->elist;
+                                               }
+                                       }
+                               }
+                       }
+               }
+               _gl_data_util_clear_cluster_list(list);
+
+       } else {
+               if (list) {
+                       gl_dbg("List is not NULL");
+               }
+       }
+}
+
+bool _gl_data_get_cluster_list_edit_mode(void *data)
+{
+       GL_PROFILE_IN;
+       GL_CHECK_FALSE(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       int n_entire_items = 0;
+       Eina_List *list = NULL;
+
+       /* Free old list */
+       _gl_data_copy_cluster_list(ad, true, &list);
+       if (!list ) {
+               gl_dbg("list is null");
+       } else {
+               int count = eina_list_count(list);
+               gl_cluster *current = NULL;
+               int i;
+               for (i = 0; i < count; i++) {
+                       current = eina_list_nth(list, i);
+                       if (current) {
+                               int count1 = eina_list_count(current->elist);
+                       }
+               }
+       }
+       ad->albuminfo.elist = _gl_data_util_calloc_cluster_list();
+       GL_CHECK_FALSE(ad->albuminfo.elist);
+       n_entire_items = __gl_data_get_cluster_list(ad, false);
+       if (n_entire_items <= 0) /* if error code is returned, negative value is possible */
+               return false;
+
+       _gl_update_album_selected_data(data, &list);
+       gl_cluster *current = NULL;
+       int i;
+       int count = eina_list_count(ad->albuminfo.elist->clist);
+       for (i = 0; i < count; i++) {
+               current = eina_list_nth(ad->albuminfo.elist->clist, i);
+               if (current) {
+                       int count1 = eina_list_count(current->elist);
+               }
+       }
+       GL_PROFILE_OUT;
+       return true;
+}
+
+
+int _gl_data_update_cluster_list(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       int len = 0;
+
+       len = __gl_data_get_cluster_list(ad, true);
+       gl_dbg("Cluster list length: %d.", len);
+       if (len <= 0)
+               return -1;
+
+       return 0;
+}
+
+int _gl_data_cluster_list_remove(void *data, gl_cluster *item)
+{
+       GL_CHECK_VAL(item, -1);
+       GL_CHECK_VAL(item->cluster, -1);
+       GL_CHECK_VAL(item->cluster->uuid, -1);
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       gl_cluster *current = NULL;
+       Eina_List *l = NULL;
+
+       GL_CHECK_VAL(ad->albuminfo.elist, -1);
+       GL_CHECK_VAL(ad->albuminfo.elist->clist, -1);
+       Eina_List *cluster_list = ad->albuminfo.elist->clist;
+       EINA_LIST_FOREACH(cluster_list, l, current) {
+               if (current == NULL || current->cluster == NULL ||
+                   current->cluster->uuid == NULL) {
+                       gl_dbgE("Invalid album item!");
+                       continue;
+               }
+
+               if (!g_strcmp0(current->cluster->uuid, item->cluster->uuid)) {
+                       ad->albuminfo.elist->clist = eina_list_remove(ad->albuminfo.elist->clist,
+                                                                     current);
+                       _gl_data_util_free_gcluster(current);
+                       break;
+               }
+               current = NULL;
+       }
+
+       return 0;
+}
+
+int _gl_data_get_cluster_by_id(void *data, const char *cluster_id,
+                              gl_cluster **cluster)
+{
+       GL_CHECK_VAL(data, -1);
+       GL_CHECK_VAL(cluster, -1);
+       GL_CHECK_VAL(cluster_id, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       int i = 0;
+       gl_cluster *current = NULL;
+
+       *cluster = NULL;
+
+       GL_CHECK_VAL(ad->albuminfo.elist, -1);
+       int length = eina_list_count(ad->albuminfo.elist->clist);
+       gl_sdbg("album length: %d, current album id: %s", length, cluster_id);
+
+       for (i = 0; i < length; i++) {
+               current = eina_list_nth(ad->albuminfo.elist->clist, i);
+               if (current && current->cluster && current->cluster->uuid) {
+                       gl_sdbg("cluster : %s", current->cluster->display_name);
+               } else {
+                       gl_dbgE("cluster is NULL");
+                       break;
+               }
+
+               if (!g_strcmp0(current->cluster->uuid, cluster_id)) {
+                       *cluster = current;
+                       gl_dbgW("Found!");
+                       return 0;
+               }
+       }
+       return -1;
+}
+
+int _gl_data_get_cluster_by_path(void *data, const char *path,
+                                gl_cluster **cluster)
+{
+       GL_CHECK_VAL(data, -1);
+       GL_CHECK_VAL(cluster, -1);
+       GL_CHECK_VAL(path, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       int i = 0;
+       gl_cluster *current = NULL;
+
+       *cluster = NULL;
+
+       GL_CHECK_VAL(ad->albuminfo.elist, -1);
+       int length = eina_list_count(ad->albuminfo.elist->clist);
+       gl_sdbg("album length: %d, path: %s", length, path);
+
+       for (i = 0; i < length; i++) {
+               current = eina_list_nth(ad->albuminfo.elist->clist, i);
+               if (current && current->cluster && current->cluster->path) {
+                       gl_sdbg("cluster : %s", current->cluster->display_name);
+               } else {
+                       gl_dbgE("cluster is NULL");
+                       continue;
+               }
+
+               if (!g_strcmp0(current->cluster->path, path)) {
+                       *cluster = current;
+                       gl_dbgW("Found!");
+                       return 0;
+               }
+       }
+       return -1;
+}
+
+/*
+*   append album to selected_albums_elist
+*/
+int _gl_data_albums_selected_list_append(void *data, gl_cluster *item)
+{
+       GL_CHECK_VAL(item, -1);
+       GL_CHECK_VAL(item->cluster, -1);
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       int img_cnt = 0;
+       int sel_cnt = 0;
+       int web_cnt = 0;
+
+       if (GL_STORE_T_PHONE != item->cluster->type ||
+           _gl_data_is_camera_album(item->cluster) ||
+           _gl_data_is_default_album(GL_STR_ALBUM_DOWNLOADS, item->cluster))
+               ++ad->selinfo.disable_hide_cnt;
+       _gl_data_util_check_album_selected_files(item, &img_cnt,
+                                                &sel_cnt, &web_cnt);
+
+       ad->selinfo.images_cnt = ad->selinfo.images_cnt + img_cnt;
+       ad->selinfo.sel_cnt = ad->selinfo.sel_cnt + sel_cnt;
+       ad->albuminfo.sel_elist = eina_list_append(ad->albuminfo.sel_elist, item);
+
+       return 0;
+}
+
+/* Get new record from DB to check mitem exists or was already removed */
+bool _gl_data_exists_item(void *data, const char *id)
+{
+       GL_CHECK_NULL(data);
+       GL_CHECK_FALSE(id);
+       gl_media_s *new_item = NULL;
+
+       _gl_local_data_get_media_by_id((char *)id, &(new_item));
+       if (new_item == NULL) {
+               gl_dbgW("gl_media_s doesn't exist!");
+               return false;
+       } else {
+               _gl_data_type_free_glitem((void **)&new_item);
+               new_item = NULL;
+               return true;
+       }
+}
+
+/**
+* Get medias count of album
+*/
+int _gl_data_get_item_cnt(const char *cluster_id, int album_type, int *item_cnt)
+{
+       GL_CHECK_VAL(item_cnt, -1);
+       int err = -1;
+       gl_sdbg("cluster_id: %s", cluster_id);
+
+       gl_filter_s filter;
+       memset(&filter, 0x00, sizeof(gl_filter_s));
+       _gl_data_util_get_cond(filter.cond);
+       filter.sort_type = MEDIA_CONTENT_ORDER_DESC;
+       g_strlcpy(filter.sort_keyword, GL_CONDITION_ORDER, KEYWORD_LENGTH);
+       filter.collate_type = MEDIA_CONTENT_COLLATE_NOCASE;
+       filter.offset = GL_GET_ALL_RECORDS;
+       filter.count = GL_GET_ALL_RECORDS;
+       filter.with_meta = false;
+
+       GL_CHECK_VAL(cluster_id, -1);
+       if (album_type == GL_STORE_T_PHONE ||
+           album_type == GL_STORE_T_MMC) {
+               /*It's normal album*/
+               err = _gl_local_data_get_media_count(cluster_id, &filter,
+                                                    item_cnt);
+       } else if (album_type == GL_STORE_T_ALL) {
+               /* All albums */
+               gl_dbg("All albums media count.");
+               err = _gl_local_data_get_all_media_count(&filter, item_cnt);
+       } else if (album_type == GL_STORE_T_FAV) {
+               /* Favorite albums */
+               gl_dbg("favorite albums media count.");
+               err = _gl_get_fav_image_count(item_cnt);
+       } else {
+               gl_dbgE("Invalid cluster_id!");
+               return -1;
+       }
+
+       if (err < 0) {
+               gl_dbg("Failed to get item count[err: %d]!", err);
+               return -1;
+       }
+
+       gl_dbg("Item count: %d.", *item_cnt);
+       return 0;
+}
+
+int _gl_data_update_item_cnt(gl_cluster *album)
+{
+       GL_CHECK_VAL(album, -1);
+       GL_CHECK_VAL(album->cluster, -1);
+       int item_count = 0;
+       int err = -1;
+       GL_CHECK_VAL(album->cluster->uuid, -1);
+       err = _gl_data_get_item_cnt(album->cluster->uuid, album->cluster->type, &item_count);
+       if (err != 0) {
+               gl_dbg("_gl_data_get_item_cnt failed!");
+               album->cluster->count = 0;
+               return -1;
+       }
+
+       gl_dbg("Media count: old=%d, new=%d", album->cluster->count,
+              item_count);
+       album->cluster->count = item_count;
+
+       return 0;
+}
+
+int _gl_data_get_items(int start_pos, int end_pos, Eina_List **list)
+{
+       GL_CHECK_VAL(list, -1);
+       int err = -1;
+       gl_filter_s filter;
+
+       memset(&filter, 0x00, sizeof(gl_filter_s));
+       _gl_data_util_get_cond(filter.cond);
+       filter.sort_type = MEDIA_CONTENT_ORDER_DESC;
+       g_strlcpy(filter.sort_keyword, GL_CONDITION_ORDER, KEYWORD_LENGTH);
+       filter.collate_type = MEDIA_CONTENT_COLLATE_NOCASE;
+       if (start_pos != GL_GET_ALL_RECORDS) {
+               filter.offset = start_pos;
+               filter.count = end_pos - start_pos + 1;
+       } else {
+               filter.offset = GL_GET_ALL_RECORDS;
+               filter.count = GL_GET_ALL_RECORDS;
+       }
+       filter.with_meta = true;
+
+       /* Get "All" album medias */
+       gl_dbg("_gl_data_get_items--all media");
+       err = _gl_local_data_get_all_albums_media_list(&filter, list);
+       gl_dbg("Error code: %d", err);
+       return err;
+}
+
+int _gl_data_get_items_album(void *data, gl_cluster *album, int start_pos,
+                            int end_pos, Eina_List **p_elist)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       Eina_List *itemlist = NULL;
+       int err = -1;
+       int store_type = GL_STORE_T_PHONE;
+       gl_filter_s filter;
+
+       memset(&filter, 0x00, sizeof(gl_filter_s));
+       _gl_data_util_get_cond(filter.cond);
+       filter.sort_type = MEDIA_CONTENT_ORDER_DESC;
+       g_strlcpy(filter.sort_keyword, GL_CONDITION_ORDER, KEYWORD_LENGTH);
+       filter.collate_type = MEDIA_CONTENT_COLLATE_NOCASE;
+       filter.offset = start_pos;
+       filter.count = end_pos - start_pos + 1;
+       filter.with_meta = true;
+
+
+       GL_CHECK_VAL(album, -1);
+       GL_CHECK_VAL(album->cluster, -1);
+       gl_dbg("folder start_pos[%d], end_pos[%d]", start_pos, end_pos);
+
+       GL_CHECK_VAL(album->cluster->uuid, -1);
+       store_type = album->cluster->type;
+
+       /* Real album */
+       if (store_type == GL_STORE_T_PHONE ||
+           store_type == GL_STORE_T_MMC) {
+               ad->uginfo.sort_type = filter.sort_type;
+
+               if (start_pos == (GL_FIRST_VIEW_END_POS + 1) &&
+                       end_pos == GL_GET_UNTIL_LAST_RECORD) {
+                       /* Keep medias_elist and medias_cnt unchanged */
+                       gl_dbg("Gridview append idler; Keep medias_elist unchanged.");
+               }
+               err = _gl_local_data_get_album_media_list(&filter,
+                                                         album->cluster->uuid,
+                                                         &itemlist);
+       } else if (store_type == GL_STORE_T_ALL) {
+               /* Get "All" album medias */
+               gl_dbg("All albums");
+               ad->uginfo.sort_type = filter.sort_type;
+
+               if (start_pos == (GL_FIRST_VIEW_END_POS + 1) &&
+                   end_pos == GL_GET_UNTIL_LAST_RECORD) {
+                       /* Keep medias_elist and medias_cnt unchanged */
+                       gl_dbg("Keep medias_elist unchanged");
+               }
+
+               err = _gl_local_data_get_all_albums_media_list(&filter,
+                                                              &itemlist);
+       } else if (store_type == GL_STORE_T_FAV) {
+               /* Get "All" album medias */
+               gl_dbg("fav albums");
+               ad->uginfo.sort_type = filter.sort_type;
+
+               if (start_pos == (GL_FIRST_VIEW_END_POS + 1) &&
+                               end_pos == GL_GET_UNTIL_LAST_RECORD) {
+                       /* Keep medias_elist and medias_cnt unchanged */
+                       gl_dbg("Keep medias_elist unchanged");
+               }
+
+               gl_filter_s filter_fav;
+
+               memset(&filter_fav, 0x00, sizeof(gl_filter_s));
+               _gl_data_util_get_fav_cond(filter_fav.cond);
+               filter_fav.sort_type = MEDIA_CONTENT_ORDER_DESC;
+               g_strlcpy(filter_fav.sort_keyword, GL_CONDITION_ORDER, KEYWORD_LENGTH);
+               filter_fav.collate_type = MEDIA_CONTENT_COLLATE_NOCASE;
+               filter_fav.offset = start_pos;
+               filter_fav.count = end_pos - start_pos + 1;
+               filter_fav.with_meta = true;
+
+               err = _gl_local_data_get_fav_albums_media_list(&filter_fav,
+                               &itemlist);
+       } else {
+               gl_dbgE("Wrong cluster type!");
+               return -1;
+       }
+
+       gl_dbg("Error code: %d", err);
+       if ((err == 0) && (itemlist != NULL)) {
+               __gl_data_append_gitems(data, itemlist, store_type, p_elist);
+       } else if (itemlist) {
+               _gl_data_util_clear_gtype_item_list(&itemlist);
+       }
+
+       gl_dbg("done");
+       return err;
+}
+
+int _gl_data_update_item_list(void *data, Eina_List **sel_id_list,
+                             Eina_List **p_elist)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       Eina_List *itemlist = NULL;
+       int err = -1;
+       int view_mode = gl_get_view_mode(ad);
+       gl_item *gitem = NULL;
+       int store_type = GL_STORE_T_PHONE;
+       gl_filter_s filter;
+
+       memset(&filter, 0x00, sizeof(gl_filter_s));
+       _gl_data_util_get_cond(filter.cond);
+       filter.sort_type = MEDIA_CONTENT_ORDER_DESC;
+       g_strlcpy(filter.sort_keyword, GL_CONDITION_ORDER, KEYWORD_LENGTH);
+       filter.collate_type = MEDIA_CONTENT_COLLATE_NOCASE;
+       filter.offset = GL_GET_ALL_RECORDS;
+       filter.count = GL_GET_ALL_RECORDS;
+       filter.with_meta = true;
+
+       /* In albums tab, or album select view from tag, current album is available */
+       if (_gl_ctrl_get_tab_mode(ad) == GL_CTRL_TAB_ALBUMS ||
+           view_mode == GL_VIEW_THUMBS_SELECT) {
+               gl_cluster *cur_album = _gl_albums_get_current(data);
+               GL_CHECK_VAL(cur_album, -1);
+               GL_CHECK_VAL(cur_album->cluster, -1);
+               GL_CHECK_VAL(cur_album->cluster->uuid, -1);
+               store_type = cur_album->cluster->type;
+               ad->uginfo.sort_type = filter.sort_type;
+
+               if (store_type == GL_STORE_T_ALL) {
+                       gl_dbg("All albums medias");
+                       err = _gl_local_data_get_all_albums_media_list(&filter,
+                                                                      &itemlist);
+               } else if (store_type == GL_STORE_T_FAV) {
+                       gl_filter_s filter_fav;
+
+                       memset(&filter_fav, 0x00, sizeof(gl_filter_s));
+                       _gl_data_util_get_fav_cond(filter_fav.cond);
+                       filter_fav.sort_type = MEDIA_CONTENT_ORDER_DESC;
+                       g_strlcpy(filter_fav.sort_keyword, GL_CONDITION_ORDER, KEYWORD_LENGTH);
+                       filter_fav.collate_type = MEDIA_CONTENT_COLLATE_NOCASE;
+                       filter_fav.offset = GL_GET_ALL_RECORDS;
+                       filter_fav.count = GL_GET_ALL_RECORDS;
+                       filter_fav.with_meta = true;
+                       err = _gl_local_data_get_fav_albums_media_list(&filter_fav, &itemlist);
+               } else {
+                       gl_dbg("Local album medias");
+                       err = _gl_local_data_get_album_media_list(&filter,
+                                                                 cur_album->cluster->uuid,
+                                                                 &itemlist);
+               }
+       }
+
+       gl_dbg("Error code: %d", err);
+       if ((err != 0) || (itemlist == NULL)) {
+               gl_dbgE("(err != 0) || (itemlist == NULL)");
+               /* Clear list of selected ID */
+               if (sel_id_list && *sel_id_list) {
+                       eina_list_free(*sel_id_list);
+                       *sel_id_list = NULL;
+               }
+
+               if (itemlist)
+                       _gl_data_util_clear_gtype_item_list(&itemlist);
+
+               return err;
+       }
+
+       bool b_selected = false;
+       gl_media_s *item = NULL;
+       EINA_LIST_FREE(itemlist, item) {
+               if (item == NULL || item->uuid == NULL) {
+                       gl_dbgE("Invalid item!");
+                       continue;
+               }
+               gitem = _gl_data_util_calloc_gitem();
+               if (gitem == NULL) {
+                       gl_dbgE("_gl_data_util_calloc_gitem failed!");
+                       _gl_data_type_free_glitem((void **)&item);
+                       continue;
+               }
+               gl_cluster *cur_album = _gl_albums_get_current(data);
+               if (cur_album == NULL) {
+                       free(gitem);
+                       return -1;
+               }
+               gitem->ad = ad;
+               gitem->item = item;
+               gitem->store_type = store_type;
+               gitem->album = cur_album;
+               /* Append item to medias_elist */
+               *p_elist = eina_list_append(*p_elist, gitem);
+
+               if (sel_id_list && *sel_id_list) {
+                       b_selected = _gl_data_util_check_selected_str_id(sel_id_list,
+                                                                        item->uuid);
+                       if (b_selected) {
+                               b_selected = false;
+                               /* Set checkbox state */
+                               gitem->checked = true;
+                               /* Append gitem to selected list */
+                               _gl_data_selected_list_append(ad, gitem);
+                       }
+               }
+       }
+
+       /* Clear list of selected ID */
+       if (sel_id_list && *sel_id_list)
+               _gl_data_util_free_selected_str_list(sel_id_list);
+       gl_dbg("done");
+       return err;
+}
+
+int _gl_data_get_album_cover(gl_cluster *album, gl_item **pgitem,
+                            media_content_order_e sort_type)
+{
+       GL_CHECK_VAL(pgitem, -1);
+       GL_CHECK_VAL(album, -1);
+       GL_CHECK_VAL(album->cluster, -1);
+       GL_CHECK_VAL(album->cluster->uuid, -1);
+       GL_CHECK_VAL(album->ad, -1);
+       Eina_List *item_list = NULL;
+       gl_media_s *item = NULL;
+       gl_item *gitem = NULL;
+       int err = -1;
+       gl_filter_s filter;
+
+       memset(&filter, 0x00, sizeof(gl_filter_s));
+       _gl_data_util_get_cond(filter.cond);
+       filter.sort_type = sort_type;
+       g_strlcpy(filter.sort_keyword, GL_CONDITION_ORDER, KEYWORD_LENGTH);
+       filter.collate_type = MEDIA_CONTENT_COLLATE_NOCASE;
+       filter.offset = GL_FIRST_VIEW_START_POS;
+       filter.count = 1;
+       filter.with_meta = false;
+
+       if (album->cluster->type == GL_STORE_T_PHONE ||
+           album->cluster->type == GL_STORE_T_MMC) {
+               /* real album */
+               err = _gl_local_data_get_album_cover(&filter,
+                                                    album->cluster->uuid,
+                                                    &item_list);
+               if (err != 0 || item_list == NULL) {
+                       gl_dbgE("Get album medias failed[%d]", err);
+                       if (item_list)
+                               _gl_data_util_clear_gtype_item_list(&item_list);
+                       return -1;
+               }
+
+               EINA_LIST_FREE(item_list, item) {
+                       if (item == NULL) {
+                               gl_dbgE("Invalid gl_media_s!");
+                               return -1;
+                       }
+                       gitem = _gl_data_util_calloc_gitem();
+                       if (gitem == NULL) {
+                               gl_dbgE("_gl_data_util_calloc_gitem failed!");
+                               _gl_data_type_free_glitem((void **)&item);
+                               return -1;
+                       }
+                       gitem->item = item;
+                       gitem->album = album;
+                       *pgitem = gitem;
+                       break;
+               }
+       } else if (album->cluster->type == GL_STORE_T_ALL) {
+               /* add "All" album */
+               gl_appdata *ad = (gl_appdata *)album->ad;
+               gl_dbg("db_get_item_list--all media");
+               /* use new api to get all local files, mmc status checking would be done in new apis */
+               err = _gl_local_data_get_all_albums_cover(&filter, &item_list);
+               if (err != 0 || item_list == NULL) {
+                       gl_dbgE("Failed to get all medias[%d]!", err);
+                       if (item_list)
+                               _gl_data_util_clear_gtype_item_list(&item_list);
+
+                       return -1;
+               }
+
+               EINA_LIST_FREE(item_list, item) {
+                       if (item == NULL) {
+                               gl_dbgE("Invalid gl_media_s!");
+                               return -1;
+                       }
+                       gitem = _gl_data_util_calloc_gitem();
+                       if (gitem == NULL) {
+                               gl_dbgE("_gl_data_util_calloc_gitem failed!");
+                               _gl_data_type_free_glitem((void **)&item);
+                               return -1;
+                       }
+                       gitem->item = item;
+                       gitem->album = album;
+                       gitem->store_type = album->cluster->type;
+                       *pgitem = gitem;
+                       /* Get latest item for saving lastest modified time */
+                       ad->maininfo.last_mtime = item->mtime;
+                       break;
+               }
+       } else if (album->cluster->type == GL_STORE_T_FAV) {
+               /* add "fav" album */
+               gl_filter_s filter_fav;
+
+               memset(&filter_fav, 0x00, sizeof(gl_filter_s));
+               _gl_data_util_get_fav_cond(filter_fav.cond);
+               filter_fav.sort_type = sort_type;
+               g_strlcpy(filter_fav.sort_keyword, GL_CONDITION_ORDER, KEYWORD_LENGTH);
+               filter_fav.collate_type = MEDIA_CONTENT_COLLATE_NOCASE;
+               filter_fav.offset = GL_GET_ALL_RECORDS;
+               filter_fav.count = GL_GET_ALL_RECORDS;
+               filter_fav.with_meta = false;
+               gl_dbg("db_get_item_list--fav media");
+               /* use new api to get all local files, mmc status checking would be done in new apis */
+               err = _gl_local_data_get_fav_albums_cover(&filter_fav, &item_list);
+               if (err != 0 || item_list == NULL) {
+                       gl_dbgE("Failed to get fav medias[%d]!", err);
+                       if (item_list)
+                               _gl_data_util_clear_gtype_item_list(&item_list);
+                       return -1;
+               }
+
+               EINA_LIST_FREE(item_list, item) {
+                       if (item == NULL) {
+                               gl_dbgE("Invalid gl_media_s!");
+                               return -1;
+                       }
+                       gitem = _gl_data_util_calloc_gitem();
+                       if (gitem == NULL) {
+                               gl_dbgE("_gl_data_util_calloc_gitem failed!");
+                               _gl_data_type_free_glitem((void **)&item);
+                               return -1;
+                       }
+                       gitem->item = item;
+                       gitem->album = album;
+                       gitem->store_type = album->cluster->type;
+                       *pgitem = gitem;
+                       break;
+               }
+       } else {
+               gl_dbgE("Wrong cluster type!");
+               return -1;
+       }
+
+       if (*pgitem)
+               gl_sdbg("Album(%s) cover[%p]", album->cluster->display_name,
+                      *pgitem);
+       return 0;
+}
+
+bool _gl_data_is_item_cnt_zero(void *data, media_content_type_e type,
+                              Eina_List *elist)
+{
+       GL_CHECK_VAL(data, false);
+       gl_item *gitem = NULL;
+       Eina_List *l = NULL;
+
+       EINA_LIST_FOREACH(elist, l, gitem) {
+               if (gitem && gitem->item) {
+                       if (gitem->item->type == type) {
+                               return false;
+                       }
+               }
+       }
+
+       gl_dbg(" item_cnt = 0 ");
+       return true;
+}
+
+int _gl_data_get_first_item(media_content_type_e type, Eina_List *elist,
+                           gl_item **p_gitem)
+{
+       GL_CHECK_VAL(p_gitem, -1);
+       GL_CHECK_VAL(elist, -1);
+
+       /* Get first item for 'All' */
+       if (type == MEDIA_CONTENT_TYPE_OTHERS) {
+               *p_gitem = eina_list_nth(elist, 0);
+               return 0;
+       }
+
+       /* Get first item for "Images" or "Videos" */
+       Eina_List *l = NULL;
+       gl_item *gitem = NULL;
+       EINA_LIST_FOREACH(elist, l, gitem) {
+               if (gitem && gitem->item && gitem->item->type == type) {
+                       *p_gitem = gitem;
+                       return 0;
+               }
+       }
+
+       gl_dbgW("Not found!");
+       return -1;
+}
+
+int _gl_data_get_orig_item_by_index(void *data, gl_item **gitem, int idx)
+{
+       return 0;
+}
+
+/* Remove file from DB and file system */
+int _gl_data_delete_file(char *path, char *uuid, bool is_hide)
+{
+       GL_CHECK_VAL(uuid, -1);
+       GL_CHECK_VAL(path, -1);
+       int ret = -1;
+
+       if (!gl_file_unlink(path)) {
+               char *error_msg = calloc(1, GL_ARRAY_LEN_MAX);
+               GL_CHECK_VAL(error_msg, -1);
+               strerror_r(errno, error_msg, GL_ARRAY_LEN_MAX);
+               gl_dbgE("file_unlink failed[%s]!", error_msg);
+               GL_FREE(error_msg);
+               //return -1;
+       }
+
+       /* Delete record from DB then delete media from file system */
+       ret = media_info_delete_from_db(uuid);
+
+       if (ret != 0) {
+               gl_dbgE("media_info_delete_from_db failed[%d]!", ret);
+               return -1;
+       }
+
+       return 0;
+}
+
+gl_item *_gl_data_selected_list_get_nth(void *data, int idx)
+{
+       GL_CHECK_NULL(data);
+       gl_appdata *ad = (gl_appdata *)data;
+
+       return eina_list_nth(ad->selinfo.elist, idx);
+}
+
+int _gl_data_free_burstshot_items(gl_item *gitem, Eina_List *elist)
+{
+       GL_CHECK_VAL(elist, -1);
+       GL_CHECK_VAL(gitem, -1);
+       GL_CHECK_VAL(gitem->item, -1);
+
+       if (gitem->item->type != MEDIA_CONTENT_TYPE_IMAGE ||
+           gitem->item->image_info == NULL ||
+           gitem->item->image_info->burstshot_id == NULL)
+               return -1;
+
+       int i = gitem->sequence;
+       int cnt = eina_list_count(elist);
+       gl_item *cur_gitem = NULL;
+       char *burstshot_id = gitem->item->image_info->burstshot_id;
+       for (; i < cnt; i++) {
+               cur_gitem = eina_list_nth(elist, i);
+               if (cur_gitem == NULL || cur_gitem->item == NULL ||
+                   cur_gitem->item->uuid == NULL) {
+                       gl_dbgE("Invalid gitem. continue!");
+                       continue;
+               } else if (cur_gitem->item->type != MEDIA_CONTENT_TYPE_IMAGE ||
+                          cur_gitem->item->image_info == NULL ||
+                          cur_gitem->item->image_info->burstshot_id == NULL) {
+                       /* No more same burstshot items */
+                       break;
+               }
+
+               if (!g_strcmp0(burstshot_id, cur_gitem->item->image_info->burstshot_id)) {
+                       _gl_data_util_free_gitem(cur_gitem);
+               } else {
+                       /* No more same burstshot items */
+                       break;
+               }
+               cur_gitem = NULL;
+       }
+       return 0;
+}
+
+int _gl_data_selected_add_burstshot(void *data, gl_item *gitem, Eina_List *elist)
+{
+       GL_CHECK_VAL(elist, -1);
+       GL_CHECK_VAL(gitem, -1);
+       GL_CHECK_VAL(gitem->item, -1);
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+
+       if (gitem->item->type != MEDIA_CONTENT_TYPE_IMAGE ||
+           gitem->item->image_info == NULL ||
+           gitem->item->image_info->burstshot_id == NULL)
+               return -1;
+
+       int i = gitem->sequence;
+       int cnt = eina_list_count(elist);
+       gl_item *cur_gitem = NULL;
+       char *burstshot_id = gitem->item->image_info->burstshot_id;
+       for (; i < cnt; i++) {
+               cur_gitem = eina_list_nth(elist, i);
+               if (cur_gitem == NULL || cur_gitem->item == NULL ||
+                   cur_gitem->item->uuid == NULL) {
+                       gl_dbgE("Invalid gitem. continue!");
+                       continue;
+               } else if (cur_gitem->item->type != MEDIA_CONTENT_TYPE_IMAGE ||
+                       cur_gitem->item->image_info == NULL ||
+                       cur_gitem->item->image_info->burstshot_id == NULL) {
+                       /* No more same burstshot items */
+                       break;
+               }
+
+               if (!g_strcmp0(burstshot_id, cur_gitem->item->image_info->burstshot_id)) {
+                       cur_gitem->checked = gitem->checked;
+                       ad->selinfo.images_cnt++;
+#ifdef _USE_ROTATE_BG
+                       if (cur_gitem->item->ext &&
+                           !strcasecmp(cur_gitem->item->ext, GL_JPEG_FILE_EXT))
+                               if (_gl_exif_check_img_type(cur_gitem->item->file_url))
+                                       ad->selinfo.jpeg_cnt++;
+#endif
+                       if (gitem->item->storage_type != GL_STORE_T_PHONE)
+                               ++ad->selinfo.disable_hide_cnt;
+                       ad->selinfo.elist = eina_list_append(ad->selinfo.elist,
+                                                            cur_gitem);
+               } else {
+                       /* No more same burstshot items */
+                       break;
+               }
+               cur_gitem = NULL;
+       }
+       return 0;
+}
+
+bool _gl_data_get_burstshot_status(void *data, gl_item *gitem)
+{
+       GL_CHECK_FALSE(gitem);
+       if (gitem->item == NULL ||
+           gitem->item->type != MEDIA_CONTENT_TYPE_IMAGE ||
+           gitem->item->image_info == NULL ||
+           gitem->item->image_info->burstshot_id == NULL)
+               return gitem->checked;
+
+       GL_CHECK_FALSE(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_CHECK_FALSE(ad->selinfo.elist);
+       Eina_List *sel_list = ad->selinfo.elist;
+
+       Eina_List *l = NULL;
+       gl_item *current = NULL;
+       EINA_LIST_FOREACH(sel_list, l, current) {
+               if (current == NULL || current->item == NULL ||
+                   current->item->type != MEDIA_CONTENT_TYPE_IMAGE ||
+                   current->item->image_info == NULL ||
+                   current->item->image_info->burstshot_id == NULL) {
+                       gl_dbgE("Invalid gitem!");
+                       continue;
+               }
+               if (!g_strcmp0(gitem->item->image_info->burstshot_id,
+                              current->item->image_info->burstshot_id))
+                       return true;
+       }
+       return false;
+}
+
+/* b_selall, append item for select-all case */
+int _gl_data_selected_list_append(void *data, gl_item *gitem)
+{
+       GL_CHECK_VAL(gitem, -1);
+       GL_CHECK_VAL(gitem->item, -1);
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+
+       /* Update selected images count */
+       if (gitem->item->type == MEDIA_CONTENT_TYPE_IMAGE) {
+               ad->selinfo.images_cnt++;
+#ifdef _USE_ROTATE_BG
+               gl_dbg("Ext: %s", gitem->item->ext);
+               if (gitem->item->ext &&
+                   !strcasecmp(gitem->item->ext, GL_JPEG_FILE_EXT)) {
+                        if (_gl_exif_check_img_type(gitem->item->file_url))
+                               ad->selinfo.jpeg_cnt++;
+               }
+#endif
+       }
+       if (gitem->item->storage_type != GL_STORE_T_PHONE)
+               ++ad->selinfo.disable_hide_cnt;
+
+       Eina_List *sel_list = ad->selinfo.elist;
+       sel_list = eina_list_append(sel_list, gitem);
+       ad->selinfo.elist = sel_list;
+       return 0;
+}
+
+int _gl_data_selected_fav_list_remove(void *data, gl_item *gitem)
+{
+       GL_CHECK_VAL(gitem, -1);
+       GL_CHECK_VAL(gitem->item, -1);
+       GL_CHECK_VAL(gitem->item->uuid, -1);
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       gl_item *current = NULL;
+       Eina_List *l = NULL;
+
+       EINA_LIST_FOREACH(ad->selinfo.fav_elist, l, current) {
+               if (current == NULL || current->item == NULL ||
+                   current->item->uuid == NULL) {
+                       gl_dbgE("Invalid gitem!");
+                       continue;
+               }
+               if (!g_strcmp0(current->item->uuid, gitem->item->uuid)) {
+                       ad->selinfo.fav_elist = eina_list_remove(ad->selinfo.fav_elist,
+                                                            current);
+               }
+               current = NULL;
+       }
+       return 0;
+}
+
+/* b_selall, remove item for select-all case */
+int _gl_data_selected_list_remove(void *data, gl_item *gitem)
+{
+       GL_CHECK_VAL(gitem, -1);
+       GL_CHECK_VAL(gitem->item, -1);
+       GL_CHECK_VAL(gitem->item->uuid, -1);
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       gl_item *current = NULL;
+       Eina_List *l = NULL;
+       bool b_removed = false;
+       char *burstshot_id = NULL;
+       if (gitem->item->type == MEDIA_CONTENT_TYPE_IMAGE &&
+           gitem->item->image_info)
+               burstshot_id = gitem->item->image_info->burstshot_id;
+
+       EINA_LIST_FOREACH(ad->selinfo.elist, l, current) {
+               if (current == NULL || current->item == NULL ||
+                   current->item->uuid == NULL) {
+                       gl_dbgE("Invalid gitem!");
+                       continue;
+               }
+               if (!g_strcmp0(current->item->uuid, gitem->item->uuid) ||
+                   (burstshot_id &&
+                    current->item->type == MEDIA_CONTENT_TYPE_IMAGE &&
+                    current->item->image_info &&
+                    current->item->image_info->burstshot_id &&
+                    !g_strcmp0(burstshot_id, current->item->image_info->burstshot_id))) {
+                       if (gitem->item->storage_type != GL_STORE_T_PHONE)
+                               ad->selinfo.disable_hide_cnt--;
+                       /* Update selected images count */
+                       if (current->item->type == MEDIA_CONTENT_TYPE_IMAGE &&
+                           ad->selinfo.images_cnt > 0) {
+                               ad->selinfo.images_cnt--;
+#ifdef _USE_ROTATE_BG
+                               if (current->item->ext &&
+                                   !strcasecmp(current->item->ext, GL_JPEG_FILE_EXT) &&
+                                   ad->selinfo.jpeg_cnt > 0)
+                                       if (_gl_exif_check_img_type(current->item->file_url))
+                                               ad->selinfo.jpeg_cnt--;
+#endif
+                       }
+
+                       ad->selinfo.elist = eina_list_remove(ad->selinfo.elist,
+                                                            current);
+                       if (burstshot_id == NULL) {
+                               break;
+                       } else {
+                               current->checked = gitem->checked;
+                               b_removed = true;
+                       }
+               } else if (b_removed) {
+                       /* Already removed and not more items, quit */
+                       break;
+               }
+               current = NULL;
+       }
+       return 0;
+}
+
+/* Just remove one media from selected list, it just for selected view */
+int _gl_data_selected_list_remove_one(void *data, gl_item *gitem)
+{
+       GL_CHECK_VAL(gitem, -1);
+       GL_CHECK_VAL(gitem->item, -1);
+       GL_CHECK_VAL(gitem->item->uuid, -1);
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+
+       /* Update selected images count */
+       if (gitem->item->type == MEDIA_CONTENT_TYPE_IMAGE &&
+           ad->selinfo.images_cnt > 0) {
+               ad->selinfo.images_cnt--;
+#ifdef _USE_ROTATE_BG
+               if (gitem->item->ext &&
+                       !strcasecmp(gitem->item->ext,GL_JPEG_FILE_EXT) &&
+                       ad->selinfo.jpeg_cnt > 0) {
+                       if (_gl_exif_check_img_type(gitem->item->file_url))
+                               ad->selinfo.jpeg_cnt--;
+               }
+#endif
+       }
+       if (gitem->item->storage_type != GL_STORE_T_PHONE)
+               ad->selinfo.disable_hide_cnt--;
+       ad->selinfo.elist = eina_list_remove(ad->selinfo.elist,
+                                            gitem);
+       return 0;
+}
+
+int _gl_data_selected_list_finalize(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+
+       if (ad->selinfo.elist == NULL)
+               return -1;
+
+       gl_item *gitem = NULL;
+       int i;
+       int count;
+       if (ad->gridinfo.medias_elist) {
+               count = eina_list_count(ad->gridinfo.medias_elist);
+               for (i = 0; i < count ; i++) {
+                       gitem = eina_list_nth(ad->gridinfo.medias_elist, i);
+                       if (gitem) {
+                               gitem->checked = false;
+                       }
+               }
+       }
+       EINA_LIST_FREE(ad->selinfo.elist, gitem) {
+               if (gitem) {
+                       gitem->checked = false;
+               }
+       }
+
+       ad->selinfo.elist = NULL;
+       ad->selinfo.images_cnt = 0;
+       ad->selinfo.disable_hide_cnt = 0;
+#ifdef _USE_ROTATE_BG
+       ad->selinfo.jpeg_cnt = 0;
+#endif
+       gl_dbg("Selected list freed");
+       return 0;
+}
+
+int _gl_data_clear_selected_info(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+
+       if (ad->selinfo.elist == NULL)
+               return -1;
+
+       eina_list_free(ad->selinfo.elist);
+       gl_dbg("eina free selected list");
+
+       ad->selinfo.elist = NULL;
+       ad->selinfo.images_cnt = 0;
+       ad->selinfo.disable_hide_cnt = 0;
+#ifdef _USE_ROTATE_BG
+       ad->selinfo.jpeg_cnt = 0;
+#endif
+       return 0;
+}
+
+int _gl_data_copy_selected_info_save_current_selected(void *data, Eina_List **elist)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+
+       if (ad->selinfo.elist == NULL) {
+               return -1;
+       }
+
+       _gl_data_util_filter_selected_str_ids(&(ad->selinfo.elist), elist);
+       gl_item *gitem = NULL;
+       gl_item *gitem1 = NULL;
+       Eina_List *tmp;
+       int count = eina_list_count(ad->gridinfo.medias_elist);
+       int i;
+       for (i = 0; i < count ; i++) {
+               gitem1 = eina_list_nth(ad->gridinfo.medias_elist, i);
+               EINA_LIST_FOREACH(ad->selinfo.elist, tmp, gitem) {
+                       if (gitem && gitem->item && gitem->item->uuid && gitem1 && gitem1->item && gitem1->item->uuid) {
+                               if (!strcmp(gitem->item->uuid, gitem1->item->uuid)) {
+                                       ad->selinfo.elist = eina_list_remove(ad->selinfo.elist, gitem);
+                               }
+                       }
+
+               }
+       }
+
+       return 0;
+}
+
+int _gl_data_selected_list_count(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+
+       return eina_list_count(ad->selinfo.elist);
+}
+
+bool _gl_data_is_root_path(const char *path)
+{
+       if (path == NULL)
+               return false;
+
+       if (!g_strcmp0(GL_ROOT_PATH_PHONE, path) ||
+           !g_strcmp0(GL_ROOT_PATH_MMC, path)) {
+               gl_sdbg("Root path: %s", path);
+               return true;
+       }
+
+       return false;
+}
+
+bool _gl_data_check_root_type(const char *path, const char *root)
+{
+       if (path == NULL || root == NULL)
+               return false;
+
+       if (!strncmp(root, path, strlen(root))) {
+               gl_sdbg("Root path: %s", path);
+               return true;
+       }
+
+       return false;
+}
+
+bool _gl_data_is_albums_selected_empty(void *data)
+{
+       GL_CHECK_VAL(data, 1);
+       gl_appdata *ad = (gl_appdata *)data;
+       gl_cluster *album = NULL;
+
+       Eina_List *l = NULL;
+       EINA_LIST_FOREACH(ad->albuminfo.sel_elist, l, album) {
+               if (album && album->cluster && album->cluster->count)
+                       return false;
+               album = NULL;
+       }
+
+       return true;
+}
+
+/**
+ * If 'All albums' selected for share, only append files contained in 'All albums';
+ * If both local albums and web albums selected, 'Share' item should be disabled.
+ * path_str -> local albums, path_str2 -> web albums
+ */
+int _gl_data_get_albums_selected_files(void *data, void *get_cb, void *cb_data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_CHECK_VAL(ad->albuminfo.sel_elist, -1);
+       gl_cluster *album = NULL;
+       Eina_List *l = NULL;
+       int err = -1;
+       Eina_List *elist = NULL;
+       gl_filter_s filter;
+       int count = 0;
+
+       int (*_get_cb) (void *cb_data, gl_media_s *item) = NULL;
+       if (get_cb)
+               _get_cb = get_cb;
+
+       memset(&filter, 0x00, sizeof(gl_filter_s));
+       _gl_data_util_get_cond(filter.cond);
+       filter.sort_type = MEDIA_CONTENT_ORDER_DESC;
+       g_strlcpy(filter.sort_keyword, GL_CONDITION_ORDER,
+                 KEYWORD_LENGTH);
+       filter.collate_type = MEDIA_CONTENT_COLLATE_NOCASE;
+       filter.offset = GL_GET_ALL_RECORDS;
+       filter.count = GL_GET_ALL_RECORDS;
+       filter.with_meta = false;
+
+       EINA_LIST_FOREACH(ad->albuminfo.sel_elist, l, album) {
+               if (album == NULL || album->cluster == NULL ||
+                   album->cluster->uuid == NULL) {
+                       continue;
+               }
+               if (!strcmp(GL_ALBUM_ALL_ID, album->cluster->uuid))
+                       err = _gl_local_data_get_all_albums_media_list(&filter,
+                                                                      &elist);
+               else
+                       err = _gl_local_data_get_album_media_list(&filter,
+                                                                 album->cluster->uuid,
+                                                                 &elist);
+               if ((err == 0) && (elist != NULL)) {
+                       gl_media_s *item = NULL;
+                       EINA_LIST_FREE(elist, item) {
+                               if (item == NULL) {
+                                       gl_dbgE("Invalid item!");
+                                       continue;
+                               }
+                               if (_get_cb)
+                                       _get_cb(cb_data, item);
+                               count++;
+                               item = NULL;
+                       }
+               }
+       }
+       return count;
+}
+
+int _gl_data_get_albums_selected_cnt(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+
+       return eina_list_count(ad->albuminfo.sel_elist);
+}
+
+int _gl_data_albums_selected_list_remove(void *data, gl_cluster *item)
+{
+       GL_CHECK_VAL(item, -1);
+       GL_CHECK_VAL(item->cluster, -1);
+       GL_CHECK_VAL(item->cluster->uuid, -1);
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       gl_cluster *current = NULL;
+       Eina_List *l = NULL;
+
+       if (GL_STORE_T_PHONE != item->cluster->type ||
+           _gl_data_is_camera_album(item->cluster) ||
+           _gl_data_is_default_album(GL_STR_ALBUM_DOWNLOADS, item->cluster))
+               --ad->selinfo.disable_hide_cnt;
+
+       Eina_List *sel_list = ad->albuminfo.sel_elist;
+       EINA_LIST_FOREACH(sel_list, l, current) {
+               if (current == NULL || current->cluster == NULL ||
+                   current->cluster->uuid == NULL) {
+                       gl_dbgE("Invalid gcluster!");
+                       continue;
+               }
+
+               if (!g_strcmp0(current->cluster->uuid, item->cluster->uuid)) {
+                       int img_cnt = 0;
+                       int sel_cnt = 0;
+                       int web_cnt = 0;
+
+                       _gl_data_util_check_album_selected_files(item,
+                                                                &img_cnt,
+                                                                &sel_cnt,
+                                                                &web_cnt);
+
+                       ad->selinfo.images_cnt = ad->selinfo.images_cnt - img_cnt;
+                       ad->selinfo.sel_cnt = ad->selinfo.sel_cnt - sel_cnt;
+
+                       ad->albuminfo.sel_elist = eina_list_remove(ad->albuminfo.sel_elist,
+                                                                  current);
+                       break;
+               }
+               current = NULL;
+       }
+
+       return 0;
+}
+
+int _gl_data_finalize_albums_selected_list(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       gl_cluster *item = NULL;
+
+       Eina_List *sel_list = ad->albuminfo.sel_elist;
+       EINA_LIST_FREE(sel_list, item) {
+               if (item)
+                       item->checked = false;
+       }
+
+       ad->selinfo.images_cnt = 0;
+       ad->selinfo.disable_hide_cnt = 0;
+       ad->selinfo.sel_cnt = 0;
+       ad->albuminfo.sel_elist = NULL;
+       return 0;
+}
+
+int _gl_data_init(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       int err = _gl_local_data_connect();
+       if (err != 0)
+               gl_dbgE("Connect to media-content DB failed!");
+       return err;
+}
+
+int _gl_data_finalize(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       int err = _gl_local_data_disconnect();
+       if (err != 0)
+               gl_dbgE("Disconnect with media-content DB failed!");
+       return err;
+}
+
+int _gl_data_delete_media(void *data, gl_media_s *media_item)
+{
+       GL_CHECK_VAL(media_item, -1);
+       return media_info_delete_from_db(media_item->uuid);
+}
+
+/* Creates a thumbnail image for given the media, asynchronously */
+int _gl_data_create_thumb(gl_media_s *item,
+                         media_thumbnail_completed_cb callback,
+                         void *user_data)
+{
+       GL_CHECK_VAL(item, -1);
+       GL_CHECK_VAL(item->media_h, -1);
+       int ret = -1;
+       gl_sdbg("File[%s]", item->file_url);
+
+       ret = media_info_create_thumbnail(item->media_h, callback, user_data);
+       if (ret != MEDIA_CONTENT_ERROR_NONE) {
+               gl_dbgE("Failed to create thumbnail[%d]!", ret);
+               return -1;
+       }
+       item->b_create_thumb = true;
+       return 0;
+}
+
+int _gl_data_cancel_thumb(gl_media_s *item)
+{
+       GL_CHECK_VAL(item, -1);
+       GL_CHECK_VAL(item->media_h, -1);
+
+       media_info_cancel_thumbnail(item->media_h);
+       item->b_create_thumb = false;
+       return 0;
+}
+
+bool _gl_data_is_album_exists(void *data, gl_cluster *album)
+{
+       GL_CHECK_FALSE(data);
+       GL_CHECK_FALSE(album);
+       GL_CHECK_FALSE(album->cluster);
+       GL_CHECK_FALSE(album->cluster->path);
+       return _gl_local_data_is_album_exists(album->cluster->path);
+}
+
+int _gl_data_save_selected_str_ids(void *data, Eina_List **elist)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       /* Get ID list of selected items */
+       if (ad->selinfo.elist == NULL)
+               return -1;
+       _gl_data_util_get_selected_str_ids(&(ad->selinfo.elist), elist);
+       /* Reset old flags */
+       ad->selinfo.images_cnt = 0;
+       ad->selinfo.disable_hide_cnt = 0;
+#ifdef _USE_ROTATE_BG
+       ad->selinfo.jpeg_cnt = 0;
+#endif
+       return 0;
+}
+
+int _gl_data_restore_selected(Eina_List *sel_ids, gl_item *gitem)
+{
+       GL_CHECK_VAL(gitem, -1);
+       GL_CHECK_VAL(gitem->item, -1);
+       if (sel_ids) {
+               bool b_selected = false;
+               b_selected = _gl_data_check_selected_id(sel_ids,
+                                                       gitem->item->uuid);
+               if (b_selected) {
+                       gl_dbg("b_selected");
+                       b_selected = false;
+                       /* Set checkbox state */
+                       gitem->checked = true;
+                       gitem->album->elist = eina_list_append(gitem->album->elist, gitem);
+               }
+       }
+       return 0;
+}
+
+int _gl_data_restore_update_selected(Eina_List *sel_ids, gl_item *gitem)
+{
+       GL_CHECK_VAL(gitem, -1);
+       GL_CHECK_VAL(gitem->item, -1);
+
+       if (sel_ids) {
+               bool b_selected = false;
+               b_selected = _gl_data_check_selected_id(sel_ids,
+                                                       gitem->item->uuid);
+               if (b_selected) {
+                       gl_dbg("b_selected");
+                       b_selected = false;
+                       /* Set checkbox state */
+                       gitem->checked = true;
+                       gitem->album->elist = eina_list_append(gitem->album->elist, gitem);
+               }
+       }
+       return 0;
+}
+
+bool _gl_data_check_selected_id(Eina_List *sel_id_list, const char *id)
+{
+       GL_CHECK_FALSE(sel_id_list);
+       GL_CHECK_FALSE(id);
+       Eina_List *tmp_elist = NULL;
+       gl_item *sit = NULL;
+       if (eina_list_count(sel_id_list) == 0) {
+               gl_dbgE("sel_id_list is empty!");
+               return false;
+       }
+       EINA_LIST_FOREACH(sel_id_list, tmp_elist, sit) {
+               if (sit == NULL || sit->item ==NULL || sit->item->uuid == NULL) {
+                       gl_dbgE("Invalid p_id!");
+                       sit = NULL;
+                       continue;
+               }
+               if (g_strcmp0(id, sit->item->uuid)) {
+                       sit = NULL;
+                       continue;
+               }
+               return true;
+       }
+       return false;
+}
+
+
diff --git a/src/data/gl-local-data.c b/src/data/gl-local-data.c
new file mode 100644 (file)
index 0000000..c35783d
--- /dev/null
@@ -0,0 +1,1221 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#include <media_content.h>
+#include <media_info.h>
+#include <string.h>
+#include <glib.h>
+#include "gl-local-data.h"
+#include "gl-data-util.h"
+#include "gl-debug.h"
+#include "gl-thread-util.h"
+#include "gl-fs.h"
+#include "gl-file-util.h"
+
+typedef struct _gl_transfer_data_t gl_transfer_data_s;
+typedef struct _gl_foreach_data_t gl_foreach_data_s;
+
+struct _gl_transfer_data_t {
+       void **userdata;
+       filter_h filter;
+       char *album_id;
+       bool with_meta;
+};
+
+struct _gl_foreach_data_t {
+       void **userdata;
+       filter_h filter;
+       char *album_id;
+       bool with_meta;
+};
+
+static int __gl_local_data_create_filter(gl_filter_s *condition, filter_h *filter)
+{
+       GL_CHECK_VAL(filter, -1);
+       GL_CHECK_VAL(condition, -1);
+       int ret = -1;
+       filter_h tmp_filter = NULL;
+       ret = media_filter_create(&tmp_filter);
+       if (ret != MEDIA_CONTENT_ERROR_NONE) {
+               gl_dbgE("Fail to create filter");
+               return -1;
+       }
+
+       if (strlen(condition->cond) > 0) {
+               ret = media_filter_set_condition(tmp_filter, condition->cond,
+                                                condition->collate_type);
+               if (ret != MEDIA_CONTENT_ERROR_NONE) {
+                       gl_dbgE("Fail to set condition");
+                       goto GL_LOCAL_FAILED;
+               }
+       }
+
+       if (strlen(condition->sort_keyword) > 0) {
+               ret = media_filter_set_order(tmp_filter, condition->sort_type,
+                                            condition->sort_keyword,
+                                            condition->collate_type);
+               if (ret != MEDIA_CONTENT_ERROR_NONE) {
+                       gl_dbgE("Fail to set order");
+                       goto GL_LOCAL_FAILED;
+               }
+       }
+
+       if (condition->offset != -1 && condition->count != -1 &&
+           condition->count > 0) {
+               ret = media_filter_set_offset(tmp_filter, condition->offset,
+                                             condition->count);
+               if (ret != MEDIA_CONTENT_ERROR_NONE) {
+                       gl_dbgE("Fail to set offset");
+                       goto GL_LOCAL_FAILED;
+               }
+       }
+
+       *filter = tmp_filter;
+       return 0;
+
+ GL_LOCAL_FAILED:
+
+       if (tmp_filter) {
+               media_filter_destroy(tmp_filter);
+               tmp_filter = NULL;
+               *filter = NULL;
+       }
+       return -1;
+}
+
+static int __gl_local_data_destroy_filter(filter_h filter)
+{
+       GL_CHECK_VAL(filter, -1);
+       if (media_filter_destroy(filter) != MEDIA_CONTENT_ERROR_NONE) {
+               gl_dbgE("Failed to destroy filter!");
+               return -1;
+       }
+
+       return 0;
+}
+
+static bool __gl_local_data_get_album_list_cb(media_folder_h folder,
+                                             void *data)
+{
+       GL_CHECK_FALSE(data);
+       gl_transfer_data_s *tmp_data = (gl_transfer_data_s *)data;
+       GL_CHECK_FALSE(tmp_data->userdata);
+       GL_CHECK_FALSE(folder);
+
+       Eina_List **elist = (Eina_List **)(tmp_data->userdata);
+       gl_album_s *album = NULL;
+
+       album = (gl_album_s *)calloc(1, sizeof(gl_album_s));
+       GL_CHECK_FALSE(album);
+       album->gtype = GL_TYPE_ALBUM;
+
+       if (media_folder_clone(&(album->folder_h), folder) != MEDIA_CONTENT_ERROR_NONE) {
+               gl_dbgE("Clone folder handle failed!");
+               goto GL_LOCAL_FAILED;
+       }
+
+       if (media_folder_get_folder_id(folder, &(album->uuid)) != MEDIA_CONTENT_ERROR_NONE) {
+               gl_dbgE("Get folder id failed!");
+               goto GL_LOCAL_FAILED;
+       }
+
+       if (media_folder_get_modified_time(folder, &(album->mtime)) != MEDIA_CONTENT_ERROR_NONE) {
+               gl_dbgE("Get modified time failed!");
+               goto GL_LOCAL_FAILED;
+       }
+
+       media_content_storage_e storage_type;
+       if (media_folder_get_storage_type(folder, &storage_type) != MEDIA_CONTENT_ERROR_NONE) {
+               gl_dbgE("Get folder type failed!");
+               goto GL_LOCAL_FAILED;
+       }
+
+       if (storage_type == MEDIA_CONTENT_STORAGE_INTERNAL) {/* The device's internal storage */
+               album->type = GL_STORE_T_PHONE;
+       } else if (storage_type == MEDIA_CONTENT_STORAGE_EXTERNAL) {/* The device's external storage */
+               album->type = GL_STORE_T_MMC;
+       } else {
+               gl_dbgE("Undefined mode[%d]!", storage_type);
+       }
+
+       if (media_folder_get_name(folder, &(album->display_name)) != MEDIA_CONTENT_ERROR_NONE) {
+               gl_dbgE("Get folder name failed!");
+               goto GL_LOCAL_FAILED;
+       }
+
+       if (media_folder_get_path(folder, &(album->path)) != MEDIA_CONTENT_ERROR_NONE) {
+               gl_dbgE("Get folder path failed!");
+               goto GL_LOCAL_FAILED;
+       }
+       /* TMP: done */
+       if (tmp_data->filter) {
+               if (media_folder_get_media_count_from_db(album->uuid, tmp_data->filter, &(album->count)) != MEDIA_CONTENT_ERROR_NONE) {
+                       gl_dbgE("Failed to get count[uuid: %s]!", album->uuid);
+                       goto GL_LOCAL_FAILED;
+               }
+       }
+
+       *elist = eina_list_append(*elist, album);
+
+       return true;
+
+ GL_LOCAL_FAILED:
+
+       _gl_data_type_free_glitem((void **)(&album));
+       return false;
+}
+
+static bool __gl_local_data_get_media_list_cb(media_info_h media, void *data)
+{
+       GL_CHECK_FALSE(data);
+       gl_transfer_data_s *tmp_data = (gl_transfer_data_s *)data;
+       GL_CHECK_FALSE(tmp_data->userdata);
+       GL_CHECK_FALSE(media);
+       gl_media_s *item = NULL;
+       gl_image_s *image_info = NULL;
+       gl_video_s *video_info = NULL;
+       image_meta_h image_handle = NULL;
+       video_meta_h video_handle = NULL;
+       char *ext = NULL;
+
+       int ret = -1;
+       Eina_List **elist = (Eina_List **)(tmp_data->userdata);
+
+       item = (gl_media_s *)calloc(1, sizeof(gl_media_s));
+       GL_CHECK_FALSE(item);
+       item->gtype = GL_TYPE_MEDIA;
+
+       if (media_info_clone(&(item->media_h), media) != MEDIA_CONTENT_ERROR_NONE) {
+               gl_dbgE("Clone media handle failed!");
+               goto GL_LOCAL_FAILED;
+       }
+
+       if (media_info_get_media_id(media, &(item->uuid)) != MEDIA_CONTENT_ERROR_NONE) {
+               gl_dbgE("Get media id failed!");
+               goto GL_LOCAL_FAILED;
+       }
+
+       if (media_info_get_display_name(media, &(item->display_name)) != MEDIA_CONTENT_ERROR_NONE) {
+               gl_dbgE("Get media display name failed!");
+               goto GL_LOCAL_FAILED;
+       }
+
+       if (media_info_get_file_path(media, &(item->file_url)) != MEDIA_CONTENT_ERROR_NONE) {
+               gl_dbgE("Get media file path failed!");
+               goto GL_LOCAL_FAILED;
+       }
+
+       if (media_info_get_media_type(media, (media_content_type_e *)&(item->type)) != MEDIA_CONTENT_ERROR_NONE) {
+               gl_dbgE("Get media type failed!");
+               goto GL_LOCAL_FAILED;
+       }
+       if (media_info_get_thumbnail_path(media, &(item->thumb_url)) != MEDIA_CONTENT_ERROR_NONE) {
+               gl_dbgE("Get media thumbnail path failed!");
+               goto GL_LOCAL_FAILED;
+       }
+       gl_sdbg("thumb_url: %s", item->thumb_url);
+
+       if (media_info_get_timeline(media, &(item->mtime)) != MEDIA_CONTENT_ERROR_NONE) {
+               gl_dbgE("Get media timeline failed!");
+               goto GL_LOCAL_FAILED;
+       }
+
+//     if (media_info_get_mode(media, (media_content_mode_e *)&(item->mode)) != MEDIA_CONTENT_ERROR_NONE) {
+//             gl_dbgE("Get media mode failed!");
+//             goto GL_LOCAL_FAILED;
+//     }
+
+       media_content_storage_e storage_type = 0;
+       if (media_info_get_storage_type(media, &storage_type) != MEDIA_CONTENT_ERROR_NONE) {
+               gl_dbgE("Get storage type failed!");
+               goto GL_LOCAL_FAILED;
+       }
+       if (storage_type == MEDIA_CONTENT_STORAGE_INTERNAL) /* The device's internal storage */
+               item->storage_type = GL_STORE_T_PHONE;
+       else if (storage_type == MEDIA_CONTENT_STORAGE_EXTERNAL) /* The device's external storage */
+               item->storage_type = GL_STORE_T_MMC;
+       else
+               gl_dbgE("Undefined mode[%d]!", storage_type);
+       /* Without meta */
+       if (!tmp_data->with_meta)
+               goto GL_LOCAL_SUCCESS;
+
+       if (item->type == MEDIA_CONTENT_TYPE_IMAGE) {
+               ret = media_info_get_image(media, &image_handle);
+               if (ret != MEDIA_CONTENT_ERROR_NONE || image_handle == NULL) {
+                       gl_dbgE("Failed to get image handle[%d]!", ret);
+                       goto GL_LOCAL_FAILED;
+               }
+
+               image_info = (gl_image_s *)calloc(1, sizeof(gl_image_s));
+               if (NULL == image_info) {
+                       gl_dbgE("Failed to calloc!");
+                       goto GL_LOCAL_FAILED;
+               }
+               item->image_info = image_info;
+
+               if (image_meta_clone(&(image_info->image_h), image_handle) != MEDIA_CONTENT_ERROR_NONE) {
+                       gl_dbgE("Clone image handle failed!");
+                       goto GL_LOCAL_FAILED;
+               }
+
+               if (image_meta_get_media_id(image_handle, &(image_info->media_uuid)) != MEDIA_CONTENT_ERROR_NONE) {
+                       gl_dbgE("Get image id failed!");
+                       goto GL_LOCAL_FAILED;
+               }
+
+               if (image_meta_get_orientation(image_handle, (media_content_orientation_e *)&(image_info->orientation)) != MEDIA_CONTENT_ERROR_NONE) {
+                       gl_dbgE("Get image orientation failed!");
+                       goto GL_LOCAL_FAILED;
+               }
+               if (image_meta_get_burst_id(image_handle, &(image_info->burstshot_id)) != MEDIA_CONTENT_ERROR_NONE) {
+                       image_info->burstshot_id = NULL;
+                       gl_dbgE("Get burstshot_id failed!");
+               }
+
+               if (image_meta_destroy(image_handle) != MEDIA_CONTENT_ERROR_NONE) {
+                       gl_dbgE("Destroy image handle failed!");
+                       goto GL_LOCAL_FAILED;
+               }
+       } else if (item->type == MEDIA_CONTENT_TYPE_VIDEO) {
+               ret = media_info_get_video(media, &video_handle);
+               if (ret != MEDIA_CONTENT_ERROR_NONE || video_handle == NULL) {
+                       gl_dbgE("Failed to get video handle[%d]!", ret);
+                       goto GL_LOCAL_FAILED;
+               }
+
+               video_info = (gl_video_s *)calloc(1, sizeof(gl_video_s));
+               if (NULL == video_info) {
+                       gl_dbgE("Failed to calloc!");
+                       goto GL_LOCAL_FAILED;
+               }
+               item->video_info = video_info;
+
+               if (video_meta_clone(&(video_info->video_h), video_handle) != MEDIA_CONTENT_ERROR_NONE) {
+                       gl_dbgE("Clone video handle failed!");
+                       goto GL_LOCAL_FAILED;
+               }
+
+               if (video_meta_get_media_id(video_handle, &(video_info->media_uuid)) != MEDIA_CONTENT_ERROR_NONE) {
+                       gl_dbgE("Get video id failed!");
+                       goto GL_LOCAL_FAILED;
+               }
+
+//             if (video_meta_get_title(video_handle, &(video_info->title)) != MEDIA_CONTENT_ERROR_NONE) {
+//                     gl_dbgE("Get video title failed!");
+//                     goto GL_LOCAL_FAILED;
+//             }
+
+               if (video_meta_get_duration(video_handle, &(video_info->duration)) != MEDIA_CONTENT_ERROR_NONE) {
+                       gl_dbgE("Get video duration failed!");
+                       goto GL_LOCAL_FAILED;
+               }
+
+               if (video_meta_get_played_time(video_handle, &(video_info->last_played_pos)) != MEDIA_CONTENT_ERROR_NONE) {
+                       gl_dbgE("Get video last played position failed!");
+                       goto GL_LOCAL_FAILED;
+               }
+
+               if (video_meta_destroy(video_handle) != MEDIA_CONTENT_ERROR_NONE) {
+                       gl_dbgE("Destroy video handle failed!");
+                       goto GL_LOCAL_FAILED;
+               }
+
+               /* Get bookmark elist in case of video */
+               if (video_info->media_uuid) {
+                       video_info->bookmarks = 0;
+                       int count = 0;
+                       ret = media_info_get_bookmark_count_from_db(video_info->media_uuid,
+                                                                   NULL,
+                                                                   &count);
+                       if (ret != MEDIA_CONTENT_ERROR_NONE)
+                               gl_dbgE("Failed to get bookmark[%d]", ret);
+                       else
+                               video_info->bookmarks = count;
+               }
+       } else {
+               gl_dbgE("Wrong media type[%d]!", item->type);
+       }
+
+ GL_LOCAL_SUCCESS:
+
+       /* Get extension */
+       ext = strrchr(item->file_url, '.');
+       if (ext)
+               item->ext = strdup(ext + 1);
+       else
+               gl_dbgE("Extension is NULL!");
+
+       *elist = eina_list_append(*elist, item);
+       return true;
+
+ GL_LOCAL_FAILED:
+
+        if (image_handle)
+                image_meta_destroy(image_handle);
+        if (video_handle)
+                video_meta_destroy(video_handle);
+
+       _gl_data_type_free_glitem((void **)(&item));
+       return false;
+}
+
+static bool __gl_local_data_get_fav_media_list_cb(media_info_h media, void *data)
+{
+       bool ret = false;
+       ret = __gl_local_data_get_media_list_cb(media, data);
+       return ret;
+}
+
+static bool __gl_local_data_get_album_cover_cb(media_info_h media, void *data)
+{
+       GL_CHECK_FALSE(data);
+       GL_CHECK_FALSE(media);
+       gl_media_s *item = NULL;
+       Eina_List **elist = (Eina_List **)data;
+
+       item = (gl_media_s *)calloc(1, sizeof(gl_media_s));
+       GL_CHECK_FALSE(item);
+       item->gtype = GL_TYPE_MEDIA;
+
+       if (media_info_clone(&(item->media_h), media) != MEDIA_CONTENT_ERROR_NONE) {
+               gl_dbgE("Clone media handle failed!");
+               goto GL_LOCAL_FAILED;
+       }
+       if (media_info_get_file_path(media, &(item->file_url)) != MEDIA_CONTENT_ERROR_NONE) {
+               gl_dbgE("Get media file path failed!");
+               goto GL_LOCAL_FAILED;
+       }
+       if (media_info_get_media_type(media, (media_content_type_e *)&(item->type)) != MEDIA_CONTENT_ERROR_NONE) {
+               gl_dbgE("Get media type failed!");
+               goto GL_LOCAL_FAILED;
+       }
+       if (media_info_get_thumbnail_path(media, &(item->thumb_url)) != MEDIA_CONTENT_ERROR_NONE) {
+               gl_dbgE("Get media thumbnail path failed!");
+               goto GL_LOCAL_FAILED;
+       }
+       gl_sdbg("thumb_url: %s", item->thumb_url);
+
+       *elist = eina_list_append(*elist, item);
+       return true;
+
+ GL_LOCAL_FAILED:
+
+       _gl_data_type_free_glitem((void **)(&item));
+       return false;
+}
+
+static bool __gl_local_data_get_fav_album_cover_cb(media_info_h media, void *data)
+{
+       GL_CHECK_FALSE(data);
+       GL_CHECK_FALSE(media);
+       gl_media_s *item = NULL;
+       Eina_List **elist = (Eina_List **)data;
+
+       item = (gl_media_s *)calloc(1, sizeof(gl_media_s));
+       GL_CHECK_FALSE(item);
+       item->gtype = GL_TYPE_MEDIA;
+
+       if (media_info_clone(&(item->media_h), media) != MEDIA_CONTENT_ERROR_NONE) {
+               gl_dbgE("Clone media handle failed!");
+               goto GL_LOCAL_FAILED;
+       }
+       if (media_info_get_file_path(media, &(item->file_url)) != MEDIA_CONTENT_ERROR_NONE) {
+               gl_dbgE("Get media file path failed!");
+               goto GL_LOCAL_FAILED;
+       }
+       if (media_info_get_media_type(media, (media_content_type_e *)&(item->type)) != MEDIA_CONTENT_ERROR_NONE) {
+               gl_dbgE("Get media type failed!");
+               goto GL_LOCAL_FAILED;
+       }
+       if (media_info_get_thumbnail_path(media, &(item->thumb_url)) != MEDIA_CONTENT_ERROR_NONE) {
+               gl_dbgE("Get media thumbnail path failed!");
+               goto GL_LOCAL_FAILED;
+       }
+       gl_sdbg("thumb_url: %s", item->thumb_url);
+
+       *elist = eina_list_append(*elist, item);
+       return true;
+
+       GL_LOCAL_FAILED:
+
+       _gl_data_type_free_glitem((void **)(&item));
+       return false;
+}
+
+static bool __gl_local_data_delete_album_cb(media_info_h media, void *data)
+{
+       GL_CHECK_FALSE(data);
+       GL_CHECK_FALSE(media);
+       Eina_List **elist = (Eina_List **)data;
+       gl_media_s *item = NULL;
+
+       item = (gl_media_s *)calloc(1, sizeof(gl_media_s));
+       GL_CHECK_FALSE(item);
+       item->gtype = GL_TYPE_MEDIA;
+
+       if (MEDIA_CONTENT_ERROR_NONE != media_info_get_file_path(media, &(item->file_url))) {
+               gl_dbgE("media_info_get_file_path failed");
+       }
+       media_info_get_media_id(media, &(item->uuid));
+       *elist = eina_list_append(*elist, item);
+       return true;
+}
+
+/* Connect to media-content database */
+int _gl_local_data_connect(void)
+{
+       int ret = -1;
+       ret = media_content_connect();
+       if (ret == MEDIA_CONTENT_ERROR_NONE) {
+               gl_dbg("DB connection is success");
+               return 0;
+       } else {
+               gl_dbgE("DB connection is failed[%d]!", ret);
+               return -1;
+       }
+}
+
+/* Disconnect from media-content database */
+int _gl_local_data_disconnect(void)
+{
+       int ret = -1;
+       ret = media_content_disconnect();
+       if (ret == MEDIA_CONTENT_ERROR_NONE) {
+               gl_dbg("DB disconnection is success");
+               return 0;
+       } else {
+               gl_dbgE("DB disconnection is failed[%d]!", ret);
+               return -1;
+       }
+}
+
+int _gl_local_data_get_album_by_path(char *path, gl_album_s **album)
+{
+       GL_CHECK_VAL(path, -1);
+       GL_CHECK_VAL(album, -1);
+       int ret = -1;
+       Eina_List *list = NULL;
+       gl_filter_s condition;
+       gl_album_s *_item = NULL;
+       int i = 0;
+
+       if (strlen(path) <=0) {
+               gl_dbgE("Invalid path!");
+               return -1;
+       }
+       gl_sdbg("path: %s", path);
+
+       memset(&condition, 0x00, sizeof(gl_filter_s));
+       _gl_data_util_get_cond(condition.cond);
+       g_strlcpy(condition.sort_keyword, GL_CONDITION_ORDER, KEYWORD_LENGTH);
+       condition.collate_type = MEDIA_CONTENT_COLLATE_NOCASE;
+       condition.sort_type = MEDIA_CONTENT_ORDER_DESC;
+       condition.offset = -1;
+       condition.count = -1;
+       condition.with_meta = false;
+
+       snprintf(condition.cond, CONDITION_LENGTH,
+                "(%s=0 OR %s=1) AND %s=\'%s\'", MEDIA_TYPE, MEDIA_TYPE,
+                FOLDER_PATH, path);
+
+       ret = _gl_local_data_get_album_list(&condition, &list);
+       if (ret != 0 || NULL == list) {
+               gl_dbgE("Failed to get album list[%d]!", ret);
+               ret = -1;
+       } else if (NULL != list) {
+               *album = eina_list_nth(list, 0);
+               i = 1;
+               ret = 0;
+       }
+
+       /* Free other items */
+       if (list) {
+               int len = eina_list_count(list);
+               gl_dbg("len: %d", len);
+
+               for (; i < len; i++) {
+                       _item = eina_list_nth(list, i);
+                       _gl_data_type_free_glitem((void **)(&_item));
+               }
+
+               eina_list_free(list);
+       }
+
+       return ret;
+}
+
+int _gl_local_data_get_album_list(gl_filter_s *condition, Eina_List **elist)
+{
+       GL_CHECK_VAL(elist, -1);
+       GL_CHECK_VAL(condition, -1);
+       int ret = -1;
+       filter_h filter = NULL;
+
+       ret = __gl_local_data_create_filter(condition, &filter);
+       if (ret != 0) {
+               gl_dbgE("Create filter failed[%d]!", ret);
+               return -1;
+       }
+
+       filter_h media_filter = NULL;
+       gl_filter_s media_condition;
+       memset(&media_condition, 0x00, sizeof(gl_filter_s));
+       /* Get all contents(including local and cloud) for albums list */
+       g_strlcpy(media_condition.cond, GL_CONDITION_IMAGE_VIDEO,
+                 CONDITION_LENGTH);
+       media_condition.sort_type = MEDIA_CONTENT_ORDER_DESC;
+       g_strlcpy(media_condition.sort_keyword, GL_CONDITION_ORDER,
+                 KEYWORD_LENGTH);
+       media_condition.collate_type = MEDIA_CONTENT_COLLATE_NOCASE;
+       media_condition.offset = -1;
+       media_condition.count = -1;
+       media_condition.with_meta = false;
+
+       ret = __gl_local_data_create_filter(&media_condition, &media_filter);
+       if (ret != 0) {
+               __gl_local_data_destroy_filter(filter);
+               gl_dbgE("Create filter failed[%d]!", ret);
+               return -1;
+       }
+
+       gl_transfer_data_s tran_data;
+       memset(&tran_data, 0x00, sizeof(gl_transfer_data_s));
+       tran_data.userdata = (void **)elist;
+       tran_data.filter = media_filter;
+       tran_data.album_id = NULL;
+       tran_data.with_meta = false;
+
+       gl_dbg("Get folders--start");
+       ret = media_folder_foreach_folder_from_db(filter,
+                                                 __gl_local_data_get_album_list_cb,
+                                                 &tran_data);
+       gl_dbg("Get folders---over");
+
+       __gl_local_data_destroy_filter(media_filter);
+       __gl_local_data_destroy_filter(filter);
+
+       if (ret != MEDIA_CONTENT_ERROR_NONE) {
+               gl_dbgE("Failed to get all folders[%d]!", ret);
+               return -1;
+       }
+
+       return 0;
+}
+
+int _gl_local_data_get_media_by_id(char *media_id, gl_media_s **mitem)
+{
+       GL_CHECK_VAL(mitem, -1);
+
+       if (media_id == NULL) {
+               //gl_dbg("Create a empty media");
+               _gl_data_type_new_media(mitem);
+               return 0;
+       }
+
+       int ret = -1;
+       Eina_List *list = NULL;
+       gl_media_s *_mitem = NULL;
+       media_info_h media_h = NULL;
+       int i = 0;
+       gl_sdbg("media id: %s", media_id);
+
+       ret = media_info_get_media_from_db(media_id, &media_h);
+       if (ret != MEDIA_CONTENT_ERROR_NONE || media_h == NULL) {
+               gl_dbgE("Failed to get media handle[%d]!", ret);
+               if (media_h)
+                       media_info_destroy(media_h);
+               return -1;
+       }
+
+       gl_transfer_data_s tran_data;
+       memset(&tran_data, 0x00, sizeof(gl_transfer_data_s));
+       tran_data.userdata = (void **)&list;
+       tran_data.filter = NULL;
+       tran_data.album_id = NULL;
+       tran_data.with_meta = false;
+
+       bool b_ret = __gl_local_data_get_media_list_cb(media_h, &tran_data);
+
+       media_info_destroy(media_h);
+
+       if (b_ret && list) {
+               *mitem = eina_list_nth(list, 0);
+               i = 1;
+               ret = 0;
+       } else {
+               gl_dbgE("Failed to get media list!");
+               ret = -1;
+       }
+
+       /* Free other items */
+       if (list) {
+               int len = eina_list_count(list);
+               gl_dbg("len: %d", len);
+
+               for (; i < len; i++) {
+                       _mitem = eina_list_nth(list, i);
+                       _gl_data_type_free_glitem((void **)(&_mitem));
+               }
+
+               eina_list_free(list);
+       }
+
+       return ret;
+}
+
+int _gl_local_data_get_media_by_path(const char *path, gl_media_s **mitem)
+{
+       GL_CHECK_VAL(mitem, -1);
+       GL_CHECK_VAL(path, -1);
+       int ret = -1;
+       Eina_List *list = NULL;
+       gl_filter_s condition;
+       gl_media_s *_mitem = NULL;
+       int i = 0;
+
+       if (strlen(path) <=0) {
+               gl_dbgE("Invalid path!");
+               return -1;
+       }
+       gl_sdbg("path: %s", path);
+
+       memset(&condition, 0x00, sizeof(gl_filter_s));
+       _gl_data_util_get_cond(condition.cond);
+       g_strlcpy(condition.sort_keyword, GL_CONDITION_ORDER, KEYWORD_LENGTH);
+       condition.collate_type = MEDIA_CONTENT_COLLATE_NOCASE;
+       condition.sort_type = MEDIA_CONTENT_ORDER_DESC;
+       condition.offset = -1;
+       condition.count = -1;
+       condition.with_meta = true;
+
+       snprintf(condition.cond, CONDITION_LENGTH,
+                "(%s=0 OR %s=1) AND %s=\'%s\'", MEDIA_TYPE, MEDIA_TYPE,
+                MEDIA_PATH, path);
+       ret = _gl_local_data_get_all_albums_media_list(&condition, &list);
+       if (ret != 0 || NULL == list) {
+               gl_dbgE("Failed to get all albums[%d]!", ret);
+               ret = -1;
+       } else if (NULL != list) {
+               *mitem = eina_list_nth(list, 0);
+               i = 1;
+               ret = 0;
+       }
+
+       /* Free other items */
+       if (list) {
+               int len = eina_list_count(list);
+               gl_dbg("len: %d", len);
+
+               for (; i < len; i++) {
+                       _mitem = eina_list_nth(list, i);
+                       _gl_data_type_free_glitem((void **)(&_mitem));
+               }
+
+               eina_list_free(list);
+       }
+
+       return ret;
+}
+
+int _gl_local_data_get_media_count(const char *cluster_id, gl_filter_s *condition,
+                                  int *item_cnt)
+{
+       GL_CHECK_VAL(cluster_id, -1);
+       GL_CHECK_VAL(condition, -1);
+       GL_CHECK_VAL(item_cnt, -1);
+       int ret = -1;
+       filter_h filter = NULL;
+
+       ret = __gl_local_data_create_filter(condition, &filter);
+       if (ret != 0) {
+               gl_dbgE("Create filter failed[%d]!", ret);
+               return -1;
+       }
+
+       gl_dbg("Get media count--start");
+       ret = media_folder_get_media_count_from_db(cluster_id, filter, item_cnt);
+       gl_dbg("Get media count---over");
+
+       __gl_local_data_destroy_filter(filter);
+
+       if (ret != MEDIA_CONTENT_ERROR_NONE) {
+               gl_dbgE("Failed to get media count[%d]!", ret);
+               return -1;
+       }
+
+       return 0;
+}
+
+int _gl_local_data_get_all_media_count(gl_filter_s *condtion, int *item_cnt)
+{
+       GL_CHECK_VAL(condtion, -1);
+       GL_CHECK_VAL(item_cnt, -1);
+       int ret = -1;
+       filter_h filter = NULL;
+
+       ret = __gl_local_data_create_filter(condtion, &filter);
+       if (ret != 0) {
+               gl_dbgE("Create filter failed[%d]!", ret);
+               return -1;
+       }
+
+       gl_dbg("Get media count--start");
+       GL_PROFILE_F_IN("media_info_get_media_count_from_db");
+       ret = media_info_get_media_count_from_db(filter, item_cnt);
+       GL_PROFILE_F_OUT("media_info_get_media_count_from_db");
+       gl_dbg("Get media count---over");
+
+       __gl_local_data_destroy_filter(filter);
+
+       if (ret != MEDIA_CONTENT_ERROR_NONE) {
+               gl_dbgE("Failed to get media count[%d]", ret);
+               return -1;
+       }
+
+       return 0;
+}
+
+int _gl_local_data_get_album_media_list(gl_filter_s *condition,
+                                       const char *album_id, Eina_List **elist)
+{
+       GL_CHECK_VAL(elist, -1);
+       GL_CHECK_VAL(album_id, -1);
+       GL_CHECK_VAL(condition, -1);
+       gl_sdbg("album id: %s", album_id);
+
+       int ret = -1;
+       filter_h filter = NULL;
+       ret = __gl_local_data_create_filter(condition, &filter);
+       if (ret != 0) {
+               gl_dbgE("Create filter failed!");
+               return -1;
+       }
+
+       gl_transfer_data_s tran_data;
+       memset(&tran_data, 0x00, sizeof(gl_transfer_data_s));
+       tran_data.userdata = (void **)elist;
+       tran_data.filter = NULL;
+       tran_data.album_id = (char *)album_id;
+       tran_data.with_meta = condition->with_meta;
+
+       gl_dbg("Get medias--start");
+       ret = media_folder_foreach_media_from_db(album_id, filter,
+                                                                __gl_local_data_get_media_list_cb,
+                                                                &tran_data);
+       gl_dbg("Get medias--start");
+
+       __gl_local_data_destroy_filter(filter);
+
+       if (ret != MEDIA_CONTENT_ERROR_NONE) {
+               gl_dbgE("Failed to get medias[%d]!", ret);
+               return -1;
+       }
+
+       return 0;
+}
+
+int _gl_local_data_get_album_cover(gl_filter_s *condition, const char *album_id,
+                                  Eina_List **elist)
+{
+       GL_CHECK_VAL(elist, -1);
+       GL_CHECK_VAL(album_id, -1);
+       GL_CHECK_VAL(condition, -1);
+       gl_sdbg("album id: %s", album_id);
+
+       int ret = -1;
+       filter_h filter = NULL;
+       ret = __gl_local_data_create_filter(condition, &filter);
+       if (ret != 0) {
+               gl_dbgE("Create filter failed!");
+               return -1;
+       }
+
+       gl_dbg("Get medias--start");
+       ret = media_folder_foreach_media_from_db(album_id, filter,
+                                                __gl_local_data_get_album_cover_cb,
+                                                elist);
+       gl_dbg("Get medias--start");
+
+       __gl_local_data_destroy_filter(filter);
+
+       if (ret != MEDIA_CONTENT_ERROR_NONE) {
+               gl_dbgE("Failed to get medias[%d]!", ret);
+               return -1;
+       }
+
+       return 0;
+}
+
+int _gl_local_data_get_all_albums_media_list(gl_filter_s *condition,
+                                            Eina_List **elist)
+{
+       GL_CHECK_VAL(elist, -1);
+       GL_CHECK_VAL(condition, -1);
+       int ret = -1;
+       filter_h filter = NULL;
+
+       ret = __gl_local_data_create_filter(condition, &filter);
+       if (ret != 0) {
+               gl_dbgE("Create filter failed!");
+               return -1;
+       }
+
+       gl_transfer_data_s tran_data;
+       memset(&tran_data, 0x00, sizeof(gl_transfer_data_s));
+       tran_data.userdata = (void **)elist;
+       tran_data.filter = NULL;
+       tran_data.album_id = NULL;
+       tran_data.with_meta = condition->with_meta;
+
+       gl_dbg("Get all medias--start");
+       ret = media_info_foreach_media_from_db(filter,
+                                                              __gl_local_data_get_media_list_cb,
+                                                              &tran_data);
+       gl_dbg("Get all medias--over");
+
+       __gl_local_data_destroy_filter(filter);
+
+       if (ret != MEDIA_CONTENT_ERROR_NONE) {
+               gl_dbgE("Failed to get medias[%d]!", ret);
+               return -1;
+       }
+
+       return 0;
+}
+
+int _gl_local_data_get_fav_albums_media_list(gl_filter_s *condition,
+                                            Eina_List **elist)
+{
+       GL_CHECK_VAL(elist, -1);
+       GL_CHECK_VAL(condition, -1);
+       int ret = -1;
+       filter_h filter = NULL;
+
+       ret = __gl_local_data_create_filter(condition, &filter);
+       if (ret != 0) {
+               gl_dbgE("Create filter failed!");
+               return -1;
+       }
+
+       gl_transfer_data_s tran_data;
+       memset(&tran_data, 0x00, sizeof(gl_transfer_data_s));
+       tran_data.userdata = (void **)elist;
+       tran_data.filter = NULL;
+       tran_data.album_id = NULL;
+       tran_data.with_meta = condition->with_meta;
+
+       gl_dbg("Get all medias--start");
+       ret = media_info_foreach_media_from_db(filter,
+                       __gl_local_data_get_fav_media_list_cb, &tran_data);
+       gl_dbg("Get all medias--over");
+
+       __gl_local_data_destroy_filter(filter);
+
+       if (ret != MEDIA_CONTENT_ERROR_NONE) {
+               gl_dbgE("Failed to get medias[%d]!", ret);
+               return -1;
+       }
+
+       return 0;
+}
+
+int _gl_local_data_get_all_albums_cover(gl_filter_s *condition,
+                                       Eina_List **elist)
+{
+       GL_CHECK_VAL(elist, -1);
+       GL_CHECK_VAL(condition, -1);
+       int ret = -1;
+       filter_h filter = NULL;
+
+       ret = __gl_local_data_create_filter(condition, &filter);
+       if (ret != 0) {
+               gl_dbgE("Create filter failed!");
+               return -1;
+       }
+
+       gl_dbg("Get all medias--start");
+       ret = media_info_foreach_media_from_db(filter,
+                                              __gl_local_data_get_album_cover_cb,
+                                              elist);
+       gl_dbg("Get all medias--over");
+
+       __gl_local_data_destroy_filter(filter);
+
+       if (ret != MEDIA_CONTENT_ERROR_NONE) {
+               gl_dbgE("Failed to get medias[%d]!", ret);
+               return -1;
+       }
+
+       return 0;
+}
+
+int _gl_local_data_get_fav_albums_cover(gl_filter_s *condition,
+                                       Eina_List **elist)
+{
+       GL_CHECK_VAL(elist, -1);
+       GL_CHECK_VAL(condition, -1);
+       int ret = -1;
+       filter_h filter = NULL;
+
+       ret = __gl_local_data_create_filter(condition, &filter);
+       if (ret != 0) {
+               gl_dbgE("Create filter failed!");
+               return -1;
+       }
+
+       gl_dbg("Get all medias--start");
+       ret = media_info_foreach_media_from_db(filter,
+                       __gl_local_data_get_fav_album_cover_cb, elist);
+       gl_dbg("Get all medias--over");
+
+       __gl_local_data_destroy_filter(filter);
+
+       if (ret != MEDIA_CONTENT_ERROR_NONE) {
+               gl_dbgE("Failed to get medias[%d]!", ret);
+               return -1;
+       }
+
+       return 0;
+}
+
+int _gl_local_data_delete_album(gl_album_s *cluster, void *cb, void *data, bool is_hide)
+{
+       GL_CHECK_VAL(cluster, -1);
+       GL_CHECK_VAL(cluster->uuid, -1);
+       gl_filter_s condition;
+       filter_h filter = NULL;
+       int ret = -1;
+       gl_sdbg("album id: %s", cluster->uuid);
+       Eina_List *itemlist = NULL;
+       gl_media_s *item = NULL;
+
+       if (!is_hide) {
+               memset(&condition, 0x00, sizeof(gl_filter_s));
+               _gl_data_util_get_cond(condition.cond);
+               condition.collate_type = MEDIA_CONTENT_COLLATE_NOCASE;
+               condition.sort_type = MEDIA_CONTENT_ORDER_ASC;
+               g_strlcpy(condition.sort_keyword, MEDIA_ADDED_TIME, KEYWORD_LENGTH);
+               condition.offset = -1;
+               condition.count = -1;
+               condition.with_meta = false;
+
+               ret = __gl_local_data_create_filter(&condition, &filter);
+               if (ret != 0) {
+                       gl_dbgE("Create filter failed!");
+                       return -1;
+               }
+               ret = media_folder_foreach_media_from_db(cluster->uuid, filter,
+                                                        __gl_local_data_delete_album_cb,
+                                                        &itemlist);
+               __gl_local_data_destroy_filter(filter);
+       }
+
+       if (ret != MEDIA_CONTENT_ERROR_NONE) {
+               gl_dbgE("Failed to get medias[%d]!", ret);
+               return -1;
+       }
+
+       EINA_LIST_FREE(itemlist, item) {
+               if (item == NULL || item->file_url == NULL) {
+                       gl_dbgE("Invalid item!");
+                       continue;
+               }
+
+               if (!gl_file_unlink(item->file_url))
+                       gl_dbgE("file_unlink failed!");
+               if (!is_hide) {
+                       media_info_delete_from_db(item->uuid);
+                       if (cb) {
+                               int (*delete_cb) (void *data, char *uuid);
+                               delete_cb = cb;
+                               delete_cb(data, item->uuid);
+                       }
+               }
+               _gl_data_type_free_glitem((void **)&item);
+               int pbar_cancel = false;
+               gl_thread_get_cancel_state(data, &pbar_cancel);
+               if (pbar_cancel > GL_PB_CANCEL_NORMAL) {
+                       gl_dbgW("Cancelled[%d]!", pbar_cancel);
+                       return 0;
+               }
+       }
+
+       return 0;
+}
+
+int _gl_local_data_hide_album_media(void *data, gl_album_s *cluster, char *new_path)
+{
+       GL_CHECK_VAL(cluster, -1);
+       GL_CHECK_VAL(cluster->uuid, -1);
+       gl_filter_s condition;
+       filter_h filter = NULL;
+       int ret = -1;
+       gl_dbgE("album id: %s", cluster->uuid);
+       Eina_List *itemlist = NULL;
+       gl_media_s *item = NULL;
+
+       memset(&condition, 0x00, sizeof(gl_filter_s));
+       _gl_data_util_get_cond(condition.cond);
+       condition.collate_type = MEDIA_CONTENT_COLLATE_NOCASE;
+       condition.sort_type = MEDIA_CONTENT_ORDER_ASC;
+       g_strlcpy(condition.sort_keyword, MEDIA_ADDED_TIME, KEYWORD_LENGTH);
+       condition.offset = -1;
+       condition.count = -1;
+       condition.with_meta = false;
+
+       ret = __gl_local_data_create_filter(&condition, &filter);
+       if (ret != 0) {
+               gl_dbgE("Create filter failed!");
+               return -1;
+       }
+       ret = media_folder_foreach_media_from_db(cluster->uuid, filter,
+                                                __gl_local_data_delete_album_cb,
+                                                &itemlist);
+       __gl_local_data_destroy_filter(filter);
+
+       if (ret != MEDIA_CONTENT_ERROR_NONE) {
+               gl_dbgE("Failed to get medias[%d]!", ret);
+               return -1;
+       }
+
+       char new_file[GL_FILE_PATH_LEN_MAX] = {0};
+       char *name = NULL;
+       EINA_LIST_FREE(itemlist, item) {
+               if (item == NULL || item->file_url == NULL) {
+                       gl_dbgE("Invalid item!");
+                       continue;
+               }
+
+               name = strrchr(item->file_url, '/');
+               if (name) {
+                       snprintf(new_file, GL_FILE_PATH_LEN_MAX, "%s/%s",
+                                new_path, name+1);
+                       gl_dbgE("new file: %s", new_file);
+                       if (!_gl_fs_move(data, item->file_url, new_file)) {
+                               gl_dbgE("rename failed!");
+                       }
+               }
+               _gl_data_type_free_glitem((void **)&item);
+       }
+       return 0;
+}
+
+int _gl_local_data_add_media(const char *file_url, media_info_h *info)
+{
+       GL_CHECK_VAL(file_url, -1);
+       int ret = -1;
+       media_info_h item = NULL;
+       gl_sdbg("file_url is %s", file_url);
+
+       ret = media_info_insert_to_db(file_url, &item);
+       if (ret != MEDIA_CONTENT_ERROR_NONE) {
+               gl_dbgE("Failed to insert media to DB[%d]!", ret);
+               if (item)
+                       media_info_destroy(item);
+               return -1;
+       }
+
+       if (info) {
+               *info = item;
+       } else {
+               gl_dbgW("Destroy media_info item!");
+               media_info_destroy(item);
+       }
+
+       return 0;
+}
+
+int _gl_local_data_get_thumb(gl_media_s *mitem, char **thumb)
+{
+       GL_CHECK_VAL(mitem, -1);
+       GL_CHECK_VAL(mitem->media_h, -1);
+
+       if (media_info_get_thumbnail_path(mitem->media_h, thumb) != MEDIA_CONTENT_ERROR_NONE) {
+               gl_dbgE("Get media thumbnail path failed!");
+               return -1;
+       }
+
+       return 0;
+}
+
+int _gl_local_data_move_media(gl_media_s *mitem, const char *dst)
+{
+       GL_CHECK_VAL(dst, -1);
+       GL_CHECK_VAL(mitem, -1);
+       GL_CHECK_VAL(mitem->media_h, -1);
+
+       if (media_info_move_to_db(mitem->media_h, dst) != MEDIA_CONTENT_ERROR_NONE) {
+               gl_dbgE("Move media thumbnail failed!");
+               return -1;
+       }
+
+       return 0;
+}
+
+bool _gl_local_data_is_album_exists(char *path)
+{
+       GL_CHECK_FALSE(path);
+       gl_album_s *album = NULL;
+       gl_sdbgW("path: %s", path);
+
+       _gl_local_data_get_album_by_path(path, &album);
+       if (album) {
+               _gl_data_type_free_glitem((void **)(&album));
+               return true;
+       }
+       return false;
+}
+
+int _gl_local_data_get_path_by_id(const char *uuid, char **path)
+{
+       GL_CHECK_VAL(path, 0);
+       GL_CHECK_VAL(uuid, 0);
+       media_info_h media_h = NULL;
+       int ret = -1;
+       char *_path = NULL;
+
+       ret = media_info_get_media_from_db(uuid, &media_h);
+       if (ret != MEDIA_CONTENT_ERROR_NONE) {
+               gl_dbgE("Get media failed[%d]!", ret);
+               goto GL_LD_FAILED;
+       }
+       ret = media_info_get_file_path(media_h, &_path);
+       if (ret != MEDIA_CONTENT_ERROR_NONE) {
+               gl_dbgE("Get media file path failed!");
+               goto GL_LD_FAILED;
+       }
+
+       media_info_destroy(media_h);
+       media_h = NULL;
+
+       if (!_path) {
+               gl_dbgE("Invalid file path!");
+               goto GL_LD_FAILED;
+       }
+
+       *path = _path;
+
+ GL_LD_FAILED:
+
+       if (media_h) {
+              media_info_destroy(media_h);
+              media_h = NULL;
+       }
+       return 0;
+}
+
diff --git a/src/features/gl-albums-sel.c b/src/features/gl-albums-sel.c
new file mode 100644 (file)
index 0000000..2f8ea84
--- /dev/null
@@ -0,0 +1,310 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#include "gl-debug.h"
+#include "gl-albums-sel.h"
+#include "gl-ui-util.h"
+#include "gl-util.h"
+#include "gl-data.h"
+#include "gl-controlbar.h"
+#include "gl-button.h"
+#include "gl-nocontents.h"
+#include "gl-notify.h"
+#include "gl-strings.h"
+#include "gl-albums.h"
+#include "gl-timeline.h"
+#include "gl-thumbs.h"
+#include "gl-tile.h"
+#include "gl-editfield.h"
+
+static void _gl_albums_sel_update_album_sel_list(void *data);
+
+static void __gl_albums_sel_trans_finished_cb(void *data, Evas_Object *obj,
+                                             void *event_info)
+{
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       int view_mode = gl_get_view_mode(ad);
+       gl_dbgW("view_mode: %d", view_mode);
+       evas_object_smart_callback_del(obj, GL_TRANS_FINISHED,
+                                      __gl_albums_sel_trans_finished_cb);
+
+       /* Clear previous view after animation finished */
+       if (view_mode == GL_VIEW_ALBUMS_SELECT) {
+               if (ad->gridinfo.nocontents == NULL)
+                       elm_gengrid_clear(ad->gridinfo.view);
+       } else {
+               gl_dbgE("Wrong view mode!");
+       }
+}
+
+/* callback after user tap Cancel button in option header in select album view */
+static Eina_Bool __gl_albums_sel_pop_cb(void *data, Elm_Object_Item *it)
+{
+       GL_CHECK_FALSE(data);
+       gl_dbg("");
+       gl_appdata *ad = (gl_appdata *)data;
+       _gl_data_selected_list_finalize(data);
+       /* If the back button is clicked or H/W Back key is pressed,
+       this callback will be called right before the
+       current view pop. User may implement application logic here. */
+
+       /* To proceed the popping, please return the EINA_TRUE or not,
+       popping will be canceled.
+       If it needs to delete the current view without any transition effect,
+       then call the elm_object_item_del() here and then return the EINA_FALSE */
+       _gl_albums_sel_pop_view(data);
+       _gl_albums_sel_update_album_sel_list(data);
+       if (ad->albuminfo.selected_uuid) {
+               free(ad->albuminfo.selected_uuid);
+               ad->albuminfo.selected_uuid = NULL;
+       }
+       return EINA_TRUE;
+}
+
+/**
+ *  Use naviframe api to push new album view to stack.
+ *  @param obj is the content to be pushed.
+ */
+static int __gl_albums_sel_push_view(void *data, Evas_Object *parent,
+                                    Evas_Object *obj, char *title)
+{
+       gl_dbg("GL_NAVI_ALBUMS_SELECT");
+       GL_CHECK_VAL(obj, -1);
+       GL_CHECK_VAL(parent, -1);
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       Elm_Object_Item *nf_it = NULL;
+
+       /* Add transition finished callback */
+       evas_object_smart_callback_add(parent, GL_TRANS_FINISHED,
+                                      __gl_albums_sel_trans_finished_cb, data);
+
+       /* Push to stack */
+       nf_it = elm_naviframe_item_push(parent, title, NULL, NULL, obj,
+                                               NULL);
+       /* use pop_cb_set to support HW key event */
+       elm_naviframe_item_pop_cb_set(nf_it, __gl_albums_sel_pop_cb, data);
+       ad->albuminfo.nf_it_select = nf_it;
+       return 0;
+}
+
+/* Free data after layout deleted */
+static void __gl_albums_sel_delete_layout_cb(void *data, Evas *e,
+                                            Evas_Object *obj, void *ei)
+{
+       gl_dbg("Delete layout ---");
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+
+       _gl_albums_clear_cbs(ad->albuminfo.select_view);
+       _gl_ui_del_scroller_pos(ad->albuminfo.select_view);
+
+       ad->albuminfo.b_new_album = false;
+       ad->albuminfo.select_view = NULL;
+       ad->albuminfo.select_layout = NULL;
+       ad->albuminfo.nf_it_select = NULL;
+       gl_dbg("Delete layout +++");
+}
+
+Evas_Object *_gl_albums_create_sel_gengrid(void *data)
+{
+       GL_CHECK_VAL(data, NULL);
+       gl_appdata *ad = (gl_appdata *)data;
+       Evas_Object *layout_inner = elm_gengrid_add(ad->maininfo.win);
+
+       elm_gengrid_align_set(layout_inner, 0.5f, 0.0);
+       elm_gengrid_horizontal_set(layout_inner, EINA_FALSE);
+       elm_scroller_bounce_set(layout_inner, EINA_FALSE, EINA_TRUE);
+       elm_scroller_policy_set(layout_inner, ELM_SCROLLER_POLICY_OFF,
+                       ELM_SCROLLER_POLICY_AUTO);
+       elm_gengrid_multi_select_set(layout_inner, EINA_TRUE);
+       evas_object_size_hint_weight_set(layout_inner, EVAS_HINT_EXPAND,
+                       EVAS_HINT_EXPAND);
+       return layout_inner;
+}
+
+int _gl_albums_create_split_album_sel_view(void *data, Evas_Object *layout_inner)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       if (_gl_split_albums_create_items(ad, layout_inner) < 0) {
+               gl_dbgE("Failed to add Split album view!");
+               return -1;
+       }
+       int w = -1, h = -1;
+       evas_object_geometry_get(ad->maininfo.win, NULL, NULL, &w, &h);
+       if (w < h) {
+               elm_gengrid_item_size_set(layout_inner, (w/3)-10, (w/3)-10);
+       } else {
+               elm_gengrid_item_size_set(layout_inner, (h/3)-10, (h/3)-10);
+       }
+       return 0;
+}
+
+int _gl_albums_sel_create_view(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_CHECK_VAL(ad->maininfo.naviframe, -1);
+       gl_dbg("");
+
+       /* Create tags view layout for Select album */
+       Evas_Object *layout = NULL;
+       layout = _gl_ctrl_add_layout(ad->maininfo.naviframe);
+       GL_CHECK_VAL(layout, -1);
+       evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND,
+                                        EVAS_HINT_EXPAND);
+       evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
+       /* Register delete callback */
+       evas_object_event_callback_add(layout, EVAS_CALLBACK_DEL,
+                                      __gl_albums_sel_delete_layout_cb, data);
+       /* Save view mode */
+       int pre_view_m = gl_get_view_mode(data);
+       /* Set view mode of Select album */
+       gl_set_view_mode(data, GL_VIEW_ALBUMS_SELECT);
+       Evas_Object *view = NULL;
+       /* Create tags view for Select album */
+       view = _gl_albums_create_sel_gengrid(data);
+       if (view == NULL) {
+               evas_object_del(layout);
+               /* Reset view mode */
+               gl_set_view_mode(data, pre_view_m);
+               gl_dbgW("None albums!");
+               /* Add notification */
+               _gl_notify_create_notiinfo(GL_STR_ADDED);
+               return -1;
+       }
+       if (_gl_albums_create_split_album_sel_view(ad, view) == -1) {
+               gl_dbgE("Failed to add album split view!");
+               evas_object_del(layout);
+               /* Reset view mode */
+               gl_set_view_mode(data, pre_view_m);
+               /* Add notification */
+               _gl_notify_create_notiinfo(GL_STR_ADDED);
+               return -1;
+       }
+
+       int length = eina_list_count(ad->albuminfo.elist->clist);
+       gl_cluster *album_item = NULL;
+       gl_dbg("Albums length: %d", length);
+       if (length > 0) {
+               album_item  = eina_list_nth(ad->albuminfo.elist->clist, 0);
+       } else {
+               view = NULL;
+               evas_object_del(layout);
+               /* Reset view mode */
+               gl_set_view_mode(data, pre_view_m);
+               gl_dbgW("None albums!");
+               /* Add notification */
+               _gl_notify_create_notiinfo(GL_STR_ADDED);
+               return -1;
+       }
+       __gl_albums_new_album_sel(album_item, view, (void *)album_item->item);
+
+       /* Set view to layout */
+       int w = -1, h = -1;
+       evas_object_geometry_get(ad->maininfo.win, NULL, NULL, &w, &h);
+       Edje_Message_Int *msg = (Edje_Message_Int *)malloc(sizeof(Edje_Message_Int) + sizeof(int));
+       GL_CHECK_VAL(msg, -1);
+       msg->val = ((w < h) ? (w / 3) : (h / 3));
+       edje_object_message_send(elm_layout_edje_get(layout), EDJE_MESSAGE_INT, 1, msg);
+       free(msg);
+       elm_object_signal_emit(layout, "elm,splitview,state,visible", "elm");
+
+       if (w < h) {
+               elm_gengrid_item_size_set(view, (w/3)-10, (w/3)-10);
+       } else {
+               elm_gengrid_item_size_set(view, (h/3)-10, (h/3)-10);
+       }
+       elm_object_part_content_set(layout, "split.view", view);
+       Evas_Object *gesture = _gl_tile_add_gesture(data, layout);
+       if (gesture == NULL)
+               gl_dbgE("Failed to create gesture!");
+       else
+               elm_object_part_content_set(layout, "gesture", gesture);
+       ad->albuminfo.select_view = view;
+       ad->albuminfo.select_layout = layout;
+       __gl_albums_sel_push_view(data, ad->maininfo.naviframe, layout,
+                                 "Select Item");
+       __gl_albums_new_album_sel(album_item, view, (void *)album_item->item);
+       /* Save pointer of View and Layout */
+       elm_object_part_content_set(layout, "elm.swallow.view", ad->gridinfo.select_view);
+       ad->albuminfo.select_view = view;
+       ad->albuminfo.select_layout = layout;
+       _gl_editfield_destroy_imf(data);
+       gl_dbg("Done");
+       return 0;
+}
+
+int _gl_albums_sel_update_view(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       /* Append griditems */
+       _gl_albums_create_items(data, ad->albuminfo.select_view);
+       return 0;
+}
+
+/* callback after user tap Cancel button in option header in select album view */
+int _gl_albums_sel_pop_view(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+
+       /* In Albums TAB */
+       if (_gl_ctrl_get_tab_mode(ad) == GL_CTRL_TAB_ALBUMS) {
+               elm_naviframe_item_pop_to(ad->ctrlinfo.nf_it);
+               _gl_albums_close_album(ad);
+       } else if (_gl_ctrl_get_tab_mode(ad) == GL_CTRL_TAB_TIMELINE) {
+               elm_naviframe_item_pop_to(ad->ctrlinfo.nf_it);
+               gl_set_view_mode(data, GL_VIEW_TIMELINE);
+               _gl_timeline_update_view(ad);
+       }
+       return 0;
+}
+
+int _gl_albums_sel_rotate_view(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       return 0;
+}
+
+static void  _gl_albums_sel_update_album_sel_list(void *data)
+{
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_CHECK(ad->albuminfo.elist);
+       GL_CHECK(ad->albuminfo.elist->clist);
+       gl_cluster *album_item = NULL;
+       gl_item *item = NULL;
+       int length, i;
+       Eina_List *clist = ad->albuminfo.elist->clist;
+       length = eina_list_count(clist);
+
+       for (i = 0; i < length; i++) {
+               album_item = eina_list_nth(clist, i);
+               if (album_item && album_item->elist) {
+                       EINA_LIST_FREE(album_item->elist, item) {
+                               if (item) {
+                                       item->checked = false;
+                               }
+                       }
+               }
+       }
+}
+
diff --git a/src/features/gl-albums.c b/src/features/gl-albums.c
new file mode 100644 (file)
index 0000000..873c9a3
--- /dev/null
@@ -0,0 +1,1683 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#include "gl-debug.h"
+#include "gl-albums.h"
+#include "gl-thumbs.h"
+#include "gl-main.h"
+#include "gl-controlbar.h"
+#include "gl-ui-util.h"
+#include "gl-util.h"
+#include "gl-button.h"
+#include "gl-data.h"
+#include "gl-popup.h"
+#include "gl-ctxpopup.h"
+#include "gl-progressbar.h"
+#include "gl-pinchzoom.h"
+#include "gl-tile.h"
+#include "gl-ext-exec.h"
+#include "gl-thumbs-sel.h"
+#include "gl-thumbs-edit.h"
+#include "gl-albums-sel.h"
+#include "gl-albums-edit.h"
+#include "gl-albums-rename.h"
+#include "gl-albums-new.h"
+#include "gl-strings.h"
+#include "gl-nocontents.h"
+#include "gl-notify.h"
+#include "gl-ext-ug-load.h"
+#ifdef _USE_ROTATE_BG
+#include "gl-rotate-bg.h"
+#include "gl-exif.h"
+#endif
+#include "gl-gesture.h"
+#include "gl-file-util.h"
+
+static int __gl_albums_create_thumb(gl_item *gitem, gl_cluster *album);
+static Eina_Bool __gl_albums_pop_op(void *data);
+#ifdef SUPPORT_SLIDESHOW
+static int __gl_albums_slideshow(void *data, const char *label);
+#endif
+
+static void __gl_albums_realized(void *data, Evas_Object *obj, void *ei)
+{
+       GL_CHECK(data);
+       /* Register idler if needed */
+       _gl_main_add_reg_idler(data);
+
+       GL_CHECK(ei);
+       Elm_Object_Item *it = (Elm_Object_Item *)ei;
+       gl_cluster *album = elm_object_item_data_get(it);
+       GL_CHECK(album);
+       GL_CHECK(album->cluster);
+       GL_CHECK(album->cover);
+       GL_CHECK(album->cover->item);
+
+       gl_dbg("realized");
+       if (!GL_FILE_EXISTS(album->cover->item->thumb_url) &&
+           GL_FILE_EXISTS(album->cover->item->file_url) &&
+           (album->cluster->type == GL_STORE_T_PHONE ||
+            album->cluster->type == GL_STORE_T_MMC ||
+            album->cluster->type == GL_STORE_T_ALL))
+               __gl_albums_create_thumb(album->cover, album);
+}
+
+static void __gl_albums_unrealized(void *data, Evas_Object *obj, void *ei)
+{
+       gl_dbg("unrealized");
+       GL_CHECK(ei);
+       Elm_Object_Item *it = (Elm_Object_Item *)ei;
+       gl_cluster *album = elm_object_item_data_get(it);
+       GL_CHECK(album);
+       GL_CHECK(album->cluster);
+       GL_CHECK(album->cover);
+       GL_CHECK(album->cover->item);
+
+       /* Checking for local files only */
+       if (album->cluster->type == GL_STORE_T_PHONE ||
+           album->cluster->type == GL_STORE_T_MMC ||
+           album->cluster->type == GL_STORE_T_ALL) {
+               if (album->cover->item->b_create_thumb) {
+                       _gl_data_cancel_thumb(album->cover->item);
+               }
+       }
+}
+
+static void __gl_split_albums_realized(void *data, Evas_Object *obj, void *ei)
+{
+       gl_dbg("split view realized");
+       GL_CHECK(data);
+       GL_CHECK(ei);
+       Elm_Object_Item *it = (Elm_Object_Item *)ei;
+       gl_cluster *album = elm_object_item_data_get(it);
+       GL_CHECK(album);
+       GL_CHECK(album->cluster);
+       GL_CHECK(album->cover);
+       GL_CHECK(album->cover->item);
+       gl_appdata *ad = (gl_appdata *)album->ad;
+
+       if (ad->albuminfo.grid_sel_item) {
+               if (ad->albuminfo.selected_uuid) {
+                       gl_dbg("Current item UUID : %s ", album->cluster->uuid);
+                       gl_dbg("album view selected item UUID : %s ", ad->albuminfo.selected_uuid);
+                       if (!strcmp(album->cluster->uuid, ad->albuminfo.selected_uuid)) {
+                               ad->albuminfo.grid_sel_item = ei;
+                               elm_object_item_signal_emit((Elm_Object_Item *)ei, "elm,state,focused", "elm");
+                       } else {
+                               elm_object_item_signal_emit((Elm_Object_Item *)ei, "elm,state,unfocused", "elm");
+                       }
+               }
+       }
+       gl_dbg("realized");
+}
+
+#if 0
+static void __gl_albums_lang_changed(void *data, Evas_Object *obj, void *ei)
+{
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       gl_albums_update_items(ad);
+}
+#endif
+
+void __gl_albums_new_album_sel(void *data, Evas_Object *obj, void *ei)
+{
+       GL_CHECK(data);
+       gl_cluster *album_item = (gl_cluster *)data;
+       GL_CHECK(album_item->cluster);
+       GL_CHECK(album_item->ad);
+       gl_appdata *ad = (gl_appdata *)album_item->ad;
+       int view_mode = gl_get_view_mode(ad);
+       elm_gengrid_item_selected_set(ei, EINA_FALSE);
+       _gl_data_selected_list_finalize(ad);
+
+       gl_dbg("view mode: %d.", view_mode);
+       if (view_mode != GL_VIEW_ALBUMS_EDIT) {
+               if (album_item->cluster->count == 0) {
+                       gl_dbgW("Empty album, return!");
+                       return;
+               }
+               /* Save scroller position before clearing gengrid */
+               _gl_ui_save_scroller_pos(obj);
+               gl_albums_open_album(album_item);
+               elm_object_item_signal_emit((Elm_Object_Item *)ei, "elm,state,focused", "elm");
+               if (ad->albuminfo.grid_sel_item) {
+                       gl_cluster *album_data = NULL;
+                       album_data = elm_object_item_data_get(ad->albuminfo.grid_sel_item);
+                       if (album_data) {
+                               if (0 == strcmp(album_item->cluster->uuid, album_data->cluster->uuid)) {
+                                       gl_dbgW("Item matched. No need to remove focus");
+                               } else {
+                                       elm_object_item_signal_emit(ad->albuminfo.grid_sel_item, "elm,state,unfocused", "elm");
+                               }
+                       }
+               }
+               ad->albuminfo.grid_sel_item = ei;
+               if (ad->albuminfo.selected_uuid) {
+                       free(ad->albuminfo.selected_uuid);
+                       ad->albuminfo.selected_uuid = NULL;
+               }
+               ad->albuminfo.selected_uuid = strdup(album_item->cluster->uuid);
+       }
+}
+
+/* Callback of album item selection */
+static void __gl_albums_sel_cb(void *data, Evas_Object *obj, void *ei)
+{
+       GL_CHECK(data);
+       gl_cluster *album_item = (gl_cluster *)data;
+       GL_CHECK(album_item->cluster);
+       GL_CHECK(album_item->ad);
+       gl_appdata *ad = (gl_appdata *)album_item->ad;
+       int view_mode = gl_get_view_mode(ad);
+       elm_gengrid_item_selected_set(ei, EINA_FALSE);
+
+       gl_dbg("view mode: %d.", view_mode);
+       if (view_mode != GL_VIEW_ALBUMS_EDIT && view_mode != GL_VIEW_ALBUM_REORDER) {
+               if (album_item->cluster->count == 0) {
+                       gl_dbgW("Empty album, return!");
+                       return;
+               }
+               /* Save scroller position before clearing gengrid */
+               _gl_ui_save_scroller_pos(obj);
+               gl_albums_open_album(album_item);
+               elm_object_item_signal_emit((Elm_Object_Item *)ei, "elm,state,focused", "elm");
+               if (ad->albuminfo.grid_sel_item) {
+                       gl_cluster *album_data = NULL;
+                       album_data = elm_object_item_data_get(ad->albuminfo.grid_sel_item);
+                       if (album_data) {
+                               if (strcmp(album_item->cluster->uuid, album_data->cluster->uuid)) {
+                                       elm_object_item_signal_emit(ad->albuminfo.grid_sel_item, "elm,state,unfocused", "elm");
+                               }
+                       }
+               }
+               ad->albuminfo.grid_sel_item = ei;
+               if (ad->albuminfo.selected_uuid) {
+                       free(ad->albuminfo.selected_uuid);
+                       ad->albuminfo.selected_uuid = NULL;
+               }
+               ad->albuminfo.selected_uuid = strdup(album_item->cluster->uuid);
+       }
+}
+
+static char *__gl_albums_get_text(void *data, Evas_Object *obj, const char *part)
+{
+       GL_PROFILE_IN;
+       GL_CHECK_NULL(part);
+       GL_CHECK_NULL(strlen(part));
+       GL_CHECK_NULL(data);
+       gl_cluster *album_item = (gl_cluster *)data;
+       GL_CHECK_NULL(album_item->cluster);
+       GL_CHECK_NULL(album_item->cluster->display_name);
+       GL_CHECK_NULL(album_item->cluster->uuid);
+       GL_CHECK_NULL(album_item->ad);
+       char buf[GL_ALBUM_NAME_LEN_MAX] = { 0, };
+
+       if (!g_strcmp0(part, "elm.text.name")) {
+               GL_PROFILE_F_OUT("__gl_albums_get_text(name)");
+               GL_PROFILE_F_OUT("__gl_albums_get_text(count)");
+       } else if (!g_strcmp0(part, "elm.text.date")) {
+               if (album_item->cover) {
+                       _gl_data_util_free_gitem(album_item->cover);
+                       album_item->cover = NULL;
+               }
+               gl_item *gitem = NULL;
+               _gl_data_get_album_cover(album_item, &gitem,
+                               MEDIA_CONTENT_ORDER_DESC);
+               if (gitem == NULL || gitem->item == NULL) {
+                       gl_dbg("Empty album...");
+                       _gl_data_util_free_gitem(gitem);
+                       album_item->cover_thumbs_cnt = 0;
+                       return NULL;
+               }
+
+               album_item->cover_thumbs_cnt = GL_ALBUM_COVER_THUMB_NUM;
+               album_item->cover = gitem;
+               GL_PROFILE_F_OUT("__gl_albums_get_text(date)");
+       } else if (!g_strcmp0(part, "elm.text.badge")) {
+               if (gl_get_view_mode(album_item->ad) == GL_VIEW_THUMBS_EDIT ||
+                               gl_get_view_mode(album_item->ad) == GL_VIEW_THUMBS_SELECT) {
+                       if (album_item->elist) {
+                               int sel_cnt = eina_list_count(album_item->elist);
+                               if (sel_cnt > 0) {
+                                       elm_object_item_signal_emit(album_item->item,
+                                                       "elm,state,elm.text.badge,visible",
+                                                       "elm");
+                                       snprintf(buf, sizeof(buf), "%d", sel_cnt);
+                               } else {
+                                       elm_object_item_signal_emit(album_item->item,
+                                                       "elm,state,elm.text.badge,hidden",
+                                                       "elm");
+                               }
+                       } else {
+                               elm_object_item_signal_emit(album_item->item,
+                                               "elm,state,elm.text.badge,hidden",
+                                               "elm");
+                       }
+               } else {
+                       elm_object_item_signal_emit(album_item->item,
+                                       "elm,state,elm.text.badge,hidden",
+                                       "elm");
+               }
+       }
+       return strdup(buf);
+}
+
+/* Only for local medias */
+static void __gl_albums_create_thumb_cb(media_content_error_e error,
+                                       const char *path, void *user_data)
+{
+       GL_CHECK(user_data);
+       gl_album_data_s *album_data = (gl_album_data_s *)user_data;
+       GL_CHECK(album_data->ad);
+       gl_appdata *ad = (gl_appdata *)album_data->ad;
+       gl_cluster *album = album_data->album;
+       GL_FREE(album_data);
+       album->album_data = NULL;
+
+       if (gl_get_view_mode(ad) != GL_VIEW_ALBUMS &&
+           gl_get_view_mode(ad) != GL_VIEW_ALBUMS_EDIT &&
+           gl_get_view_mode(ad) != GL_VIEW_ALBUMS_SELECT)
+               return;
+
+       if (error == MEDIA_CONTENT_ERROR_NONE && GL_FILE_EXISTS(path) &&
+           g_strcmp0(path, GL_ICON_DB_DEFAULT_THUMB)) {
+               GL_CHECK(album);
+               GL_CHECK(album->item);
+               elm_gengrid_item_update(album->item);
+       } else {
+               gl_sdbgE("[%d]Invalid path[%s]!", error, path);
+       }
+}
+
+/* Use file to create new thumb if possible */
+static int __gl_albums_create_thumb(gl_item *gitem, gl_cluster *album)
+{
+       GL_CHECK_VAL(gitem, -1);
+       GL_CHECK_VAL(gitem->item, -1);
+       GL_CHECK_VAL(gitem->item->file_url, -1);
+       GL_CHECK_VAL(album, -1);
+
+       if (GL_FILE_EXISTS(gitem->item->file_url)) {
+               gl_album_data_s *album_data = NULL;
+               album_data = (gl_album_data_s *)calloc(1, sizeof(gl_album_data_s));
+               GL_CHECK_VAL(album_data, -1);
+               album_data->ad = album->ad;
+               album_data->album = album;
+               album->album_data = album_data;
+               _gl_data_create_thumb(gitem->item, __gl_albums_create_thumb_cb,
+                                     album_data);
+               return 0;
+       }
+       return -1;
+}
+
+static int __gl_albums_set_bg_file(Evas_Object *bg, void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_item *git = (gl_item *)data;
+       GL_CHECK_VAL(git->album, -1);
+
+       char *bg_path = GL_ICON_NO_THUMBNAIL;
+       gl_icon_type_e ret_val = -1;
+
+       if (git == NULL || git->item == NULL) {
+               gl_dbgE("Invalid item :%p", git);
+               goto GL_ALBUMS_FAILED;
+       }
+
+       ret_val = 0;
+       bg_path = GL_ICON_NO_THUMBNAIL;
+       if (GL_FILE_EXISTS(git->item->thumb_url))
+               bg_path = git->item->thumb_url;
+       else
+               ret_val = -1;
+
+ GL_ALBUMS_FAILED:
+
+#ifdef _USE_ROTATE_BG
+       _gl_rotate_bg_set_image_file(bg, bg_path);
+#else
+       elm_bg_file_set(bg, bg_path, NULL);
+#endif
+
+       return ret_val;
+}
+
+static Evas_Object *__gl_albums_get_type_icon(Evas_Object *obj, gl_cluster *album)
+{
+       GL_CHECK_NULL(album);
+       GL_CHECK_NULL(album->cluster);
+       GL_CHECK_NULL(obj);
+       Evas_Object *_obj = NULL;
+
+       if (_gl_data_is_camera_album(album->cluster))
+               _obj = _gl_tile_show_part_type_icon(obj,
+                                                   GL_TILE_TYPE_CAMERA);
+       else if (_gl_data_is_default_album(GL_STR_ALBUM_DOWNLOADS, album->cluster))
+               _obj = _gl_tile_show_part_type_icon(obj,
+                                                   GL_TILE_TYPE_DOWNLOAD);
+       else
+               _obj = _gl_tile_show_part_type_icon(obj,
+                                                   GL_TILE_TYPE_FOLDER);
+       return _obj;
+}
+
+static void
+_gl_count_set(Evas_Object *layout, const char *text)
+{
+       Evas_Object *edje;
+       Edje_Message_Float *msg;
+       if (text) {
+               elm_layout_text_set(layout, "elm.sub.text", text);
+       }
+       else {
+               elm_layout_text_set(layout, "elm.sub.text", "");
+       }
+       edje = elm_layout_edje_get(layout);
+       msg = calloc(1, sizeof(Edje_Message_Float));
+       if (msg) {
+               msg->val = elm_config_scale_get();
+               edje_object_message_send(edje, EDJE_MESSAGE_FLOAT, 0, msg);
+       }
+}
+
+static Evas_Object *__gl_albums_get_content(void *data, Evas_Object *obj,
+                                           const char *part)
+{
+       GL_CHECK_NULL(part);
+       GL_CHECK_NULL(strlen(part));
+       GL_CHECK_NULL(data);
+       gl_cluster *album_item = (gl_cluster *)data;
+       GL_CHECK_NULL(album_item->cluster);
+       GL_CHECK_NULL(album_item->ad);
+       gl_appdata *ad = (gl_appdata *)album_item->ad;
+       GL_CHECK_NULL(album_item->cluster->uuid);
+       int view_mode = gl_get_view_mode(ad);
+
+       if (view_mode != GL_VIEW_ALBUMS &&
+           view_mode != GL_VIEW_ALBUMS_EDIT &&
+           view_mode != GL_VIEW_ALBUMS_SELECT &&
+           view_mode != GL_VIEW_THUMBS &&
+           view_mode != GL_VIEW_THUMBS_EDIT &&
+           view_mode != GL_VIEW_THUMBS_SELECT &&
+           view_mode != GL_VIEW_ALBUM_REORDER) {
+               gl_dbg("Album is empty, view mode is : % d", view_mode);
+               return NULL;
+       }
+       Evas_Object *_obj = NULL;
+
+
+       if (!g_strcmp0(part, "elm.text.name.swallow")) {
+               char cnt[GL_ALBUM_NAME_LEN_MAX] = { 0, };
+               Evas_Object *layout = elm_layout_add(obj);
+               elm_layout_file_set(layout, GL_EDJ_FILE, "ceter_algined_text_layout");
+               char *i18n_name = _gl_get_i18n_album_name(album_item->cluster);
+               elm_layout_text_set(layout, "elm.text", elm_entry_utf8_to_markup(_gl_str(i18n_name)));
+               snprintf(cnt, sizeof(cnt), "(%d)", (int)(album_item->cluster->count));
+               _gl_count_set(layout, cnt);
+
+               return layout;
+       } else if (!g_strcmp0(part, GL_TILE_ICON)) {
+               if (album_item->cover_thumbs_cnt <= 0)
+                       gl_dbg("Empty album");
+
+               _obj = _gl_tile_show_part_icon(obj, part,
+                                              __gl_albums_set_bg_file,
+                                              (void *)(album_item->cover));
+               int first_cnt = 2;
+               int level = (int)evas_object_data_get(ad->albuminfo.view,
+                                                     GL_GESTURE_KEY_PINCH_LEVEL);
+               if (ad->maininfo.rotate_mode == APP_DEVICE_ORIENTATION_90 ||
+                   ad->maininfo.rotate_mode == APP_DEVICE_ORIENTATION_270 ||
+                   level == GL_ZOOM_NONE)
+                       first_cnt = 3;
+               if (album_item->index < first_cnt && album_item->item)
+                       elm_object_item_signal_emit(album_item->item,
+                                                   "show_top_pad",
+                                                   "padding.top");
+       } else if (!g_strcmp0(part, GL_TILE_TYPE_ICON)) {
+               _obj = __gl_albums_get_type_icon(obj, album_item);
+       } else if (!g_strcmp0(part, GL_TILE_SD_ICON)) {
+               if (GL_STORE_T_MMC == album_item->cluster->type) {
+                       _obj = _gl_tile_show_part_type_icon(obj,
+                                                           GL_TILE_TYPE_MMC_STORAGE);
+               } else {
+                       elm_object_item_signal_emit(album_item->item,
+                                                   "hide_sd_icon",
+                                                   "elm.swallow.sd_icon");
+               }
+       } else if (view_mode == GL_VIEW_ALBUMS_EDIT) {
+               _obj = _gl_albums_edit_add_content(data, obj, part);
+       }
+       return _obj;
+}
+
+static Evas_Object *__gl_albums_get_content_split_view(void *data, Evas_Object *obj,
+                                           const char *part)
+{
+       GL_CHECK_NULL(part);
+       GL_CHECK_NULL(strlen(part));
+       GL_CHECK_NULL(data);
+       gl_cluster *album_item = (gl_cluster *)data;
+       GL_CHECK_NULL(album_item->cluster);
+       GL_CHECK_NULL(album_item->ad);
+       gl_appdata *ad = (gl_appdata *)album_item->ad;
+       GL_CHECK_NULL(album_item->cluster->uuid);
+       int view_mode = gl_get_view_mode(ad);
+
+       if (view_mode != GL_VIEW_ALBUMS &&
+           view_mode != GL_VIEW_ALBUMS_EDIT &&
+           view_mode != GL_VIEW_ALBUMS_SELECT &&
+           view_mode != GL_VIEW_THUMBS &&
+           view_mode != GL_VIEW_THUMBS_EDIT &&
+           view_mode != GL_VIEW_THUMBS_SELECT &&
+           view_mode != GL_VIEW_ALBUM_REORDER) {
+               gl_dbg("Album is empty, view mode is : % d", view_mode);
+               return NULL;
+       }
+       Evas_Object *_obj = NULL;
+
+
+       if (!g_strcmp0(part, "elm.text.name.swallow")) {
+               char cnt[GL_ALBUM_NAME_LEN_MAX] = { 0, };
+               Evas_Object *layout = elm_layout_add(obj);
+               elm_layout_file_set(layout, GL_EDJ_FILE, "ceter_algined_text_layout_split_view");
+               char *i18n_name = _gl_get_i18n_album_name(album_item->cluster);
+               elm_layout_text_set(layout, "elm.text", _gl_str(i18n_name));
+               snprintf(cnt, sizeof(cnt), "(%d)", (int)(album_item->cluster->count));
+               _gl_count_set(layout, cnt);
+
+               return layout;
+       } else if (!g_strcmp0(part, GL_TILE_ICON)) {
+               if (album_item->cover_thumbs_cnt <= 0)
+                       gl_dbg("Empty album");
+
+               _obj = _gl_tile_show_part_icon(obj, part,
+                                              __gl_albums_set_bg_file,
+                                              (void *)(album_item->cover));
+               int first_cnt = 2;
+               int level = (int)evas_object_data_get(ad->albuminfo.view,
+                                                     GL_GESTURE_KEY_PINCH_LEVEL);
+               if (ad->maininfo.rotate_mode == APP_DEVICE_ORIENTATION_90 ||
+                   ad->maininfo.rotate_mode == APP_DEVICE_ORIENTATION_270 ||
+                   level == GL_ZOOM_NONE)
+                       first_cnt = 3;
+               if (album_item->index < first_cnt && album_item->item)
+                       elm_object_item_signal_emit(album_item->item,
+                                                   "show_top_pad",
+                                                   "padding.top");
+       } else if (!g_strcmp0(part, GL_TILE_TYPE_ICON)) {
+               _obj = __gl_albums_get_type_icon(obj, album_item);
+       } else if (!g_strcmp0(part, GL_TILE_SD_ICON)) {
+               if (GL_STORE_T_MMC == album_item->cluster->type) {
+                       _obj = _gl_tile_show_part_type_icon(obj,
+                                                           GL_TILE_TYPE_MMC_STORAGE);
+               } else {
+                       elm_object_item_signal_emit(album_item->item,
+                                                   "hide_sd_icon",
+                                                   "elm.swallow.sd_icon");
+               }
+       } else if (view_mode == GL_VIEW_ALBUMS_EDIT) {
+               _obj = _gl_albums_edit_add_content(data, obj, part);
+       }
+       return _obj;
+}
+
+
+static Eina_Bool __gl_albums_close_album_cb(void *data, Elm_Object_Item *it)
+{
+       GL_CHECK_FALSE(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       gl_dbg("");
+       _gl_albums_close_album(ad);
+       _gl_albums_check_btns(data);
+       return EINA_TRUE;
+}
+
+static void __gl_albums_longpressed_cb(void *data, Evas_Object *obj, void *ei)
+{
+       gl_dbg("unrealized");
+       GL_CHECK(ei);
+       GL_CHECK(data);
+
+       if (GL_VIEW_ALBUMS != gl_get_view_mode(data))
+                       return;
+       Elm_Object_Item *it = (Elm_Object_Item *)ei;
+       gl_cluster *album = elm_object_item_data_get(it);
+       GL_CHECK(album);
+       _gl_albums_set_current(data, album);
+#if 0
+       _gl_data_finalize_albums_selected_list(data);
+       _gl_data_albums_selected_list_append(data, album);
+#endif
+}
+
+/* Free data after layout deleted */
+static void __gl_albums_delete_layout_cb(void *data, Evas *e, Evas_Object *obj,
+                                        void *ei)
+{
+       gl_dbg("Delete layout ---");
+       GL_CHECK(data);
+       gl_albums_free_data(data);
+       _gl_data_clear_cluster_list(data, true);
+       gl_dbg("Delete layout +++");
+}
+
+static void __gl_albums_newalbum_cb(void *data, Evas_Object *obj, void *ei)
+{
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       _gl_ctxpopup_del(data);
+       ad->albuminfo.b_new_album = true;
+       gl_dbg("");
+       _gl_albums_new_create_view(data, _gl_albums_sel_create_view);
+}
+
+static void __gl_reorder_soft_back_cb(void *data, Evas_Object *obj, void *ei)
+{
+       GL_CHECK(data);
+       __gl_albums_pop_op(data);
+}
+
+static void __gl_albums_reorder_cb(void *data, Evas_Object *obj, void *ei)
+{
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       _gl_ctxpopup_del(data);
+       int view_mode = gl_get_view_mode(ad);
+       if (view_mode == GL_VIEW_ALBUMS) {
+               gl_set_view_mode(ad, GL_VIEW_ALBUM_REORDER);
+               elm_gengrid_reorder_mode_set(ad->albuminfo.view, EINA_TRUE);
+               _gl_ui_disable_menu(ad->ctrlinfo.nf_it, true);
+               _gl_ui_change_navi_title(ad->ctrlinfo.nf_it, GL_STR_ID_REORDER, true);
+               Evas_Object *btn = elm_button_add(ad->albuminfo.view);
+               GL_CHECK(btn);
+               elm_object_style_set(btn, "naviframe/end_btn/default");
+               evas_object_smart_callback_add(btn, "clicked", __gl_reorder_soft_back_cb, data);
+               elm_object_item_part_content_set(ad->ctrlinfo.nf_it, GL_NAVIFRAME_PREV_BTN, btn);
+               evas_object_smart_callback_del(ad->albuminfo.view, "longpressed", __gl_albums_longpressed_cb);
+       }
+}
+
+static void __gl_albums_viewas_pop_cb(void *data, Evas_Object *obj, void *ei)
+{
+       gl_dbg("ENTRY");
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       int state_index = 1; // default is album
+       int view_mode = gl_get_view_mode(ad);
+       if (view_mode == GL_VIEW_TIMELINE) {
+               state_index = 0;
+       } else if (view_mode == GL_VIEW_ALBUMS) {
+               state_index = 1;
+       }
+       _gl_list_pop_create(data, obj, ei, GL_STR_ID_VIEW_AS, GL_STR_TIME_VIEW, GL_STR_ALBUMS, state_index);
+       gl_dbg("EXIT");
+}
+static void __gl_albums_edit_cb(void *data, Evas_Object *obj, void *ei)
+{
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       _gl_ctxpopup_del(data);
+       if (ad->uginfo.ug) {
+               /**
+               * Prevent changed to edit view in wrong way.
+               * 1. When invoke imageviewer UG;
+               */
+               gl_dbg("UG invoked or appending gridview.");
+               return;
+       }
+
+       int view_mode = gl_get_view_mode(data);
+       gl_dbg("mode: %d", view_mode);
+       if (view_mode == GL_VIEW_ALBUMS) {
+               _gl_albums_change_mode(data, true);
+       }
+}
+
+#if 0
+static void __gl_albums_share_cb(void *data, Evas_Object *obj, void *ei)
+{
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       _gl_ctxpopup_del(data);
+       if (ad->uginfo.ug) {
+               /**
+               * Prevent changed to edit view in wrong way.
+               * 1. When invoke imageviewer UG;
+               */
+               gl_dbg("UG invoked or appending gridview.");
+               return;
+       }
+       ad->albuminfo.b_share_mode = GL_GRID_SHARE;
+       __gl_albums_edit_cb(data, NULL, NULL);
+}
+#endif
+
+#ifdef SUPPORT_SLIDESHOW
+static int __gl_albums_start_slideshow(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       ad->gridinfo.grid_type = GL_GRID_T_ALLALBUMS;
+
+       Eina_List *list = NULL;
+       gl_item *gitem = NULL;
+       gl_media_s *item = NULL;
+       bool is_all = true;
+       if (ad->albuminfo.sel_elist &&
+           eina_list_count(ad->albuminfo.sel_elist) > 0) {
+               gl_cluster *album = NULL;
+               album = eina_list_nth(ad->albuminfo.sel_elist, 0);
+               _gl_data_get_items_album(data, album, 0, 0, &list);
+               gitem = (gl_item *)eina_list_nth(list, 0);
+               is_all = false;
+       } else {
+               _gl_data_get_items(GL_FIRST_VIEW_START_POS,
+                                  GL_FIRST_VIEW_START_POS, &list);
+               item = (gl_media_s *)eina_list_nth(list, 0);
+               gitem = _gl_data_new_item_mitem(item);
+       }
+       if (list)
+               eina_list_free(list);
+       if (gitem) {
+               GL_CHECK_VAL(gitem, -1);
+               if (is_all)
+                       gl_ext_load_iv_ug(data, gitem, GL_UG_IV_SLIDESHOW_ALL);
+               else
+                       gl_ext_load_iv_ug(data, gitem, GL_UG_IV_SLIDESHOW);
+       }
+       if (gitem)
+               _gl_data_util_free_gitem(gitem);
+       _gl_data_finalize_albums_selected_list(data);
+       return 0;
+}
+#endif
+
+#ifdef _USE_APP_SLIDESHOW
+/* TO select thumb for slideshow */
+static int __gl_albums_select_slideshow(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       int item_cnt = 0;
+       int ret = -1;
+
+       ret = _gl_data_get_item_cnt(GL_ALBUM_ALL_ID, GL_STORE_T_ALL, &item_cnt);
+       if (ret != 0 || item_cnt == 0) {
+               gl_dbgE("Empty!");
+               return -1;
+       }
+
+       gl_cluster *cluster = NULL;
+       _gl_data_get_cluster_by_id(data, GL_ALBUM_ALL_ID, &cluster);
+       GL_CHECK_VAL(cluster, -1);
+       _gl_albums_set_current(data, cluster);
+       Eina_List *medias_elist = NULL;
+       _gl_data_get_items_album(data, cluster, GL_FIRST_VIEW_START_POS,
+                                GL_FIRST_VIEW_END_POS, &medias_elist);
+       _gl_thumbs_set_edit_mode(data, GL_THUMBS_EDIT_SLIDESHOW);
+       _gl_thumbs_set_list(ad, medias_elist);
+       _gl_thumbs_create_view(data, GL_NAVI_THUMBS, GL_STR_ID_ALL_ALBUMS, true,
+                              __gl_albums_close_album_cb);
+
+       gl_dbg("Done edit");
+       return 0;
+}
+#endif
+
+#ifdef SUPPORT_SLIDESHOW
+static int __gl_albums_slideshow(void *data, const char *label)
+{
+       GL_CHECK_VAL(label, -1);
+       GL_CHECK_VAL(data, -1);
+       gl_dbg("label : %s ", label);
+       gl_appdata *ad = (gl_appdata *)data;
+
+       if (!g_strcmp0(label, _gl_str(GL_STR_ID_ALL_ITEMS))) {
+               __gl_albums_start_slideshow(data);
+       } else if (!g_strcmp0(label, _gl_str(GL_STR_ID_SETTINGS))) {
+               evas_object_data_set(ad->maininfo.naviframe,
+                                    GL_NAVIFRAME_SLIDESHOW_DATA_KEY,
+                                    __gl_albums_start_slideshow);
+               gl_ext_load_ug(data, GL_UG_GALLERY_SETTING_SLIDESHOW);
+       } else if (!g_strcmp0(label, _gl_str(GL_STR_ID_SELECT_ITEMS))) {
+#ifdef _USE_APP_SLIDESHOW
+               __gl_albums_select_slideshow(data);
+               evas_object_data_set(ad->maininfo.naviframe,
+                                    GL_NAVIFRAME_SELECTED_SLIDESHOW_KEY,
+                                    gl_pop_to_ctrlbar_ly);
+#else
+               _gl_ext_launch_gallery_ug(data);
+#endif
+       } else {
+               gl_dbgE("Invalid lable!");
+               return -1;
+       }
+       return 0;
+}
+
+static void __gl_albums_slideshow_cb(void *data, Evas_Object *obj, void *ei)
+{
+       GL_CHECK(data);
+       _gl_ctxpopup_del(data);
+       _gl_popup_create_slideshow(data, __gl_albums_slideshow);
+}
+#endif
+
+static int __gl_albums_ctxpopup_append(void *data, Evas_Object *parent)
+{
+       gl_dbg("");
+       GL_CHECK_VAL(parent, -1);
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+
+       if (ad->albuminfo.elist->edit_cnt > 0) {
+               /* 1.  View As*/
+               _gl_ctxpopup_append(parent, GL_STR_ID_VIEW_AS,
+                               __gl_albums_viewas_pop_cb, data);
+               /* 2. New album*/
+               _gl_ctxpopup_append(parent, GL_STR_ID_NEW_ALBUM,
+                                   __gl_albums_newalbum_cb, data);
+               _gl_ctxpopup_append(parent, GL_STR_ID_REORDER,
+                                   __gl_albums_reorder_cb, data);
+               /* 3. Delete */
+               _gl_ctxpopup_append(parent, GL_STR_ID_DELETE, __gl_albums_edit_cb,
+                                   data);
+#ifdef SUPPORT_SLIDESHOW
+               /* 4. Slideshow */
+               _gl_ctxpopup_append(parent, GL_STR_ID_SLIDESHOW,
+                                   __gl_albums_slideshow_cb, data);
+#endif
+       }
+       return 0;
+}
+
+static void __gl_albums_more_btn_cb(void *data, Evas_Object *obj, void *ei)
+{
+       gl_dbg("more button clicked");
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       Evas_Object *more = NULL;
+       more = _gl_ui_get_btn(NULL, ad->ctrlinfo.nf_it, GL_NAVIFRAME_MORE);
+       if (EINA_TRUE == elm_object_disabled_get(more)) {
+               gl_dbg("Menu is disabled");
+               return; /* Menu is disabled */
+       }
+
+       _gl_ctxpopup_create(data, obj, __gl_albums_ctxpopup_append);
+}
+
+/*static void __gl_albums_camera_cb(void *data, Evas_Object *obj, void *ei)
+{
+       GL_CHECK(data);
+       gl_dbg("");
+       _gl_ext_load_camera(data);
+}*/
+
+void _gl_update_list_data(void *data)
+{
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       Elm_Object_Item *l_it = elm_gengrid_last_item_get(ad->albuminfo.view);
+       Elm_Object_Item *f_it = elm_gengrid_first_item_get(ad->albuminfo.view);
+       gl_cluster *album_item = NULL;
+       Eina_List *list = NULL;
+       if (f_it) {
+               album_item = elm_object_item_data_get(f_it);
+               if (album_item) {
+                       list = eina_list_append(list, album_item);
+                       album_item = NULL;
+               }
+       }
+       if (l_it && f_it) {
+               while (f_it != l_it) {
+                       f_it = elm_gengrid_item_next_get(f_it);
+                       if (f_it) {
+                               album_item = elm_object_item_data_get(f_it);
+                               if (album_item) {
+                                       list = eina_list_append(list, album_item);
+                                       album_item = NULL;
+                               }
+                       }
+               }
+       }
+       if (list) {
+               ad->albuminfo.elist->clist = list;
+       } else if (list == NULL) {
+               gl_dbg("new list is null");
+       }
+}
+
+static Eina_Bool __gl_albums_pop_op(void *data)
+{
+       GL_CHECK_FALSE(data);
+       if (gl_get_view_mode(data) == GL_VIEW_ALBUMS_EDIT) {
+               gl_dbg("EDIT");
+               _gl_albums_change_mode(data, false);
+               /* Just cancel edit view, dont lower app to background */
+               return EINA_TRUE;
+       } else if (gl_get_view_mode(data) == GL_VIEW_ALBUM_REORDER) {
+               gl_appdata *ad = (gl_appdata *)data;
+               gl_set_view_mode(ad, GL_VIEW_ALBUMS);
+               elm_gengrid_reorder_mode_set(ad->albuminfo.view, EINA_FALSE);
+               Evas_Object *unset = elm_object_item_part_content_unset(ad->ctrlinfo.nf_it, GL_NAVIFRAME_PREV_BTN);
+               evas_object_hide(unset);
+               _gl_ui_disable_menu(ad->ctrlinfo.nf_it, false);
+               _gl_ui_change_navi_title(ad->ctrlinfo.nf_it, GL_STR_ID_ALBUM, true);
+               _gl_update_list_data(data);
+               evas_object_smart_callback_add(ad->albuminfo.view, "longpressed", __gl_albums_longpressed_cb, data);
+               return EINA_TRUE;
+       }
+       return EINA_FALSE;
+}
+
+/**
+ * When push albums view for the first time, albums list is empty.
+ * After albums list got from DB then update edit item state.
+ */
+static int __gl_albums_add_btns(void *data)
+{
+       gl_dbg("");
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_CHECK_VAL(ad->maininfo.naviframe, -1);
+       GL_CHECK_VAL(ad->ctrlinfo.nf_it, -1);
+       Evas_Object *parent = ad->maininfo.naviframe;
+       Elm_Object_Item *nf_it = ad->ctrlinfo.nf_it;
+       Evas_Object *btn = NULL;
+
+       /* Remove btns */
+       _gl_ui_clear_btns(data);
+       /* More */
+       btn = _gl_but_create_but(parent, NULL, NULL, GL_BUTTON_STYLE_NAVI_MORE,
+                                __gl_albums_more_btn_cb, data);
+       GL_CHECK_VAL(btn, -1);
+
+       elm_object_item_part_content_set(nf_it, GL_NAVIFRAME_MORE, btn);
+       _gl_albums_check_btns(data);
+       return 0;
+}
+
+/* From thumbnails view to albums view */
+int _gl_albums_close_album(void *data)
+{
+       gl_dbg("");
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+
+       gl_set_view_mode(ad, GL_VIEW_ALBUMS);
+       _gl_albums_set_current(data, NULL);
+       gl_albums_update_items(ad);
+       return 0;
+}
+
+/* Update albums view */
+int gl_albums_update_items(void *data)
+{
+       GL_PROFILE_IN;
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_CHECK_VAL(ad->albuminfo.elist, -1);
+       int view_mode = gl_get_view_mode(ad);
+       ad->albuminfo.albums_cnt = 0;
+       gl_dbg("");
+
+       /* Changed to show no contents if needed */
+       elm_naviframe_item_title_enabled_set(ad->ctrlinfo.nf_it, EINA_TRUE, EINA_TRUE);
+       if (gl_check_gallery_empty(ad)) {
+
+ GL_ALBUMS_SHOW_NOCONTENTS:
+
+               if (ad->albuminfo.view) {
+                       /* Clear callbacks for gengrid view */
+                       if (ad->albuminfo.nocontents == NULL) {
+                               _gl_albums_clear_cbs(ad->albuminfo.view);
+                               _gl_ui_del_scroller_pos(ad->albuminfo.view);
+                       }
+                       evas_object_del(ad->albuminfo.view);
+               }
+
+               Evas_Object *noc = _gl_nocontents_create(ad->ctrlinfo.ctrlbar_view_ly);
+               ad->albuminfo.nocontents = noc;
+               ad->albuminfo.view = noc;
+               evas_object_show(noc);
+
+               elm_naviframe_item_title_enabled_set(ad->ctrlinfo.nf_it, EINA_FALSE, EINA_FALSE);
+               Evas_Object *old_view = NULL;
+               old_view = elm_object_part_content_unset(ad->ctrlinfo.ctrlbar_view_ly,
+                                                        "elm.swallow.view");
+               GL_IF_DEL_OBJ(old_view);
+               elm_object_part_content_set(ad->ctrlinfo.ctrlbar_view_ly,
+                                           "elm.swallow.view", noc);
+       } else {
+               if (view_mode == GL_VIEW_ALBUMS_EDIT) {
+                       _gl_albums_create_items(ad, ad->albuminfo.view);
+                       /* Display selectioninfo */
+                       int cnt = _gl_data_get_albums_selected_cnt(ad);
+                       _gl_notify_check_selall(ad, ad->ctrlinfo.nf_it,
+                                               ad->albuminfo.albums_cnt, cnt);
+                       /* Update the label text */
+                       _gl_ui_update_navi_title_text(ad->ctrlinfo.nf_it, cnt, false);
+               } else {
+                       if (ad->albuminfo.nocontents) {
+                               /**
+                               * current view is nocontents,
+                               * unset it first then create albums view.
+                               */
+                               gl_albums_remove_nocontents(ad);
+                       } else {
+                               if (_gl_albums_create_items(ad, ad->albuminfo.view) < 0) {
+                                       gl_dbgW("To show nocontents!");
+                                       goto GL_ALBUMS_SHOW_NOCONTENTS;
+                               }
+                       }
+               }
+       }
+       GL_PROFILE_OUT;
+       return 0;
+}
+
+/* Add albums view and append nothing */
+int _gl_albums_create_view(void *data, Evas_Object *parent)
+{
+       GL_PROFILE_IN;
+       GL_CHECK_VAL(parent, -1);
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+
+       Evas_Object *layout_inner = NULL;
+       layout_inner = _gl_albums_add_gengrid(ad, parent);
+       GL_CHECK_VAL(layout_inner, -1);
+       elm_object_part_content_set(parent, "elm.swallow.view", layout_inner);
+       ad->albuminfo.view = layout_inner;
+       /* Register delete callback */
+       evas_object_event_callback_add(parent, EVAS_CALLBACK_DEL,
+                                      __gl_albums_delete_layout_cb, data);
+       GL_PROFILE_OUT;
+       return 0;
+}
+
+/* Update albums list and refresh albums view, remove invalid widgets */
+int gl_albums_update_view(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       int view_mode = gl_get_view_mode(ad);
+       gl_dbg("view_mode: %d.", view_mode);
+
+       ad->albuminfo.albums_cnt = 0;
+
+       if (view_mode == GL_VIEW_ALBUMS) {
+               gl_albums_update_items(data);
+               _gl_albums_check_btns(data);
+       } else if (view_mode == GL_VIEW_ALBUMS_EDIT) {
+               _gl_albums_edit_update_view(data);
+       } else if (view_mode == GL_VIEW_ALBUMS_RENAME) {
+               _gl_albums_rename_update_view(data);
+       }
+       return 0;
+}
+
+/* From albums edit view to albums view */
+int gl_albums_change_to_view(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_CHECK_VAL(ad->albuminfo.elist, -1);
+       gl_dbg("");
+
+       ad->albuminfo.albums_cnt = 0;
+       GL_CHECK_VAL(ad->albuminfo.view, -1);
+       gl_set_view_mode(ad, GL_VIEW_ALBUMS);
+       /* changed to show no contents if needed */
+       elm_naviframe_item_title_enabled_set(ad->ctrlinfo.nf_it, EINA_TRUE, EINA_TRUE);
+       if (gl_check_gallery_empty(ad)) {
+               if (ad->albuminfo.view) {
+                       /* Clear callbacks for gengrid view */
+                       if (ad->albuminfo.nocontents == NULL) {
+                               _gl_albums_clear_cbs(ad->albuminfo.view);
+                               _gl_ui_del_scroller_pos(ad->albuminfo.view);
+                       }
+                       evas_object_del(ad->albuminfo.view);
+               }
+
+               Evas_Object *noc = _gl_nocontents_create(ad->ctrlinfo.ctrlbar_view_ly);
+               ad->albuminfo.nocontents = noc;
+               ad->albuminfo.view = noc;
+               evas_object_show(noc);
+
+               elm_naviframe_item_title_enabled_set(ad->ctrlinfo.nf_it, EINA_FALSE, EINA_FALSE);
+               Evas_Object *old_view = NULL;
+               old_view = elm_object_part_content_unset(ad->ctrlinfo.ctrlbar_view_ly,
+                                                        "elm.swallow.view");
+               evas_object_hide(old_view);
+               elm_object_part_content_set(ad->ctrlinfo.ctrlbar_view_ly,
+                                           "elm.swallow.view", noc);
+       } else {
+               _gl_albums_create_items(ad, ad->albuminfo.view);
+       }
+       return 0;
+}
+
+/**
+* Remove nocontents view and show albums view.
+* Case 1, gallery is empty->home key tapped
+*      ->take photos with camera->back to gallery;
+* Case 2, gallery is empty->add web album
+*      ->update albums view.
+*/
+int gl_albums_remove_nocontents(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       Evas_Object *view = NULL;
+       gl_dbg("");
+
+       if (ad->albuminfo.nocontents && !gl_check_gallery_empty(ad)) {
+               gl_dbg("Remove nocontents view then create albums view.");
+               evas_object_del(ad->albuminfo.nocontents);
+               ad->albuminfo.nocontents = NULL;
+
+               view = _gl_albums_add_view(ad, ad->maininfo.naviframe);
+               elm_object_part_content_set(ad->ctrlinfo.ctrlbar_view_ly,
+                                           "elm.swallow.view", view);
+               evas_object_show(view);
+               ad->albuminfo.view = view;
+               _gl_albums_check_btns(data);
+       } else if (ad->albuminfo.nocontents) {
+               gl_dbg("Gallery is empty!");
+               bool b_update = false;
+               b_update = _gl_nocontents_update_label(ad->albuminfo.nocontents,
+                                                         GL_STR_NO_ALBUMS);
+               /* Update toolbar state */
+               if (b_update)
+                       _gl_albums_check_btns(data);
+       } else {
+               gl_dbg("Nocontents was removed!");
+       }
+
+       return 0;
+}
+
+/* Free resources allocated for albums view */
+int gl_albums_free_data(void *data)
+{
+       gl_dbg("");
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+
+       _gl_albums_clear_cbs(ad->albuminfo.view);
+       _gl_ui_del_scroller_pos(ad->albuminfo.view);
+       GL_FREEIF(ad->albuminfo.path);
+       return 0;
+}
+
+int _gl_albums_show_view_tab(void *data, Evas_Object *parent)
+{
+       GL_CHECK_VAL(parent, -1);
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+
+       /* Set pop callback for operating when button back clicked */
+       evas_object_data_set(ad->maininfo.naviframe, GL_NAVIFRAME_POP_CB_KEY,
+                            (void *)__gl_albums_pop_op);
+
+       gl_set_view_mode(data, GL_VIEW_ALBUMS);
+       _gl_ctrl_show_title(data, GL_CTRL_TAB_ALBUMS);
+
+       if (!ad->albuminfo.view) {
+               gl_dbg("Add gengrid first");
+               _gl_albums_create_view(ad, ad->ctrlinfo.ctrlbar_view_ly);
+       }
+
+       gl_albums_update_items(data);
+
+       if (!ad->albuminfo.nocontents) {
+               evas_object_show(ad->albuminfo.view);
+               elm_object_part_content_set(parent, "elm.swallow.view",
+                                           ad->albuminfo.view);
+       } else {
+               /* Register service if nocontents created for the first launching */
+               _gl_main_add_reg_idler(data);
+       }
+
+       /* add items */
+       __gl_albums_add_btns(data);
+       return 0;
+}
+
+/* Terminate EDIT mode */
+int _gl_albums_hide_view_tab(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       /* Reset flags */
+       ad->albuminfo.selected = NULL;
+       _gl_albums_set_current(data, NULL);
+       int view_m = gl_get_view_mode(data);
+
+       if (view_m == GL_VIEW_ALBUMS_EDIT) {
+               gl_dbg("GL_VIEW_ALBUMS_EDIT");
+               _gl_data_finalize_albums_selected_list(data);
+               /* CLEAR GENGRID */
+               if (ad->albuminfo.view &&
+                   ad->albuminfo.view != ad->albuminfo.nocontents) {
+                       gl_dbg("elm_gengrid_clear view");
+                       elm_gengrid_clear(ad->albuminfo.view);
+               }
+       } else if (view_m == GL_VIEW_ALBUMS) {
+               gl_dbg("GL_VIEW_ALBUMS");
+               /* CLEAR GENGRID */
+               if (ad->albuminfo.view &&
+                   ad->albuminfo.view != ad->albuminfo.nocontents) {
+                       gl_dbg("elm_gengrid_clear view");
+                       elm_gengrid_clear(ad->albuminfo.view);
+               }
+       }
+       /* Hide previous view */
+       Evas_Object *pre_view = NULL;
+       pre_view = elm_object_part_content_unset(ad->ctrlinfo.ctrlbar_view_ly,
+                                                "elm.swallow.view");
+       evas_object_hide(pre_view);
+       return 0;
+}
+
+int _gl_albums_change_mode(void *data, bool b_edit)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       /* Reset flags */
+       ad->albuminfo.selected = NULL;
+       _gl_albums_set_current(data, NULL);
+
+       if (b_edit) {
+               gl_set_view_mode(ad, GL_VIEW_ALBUMS_EDIT);
+               _gl_ui_change_navi_title(ad->ctrlinfo.nf_it, GL_STR_ID_SELECT_ITEM, false);
+               elm_object_signal_emit(ad->ctrlinfo.ctrlbar_view_ly, "elm,selectall,state,visible,bg", "elm");
+               elm_object_signal_emit(ad->ctrlinfo.ctrlbar_view_ly, "elm,selectall,state,visible", "elm");
+               _gl_albums_edit_add_btns(data, ad->maininfo.naviframe);
+#ifdef _USE_GRID_CHECK
+               _gl_show_grid_checks_dual(ad->albuminfo.view, GL_TILE_CHECKBOX, GL_TILE_CHECKBOX_GRID);
+#else
+               evas_object_smart_callback_del(ad->albuminfo.view, "unrealized",
+                                              __gl_albums_unrealized);
+               elm_gengrid_realized_items_update(ad->albuminfo.view);
+               evas_object_smart_callback_add(ad->albuminfo.view, "unrealized",
+                                              __gl_albums_unrealized, data);
+#endif
+       } else {
+               _gl_ui_change_navi_title(ad->ctrlinfo.nf_it, GL_STR_ID_ALBUM, true);
+               __gl_albums_add_btns(data);
+               _gl_albums_edit_pop_view(data);
+               gl_dbg("Sending signal to EDC 1");
+               elm_object_signal_emit(ad->ctrlinfo.ctrlbar_view_ly, "elm,selectall,state,default", "elm");
+       }
+       gl_albums_update_view(data);
+       return 0;
+}
+
+int _gl_albums_check_btns(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_CHECK_VAL(ad->ctrlinfo.nf_it, -1);
+       bool b_disabled = false;
+
+       /* Disable button share */
+       if (gl_check_gallery_empty(data) || ad->albuminfo.elist->edit_cnt <= 0)
+               b_disabled = true;
+       gl_dbg("b_disable: %d", b_disabled);
+
+       _gl_ui_disable_menu(ad->ctrlinfo.nf_it, false);
+       return 0;
+}
+
+int _gl_albums_rotate_view(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+
+       if (ad->albuminfo.view == ad->albuminfo.nocontents)
+               return -1;
+       Elm_Object_Item *item = elm_gengrid_first_item_get(ad->albuminfo.view);
+       if (item) {
+               item = elm_gengrid_item_next_get(item);
+               if (item) {
+                       item = elm_gengrid_item_next_get(item);
+                       if (item)
+                               elm_object_item_signal_emit(item,
+                                                           "show_top_pad",
+                                                           "padding.top");
+               }
+       }
+       return _gl_tile_update_item_size(data, ad->albuminfo.view, true);
+}
+
+int _gl_albums_set_current(void *data, gl_cluster *current)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       ad->albuminfo.current = current;
+       return 0;
+}
+
+gl_cluster *_gl_albums_get_current(void *data)
+{
+       GL_CHECK_NULL(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       return ad->albuminfo.current;
+}
+
+/* Free resources allocated for albums view */
+int _gl_albums_clear_cbs(Evas_Object *view)
+{
+       gl_dbg("");
+       GL_CHECK_VAL(view, -1);
+       evas_object_smart_callback_del(view, "realized", __gl_albums_realized);
+       evas_object_smart_callback_del(view, "unrealized",
+                       __gl_albums_unrealized);
+       evas_object_smart_callback_del(view, "longpressed",
+                       __gl_albums_longpressed_cb);
+       return 0;
+}
+
+void _gl_add_album_data(gl_cluster *album, Eina_List *medias_elist)
+{
+       GL_CHECK(album);
+       GL_CHECK(medias_elist);
+       int cnt = eina_list_count(medias_elist);
+       int i;
+       gl_item *gitem = NULL;
+       for (i = 0; i < cnt; i++) {
+               gitem = eina_list_nth(medias_elist, i);
+               if (gitem) {
+                       gitem->album = album;
+               }
+       }
+}
+
+int gl_albums_open_album(gl_cluster *album)
+{
+       GL_CHECK_VAL(album, -1);
+       GL_CHECK_VAL(album->cluster, -1);
+       GL_CHECK_VAL(album->cluster->uuid, -1);
+       GL_CHECK_VAL(album->ad, -1);
+       gl_appdata *ad = (gl_appdata *)album->ad;
+       GL_CHECK_VAL(ad->albuminfo.elist, -1);
+       GL_CHECK_VAL(ad->albuminfo.elist->clist, -1);
+       gl_item *gitem = NULL;
+       gl_item *data = NULL;
+       int view_mode = gl_get_view_mode(ad);
+       int i;
+
+       if (album->cover) {
+               _gl_data_util_free_gitem(album->cover);
+               album->cover = NULL;
+       }
+
+       if (view_mode == GL_VIEW_ALBUMS) {
+               gl_dbg("View mode!");
+       } else if (view_mode == GL_VIEW_ALBUMS_SELECT || view_mode == GL_VIEW_THUMBS_SELECT) {
+               gl_dbg("Select mode!");
+               _gl_albums_set_current(ad, album);
+               _gl_thumbs_sel_create_view(ad, album);
+               return 0;
+       } else if (view_mode == GL_VIEW_THUMBS) {
+               gl_dbg("Split view!");
+               char *i18n_name = _gl_get_i18n_album_name(album->cluster);
+               gl_sdbg("Album: %s, UUID: %s", i18n_name, album->cluster->uuid);
+               _gl_albums_set_current(ad, album);
+               Eina_List *medias_elist = NULL;
+               _gl_data_get_items_album(ad, album, GL_FIRST_VIEW_START_POS,
+                               GL_GET_UNTIL_LAST_RECORD - 1, &medias_elist);
+               _gl_add_album_data(album, medias_elist);
+               EINA_LIST_FREE(album->elist, data) {
+                       if (data) {
+                               data->checked = false;
+                       }
+               }
+               _gl_thumbs_set_list(ad, medias_elist);
+               _gl_thumbs_update_split_view(ad, GL_NAVI_THUMBS, i18n_name, true,
+                               __gl_albums_close_album_cb);
+               return 0;
+       } else if (view_mode == GL_VIEW_THUMBS_EDIT) {
+               gl_dbg("Split edit view!");
+               char *i18n_name = _gl_get_i18n_album_name(album->cluster);
+               gl_sdbg("Album: %s, UUID: %s", i18n_name, album->cluster->uuid);
+               _gl_albums_set_current(ad, album);
+               Eina_List *sel_id_list = NULL;
+
+               Eina_List *medias_elist = NULL;
+               _gl_data_get_items_album(ad, album, GL_FIRST_VIEW_START_POS,
+                               GL_GET_UNTIL_LAST_RECORD - 1, &medias_elist);
+               _gl_add_album_data(album, medias_elist);
+               EINA_LIST_FREE(album->elist, data) {
+                       if (data) {
+                               data->checked = false;
+                       }
+               }
+
+               _gl_thumbs_set_list(ad, medias_elist);
+               int count = eina_list_count(medias_elist);
+               for (i = 0; i < count ; i++) {
+                       gitem = eina_list_nth(medias_elist, i);
+                       _gl_data_restore_selected(ad->selinfo.elist, gitem);
+               }
+               _gl_thumbs_update_edit_split_view(ad, GL_NAVI_THUMBS, i18n_name, true,
+                               __gl_albums_close_album_cb);
+               return 0;
+       } else {
+               gl_dbgW("Wrong view mode");
+               return -1;
+       }
+       char *i18n_name = _gl_get_i18n_album_name(album->cluster);
+       gl_sdbg("Album: %s, UUID: %s", i18n_name, album->cluster->uuid);
+       _gl_albums_set_current(ad, album);
+       Eina_List *medias_elist = NULL;
+       _gl_data_get_items_album(ad, album, GL_FIRST_VIEW_START_POS,
+                                GL_FIRST_VIEW_END_POS, &medias_elist);
+       _gl_add_album_data(album, medias_elist);
+       EINA_LIST_FREE(album->elist, data) {
+               if (data) {
+                       data->checked = false;
+               }
+       }
+       _gl_thumbs_set_list(ad, medias_elist);
+       _gl_thumbs_create_view(ad, GL_NAVI_THUMBS, i18n_name, true,
+                              __gl_albums_close_album_cb);
+       gl_dbg("albums_view 0x%x cleared", ad->albuminfo.view);
+       gl_dbg("Done albums selected");
+       return 0;
+}
+
+Evas_Object *_gl_albums_add_gengrid(void *data, Evas_Object *parent)
+{
+       GL_PROFILE_IN;
+       GL_CHECK_NULL(parent);
+       GL_CHECK_NULL(data);
+       Evas_Object *grid = _gl_tile_add_gengrid(parent);
+       evas_object_smart_callback_add(grid, "realized", __gl_albums_realized,
+                                      data);
+       evas_object_smart_callback_add(grid, "unrealized",
+                                      __gl_albums_unrealized, data);
+#if 0
+       evas_object_smart_callback_add(grid, "language,changed",
+                                      __gl_albums_lang_changed, data);
+#endif
+       evas_object_smart_callback_add(grid, "longpressed",
+                                      __gl_albums_longpressed_cb, data);
+       evas_object_show(grid);
+       _gl_ui_reset_scroller_pos(grid);
+       GL_PROFILE_OUT;
+       return grid;
+}
+
+Evas_Object * _gl_albums_create_album_sel_gengrid(void *data)
+{
+       GL_CHECK_VAL(data, NULL);
+       gl_appdata *ad = (gl_appdata *)data;
+       Evas_Object *layout_inner = elm_gengrid_add(ad->maininfo.win);
+
+       elm_gengrid_align_set(layout_inner, 0.5f, 0.0);
+       elm_gengrid_horizontal_set(layout_inner, EINA_FALSE);
+       elm_scroller_bounce_set(layout_inner, EINA_FALSE, EINA_TRUE);
+       elm_scroller_policy_set(layout_inner, ELM_SCROLLER_POLICY_OFF,
+                       ELM_SCROLLER_POLICY_AUTO);
+       elm_gengrid_multi_select_set(layout_inner, EINA_TRUE);
+       evas_object_size_hint_weight_set(layout_inner, EVAS_HINT_EXPAND,
+                       EVAS_HINT_EXPAND);
+       return layout_inner;
+}
+
+Evas_Object *_gl_albums_sel_add_view(void *data, Evas_Object *parent)
+{
+       GL_CHECK_NULL(parent);
+       GL_CHECK_NULL(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_CHECK_NULL(ad->albuminfo.elist);
+       gl_dbg("");
+
+       ad->albuminfo.albums_cnt = 0;
+
+       Evas_Object *grid = _gl_albums_create_album_sel_gengrid(data);
+       GL_CHECK_NULL(grid);
+       int ret = _gl_albums_create_items(ad, grid);
+
+       int view_mode = gl_get_view_mode(ad);
+       gl_dbg("view_mode: %d", view_mode);
+       if (view_mode == GL_VIEW_ALBUMS_SELECT) {
+               if (ad->albuminfo.albums_cnt == 0) {
+                       gl_dbgE("None albums!");
+                       evas_object_del(grid);
+                       grid = NULL;
+               } else {
+                       evas_object_show(grid);
+               }
+               return grid;
+       }
+
+       /* show no contents if none albums appended or none album exists */
+       if (ret < 0 || gl_check_gallery_empty(ad)) {
+               _gl_ui_del_scroller_pos(grid);
+               evas_object_del(grid);
+               grid = NULL;
+
+               Evas_Object *noc = _gl_nocontents_create(ad->ctrlinfo.ctrlbar_view_ly);
+               evas_object_show(noc);
+               ad->albuminfo.nocontents = noc;
+               elm_naviframe_item_title_enabled_set(ad->ctrlinfo.nf_it, EINA_FALSE, EINA_FALSE);
+
+               return noc;
+       } else {
+               ad->albuminfo.nocontents = NULL;
+               elm_naviframe_item_title_enabled_set(ad->ctrlinfo.nf_it, EINA_TRUE, EINA_TRUE);
+       }
+
+       gl_dbg("done");
+       return grid;
+}
+
+/* Add albums view and doesn't push it to naviframe */
+Evas_Object *_gl_albums_add_view(void *data, Evas_Object *parent)
+{
+       GL_CHECK_NULL(parent);
+       GL_CHECK_NULL(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_CHECK_NULL(ad->albuminfo.elist);
+       gl_dbg("");
+
+       ad->albuminfo.albums_cnt = 0;
+
+       Evas_Object *grid = _gl_albums_add_gengrid(data, parent);
+       GL_CHECK_NULL(grid);
+       int ret = _gl_albums_create_items(ad, grid);
+
+       int view_mode = gl_get_view_mode(ad);
+       gl_dbg("view_mode: %d", view_mode);
+       if (view_mode == GL_VIEW_ALBUMS_SELECT) {
+               if (ad->albuminfo.albums_cnt == 0) {
+                       gl_dbgE("None albums!");
+                       evas_object_del(grid);
+                       grid = NULL;
+               } else {
+                       evas_object_show(grid);
+               }
+               return grid;
+       }
+
+       /* show no contents if none albums appended or none album exists */
+       if (ret < 0 || gl_check_gallery_empty(ad)) {
+               _gl_ui_del_scroller_pos(grid);
+               evas_object_del(grid);
+               grid = NULL;
+
+               Evas_Object *noc = _gl_nocontents_create(ad->ctrlinfo.ctrlbar_view_ly);
+               evas_object_show(noc);
+               ad->albuminfo.nocontents = noc;
+               elm_naviframe_item_title_enabled_set(ad->ctrlinfo.nf_it, EINA_FALSE, EINA_FALSE);
+
+               return noc;
+       } else {
+               ad->albuminfo.nocontents = NULL;
+               elm_naviframe_item_title_enabled_set(ad->ctrlinfo.nf_it, EINA_TRUE, EINA_TRUE);
+       }
+
+       gl_dbg("done");
+       return grid;
+}
+
+int _gl_split_albums_create_items(void *data, Evas_Object *parent)
+{
+       GL_PROFILE_IN;
+       GL_CHECK_VAL(parent, -1);
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       int i = 0;
+       gl_cluster *album_item = NULL;
+       int length = 0;
+       gl_dbg("");
+       evas_object_smart_callback_add(parent, "realized", __gl_split_albums_realized,
+                                              data);
+       if (elm_gengrid_items_count(parent) > 0) {
+               /* Save scroller position before clearing gengrid */
+               _gl_ui_save_scroller_pos(parent);
+               /* Clear albums view */
+               elm_gengrid_clear(parent);
+       }
+       ad->albuminfo.gic.item_style = GL_GENGRID_STYLE_ALBUM_SPLIT_VIEW;
+       ad->albuminfo.gic.func.text_get = __gl_albums_get_text;
+       ad->albuminfo.gic.func.content_get = __gl_albums_get_content_split_view;
+       Elm_Gengrid_Item_Class *pgic = &(ad->albuminfo.gic);
+       GL_CHECK_VAL(ad->albuminfo.elist, -1);
+       GL_CHECK_VAL(ad->albuminfo.elist->clist, -1);
+       Eina_List *clist = ad->albuminfo.elist->clist;
+       length = eina_list_count(clist);
+       gl_dbg("Albums length: %d", length);
+       ad->albuminfo.elist->edit_cnt = 0;
+       int item_cnt = 0;
+
+       for (i = 0; i < length; i++) {
+               album_item = eina_list_nth(clist, i);
+               GL_CHECK_VAL(album_item, -1);
+               GL_CHECK_VAL(album_item->cluster, -1);
+               GL_CHECK_VAL(album_item->cluster->display_name, -1);
+               GL_CHECK_VAL(album_item->cluster->uuid, -1);
+               if (album_item->cluster->type < GL_STORE_T_ALL) {
+                       ad->albuminfo.elist->edit_cnt++;
+               } else {
+                       int view_mode = gl_get_view_mode(ad);
+                       if (view_mode == GL_VIEW_ALBUMS
+                                       || view_mode == GL_VIEW_ALBUMS_EDIT
+                                       || view_mode == GL_VIEW_TIMELINE
+                                       || view_mode == GL_VIEW_THUMBS_EDIT
+                                       || view_mode == GL_VIEW_THUMBS_SELECT
+                                       ) {
+                               gl_dbg("skip the item");
+                               continue;
+                       }
+               }
+               album_item->item = elm_gengrid_item_append(parent, pgic,
+                                                          album_item,
+                                                          __gl_albums_sel_cb,
+                                                          album_item);
+               album_item->index = item_cnt;
+               item_cnt++;
+               gl_sdbg("Append[%s], id=%s.", album_item->cluster->display_name,
+                      album_item->cluster->uuid);
+       }
+       /* Restore previous position of scroller */
+       _gl_ui_restore_scroller_pos(parent);
+       ad->albuminfo.albums_cnt = item_cnt;
+       GL_PROFILE_OUT;
+       if (item_cnt) {
+               gl_sdbg("Item count is 0");
+               return 0;
+       }
+       else
+               return -1;
+}
+
+int _gl_albums_create_items(void *data, Evas_Object *parent)
+{
+       GL_PROFILE_IN;
+       GL_CHECK_VAL(parent, -1);
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       int i = 0;
+       gl_cluster *album_item = NULL;
+       int length = 0;
+       gl_dbg("");
+
+       if (elm_gengrid_items_count(parent) > 0) {
+               /* Save scroller position before clearing gengrid */
+               _gl_ui_save_scroller_pos(parent);
+               evas_object_smart_callback_del(parent, "unrealized",
+                                              __gl_albums_unrealized);
+               /* Clear albums view */
+               elm_gengrid_clear(parent);
+               evas_object_smart_callback_add(parent, "unrealized",
+                                              __gl_albums_unrealized, data);
+       }
+       ad->albuminfo.gic.item_style = GL_GENGRID_STYLE_ALBUM_VIEW;
+       ad->albuminfo.gic.func.text_get = __gl_albums_get_text;
+       ad->albuminfo.gic.func.content_get = __gl_albums_get_content;
+       Elm_Gengrid_Item_Class *pgic = &(ad->albuminfo.gic);
+       GL_CHECK_VAL(ad->albuminfo.elist, -1);
+       GL_CHECK_VAL(ad->albuminfo.elist->clist, -1);
+       Eina_List *clist = ad->albuminfo.elist->clist;
+       length = eina_list_count(clist);
+       gl_dbg("Albums length: %d", length);
+       ad->albuminfo.elist->edit_cnt = 0;
+       int item_cnt = 0;
+
+       for (i = 0; i < length; i++) {
+               album_item = eina_list_nth(clist, i);
+               GL_CHECK_VAL(album_item, -1);
+               GL_CHECK_VAL(album_item->cluster, -1);
+               GL_CHECK_VAL(album_item->cluster->display_name, -1);
+               GL_CHECK_VAL(album_item->cluster->uuid, -1);
+
+               if (album_item->cluster->type < GL_STORE_T_ALL) {
+                       ad->albuminfo.elist->edit_cnt++;
+               } else {
+                       if(gl_get_view_mode(ad) != GL_VIEW_ALBUMS) {
+                               continue;
+                       }
+               }
+               album_item->item = elm_gengrid_item_append(parent, pgic,
+                                                          album_item,
+                                                          __gl_albums_sel_cb,
+                                                          album_item);
+               album_item->index = item_cnt;
+               item_cnt++;
+               gl_sdbg("Append[%s], id=%s.", album_item->cluster->display_name,
+                      album_item->cluster->uuid);
+       }
+       /* Restore previous position of scroller */
+       _gl_ui_restore_scroller_pos(parent);
+
+       ad->albuminfo.albums_cnt = item_cnt;
+       _gl_tile_update_item_size(data, parent, false);
+       GL_PROFILE_OUT;
+       if (item_cnt)
+               return 0;
+       else
+               return -1;
+}
+
diff --git a/src/features/gl-entry.c b/src/features/gl-entry.c
new file mode 100644 (file)
index 0000000..fa536fb
--- /dev/null
@@ -0,0 +1,298 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#include "gl-entry.h"
+#include "gl-ui-util.h"
+#include "gl-util.h"
+#include "gl-button.h"
+#include "gl-editfield.h"
+#include "gl-controlbar.h"
+#include "gl-debug.h"
+#include "gl-strings.h"
+#include "gl-fs.h"
+#include "gl-popup.h"
+#include "gl-notify.h"
+
+typedef struct _gl_entry_t gl_entry_s;
+struct _gl_entry_t {
+       Evas_Object *layout;
+       Elm_Object_Item *nf_it;
+       Elm_Object_Item *pre_nf_it;
+       Evas_Object *done_btn;
+
+       void *ad;
+};
+
+#if 0
+/* Free data after layout deleted */
+static void __gl_entry_layout_del_cb(void *data, Evas *e, Evas_Object *obj,
+                                    void *ei)
+{
+       gl_dbg("Delete entry layout ---");
+       GL_FREEIF(data);
+       gl_dbg("Delete entry layout +++");
+}
+
+static Eina_Bool __gl_entry_pop_cb(void *data, Elm_Object_Item *it)
+{
+       GL_CHECK_FALSE(data);
+       gl_entry_s *entry_d = (gl_entry_s *)data;
+       GL_CHECK_FALSE(entry_d->ad);
+       gl_dbg("");
+
+       /* Call cancel callback */
+       Evas_Object *entry = _gl_editfield_get_entry(entry_d->ad);
+       GL_CHECK_FALSE(entry);
+       Eina_Bool (*pop_cb)(void *data, Elm_Object_Item *it);
+       pop_cb = evas_object_data_get(entry, "gl_entry_pop_cb_key");
+       /* Clear editfield variables */
+       _gl_editfield_destroy_imf(entry_d->ad);
+       if (pop_cb)
+               return pop_cb(entry_d->ad, it);
+       else
+               return EINA_TRUE;
+}
+#endif
+
+static void __gl_entry_done_cb(void *data, Evas_Object *obj, void *ei)
+{
+       GL_CHECK(data);
+       gl_entry_s *entry_d = (gl_entry_s *)data;
+       GL_CHECK(entry_d->ad);
+       gl_dbg("");
+       /* Hide editfield */
+       _gl_editfield_hide_imf(entry_d->ad);
+       gl_appdata *ad = (gl_appdata *)entry_d->ad;
+
+       Evas_Object *entry = _gl_editfield_get_entry(entry_d->ad);
+       GL_CHECK(entry);
+
+       int (*process_cb)(void *data, bool b_enter);
+       process_cb = evas_object_data_get(entry, "gl_entry_process_cb_key");
+       GL_CHECK(process_cb);
+       /* Delete callback when it is clicked to prevent it is called for many times */
+       if (process_cb(entry_d->ad, false) == 0)
+               evas_object_smart_callback_del(obj, "clicked",
+                                              __gl_entry_done_cb);
+       /* Clear nf_it to cancel hide title in landscape mode */
+       ad->entryinfo.nf_it = NULL;
+       GL_FREEIF(ad->albuminfo.temp_album_name);
+}
+
+static void __gl_entry_cancel_cb(void *data, Evas_Object *obj, void *ei)
+{
+       GL_CHECK(obj);
+       GL_CHECK(data);
+       gl_dbg("");
+       /* Hide editfield */
+       _gl_editfield_hide_imf(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_IF_DEL_OBJ(ad->popupinfo.popup);
+       GL_FREEIF(ad->albuminfo.temp_album_name);
+}
+
+#if 0
+static void __gl_entry_trans_finished_cb(void *data, Evas_Object *obj, void *ei)
+{
+       evas_object_smart_callback_del(obj, GL_TRANS_FINISHED,
+                                      __gl_entry_trans_finished_cb);
+       GL_CHECK(data);
+       gl_dbg("");
+
+       Evas_Object *entry = _gl_editfield_get_entry(data);
+       GL_CHECK(entry);
+
+       int (*transit_cb)(void *data);
+       transit_cb = evas_object_data_get(entry, "gl_entry_transit_cb_key");
+       if (transit_cb)
+               transit_cb(data);
+
+}
+#endif
+
+/**
+ *  Use naviframe api to push albums rename view to stack.
+ *  @param obj is the content to be pushed.
+ */
+static int __gl_entry_push_view(void *data, Evas_Object *parent,
+                               Evas_Object *obj, char *title,
+                               gl_entry_s *entry_d)
+{
+       gl_dbg("");
+       GL_CHECK_VAL(parent, -1);
+       GL_CHECK_VAL(data, -1);
+       GL_CHECK_VAL(entry_d, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       Evas_Object *left_btn = NULL;
+       Evas_Object *right_btn = NULL;
+
+       right_btn = _gl_but_create_image_but(parent, NULL, GL_STR_ID_SAVE,
+                                       NULL, __gl_entry_done_cb, entry_d, EINA_FALSE);
+       GL_CHECK_VAL(right_btn, -1);
+       ad->entryinfo.done_btn = right_btn;
+       entry_d->done_btn = right_btn;
+
+       /* Cancel */
+       left_btn = _gl_but_create_image_but(parent, NULL, GL_STR_ID_CANCEL,
+                                       NULL, __gl_entry_cancel_cb, data, EINA_FALSE);
+       GL_CHECK_VAL(left_btn, -1);
+
+       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;
+}
+
+void _gl_popup_create_folder_imf_changed_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       const char *entry_data = NULL;
+       char *name = NULL;
+       char new_str[GL_ALBUM_NAME_LEN_MAX] = {0,};
+
+       entry_data = elm_entry_entry_get(ad->entryinfo.entry);
+       name = elm_entry_markup_to_utf8(entry_data);
+       GL_CHECK(name);
+
+       if (!_gl_fs_validate_name(name)) {
+               strncpy(new_str, name, GL_ALBUM_NAME_LEN_MAX - 1);
+               int position = elm_entry_cursor_pos_get(ad->entryinfo.entry);
+               elm_entry_entry_set(ad->entryinfo.entry, elm_entry_utf8_to_markup(ad->albuminfo.temp_album_name));
+               elm_entry_cursor_begin_set(ad->entryinfo.entry);
+               elm_entry_cursor_pos_set(ad->entryinfo.entry, position - 1);
+               _gl_notify_create_notiinfo(_gl_str(GL_STR_ID_INVALID_INPUT_PARAMETER));
+               GL_FREEIF(name);
+               return;
+       }
+       GL_FREEIF(ad->albuminfo.temp_album_name);
+       ad->albuminfo.temp_album_name = strdup(name);
+       free(name);
+}
+
+static void _showFinishedCb(void *data, Evas_Object *obj, void *event_info)
+{
+       gl_appdata *ad = (gl_appdata *)data;
+       _gl_editfield_show_imf(ad);
+       evas_object_smart_callback_del(ad->popupinfo.popup, "show,finished",
+                       _showFinishedCb);
+}
+
+int _gl_entry_create_view(void *data, char *name, char *title)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       Evas_Object *entry_ly = NULL;
+       gl_dbg("");
+
+       gl_entry_s *entry_d = NULL;
+       entry_d = (gl_entry_s *)calloc(1, sizeof(gl_entry_s));
+       GL_CHECK_VAL(entry_d, -1);
+
+       if (ad->popupinfo.popup) {
+               GL_IF_DEL_OBJ(ad->popupinfo.popup);
+               ad->popupinfo.popup = NULL;
+       }
+
+       Evas_Object *popup = NULL;
+       popup = elm_popup_add(ad->maininfo.layout);
+       ad->popupinfo.popup = popup;
+       evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND,
+                       EVAS_HINT_EXPAND);
+
+       _gl_ui_set_translate_part_str(popup, "title,text", title);
+
+       entry_ly = elm_layout_add(popup);
+       elm_layout_file_set(entry_ly, GL_EDJ_FILE, "popup_input_text");
+
+       Evas_Object *entry = elm_entry_add(entry_ly);
+       if (entry == NULL) {
+               GL_IF_DEL_OBJ(entry_ly);
+               GL_IF_DEL_OBJ(popup);
+               if (entry_d) {
+                       free(entry_d);
+               }
+               return -1;
+       }
+
+       elm_entry_single_line_set(entry, EINA_TRUE);
+       elm_entry_scrollable_set(entry, EINA_TRUE);
+       elm_object_part_content_set(entry_ly, "elm.swallow.content", entry);
+       elm_entry_cnp_mode_set(entry, ELM_CNP_MODE_PLAINTEXT);
+       elm_entry_input_panel_layout_set(entry, ELM_INPUT_PANEL_LAYOUT_NORMAL);
+       elm_entry_input_panel_layout_variation_set(entry, ELM_INPUT_PANEL_LAYOUT_NORMAL_VARIATION_FILENAME);
+
+       ad->entryinfo.entry = entry;
+       ad->entryinfo.context = elm_entry_imf_context_get(ad->entryinfo.entry);
+       ad->entryinfo.editfield = entry_ly;
+       evas_object_smart_callback_add(entry, "changed", (Evas_Smart_Cb)_gl_popup_create_folder_imf_changed_cb, ad);
+       /* Set callback */
+       char *new_name = NULL;
+       char *full_path = NULL;
+       full_path = (char *)_gl_fs_get_unique_new_album_name(GL_DEFAULT_PATH_IMAGES, GL_STR_ID_ALBUM_DEFAULT, &new_name);
+       __gl_editfield_set_entry(ad, entry_ly, entry, new_name);
+       elm_entry_select_all(entry);
+       GL_FREEIF(new_name);
+       GL_FREEIF(full_path);
+       elm_object_content_set(popup, entry_ly);
+       evas_object_show(popup);
+
+       entry_d->ad = ad;
+
+       __gl_entry_push_view(ad, popup, NULL, title,
+                            entry_d);
+
+       /* Register delete callback */
+       eext_object_event_callback_add(popup, EEXT_CALLBACK_BACK,
+                       __gl_entry_cancel_cb, entry_d->ad);
+       evas_object_smart_callback_add(popup, "show,finished",
+                       _showFinishedCb, entry_d->ad);
+       ad->entryinfo.b_hide_sip = true;
+       return 0;
+
+}
+
+int _gl_entry_resume_view(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       Elm_Object_Item *top_nf_it = NULL;
+
+       if (!ad->entryinfo.nf_it)
+               return -1;
+
+       top_nf_it = elm_naviframe_top_item_get(ad->maininfo.naviframe);
+       if (ad->entryinfo.nf_it != top_nf_it) {
+               gl_dbg("Hide Entry cursor and IMF");
+               _gl_editfield_hide_imf(ad);
+       } else if (ad->entryinfo.editfield) {
+               /* Show cursor and IMF if not popup showed */
+               if (ad->popupinfo.popup) {
+                       gl_dbg("Hide Entry cursor and IMF");
+                       _gl_editfield_hide_imf(ad);
+               } else {
+                       gl_dbg("Show Entry cursor and IMF");
+                       _gl_editfield_show_imf(ad);
+               }
+       }
+       return 0;
+}
+
diff --git a/src/features/gl-main.c b/src/features/gl-main.c
new file mode 100644 (file)
index 0000000..d9fed54
--- /dev/null
@@ -0,0 +1,510 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#include "gl-debug.h"
+#include "gl-main.h"
+#include "gl-controlbar.h"
+#include "gl-ui-util.h"
+#include "gl-util.h"
+#include "gl-albums.h"
+#include "gl-ctxpopup.h"
+#include "gl-editfield.h"
+#include "gl-notify.h"
+#include "gl-thread-util.h"
+#include "gl-popup.h"
+#include "gl-strings.h"
+#include "gl-thumbs.h"
+#include "gl-button.h"
+#include "gl-tile.h"
+#include "gl-db-update.h"
+#include "gl-timeline.h"
+
+#define GL_BG_COLOR_DEFAULT 0
+#define GL_BG_COLOR_A 255
+
+static void __gl_main_win_del_cb(void *data, Evas_Object *obj, void *ei)
+{
+       gl_dbgW("_gl_main_win_del_cb!!");
+       GL_CHECK(data);
+
+       elm_exit();
+}
+
+/**
+ * Perform an UI update according to the given rotation angle.
+ * Do not call elm_win_rotation_set / elm_win_rotation_with_resize_set.
+ * ecore_evas has already called
+ * elm_win_rotation_set / elm_win_rotation_with_resize_set function.
+ *
+ * Please set NULL to app_device_orientation_cb member of app_event_callback_s structure.
+ * And don't use app_device_orientation_cb callback which is supported by capi
+*/
+static void __gl_main_win_rot_changed_cb(void *data, Evas_Object *obj,
+                                        void *event)
+{
+       GL_CHECK(data);
+       GL_CHECK(obj);
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_CHECK(ad->maininfo.win);
+
+       /* changed_ang value is 0 90 180 270 */
+       int changed_ang = elm_win_rotation_get(obj);
+       gl_dbg("New angle: %d, old angle: %d", changed_ang,
+              ad->maininfo.rotate_mode);
+       if (changed_ang == ad->maininfo.rotate_mode)
+               return;
+       else
+               ad->maininfo.rotate_mode = changed_ang;
+#if 0
+       enum ug_event evt = UG_EVENT_NONE;
+       /* Send event to UG */
+       switch (changed_ang) {
+       case APP_DEVICE_ORIENTATION_0:
+               evt = UG_EVENT_ROTATE_PORTRAIT;
+               break;
+       case APP_DEVICE_ORIENTATION_90:
+               evt = UG_EVENT_ROTATE_LANDSCAPE_UPSIDEDOWN;
+               break;
+       case APP_DEVICE_ORIENTATION_180:
+               evt = UG_EVENT_ROTATE_PORTRAIT_UPSIDEDOWN;
+               break;
+       case APP_DEVICE_ORIENTATION_270:
+               evt = UG_EVENT_ROTATE_LANDSCAPE;
+               break;
+       }
+       ug_send_event(evt);
+#endif
+       int view_mode = gl_get_view_mode(ad);
+       _gl_ui_rotate_view(data, view_mode);
+       _gl_timeline_rotate_view(data);
+       /*(landscape && SIP showed) -> hide title bar
+       _gl_editfield_change_navi_title(data, ad->maininfo.rotate_mode);*/
+       /*(landscape && rename mode) -> hide toolbar */
+       if (ad->entryinfo.b_hide_toolbar) {
+               _gl_ui_set_toolbar_state(data, ad->entryinfo.b_hide_toolbar);
+       }
+}
+
+/* Parent is main window */
+static Evas_Object *__gl_main_create_bg(Evas_Object *parent)
+{
+       GL_PROFILE_IN;
+       GL_CHECK_NULL(parent);
+       Evas_Object *bg = NULL;
+
+       bg = evas_object_rectangle_add(evas_object_evas_get(parent));
+       evas_object_color_set(bg, GL_BG_COLOR_DEFAULT, GL_BG_COLOR_DEFAULT,
+                             GL_BG_COLOR_DEFAULT, GL_BG_COLOR_A);
+       evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND,
+                                        EVAS_HINT_EXPAND);
+       elm_win_resize_object_add(parent, bg);
+       evas_object_show(bg);
+
+       GL_PROFILE_OUT;
+       return bg;
+}
+
+/* Parent is main window */
+static Evas_Object *__gl_main_create_conform(Evas_Object *parent)
+{
+       GL_PROFILE_IN;
+       GL_CHECK_NULL(parent);
+       Evas_Object *conform = NULL;
+       conform = elm_conformant_add(parent);
+       evas_object_size_hint_weight_set(conform, EVAS_HINT_EXPAND,
+                                        EVAS_HINT_EXPAND);
+       evas_object_size_hint_align_set(conform, EVAS_HINT_FILL, EVAS_HINT_FILL);
+       elm_win_resize_object_add(parent, conform);
+       evas_object_show(conform);
+       GL_PROFILE_OUT;
+       return conform;
+}
+
+static int __gl_main_create_ctrl_ly(gl_appdata *ad, Evas_Object *parent)
+{
+       GL_PROFILE_IN;
+       GL_CHECK_VAL(parent, -1);
+       GL_CHECK_VAL(ad, -1);
+
+       Evas_Object *layout = _gl_ctrl_add_layout(parent);
+       GL_CHECK_VAL(layout, -1);
+       ad->ctrlinfo.ctrlbar_view_ly = layout;
+
+       /* Set view layout to control layout */
+       elm_object_part_content_set(parent, "elm.swallow.content", layout);
+       GL_PROFILE_OUT;
+       return 0;
+}
+
+static Evas_Object *__gl_main_create_ly(Evas_Object *parent)
+{
+       GL_PROFILE_IN;
+       GL_CHECK_NULL(parent);
+       Evas_Object *layout = NULL;
+
+       layout = elm_layout_add(parent);
+       GL_CHECK_NULL(layout);
+       /* Apply the layout style */
+       elm_layout_theme_set(layout, "layout", "application", "default");
+       evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND,
+                                        EVAS_HINT_EXPAND);
+       evas_object_show(layout);
+       GL_PROFILE_OUT;
+       return layout;
+}
+
+static Evas_Object *__gl_main_create_naviframe(Evas_Object *parent)
+{
+       GL_PROFILE_IN;
+       GL_CHECK_NULL(parent);
+       Evas_Object *nf = NULL;
+       nf = elm_naviframe_add(parent);
+       /* Disable Naviframe Back Button Auto creation function */
+       elm_naviframe_prev_btn_auto_pushed_set(nf, EINA_FALSE);
+       /* Pop the most top view if the Naviframe has the BACK event */
+       eext_object_event_callback_add(nf, EEXT_CALLBACK_BACK, eext_naviframe_back_cb,
+                                    NULL);
+       /* Call the more_cb() of the most top view if the Naviframe has the MORE event */
+       eext_object_event_callback_add(nf, EEXT_CALLBACK_MORE, eext_naviframe_more_cb,
+                                    NULL);
+       evas_object_show(nf);
+       gl_dbg("naviframe added");
+       GL_PROFILE_OUT;
+       return nf;
+}
+
+static Eina_Bool __gl_main_reg_idler_cb(void *data)
+{
+       gl_dbg("start");
+       GL_CHECK_CANCEL(data);
+       gl_appdata *ad = (gl_appdata *)data;
+
+       /* To skip blocking UX as much as possible */
+       if (!ad->maininfo.b_reged_idler) {
+               ad->maininfo.b_reged_idler = true;
+               gl_dbg("next idler");
+               return ECORE_CALLBACK_PASS_ON;
+       }
+
+       /* Initialize media-content */
+       _gl_data_init(ad);
+       /* Register db monitor */
+       _gl_db_update_reg_cb(data);
+#ifdef _USE_SVI
+       /* initializ svi */
+       _gl_init_svi(data);
+#endif
+       /* Open imageviewer UG so lib */
+       _gl_dlopen_imageviewer(data);
+
+       GL_IF_DEL_TIMER(ad->maininfo.reg_idler);
+       gl_dbg("done");
+       return ECORE_CALLBACK_CANCEL;
+}
+
+/* pause gallery and change view to background after tap Back button in main view */
+/* Return EINA_FALSE to keep current view unchanged, no pop operation */
+/* Always return EINA_FALSE in the first item of naviframe */
+static Eina_Bool __gl_main_pop_op(void *data)
+{
+       GL_CHECK_FALSE(data);
+       gl_appdata *ad = (gl_appdata *)data;
+
+       void *pop_cb = evas_object_data_get(ad->maininfo.naviframe,
+                                           GL_NAVIFRAME_POP_CB_KEY);
+       if (pop_cb) {
+               Eina_Bool (*_pop_cb) (void *data);
+               _pop_cb = pop_cb;
+
+               if (_pop_cb(data)) {
+                       /* Just pop edit view, dont lower app to background */
+                       return EINA_FALSE;
+               }
+       }
+
+       GL_CHECK_FALSE(ad->maininfo.win);
+       gl_dbgW("Lower Gallery to background!");
+       elm_win_lower(ad->maininfo.win);
+       return EINA_FALSE;
+}
+
+static Eina_Bool __gl_main_pop_cb(void *data, Elm_Object_Item *it)
+{
+       GL_CHECK_FALSE(data);
+       return __gl_main_pop_op(data);
+}
+
+/**
+ *  Use naviframe api to push albums view to stack.
+ *  @param obj is the content to be pushed.
+ */
+static int __gl_main_push_view(void *data, Evas_Object *parent, Evas_Object *obj)
+{
+       GL_PROFILE_IN;
+       GL_CHECK_VAL(obj, -1);
+       GL_CHECK_VAL(parent, -1);
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       Elm_Object_Item *nf_it = NULL;
+       Evas_Object *prev_btn = NULL;
+
+       /**
+       *  add End button in navigation var first view in galery
+       *   with style "naviframe/prev_btn/gallery"
+       *  so after tap this button,gallery is paused
+       *  but change view to background
+       *
+       * Need to created button and set it to naviframe, cause this is the first
+       * naviframe item. Otherwise, prev_btn will not be created.
+       */
+       GL_CHECK_VAL(ad->maininfo.win, -1);
+       prev_btn = _gl_but_create_but(parent, NULL, NULL,
+                                     GL_BUTTON_STYLE_NAVI_PRE, NULL, NULL);
+       GL_CHECK_VAL(prev_btn, -1);
+       /* Push view to stack */
+       nf_it = elm_naviframe_item_push(parent, NULL, prev_btn, NULL, obj,
+                                       NULL);
+       Evas_Object *unset = elm_object_item_part_content_unset(nf_it, GL_NAVIFRAME_PREV_BTN);
+       evas_object_hide(unset);
+       ad->ctrlinfo.nf_it = nf_it;
+       elm_naviframe_item_pop_cb_set(nf_it, __gl_main_pop_cb, data);
+
+       GL_PROFILE_OUT;
+       return 0;
+}
+
+/* Add albums view and append nothing */
+static int __gl_main_add_view(void *data, Evas_Object *parent)
+{
+       GL_PROFILE_IN;
+       GL_CHECK_VAL(parent, -1);
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+
+       /* Add gesture for parent */
+       Evas_Object *gesture = _gl_tile_add_gesture(data, parent);
+       if (gesture == NULL)
+               gl_dbgE("Failed to create gesture!");
+       else
+               elm_object_part_content_set(parent, "gesture", gesture);
+
+       __gl_main_push_view(data, ad->maininfo.naviframe,
+                           ad->ctrlinfo.ctrlbar_ly);
+
+       GL_PROFILE_OUT;
+       return 0;
+}
+
+static Evas_Object *__gl_main_create_win(void *data, const char *name)
+{
+       GL_PROFILE_IN;
+       GL_CHECK_NULL(name);
+       GL_CHECK_NULL(data);
+       Evas_Object *win = NULL;
+
+       win = elm_win_add(NULL, name, ELM_WIN_BASIC);
+       GL_CHECK_NULL(win);
+
+       /* Temporarily disable vsync
+        * In Redwood8974 binary, Gallery lockup happens in view transit animation.
+       */
+       /**
+        * Register a list of rotation angles that your application supports
+        *
+        * The window manager is going to decide rotation of application windows
+        * by referring the list of rotation angles.
+        * In this means if your application sets 0, 90 and 270 degrees to be the list of
+        * supported rotation angles, the window manager will not rotate your
+        * application window if the device is rotated 180 degrees
+        *
+        *  --- APP_DEVICE_ORIENTATION_180 ---
+        * it changes to 3 directions only which is same with Galaxy S3/Note 2.
+        * When reverse portrait (180), rotation shoudn't happen.
+        */
+       if (elm_win_wm_rotation_supported_get(win)) {
+               const int rots[3] = { APP_DEVICE_ORIENTATION_0,
+                                     APP_DEVICE_ORIENTATION_90,
+                                     APP_DEVICE_ORIENTATION_270 };
+               elm_win_wm_rotation_available_rotations_set(win, rots, 3);
+       }
+       /* pass '-1' value to this API then it will unset preferred rotation angle */
+       elm_win_wm_rotation_preferred_rotation_set(win, -1);
+
+       elm_win_autodel_set(win, EINA_TRUE);
+       elm_win_title_set(win, name);
+       evas_object_smart_callback_add(win, "delete,request",
+                                      __gl_main_win_del_cb, data);
+       evas_object_smart_callback_add(win, "wm,rotation,changed",
+                                      __gl_main_win_rot_changed_cb, data);
+       evas_object_show(win);
+       GL_PROFILE_OUT;
+       return win;
+}
+
+/* Register service in idler for reducing launching time */
+int _gl_main_add_reg_idler(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       if (!ad->maininfo.b_reged_idler && !ad->maininfo.reg_idler) {
+               gl_dbgW("Register idler!");
+               ad->maininfo.reg_idler = ecore_timer_add(0.6f, __gl_main_reg_idler_cb,
+                                                         data);
+       }
+       return 0;
+}
+
+/**
+ * <layout>
+ * Elm_win
+ *    |-> Elm_bg
+ *    |-> Elm_conformant
+ *        |-> Elm_layout(main_layout)
+ *            |-> Elm_naviframe(naviframe)
+ *                |-> Elm_layout(ctrlbar_ly)
+ *                     |-> Elm_layout(ctrlbar_view_ly)
+ *                          |-> Elm_gengrid(albums_view/tags_view/places_view/...)
+*/
+int _gl_main_create_view(gl_appdata *ad)
+{
+       GL_PROFILE_IN;
+       GL_CHECK_VAL(ad, -1);
+
+       elm_theme_extension_add(NULL, GL_EDJ_FILE);
+       /* Set initial rotate angle */
+       ad->maininfo.rotate_mode = APP_DEVICE_ORIENTATION_0;
+       gl_dbg("Initial rotation mode: %d", ad->maininfo.rotate_mode);
+       /* create window */
+       ad->maininfo.win = __gl_main_create_win(ad, PACKAGE);
+       GL_CHECK_FALSE(ad->maininfo.win);
+       /* Background. */
+       ad->maininfo.bg = __gl_main_create_bg(ad->maininfo.win);
+       GL_CHECK_VAL(ad->maininfo.bg, -1);
+       /*gallery should appear on phone side when target works on desktop mode*/
+       const char *str = "mobile";
+       elm_win_profiles_set(ad->maininfo.win, &str, 1);
+       /*
+        * Set Opacity before Conformant window create
+        * When create Conformant Window, it will read currect Opacity and auto send it.
+        * if Opacity is not set first and set conformant direclty,  Opacity value will return
+        * 0(Unknown) once, then 3(Transparent)
+       */
+       elm_win_indicator_mode_set(ad->maininfo.win, ELM_WIN_INDICATOR_SHOW);
+       elm_win_indicator_opacity_set(ad->maininfo.win,
+                                     ELM_WIN_INDICATOR_TRANSPARENT);
+       /* Conformant. */
+       Evas_Object *conform = __gl_main_create_conform(ad->maininfo.win);
+       GL_CHECK_VAL(conform, -1);
+       /* Set if this window is an illume conformant window */
+       elm_win_conformant_set(ad->maininfo.win, EINA_TRUE);
+       /* Modify to start content from 0,0 */
+       elm_object_signal_emit(conform, "elm,state,indicator,overlap", "");
+       evas_object_data_set(conform, "overlap", (void *)EINA_TRUE);
+       /* Base Layout */
+       ad->maininfo.layout = __gl_main_create_ly(conform);
+       GL_CHECK_VAL(ad->maininfo.layout, -1);
+       /* Set base layout to conformant */
+       elm_object_content_set(conform, ad->maininfo.layout);
+       /* Create Naviframe */
+       ad->maininfo.naviframe = __gl_main_create_naviframe(ad->maininfo.layout);
+       GL_CHECK_VAL(ad->maininfo.naviframe, -1);
+       /* Set Naviframe to main layout */
+       elm_object_part_content_set(ad->maininfo.layout, "elm.swallow.content",
+                                   ad->maininfo.naviframe);
+       /* Save conform pointer to naviframe object */
+       evas_object_data_set(ad->maininfo.naviframe, GL_NAVIFRAME_OBJ_DATA_KEY,
+                            conform);
+       /* init value */
+       evas_object_data_set(ad->maininfo.naviframe, "gl_obj_key_gallery_paused", (void *)0);
+
+       /* Create control layout */
+       ad->ctrlinfo.ctrlbar_ly = _gl_ctrl_add_main_layout(ad->maininfo.naviframe);
+       GL_CHECK_VAL(ad->ctrlinfo.ctrlbar_ly, -1);
+       /* Create view layout */
+       __gl_main_create_ctrl_ly(ad, ad->ctrlinfo.ctrlbar_ly);
+       /**
+        * Add gengrid(empty albums view) and ctrlbar_ly layout to naviframe,
+        * albums view will be updated in idler callback
+        */
+       __gl_main_add_view(ad, ad->ctrlinfo.ctrlbar_view_ly);
+       /**
+        * Re-entrance checking of _gl_ctrl_show_view()
+        * Init tab_mode as -1 to enter albums tab correctly
+        */
+       _gl_ctrl_set_tab_mode(ad, GL_CTRL_TAB_INIT);
+       gl_dbg("done");
+       GL_PROFILE_OUT;
+       return 0;
+}
+
+int _gl_main_clear_view(gl_appdata *ad)
+{
+       GL_CHECK_VAL(ad, -1);
+       /* Remove win rotation callback */
+       evas_object_smart_callback_del(ad->maininfo.win, "wm,rotation,changed",
+                                      __gl_main_win_rot_changed_cb);
+       _gl_ctxpopup_del(ad);
+       elm_theme_extension_del(NULL, GL_EDJ_FILE);
+       return 0;
+}
+
+Eina_Bool _gl_main_update_view(void *data)
+{
+       GL_PROFILE_IN;
+       GL_CHECK_CANCEL(data);
+       gl_dbg("start");
+
+       gl_appdata *ad = (gl_appdata *)data;
+       /* Initialize media-content */
+       _gl_data_init(ad);
+       gl_dbg("DB initialization:done");
+       /* Get cluster list from media-content */
+       _gl_data_get_cluster_list(ad);
+       GL_CHECK_FALSE(ad->albuminfo.elist);
+       gl_dbg("_gl_data_get_cluster_list:done");
+       _gl_ctrl_show_view(data, GL_STR_ALBUMS);
+       gl_dbg("done");
+       GL_PROFILE_OUT;
+       return ECORE_CALLBACK_CANCEL;
+}
+
+int _gl_main_reset_view(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_CHECK_VAL(ad->maininfo.win, -1);
+       int view_mode = gl_get_view_mode(ad);
+       gl_dbg("");
+
+       if (view_mode == GL_VIEW_NONE) {
+               /* First launch gallery then show shortcut album/tag */
+               _gl_data_init(ad);
+               gl_dbg("Launch gallery at the first time");
+               _gl_data_get_cluster_list(ad);
+               GL_CHECK_VAL(ad->albuminfo.elist, -1);
+               /* Set view mode */
+               gl_set_view_mode(ad, GL_VIEW_ALBUMS);
+               /* Select tabbar item contains shortcut item */
+               _gl_ctrl_show_view(data, GL_STR_ALBUMS);
+               /* Register servier if albums view wasn't created */
+               _gl_main_add_reg_idler(data);
+       }
+
+       elm_win_activate(ad->maininfo.win);
+       return 0;
+}
+
diff --git a/src/features/gl-pinchzoom.c b/src/features/gl-pinchzoom.c
new file mode 100644 (file)
index 0000000..a2394f1
--- /dev/null
@@ -0,0 +1,147 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#include "gallery.h"
+#include "gl-pinchzoom.h"
+#include "gl-gesture.h"
+#include "gl-thumbs.h"
+#include "gl-util.h"
+#include "gl-debug.h"
+#include "gl-thumbs-sel.h"
+
+static Eina_Bool __gl_pinch_zoom_out_cb(Evas_Object *gesture, void *data)
+{
+       GL_CHECK_CANCEL(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       int view_m = gl_get_view_mode(ad);
+       gl_dbg("view_m: %d", view_m);
+
+       if (ad->pinchinfo.zoom_level > GL_ZOOM_DEFAULT) {
+               /* Skip in wrong mode */
+               if (view_m != GL_VIEW_THUMBS && view_m != GL_VIEW_THUMBS_EDIT &&
+                   view_m != GL_VIEW_THUMBS_SELECT)
+                       goto PINCH_ZOOM_OUT_OVER;
+
+               if (view_m == GL_VIEW_THUMBS && !_gl_thumbs_get_view(ad, NULL))
+                       goto PINCH_ZOOM_OUT_OVER;
+
+#ifdef _USE_SCROL_HORIZONRAL
+               if (ad->maininfo.rotate_mode == APP_DEVICE_ORIENTATION_270 ||
+                   ad->maininfo.rotate_mode == APP_DEVICE_ORIENTATION_90) {
+                       /* Keep level if pinching zoom in in landscape mode */
+                       goto PINCH_ZOOM_OUT_OVER;
+               }
+#endif
+               ad->pinchinfo.zoom_level--;
+               if (_gl_thumbs_update_size(data, NULL) < 0)
+                       ad->pinchinfo.zoom_level = GL_ZOOM_DEFAULT;
+               goto PINCH_ZOOM_OUT_OVER;
+       }
+
+ PINCH_ZOOM_OUT_OVER:
+
+       gl_dbgW("Pinch zoom out: %d", ad->pinchinfo.zoom_level);
+       return ECORE_CALLBACK_CANCEL;
+}
+
+static Eina_Bool __gl_pinch_zoom_in_cb(Evas_Object *gesture, void *data)
+{
+       GL_CHECK_CANCEL(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       int view_m = gl_get_view_mode(ad);
+       gl_dbg("view_m: %d", view_m);
+
+       if ((ad->pinchinfo.zoom_level >= GL_ZOOM_DEFAULT) &&
+           (ad->pinchinfo.zoom_level < (GL_ZOOM_MAX - 1))) {
+               /* Skip in wrong mode */
+               if (view_m != GL_VIEW_THUMBS && view_m != GL_VIEW_THUMBS_EDIT &&
+                   view_m != GL_VIEW_THUMBS_SELECT)
+                       goto PINCH_ZOOM_IN_OVER;
+
+               if (view_m == GL_VIEW_THUMBS && !_gl_thumbs_get_view(ad, NULL))
+                       goto PINCH_ZOOM_IN_OVER;
+
+#ifdef _USE_SCROL_HORIZONRAL
+               if (ad->maininfo.rotate_mode == APP_DEVICE_ORIENTATION_270 ||
+                   ad->maininfo.rotate_mode == APP_DEVICE_ORIENTATION_90) {
+                       /* Keep level if pinching zoom in in landscape mode */
+                       goto PINCH_ZOOM_IN_OVER;
+               }
+#endif
+               ad->pinchinfo.zoom_level++;
+               if (_gl_thumbs_update_size(data, NULL) < 0)
+                       ad->pinchinfo.zoom_level = GL_ZOOM_IN_TWO;
+               goto PINCH_ZOOM_IN_OVER;
+       }
+ PINCH_ZOOM_IN_OVER:
+
+       gl_dbgW("Pinch zoom in: %d", ad->pinchinfo.zoom_level);
+       return ECORE_CALLBACK_CANCEL;
+}
+
+int _gl_pinch_add_event(void *data, Evas_Object *layout)
+{
+       GL_CHECK_VAL(layout, -1);
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+
+       gl_dbg("Zoom level: %d", ad->pinchinfo.zoom_level);
+       /* Set initialize level */
+       if (ad->pinchinfo.zoom_level != GL_ZOOM_DEFAULT &&
+           ad->pinchinfo.zoom_level != GL_ZOOM_IN_ONE &&
+           ad->pinchinfo.zoom_level != GL_ZOOM_IN_TWO) {
+               ad->pinchinfo.zoom_level = GL_ZOOM_IN_ONE;
+               gl_dbg("Zoom level reset: GL_ZOOM_IN_ONE");
+       }
+
+       Evas_Object *gesture = _gl_gesture_add(data, layout);
+       GL_CHECK_VAL(gesture, -1);
+       _gl_gesture_set_zoom_in_cb(gesture, __gl_pinch_zoom_in_cb, data);
+       _gl_gesture_set_zoom_out_cb(gesture, __gl_pinch_zoom_out_cb, data);
+       elm_object_part_content_set(layout, "gesture", gesture);
+       int mode = gl_get_view_mode(data);
+       if (mode == GL_VIEW_THUMBS_SELECT)
+               ad->pinchinfo.gesture_sel = gesture;
+       else
+               ad->pinchinfo.gesture = gesture;
+       return 0;
+}
+
+int _gl_pinch_reset_flag(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+
+       gl_dbg("Zoom level: %d", ad->pinchinfo.zoom_level);
+       /* Set initialize level */
+       if (ad->pinchinfo.zoom_level != GL_ZOOM_DEFAULT &&
+           ad->pinchinfo.zoom_level != GL_ZOOM_IN_ONE &&
+           ad->pinchinfo.zoom_level != GL_ZOOM_IN_TWO) {
+               ad->pinchinfo.zoom_level = GL_ZOOM_IN_ONE;
+               gl_dbg("Zoom level reset: GL_ZOOM_IN_ONE");
+       }
+       int mode = gl_get_view_mode(data);
+       Evas_Object *gesture = NULL;
+       if (mode == GL_VIEW_THUMBS_SELECT)
+               gesture = ad->pinchinfo.gesture_sel;
+       else
+               gesture = ad->pinchinfo.gesture;
+       if (gesture)
+               _gl_gesture_reset_flags(gesture);
+       return 0;
+}
+
diff --git a/src/features/gl-thumbs-edit.c b/src/features/gl-thumbs-edit.c
new file mode 100644 (file)
index 0000000..4742d26
--- /dev/null
@@ -0,0 +1,684 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#include "gl-thumbs-edit.h"
+#include "gl-thumbs.h"
+#include "gl-thumb.h"
+#include "gl-pinchzoom.h"
+#include "gl-debug.h"
+#include "gl-strings.h"
+#include "gl-ui-util.h"
+#include "gl-util.h"
+#include "gl-data.h"
+#include "gl-icons.h"
+#include "gl-controlbar.h"
+#include "gl-ctxpopup.h"
+#include "gl-progressbar.h"
+#include "gl-button.h"
+#include "gl-notify.h"
+#include "gl-popup.h"
+#include "gl-lang.h"
+#include "gl-ext-exec.h"
+#include "gl-ext-ug-load.h"
+#include "gl-fs.h"
+#include "gl-albums.h"
+
+int _gl_thumbs_edit_get_path(void *data, char **files)
+{
+       GL_CHECK_VAL(files, 0);
+       GL_CHECK_VAL(data, 0);
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_CHECK_VAL(ad->selinfo.elist, 0);
+       int i = 0;
+       gl_item *current = NULL;
+       Eina_List *l = NULL;
+
+       EINA_LIST_FOREACH(ad->selinfo.elist, l, current) {
+               if (current == NULL || current->item == NULL ||
+                   current->item->file_url == NULL) {
+                       gl_dbgE("Invalid gitem!");
+                       continue;
+               }
+
+               files[i++] = g_strdup(current->item->file_url);
+               gl_sdbg("file_url: %s!", files[i - 1]);
+       }
+       return i;
+}
+
+#ifdef GL_EXTENDED_FEATURES
+static void __gl_thumbs_edit_share_cb(void *data, Evas_Object *obj,
+                                     void *ei)
+{
+       elm_toolbar_item_selected_set((Elm_Object_Item *)ei, EINA_FALSE);
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       gl_dbg("");
+
+       if (ad->uginfo.ug || ad->uginfo.b_app_called) {
+               gl_dbgW("UG or APP is already loaded!");
+               return;
+       }
+
+       int view_mode = gl_get_view_mode(ad);
+       int cnt = _gl_data_selected_list_count(ad);
+
+       if (view_mode == GL_VIEW_THUMBS_EDIT) {
+               if (cnt == 0) {
+                       gl_dbg("No thumbs selected, return!");
+                       gl_popup_create_popup(ad, GL_POPUP_NOBUT,
+                                             GL_STR_NO_FILES_SELECTED);
+                       return;
+               }
+       } else {
+               gl_dbgE("Unknow mode!");
+               return;
+       }
+       _gl_ext_launch_share(data, cnt, _gl_thumbs_edit_get_path);
+       /* Change to normal mode */
+       _gl_thumbs_edit_pop_view(data);
+}
+
+/* To launch Image-editor*/
+static void __gl_thumbs_edit_ie_cb(void *data, Evas_Object *obj,
+                                  void *ei)
+{
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       gl_dbg("");
+
+       if (ad->uginfo.ug || ad->uginfo.b_app_called) {
+               gl_dbgW("UG or APP is already loaded!");
+               return;
+       }
+       _gl_ctxpopup_del(data);
+
+       if (_gl_data_selected_list_count(ad) == 0) {
+               gl_dbgW("No thumbs selected!");
+               gl_popup_create_popup(ad, GL_POPUP_NOBUT,
+                                     GL_STR_NO_FILES_SELECTED);
+               return;
+       }
+
+       int view_mode = gl_get_view_mode(ad);
+       if (view_mode == GL_VIEW_THUMBS_EDIT) {
+               _gl_ext_load_ie(data, gl_get_selected_files_path_str);
+       } else {
+               gl_dbgE("Unkonw mode!");
+       }
+       /* Change to normal mode */
+       _gl_thumbs_edit_pop_view(data);
+}
+
+/* Copy media to album in edit view */
+static void __gl_thumbs_edit_copy_cb(void *data, Evas_Object *obj,
+                                    void *ei)
+{
+       GL_CHECK(data);
+       _gl_ctxpopup_del(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       int view_mode = gl_get_view_mode(data);
+       gl_dbg("");
+
+       if (ad->uginfo.ug || ad->uginfo.b_app_called) {
+               gl_dbgW("UG or APP is already loaded!");
+               return;
+       }
+
+       if (view_mode == GL_VIEW_THUMBS_EDIT) {
+               if (_gl_data_selected_list_count(data) == 0) {
+                       gl_dbgW("No thumbs selected!");
+                       gl_popup_create_popup(data, GL_POPUP_NOBUT,
+                                             GL_STR_NO_FILES_SELECTED);
+                       return;
+               }
+
+               ad->albuminfo.file_mc_mode = GL_MC_COPY;
+               _gl_popup_create_copy(data, gl_move_copy_to_album);
+       } else {
+               gl_dbgE("Unknow mode!");
+       }
+}
+
+/* move media to album in edit view*/
+static void __gl_thumbs_edit_move_cb(void *data, Evas_Object *obj, void *ei)
+{
+       elm_toolbar_item_selected_set((Elm_Object_Item *)ei, EINA_FALSE);
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       int view_mode = gl_get_view_mode(data);
+       gl_dbg("");
+
+       if (ad->uginfo.ug || ad->uginfo.b_app_called) {
+               gl_dbgW("UG or APP is already loaded!");
+               return;
+       }
+
+       if (view_mode == GL_VIEW_THUMBS_EDIT) {
+               if (_gl_data_selected_list_count(data) == 0) {
+                       gl_dbgW("No thumbs selected!");
+                       gl_popup_create_popup(data, GL_POPUP_NOBUT,
+                                             GL_STR_NO_FILES_SELECTED);
+                       return;
+               }
+
+               ad->albuminfo.file_mc_mode = GL_MC_MOVE;
+               _gl_popup_create_move(data, gl_move_copy_to_album);
+       } else {
+               gl_dbgE("Unknow mode!");
+       }
+}
+
+#ifdef _USE_ROTATE_BG
+static void __gl_thumbs_edit_rotate_left_cb(void *data, Evas_Object *obj,
+                                           void *ei)
+{
+       GL_CHECK(data);
+       if (_gl_data_selected_list_count(data) == 0) {
+               gl_dbgW("No thumbs selected!");
+               gl_popup_create_popup(data, GL_POPUP_NOBUT,
+                                     GL_STR_NO_FILES_SELECTED);
+               return;
+       }
+       _gl_ctxpopup_del(data);
+       _gl_rotate_images(data, true);
+}
+
+static void __gl_thumbs_edit_rotate_right_cb(void *data, Evas_Object *obj,
+                                            void *ei)
+{
+       GL_CHECK(data);
+       if (_gl_data_selected_list_count(data) == 0) {
+               gl_dbgW("No thumbs selected!");
+               gl_popup_create_popup(data, GL_POPUP_NOBUT,
+                                     GL_STR_NO_FILES_SELECTED);
+               return;
+       }
+       _gl_ctxpopup_del(data);
+       _gl_rotate_images(data, false);
+}
+#endif
+
+static int __gl_thumbs_edit_ctxpopup_append(void *data, Evas_Object *parent)
+{
+       gl_dbg("");
+       GL_CHECK_VAL(parent, -1);
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       int share_m = gl_get_share_mode(ad);
+
+       switch (ad->gridinfo.grid_type) {
+       case GL_GRID_T_LOCAL:
+       case GL_GRID_T_ALLALBUMS: /* BTN: More - Delete/Move/Cancel */
+               /* More : Edit image/Add tag/Copy/Create collage/Hide items/Rotate left/Rotate right/Crete a story album*/
+               /* Image-editor is available if only images are selected */
+               if (share_m >= GL_SHARE_IMAGE_ONE &&
+                   share_m <= GL_SHARE_IMAGE_MULTI_JPEG)
+                       _gl_ctxpopup_append(parent, GL_STR_ID_EDIT_IMAGE,
+                                           __gl_thumbs_edit_ie_cb, data);
+               _gl_ctxpopup_append(parent, GL_STR_ID_COPY,
+                                   __gl_thumbs_edit_copy_cb, data);
+#ifdef _USE_ROTATE_BG
+               /* Rotation is available if only images are selected */
+               if (share_m == GL_SHARE_IMAGE_ONE_JPEG ||
+                    share_m == GL_SHARE_IMAGE_MULTI_JPEG) {
+                       _gl_ctxpopup_append(parent, GL_STR_ID_ROTATE_LEFT,
+                                           __gl_thumbs_edit_rotate_left_cb,
+                                           data);
+                       _gl_ctxpopup_append(parent, GL_STR_ID_ROTATE_RIGHT,
+                                           __gl_thumbs_edit_rotate_right_cb,
+                                           data);
+               }
+#endif
+               break;
+       default:
+               return -1;
+       }
+       return 0;
+}
+
+static void __gl_thumbs_edit_more_cb(void *data, Evas_Object *obj,
+                                    void *ei)
+{
+       /* Add items */
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       Evas_Object *more = NULL;
+       more = _gl_ui_get_btn(NULL, ad->gridinfo.nf_it, GL_NAVIFRAME_MORE);
+       if (EINA_TRUE == elm_object_disabled_get(more)) {
+               gl_dbg("Menu is disabled");
+               return; /* Menu is disabled */
+       }
+
+       gl_dbg("Menu is clicked");
+       _gl_ctxpopup_create(data, obj, __gl_thumbs_edit_ctxpopup_append);
+}
+#endif
+
+static void __gl_thumbs_edit_del(void *data)
+{
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       gl_dbg("");
+
+       if (ad->uginfo.ug || ad->uginfo.b_app_called) {
+               gl_dbgW("UG or APP is already loaded!");
+               return;
+       }
+
+       int view_mode = gl_get_view_mode(ad);
+       if (view_mode == GL_VIEW_THUMBS_EDIT) {
+               int cnt = _gl_data_selected_list_count(ad);
+               if (cnt == 0) {
+                       gl_dbgW("No thumbs selected!");
+                       gl_popup_create_popup(ad, GL_POPUP_NOBUT, GL_STR_NO_FILES_SELECTED);
+                       return;
+               }
+
+               _gl_popup_create_del(data, GL_POPUP_DEL_FILE,
+                                    _gl_data_selected_list_count,
+                                    gl_del_medias, data);
+       } else {
+               gl_dbgW("Unknow mode!");
+       }
+}
+
+static void __gl_thumbs_edit_copy_move(void *data)
+{
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       gl_dbg("");
+
+       if (ad->uginfo.ug || ad->uginfo.b_app_called) {
+               gl_dbgW("UG or APP is already loaded!");
+               return;
+       }
+
+       int view_mode = gl_get_view_mode(ad);
+       if (view_mode == GL_VIEW_THUMBS_EDIT) {
+               int cnt = _gl_data_selected_list_count(ad);
+               if (cnt == 0) {
+                       gl_dbgW("No thumbs selected!");
+                       gl_popup_create_popup(ad, GL_POPUP_NOBUT, GL_STR_NO_FILES_SELECTED);
+                       return;
+               }
+
+               ad->gridinfo.it = NULL;
+               _gl_popup_create_copy_move(data, _gl_data_selected_list_count, data);
+       } else {
+               gl_dbgW("Unknow mode!");
+       }
+}
+
+static void __gl_thumbs_edit_cancel_cb(void *data, Evas_Object *obj, void *ei)
+{
+       elm_toolbar_item_selected_set((Elm_Object_Item *)ei, EINA_FALSE);
+       GL_CHECK(data);
+       gl_dbg("");
+       _gl_thumbs_edit_pop_view(data);
+}
+
+static void __gl_thumbs_edit_done_cb(void *data, Evas_Object *obj, void *ei)
+{
+       elm_toolbar_item_selected_set((Elm_Object_Item *)ei, EINA_FALSE);
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+
+       if (_gl_thumbs_get_edit_mode(data) == GL_THUMBS_EDIT_COPY || _gl_thumbs_get_edit_mode(data) == GL_THUMBS_EDIT_MOVE) {
+               __gl_thumbs_edit_copy_move(ad);
+       } else {
+               __gl_thumbs_edit_del(ad);
+       }
+}
+
+/* Select-all checkbox selected/deselected */
+static void __gl_thumbs_edit_selall_cb(void *data, Evas_Object *obj, void *ei)
+{
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       int i = 0;
+       int item_cnt = 0;
+       int sel_all_cnt = 0;
+       int view_mode = gl_get_view_mode(ad);
+       gl_dbg("view_mode: %d.", view_mode);
+
+       ad->selinfo.ck_state = !elm_check_state_get(ad->selinfo.selectall_ck);
+       if (ad->selinfo.selectall_ck) {
+               elm_check_state_set(ad->selinfo.selectall_ck, ad->selinfo.ck_state);
+       }
+       gl_dbg("Checkbox state: %d", ad->selinfo.ck_state);
+       Eina_List *medias_elist = NULL;
+       _gl_thumbs_get_list(ad, &(medias_elist));
+       /* Get all medias count of current album */
+       item_cnt = eina_list_count(medias_elist);
+       sel_all_cnt = item_cnt;
+       gl_item *gitem = NULL;
+       for (i = 0; i < item_cnt; i++) {
+               gitem = eina_list_nth(medias_elist, i);
+               GL_CHECK(gitem);
+               GL_CHECK(gitem->item);
+
+               if (gitem->checked == ad->selinfo.ck_state)
+                       continue;
+
+               gitem->checked = ad->selinfo.ck_state;
+               if (ad->selinfo.ck_state == EINA_TRUE) {
+                       _gl_data_selected_list_append(ad, gitem);
+                       gitem->album->elist = eina_list_append(gitem->album->elist, gitem);
+               } else {
+                       _gl_data_selected_list_remove(ad, gitem);
+                       gitem->album->elist = eina_list_remove(gitem->album->elist, gitem);
+               }
+       }
+       /* Update all realized items */
+       if (view_mode == GL_VIEW_THUMBS_EDIT)
+               _gl_ui_update_realized_grid_ck(ad->gridinfo.view,
+                                              GL_THUMB_CHECKBOX, NULL,
+                                              ad->selinfo.ck_state);
+       /* Recreate selection info for both cases */
+       if (ad->selinfo.ck_state)
+               item_cnt = sel_all_cnt;
+       else
+               sel_all_cnt = 0;
+
+       int total_selected_count = eina_list_count(ad->selinfo.elist);
+       _gl_notify_check_selall(ad, ad->gridinfo.nf_it, item_cnt, sel_all_cnt);
+       if (gitem->album->item) {
+               char buf[GL_ALBUM_NAME_LEN_MAX] = { 0, };
+               if (sel_all_cnt > 0) {
+                       elm_object_item_signal_emit(gitem->album->item,
+                                       "elm,state,elm.text.badge,visible",
+                                       "elm");
+                       snprintf(buf, sizeof(buf), "%d", sel_all_cnt);
+               } else {
+                       elm_object_item_signal_emit(gitem->album->item,
+                                       "elm,state,elm.text.badge,hidden",
+                                       "elm");
+               }
+               elm_gengrid_item_fields_update(gitem->album->item, "elm.text.badge", ELM_GENGRID_ITEM_FIELD_TEXT);
+       }
+       /* Update the label text */
+       _gl_thumbs_update_label_text(ad->gridinfo.nf_it, total_selected_count, false);
+}
+
+#ifdef _USE_APP_SLIDESHOW
+static void __gl_thumbs_edit_selected_slideshow_cb(void *data, Evas_Object *obj,
+                                         void *ei)
+{
+       elm_toolbar_item_selected_set((Elm_Object_Item *)ei, EINA_FALSE);
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       gl_item *cur_item = NULL;
+       media_content_type_e type = MEDIA_CONTENT_TYPE_OTHERS;
+
+       _gl_data_get_first_item(type, ad->selinfo.elist, &cur_item);
+       GL_CHECK_VAL(cur_item, -1);
+       gl_ext_load_iv_ug(ad, cur_item, GL_UG_IV_SLIDESHOW_SELECTED);
+}
+#endif
+
+#ifdef GL_EXTENDED_FEATURES
+int _gl_thumbs_edit_add_more(void *data, Evas_Object *parent,
+                            Elm_Object_Item *nf_it)
+{
+       Evas_Object *btn = NULL;
+       /* More */
+       btn = _gl_but_create_but(parent, NULL, NULL, GL_BUTTON_STYLE_NAVI_MORE,
+                                __gl_thumbs_edit_more_cb, data);
+       GL_CHECK_VAL(btn, -1);
+
+       elm_object_item_part_content_set(nf_it, GL_NAVIFRAME_MORE, btn);
+       _gl_ui_disable_btn(btn);
+       return 0;
+}
+#endif
+
+/* Delete/Copy/Move -- unavailable for Facebook(Facebook Team confirmed) */
+int _gl_thumbs_edit_add_btns(void *data, Evas_Object *parent,
+                            Elm_Object_Item *nf_it)
+{
+       GL_CHECK_VAL(nf_it, -1);
+       GL_CHECK_VAL(parent, -1);
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+
+       _gl_ui_clear_btns(data);
+
+       int w = -1, h = -1;
+       evas_object_geometry_get(ad->maininfo.win, NULL, NULL, &w, &h);
+       Edje_Message_Int *msg = (Edje_Message_Int *)malloc(sizeof(Edje_Message_Int) + sizeof(int));
+       GL_CHECK_VAL(msg, -1);
+       if (ad->gridinfo.split_view_mode == DETAIL_VIEW) {
+               msg->val = w;
+       } else {
+               msg->val = ((w < h) ? (w - (w / 3)) : (w - (h / 3)));
+       }
+       edje_object_message_send(elm_layout_edje_get(ad->gridinfo.layout), EDJE_MESSAGE_INT, 2, msg);
+       free(msg);
+       elm_object_signal_emit(ad->gridinfo.layout, "elm,selectall,state,visible", "elm");
+       _gl_ui_add_selall_ck(ad->gridinfo.layout, "select.all.area.check", "select.all.area.check",
+                                            __gl_thumbs_edit_selall_cb, data);
+
+#ifdef _USE_APP_SLIDESHOW
+       /*only display the done button,ux:[Tizen] Gallery UI(T01)_v5.2_20130524*/
+       if (_gl_thumbs_get_edit_mode(data) == GL_THUMBS_EDIT_SLIDESHOW) {
+               gl_dbg("only display the done button for selected slideshow");
+               tb_it = _gl_ctrl_append_item(toolbar, NULL, GL_STR_ID_START,
+                                            __gl_thumbs_edit_selected_slideshow_cb,
+                                            data);
+               _gl_ctrl_disable_item(tb_it, true);
+               /* elm_object_item_part_content_set(nf_it, "toolbar", toolbar); */
+               return 0;
+       }
+#endif
+
+#ifdef GL_EXTENDED_FEATURES
+       /********* SHARE ***********/
+       if (_gl_thumbs_get_edit_mode(data) == GL_THUMBS_EDIT_SHARE) {
+               /* BTN: Cancel/Share */
+               /* Cancel */
+               Evas_Object *btn1 = elm_button_add(layout);
+               Evas_Object *btn2 = elm_button_add(layout);
+               elm_object_style_set(btn1, "transparent");
+               elm_object_style_set(btn2, "transparent");
+               evas_object_size_hint_weight_set(btn1, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+               evas_object_size_hint_weight_set(btn2, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+               evas_object_size_hint_align_set(btn1, 1, 1);
+               evas_object_size_hint_align_set(btn2, 1, 1);
+               evas_object_show(btn1);
+               evas_object_show(btn2);
+               elm_object_part_content_set(layout, "elm.swallow.left", btn1);
+               elm_object_part_content_set(layout, "elm.swallow.right", btn2);
+               evas_object_smart_callback_add(btn1, "clicked", __gl_thumbs_edit_cancel_cb, ad);
+               evas_object_smart_callback_add(btn2, "clicked", __gl_thumbs_edit_share_cb, ad);
+               _gl_ui_set_translate_part_str(layout, "title_left_text", GL_STR_ID_CANCEL);
+               _gl_ui_set_translate_part_str(layout, "title_right_text", GL_STR_ID_SHARE);
+               _gl_ctrl_append_item(toolbar, NULL, GL_STR_ID_CANCEL,
+                                    __gl_thumbs_edit_cancel_cb, data);
+               /* Share - to launch Share panel(app) */
+               tb_it = _gl_ctrl_append_item(toolbar, NULL, GL_STR_ID_SHARE,
+                                            __gl_thumbs_edit_share_cb, data);
+               _gl_ctrl_disable_item(tb_it, true);
+               /* elm_object_item_part_content_set(nf_it, "toolbar", toolbar); */
+               return 0;
+       }
+#endif
+
+       Evas_Object *btn1 = elm_button_add(parent);
+       Evas_Object *btn2 = elm_button_add(parent);
+       GL_CHECK_VAL(btn1, -1);
+       GL_CHECK_VAL(btn2, -1);
+       /* Title Cancel Button */
+       elm_object_style_set(btn1, "naviframe/title_left");
+       elm_object_item_part_content_set(nf_it, GL_NAVIFRAME_TITLE_LEFT_BTN, btn1);
+       _gl_ui_set_translate_str(btn1,GL_STR_ID_CANCEL_CAP);
+       evas_object_smart_callback_add(btn1, "clicked", __gl_thumbs_edit_cancel_cb, ad);
+
+       /* Title Done Button */
+       elm_object_style_set(btn2, "naviframe/title_right");
+       elm_object_item_part_content_set(nf_it, GL_NAVIFRAME_TITLE_RIGHT_BTN, btn2);
+       _gl_ui_set_translate_str(btn2,GL_STR_ID_DONE_CAP);
+       evas_object_smart_callback_add(btn2, "clicked", __gl_thumbs_edit_done_cb, ad);
+       elm_object_disabled_set(btn2, EINA_TRUE);
+
+       return 0;
+}
+
+int _gl_thumbs_edit_create_view(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       int view_mode = gl_get_view_mode(data);
+       gl_dbg("mode: %d", view_mode);
+
+       if (view_mode == GL_VIEW_THUMBS_EDIT &&
+           _gl_thumbs_get_edit_mode(data) < GL_THUMBS_EDIT_FIRST) {
+               /* Fixme: maybe we should disable edit button until grid append idler is done */
+               /**
+               * Happen in quickly tap edit button,
+               * it will invoke edit_cb several time
+               * and push some unuseful views.
+               */
+               gl_dbg("Already in edit mode, return.");
+               return -1;
+       }
+
+       ad->albuminfo.file_mc_mode = GL_MC_NONE;
+
+       gl_set_view_mode(ad, GL_VIEW_THUMBS_EDIT);
+       Evas_Object *gv = NULL;
+       bool b_view = false;
+       b_view = _gl_thumbs_get_view(ad, &gv);
+       GL_CHECK_FALSE(gv);
+       _gl_thumbs_set_size(ad, gv);
+
+       _gl_thumbs_edit_add_btns(data, ad->maininfo.naviframe,
+                                ad->gridinfo.nf_it);
+       /* Update the label text */
+       _gl_thumbs_update_label(ad->gridinfo.nf_it, GL_STR_ID_SELECT_ITEM);
+       /* Update realized items */
+       if (_gl_thumbs_get_edit_mode(data) < GL_THUMBS_EDIT_FIRST)
+#ifdef _USE_GRID_CHECK
+               _gl_show_grid_checks(ad->gridinfo.view, GL_THUMB_CHECKBOX);
+#else
+               _gl_thumbs_update_realized_items(data);
+#endif
+       _gl_thumb_update_split_view(data);
+       gl_dbg("Done");
+       return 0;
+}
+
+/* Get new data and refresh view */
+int _gl_thumbs_edit_update_view(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       gl_sdbg("grid_type: %d", ad->gridinfo.grid_type);
+
+       switch (ad->gridinfo.grid_type) {
+       case GL_GRID_T_LOCAL:
+       case GL_GRID_T_ALLALBUMS:
+               /* Albums list should be updated first */
+               _gl_thumbs_update_items(ad);
+               break;
+       default:
+               gl_dbgE("Wrong grid type!");
+               return -1;
+       }
+       return 0;
+}
+
+int _gl_thumbs_edit_pop_view(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+
+       /* Make sure it's in correct naviframe item, to pop upside naviframe items */
+       elm_naviframe_item_pop_to(ad->gridinfo.nf_it);
+
+       _gl_data_selected_list_finalize(data);
+       /* Clear buttons for edit view first */
+       _gl_ui_clear_btns(data);
+       _gl_thumbs_set_edit_mode(data, GL_THUMBS_EDIT_NONE);
+
+       gl_set_view_mode(data, GL_VIEW_THUMBS);
+       if (_gl_thumbs_get_edit_mode(data) < GL_THUMBS_EDIT_FIRST) {
+               /* Update the label text */
+               _gl_thumbs_update_label(ad->gridinfo.nf_it, ad->gridinfo.title);
+               /* enable the grid pinch */
+               edje_object_signal_emit(_EDJ(ad->gridinfo.layout),
+                                       GL_SIGNAL_GESTURE_DEFAULT, "elm");
+
+               elm_object_signal_emit(ad->gridinfo.layout, "elm,selectall,state,default", "elm");
+#ifdef _USE_GRID_CHECK
+               _gl_show_grid_checks(ad->gridinfo.view, GL_THUMB_CHECKBOX);
+#else
+               _gl_thumbs_update_realized_items(data);
+#endif
+               _gl_thumbs_add_btns(data);
+               ad->gridinfo.update_split_view = true;
+               _gl_thumb_update_split_view(data);
+               if (_gl_thumbs_check_zero(data)) {
+                       gl_dbg("show nocontents");
+                       _gl_thumbs_show_nocontents(ad);
+               }
+       }
+       return 0;
+}
+
+int _gl_thumbs_edit_update_lang(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_CHECK_VAL(ad->gridinfo.nf_it, -1);
+       int cnt = _gl_data_selected_list_count(ad);
+       /* Update the label text */
+       if(cnt == 0) {
+               _gl_ui_change_navi_title(ad->gridinfo.nf_it, GL_STR_ID_SELECT_ITEM, true);
+       }
+       _gl_thumbs_update_label_text(ad->gridinfo.nf_it, cnt, true);
+       return 0;
+}
+
+/*thumbnail view: more-share/delete-Download */
+/* Delete in unavaliable for Facebook */
+/* Download only for Video files in Cloud album */
+int _gl_thumbs_edit_disable_btns(void *data, bool b_disable)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       bool b_disable_more = false; /* No permission for FB */
+       gl_dbg("b_disable: %d", b_disable);
+       Elm_Object_Item *nf_it = elm_naviframe_top_item_get(ad->maininfo.naviframe);
+
+       if (!b_disable) {
+#ifdef _USE_APP_SLIDESHOW
+               if (_gl_thumbs_get_edit_mode(data) == GL_THUMBS_EDIT_SLIDESHOW) {
+                       _gl_ctrl_disable_items(nf_it, false);
+               } else
+#endif
+
+                       _gl_ctrl_disable_items(nf_it, false);
+               gl_dbg("b_disable_more: %d", b_disable_more);
+               _gl_ui_disable_menu(nf_it, b_disable_more);
+       } else {
+               _gl_ui_disable_menu(nf_it, true);
+               _gl_ctrl_disable_items(nf_it, true);
+       }
+       return 0;
+}
+
diff --git a/src/features/gl-thumbs-sel.c b/src/features/gl-thumbs-sel.c
new file mode 100644 (file)
index 0000000..2804c38
--- /dev/null
@@ -0,0 +1,524 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+#include "gl-debug.h"
+#include "gl-thumbs-sel.h"
+#include "gl-albums-sel.h"
+#include "gl-thumbs.h"
+#include "gl-thumb.h"
+#include "gl-albums.h"
+#include "gl-ui-util.h"
+#include "gl-util.h"
+#include "gl-data.h"
+#include "gl-controlbar.h"
+#include "gl-button.h"
+#include "gl-pinchzoom.h"
+#include "gl-popup.h"
+#include "gl-notify.h"
+#include "gl-strings.h"
+
+#if 0
+static void __gl_thumbs_sel_trans_finished_cb(void *data, Evas_Object *obj,
+                                             void *event_info)
+{
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       int view_mode = gl_get_view_mode(ad);
+       gl_dbgW("view_mode: %d", view_mode);
+       evas_object_smart_callback_del(obj, GL_TRANS_FINISHED,
+                                      __gl_thumbs_sel_trans_finished_cb);
+
+       /* Clear previous view after animation finished */
+       if (view_mode == GL_VIEW_THUMBS_SELECT)
+               elm_gengrid_clear(ad->albuminfo.select_view);
+       else
+               gl_dbgE("Wrong view mode!");
+
+       if (ad->gridinfo.is_append) {
+               _gl_thumbs_append_items(data);
+               ad->gridinfo.is_append = false;
+       }
+}
+
+static Eina_Bool __gl_thumbs_sel_pop_cb(void *data, Elm_Object_Item *it)
+{
+       GL_CHECK_FALSE(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       gl_dbg("");
+       ad->gridinfo.is_append = false;
+
+       /* If the back button is clicked or H/W Back key is pressed,
+       this callback will be called right before the
+       current view pop. User may implement application logic here. */
+
+       /* To proceed the popping, please return the EINA_TRUE or not,
+       popping will be canceled.
+       If it needs to delete the current view without any transition effect,
+       then call the elm_object_item_del() here and then return the EINA_FALSE */
+       _gl_thumbs_sel_pop_view(data, false);
+
+       /* Clear selected list */
+       _gl_data_clear_selected_info(data);
+
+       return EINA_TRUE;
+}
+#endif
+
+static void __gl_thumbs_sel_popup_cb(void *data, Evas_Object *obj, void *ei)
+{
+       GL_CHECK(obj);
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       const char *text = NULL;
+
+       text = elm_object_text_get(obj);
+       GL_CHECK(text);
+       gl_dbg("Button: %s", text);
+
+       if (!g_strcmp0(text, _gl_str(GL_STR_ID_CANCEL_ABB))) {
+               GL_IF_DEL_OBJ(ad->popupinfo.popup);
+               return;
+       } else if (!g_strcmp0(text, _gl_str(GL_STR_ID_MOVE))) {
+               ad->albuminfo.file_mc_mode = GL_MC_MOVE;
+       } else {
+               ad->albuminfo.file_mc_mode = GL_MC_COPY;
+       }
+
+       gl_move_copy_to_album(data);
+       GL_IF_DEL_OBJ(ad->popupinfo.popup);
+}
+
+static void __gl_thumbs_sel_done_cb(void *data, Evas_Object *obj, void *ei)
+{
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       ad->selinfo.elist = eina_list_merge(ad->selinfo.elist, ad->selinfo.fav_elist);
+       ad->selinfo.fav_elist = NULL;
+       int cnt = _gl_data_selected_list_count(ad);
+       if (cnt == 0) {
+               gl_dbgW("No thumbs selected!");
+               gl_popup_create_popup(ad, GL_POPUP_NOBUT, GL_STR_NO_FILES_SELECTED);
+               return;
+       }
+       /* For new album case */
+       _gl_popup_create(data, GL_STR_ID_NEW_ALBUM,
+                        GL_STR_ID_NEW_ALBUM_CONFIRMATION, GL_STR_ID_CANCEL_ABB,
+                        __gl_thumbs_sel_popup_cb, data, GL_STR_ID_MOVE,
+                        __gl_thumbs_sel_popup_cb, data, GL_STR_ID_COPY,
+                        __gl_thumbs_sel_popup_cb, data);
+}
+
+static void __gl_thumbs_sel_cancel_cb(void *data, Evas_Object *obj, void *ei)
+{
+       elm_toolbar_item_selected_set((Elm_Object_Item *)ei, EINA_FALSE);
+       GL_CHECK(data);
+       gl_dbg("");
+       gl_appdata *ad = (gl_appdata *)data;
+       ad->selinfo.fav_elist = NULL;
+       elm_naviframe_item_pop(ad->maininfo.naviframe);
+}
+
+#if 0
+/**
+ *  Use naviframe api to push thumbnails eidt view to stack.
+ *  @param obj is the content to be pushed.
+ */
+static int __gl_thumbs_sel_push_view(void *data, Evas_Object *parent,
+                                    Evas_Object *obj, char *title)
+{
+       gl_dbg("GL_NAVI_THUMBS_SELECT");
+       GL_CHECK_VAL(obj, -1);
+       GL_CHECK_VAL(parent, -1);
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       Elm_Object_Item *nf_it = NULL;
+
+       /* Add transition finished callback */
+       evas_object_smart_callback_add(parent, GL_TRANS_FINISHED,
+                                      __gl_thumbs_sel_trans_finished_cb, data);
+
+       /* Push to stack */
+       nf_it = elm_naviframe_item_push(parent, title, NULL, NULL, obj,
+                                       NULL);
+       /* use pop_cb_set to support HW key event */
+       elm_naviframe_item_pop_cb_set(nf_it, __gl_thumbs_sel_pop_cb, data);
+       _gl_ui_set_translatable_item(nf_it, title);
+       ad->gridinfo.nf_it_select = nf_it;
+
+       Elm_Object_Item *tb_it = NULL;
+       Evas_Object *toolbar = _gl_ctrl_add_toolbar(parent);
+       /* Add 'Cancel' button */
+       _gl_ctrl_append_item(toolbar, NULL, GL_STR_ID_CANCEL,
+                            __gl_thumbs_sel_cancel_cb, data);
+       char *str = GL_STR_ID_DONE;
+       /* Add 'Done' button */
+       tb_it = _gl_ctrl_append_item(toolbar, NULL, str,
+                                    __gl_thumbs_sel_done_cb, data);
+       _gl_ctrl_disable_item(tb_it, true);
+       elm_object_item_part_content_set(nf_it, "toolbar", toolbar);
+       return 0;
+}
+#endif
+
+/* Free data after layout deleted */
+static void __gl_thumbs_sel_delete_layout_cb(void *data, Evas *e,
+                                            Evas_Object *obj, void *ei)
+{
+       gl_dbg("Delete layout ---");
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+
+       Elm_Gengrid_Item_Class *gic = NULL;
+       gic = evas_object_data_get(ad->gridinfo.select_view,
+                                  "gl_thumbs_item_style_key");
+       GL_CHECK(gic);
+       gic->func.del = NULL;
+
+       _gl_thumbs_clear_cbs(ad->gridinfo.select_view);
+       elm_gengrid_clear(ad->gridinfo.select_view);
+       _gl_ui_del_scroller_pos(ad->gridinfo.select_view);
+       /* Remove idler */
+       ad->gridinfo.is_append = false;
+       ad->gridinfo.select_view = NULL;
+       ad->gridinfo.select_layout = NULL;
+       ad->gridinfo.nf_it_select = NULL;
+       /* Clear selected list if it wasn't freed before */
+       _gl_data_clear_selected_info(data);
+       /* Clear all data */
+       _gl_thumbs_clear_and_set_list(data, NULL);
+       _gl_albums_set_current(data, NULL);
+       /* Reset pinch zoom in/out flag */
+       _gl_pinch_reset_flag(data);
+       gl_dbg("Delete layout +++");
+}
+
+/* Select-all checkbox selected/deselected */
+static void __gl_thumbs_sel_selall_cb(void *data, Evas_Object *obj, void *ei)
+{
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       int i = 0;
+       int item_cnt = 0;
+       int sel_all_cnt = 0;
+       gl_item *gitem = NULL;
+
+       ad->selinfo.ck_state = !elm_check_state_get(ad->selinfo.selectall_ck);
+       if (ad->selinfo.selectall_ck) {
+               elm_check_state_set(ad->selinfo.selectall_ck, ad->selinfo.ck_state);
+       }
+       int state = ad->selinfo.ck_state;
+       gl_dbg("Checkbox state: %d.", state);
+       Eina_List *medias_elist = NULL;
+       _gl_thumbs_get_list(ad, &(medias_elist));
+       /* Get all medias count of current album */
+       item_cnt = eina_list_count(medias_elist);
+
+       for (i = 0; i < item_cnt; i++) {
+               gitem = eina_list_nth(medias_elist, i);
+               GL_CHECK(gitem);
+               GL_CHECK(gitem->item);
+
+               if (gitem->checked == state)
+                       continue;
+
+               gitem->checked = state;
+
+               if (state == EINA_TRUE) {
+                       if (strcmp(gitem->album->cluster->uuid, GL_ALBUM_FAVOURITE_ID)==0) {
+                               Eina_List *sel_list1 = ad->selinfo.fav_elist;
+                               sel_list1 = eina_list_append(sel_list1, gitem);
+                               ad->selinfo.fav_elist = sel_list1;
+                       } else {
+                               _gl_data_selected_list_append(ad, gitem);
+                       }
+                       gitem->album->elist = eina_list_append(gitem->album->elist, gitem);
+               } else {
+                       if (strcmp(gitem->album->cluster->uuid, GL_ALBUM_FAVOURITE_ID)==0) {
+                               _gl_data_selected_fav_list_remove(ad, gitem);
+                       } else {
+                               _gl_data_selected_list_remove(ad, gitem);
+                       }
+                       gitem->album->elist = eina_list_remove(gitem->album->elist, gitem);
+               }
+       }
+       /* Update all realized items */
+       _gl_ui_update_realized_grid_ck(ad->gridinfo.select_view,
+                       GL_THUMB_CHECKBOX, NULL,
+                       ad->selinfo.ck_state);
+       /* Recreate selection info for both cases */
+       if (state == EINA_FALSE)
+               sel_all_cnt = 0;
+       else
+               sel_all_cnt = item_cnt;
+
+       int sel_cnt = eina_list_count(ad->selinfo.elist);
+       int fav_sel_cnt = eina_list_count(ad->selinfo.fav_elist);
+       int total_sel_count = sel_cnt + fav_sel_cnt;
+       _gl_notify_check_selall(ad, ad->albuminfo.nf_it_select, item_cnt,
+                               sel_all_cnt);
+       if (gitem->album->item) {
+               elm_gengrid_item_update(gitem->album->item);
+       }
+       /* Update the label text */
+       _gl_ui_update_navi_title_text(ad->albuminfo.nf_it_select, total_sel_count, false);
+}
+
+void _gl_thumb_sel_add_album_data(gl_cluster *album, Eina_List *medias_elist)
+{
+       GL_CHECK(album);
+       GL_CHECK(medias_elist);
+       int cnt = eina_list_count(medias_elist);
+       int i;
+       gl_item *gitem = NULL;
+       for (i = 0; i < cnt; i++) {
+               gitem = eina_list_nth(medias_elist, i);
+               if (gitem) {
+                       gitem->album = album;
+               }
+       }
+}
+
+/**
+ * Album selected for adding tags to photo
+ */
+int _gl_thumbs_sel_create_view(void *data, gl_cluster *album_item)
+{
+       GL_CHECK_VAL(album_item, -1);
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       ad->gridinfo.is_append = false;
+       Eina_List *sel_id_list = NULL;
+       gl_item *gitem = NULL;
+       EINA_LIST_FREE(album_item->elist, gitem) {
+       }
+
+       /* Get items list without current tag */
+       Eina_List *medias_elist = NULL;
+       _gl_data_get_items_album(ad, album_item, GL_FIRST_VIEW_START_POS,
+                       GL_GET_UNTIL_LAST_RECORD, &medias_elist);
+       ad->gridinfo.is_append = true;
+       _gl_thumbs_set_list(ad, medias_elist);
+       _gl_thumb_sel_add_album_data(album_item, medias_elist);
+       int count = eina_list_count(medias_elist);
+       int i;
+
+       if (strcmp(album_item->cluster->uuid, GL_ALBUM_FAVOURITE_ID)== 0)
+       {
+               for (i = 0; i < count ; i++) {
+                       gitem = eina_list_nth(medias_elist, i);
+                       _gl_data_restore_selected(ad->selinfo.fav_elist, gitem);
+               }
+       } else {
+               for (i = 0; i < count ; i++) {
+                       gitem = eina_list_nth(medias_elist, i);
+                       _gl_data_restore_selected(ad->selinfo.elist, gitem);
+               }
+       }
+       if (eina_list_count(medias_elist) <= 0) {
+               gl_dbgW("All medias are tagged!");
+               /* Add notification */
+               _gl_notify_create_notiinfo(GL_STR_ADDED);
+               return -1;
+       }
+
+       Evas_Object *layout = NULL;
+       /* Add layout */
+       layout = _gl_ctrl_add_layout(ad->maininfo.naviframe);
+       GL_CHECK_VAL(layout, -1);
+       evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND,
+                       EVAS_HINT_EXPAND);
+       evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
+       /* Register delete callback */
+       evas_object_event_callback_add(layout, EVAS_CALLBACK_DEL,
+                       __gl_thumbs_sel_delete_layout_cb, data);
+       /* Save view mode */
+       int pre_view_m = gl_get_view_mode(data);
+       /* Set new view mode */
+       gl_set_view_mode(data, GL_VIEW_THUMBS_SELECT);
+       /* Add pinch effect before adding view */
+       _gl_pinch_add_event(data, layout);
+       /* Add view */
+       Evas_Object *view = NULL;
+       view = _gl_thumbs_add_grid(data, layout, GL_THUMB_ALL);
+       if (view == NULL) {
+               evas_object_del(layout);
+               gl_popup_create_popup(data, GL_POPUP_NOBUT, GL_STR_NO_ALBUMS);
+               /* Reset view mode */
+               gl_set_view_mode(data, pre_view_m);
+               return -1;
+       }
+
+       /* Set view to layout */
+       elm_object_part_content_set(ad->albuminfo.select_layout, "elm.swallow.view", view);
+       /* Push view to naviframe */
+       elm_object_item_part_text_set(ad->albuminfo.nf_it_select, "elm.text.title", _gl_str(GL_STR_ID_SELECT_ITEM));
+
+       Evas_Object *btn1 = elm_button_add(layout);
+       Evas_Object *btn2 = elm_button_add(layout);
+
+       GL_CHECK_VAL(btn1, -1);
+       GL_CHECK_VAL(btn2, -1);
+
+       /* Title Cancel Button */
+       elm_object_style_set(btn1, "naviframe/title_left");
+       elm_object_item_part_content_set(ad->albuminfo.nf_it_select, GL_NAVIFRAME_TITLE_LEFT_BTN, btn1);
+       _gl_ui_set_translate_str(btn1,GL_STR_ID_CANCEL_CAP);
+       evas_object_smart_callback_add(btn1, "clicked", __gl_thumbs_sel_cancel_cb, ad);
+
+       /* Title Done Button */
+       elm_object_style_set(btn2, "naviframe/title_right");
+       elm_object_item_part_content_set(ad->albuminfo.nf_it_select, GL_NAVIFRAME_TITLE_RIGHT_BTN, btn2);
+       _gl_ui_set_translate_str(btn2,GL_STR_ID_DONE_CAP);
+       evas_object_smart_callback_add(btn2, "clicked", __gl_thumbs_sel_done_cb, ad);
+       elm_object_disabled_set(btn2, EINA_TRUE);
+
+       ad->gridinfo.select_view = view;
+       ad->gridinfo.select_layout = layout;
+
+       /* Show select all widget */
+       int w = -1;
+       int h = -1;
+       evas_object_geometry_get(ad->maininfo.win, NULL, NULL, &w, &h);
+       Edje_Message_Int *msg = (Edje_Message_Int *)malloc(sizeof(Edje_Message_Int) + sizeof(int));
+       msg->val = ((w < h) ? (w - (w / 3)) : (w - (h / 3)));
+       gl_dbgE("msg value : %d", msg->val);
+       edje_object_message_send(elm_layout_edje_get(ad->albuminfo.select_layout), EDJE_MESSAGE_INT, 2, msg);
+       free(msg);
+       elm_object_signal_emit(ad->albuminfo.select_layout, "elm,selectall,state,visible,bg", "elm");
+       elm_object_signal_emit(ad->albuminfo.select_layout, "elm,selectall,state,visible", "elm");
+       _gl_ui_add_selall_ck(ad->albuminfo.select_layout, "select.all.area.check", "select.all.area.check",
+                       __gl_thumbs_sel_selall_cb, data);
+
+       int sel_cnt = _gl_data_selected_list_count(ad);
+
+       int fav_sel_cnt = eina_list_count(ad->selinfo.fav_elist);
+       int total_sel_count = sel_cnt + fav_sel_cnt;
+       /* Update the label text */
+       _gl_thumbs_update_label_text(ad->albuminfo.nf_it_select, total_sel_count, false);
+
+       gl_item *gitem_tmp = eina_list_nth(ad->gridinfo.medias_elist, 0);
+       GL_CHECK_VAL(gitem_tmp->album->elist, -1);
+       if (gitem_tmp->album->elist) {
+               int album_select_count = eina_list_count(gitem_tmp->album->elist);
+               gl_dbgW("album sel cont : %d !", album_select_count);
+               _gl_notify_check_selall(ad, ad->albuminfo.nf_it_select, ad->gridinfo.count, album_select_count);
+       }
+       gl_dbg("Done");
+       return 0;
+}
+
+/* Update in select thunb view for Tags */
+int _gl_thumbs_sel_update_view(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       int view_mode = gl_get_view_mode(ad);
+
+       gl_dbg("view_mode: %d", view_mode);
+       if (view_mode != GL_VIEW_THUMBS_SELECT) {
+               gl_dbg("Not in Select view.");
+               return -1;
+       }
+
+#ifdef _USE_ROTATE_BG
+       bool is_select = true;
+       if (_gl_ctrl_get_tab_mode(data) == GL_CTRL_TAB_ALBUMS ||
+                       _gl_ctrl_get_tab_mode(data) == GL_CTRL_TAB_TIMELINE)
+               is_select = false;
+       _gl_refresh_albums_list(data, false, is_select);
+#else
+       /* Checkme: albums list is not updated */
+       Eina_List *sel_id_list = NULL;
+       Eina_List *media_elist = NULL;
+       _gl_data_save_selected_str_ids(data, &sel_id_list);
+       _gl_data_clear_selected_info(ad);
+       _gl_data_update_item_list(ad, &sel_id_list, &media_elist);
+       _gl_thumbs_clear_and_set_list(ad, media_elist);
+#endif
+
+       if (_gl_thumbs_check_zero(data)) {
+               int err = -1;
+               int item_cnt = 0;
+               err = _gl_data_get_item_cnt(GL_ALBUM_ALL_ID, GL_STORE_T_ALL, &item_cnt);
+               /* Destroy select albums view */
+               if (err != 0 || item_cnt == 0) {
+                       gl_dbg("None local albums.");
+                       _gl_albums_sel_pop_view(ad);
+               } else {
+                       gl_dbg("Empty album.");
+                       _gl_thumbs_sel_pop_view(ad, true);
+               }
+               return 0;
+       } else {
+               _gl_thumbs_show_edit_view(ad);
+
+               /* Get selected medias count */
+               int sel_cnt = _gl_data_selected_list_count(ad);
+
+               int count = eina_list_count(ad->gridinfo.medias_elist);
+               int i;
+               gl_item *gitem = NULL;
+               gitem = eina_list_nth(ad->gridinfo.medias_elist, 0);
+               int album_sel_count = eina_list_count(gitem->album->elist);
+
+               /* Display selectioninfo */
+               _gl_notify_check_selall(ad, ad->albuminfo.nf_it_select,
+                               ad->gridinfo.count, album_sel_count);
+
+               /* Update the label text */
+               _gl_ui_update_label_text(ad->albuminfo.nf_it_select, sel_cnt,
+                               false);
+       }
+
+       return 0;
+}
+
+int _gl_thumbs_sel_pop_view(void *data, bool b_pop)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+
+       if (b_pop) {
+               /* Pop naviframe item*/
+               elm_naviframe_item_pop(ad->maininfo.naviframe);
+       }
+       /* Reset view mode */
+       gl_set_view_mode(data, GL_VIEW_ALBUMS_SELECT);
+       /* Update view */
+       _gl_albums_sel_update_view(data);
+       return 0;
+}
+
+int _gl_thumbs_sel_update_lang(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       gl_dbg("");
+       int sel_cnt = _gl_data_selected_list_count(ad);
+       /* Update the label text */
+       _gl_ui_update_navi_title_text(ad->albuminfo.nf_it_select, sel_cnt, false);
+       return 0;
+}
+
+int _gl_thumbs_sel_disable_btns(void *data, bool b_disabled)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       gl_dbg("disabled: %d", b_disabled);
+       _gl_ctrl_disable_items(ad->gridinfo.nf_it_select, b_disabled);
+       return 0;
+}
+
diff --git a/src/features/gl-thumbs.c b/src/features/gl-thumbs.c
new file mode 100644 (file)
index 0000000..88db965
--- /dev/null
@@ -0,0 +1,2345 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#include "gl-debug.h"
+#include "gl-thumbs.h"
+#include "gl-thumbs-edit.h"
+#include "gl-ui-util.h"
+#include "gl-util.h"
+#include "gl-albums.h"
+#include "gl-albums-sel.h"
+#include "gl-data.h"
+#include "gl-ext-ug-load.h"
+#include "gl-ext-exec.h"
+#include "gl-pinchzoom.h"
+#include "gl-progressbar.h"
+#include "gl-controlbar.h"
+#include "gl-nocontents.h"
+#include "gl-notify.h"
+#include "gl-strings.h"
+#include "gl-icons.h"
+#include "gl-thumb.h"
+#include "gl-button.h"
+#include "gl-ctxpopup.h"
+#include "gl-editfield.h"
+#include "gl-fs.h"
+#include "gl-gesture.h"
+#include "gl-popup.h"
+#include "gl-file-util.h"
+
+static void __gl_thumbs_check_changed(void *data, Evas_Object *obj, void *ei);
+void _gl_thumbs_open_file(void *data)
+{
+       gl_dbg("");
+       GL_CHECK(data);
+       gl_item *gitem = (gl_item *)data;
+       GL_CHECK(gitem->item);
+       GL_CHECK(gitem->item->file_url);
+       GL_CHECK(strlen(gitem->item->file_url));
+       GL_CHECK(gitem->ad);
+       gl_appdata *ad = (gl_appdata *)gitem->ad;
+       int view_mode = gl_get_view_mode(ad);
+       if (view_mode != GL_VIEW_THUMBS) {
+               gl_dbgE("Error view mode!");
+               return;
+       }
+
+       gl_dbg("Loading UG-IMAGE-VIEWER");
+       gl_ext_load_iv_ug(ad, gitem, GL_UG_IV);
+}
+
+void _gl_thumbs_open_file_select_mode(void *data)
+{
+       gl_dbg("");
+       GL_CHECK(data);
+       gl_item *gitem = (gl_item *)data;
+       GL_CHECK(gitem->item);
+       GL_CHECK(gitem->item->file_url);
+       GL_CHECK(strlen(gitem->item->file_url));
+       GL_CHECK(gitem->ad);
+       gl_appdata *ad = (gl_appdata *)gitem->ad;
+
+       gl_dbg("Loading UG-IMAGE-VIEWER-SELECT-MODE");
+       gl_ext_load_iv_ug_select_mode(ad, gitem->item, GL_UG_IV);
+}
+
+static int __gl_thumbs_change_check(void *data, Elm_Object_Item *it)
+{
+       GL_CHECK_VAL(it, -1);
+       GL_CHECK_VAL(data, -1);
+       Evas_Object *ck = NULL;
+       gl_dbg("");
+
+       ck = elm_object_item_part_content_get(it, GL_THUMB_CHECKBOX);
+       GL_CHECK_VAL(ck, -1);
+
+       elm_check_state_set(ck, !elm_check_state_get(ck));
+       __gl_thumbs_check_changed(data, ck, NULL);
+       return 0;
+}
+
+static void __gl_thumbs_sel_cb(void *data, Evas_Object *obj, void *ei)
+{
+       GL_CHECK(data);
+       gl_item *gitem = (gl_item *)data;
+       GL_CHECK(gitem->ad);
+       gl_appdata *ad = (gl_appdata *)gitem->ad;
+       int view_mode = gl_get_view_mode(ad);
+
+       elm_gengrid_item_selected_set((Elm_Object_Item *)ei, EINA_FALSE);
+       if (view_mode != GL_VIEW_THUMBS) {
+               __gl_thumbs_change_check(data, (Elm_Object_Item *)ei);
+               return;
+       }
+       /* Save scroller position before clearing gengrid */
+       _gl_ui_save_scroller_pos(obj);
+       _gl_thumbs_open_file(data);
+}
+
+static void __gl_thumbs_realized(void *data, Evas_Object *obj, void *ei)
+{
+       gl_dbg("realized");
+       GL_CHECK(ei);
+       GL_CHECK(data); /* It's ad */
+       Elm_Object_Item *it = (Elm_Object_Item *)ei;
+       Elm_Gengrid_Item_Class *gic = NULL;
+       gic = evas_object_data_get(obj, "gl_thumbs_item_style_key");
+       /* Do nothing for date item */
+       if (elm_gengrid_item_item_class_get(it) != gic)
+               return;
+
+       gl_item *gitem = elm_object_item_data_get(it);
+       GL_CHECK(gitem);
+       GL_CHECK(gitem->item);
+       /* Checking for local files only */
+       if (gitem->store_type == GL_STORE_T_MMC ||
+           gitem->store_type == GL_STORE_T_ALL ||
+           gitem->store_type == GL_STORE_T_PHONE) {
+               /* Use default image */
+               if (!GL_FILE_EXISTS(gitem->item->thumb_url)) {
+                       _gl_thumbs_create_thumb(gitem);
+               }
+       }
+}
+
+static void __gl_thumbs_unrealized(void *data, Evas_Object *obj, void *ei)
+{
+       gl_dbg("unrealized");
+       GL_CHECK(ei);
+       GL_CHECK(data); /* It's ad */
+       Elm_Object_Item *it = (Elm_Object_Item *)ei;
+       Elm_Gengrid_Item_Class *gic = NULL;
+       gic = evas_object_data_get(obj, "gl_thumbs_item_style_key");
+       /* Do nothing for date item */
+       if (elm_gengrid_item_item_class_get(it) != gic)
+               return;
+
+       gl_item *gitem = elm_object_item_data_get(it);
+       GL_CHECK(gitem);
+       GL_CHECK(gitem->item);
+       /* Checking for local files only */
+       if (gitem->store_type == GL_STORE_T_MMC ||
+           gitem->store_type == GL_STORE_T_ALL ||
+           gitem->store_type == GL_STORE_T_PHONE) {
+               if (gitem->item->b_create_thumb) {
+                       _gl_data_cancel_thumb(gitem->item);
+               }
+       }
+}
+
+static void __gl_thumbs_longpressed_cb(void *data, Evas_Object *obj, void *ei)
+{
+       gl_dbg("longpressed");
+       GL_CHECK(ei);
+       Elm_Gengrid_Item_Class *gic = NULL;
+       gic = evas_object_data_get(obj, "gl_thumbs_item_style_key");
+       /* Do nothing for date item */
+       if (elm_gengrid_item_item_class_get((Elm_Object_Item *)ei) != gic)
+               return;
+       if (GL_VIEW_THUMBS != gl_get_view_mode(data) ||
+           GL_CTRL_TAB_ALBUMS != _gl_ctrl_get_tab_mode(data))
+               return;
+
+#if 0
+       gl_item *gitem = (gl_item *)elm_object_item_data_get(ei);
+       GL_CHECK(gitem);
+       GL_CHECK(gitem->item);
+       GL_CHECK(gitem->item->display_name);
+
+       _gl_data_selected_list_finalize(data);
+       _gl_data_selected_list_append(data, gitem);
+       Eina_List *medias_elist = NULL;
+       _gl_thumbs_get_list(data, &medias_elist);
+       _gl_data_selected_add_burstshot(data, gitem, medias_elist);
+#endif
+}
+
+static void __gl_thumbs_lang_changed(void *data, Evas_Object *obj, void *ei)
+{
+       GL_CHECK(obj);
+       Eina_List *its = NULL;
+       Eina_List *l = NULL;
+       Elm_Object_Item *it = NULL;
+       const Elm_Gengrid_Item_Class *itc = NULL;
+
+       its = elm_gengrid_realized_items_get(obj);
+       EINA_LIST_FOREACH(its, l, it) {
+               itc = elm_gengrid_item_item_class_get(it);
+               if (itc && itc->func.text_get) /* Date item */
+                       elm_gengrid_item_update(it);
+               it = NULL;
+       }
+}
+
+static void __gl_thumbs_check_changed(void *data, Evas_Object *obj, void *ei)
+{
+       GL_CHECK(obj);
+       GL_CHECK(data);
+       gl_item *gitem = (gl_item *)data;
+       GL_CHECK(gitem->ad);
+       GL_CHECK(gitem->album);
+       gl_appdata *ad = (gl_appdata *)gitem->ad;
+       int view_mode = gl_get_view_mode(ad);
+       Elm_Object_Item *nf_it = NULL;
+       int (*update_text) (Elm_Object_Item *nf_it, int sel_cnt, bool b_lang);
+       gl_dbg("");
+
+       if (view_mode == GL_VIEW_THUMBS_EDIT) {
+               nf_it = ad->gridinfo.nf_it;
+               update_text = _gl_thumbs_update_label_text;
+       } else if (view_mode == GL_VIEW_THUMBS_SELECT) {
+               nf_it = ad->albuminfo.nf_it_select;
+               update_text = _gl_ui_update_navi_title_text;
+       } else {
+               return;
+       }
+
+       Eina_Bool checked = elm_check_state_get(obj);
+       gitem->checked = checked;
+       if (checked) {
+               if (strcmp(gitem->album->cluster->uuid, GL_ALBUM_FAVOURITE_ID)==0) {
+                       Eina_List *sel_list1 = ad->selinfo.fav_elist;
+                       sel_list1 = eina_list_append(sel_list1, gitem);
+                       ad->selinfo.fav_elist = sel_list1;
+               } else {
+                       _gl_data_selected_list_append(ad, gitem);
+                       Eina_List *medias_elist = NULL;
+                       _gl_thumbs_get_list(ad, &medias_elist);
+                       _gl_data_selected_add_burstshot(ad, gitem, medias_elist);
+               }
+               gitem->album->elist = eina_list_append(gitem->album->elist, gitem);
+       } else {
+               gl_sdbg("Remove:%s", gitem->item->file_url);
+               if (strcmp(gitem->album->cluster->uuid, GL_ALBUM_FAVOURITE_ID)==0) {
+                       _gl_data_selected_fav_list_remove(ad, gitem);
+               } else {
+                       _gl_data_selected_list_remove(ad, gitem);
+               }
+               gitem->album->elist = eina_list_remove(gitem->album->elist, gitem);
+       }
+       /* Display selectioninfo */
+       int sel_cnt = _gl_data_selected_list_count(ad);
+       int fav_sel_cnt = eina_list_count(ad->selinfo.fav_elist);
+       int total_sel_count = sel_cnt + fav_sel_cnt;
+       int album_select_count = eina_list_count(gitem->album->elist);
+       if (gitem->album->item) {
+               char buf[GL_ALBUM_NAME_LEN_MAX] = { 0, };
+               if (album_select_count > 0) {
+                       elm_object_item_signal_emit(gitem->album->item,
+                                       "elm,state,elm.text.badge,visible",
+                                       "elm");
+                       snprintf(buf, sizeof(buf), "%d", album_select_count);
+               } else {
+                       elm_object_item_signal_emit(gitem->album->item,
+                                       "elm,state,elm.text.badge,hidden",
+                                       "elm");
+               }
+               elm_gengrid_item_fields_update(gitem->album->item, "elm.text.badge", ELM_GENGRID_ITEM_FIELD_TEXT);
+       }
+       _gl_notify_check_selall(ad, nf_it, ad->gridinfo.count, album_select_count);
+       /* Update the label text */
+       //if(ad->selinfo.fav_elist!=NULL)
+       gl_sdbg("sel_cnt:%d", total_sel_count);
+       update_text(nf_it, total_sel_count, false);
+
+}
+
+#ifdef _USE_SHRINK_EFFECT
+
+
+static void __gl_thumbs_shrink_cb(void *data, Evas_Object *obj,
+                                 const char *emission, const char *source)
+{
+       GL_CHECK(data);
+       gl_item *gitem = (gl_item *) data;
+       GL_CHECK(gitem->ad);
+       gl_appdata *ad = (gl_appdata *)gitem->ad;
+       gl_dbg("");
+
+       _gl_thumbs_open_file(data);
+
+       edje_object_signal_callback_del(obj, "shrink,expand,done", "bg",
+                                       __gl_thumbs_shrink_cb);
+}
+#endif
+
+/* Only for local medias */
+static void __gl_thumbs_create_thumb_cb(media_content_error_e error,
+                                       const char *path, void *user_data)
+{
+       GL_CHECK(user_data);
+       gl_thumb_data_s *thumb_data = (gl_thumb_data_s *)user_data;
+       GL_CHECK(thumb_data->ad);
+       gl_appdata *ad = (gl_appdata *)thumb_data->ad;
+       gl_item *gitem = thumb_data->item;
+       GL_FREE(thumb_data);
+       gitem->thumb_data = NULL;
+
+       if (gl_get_view_mode(ad) != GL_VIEW_THUMBS &&
+           gl_get_view_mode(ad) != GL_VIEW_THUMBS_EDIT &&
+           gl_get_view_mode(ad) != GL_VIEW_THUMBS_SELECT)
+               return;
+
+       if (error == MEDIA_CONTENT_ERROR_NONE && GL_FILE_EXISTS(path) &&
+           g_strcmp0(path, GL_ICON_DB_DEFAULT_THUMB)) {
+               GL_CHECK(gitem);
+               GL_CHECK(gitem->item);
+               gl_dbg("Update item with new thumb path[%s]", path);
+               /* Update thumb path */
+               GL_FREEIF(gitem->item->thumb_url);
+               gitem->item->thumb_url = strdup(path);
+               elm_gengrid_item_update(gitem->elm_item);
+       } else {
+               gl_dbgE("[%d]Invalid path[%s]!", error, path);
+       }
+}
+
+/* Use file to create new thumb if possible */
+int _gl_thumbs_create_thumb(gl_item *gitem)
+{
+       GL_CHECK_VAL(gitem, -1);
+       GL_CHECK_VAL(gitem->item, -1);
+       GL_CHECK_VAL(gitem->item->file_url, -1);
+
+       if (GL_FILE_EXISTS(gitem->item->file_url)) {
+               gl_thumb_data_s *thumb_data = NULL;
+               thumb_data = (gl_thumb_data_s *)calloc(1, sizeof(gl_thumb_data_s));
+               GL_CHECK_VAL(thumb_data, -1);
+               thumb_data->ad = gitem->ad;
+               thumb_data->item = gitem;
+               gitem->thumb_data = thumb_data;
+               _gl_data_create_thumb(gitem->item, __gl_thumbs_create_thumb_cb,
+                                     thumb_data);
+               return 0;
+       }
+       return -1;
+}
+
+/*
+static void  __gl_thumbs_item_deleted(void *data, Evas_Object *obj)
+{
+       GL_CHECK(data);
+       gl_item *gitem = (gl_item *)data;
+       gl_dbg("[%p]", gitem);
+       if (gitem->b_deleted) {
+               gl_dbgW("[%p]b_deleted : %d", gitem, gitem->b_deleted);
+               //_gl_data_free_burstshot_items(gitem,);
+               _gl_data_util_free_gitem(gitem);
+       }
+}
+*/
+
+void open_image_in_select_mode(void *data, Evas_Object *obj, void *event_info)
+{
+       GL_CHECK(data);
+       _gl_thumbs_open_file_select_mode(data);
+}
+
+static Evas_Object *__gl_thumbs_get_content(void *data, Evas_Object *obj,
+                                           const char *part)
+{
+       GL_CHECK_NULL(part);
+       GL_CHECK_NULL(strlen(part));
+       GL_CHECK_NULL(data);
+       gl_item *gitem = (gl_item *)data;
+       GL_CHECK_NULL(gitem->item);
+       GL_CHECK_NULL(gitem->ad);
+       gl_appdata *ad = (gl_appdata *)gitem->ad;
+       int view_mode = gl_get_view_mode(ad);
+
+       if (!g_strcmp0(part, GL_THUMB_ICON)) {
+               Evas_Object *layout = _gl_thumbs_get_content(ad, obj, gitem,
+                                                            ad->gridinfo.icon_w,
+                                                            ad->gridinfo.icon_h);
+
+#ifdef _USE_SHRINK_EFFECT
+               evas_object_event_callback_add(layout, EVAS_CALLBACK_MOUSE_DOWN,
+                                              _gl_thumbs_mouse_down, gitem);
+               evas_object_event_callback_add(layout, EVAS_CALLBACK_MOUSE_UP,
+                                              _gl_thumbs_mouse_up, gitem);
+#endif
+               return layout;
+       } else if (!g_strcmp0(part, GL_THUMB_CHECKBOX)) {
+               Evas_Object *ck = NULL;
+               if (view_mode == GL_VIEW_THUMBS_EDIT ||
+                               view_mode == GL_VIEW_THUMBS_SELECT) {
+                       bool checked = true;
+                       if (!gitem->checked) {
+                               checked = _gl_data_get_burstshot_status(ad, gitem);
+                       } else {
+                               checked = gitem->checked;
+                       }
+                       ck = _gl_thumb_show_checkbox(obj, checked,
+                                       __gl_thumbs_check_changed, data);
+                       elm_object_item_signal_emit(gitem->elm_item, "show_image_icon", "elm_image_open_icon_rect");
+               } else {
+                       ck = elm_object_item_part_content_get(gitem->elm_item,
+                                       GL_THUMB_CHECKBOX);
+                       elm_object_item_signal_emit(gitem->elm_item, "hide_image_icon", "elm_image_open_icon_rect");
+                       if (ck) {
+                               evas_object_del(ck);
+                               ck = NULL;
+                       }
+               }
+               return ck;
+       } else if (!g_strcmp0(part, "elm_image_open_icon_swallow_blocker")) {
+               Evas_Object *btn1 = NULL;
+               if (view_mode == GL_VIEW_THUMBS_EDIT ||
+                               view_mode == GL_VIEW_THUMBS_SELECT) {
+                       btn1 = evas_object_rectangle_add(evas_object_evas_get(obj));
+                       evas_object_color_set(btn1, 0, 255, 0, 0);
+                       evas_object_propagate_events_set(btn1, EINA_FALSE);
+               }
+               else {
+                       btn1 = elm_object_item_part_content_get(gitem->elm_item,
+                                       "elm_image_open_icon_swallow_blocker");
+                       if (btn1) {
+                               evas_object_del(btn1);
+                               btn1 = NULL;
+                       }
+               }
+               return btn1;
+       } else if (!g_strcmp0(part, "elm_image_open_icon_swallow")) {
+               Evas_Object *btn = NULL;
+               if (view_mode == GL_VIEW_THUMBS_EDIT ||
+                               view_mode == GL_VIEW_THUMBS_SELECT) {
+                       btn = elm_button_add(obj);
+                       elm_object_style_set(btn, "transparent");
+                       evas_object_show(btn);
+                       evas_object_propagate_events_set(btn, EINA_FALSE);
+                       evas_object_smart_callback_add(btn, "clicked", open_image_in_select_mode, gitem);
+               } else {
+                       btn = elm_object_item_part_content_get(gitem->elm_item,
+                                       "elm_image_open_icon_swallow");
+                       if (btn) {
+                               evas_object_del(btn);
+                               btn = NULL;
+                       }
+               }
+               return btn;
+       } else if (!g_strcmp0(part, GL_THUMB_MODE)) {
+               return _gl_thumb_show_mode(obj, gitem->item->mode);
+       }
+       return NULL;
+}
+
+static char *__gl_thumbs_get_text(void *data, Evas_Object *obj,
+                                        const char *part)
+{
+       GL_CHECK_NULL(part);
+       GL_CHECK_NULL(strlen(part));
+       GL_CHECK_NULL(data);
+       gl_item *gitem = (gl_item *)data;
+       GL_CHECK_NULL(gitem->item);
+
+       struct tm time;
+       localtime_r((time_t *) &(gitem->item->mtime), &time);
+
+       if (!g_strcmp0(part, GL_THUMB_YEAR)) {
+               char buf[GL_DATE_INFO_LEN_MAX] = {0};
+               snprintf(buf, sizeof(buf), "%d", GL_DEFAULT_YEAR+time.tm_year);
+               return strdup(buf);
+       } else if (!g_strcmp0(part, GL_THUMB_MONTH)) {
+               char *mon_name[12] = {
+                               GL_STR_ID_JAN, GL_STR_ID_FEB, GL_STR_ID_MAR,
+                               GL_STR_ID_APR, GL_STR_ID_MAY, GL_STR_ID_JUN,
+                               GL_STR_ID_JUL, GL_STR_ID_AUG, GL_STR_ID_SEP,
+                               GL_STR_ID_OCT, GL_STR_ID_NOV, GL_STR_ID_DEC };
+               return g_ascii_strup(_gl_str(mon_name[time.tm_mon]), -1);
+       }
+
+       return NULL;
+}
+
+static int __gl_thumbs_set_type(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+
+       ad->gridinfo.grid_type = GL_GRID_T_NONE;
+       gl_cluster *cur_album = _gl_albums_get_current(data);
+       GL_CHECK_VAL(cur_album, -1);
+       GL_CHECK_VAL(cur_album->cluster, -1);
+
+       switch (cur_album->cluster->type) {
+       case GL_STORE_T_PHONE:
+       case GL_STORE_T_MMC:
+               ad->gridinfo.grid_type = GL_GRID_T_LOCAL;
+               break;
+       case GL_STORE_T_ALL:
+               ad->gridinfo.grid_type = GL_GRID_T_ALLALBUMS;
+               break;
+       case GL_STORE_T_FAV:
+               ad->gridinfo.grid_type = GL_GRID_T_FAV;
+               break;
+       default:
+               gl_dbgE("Wrong cluster storage type!");
+       }
+       gl_dbg("Gridview type: %d", ad->gridinfo.grid_type);
+       return 0;
+}
+
+static int __gl_thumbs_set_item_style(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+
+       if (ad->gridinfo.date_gic.item_style == NULL ||
+           ad->gridinfo.date_gic.func.text_get == NULL) {
+               ad->gridinfo.date_gic.item_style = GL_GENGRID_ITEM_STYLE_DATE;
+               ad->gridinfo.date_gic.func.text_get = __gl_thumbs_get_text;
+               ad->gridinfo.date_gic.func.content_get = NULL;
+       }
+       return 0;
+}
+
+static bool __gl_thumbs_create_items(void *data, Evas_Object *parent)
+{
+       GL_CHECK_FALSE(data);
+       GL_CHECK_FALSE(parent);
+       gl_appdata *ad = (gl_appdata *)data;
+       int i = 0;
+       int item_cnt = 0;
+       gl_item *gitem = NULL;
+       int ret = -1;
+       char *burstshot_id = NULL;
+       /* Get all medias count of current album */
+       Eina_List *media_elist = NULL;
+       _gl_thumbs_get_list(data, &media_elist);
+       if (ad->gridinfo.media_display_order == ORDER_ASC) {
+               media_elist = eina_list_reverse(media_elist);
+       }
+
+       int cnt = eina_list_count(media_elist);
+       gl_dbg("List count : %d", cnt);
+       Elm_Gengrid_Item_Class *gic = NULL;
+       gic = evas_object_data_get(parent, "gl_thumbs_item_style_key");
+       GL_CHECK_FALSE(gic);
+
+       if (elm_gengrid_items_count(parent) > 0) {
+               /* Save scroller position before clearing gengrid */
+               _gl_ui_save_scroller_pos(parent);
+               evas_object_smart_callback_del(parent, "unrealized",
+                                              __gl_thumbs_unrealized);
+               elm_gengrid_clear(parent);
+               evas_object_smart_callback_add(parent, "unrealized",
+                                              __gl_thumbs_unrealized, ad);
+       }
+       for (i = 0; i < cnt; i++) {
+               gitem = eina_list_nth(media_elist, i);
+               if (gitem == NULL || gitem->item == NULL ||
+                   gitem->item->uuid == NULL) {
+                       gl_dbgE("Invalid gitem. continue...");
+                       continue;
+               }
+
+               if (!gitem->item->file_url) {
+                       gl_dbg("file_url is invalid.");
+                       ret = _gl_data_delete_media(ad, gitem->item);
+                       if (ret != 0)
+                               continue;
+                       _gl_data_selected_list_remove(ad, gitem);
+                       media_elist = eina_list_remove(media_elist, gitem);
+                       _gl_thumbs_set_list(data, media_elist);
+                       cnt--;
+                       i--;
+                       gitem = NULL;
+                       continue;
+               }
+
+               if (ad->gridinfo.back_to_normal) {
+                       gitem->checked = false;
+               }
+               if (_gl_thumbs_is_append(gitem, &burstshot_id)) {
+                       gitem->elm_item = elm_gengrid_item_append(parent, gic,
+                                                                 gitem,
+                                                                 __gl_thumbs_sel_cb,
+                                                                 gitem);
+                       gitem->preappend = false;
+               }
+               item_cnt++;
+               gitem->sequence = item_cnt;
+       }
+       if (ad->gridinfo.media_display_order == ORDER_ASC) {
+                       media_elist = eina_list_reverse(media_elist);
+       }
+       /* Restore previous position of scroller */
+       _gl_ui_restore_scroller_pos(parent);
+
+#ifdef _USE_SHRINK_EFFECT
+       /* Disable grid item selection callback */
+       elm_gengrid_select_mode_set(parent, ELM_OBJECT_SELECT_MODE_NONE);
+#endif
+       ad->gridinfo.count = item_cnt;
+       ad->gridinfo.back_to_normal = false;
+
+       if (item_cnt == 0)
+               return EINA_FALSE;
+       else
+               return EINA_TRUE;
+}
+
+/*
+* Set new view to all/image_grid_view.
+*
+* b_noc, true: it's nocontents view, false: normal view.
+*/
+static int __gl_thumbs_set_view(void *data, Evas_Object *view, bool b_noc)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       ad->gridinfo.view = view;
+       if (b_noc)
+               _gl_thumbs_set_nocontents(ad, view);
+       else
+               _gl_thumbs_set_nocontents(ad, NULL);
+       return 0;
+}
+
+void _gl_thumbs_add_album_data(gl_cluster *album, Eina_List *medias_elist)
+{
+       GL_CHECK(album);
+       GL_CHECK(medias_elist);
+       int cnt = eina_list_count(medias_elist);
+       int i;
+       gl_item *gitem = NULL;
+       for (i = 0; i < cnt; i++) {
+               gitem = eina_list_nth(medias_elist, i);
+               GL_CHECK(gitem);
+               gitem->album = album;
+       }
+}
+
+/*
+* When select album, show first (GL_FIRST_VIEW_END_POS+1) medias.
+* Then use idler to get other medias from DB and appened
+* them to gridview.
+* In order to reduce transit time of first show of thumbnails view.
+* Cause most of time is spent for getting records from DB,
+* so we get first (GL_FIRST_VIEW_END_POS+1) items and show thumbnails view,
+* it will accelerate view show.
+*/
+static int __gl_thumbs_idler_append_items(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_CHECK_VAL(_gl_albums_get_current(data), -1);
+       int i = 0;
+       int item_cnt = 0;
+       gl_item *gitem = NULL;
+       gl_cluster *album = NULL;
+       int ret = -1;
+       char *burstshot_id = NULL;
+       Evas_Object *view = ad->gridinfo.view;
+
+       if (gl_get_view_mode(data) == GL_VIEW_THUMBS_SELECT) {
+               view = ad->gridinfo.select_view;
+       }
+       GL_CHECK_VAL(view, -1);
+
+       Elm_Gengrid_Item_Class *gic = NULL;
+       gic = evas_object_data_get(view, "gl_thumbs_item_style_key");
+       GL_CHECK_VAL(gic, -1);
+
+       /* Get all medias count of current album */
+       Eina_List *media_elist = NULL;
+       _gl_thumbs_get_list(data, &media_elist);
+       int cnt = eina_list_count(media_elist);
+       gl_dbg("First view medias count: %d", cnt);
+       if (cnt != (GL_FIRST_VIEW_END_POS + 1)) {
+               gl_dbg("No any more items, return!");
+               return -1;
+       }
+       /* Get other items from DB */
+       ret = _gl_data_get_items_album(ad, _gl_albums_get_current(data),
+                                      (GL_FIRST_VIEW_END_POS + 1),
+                                      GL_GET_UNTIL_LAST_RECORD, &media_elist);
+       if (ret < 0) {
+               gl_dbgE("Get items list failed[%d]!", ret);
+               return ret;
+       }
+
+       _gl_thumbs_set_list(data, media_elist);
+       cnt = eina_list_count(media_elist);
+       gl_dbg("Grid view all medias count: %d", cnt);
+
+       /* get album data associated with media item */
+       gitem = eina_list_nth(media_elist, 0);
+       if (gitem) {
+               album = gitem->album;
+       }
+
+       /* From (GL_FIRST_VIEW_END_POS + 1)th item to last one */
+       i = GL_FIRST_VIEW_END_POS + 1;
+
+       /* Check the first item of previous appending, maybe it's a burst item */
+       gitem = eina_list_nth(media_elist, i - 1);
+       if (gitem && gitem->item &&
+           gitem->item->type == MEDIA_CONTENT_TYPE_IMAGE &&
+           gitem->item->image_info &&
+           gitem->item->image_info->burstshot_id) {
+               burstshot_id = gitem->item->image_info->burstshot_id;
+               gl_dbgW("Update burstshot item!");
+               elm_gengrid_item_update(gitem->elm_item);
+       }
+       gitem = NULL;
+       for (; i < cnt; i++) {
+               gitem = eina_list_nth(media_elist, i);
+               if (gitem == NULL || gitem->item == NULL ||
+                   gitem->item->uuid == NULL) {
+                       gl_dbgE("Invalid gitem, continue...");
+                       continue;
+               }
+
+               if (!gitem->item->file_url) {
+                       gl_dbg("file_url is invalid.");
+                       _gl_data_delete_media(ad, gitem->item);
+                       _gl_data_selected_list_remove(ad, gitem);
+                       media_elist = eina_list_remove(media_elist, gitem);
+                       _gl_thumbs_set_list(data, media_elist);
+                       cnt--;
+                       i--;
+                       gitem = NULL;
+                       continue;
+               }
+               if (_gl_thumbs_is_append(gitem, &burstshot_id)) {
+                       gitem->elm_item = elm_gengrid_item_append(view, gic,
+                                                                 gitem,
+                                                                 __gl_thumbs_sel_cb,
+                                                                 gitem);
+                       gitem->preappend = false;
+               }
+
+               item_cnt++;
+               gitem->sequence = item_cnt + GL_FIRST_VIEW_END_POS + 1;
+       }
+       _gl_thumbs_add_album_data(album, media_elist);
+
+       gl_dbgW("Use idler to append other medias--Done!");
+       if (item_cnt == 0) {
+               return -1;
+       } else {
+               ad->gridinfo.count = item_cnt + GL_FIRST_VIEW_END_POS + 1;
+               gl_dbg("All count appended: %d", ad->gridinfo.count);
+               return 0;
+       }
+}
+
+static int __gl_thumbs_mode_reset_btns(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+
+       /* none items, disable 'edit' button */
+       if (_gl_thumbs_check_zero(data)) {
+               _gl_thumbs_disable_share(ad, true);
+               _gl_thumbs_disable_slideshow(ad, true);
+               _gl_ui_disable_menu(ad->gridinfo.nf_it, true);
+       } else {
+               _gl_thumbs_disable_share(ad, false);
+               _gl_thumbs_disable_slideshow(ad, false);
+               _gl_ui_disable_menu(ad->gridinfo.nf_it, false);
+       }
+       return 0;
+}
+
+static void __gl_thumbs_trans_finished_cb(void *data, Evas_Object *obj, void *ei)
+{
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       int view_mode = gl_get_view_mode(ad);
+       gl_dbgW("view_mode: %d", view_mode);
+       evas_object_smart_callback_del(obj, GL_TRANS_FINISHED,
+                                      __gl_thumbs_trans_finished_cb);
+
+       /* Clear previous view after animation finished */
+       if (view_mode == GL_VIEW_THUMBS || view_mode == GL_VIEW_THUMBS_EDIT) {
+               if (_gl_ctrl_get_tab_mode(ad) == GL_CTRL_TAB_ALBUMS)
+                       elm_gengrid_clear(ad->albuminfo.view);
+       } else {
+               gl_dbgE("Wrong view mode!");
+       }
+
+       if (ad->gridinfo.is_append) {
+               _gl_thumbs_append_items(data);
+               ad->gridinfo.is_append = false;
+       }
+}
+
+static Eina_Bool __gl_thumbs_pop_cb(void *data, Elm_Object_Item *it)
+{
+       GL_CHECK_FALSE(data);
+       gl_appdata *ad = (gl_appdata *)data;
+
+       if (gl_get_view_mode(data) == GL_VIEW_THUMBS_EDIT) {
+               gl_dbg("GL_VIEW_THUMBS_EDIT");
+               _gl_thumbs_edit_pop_view(data);
+               /* Keep current view unchanged */
+               if (_gl_thumbs_get_edit_mode(data) < GL_THUMBS_EDIT_FIRST)
+                       return EINA_FALSE;
+       }
+
+       /* Call function to update previous view */
+       Elm_Naviframe_Item_Pop_Cb func = NULL;
+       func = (Elm_Naviframe_Item_Pop_Cb)elm_object_item_data_get(ad->gridinfo.nf_it);
+       /* show albums view */
+       gl_dbg("func: %p", func);
+       if (func)
+               func(data, it);
+       /* Pop view(current naviframe item) */
+       if (ad->albuminfo.selected_uuid) {
+               free(ad->albuminfo.selected_uuid);
+               ad->albuminfo.selected_uuid = NULL;
+       }
+       return EINA_TRUE;
+}
+
+static void __gl_thumbs_edit_cb(void *data, Evas_Object *obj, void *ei)
+{
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       _gl_ctxpopup_del(data);
+       if (ad->uginfo.ug || ad->gridinfo.is_append) {
+               /**
+               * Prevent changed to edit view in wrong way.
+               * 1. When invoke imageviewer UG;
+               * 2. First show thumbnails view, use idler to append other medias.
+               */
+               gl_dbg("UG invoked or appending gridview.");
+               return;
+       }
+
+       ad->gridinfo.b_slideshow_disable = false;
+
+       int view_mode = gl_get_view_mode(data);
+       gl_dbg("mode: %d", view_mode);
+       if (view_mode == GL_VIEW_THUMBS) {
+               _gl_thumbs_set_edit_mode(data, GL_THUMBS_EDIT_NORMAL);
+               gl_item *gitem = eina_list_nth(ad->gridinfo.medias_elist, 0);
+               gl_item *tmp = NULL;
+
+               GL_CHECK(gitem);
+               GL_CHECK(gitem->album);
+               if (gitem && gitem->album && gitem->album->elist) {
+                       EINA_LIST_FREE(gitem->album->elist, tmp) {
+                               if (tmp) {
+                                       tmp->checked = false;
+                               }
+                       }
+               }
+               _gl_thumbs_edit_create_view(data);
+       }
+}
+
+static void __gl_thumbs_copy_cb(void *data, Evas_Object *obj, void *ei)
+{
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       _gl_ctxpopup_del(data);
+       if (ad->uginfo.ug || ad->gridinfo.is_append) {
+               gl_dbg("UG invoked or appending gridview.");
+               return;
+       }
+
+       ad->gridinfo.b_slideshow_disable = false;
+
+       int view_mode = gl_get_view_mode(data);
+       gl_dbg("mode: %d", view_mode);
+       if (view_mode == GL_VIEW_THUMBS) {
+               _gl_thumbs_set_edit_mode(data, GL_THUMBS_EDIT_COPY);
+               gl_item *gitem = eina_list_nth(ad->gridinfo.medias_elist, 0);
+               gl_item *tmp = NULL;
+               if (gitem && gitem->album) {
+                       EINA_LIST_FREE(gitem->album->elist, tmp) {
+                               if (tmp) {
+                                       tmp->checked = false;
+                               }
+                       }
+               }
+               _gl_thumbs_edit_create_view(data);
+       }
+}
+
+static void __gl_thumbs_move_cb(void *data, Evas_Object *obj, void *ei)
+{
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       _gl_ctxpopup_del(data);
+       if (ad->uginfo.ug || ad->gridinfo.is_append) {
+               gl_dbg("UG invoked or appending gridview.");
+               return;
+       }
+
+       ad->gridinfo.b_slideshow_disable = false;
+
+       int view_mode = gl_get_view_mode(data);
+       gl_dbg("mode: %d", view_mode);
+       if (view_mode == GL_VIEW_THUMBS) {
+               _gl_thumbs_set_edit_mode(data, GL_THUMBS_EDIT_MOVE);
+               gl_item *gitem = eina_list_nth(ad->gridinfo.medias_elist, 0);
+               gl_item *tmp = NULL;
+               if (gitem && gitem->album) {
+                       EINA_LIST_FREE(gitem->album->elist, tmp) {
+                               if (tmp) {
+                                       tmp->checked = false;
+                               }
+                       }
+               }
+               _gl_thumbs_edit_create_view(data);
+       }
+}
+
+static void __gl_thumbs_sortby_cb(void *data, Evas_Object *obj, void *ei)
+{
+       gl_dbg("ENTRY");
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       int state_index = -1;
+       state_index = ad->gridinfo.media_display_order == ORDER_ASC ? 1 : 0;
+       _gl_list_pop_create(data, obj, ei, GL_STR_SORT, GL_STR_DATE_MOST_RECENT, GL_STR_DATE_OLDEST, state_index);
+       gl_dbg("EXIT");
+}
+
+#if 0
+static void __gl_thumbs_share_cb(void *data, Evas_Object *obj, void *ei)
+{
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       if (ad->uginfo.ug || ad->gridinfo.is_append) {
+               /**
+               * Prevent changed to edit view in wrong way.
+               * 1. When invoke imageviewer UG;
+               * 2. First show thumbnails view, use idler to append other medias.
+               */
+               gl_dbg("UG invoked or appending gridview.");
+               return;
+       }
+
+       int view_mode = gl_get_view_mode(data);
+       gl_dbg("mode: %d", view_mode);
+       if (view_mode == GL_VIEW_THUMBS) {
+               _gl_thumbs_set_edit_mode(data, GL_THUMBS_EDIT_SHARE);
+               _gl_thumbs_edit_create_view(data);
+       }
+}
+#endif
+
+static void __gl_thumbs_soft_back_cb(void *data, Evas_Object *obj, void *ei)
+{
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_CHECK(ad->maininfo.naviframe);
+       elm_naviframe_item_pop(ad->maininfo.naviframe);
+}
+
+#ifdef SUPPORT_SLIDESHOW
+static int __gl_thumbs_slideshow_op(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       Eina_List *medias_elist = NULL;
+       gl_item *cur_item = NULL;
+       media_content_type_e type = MEDIA_CONTENT_TYPE_OTHERS;
+
+       _gl_thumbs_get_list(data, &medias_elist);
+       _gl_data_get_first_item(type, medias_elist, &cur_item);
+       GL_CHECK_VAL(cur_item, -1);
+       return gl_ext_load_iv_ug(ad, cur_item, GL_UG_IV_SLIDESHOW);
+}
+
+static int __gl_thumbs_slideshow(void *data, const char *label)
+{
+       GL_CHECK_VAL(label, -1);
+       GL_CHECK_VAL(data, -1);
+       gl_dbg("label : %s ", label);
+       gl_appdata *ad = (gl_appdata *)data;
+
+       if (!g_strcmp0(label, _gl_str(GL_STR_ID_ALL_ITEMS))) {
+               __gl_thumbs_slideshow_op(data);
+       } else if (!g_strcmp0(label, _gl_str(GL_STR_ID_SETTINGS))) {
+               evas_object_data_set(ad->maininfo.naviframe,
+                                    GL_NAVIFRAME_SLIDESHOW_DATA_KEY,
+                                    __gl_thumbs_slideshow_op);
+               gl_ext_load_ug(data, GL_UG_GALLERY_SETTING_SLIDESHOW);
+       } else if (!g_strcmp0(label, _gl_str(GL_STR_ID_SELECT_ITEMS))) {
+#ifdef _USE_APP_SLIDESHOW
+               _gl_thumbs_edit_create_view(data);
+               evas_object_data_set(ad->maininfo.naviframe,
+                                    GL_NAVIFRAME_SELECTED_SLIDESHOW_KEY,
+                                    _gl_thumbs_edit_pop_view);
+#else
+               _gl_ext_launch_gallery_ug(data);
+#endif
+       } else {
+               gl_dbgE("Invalid lable!");
+               return -1;
+       }
+       return 0;
+}
+
+static void __gl_thumbs_slideshow_cb(void *data, Evas_Object *obj, void *ei)
+{
+       GL_CHECK(data);
+       _gl_ctxpopup_del(data);
+       _gl_popup_create_slideshow(data, __gl_thumbs_slideshow);
+}
+#endif
+
+/*
+  * Local : New album/Edit/View/Slideshow/Show hidden items/Tag buddy
+  * Nearby : Edit/Refresh/Slideshow
+  * PTP: Edit/Slideshow
+  * Places: Edit/Footstep
+  * Tags: Eidt/View/Slideshow
+  * People: Edit/Slideshow/Tag buddy
+  * Easymode: New album/Edit/Slideshow
+  */
+static int __gl_thumbs_ctxpopup_append(void *data, Evas_Object *parent)
+{
+       GL_CHECK_VAL(parent, -1);
+       GL_CHECK_VAL(data, -1);
+#ifdef SUPPORT_SLIDESHOW
+       gl_appdata *ad = (gl_appdata *)data;
+#endif
+       gl_appdata *ad = (gl_appdata *)data;
+       /* 1. New album -- local album */
+
+       if (ad->gridinfo.grid_type == GL_GRID_T_FAV) {
+               /* 3. Sort by */
+               if (!_gl_thumbs_check_zero(data))
+                       _gl_ctxpopup_append(parent, GL_STR_SORT,
+                                       __gl_thumbs_sortby_cb, data);
+               return 0;
+       }
+       /* 2. Edit */
+       /* No 'edit' for facebook files, only share */
+       if (!_gl_thumbs_check_zero(data))
+               _gl_ctxpopup_append(parent, GL_STR_ID_DELETE,
+                                   __gl_thumbs_edit_cb, data);
+       /* 3. Sort by */
+               if (!_gl_thumbs_check_zero(data))
+                       _gl_ctxpopup_append(parent, GL_STR_SORT,
+                                           __gl_thumbs_sortby_cb, data);
+       /* 4. Copy to album*/
+       if (!_gl_thumbs_check_zero(data))
+                       _gl_ctxpopup_append(parent, GL_STR_ID_COPY_TO_ALBUM,
+                                       __gl_thumbs_copy_cb, data);
+       /* 5. Move to album*/
+       if (!_gl_thumbs_check_zero(data))
+                       _gl_ctxpopup_append(parent, GL_STR_ID_MOVE_TO_ALBUM,
+                                       __gl_thumbs_move_cb, data);
+#ifdef SUPPORT_SLIDESHOW
+       /* 6. Slideshow */
+       if (!ad->gridinfo.b_slideshow_disable)
+               _gl_ctxpopup_append(parent, GL_STR_ID_SLIDESHOW,
+                                   __gl_thumbs_slideshow_cb, data);
+#endif
+       return 0;
+}
+
+static void __gl_thumbs_more_btn_cb(void *data, Evas_Object *obj, void *ei)
+{
+       gl_dbg("more button clicked");
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       Evas_Object *more = NULL;
+       more = _gl_ui_get_btn(NULL, ad->gridinfo.nf_it, GL_NAVIFRAME_MORE);
+       if (EINA_TRUE == elm_object_disabled_get(more)) {
+               gl_dbg("Menu is disabled");
+               return; /* Menu is disabled */
+       }
+
+       _gl_ctxpopup_create(data, obj, __gl_thumbs_ctxpopup_append);
+}
+
+#if 0
+static void __gl_thumbs_camera_cb(void *data, Evas_Object *obj, void *ei)
+{
+       GL_CHECK(data);
+       gl_dbg("");
+       _gl_ext_load_camera(data);
+}
+#endif
+
+/**
+ *  Use naviframe api to push thumbnails view to stack.
+ *  @param obj is the content to be pushed.
+ */
+static int __gl_thumbs_add_btns(void *data, Evas_Object *parent,
+                                       Elm_Object_Item *nf_it)
+{
+       gl_dbg("GL_NAVI_THUMBS");
+       GL_CHECK_VAL(nf_it, -1);
+       GL_CHECK_VAL(parent, -1);
+       GL_CHECK_VAL(data, -1);
+       Evas_Object *btn = NULL;
+
+       /* More */
+       btn = _gl_but_create_but(parent, NULL, NULL, GL_BUTTON_STYLE_NAVI_MORE,
+                                __gl_thumbs_more_btn_cb, data);
+       GL_CHECK_VAL(btn, -1);
+
+       elm_object_item_part_content_set(nf_it, GL_NAVIFRAME_MORE, btn);
+
+       btn = elm_button_add(parent);
+       elm_object_style_set(btn, "naviframe/end_btn/default");
+       evas_object_smart_callback_add(btn, "clicked", __gl_thumbs_soft_back_cb, data);
+       GL_CHECK_VAL(btn, -1);
+       elm_object_item_part_content_set(nf_it, GL_NAVIFRAME_PREV_BTN, btn);
+       __gl_thumbs_mode_reset_btns(data);
+       return 0;
+}
+
+/* Clear data for thumbs view */
+static int __gl_thumbs_clear_data(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+
+       /* destroy timer */
+       GL_IF_DEL_TIMER(ad->gridinfo.clicked_timer);
+
+       if (ad->gridinfo.view) {
+               if (ad->gridinfo.view != ad->gridinfo.nocontents) {
+                       _gl_thumbs_clear_cbs(ad->gridinfo.view);
+                       _gl_ui_del_scroller_pos(ad->gridinfo.view);
+                       /* elm_gengrid_clear should be called after callbacks are unregistered */
+                       if (ad->gridinfo.medias_elist &&
+                           eina_list_count(ad->gridinfo.medias_elist) > 0)
+                               elm_gengrid_clear(ad->gridinfo.view);
+               }
+               ad->gridinfo.view = NULL;
+       }
+       ad->gridinfo.grid_type = GL_GRID_T_NONE;
+       ad->gridinfo.nocontents = NULL;
+       ad->gridinfo.layout = NULL;
+       ad->gridinfo.b_slideshow_disable = false;
+       ad->gridinfo.nf_it = NULL;
+       ad->gridinfo.count = 0;
+       _gl_thumbs_set_edit_mode(data, GL_THUMBS_EDIT_NONE);
+       /* Free title */
+       GL_FREEIF(ad->gridinfo.title);
+       return 0;
+}
+
+/* Free data after layout deleted */
+static void __gl_thumbs_delete_layout_cb(void *data, Evas *e, Evas_Object *obj,
+                                        void *ei)
+{
+       gl_dbg("Delete layout ---");
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       /* Clear view data */
+       __gl_thumbs_clear_data(data);
+       /* Free selected list */
+       _gl_data_clear_selected_info(data);
+       /* Clear all data */
+       _gl_data_util_clear_item_list(&(ad->gridinfo.medias_elist));
+       gl_dbg("Delete layout +++");
+}
+
+static int __gl_thumbs_push_view(void *data, Evas_Object *parent,
+                                Evas_Object *obj, gl_navi_mode mode,
+                                char *title)
+{
+       GL_CHECK_VAL(obj, -1);
+       GL_CHECK_VAL(parent, -1);
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       Elm_Object_Item *nf_it = NULL;
+
+       /* Add transition finished callback */
+       evas_object_smart_callback_add(parent, GL_TRANS_FINISHED,
+                                      __gl_thumbs_trans_finished_cb, data);
+       /* Push to stack with basic transition */
+       nf_it = elm_naviframe_item_push(parent, title, NULL, NULL, obj, NULL);
+       elm_object_item_part_text_set(nf_it, "elm.text.title", _gl_str(title));
+       ad->gridinfo.nf_it = nf_it;
+       elm_naviframe_item_pop_cb_set(nf_it, __gl_thumbs_pop_cb, data);
+
+       if (_gl_thumbs_get_edit_mode(data) > GL_THUMBS_EDIT_FIRST) {
+               _gl_thumbs_edit_create_view(data);
+               return 0;
+       }
+       GL_FREEIF(ad->gridinfo.title);
+       if (title)
+               ad->gridinfo.title = strdup(title);
+
+       __gl_thumbs_add_btns(data, parent, nf_it);
+       gl_dbg("Done");
+       return 0;
+}
+
+/* Free data after layout deleted */
+static void __gl_thumbs_del_view_cb(void *data, Evas *e, Evas_Object *obj,
+                                        void *ei)
+{
+       Elm_Gengrid_Item_Class *gic = NULL;
+       gic = evas_object_data_get(obj, "gl_thumbs_item_style_key");
+       evas_object_data_set(obj, "gl_thumbs_item_style_key", (void *)NULL);
+       if (gic)
+               elm_gengrid_item_class_free(gic);
+}
+
+Eina_Bool _gl_thumbs_append_items(void *data)
+{
+       GL_CHECK_CANCEL(data);
+
+       /* Try to get other medias from DB and append them to gridview */
+       if (__gl_thumbs_idler_append_items(data) < 0) {
+               gl_dbgE("Failed to append grid items!");
+       } else {
+               gl_dbg("Successful to append grid items!");
+       }
+       /* Need to check size and alignment again, cuz using burstshot mode */
+       _gl_thumbs_set_size(data, NULL);
+       return ECORE_CALLBACK_CANCEL;
+}
+
+Elm_Gengrid_Item_Class *_gl_thumbs_new_item_style(Evas_Object *parent)
+{
+       GL_CHECK_NULL(parent);
+
+       Elm_Gengrid_Item_Class *gic = NULL;
+
+       gic = elm_gengrid_item_class_new();
+       GL_CHECK_NULL(gic);
+       /* Register delete callback */
+       evas_object_event_callback_add(parent, EVAS_CALLBACK_DEL,
+                                      __gl_thumbs_del_view_cb, gic);
+       evas_object_data_set(parent, "gl_thumbs_item_style_key", (void *)gic);
+       gic->item_style = GL_GENGRID_ITEM_STYLE_THUMBNAIL;
+       gic->func.text_get = NULL;
+       gic->func.content_get = __gl_thumbs_get_content;
+       gic->func.del = NULL;
+       return gic;
+}
+
+int _gl_thumbs_update_realized_items(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+
+       /* Clear old view */
+       evas_object_smart_callback_del(ad->gridinfo.view, "unrealized",
+                                      __gl_thumbs_unrealized);
+       _gl_thumbs_set_size(ad, NULL);
+       elm_gengrid_realized_items_update(ad->gridinfo.view);
+       evas_object_smart_callback_add(ad->gridinfo.view, "unrealized",
+                                      __gl_thumbs_unrealized, ad);
+       return 0;
+}
+
+Evas_Object *_gl_thumbs_get_content(void *data, Evas_Object *parent,
+                                   gl_item *gitem, int w, int h)
+{
+       GL_CHECK_NULL(gitem);
+       GL_CHECK_NULL(gitem->item);
+       GL_CHECK_NULL(parent);
+       GL_CHECK_NULL(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       char *path = NULL;
+       Evas_Object *layout = NULL;
+
+       if (GL_FILE_EXISTS(gitem->item->thumb_url)) {
+               path = gitem->item->thumb_url;
+       } else {
+               /* Use default image */
+               path = GL_ICON_NO_THUMBNAIL;
+       }
+
+       int zoom_level = ad->pinchinfo.zoom_level;
+
+       if (gitem->item->type == MEDIA_CONTENT_TYPE_VIDEO) {
+               unsigned int v_dur = 0;
+               if (gitem->item->video_info) {
+                       v_dur = gitem->item->video_info->duration;
+               }
+               layout = _gl_thumb_show_video(parent, path, v_dur, w, h,
+                                             zoom_level);
+       } else {
+               if (gitem->item->image_info &&
+                   gitem->item->image_info->burstshot_id) {
+                       layout = _gl_thumb_show_image(parent, path, 0, w, h,
+                                                     zoom_level);
+                       gitem->item->mode = GL_CM_MODE_BURSTSHOT;
+               } else {
+                       layout = _gl_thumb_show_image(parent, path, 0, w, h,
+                                                     zoom_level);
+               }
+       }
+       return layout;
+}
+
+int _gl_thumbs_add_btns(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       __gl_thumbs_add_btns(data, ad->maininfo.naviframe, ad->gridinfo.nf_it);
+       return 0;
+}
+
+void _gl_thumbs_mouse_down(void *data, Evas *e, Evas_Object *obj, void *ei)
+{
+       GL_CHECK(obj);
+       GL_CHECK(ei);
+       GL_CHECK(data);
+       gl_item *gitem = (gl_item *) data;
+       GL_CHECK(gitem->ad);
+       gl_appdata *ad = (gl_appdata *)gitem->ad;
+       Evas_Event_Mouse_Down *ev = (Evas_Event_Mouse_Down *)ei;
+
+       ad->gridinfo.mouse.x = ev->output.x;
+       ad->gridinfo.mouse.y = ev->output.y;
+
+#ifdef _USE_SHRINK_EFFECT
+       if (ad->uginfo.ug == NULL) {
+               edje_object_signal_emit(_EDJ(obj), "mouse,down,shrink", "bg");
+               ad->gridinfo.mouse.b_pressed = true;
+       }
+#endif
+}
+
+void _gl_thumbs_mouse_up(void *data, Evas *e, Evas_Object *obj, void *ei)
+{
+       GL_CHECK(data);
+       gl_item *gitem = (gl_item *)data;
+       GL_CHECK(gitem->ad);
+       gl_appdata *ad = (gl_appdata *)gitem->ad;
+
+       if (!ei || !obj)
+               goto RET_WO_EXEC;
+
+       Evas_Event_Mouse_Up *ev = (Evas_Event_Mouse_Up *)ei;
+       if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD ||
+           ev->event_flags & EVAS_EVENT_FLAG_ON_SCROLL)
+               goto RET_WO_EXEC;
+
+       if ((abs(ad->gridinfo.mouse.x - ev->output.x) > GL_MOUSE_RANGE) ||
+           (abs(ad->gridinfo.mouse.y - ev->output.y) > GL_MOUSE_RANGE))
+               goto RET_WO_EXEC;
+
+       gl_dbg("");
+
+#ifdef _USE_SHRINK_EFFECT
+       if (ad->gridinfo.mouse.b_pressed) {
+               edje_object_signal_emit(_EDJ(obj), "mouse,up,expand", "bg");
+               edje_object_signal_callback_add(_EDJ(obj), "shrink,expand,done",
+                                               "bg", __gl_thumbs_shrink_cb,
+                                               data);
+               ad->gridinfo.mouse.b_pressed = false;
+       }
+       return;
+
+       RET_WO_EXEC:
+
+       if (ad->gridinfo.mouse.b_pressed) {
+               edje_object_signal_emit(_EDJ(obj), "mouse,up,expand", "bg");
+               ad->gridinfo.mouse.b_pressed = false;
+       }
+#else
+       _gl_thumbs_open_file(data);
+       return;
+
+      RET_WO_EXEC:
+       return;
+#endif
+}
+
+Evas_Object *_gl_thumbs_add_grid(void *data, Evas_Object *parent,
+                                gl_thumb_mode mode)
+{
+       GL_CHECK_NULL(parent);
+       GL_CHECK_NULL(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       Evas_Object *grid = NULL;
+
+       int view_mode = gl_get_view_mode(ad);
+       grid = _gl_thumb_add_gengrid(parent);
+       evas_object_smart_callback_add(grid, "realized", __gl_thumbs_realized,
+                                      data);
+       evas_object_smart_callback_add(grid, "unrealized",
+                                      __gl_thumbs_unrealized, data);
+       evas_object_smart_callback_add(grid, "longpressed",
+                                      __gl_thumbs_longpressed_cb, data);
+       evas_object_smart_callback_add(grid, "language,changed",
+                                      __gl_thumbs_lang_changed, NULL);
+       /* Set grid view type */
+       __gl_thumbs_set_type(ad);
+       _gl_ui_reset_scroller_pos(grid);
+       /* Set gengrid item style first */
+       __gl_thumbs_set_item_style(data);
+       _gl_thumbs_new_item_style(grid);
+
+       if (!__gl_thumbs_create_items(ad, grid)) {
+               _gl_ui_del_scroller_pos(grid);
+               evas_object_del(grid);
+               grid = NULL;
+               Evas_Object *noc = _gl_nocontents_create(parent);
+               _gl_thumbs_set_nocontents(ad, noc);
+               evas_object_show(noc);
+               return noc;
+       }
+
+       gl_dbg("thumbs_cnt : %d", ad->gridinfo.count);
+       _gl_thumbs_set_size(ad, grid);
+       if (view_mode != GL_VIEW_THUMBS_SELECT)
+               _gl_thumbs_set_nocontents(ad, NULL);
+       evas_object_show(grid);
+
+       return grid;
+}
+
+int _gl_thumbs_show_edit_view(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       int view_mode = gl_get_view_mode(ad);
+       bool b_ret = false;
+       Evas_Object *view = NULL;
+       gl_dbg("view_mode: %d", view_mode);
+
+       if (view_mode == GL_VIEW_THUMBS_EDIT) {
+               view = ad->gridinfo.view;
+       } else if (view_mode == GL_VIEW_THUMBS_SELECT) {
+               view = ad->gridinfo.select_view;
+       } else {
+               gl_dbgE("Wrong view mode!");
+               return -1;
+       }
+       GL_CHECK_VAL(view, -1);
+       b_ret = __gl_thumbs_create_items(ad, view);
+       _gl_thumbs_set_size(ad, NULL);
+
+       if (!b_ret) {
+               gl_dbgE("Create items failed!");
+               return -1;
+       } else {
+               return 0;
+       }
+}
+
+int _gl_thumbs_show_view(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       bool b_ret = false;
+       gl_dbg("");
+
+       if (ad->gridinfo.view == NULL) {
+               gl_dbg("Error : Any gridview doesn't exist");
+               return -1;
+       }
+
+       /* Come back from edit mode, save state */
+       ad->gridinfo.back_to_normal = true;
+       b_ret = __gl_thumbs_create_items(ad, ad->gridinfo.view);
+       _gl_thumbs_set_size(ad, NULL);
+
+       if (!b_ret) {
+               gl_dbgE("Create items failed!");
+               return -1;
+       } else {
+               return 0;
+       }
+}
+
+Eina_Bool _gl_thumbs_show_items(void *data)
+{
+       GL_CHECK_FALSE(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       Eina_Bool res = EINA_FALSE;
+       Evas_Object *gv = NULL;
+       bool b_view = false;
+       gl_dbg("");
+
+       b_view = _gl_thumbs_get_view(ad, &gv);
+       GL_CHECK_FALSE(gv);
+       if (b_view) {
+               res = __gl_thumbs_create_items(ad, gv);
+               if (!res) {
+                       gl_dbgW("create items failed!");
+                       elm_object_part_content_unset(ad->gridinfo.layout,
+                                                     "elm.swallow.view");
+                       _gl_thumbs_delete_view(data);
+                       __gl_thumbs_set_view(ad, NULL, false);
+                       Evas_Object *noc = _gl_nocontents_create(ad->gridinfo.layout);
+                       evas_object_show(noc);
+                       __gl_thumbs_set_view(ad, noc, true);
+
+                       elm_object_part_content_set(ad->gridinfo.layout,
+                                                   "elm.swallow.view", noc);
+               } else {
+                       _gl_thumbs_set_size(ad, gv);
+               }
+       } else {
+               gl_dbg("Remove nocontents view.");
+               elm_object_part_content_unset(ad->gridinfo.layout,
+                                             "elm.swallow.view");
+               evas_object_hide(gv);
+               evas_object_del(gv);
+               __gl_thumbs_set_view(ad, NULL, false);
+               bool b_noc = false;
+
+               Evas_Object *view = NULL;
+               view = _gl_thumbs_add_grid(ad, ad->gridinfo.layout, 0);
+               if (ad->gridinfo.nocontents) {
+                       b_noc = true;
+               }
+               /* No nocotents removed, gridview created */
+               __gl_thumbs_set_view(ad, view, b_noc);
+
+               elm_object_part_content_set(ad->gridinfo.layout,
+                                           "elm.swallow.view", view);
+       }
+
+       return res;
+}
+
+int _gl_thumbs_set_list(void *data, Eina_List *elist)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       ad->gridinfo.medias_elist = elist;
+       return 0;
+}
+
+int _gl_thumbs_clear_and_set_list(void *data, Eina_List *elist)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       int view_mode = gl_get_view_mode(data);
+       if (view_mode == GL_VIEW_THUMBS_SELECT && ad->gridinfo.select_view) {
+               _gl_ui_save_scroller_pos(ad->gridinfo.select_view);
+               elm_gengrid_clear(ad->gridinfo.select_view);
+       } else if (ad->gridinfo.view && (ad->gridinfo.view != ad->gridinfo.nocontents)) {
+               _gl_ui_save_scroller_pos(ad->gridinfo.view);
+               elm_gengrid_clear(ad->gridinfo.view);
+       }
+       _gl_data_util_clear_item_list(&(ad->gridinfo.medias_elist));
+       ad->gridinfo.medias_elist = elist;
+       return 0;
+}
+
+int _gl_thumbs_get_list(void *data, Eina_List **p_elist)
+{
+       GL_CHECK_VAL(p_elist, -1);
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       *p_elist = ad->gridinfo.medias_elist;
+       return 0;
+}
+
+int _gl_thumbs_update_edit_split_view(void *data, int nf_mode, char *title, bool b_idler,
+                          Elm_Naviframe_Item_Pop_Cb func)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_CHECK_VAL(ad->maininfo.naviframe, -1);
+       Evas_Object *layout = NULL;
+       Evas_Object *view = NULL;
+       /* Add view */
+       gl_set_view_mode(data, GL_VIEW_THUMBS);
+       view = _gl_thumbs_add_grid(ad, ad->gridinfo.layout, GL_THUMB_ALL);
+       if (view == NULL) {
+               evas_object_del(layout);
+               gl_dbgE("Failed to add gridview!");
+               return -1;
+       }
+       ad->gridinfo.update_split_view = false;
+       elm_object_part_content_set(ad->gridinfo.layout, "elm.swallow.view", view);
+       ad->gridinfo.view = view;
+       elm_object_item_data_set(ad->gridinfo.nf_it, (void *)func);
+       elm_object_item_text_set(ad->gridinfo.nf_it, title);
+       GL_FREEIF(ad->gridinfo.title);
+       if (title) {
+               ad->gridinfo.title = strdup(title);
+       }
+       if (_gl_thumbs_get_edit_mode(data) == GL_THUMBS_EDIT_NORMAL)
+               __gl_thumbs_edit_cb(ad, ad->gridinfo.view, NULL);
+       else if (_gl_thumbs_get_edit_mode(data) == GL_THUMBS_EDIT_COPY)
+               __gl_thumbs_copy_cb(ad, ad->gridinfo.view, NULL);
+       else if (_gl_thumbs_get_edit_mode(data) == GL_THUMBS_EDIT_MOVE)
+               __gl_thumbs_move_cb(ad, ad->gridinfo.view, NULL);
+
+       int sel_cnt = _gl_data_selected_list_count(ad);
+       /* Update the label text */
+       _gl_thumbs_update_label_text(ad->gridinfo.nf_it, sel_cnt, false);
+       gl_item *gitem = NULL;
+       int i;
+       int count = eina_list_count(ad->gridinfo.medias_elist);
+       for (i = 0; i < count ; i++) {
+               gitem = eina_list_nth(ad->gridinfo.medias_elist, i);
+               if (gitem) {
+                       _gl_data_restore_selected(ad->selinfo.elist, gitem);
+               }
+       }
+       if (gitem && gitem->album->elist) {
+               int album_select_count = eina_list_count(gitem->album->elist);
+               _gl_notify_check_selall(ad, ad->gridinfo.nf_it, ad->gridinfo.count, album_select_count);
+       }
+
+       return 0;
+}
+
+int _gl_thumbs_update_split_view(void *data, int nf_mode, char *title, bool b_idler,
+                          Elm_Naviframe_Item_Pop_Cb func)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_CHECK_VAL(ad->maininfo.naviframe, -1);
+       Evas_Object *layout = NULL;
+       Evas_Object *view = NULL;
+       /* Add view */
+       view = _gl_thumbs_add_grid(ad, ad->gridinfo.layout, GL_THUMB_ALL);
+       if (view == NULL) {
+               evas_object_del(layout);
+               gl_dbgE("Failed to add gridview!");
+               return -1;
+       }
+       elm_object_part_content_set(ad->gridinfo.layout, "elm.swallow.view", view);
+       ad->gridinfo.view = view;
+       gl_dbgE("Title is : %s", title);
+       elm_object_item_data_set(ad->gridinfo.nf_it, (void *)func);
+       elm_object_item_text_set(ad->gridinfo.nf_it, _gl_str(title));
+       GL_FREEIF(ad->gridinfo.title);
+       if (title) {
+               ad->gridinfo.title = strdup(title);
+       }
+       return 0;
+}
+
+Evas_Object *
+_create_gengrid(void *data)
+{
+       GL_CHECK_VAL(data, NULL);
+       gl_appdata *ad = (gl_appdata *)data;
+       Evas_Object *layout_inner = elm_gengrid_add(ad->maininfo.win);
+
+       elm_gengrid_align_set(layout_inner, 0.5f, 0.0);
+       elm_gengrid_horizontal_set(layout_inner, EINA_FALSE);
+       elm_scroller_bounce_set(layout_inner, EINA_FALSE, EINA_TRUE);
+       elm_scroller_policy_set(layout_inner, ELM_SCROLLER_POLICY_OFF,
+                       ELM_SCROLLER_POLICY_AUTO);
+       elm_gengrid_multi_select_set(layout_inner, EINA_TRUE);
+       evas_object_size_hint_weight_set(layout_inner, EVAS_HINT_EXPAND,
+                       EVAS_HINT_EXPAND);
+       return layout_inner;
+}
+
+int
+_create_split_album_view(void *data, Evas_Object *layout_inner)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       if (_gl_split_albums_create_items(ad, layout_inner) < 0) {
+               gl_dbgE("Failed to add Split album view!");
+               return -1;
+       }
+       int w = -1, h = -1;
+       evas_object_geometry_get(ad->maininfo.win, NULL, NULL, &w, &h);
+       if (w < h) {
+               elm_gengrid_item_size_set(layout_inner, (w/3)-40, (w/3)-20);
+       } else {
+               elm_gengrid_item_size_set(layout_inner, (h/3)-20, (h/3)-40);
+       }
+       return 0;
+}
+
+int _gl_thumbs_create_view(void *data, int nf_mode, char *title, bool b_idler,
+                          Elm_Naviframe_Item_Pop_Cb func)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_CHECK_VAL(ad->maininfo.naviframe, -1);
+       Evas_Object *layout = NULL;
+       Evas_Object *view = NULL;
+       Evas_Object *layout_inner = NULL;
+       layout_inner = _create_gengrid(ad);
+       GL_CHECK_VAL(layout_inner, -1);
+
+       if (_gl_thumbs_get_edit_mode(data) > GL_THUMBS_EDIT_FIRST)
+                       gl_set_view_mode(data, GL_VIEW_THUMBS_EDIT);
+               else
+                       gl_set_view_mode(data, GL_VIEW_THUMBS);
+
+       if (_create_split_album_view(ad, layout_inner) == -1) {
+               gl_dbgE("Failed to add album split view!");
+               return -1;
+       }
+
+       ad->gridinfo.update_split_view = true;
+       ad->gridinfo.media_display_order = ORDER_DESC;
+       layout = _gl_ctrl_add_layout(ad->maininfo.naviframe);
+       GL_CHECK_VAL(layout, -1);
+       evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND,
+                                        EVAS_HINT_EXPAND);
+       evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
+
+       if (ad->gridinfo.split_view_mode) {
+               int w = -1, h = -1;
+               evas_object_geometry_get(ad->maininfo.win, NULL, NULL, &w, &h);
+               Edje_Message_Int *msg = (Edje_Message_Int *)malloc(sizeof(Edje_Message_Int) + sizeof(int));
+               GL_CHECK_VAL(msg, -1);
+               msg->val = ((w < h) ? (w / 3) : (h / 3));
+               edje_object_message_send(elm_layout_edje_get(layout), EDJE_MESSAGE_INT, 1, msg);
+               free(msg);
+               elm_object_signal_emit(layout, "elm,splitview,state,visible", "elm");
+       } else {
+               elm_object_signal_emit(layout, "elm,splitview,state,default", "elm");
+       }
+
+       /* Add pinch event before adding view */
+       _gl_pinch_add_event(ad, layout);
+       ad->gridinfo.is_append = b_idler;
+       /* Add view */
+       view = _gl_thumbs_add_grid(ad, layout, GL_THUMB_ALL);
+       if (view == NULL) {
+               evas_object_del(layout);
+               gl_dbgE("Failed to add gridview!");
+               return -1;
+       }
+       elm_object_part_content_set(layout, "elm.swallow.view", view);
+       ad->gridinfo.view = view;
+       ad->gridinfo.layout = layout;
+
+       elm_object_part_content_set(layout, "split.view", layout_inner);
+       __gl_thumbs_push_view(ad, ad->maininfo.naviframe, layout, nf_mode,
+                             title);
+       elm_object_item_data_set(ad->gridinfo.nf_it, (void *)func);
+       /* Register delete callback */
+       evas_object_event_callback_add(layout, EVAS_CALLBACK_DEL,
+                                      __gl_thumbs_delete_layout_cb, data);
+       gl_dbg("Done");
+       return 0;
+}
+
+/**
+* @param: b_update_albums_list
+*      True: Update albums list and medias list, then update normal view.
+*      False: Get new medias for current view from DB
+*                then update view to synchronize data with Myfile.
+*                Use case:
+*              1, Update gridview/listview created from Map;
+*              2, Update edit gridview/listview.
+*/
+int _gl_thumbs_update_items(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       int view_mode = gl_get_view_mode(ad);
+       bool b_edit_m = false;
+
+       gl_dbg("view_mode: %d", view_mode);
+       if (view_mode == GL_VIEW_THUMBS_EDIT) {
+               gl_dbg("Edit view.");
+               b_edit_m = true;
+       }
+       if (_gl_thumbs_check_zero(data)) {
+               /* All items deleted, change to albms view */
+               gl_pop_to_ctrlbar_ly(ad);
+       } else {
+               if (_gl_thumbs_check_zero(data)) {
+                       gl_dbg("none video/image, show nocontents");
+                       _gl_thumbs_show_nocontents(ad);
+                       /* Remove invalid widgets */
+                       gl_del_invalid_widgets(ad, GL_INVALID_NEW_ENTRY_NOC);
+               } else if (view_mode == GL_VIEW_THUMBS) {
+                       _gl_thumbs_show_items(ad);
+                       /* Update buttons state */
+                       _gl_thumbs_check_btns(data);
+               } else if (view_mode == GL_VIEW_THUMBS_EDIT) {
+                       _gl_thumbs_show_edit_view(ad);
+               }
+
+               /* Normal view, return */
+               if (!b_edit_m)
+                       return 0;
+
+               /* Get selected medias count */
+               int sel_cnt = _gl_data_selected_list_count(ad);
+               /* Remove invalid widgets */
+               if (sel_cnt == 0)
+                       gl_del_invalid_widgets(ad, GL_INVALID_NEW_ENTRY);
+
+               /* Display selectioninfo */
+               gl_item *gitem = NULL;
+               gitem = eina_list_nth(ad->gridinfo.medias_elist, 0);
+               int album_sel_count = eina_list_count(gitem->album->elist);
+               _gl_notify_check_selall(ad, ad->gridinfo.nf_it,
+                               ad->gridinfo.count, album_sel_count);
+               _gl_thumbs_update_label_text(ad->gridinfo.nf_it, sel_cnt, false);
+       }
+
+       return 0;
+}
+
+int _gl_thumbs_update_view(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       gl_sdbg("grid_type: %d", ad->gridinfo.grid_type);
+
+       switch (ad->gridinfo.grid_type) {
+       case GL_GRID_T_LOCAL:
+       case GL_GRID_T_ALLALBUMS:
+       case GL_GRID_T_FAV:
+               /* Albums list should be updated first */
+       {
+               gl_dbgE(" creating split album view!");
+               Evas_Object *layout_inner = elm_object_part_content_get(ad->gridinfo.layout, "split.view");
+               if (!layout_inner) {
+                       gl_dbgE("Failed to add split album view!");
+               } else {
+                       _create_split_album_view(ad, layout_inner);
+                       elm_object_part_content_set(ad->gridinfo.layout, "split.view", layout_inner);
+               }
+
+               _gl_thumbs_update_items(ad);
+       }
+               break;
+       default:
+               gl_dbgE("Wrong grid type!");
+               return -1;
+       }
+       return 0;
+}
+
+int _gl_thumbs_destroy_view(void *data, bool b_pop)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       int view_mode = gl_get_view_mode(ad);
+       gl_dbg("view_mode: %d.", view_mode);
+
+       gl_del_invalid_widgets(ad, GL_INVALID_NONE);
+       _gl_albums_set_current(data, NULL);
+
+       /* Pop to controlbar layout */
+       if (b_pop) {
+               /* To launch __gl_thumbs_pop_cb in thumb selected mode */
+               elm_naviframe_item_pop_to(ad->gridinfo.nf_it);
+               /* To skip operation about edit mode */
+               if (view_mode == GL_VIEW_THUMBS_EDIT)
+                       gl_set_view_mode(data, GL_VIEW_THUMBS);
+               elm_naviframe_item_pop_to(ad->ctrlinfo.nf_it);
+       }
+       return 0;
+}
+
+int _gl_thumbs_destroy_view_with_cb(void *data, void *cb)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       gl_dbg("start");
+
+       /* Delete naviframe item dierctly, instead of poping them */
+       _gl_thumbs_destroy_view(data, false);
+       /* Delete naviframe item dierctly to launch layout_delete_cb immediately */
+       _gl_ui_del_nf_items(ad->maininfo.naviframe, ad->ctrlinfo.nf_it);
+       if (cb) {
+               int (*close_cb) (void *data);
+               close_cb = cb;
+               close_cb(data);
+       }
+       gl_dbg("done");
+       return 0;
+}
+
+/**
+* Get all/image_grid_view.
+*
+* True returned if it's normal view, if it's nocontents view return false.
+*/
+bool _gl_thumbs_get_view(void *data, Evas_Object **view)
+{
+       GL_CHECK_FALSE(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       Evas_Object *gv = NULL;
+       bool b_view = false;
+
+       gv = ad->gridinfo.view;
+       if (gv && ad->gridinfo.nocontents == NULL)
+               b_view = true;
+
+       /* Nocontents */
+       if (!b_view)
+               gl_dbg("Previous view is Nocontents...");
+
+       /* Return view */
+       if (view)
+               *view = gv;
+
+       return b_view;
+}
+
+/**
+ * Show Nocontents in All/Images/Videos segment.
+ */
+bool _gl_thumbs_show_nocontents(void *data)
+{
+       GL_CHECK_FALSE(data);
+       gl_appdata *ad = (gl_appdata *)data;
+
+       /* Clear invalid objects if needed */
+       _gl_thumbs_delete_view(ad);
+       /* Create nocontents widget */
+       Evas_Object *noc = NULL;
+       noc = _gl_nocontents_create(ad->gridinfo.layout);
+       ad->gridinfo.view = noc;
+       ad->gridinfo.nocontents = noc;
+       elm_object_part_content_unset(ad->gridinfo.layout, "elm.swallow.view");
+       evas_object_show(ad->gridinfo.view);
+       elm_object_part_content_set(ad->gridinfo.layout, "elm.swallow.view",
+                                   ad->gridinfo.view);
+       _gl_thumbs_check_btns(ad);
+       return true;
+}
+
+/* Assign new value to all/image_grid_nocontents */
+int _gl_thumbs_set_nocontents(void *data, Evas_Object *noc)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       ad->gridinfo.nocontents = noc;
+       return 0;
+}
+
+int _gl_thumbs_set_size(void *data, Evas_Object *gridview)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       Evas_Object *gv = NULL;
+
+       if (gridview) {
+               gv = gridview;
+       } else {
+               bool b_view = false;
+               if (gl_get_view_mode(data) == GL_VIEW_THUMBS_SELECT) {
+                       b_view = true;
+                       gv = ad->gridinfo.select_view;
+               } else {
+                       b_view = _gl_thumbs_get_view(ad, &gv);
+               }
+
+               if (!b_view || !gv) {
+                       gl_dbgE("gridview is invalid!");
+                       return -1;
+               }
+       }
+       if (ad->gridinfo.split_view_mode == DETAIL_VIEW) {
+               _gl_thumb_set_size(ad, gv, &(ad->gridinfo.icon_w),
+                               &(ad->gridinfo.icon_h));
+       } else if (ad->gridinfo.split_view_mode == SPLIT_VIEW) {
+               _gl_thumb_split_set_size(ad, gv);
+       }
+
+       if (gl_get_view_mode(ad) == GL_VIEW_THUMBS_SELECT) {
+               _gl_thumb_split_set_size(ad, gv);
+       }
+
+       return 0;
+}
+
+int _gl_thumbs_clear_cbs(Evas_Object *grid)
+{
+       GL_CHECK_VAL(grid, -1);
+       evas_object_smart_callback_del(grid, "realized", __gl_thumbs_realized);
+       evas_object_smart_callback_del(grid, "unrealized",
+                                      __gl_thumbs_unrealized);
+       evas_object_smart_callback_del(grid, "longpressed",
+                                      __gl_thumbs_longpressed_cb);
+       return 0;
+}
+
+int _gl_thumbs_delete_view(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+
+       if (ad->gridinfo.view) {
+               _gl_thumbs_clear_cbs(ad->gridinfo.view);
+               _gl_ui_del_scroller_pos(ad->gridinfo.view);
+               evas_object_del(ad->gridinfo.view);
+               ad->gridinfo.view = NULL;
+       }
+       return 0;
+}
+
+/* Update griditem size */
+int _gl_thumbs_update_size(void *data, Evas_Object *view)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       Evas_Object *_view = NULL;
+       int view_mode = gl_get_view_mode(ad);
+       gl_dbg("");
+
+       if (view) {
+               _view = view;
+       } else {
+               bool b_view = false;
+               if (view_mode == GL_VIEW_THUMBS_SELECT) {
+                       b_view = true;
+                       _view = ad->gridinfo.select_view;
+               } else {
+                       b_view = _gl_thumbs_get_view(ad, &_view);
+               }
+
+               if (!b_view || !_view) {
+                       gl_dbgE("gridview is invalid!");
+                       return -1;
+               }
+       }
+
+       _gl_thumbs_set_size(data, _view);
+
+       _gl_thumb_update_gengrid(_view);
+
+       return 0;
+}
+
+/**
+ * Check to append a item to gengrid or not,
+ * if it's a normal item or it's the first burstshot item then append it to view
+ */
+bool _gl_thumbs_is_append(gl_item *gitem, char **burstshot_id)
+{
+       GL_CHECK_FALSE(gitem);
+       GL_CHECK_FALSE(gitem->item);
+       GL_CHECK_FALSE(burstshot_id);
+       bool b_to_append = false;
+
+       if (gitem->item->type == MEDIA_CONTENT_TYPE_IMAGE &&
+           gitem->item->image_info &&
+           gitem->item->image_info->burstshot_id) {
+               /* First birstshot item,  two jacent birstshot items  */
+               if (*burstshot_id == NULL ||
+                   g_strcmp0(*burstshot_id, gitem->item->image_info->burstshot_id)) {
+                       *burstshot_id = gitem->item->image_info->burstshot_id;
+                       b_to_append = true;
+               }
+       } else {
+               /* Normal item(not burstshot) */
+               b_to_append = true;
+               *burstshot_id = NULL;
+       }
+       return b_to_append;
+}
+
+bool _gl_thumbs_check_zero(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       Eina_List *medias_elist = NULL;
+
+       _gl_thumbs_get_list(data, &medias_elist);
+       return (eina_list_count(medias_elist) <= 0);
+}
+
+/* Update the label text, recreate label to disable effect in edit view */
+int _gl_thumbs_update_label(Elm_Object_Item *nf_it, char *title)
+{
+       GL_CHECK_VAL(nf_it, -1);
+       elm_object_item_part_text_set(nf_it, "elm.text.title", _gl_str(title));
+       if (_gl_is_str_id(title))
+               _gl_ui_set_translatable_item(nf_it, title);
+       return 0;
+}
+
+/* Update the label text */
+int _gl_thumbs_update_label_text(Elm_Object_Item *nf_it, int sel_cnt,
+                                bool b_lang)
+{
+       GL_CHECK_VAL(nf_it, -1);
+       gl_dbg("Count: %d, lang: %d", sel_cnt, b_lang);
+       char *pd_selected = GL_STR_PD_SELECTED;
+
+       Evas_Object *btn = elm_object_item_part_content_get(nf_it, GL_NAVIFRAME_TITLE_RIGHT_BTN);
+
+       if (btn) {
+               if (sel_cnt > 0) {
+                       elm_object_disabled_set(btn, EINA_FALSE);
+               } else {
+                       elm_object_disabled_set(btn, EINA_TRUE);
+               }
+       }
+
+       /* Update the label text */
+       if (sel_cnt > 0) {
+               char *text = NULL;
+               text = g_strdup_printf(pd_selected, sel_cnt);
+               _gl_thumbs_update_label(nf_it, text);
+               GL_GFREEIF(text);
+       } else if (!b_lang) {
+               /* Don't need to update text if it's called by language_changed_cb*/
+               _gl_thumbs_update_label(nf_it, GL_STR_ID_SELECT_ITEM);
+       }
+       return 0;
+}
+
+int _gl_thumbs_update_lang(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       return 0;
+}
+
+int _gl_thumbs_disable_slideshow(void *data, bool b_disabled)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       gl_dbg("b_disable: %d", b_disabled);
+       ad->gridinfo.b_slideshow_disable = b_disabled;
+       return 0;
+}
+
+int _gl_thumbs_disable_share(void *data, bool b_disabled)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       gl_dbg("b_disable: %d", b_disabled);
+       GL_CHECK_VAL(ad->gridinfo.nf_it, -1);
+       Evas_Object *btn = NULL;
+       btn = elm_object_item_part_content_get(ad->gridinfo.nf_it,
+                                              GL_NAVIFRAME_TITLE_LEFT_BTN);
+       if (btn)
+               elm_object_disabled_set(btn, b_disabled);
+       else
+               gl_dbgE("Failed to get share button!");
+       return 0;
+}
+
+/* Check buttons state when coming back from albums-select view */
+int _gl_thumbs_check_btns(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       __gl_thumbs_mode_reset_btns(data);
+       return 0;
+}
+
+int _gl_thumbs_update_sequence(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       gl_item *gitem = NULL;
+       Elm_Object_Item *first_it = NULL;
+       Elm_Object_Item *next_it = NULL;
+       Elm_Object_Item *last_it = NULL;
+
+       Evas_Object *view = ad->gridinfo.view;
+       if (gl_get_view_mode(data) == GL_VIEW_THUMBS_SELECT)
+               view = ad->gridinfo.select_view;
+       GL_CHECK_VAL(view, -1);
+       first_it = elm_gengrid_first_item_get(view);
+       last_it = elm_gengrid_last_item_get(view);
+
+       int sequence = 1;
+       while (first_it) {
+               next_it = elm_gengrid_item_next_get(first_it);
+
+               if (elm_gengrid_item_item_class_get(first_it) == &(ad->gridinfo.date_gic))
+                       goto GL_THUMBS_NEXT;
+
+               gitem = elm_object_item_data_get(first_it);
+               if (gitem)
+                       gitem->sequence = sequence++;
+               gitem = NULL;
+
+ GL_THUMBS_NEXT:
+
+               if (last_it == first_it) {
+                       gl_dbg("done!");
+                       break;
+               } else {
+                       first_it = next_it;
+               }
+       }
+       return 0;
+}
+
+int _gl_thumbs_set_edit_mode(void *data, int mode)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       ad->gridinfo.edit_mode = mode;
+       return 0;
+}
+
+int _gl_thumbs_get_edit_mode(void *data)
+{
+       GL_CHECK_FALSE(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       return ad->gridinfo.edit_mode;
+}
+
+int _gl_thumbs_rotate_view(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       Eina_List *its = NULL;
+       Eina_List *l = NULL;
+       Elm_Object_Item *it = NULL;
+       gl_item *gitem = NULL;
+
+       if (ad->gridinfo.view == ad->gridinfo.nocontents)
+               return -1;
+
+       int w = -1;
+       int h = -1;
+       if (gl_get_view_mode(ad) == GL_VIEW_THUMBS_EDIT) {
+               evas_object_geometry_get(ad->maininfo.win, NULL, NULL, &w, &h);
+               Edje_Message_Int *msg = (Edje_Message_Int *)malloc(sizeof(Edje_Message_Int) + sizeof(int));
+               GL_CHECK_VAL(msg, -1);
+               if (ad->gridinfo.split_view_mode == DETAIL_VIEW) {
+                       msg->val = h;
+               } else {
+                       msg->val = ((w < h) ? (h - (w / 3)) : (w - (h / 3)));
+               }
+               gl_dbgE("msg value : %d", msg->val);
+               edje_object_message_send(elm_layout_edje_get(ad->gridinfo.layout), EDJE_MESSAGE_INT, 2, msg);
+               free(msg);
+               elm_object_signal_emit(ad->gridinfo.layout, "elm,selectall,state,visible", "elm");
+       }
+       _gl_thumbs_set_size(data, NULL);
+
+       its = elm_gengrid_realized_items_get(ad->gridinfo.view);
+       GL_CHECK_VAL(its, -1);
+
+       EINA_LIST_FOREACH(its, l, it) {
+               if (it == NULL) {
+                       gl_dbgE("Invalid item!");
+                       continue;
+               }
+
+               gitem = elm_object_item_data_get(it);
+               if (gitem && gitem->item &&gitem->item->image_info &&
+                   gitem->item->image_info->burstshot_id) {
+                       /* Realize burstshot item again */
+                       elm_gengrid_item_update(it);
+               }
+       }
+       return 0;
+}
+
+void _gl_thumbs_change_view(void *data, int prev_x, int current_x)
+{
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       int diff = 0;
+       int w = -1;
+       int h = -1;
+
+       evas_object_geometry_get(ad->maininfo.win, NULL, NULL, &w, &h);
+       int offset = ((w < h) ? (w / 8) : (h / 8));
+       diff = (current_x - prev_x);
+       int view_mode = gl_get_view_mode(ad);
+       if (view_mode == GL_VIEW_THUMBS_EDIT || view_mode == GL_VIEW_THUMBS) {
+               if ((diff + offset) < 0) {
+                       elm_object_signal_emit(ad->gridinfo.layout, "elm,splitview,state,default", "elm");
+                       ad->gridinfo.split_view_mode = DETAIL_VIEW;
+                       _gl_thumbs_set_size(ad, NULL);
+               } else if ((diff - offset) > 0) {
+                       if (ad->gridinfo.split_view_mode != SPLIT_VIEW) {
+                               evas_object_geometry_get(ad->maininfo.win, NULL, NULL, &w, &h);
+                               Edje_Message_Int *msg = (Edje_Message_Int *)malloc(sizeof(Edje_Message_Int) + sizeof(int));
+                               GL_CHECK(msg);
+                               msg->val = ((w < h) ? (w / 3) : (h / 3));
+                               edje_object_message_send(elm_layout_edje_get(ad->gridinfo.layout), EDJE_MESSAGE_INT, 1, msg);
+                               free(msg);
+                               elm_object_signal_emit(ad->gridinfo.layout, "elm,splitview,state,default", "elm");
+                               elm_object_signal_emit(ad->gridinfo.layout, "elm,splitview,state,visible", "elm");
+                               ad->gridinfo.split_view_mode = SPLIT_VIEW;
+                               _gl_thumbs_set_size(ad, NULL);
+                       }
+               }
+               if (view_mode == GL_VIEW_THUMBS_EDIT) {
+                       Edje_Message_Int *msg = (Edje_Message_Int *)malloc(sizeof(Edje_Message_Int) + sizeof(int));
+                       GL_CHECK(msg);
+                       if (ad->gridinfo.split_view_mode == DETAIL_VIEW) {
+                               msg->val = w;
+                       } else {
+                               msg->val = ((w < h) ? (w - (w / 3)) : (w - (h / 3)));
+                       }
+                       gl_dbgE("msg value : %d", msg->val);
+                       edje_object_message_send(elm_layout_edje_get(ad->gridinfo.layout), EDJE_MESSAGE_INT, 2, msg);
+                       free(msg);
+                       elm_object_signal_emit(ad->gridinfo.layout, "elm,selectall,state,visible", "elm");
+               }
+       }
+}
+
+void _gl_thumb_update_split_view_badge(void *data) {
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_CHECK(ad->albuminfo.elist);
+       GL_CHECK(ad->albuminfo.elist->clist);
+       gl_cluster *album_item = NULL;
+       gl_item *item = NULL;
+       int length, i;
+       Eina_List *clist = ad->albuminfo.elist->clist;
+       length = eina_list_count(clist);
+
+       for (i = 0; i < length; i++) {
+               album_item = eina_list_nth(clist, i);
+               if (album_item && album_item->elist) {
+                       EINA_LIST_FREE(album_item->elist, item) {
+                               if (item) {
+                                       item->checked = false;
+                               }
+                       }
+               }
+       }
+}
+
+void _gl_thumb_update_split_view(void *data) {
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       if(ad->gridinfo.update_split_view) {
+
+               if (ad->gridinfo.layout) {
+                       Evas_Object *layout_inner = elm_object_part_content_get(ad->gridinfo.layout, "split.view");
+                       if (!layout_inner) {
+                               gl_dbgE("Failed to add split album view!");
+                       } else {
+                               _create_split_album_view(ad, layout_inner);
+                               elm_object_part_content_set(ad->gridinfo.layout, "split.view", layout_inner);
+                               _gl_thumb_update_split_view_badge(data);
+                       }
+               }
+       } else {
+               ad->gridinfo.update_split_view = true;
+       }
+}
diff --git a/src/gallery.c b/src/gallery.c
new file mode 100644 (file)
index 0000000..b5adb12
--- /dev/null
@@ -0,0 +1,355 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+#include <Evas.h>
+#include <signal.h>
+#include "gl-main.h"
+#include "gl-debug.h"
+#include "gl-ui-util.h"
+#include "gl-lang.h"
+#include "gl-util.h"
+#include "gl-data.h"
+#include "gl-ext-ug-load.h"
+#include "gl-ext-exec.h"
+#include "gl-popup.h"
+#include "gl-entry.h"
+#include "gl-db-update.h"
+#include "gl-albums.h"
+
+/* *
+ * The basic policy of Tizen applications for OOM case is "silent exit" as
+ * Android. Kernel will send SIGTERM signal (standard unix signal) to
+ * background application when OOM happens.
+ * Application should register SIGTERM handler and silently free every
+ * critical resource and exit.
+*/
+
+static bool _gallery_create(void *data);
+static void __gallery_sigterm_handler(int signum)
+{
+       /* do something for signal handling */
+       gl_dbgW(">>>>>>>>>>>>>>>>> SIGTERM >>>>>>>>>>>>>>> Gallery ");
+       elm_exit();
+}
+
+static void _gallery_lang_changed_cb(app_event_info_h event_info, void *data)
+{
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       evas_object_smart_callback_call(ad->maininfo.naviframe,
+                                       "gallery,language,changed", data);
+       /* Change text in APP */
+       _gl_lang_update(data);
+}
+
+static void _gallery_resume(void *data)
+{
+       gl_dbgW("==Resume==");
+
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+
+       evas_object_data_set(ad->maininfo.naviframe,
+               "gl_obj_key_gallery_paused",
+               (void *)0);
+       if (ad->maininfo.b_paused) {
+               evas_object_smart_callback_call(ad->maininfo.naviframe,
+                                               "gallery,view,resumed", data);
+               ad->maininfo.b_paused = false;
+       }
+
+       if (ad->uginfo.b_ug_launched) {
+               elm_object_tree_focus_allow_set(ad->maininfo.layout, EINA_TRUE);
+               elm_object_focus_set(ad->maininfo.layout, EINA_TRUE);
+               ad->uginfo.b_ug_launched = false;
+       }
+
+       //ug_resume();
+
+       /* Video palyer was close when pause Gallery */
+       ad->uginfo.b_app_called = false;
+       _gl_entry_resume_view(ad);
+}
+
+static int _gallery_close_app(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       /* Clear UI */
+       _gl_main_clear_view(ad);
+       /* Destroy Progressbar timer */
+       GL_IF_DEL_TIMER(ad->pbarinfo.pbar_timer);
+       /* Free Ecore_Pipe object created */
+       GL_IF_DEL_PIPE(ad->pbarinfo.sync_pipe);
+       GL_IF_DEL_TIMER(ad->pbarinfo.start_thread_timer);
+       GL_IF_DEL_TIMER(ad->pbarinfo.del_pbar_timer);
+       GL_IF_DEL_TIMER(ad->ctrlinfo.avoid_multi_tap);
+       GL_IF_DEL_JOB(ad->pbarinfo.del_pbar_job);
+       /* Destroy timer for removing popup */
+       GL_IF_DEL_TIMER(ad->popupinfo.del_timer);
+       /* Remove down event handler */
+       GL_IF_DEL_EVENT_HANDLER(ad->maininfo.keydown_handler);
+       /*Remove font type change event handler*/
+       GL_IF_DEL_EVENT_HANDLER(ad->maininfo.font_handler);
+       /*Destroy idler for update mmc status chenged callback*/
+       GL_IF_DEL_IDLER(ad->maininfo.mmc_idler);
+       GL_IF_DEL_TIMER(ad->maininfo.reg_idler);
+       /* deregister notify */
+       _gl_dereg_storage_state_change_notify(data);
+#ifdef _USE_SVI
+       /* Finallize svi */
+       _gl_fini_svi(data);
+#endif
+       /* dlopen imageviewer lib */
+       _gl_dlclose_imageviewer(data);
+       /* Remove db monitor */
+       _gl_db_update_finalize(data);
+       /* disconnet with libmedia-info */
+       _gl_data_finalize(ad);
+
+       gl_dbgW("==Cleaning done==");
+       return 0;
+}
+
+static void _gallery_terminate(void *data)
+{
+       gl_dbgW("==Terminate==");
+       GL_CHECK(data);
+       _gallery_close_app(data);
+}
+
+/*
+static void __gl_albums_sel_cb(void *data, int type, void *ei)
+{
+       GL_CHECK(data);
+       gl_cluster *album_item = (gl_cluster *)data;
+       GL_CHECK(album_item->cluster);
+       GL_CHECK(album_item->ad);
+       gl_appdata *ad = (gl_appdata *)album_item->ad;
+       int view_mode = gl_get_view_mode(ad);
+//     elm_gengrid_item_selected_set(ei, EINA_FALSE);
+
+       gl_dbg("view mode: %d.", view_mode);
+       if (view_mode != GL_VIEW_ALBUMS_EDIT) {
+               if (album_item->cluster->count == 0) {
+                       gl_dbgW("Empty album, return!");
+                       return;
+               }
+               gl_albums_open_album(album_item);
+       }
+}
+*/
+
+static Eina_Bool __gallery_key_down_cb(void *data, int type, void *event)
+{
+       if (!data) {
+               gl_dbgE("Invalid parameter!");
+               return ECORE_CALLBACK_PASS_ON;
+       }
+
+       Ecore_Event_Key *key_event = (Ecore_Event_Key *)event;
+
+       if (!key_event) {
+               return ECORE_CALLBACK_PASS_ON;
+       }
+       if (!g_strcmp0(key_event->keyname, "XF86PowerOff")) {
+               gl_sdbgW("Power key");
+       } else if (!g_strcmp0(key_event->keyname, "XF86Menu")) {
+               gl_sdbgW("menu key is pressed");
+       }       gl_sdbg("Key down : %s", key_event->keyname);
+
+       return ECORE_CALLBACK_PASS_ON;
+}
+
+static void _gallery_low_battery_cb(app_event_info_h event_info, void *data)
+{
+       gl_dbg("");
+
+       /* ug_send_event(UG_EVENT_LOW_BATTERY); */
+       /* 0 : default handler, 1:user handler */
+}
+
+static bool _gallery_create(void *data)
+{
+       GL_PROFILE_IN;
+       gl_dbgW("==Create==");
+       GL_CHECK_FALSE(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       ad->maininfo.reentrant = TRUE;
+       ad->uginfo.b_ug_launched = false;
+
+       /* regitering sigterm  */
+       if (signal(SIGTERM, __gallery_sigterm_handler) == SIG_IGN) {
+               gl_dbgW("SIG_IGN");
+               signal(SIGTERM, SIG_IGN);
+       }
+       bindtextdomain(PACKAGE, "/usr/apps/org.tizen.gallery/res/locale");
+#ifdef _USE_OPENGL_BACKEND
+       elm_config_preferred_engine_set("opengl_x11");
+#else
+       elm_config_preferred_engine_set("software_x11");
+#endif
+       /* initialize gallery main view(layout) */
+       if (_gl_main_create_view(data) != 0) {
+               gl_dbgE("_gl_main_create_view failed");
+               return false;
+       }
+
+       GL_PROFILE_F_IN("register noti callback");
+       /* memory malloc */
+       _gl_db_update_init(data);
+       /* initialize notify */
+       _gl_reg_storage_state_change_notify(data);
+       /* Register key down handler */
+
+       ad->maininfo.keydown_handler = ecore_event_handler_add(
+               ECORE_EVENT_KEY_DOWN,
+               __gallery_key_down_cb,
+               data);
+
+       GL_PROFILE_F_OUT("register noti callback");
+       GL_PROFILE_OUT;
+       return true;
+}
+
+static void _gallery_pause(void *data)
+{
+       gl_dbgW("==Pause==");
+
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       ad->maininfo.reentrant = TRUE;
+
+       evas_object_data_set(ad->maininfo.naviframe,
+               "gl_obj_key_gallery_paused",
+               (void *)1);
+       evas_object_smart_callback_call(ad->maininfo.naviframe,
+                                       "gallery,view,paused", data);
+       ad->maininfo.b_paused = true;
+
+       //ug_pause();
+}
+
+
+/* analysis parameters */
+static int __gallery_parse_param(void *data, app_control_h service)
+{
+       GL_CHECK_VAL(service, -1);
+       GL_CHECK_VAL(data, -1);
+       gl_dbg("");
+
+       char *value = NULL;
+       app_control_get_extra_data(service,
+               "http://tizen.org/appcontrol/data/multiwindow", &value);
+       if (value) {
+               if (!strcmp(value, "on")) {
+                       gl_dbg("multiwindow value = %s", value);
+               }
+               free(value);
+       }
+
+       return -1;
+}
+
+static void _gallery_reset(app_control_h service, void *data)
+{
+       GL_PROFILE_IN;
+       gl_dbgW("==Reset==");
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_CHECK(ad->maininfo.win);
+
+       if (ad->maininfo.reentrant) {
+               ad->maininfo.reentrant = FALSE;
+       } else {
+               gl_dbgW("Gallery reentrant is not allowed!");
+               return;
+       }
+
+       if (ad->maininfo.b_paused) {
+               evas_object_smart_callback_call(ad->maininfo.naviframe,
+                                               "gallery,view,resumed", data);
+               ad->maininfo.b_paused = false;
+       }
+
+       /* Parse parameters */
+       if (__gallery_parse_param(data, service) != 0) {
+               int view_m = gl_get_view_mode(ad);
+               gl_dbg("view_m: %d", view_m);
+
+               /* Launch Gallery at the first time */
+               if (view_m == GL_VIEW_NONE) {
+                       _gl_main_update_view(ad);
+               } else {
+                       /* Step: Settings>gengeral>storage>pictures,videos */
+                       gl_dbgW("Checkme: Need to Update view????");
+                       /* gl_update_view(ad, GL_UPDATE_VIEW_NORMAL); */
+               }
+               elm_win_activate(ad->maininfo.win);
+               GL_PROFILE_OUT;
+               return;
+       }
+
+       _gl_main_reset_view(data);
+       GL_PROFILE_OUT;
+}
+
+EXPORT_API int main(int argc, char *argv[])
+{
+       gl_dbgW("==Gallery==");
+       gl_appdata gl_ad;
+       int ret = APP_ERROR_NONE;
+
+       ui_app_lifecycle_callback_s event_callback;
+
+       app_event_handler_h hLowBatteryHandle;
+       app_event_handler_h hLanguageChangedHandle;
+
+       event_callback.create = _gallery_create;
+       event_callback.terminate = _gallery_terminate;
+       event_callback.pause = _gallery_pause;
+       event_callback.resume = _gallery_resume;
+       event_callback.app_control = _gallery_reset;
+
+       ret = ui_app_add_event_handler(&hLowBatteryHandle,
+               APP_EVENT_LOW_BATTERY, _gallery_low_battery_cb, (void *)&gl_ad);
+       if (ret != APP_ERROR_NONE) {
+               gl_dbgE("failed to add LOW_BATTERY event_handler: [%d]", ret);
+               return -1;
+       }
+
+       ret = ui_app_add_event_handler(&hLanguageChangedHandle,
+               APP_EVENT_LANGUAGE_CHANGED, _gallery_lang_changed_cb,
+               (void *)&gl_ad);
+       if (ret != APP_ERROR_NONE) {
+               gl_dbgE("failed to add LANGUAGE_CHANGED event_handler: [%d]",
+                       ret);
+               return -1;
+       }
+       /* Enable OpenGL */
+       /* 2013.06.20
+        * Use elm_config_preferred_engine_set to enable OpenGL as the backend
+        * of EFL. */
+       /*setenv("ELM_ENGINE", "gl", 1);*/
+
+       memset(&gl_ad, 0x00, sizeof(gl_appdata));
+
+       ret = ui_app_main(argc, argv, &event_callback, &gl_ad);
+
+       gl_dbgW("==Gallery gone==");
+       return ret;
+}
+
diff --git a/src/util/gl-db-update.c b/src/util/gl-db-update.c
new file mode 100644 (file)
index 0000000..6450b3e
--- /dev/null
@@ -0,0 +1,306 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#include <media_content.h>
+#include "gallery.h"
+#include "gl-util.h"
+#include "gl-debug.h"
+#include "gl-db-update.h"
+#include "gl-data.h"
+
+#define GL_MONITOE_TIME_DELAY 1.0f
+
+typedef enum
+{
+       GL_DU_LOCK_NONE,
+       GL_DU_LOCK_ONCE,
+       GL_DU_LOCK_ALWAYS,
+} gl_du_lock_e;
+
+struct gl_db_noti_t {
+       void *ad;
+       Ecore_Timer *db_timer; /*For update db data*/
+       /*Make ture calling db update callback after other operations complete*/
+       Ecore_Idler *db_idl;
+       //media_content_noti_h cloud_h; /* Notify handle fro cloud content updating in DB */
+       gl_du_lock_e lock_state; /*For update db data. If delete/rename operation of gallery, doesn't update*/
+       int count; /* All media count got from DB */
+
+       media_content_db_update_item_type_e update_item;
+       media_content_db_update_type_e update_type;
+       GList *uuids;
+};
+
+static Eina_Bool __gl_db_update_idler(void *data)
+{
+       GL_CHECK_FALSE(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_CHECK_FALSE(ad->db_noti_d);
+       gl_db_noti_s *db_noti = ad->db_noti_d;
+       gl_update_view(ad, GL_UPDATE_VIEW_INOTIFY);
+       evas_object_smart_callback_call(ad->maininfo.naviframe,
+                                       "gallery,db,data,updated", data);
+       GL_IF_DEL_IDLER(db_noti->db_idl);
+       return ECORE_CALLBACK_CANCEL;
+}
+
+static Eina_Bool __gl_db_update_timer_cb(void *data)
+{
+       GL_CHECK_FALSE(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_CHECK_FALSE(ad->db_noti_d);
+       gl_db_noti_s *db_noti = ad->db_noti_d;
+
+       gl_dbg("db_update[%d]", db_noti->lock_state);
+       if (db_noti->lock_state) {
+               gl_dbgW("Don't update, locked!");
+               if (db_noti->lock_state == GL_DU_LOCK_ONCE)
+                       db_noti->lock_state = GL_DU_LOCK_NONE;
+       } else {
+               GL_IF_DEL_IDLER(db_noti->db_idl);
+               db_noti->db_idl = ecore_idler_add(__gl_db_update_idler, data);
+       }
+
+       GL_IF_DEL_TIMER(db_noti->db_timer);
+       return ECORE_CALLBACK_CANCEL;
+}
+
+static int __gl_db_update_op(media_content_error_e error, int pid,
+                            media_content_db_update_item_type_e update_item,
+                            media_content_db_update_type_e update_type,
+                            media_content_type_e media_type, char *uuid,
+                            char *path, char *mime_type, void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_CHECK_VAL(ad->db_noti_d, -1);
+       gl_db_noti_s *db_noti = ad->db_noti_d;
+
+       if (MEDIA_CONTENT_ERROR_NONE != error) {
+               gl_dbgE("Update db error[%d]!", error);
+               return -1;
+       }
+       if (update_item == MEDIA_ITEM_FILE &&
+           MEDIA_CONTENT_TYPE_IMAGE != media_type &&
+           MEDIA_CONTENT_TYPE_VIDEO != media_type) {
+               gl_dbg("Media type is wrong");
+               return -1;
+       } else if (update_item == MEDIA_ITEM_DIRECTORY) {
+               /* Batch operation, DB wouldn't return media type  */
+               int cnt = 0;
+               int ret = -1;
+               ret = _gl_data_get_item_cnt(GL_ALBUM_ALL_ID, GL_STORE_T_ALL, &cnt);
+               if (ret != 0 || cnt == 0) {
+                       gl_dbgE("Empty!");
+               }
+               gl_dbg("old: %d, new: %d", db_noti->count, cnt);
+               if (cnt == db_noti->count) {
+                       gl_dbg("Nothing changed");
+                       if (path) {
+                               gl_album_s *album = NULL;
+                               _gl_local_data_get_album_by_path(path, &album);
+                               if (!album) {
+                                       return -1;
+                               } else {
+                                       _gl_data_type_free_glitem((void **)&album);
+                                       gl_dbgW("Updated album contains images");
+                               }
+                       } else {
+                               return -1;
+                       }
+               }
+       }
+
+       db_noti->update_item = update_item;
+       db_noti->update_type = update_type;
+       if (uuid && update_item == MEDIA_ITEM_FILE &&
+           update_type == MEDIA_CONTENT_DELETE) {
+               gl_dbgW("Append: %s", uuid);
+               db_noti->uuids = g_list_append(db_noti->uuids, (gpointer)g_strdup(uuid));
+       }
+
+       _gl_db_update_add_timer(data);
+       return 0;
+}
+
+static void __gl_db_update_cb(media_content_error_e error, int pid,
+                             media_content_db_update_item_type_e update_item,
+                             media_content_db_update_type_e update_type,
+                             media_content_type_e media_type, char *uuid,
+                             char *path, char *mime_type, void *data)
+{
+       gl_dbg("update_item[%d], update_type[%d], media_type[%d]", update_item,
+              update_type, media_type);
+       GL_CHECK(data);
+       gl_dbg("uuid[%s], path[%s]", uuid, path);
+       __gl_db_update_op(error, pid, update_item, update_type, media_type,
+                         uuid, path, mime_type, data);
+}
+
+/*
+static void __gl_db_update_coud_cb(media_content_error_e error, int pid,
+                                  media_content_db_update_item_type_e update_item,
+                                  media_content_db_update_type_e update_type,
+                                  media_content_type_e media_type, char *uuid,
+                                  char *path, char *mime_type, void *data)
+{
+       gl_dbg("update_item[%d], update_type[%d], media_type[%d]", update_item,
+              update_type, media_type);
+       GL_CHECK(data);
+       __gl_db_update_op(error, pid, update_item, update_type, media_type,
+                         uuid, path, mime_type, data);
+}
+*/
+
+int _gl_db_update_add_timer(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_CHECK_VAL(ad->db_noti_d, -1);
+       gl_db_noti_s *db_noti = ad->db_noti_d;
+
+       GL_IF_DEL_TIMER(db_noti->db_timer);
+       db_noti->db_timer = ecore_timer_add(GL_MONITOE_TIME_DELAY,
+                                           __gl_db_update_timer_cb, data);
+       gl_dbgW("TIMER[1.0f] added!");
+       return 0;
+}
+
+bool _gl_db_update_lock_once(void *data, bool status)
+{
+       gl_dbg("");
+       GL_CHECK_FALSE(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_CHECK_FALSE(ad->db_noti_d);
+       gl_db_noti_s *db_noti = ad->db_noti_d;
+       if (status)
+               db_noti->lock_state = GL_DU_LOCK_ONCE;
+       else
+               db_noti->lock_state = GL_DU_LOCK_NONE;
+       return true;
+}
+
+bool _gl_db_update_lock_always(void *data, bool status)
+{
+       gl_dbg("");
+       GL_CHECK_FALSE(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_CHECK_FALSE(ad->db_noti_d);
+       gl_db_noti_s *db_noti = ad->db_noti_d;
+       if (status)
+               db_noti->lock_state = GL_DU_LOCK_ALWAYS;
+       else
+               db_noti->lock_state = GL_DU_LOCK_NONE;
+       return true;
+}
+
+bool _gl_db_update_set_count(void *data, int count)
+{
+       gl_dbg("count: %d", count);
+       GL_CHECK_FALSE(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_CHECK_FALSE(ad->db_noti_d);
+       gl_db_noti_s *db_noti = ad->db_noti_d;
+       db_noti->count = count;
+       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)
+{
+       GL_CHECK_FALSE(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_CHECK_FALSE(ad->db_noti_d);
+       int ret = -1;
+
+       gl_dbg("Set db updated callback");
+       ret = media_content_set_db_updated_cb(__gl_db_update_cb, data);
+       if (ret != MEDIA_CONTENT_ERROR_NONE)
+               gl_dbgE("Set db updated cb failed[%d]!", ret);
+//     ret = media_content_set_db_updated_cloud_cb(&(ad->db_noti_d->cloud_h),
+//                                                 __gl_db_update_coud_cb,
+//                                                 data);
+//     if (ret != MEDIA_CONTENT_ERROR_NONE)
+//             gl_dbgE("Set db updated cloud cb failed[%d]!", ret);
+       return true;
+}
+
+/* calloc memory */
+bool _gl_db_update_init(void *data)
+{
+       GL_CHECK_FALSE(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       gl_db_noti_s *db_noti = (gl_db_noti_s *)calloc(1, sizeof(gl_db_noti_s));
+       GL_CHECK_FALSE(db_noti);
+
+       ad->db_noti_d = db_noti;
+       gl_dbg("DB updated intialization");
+       return true;
+}
+
+bool _gl_db_update_finalize(void *data)
+{
+       int ret = -1;
+       gl_dbg("Unset db updated callback");
+
+       ret = media_content_unset_db_updated_cb();
+       if (ret != MEDIA_CONTENT_ERROR_NONE)
+               gl_dbgE("UNSet db updated cb failed[%d]!", ret);
+
+       GL_CHECK_FALSE(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_CHECK_FALSE(ad->db_noti_d);
+       gl_db_noti_s *db_noti = ad->db_noti_d;
+
+//     if (ad->db_noti_d->cloud_h) {
+//             ret = media_content_unset_db_updated_cloud_cb(ad->db_noti_d->cloud_h);
+//             if (ret != MEDIA_CONTENT_ERROR_NONE)
+//                     gl_dbgE("UNSet db updated cloud cb failed[%d]!", ret);
+//             ad->db_noti_d->cloud_h = NULL;
+//     }
+       if (db_noti->uuids) {
+               g_list_free_full(db_noti->uuids, g_free);
+               db_noti->uuids = NULL;
+       }
+       GL_IF_DEL_TIMER(db_noti->db_timer);
+       GL_IF_DEL_IDLER(db_noti->db_idl);
+       GL_FREE(ad->db_noti_d);
+       return true;
+}
+
+
diff --git a/src/util/gl-debug.c b/src/util/gl-debug.c
new file mode 100644 (file)
index 0000000..b00cdb0
--- /dev/null
@@ -0,0 +1,32 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#include <unistd.h>
+#include <string.h>
+
+#include "gl-debug.h"
+
+#ifdef _USE_LOG_FILE_
+static FILE *g_log_fp = NULL;
+static char _g_file_path[12285] = { 0, };
+#endif
+
+#ifdef _PERFORMANCE_CHECK_
+static long g_time_usec = 0L;
+#endif
+
+/* EOF */
diff --git a/src/util/gl-exif.c b/src/util/gl-exif.c
new file mode 100644 (file)
index 0000000..1d0ac73
--- /dev/null
@@ -0,0 +1,1481 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+/**
+ * The Exif specification defines an Orientation Tag to indicate the orientation of the
+ * camera relative to the captured scene. This can be used by the camera either to
+ * indicate the orientation automatically by an orientation sensor,
+ * or to allow the user to indicate the orientation manually by a menu switch,
+ * without actually transforming the image data itself.
+ * Here is an explanation given by TsuruZoh Tachibanaya in
+ * his description of the Exif file format:
+ *
+ * The orientation of the camera relative to the scene, when the image was captured.
+ * The relation of the '0th row' and '0th column' to visual position is shown as below.
+ *
+ * Value        0th Row                0th Column
+ *   1   top             left side
+ *   2   top             right side
+ *   3   bottom                  right side
+ *   4   bottom                  left side
+ *   5   left side          top
+ *   6   right side        top
+ *   7   right side        bottom
+ *   8   left side          bottom
+ *
+ * Read this table as follows (thanks to Peter Nielsen for clarifying this - see also below):
+ * Entry #6 in the table says that the 0th row in the stored image is the right side of
+ * the captured scene, and the 0th column in the stored image is the top side of
+ * the captured scene.
+ *
+ * Here is another description given by Adam M. Costello:
+ *
+ * For convenience, here is what the letter F would look like if it were tagged correctly
+ * and displayed by a program that ignores the orientation tag
+ * (thus showing the stored image):
+ *
+ *       1             2         3      4            5                 6                   7                  8
+ *
+ *  888888  888888       88    88      8888888888  88                             88  8888888888
+ *  88               88        88    88      88  88          88  88                  88  88          88  88
+ *  8888        8888     8888   8888   88                8888888888  8888888888               88
+ *  88               88        88    88
+ *  88               88  888888   888888
+*/
+
+#ifdef _USE_ROTATE_BG
+
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+#include <Elementary.h>
+#include "gl-exif.h"
+#include "gl-debug.h"
+#include "gallery.h"
+#include "gl-file-util.h"
+
+#define GL_EXIF_BUF_LEN_MAX 65536L
+#define GL_EXIF_BUF_TIME_LEN_MAX 20
+#define GL_EXIF_DEFAULT_YEAR 1900
+
+#define GL_EXIF_SOI 0xD8
+#define GL_EXIF_TAG 0xFF
+#define GL_EXIF_APP0 0xE0
+#define GL_EXIF_APP1 0xE1
+#define GL_EXIF_JFIF_00 0x00
+#define GL_EXIF_JFIF_01 0x01
+#define GL_EXIF_JFIF_02 0x02
+
+#define GL_EXIF_IFD_DATA_FORMAT_UNSIGNED_BYTE 1
+#define GL_EXIF_IFD_DATA_FORMAT_ASCII_STRINGS 1
+#define GL_EXIF_IFD_DATA_FORMAT_UNSIGNED_SHORT 2
+#define GL_EXIF_IFD_DATA_FORMAT_UNSIGNED_LONG 4
+#define GL_EXIF_IFD_DATA_FORMAT_UNSIGNED_RATIONAL 8
+#define GL_EXIF_IFD_DATA_FORMAT_SIGNED_BYTE 1
+#define GL_EXIF_IFD_DATA_FORMAT_UNDEFINED 1
+#define GL_EXIF_IFD_DATA_FORMAT_SIGNED_SHORT 2
+#define GL_EXIF_IFD_DATA_FORMAT_SIGNED_LONG 4
+#define GL_EXIF_IFD_DATA_FORMAT_SIGNED_RATIONAL 8
+#define GL_EXIF_IFD_DATA_FORMAT_SIGNED_FLOAT 4
+#define GL_EXIF_IFD_DATA_FORMAT_DOUBLE_FLOAT 8
+
+#define GL_EXI_TMP_JPEG_FILE GL_DATA_FOLDER_PATH"/.gallery_tmp_write_exif.jpg"
+
+/* Write one byte, testing for EOF */
+static int __gl_exif_write_1_byte(FILE *fd, int c)
+{
+       if (fputc(c, fd) < 0) {
+               gl_dbgE("fputc failed!");
+               return -1;
+       }
+
+       return 0;
+}
+
+/* Read one byte, testing for EOF */
+static int __gl_exif_read_1_byte(FILE *fd)
+{
+       int c = 0;
+
+       /* Return next input byte, or EOF if no more */
+       c = getc(fd);
+       if (c == EOF) {
+               gl_dbgE("Premature EOF in JPEG file!");
+               return -1;
+       }
+
+       return c;
+}
+
+/* Read 2 bytes, convert to unsigned int */
+/* All 2-byte quantities in JPEG markers are MSB first */
+static int __gl_exif_read_2_bytes(FILE *fd, unsigned int *len)
+{
+       int c1 = 0;
+       int c2 = 0;
+
+       /* Return next input byte, or EOF if no more */
+       c1 = getc(fd);
+       if (c1 == EOF) {
+               gl_dbgE("Premature EOF in JPEG file!");
+               return -1;
+       }
+
+       /* Return next input byte, or EOF if no more */
+       c2 = getc(fd);
+       if (c2 == EOF) {
+               gl_dbgE("Premature EOF in JPEG file!");
+               return -1;
+       }
+
+       if (len)
+               *len = (((unsigned int)c1) << 8) + ((unsigned int)c2);
+
+       return 0;
+}
+
+/* Add raw exif tag and data */
+static int __gl_exif_add_header(FILE *fd, unsigned int *orientation)
+{
+       GL_CHECK_VAL(orientation, -1);
+       GL_CHECK_VAL(fd, -1);
+       int i = 0;
+       int ret = -1;
+       char *time_buf = NULL;
+       unsigned int offset = 0;
+
+       /* raw EXIF header data */
+       const unsigned char exif1[] = {
+               GL_EXIF_TAG, GL_EXIF_SOI, GL_EXIF_TAG, GL_EXIF_APP1
+       };
+       /* Write File head, check for JPEG SOI + Exif APP1 */
+       for (i = 0; i < 4; i++) {
+               if (__gl_exif_write_1_byte(fd, exif1[i]) < 0)
+                       goto GL_EXIF_FAILED;
+       }
+       /* SET the marker parameter length count */
+       /* Length includes itself, so must be at least 2
+           Following Exif data length must be at least 6; 30+36 bytes*/
+       const unsigned char exif2[] = { 0x00, 0x42 };
+       for (i = 0; i < 2; i++) {
+               if (__gl_exif_write_1_byte(fd, exif2[i]) < 0)
+                       goto GL_EXIF_FAILED;
+       }
+
+       /* Write Exif head -- "Exif" */
+       const unsigned char exif3[] = { 0x45, 0x78, 0x69, 0x66, 0x00, 0x00 };
+       for (i = 0; i < 6; i++) {
+               if (__gl_exif_write_1_byte(fd, exif3[i]) < 0)
+                       goto GL_EXIF_FAILED;
+       }
+
+       /* Set byte order and Tag Mark , "II(0x4949)" */
+       const unsigned char exif4[] = { 0x49, 0x49, 0x2A, 0x00 };
+       for (i = 0; i < 4; i++) {
+               if (__gl_exif_write_1_byte(fd, exif4[i]) < 0)
+                       goto GL_EXIF_FAILED;
+       }
+       offset += 4;
+
+       /* Set first IFD offset (offset to IFD0) , II-08000000 */
+       const unsigned char exif5[] = { 0x08, 0x00, 0x00, 0x00 };
+       for (i = 0; i < 4; i++) {
+               if (__gl_exif_write_1_byte(fd, exif5[i]) < 0)
+                       goto GL_EXIF_FAILED;
+       }
+       offset += 4;
+
+       /* IFD: Image File Directory */
+       /* Set the number of directory entries contained in this IFD, - EEEE ;
+         * 2 entry: orientation, data time */
+       const unsigned char exif6[] = { 0x02, 0x00 };
+       for (i = 0; i < 2; i++) {
+               if (__gl_exif_write_1_byte(fd, exif6[i]) < 0)
+                       goto GL_EXIF_FAILED;
+       }
+       offset += 2;
+
+       /* Add Orientation Tag in IFD0; 0x0112 */
+       const unsigned char exif7[] = { 0x12, 0x01 };
+       for (i = 0; i < 2; i++) {
+               if (__gl_exif_write_1_byte(fd, exif7[i]) < 0)
+                       goto GL_EXIF_FAILED;
+       }
+       offset += 2;
+
+       gl_dbg("Write: %d", *orientation);
+       const unsigned char exif8[] = { 0x03, 0x00, 0x01, 0x00, 0x00, 0x00 };
+       for (i = 0; i < 6; i++) {
+               if (__gl_exif_write_1_byte(fd, exif8[i]) < 0)
+                       goto GL_EXIF_FAILED;
+       }
+       offset += 6;
+
+       /* Set the Orientation value */
+       if (__gl_exif_write_1_byte(fd, (unsigned char)(*orientation)) < 0)
+               goto GL_EXIF_FAILED;
+
+       const unsigned char exif9[] = { 0x00, 0x00, 0x00 };
+       for (i = 0; i < 3; i++) {
+               if (__gl_exif_write_1_byte(fd, exif9[i]) < 0)
+                       goto GL_EXIF_FAILED;
+       }
+       offset += 4;
+
+       /* Add Data Time Tag in IFD0; 0x0132 */
+       const unsigned char exif10[] = { 0x32, 0x01 };
+       for (i = 0; i < 2; i++) {
+               if (__gl_exif_write_1_byte(fd, exif10[i]) < 0)
+                       goto GL_EXIF_FAILED;
+       }
+       offset += 2;
+
+       /* Type: strings */
+       const unsigned char exif11[] = { 0x02, 0x00 };
+       for (i = 0; i < 2; i++) {
+               if (__gl_exif_write_1_byte(fd, exif11[i]) < 0)
+                       goto GL_EXIF_FAILED;
+       }
+       offset += 2;
+
+       /* Data lengh, byte count */
+       const unsigned char exif12[] = { 0x14, 0x00, 0x00, 0x00 };
+       for (i = 0; i < 4; i++) {
+               if (__gl_exif_write_1_byte(fd, exif12[i]) < 0)
+                       goto GL_EXIF_FAILED;
+       }
+       offset += 8;
+
+       /* 20 bytes larger than 4 bytes,
+         * so next 4 bytes is data offset start from "II"(0x4949)*/
+
+       gl_dbg("offset: %2X", offset + 8);
+       /* Too add data offset, plus 4 bytes self and plus 4 bytes IFD terminator */
+       if (__gl_exif_write_1_byte(fd, (unsigned char)(offset + 4)) < 0)
+               goto GL_EXIF_FAILED;
+
+       const unsigned char exif13[] = { 0x00, 0x00, 0x00 };
+       for (i = 0; i < 3; i++) {
+               if (__gl_exif_write_1_byte(fd, exif13[i]) < 0)
+                       goto GL_EXIF_FAILED;
+       }
+
+       /*After last directory entry, there is a 4bytes of data('LLLLLLLL' at the chart),
+         * it means an offset to next IFD. If its value is '0x00000000',
+         * it means this is the last IFD and there is no linked IFD */
+       const unsigned char exif14[] = { 0x00, 0x00, 0x00, 0x00 };
+       for (i = 0; i < 4; i++) {
+               if (__gl_exif_write_1_byte(fd, exif14[i]) < 0)
+                       goto GL_EXIF_FAILED;
+       }
+
+       /* Date Time of image was last modified.
+         * Data format is "YYYY:MM:DD HH:MM:SS"+0x00, total 20bytes
+         */
+       time_t t;
+       struct tm tms;
+       struct tm *tm;
+
+       t = time (NULL);
+       tm = localtime_r(&t, &tms);
+       if (!tm) {
+               gl_dbgE("Faild to allocate memory!");
+               goto GL_EXIF_FAILED;
+       }
+
+       time_buf = (char *)calloc(1, GL_EXIF_BUF_TIME_LEN_MAX);
+       if (!time_buf) {
+               gl_dbgE("Faild to allocate memory!");
+               goto GL_EXIF_FAILED;
+       }
+       snprintf(time_buf, GL_EXIF_BUF_TIME_LEN_MAX,
+                "%04i:%02i:%02i %02i:%02i:%02i",
+                tm->tm_year + GL_EXIF_DEFAULT_YEAR, tm->tm_mon + 1,
+                tm->tm_mday, tm->tm_hour, tm->tm_min, tm->tm_sec);
+
+       gl_dbg("time_buf: %s", time_buf);
+       if (fwrite(time_buf, 1, GL_EXIF_BUF_TIME_LEN_MAX, fd) != GL_EXIF_BUF_TIME_LEN_MAX) {
+               gl_dbgW("Write size are diff!");
+               goto GL_EXIF_FAILED;
+       }
+
+       ret = 0;
+
+ GL_EXIF_FAILED:
+
+       gl_dbg("All done");
+       GL_FREEIF(time_buf);
+       return ret;
+}
+
+/* Add exif to jfif , don't have exif */
+static int __gl_exif_add_exif_to_jfif(char *file_path, unsigned int *orientation)
+{
+       GL_CHECK_VAL(orientation, -1);
+       GL_CHECK_VAL(file_path, -1);
+       unsigned char tmp[GL_EXIF_BUF_LEN_MAX] = { 0, };
+       FILE *fd = NULL;
+       int ret = -1;
+
+       if ((fd = fopen(file_path, "rb+")) == NULL) {
+               gl_sdbgE("Can't open %s!", file_path);
+               return -1;
+       }
+
+       char *tmp_file = GL_EXI_TMP_JPEG_FILE;
+       FILE *tmp_fd = NULL;
+       if ((tmp_fd = fopen(tmp_file, "wb+")) == NULL) {
+               gl_dbgE("Can't open %s!", tmp_file);
+               goto GL_EXIF_FAILED;
+       }
+
+       /* Add raw EXIF header data */
+       if (__gl_exif_add_header(tmp_fd, orientation) < 0)
+               goto GL_EXIF_FAILED;
+
+       size_t r_size = 0;
+       /* Remove start of JPEG image data section, 20 bytes */
+       r_size = fread(tmp, sizeof(char), 20, fd);
+
+       memset(tmp, 0x00, GL_EXIF_BUF_LEN_MAX);
+       /* Write JPEG image data to tmp file after EXIF header */
+       while ((r_size = fread(tmp, 1, sizeof(tmp), fd)) > 0) {
+               gl_dbg("r_size: %ld", r_size);
+               if (fwrite(tmp, 1, r_size, tmp_fd) != r_size)
+                       gl_dbgW("Write and read size are diff!");
+
+               memset(tmp, 0x00, GL_EXIF_BUF_LEN_MAX);
+       }
+
+       fclose(fd);
+       fd = fopen(file_path, "wb");
+       if (!fd) {
+               gl_sdbgE("Error creating file %s!", file_path);
+               goto GL_EXIF_FAILED;
+       }
+
+       memset(tmp, 0x00, GL_EXIF_BUF_LEN_MAX);
+       /* Write back tmp file after to JPEG image */
+       fseek(tmp_fd, 0, SEEK_SET);
+       while ((r_size = fread(tmp, 1, sizeof(tmp), tmp_fd)) > 0) {
+               gl_dbg("r_size: %ld", r_size);
+               if (fwrite(tmp, 1, r_size, fd) != r_size)
+                       gl_dbgW("Write and read size are diff!");
+
+               memset(tmp, 0x00, GL_EXIF_BUF_LEN_MAX);
+       }
+
+       ret = 0;
+
+ GL_EXIF_FAILED:
+
+       if (fd)
+               fclose(fd);
+       if (tmp_fd)
+               fclose(tmp_fd);
+
+       /* Delete tmp file */
+       if (!gl_file_unlink(tmp_file))
+               gl_dbgE("Delete file failed");
+
+       gl_dbg("All done");
+       return ret;
+}
+
+
+
+/* Add  orientation tag to jpegs which have exif tag but do not have orientation tag: include jfif and exif*/
+static int __gl_exif_add_orientation_tag(char *file_path,
+                                               unsigned int *orientation) {
+
+       GL_CHECK_VAL(orientation, -1);
+       GL_CHECK_VAL(file_path, -1);
+       unsigned char tmp[GL_EXIF_BUF_LEN_MAX] = { 0, };
+       FILE *fd = NULL;
+       int ret = -1;
+       int tmp_exif = -1;
+       int i = 0;
+       unsigned int length = 0;
+       bool is_motorola = false; /* Flag for byte order */
+       unsigned int offset = 0;
+       size_t r_size = 0;
+       const unsigned char ifd_data_format[13] = {
+               /*add 0 to ifd_data_format[0] ,for  easy to use*/
+               0,
+               GL_EXIF_IFD_DATA_FORMAT_UNSIGNED_BYTE,
+               GL_EXIF_IFD_DATA_FORMAT_ASCII_STRINGS,
+               GL_EXIF_IFD_DATA_FORMAT_UNSIGNED_SHORT,
+               GL_EXIF_IFD_DATA_FORMAT_UNSIGNED_LONG,
+               GL_EXIF_IFD_DATA_FORMAT_UNSIGNED_RATIONAL,
+               GL_EXIF_IFD_DATA_FORMAT_SIGNED_BYTE,
+               GL_EXIF_IFD_DATA_FORMAT_UNDEFINED,
+               GL_EXIF_IFD_DATA_FORMAT_SIGNED_SHORT,
+               GL_EXIF_IFD_DATA_FORMAT_SIGNED_LONG,
+               GL_EXIF_IFD_DATA_FORMAT_SIGNED_RATIONAL,
+               GL_EXIF_IFD_DATA_FORMAT_SIGNED_FLOAT,
+               GL_EXIF_IFD_DATA_FORMAT_DOUBLE_FLOAT
+
+       };
+
+       if ((fd = fopen(file_path, "rb+")) == NULL) {
+               gl_sdbgE("Can't open %s!", file_path);
+               return -1;
+       }
+
+       char *tmp_file = GL_EXI_TMP_JPEG_FILE;
+       FILE *tmp_fd = NULL;
+       if ((tmp_fd = fopen(tmp_file, "wb+")) == NULL) {
+               gl_dbgE("Can't open %s!", tmp_file);
+               goto GL_EXIF_FAILED;
+       }
+       /* Find APP1 */
+       bool b_tag_ff = false;
+       while (1) {
+               tmp_exif = __gl_exif_read_1_byte(fd);
+               if (tmp_exif < 0)
+                       goto GL_EXIF_FAILED;
+
+               /*copy data from jpeg to tmp_fd (from "FF D8" to " FF E1",because those data we needn't modify)*/
+               if (__gl_exif_write_1_byte(tmp_fd, tmp_exif) < 0)
+                       goto GL_EXIF_FAILED;
+
+               tmp[0] = (unsigned char)tmp_exif;
+
+               gl_dbg("- %02X", tmp[0]);
+               if (!b_tag_ff) {
+                       /* Get first tag */
+                       if (tmp[0] == GL_EXIF_TAG) {
+                               gl_dbgW("0xFF!");
+                               b_tag_ff = true;
+                       }
+                       continue;
+               }
+
+               /* Get APP1 */
+               if (tmp[0] == GL_EXIF_APP1) {
+                       gl_dbgW("Exif in APP1!");
+                       break;
+               } else {
+                       gl_dbgW("0x%02X!",tmp[0]);
+                       b_tag_ff = false;
+               }
+       }
+
+       /* Get the marker parameter length count */
+       if (__gl_exif_read_2_bytes(fd, &length) < 0)
+               goto GL_EXIF_FAILED;
+       gl_dbg("length: %d", length);
+       /* Length includes itself, so must be at least 2
+           Following Exif data length must be at least 6 */
+       if (length < 8) {
+               gl_dbgE("length < 8");
+               goto GL_EXIF_FAILED;
+       }
+       /*modify  the marker parameter length, orientation tag is 12*/
+       length += 12;
+       gl_dbgW("modified length: %d", length);
+       tmp[0] = (length >> 8)& 0xff ;
+       tmp[1] = length & 0xff ;
+       for (i = 0; i < 2; i++) {
+               if (__gl_exif_write_1_byte(tmp_fd, tmp[i]) < 0)
+                       goto GL_EXIF_FAILED;
+       }
+
+       for (i = 0; i < 6; i++) {
+               tmp_exif = __gl_exif_read_1_byte(fd);
+               if (tmp_exif < 0)
+                       goto GL_EXIF_FAILED;
+
+               tmp[i] = (unsigned char)tmp_exif;
+               gl_dbg("- %02X", tmp[i]);
+               if (__gl_exif_write_1_byte(tmp_fd, tmp[i]) < 0)
+                       goto GL_EXIF_FAILED;
+       }
+       if (tmp[0] == 0x45 && tmp[1] == 0x78 && tmp[2] == 0x69 && tmp[3] == 0x66 &&
+       tmp[4] == 0x00 && tmp[5] == 0x00) {
+               gl_dbgW("Met Exif!");
+       } else {
+               gl_dbgW("Not met Exif!");
+                       goto GL_EXIF_FAILED;
+       }
+       /* Read Exif body */
+       for (i = 0; i < 4; i++) {
+               tmp_exif = __gl_exif_read_1_byte(fd);
+               if (tmp_exif < 0)
+                       goto GL_EXIF_FAILED;
+               tmp[i] = (unsigned char)tmp_exif;
+               if (__gl_exif_write_1_byte(tmp_fd, tmp[i]) < 0)
+                       goto GL_EXIF_FAILED;
+       }
+
+       /* Check byte order and Tag Mark , "II(0x4949)" or "MM(0x4d4d)" */
+       if (tmp[0] == 0x49 && tmp[1] == 0x49 && tmp[2] == 0x2A &&
+           tmp[3] == 0x00) {
+               gl_dbg("Intel");
+               is_motorola = false;
+       } else if (tmp[0] == 0x4D && tmp[1] == 0x4D && tmp[2] == 0x00 &&
+                  tmp[3] == 0x2A) {
+               gl_dbg("Motorola");
+               is_motorola = true;
+       } else {
+               goto GL_EXIF_FAILED;
+       }
+
+       for (i = 0; i < 4; i++) {
+               tmp_exif = __gl_exif_read_1_byte(fd);
+               if (tmp_exif < 0)
+                       goto GL_EXIF_FAILED;
+
+               tmp[i] = (unsigned char)tmp_exif;
+               gl_dbg("- %02X", tmp[i]);
+               if (__gl_exif_write_1_byte(tmp_fd, tmp[i]) < 0)
+               goto GL_EXIF_FAILED;
+       }
+
+       /* Get first IFD offset (offset to IFD0) , MM-08000000, II-00000008 */
+       if (is_motorola) {
+               if (tmp[0] != 0 && tmp[1] != 0)
+                       goto GL_EXIF_FAILED;
+               offset = tmp[2];
+               offset <<= 8;
+               offset += tmp[3];
+       } else {
+               if (tmp[3] != 0 && tmp[2] != 0)
+                       goto GL_EXIF_FAILED;
+               offset = tmp[1];
+               offset <<= 8;
+               offset += tmp[0];
+       }
+       gl_dbg("offset: %d", offset);
+       /*if offset >8, copy data from there to IFD start position*/
+       if (offset > 8) {
+               for (i = 0; i < (offset - 8); i++) {
+                       tmp_exif = __gl_exif_read_1_byte(fd);
+                       if (tmp_exif < 0)
+                       goto GL_EXIF_FAILED;
+
+                       tmp[i] = (unsigned char)tmp_exif;
+                       gl_dbg("- %02X", tmp[i]);
+                       if (__gl_exif_write_1_byte(tmp_fd, tmp[i]) < 0)
+                       goto GL_EXIF_FAILED;
+               }
+       }
+
+       /* IFD: Image File Directory */
+       /* Get the number of directory entries contained in this IFD, - 2 bytes, EE */
+       unsigned int tags_cnt = 0;
+       for (i = 0; i < 2; i++) {
+               tmp_exif = __gl_exif_read_1_byte(fd);
+               if (tmp_exif < 0)
+                       goto GL_EXIF_FAILED;
+
+               tmp[i] = (unsigned char)tmp_exif;
+       }
+       if (is_motorola) {
+               tags_cnt = tmp[0];
+               tags_cnt <<= 8;
+               tags_cnt += tmp[1];
+       } else {
+               tags_cnt = tmp[1];
+               tags_cnt <<= 8;
+               tags_cnt += tmp[0];
+       }
+       gl_dbg("tags_cnt: %d", tags_cnt);
+       /*modify tags num,add orientation tag */
+       tags_cnt += 1;
+       gl_dbg("modified tags_cnt: %d", tags_cnt);
+       if (is_motorola) {
+               tmp[0] = (tags_cnt >> 8) & 0xff;
+               tmp[1] = tags_cnt & 0xff;
+       } else {
+               tmp[0] = tags_cnt & 0xff;
+               tmp[1] = (tags_cnt >> 8) & 0xff;
+       }
+       for (i = 0; i < 2; i++) {
+               gl_dbg("modified- %02X", tmp[i]);
+               if (__gl_exif_write_1_byte(tmp_fd, tmp[i]) < 0)
+               goto GL_EXIF_FAILED;
+
+       }
+       /* Add   Orientation Tag in IFD0 */
+       unsigned int tag_num = 0;
+       unsigned char orientation_tag[12] = { 0, };
+       bool b_found_position = false;
+       int j = 0;
+       unsigned int data_type = 0;
+       unsigned int unit_num = 0;
+       unsigned int data_length = 0;
+       unsigned int offset_value = 0;
+       /*initialize orientation_tag value*/
+       if (is_motorola) {
+               orientation_tag[0] = 0x01;
+               orientation_tag[1] = 0x12;
+
+               orientation_tag[2] = 0x00;
+               orientation_tag[3] = 0x03;
+
+               orientation_tag[4] = 0x00;
+               orientation_tag[5] = 0x00;
+               orientation_tag[6] = 0x00;
+               orientation_tag[7] = 0x01;
+
+               orientation_tag[8] = 0x00;
+               orientation_tag[9] = (unsigned char)(*orientation);
+               orientation_tag[10] = 0x00;
+               orientation_tag[11] = 0x00;
+
+       } else {
+               orientation_tag[0] = 0x12;
+               orientation_tag[1] = 0x01;
+               orientation_tag[2] = 0x03;
+               orientation_tag[3] = 0x00;
+               orientation_tag[4] = 0x01;
+               orientation_tag[5] = 0x00;
+               orientation_tag[6] = 0x00;
+               orientation_tag[7] = 0x00;
+               orientation_tag[8] = (unsigned char)(*orientation);
+               orientation_tag[9] = 0x00;
+               orientation_tag[10] = 0x00;
+               orientation_tag[11] = 0x00;
+       }
+       /*if there is no other tag, then only insert orientation_tag,don't go to the while (1)*/
+       if (tags_cnt == 1) {
+               for (j = 0; j < 12 ;j++) {
+                       gl_dbg("orientation_tag- %02X", orientation_tag[j]);
+                       if (__gl_exif_write_1_byte(tmp_fd, orientation_tag[j]) < 0)
+                               goto GL_EXIF_FAILED;
+               }
+       }
+       while (1) {
+               if (--tags_cnt == 0) {
+                       break;
+               }
+
+               /* Every directory entry size is 12 */
+               for (i = 0; i < 12; i++) {
+                       tmp_exif = __gl_exif_read_1_byte(fd);
+                       if (tmp_exif < 0)
+                               goto GL_EXIF_FAILED;
+
+                       tmp[i] = (unsigned char)tmp_exif;
+               }
+               /* Get Tag number */
+               if (is_motorola) {
+                       tag_num = tmp[0];
+                       tag_num <<= 8;
+                       tag_num += tmp[1];
+               } else {
+                       tag_num = tmp[1];
+                       tag_num <<= 8;
+                       tag_num += tmp[0];
+               }
+               gl_dbgW("tag num %02X!" , tag_num);
+               /* to find Orientation Tag position */
+               if (tag_num < 0x0112) {
+
+               } else if (tag_num > 0x0112) {
+                       if (!b_found_position) {
+                               for (j = 0; j < 12 ;j++) {
+                                       gl_dbg("orientation_tag- %02X", orientation_tag[j]);
+                                       if (__gl_exif_write_1_byte(tmp_fd, orientation_tag[j]) < 0)
+                                       goto GL_EXIF_FAILED;
+                               }
+                               b_found_position = true;
+                       }
+                       if (is_motorola) {
+                               data_type = tmp[2];
+                               data_type <<= 8;
+                               data_type += tmp[3];
+
+                               unit_num = tmp[4];
+                               unit_num <<= 8;
+                               unit_num += tmp[5];
+                               unit_num <<= 8;
+                               unit_num += tmp[6];
+                               unit_num <<= 8;
+                               unit_num += tmp[7];
+                       } else {
+                               data_type = tmp[3];
+                               data_type <<= 8;
+                               data_type += tmp[2];
+
+                               unit_num = tmp[7];
+                               unit_num <<= 8;
+                               unit_num += tmp[6];
+                               unit_num <<= 8;
+                               unit_num += tmp[5];
+                               unit_num <<= 8;
+                               unit_num += tmp[4];
+                       }
+                       gl_dbgW("data_type %02X!" , data_type);
+                       gl_dbgW("unit_num %02X!" , unit_num);
+                       if ((data_type < 1) ||(data_type > 12)) {
+                               gl_dbgE("Wrong data type!");
+                               goto GL_EXIF_FAILED;
+                       }
+
+                       data_length = ifd_data_format[data_type] * unit_num;
+                       gl_dbgW("data_length %02X!" , data_length);
+                       /*data_length >4 ,next 4 bytes  store the offset, so need to modify the offset*/
+                       if (data_length > 4) {
+                               if (is_motorola) {
+                                       offset_value = tmp[8];
+                                       offset_value <<= 8;
+                                       offset_value += tmp[9];
+                                       offset_value <<= 8;
+                                       offset_value += tmp[10];
+                                       offset_value <<= 8;
+                                       offset_value += tmp[11];
+                                       gl_dbgW("offset_value %02X!" , offset_value);
+                                       /*add orientation offset*/
+                                       offset_value += 12;
+                                       gl_dbgW("changed offset_value %02X!" , offset_value);
+                                       tmp[8] = (offset_value >> 24) & 0xff;
+                                       tmp[9] = (offset_value >> 16) & 0xff;
+                                       tmp[10] = (offset_value >> 8) & 0xff;
+                                       tmp[11] = offset_value & 0xff;
+                                       gl_dbg("tmp[8] %02X!" , tmp[8]);
+                                       gl_dbg("tmp[9] %02X!" , tmp[9]);
+                                       gl_dbg("tmp[10] %02X!" , tmp[10]);
+                                       gl_dbg("tmp[11] %02X!" , tmp[11]);
+                               } else {
+                                       offset_value = tmp[11];
+                                       offset_value <<= 8;
+                                       offset_value += tmp[10];
+                                       offset_value <<= 8;
+                                       offset_value += tmp[9];
+                                       offset_value <<= 8;
+                                       offset_value += tmp[8];
+                                       gl_dbgW("offset_value %02X!" , offset_value);
+                                       /*add orientation offset*/
+                                       offset_value += 12;
+                                       gl_dbgW("changed offset_value %02X!" , offset_value);
+
+                                       tmp[11] = (offset_value >> 24) & 0xff;
+                                       tmp[10] = (offset_value >> 16) & 0xff;
+                                       tmp[9] = (offset_value >> 8) & 0xff;
+                                       tmp[8] = offset_value & 0xff;
+                                       gl_dbg("tmp[8] %02X!" , tmp[8]);
+                                       gl_dbg("tmp[9] %02X!" , tmp[9]);
+                                       gl_dbg("tmp[10] %02X!" , tmp[10]);
+                                       gl_dbg("tmp[11] %02X!" , tmp[11]);
+
+                               }
+
+                       }
+
+               }
+               for (i = 0; i < 12 ;i++) {
+                       gl_dbg("- %02X", tmp[i]);
+                       if (__gl_exif_write_1_byte(tmp_fd,tmp[i]) < 0)
+                               goto GL_EXIF_FAILED;
+
+               }
+               memset(tmp, 0x00, 12);
+
+       }
+       memset(tmp, 0x00, GL_EXIF_BUF_LEN_MAX);
+       /* Write JPEG image data to tmp file after EXIF header */
+       while ((r_size = fread(tmp, 1, sizeof(tmp), fd)) > 0) {
+               gl_dbg("r_size: %ld", r_size);
+               if (fwrite(tmp, 1, r_size, tmp_fd) != r_size)
+                       gl_dbgW("Write and read size are diff!");
+
+               memset(tmp, 0x00, GL_EXIF_BUF_LEN_MAX);
+       }
+       fclose(fd);
+       fd = NULL;
+       fd = fopen(file_path, "wb");
+       if (!fd) {
+               gl_sdbgE("Error creating file %s!", file_path);
+               goto GL_EXIF_FAILED;
+       }
+
+       memset(tmp, 0x00, GL_EXIF_BUF_LEN_MAX);
+       /* Write back tmp file after to JPEG image */
+       fseek(tmp_fd, 0, SEEK_SET);
+       while ((r_size = fread(tmp, 1, sizeof(tmp), tmp_fd)) > 0) {
+               gl_dbg("r_size: %ld", r_size);
+               if (fwrite(tmp, 1, r_size, fd) != r_size)
+               gl_dbgW("Write and read size are diff!");
+               memset(tmp, 0x00, GL_EXIF_BUF_LEN_MAX);
+       }
+
+       ret = 0;
+
+       GL_EXIF_FAILED:
+
+       if (fd) {
+               fclose(fd);
+               fd = NULL;
+       }
+
+       if (tmp_fd) {
+               fclose(tmp_fd);
+               tmp_fd = NULL;
+       }
+
+       /* Delete tmp file */
+       if (!gl_file_unlink(tmp_file))
+               gl_dbgE("Delete file failed");
+
+       gl_dbg("All done");
+       return ret;
+}
+
+static int __gl_exif_rw_jfif(FILE *fd, char *file_path,
+                            unsigned int *orientation, bool b_write)
+{
+       GL_CHECK_VAL(fd, -1);
+       GL_CHECK_VAL(file_path, -1);
+       GL_CHECK_VAL(orientation, -1);
+       unsigned char tmp[GL_EXIF_BUF_LEN_MAX] = { 0, };
+       int i = 0;
+       unsigned int length = 0;
+       int tmp_exif = -1;
+       bool is_motorola = false; /* Flag for byte order */
+       unsigned int offset = 0;
+       int ret = -1;
+       /*unsigned char version = 0x00; */
+
+       if (__gl_exif_read_2_bytes(fd, &length) < 0)
+               goto GL_EXIF_FAILED;
+       gl_dbg("length: %d", length);
+
+       for (i = 0; i < 5; i++) {
+               tmp_exif = __gl_exif_read_1_byte(fd);
+               if (tmp_exif < 0)
+                       goto GL_EXIF_FAILED;
+               tmp[i] = (unsigned char)tmp_exif;
+       }
+
+       /* JFIF0 */
+       if (tmp[0] != 0x4A || tmp[1] != 0x46 || tmp[2] != 0x49 ||
+           tmp[3] != 0x46 || tmp[4] != 0x00) {
+               gl_dbgE("Not met Jfif!");
+               goto GL_EXIF_FAILED;
+       }
+
+       for (i = 0; i < 2; i++) {
+               tmp_exif = __gl_exif_read_1_byte(fd);
+               if (tmp_exif < 0)
+                       goto GL_EXIF_FAILED;
+               tmp[i] = (unsigned char)tmp_exif;
+       }
+
+       /* Check JFIF version */
+       if (tmp[0] == 0x01 && tmp[1] == GL_EXIF_JFIF_00) {
+               gl_dbg("Jfif 1.00");
+       } else if (tmp[0] == 0x01 && tmp[1] == GL_EXIF_JFIF_01) {
+               gl_dbg("Jfif 1.01");
+       } else if (tmp[0] == 0x01 && tmp[1] == GL_EXIF_JFIF_02) {
+               gl_dbg("Jfif 1.02");
+       } else {
+               gl_dbgE("Unknow Jfif version[%d.%d]!", tmp[0], tmp[1]);
+               goto GL_EXIF_FAILED;
+       }
+
+       /* Save version */
+       /*version = tmp[1]; */
+
+       /* Find APP1 */
+       bool b_tag_ff = false;
+       while (1) {
+               tmp_exif = __gl_exif_read_1_byte(fd);
+               if (tmp_exif < 0)
+                       goto GL_EXIF_FAILED;
+
+               tmp[0] = (unsigned char)tmp_exif;
+
+               gl_dbg("- %02X", tmp[0]);
+               if (!b_tag_ff) {
+                       /* Get first tag */
+                       if (tmp[0] == GL_EXIF_TAG) {
+                               gl_dbgW("0xFF!");
+                               b_tag_ff = true;
+                       }
+                       continue;
+               }
+
+               /* Get APP1 */
+               if (tmp[0] == GL_EXIF_APP1) {
+                       gl_dbgW("Exif in APP1!");
+                       break;
+               }
+
+               gl_dbgW("No Exif in APP1!");
+
+               /* Close file */
+               fclose(fd);
+               if (!b_write) {
+                       /* Normal orientation = 0degree = 1 */
+                       *orientation = 1;
+                       return 0;
+               }
+               return __gl_exif_add_exif_to_jfif(file_path, orientation);
+       }
+
+       /* Find Exif */
+       while (1) {
+               for (i = 0; i < 6; i++) {
+                       tmp_exif = __gl_exif_read_1_byte(fd);
+                       if (tmp_exif < 0) {
+                               gl_dbgW("Not met Exif!");
+                               goto GL_EXIF_FAILED;
+                       }
+
+                       tmp[i] = (unsigned char)tmp_exif;
+                       gl_dbg("- %02X", tmp[i]);
+               }
+               if (tmp[0] == 0x45 && tmp[1] == 0x78 && tmp[2] == 0x69 && tmp[3] == 0x66 &&
+                   tmp[4] == 0x00 && tmp[5] == 0x00) {
+                       gl_dbgW("Met Exif!");
+                       break;
+               } else {
+                       gl_dbg("Not met Exif!");
+                       if (fseek(fd, -5, SEEK_CUR) < 0) {
+                               gl_dbgE("fseek failed!");
+                               goto GL_EXIF_FAILED;
+                       }
+                       continue;
+               }
+       }
+
+       /* Read Exif body */
+       for (i = 0; i < 4; i++) {
+               tmp_exif = __gl_exif_read_1_byte(fd);
+               if (tmp_exif < 0)
+                       goto GL_EXIF_FAILED;
+               tmp[i] = (unsigned char)tmp_exif;
+       }
+
+       /* Check byte order and Tag Mark , "II(0x4949)" or "MM(0x4d4d)" */
+       if (tmp[0] == 0x49 && tmp[1] == 0x49 && tmp[2] == 0x2A &&
+           tmp[3] == 0x00) {
+               gl_dbg("Intel");
+               is_motorola = false;
+       } else if (tmp[0] == 0x4D && tmp[1] == 0x4D && tmp[2] == 0x00 &&
+                  tmp[3] == 0x2A) {
+               gl_dbg("Motorola");
+               is_motorola = true;
+       } else {
+               goto GL_EXIF_FAILED;
+       }
+
+       for (i = 0; i < 4; i++) {
+               tmp_exif = __gl_exif_read_1_byte(fd);
+               if (tmp_exif < 0)
+                       goto GL_EXIF_FAILED;
+
+               tmp[i] = (unsigned char)tmp_exif;
+               gl_dbg("- %02X", tmp[i]);
+       }
+
+       /* Get first IFD offset (offset to IFD0) , MM-08000000, II-00000008 */
+       if (is_motorola) {
+               if (tmp[0] != 0 && tmp[1] != 0)
+                       goto GL_EXIF_FAILED;
+               offset = tmp[2];
+               offset <<= 8;
+               offset += tmp[3];
+       } else {
+               if (tmp[3] != 0 && tmp[2] != 0)
+                       goto GL_EXIF_FAILED;
+               offset = tmp[1];
+               offset <<= 8;
+               offset += tmp[0];
+       }
+       gl_dbg("offset: %d", offset);
+
+       /* IFD: Image File Directory */
+       /* Get the number of directory entries contained in this IFD, - 2 bytes, EE */
+       unsigned int tags_cnt = 0;
+       for (i = 0; i < 2; i++) {
+               tmp_exif = __gl_exif_read_1_byte(fd);
+               if (tmp_exif < 0)
+                       goto GL_EXIF_FAILED;
+
+               tmp[i] = (unsigned char)tmp_exif;
+       }
+       if (is_motorola) {
+               tags_cnt = tmp[0];
+               tags_cnt <<= 8;
+               tags_cnt += tmp[1];
+       } else {
+               tags_cnt = tmp[1];
+               tags_cnt <<= 8;
+               tags_cnt += tmp[0];
+       }
+       gl_dbg("tags_cnt: %d", tags_cnt);
+       if (tags_cnt == 0) {
+               gl_dbgE("tags_cnt == 0,no found orientation tag!");
+               if (b_write) {
+                       gl_dbgW("to add an orientation tag!");
+                       fclose(fd);
+                       fd = NULL;
+                       return __gl_exif_add_orientation_tag(file_path, orientation);
+
+               } else{
+                       /* Normal orientation = 0degree = 1 */
+                       *orientation = 1;
+                       ret = 0;
+               }
+               goto GL_EXIF_FAILED;
+       }
+
+       /* Search for Orientation Tag in IFD0 */
+       unsigned int tag_num = 0;
+       while (1) {
+               /* Every directory entry size is 12 */
+               for (i = 0; i < 12; i++) {
+                       tmp_exif = __gl_exif_read_1_byte(fd);
+                       if (tmp_exif < 0)
+                               goto GL_EXIF_FAILED;
+
+                       tmp[i] = (unsigned char)tmp_exif;
+               }
+               /* Get Tag number */
+               if (is_motorola) {
+                       tag_num = tmp[0];
+                       tag_num <<= 8;
+                       tag_num += tmp[1];
+               } else {
+                       tag_num = tmp[1];
+                       tag_num <<= 8;
+                       tag_num += tmp[0];
+               }
+               /* found Orientation Tag */
+               if (tag_num == 0x0112) {
+                       gl_dbgW("Found orientation tag!");
+                       break;
+               }
+               if (--tags_cnt == 0) {
+                       gl_dbgW("tags_cnt == 0, no found orientation tag!");
+                       if (b_write) {
+                               gl_dbgW("to add an orientation tag!");
+                               fclose(fd);
+                               fd = NULL;
+                               return __gl_exif_add_orientation_tag(file_path, orientation);
+
+                       } else{
+                               /* Normal orientation = 0degree = 1 */
+                               *orientation = 1;
+                               ret = 0;
+                       }
+                       goto GL_EXIF_FAILED;
+               }
+       }
+
+       /* |TT|ff|NNNN|DDDD|  ---  TT - 2 bytes, tag NO. ;ff - 2 bytes, data format
+            NNNN - 4 bytes, entry count;  DDDD - 4 bytes Data value */
+       if (b_write) {
+               gl_dbg("Write: %d", *orientation);
+               /* Set the Orientation value */
+               if (is_motorola)
+                       tmp[9] = (unsigned char)(*orientation);
+               else
+                       tmp[8] = (unsigned char)(*orientation);
+
+               /* Move pointer back to the entry start point */
+               if (fseek(fd, -12, SEEK_CUR) < 0) {
+                       gl_dbgE("fseek failed!");
+                       goto GL_EXIF_FAILED;
+               }
+               fwrite(tmp, 1, 10, fd);
+       } else {
+               /* Get the Orientation value */
+               if (is_motorola) {
+                       if (tmp[8] != 0) {
+                               gl_dbgE("tmp[8] != 0");
+                               goto GL_EXIF_FAILED;
+                       }
+                       *orientation = (unsigned int)tmp[9];
+               } else {
+                       if (tmp[9] != 0) {
+                               gl_dbgE("tmp[9] != 0");
+                               goto GL_EXIF_FAILED;
+                       }
+                       *orientation = (unsigned int)tmp[8];
+               }
+               if (*orientation > 8) {
+                       gl_dbgE("*orient > 8");
+                       goto GL_EXIF_FAILED;
+               }
+               gl_dbg("Read: %d", *orientation);
+       }
+
+       ret = 0;
+
+ GL_EXIF_FAILED:
+
+       fclose(fd);
+       gl_dbg("All done");
+       return ret;
+}
+bool _gl_exif_check_img_type(char *file_path)
+{
+       GL_CHECK_VAL(file_path, -1);
+       int tmp_exif = -1;
+       unsigned int i = 0;
+       unsigned char exif_data[4] = { 0, };
+       FILE *fd = NULL;
+       bool ret = false;
+
+       if ((fd = fopen(file_path, "rb")) == NULL) {
+               gl_sdbgE("Can't open %s!", file_path);
+               return -1;
+       }
+
+
+       /* Read File head, check for JPEG SOI + Exif APP1 */
+       for (i = 0; i < 4; i++) {
+               tmp_exif = __gl_exif_read_1_byte(fd);
+               if (tmp_exif < 0)
+                       goto GL_EXIF_FAILED;
+
+               exif_data[i] = (unsigned char)tmp_exif;
+       }
+
+       if (exif_data[0] == GL_EXIF_TAG && exif_data[1] == GL_EXIF_SOI) {
+               gl_dbg("JPEG file");
+       } else {
+               gl_dbgE("Not a JPEG file!");
+               goto GL_EXIF_FAILED;
+       }
+
+       if (exif_data[2] == GL_EXIF_TAG && exif_data[3] == GL_EXIF_APP1) {
+               gl_dbgW("Exif in APP1!");
+               ret = true;
+       } else if (exif_data[2] == GL_EXIF_TAG &&
+                  exif_data[3] == GL_EXIF_APP0) {
+               gl_dbgW("Jfif in APP0!");
+               ret = true;
+       } else {
+               gl_dbgE("Not a Exif in APP1 or Jiff in APP2[%d]!", exif_data[3]);
+               ret = false;
+       }
+ GL_EXIF_FAILED:
+
+       fclose(fd);
+       gl_dbg("");
+       return ret;
+}
+
+static int __gl_exif_rw_orient(char *file_path, unsigned int *orient, bool b_write)
+{
+       GL_CHECK_VAL(file_path, -1);
+       gl_dbg("b_write: %d", b_write);
+       unsigned int length = 0;
+       unsigned int i = 0;
+       bool is_motorola = false; /* Flag for byte order */
+       unsigned int offset = 0;
+       unsigned int jfif_offset = 0;
+       unsigned int tags_cnt = 0;
+       unsigned int tag_num = 0;
+       int tmp_exif = -1;
+       unsigned char exif_data[GL_EXIF_BUF_LEN_MAX] = { 0, };
+       FILE *fd = NULL;
+       int ret = -1;
+
+       if (b_write) {
+               if ((fd = fopen(file_path, "rb+")) == NULL) {
+                       gl_sdbgE("Can't open %s!", file_path);
+                       return -1;
+               }
+       } else {
+               if ((fd = fopen(file_path, "rb")) == NULL) {
+                       gl_sdbgE("Can't open %s!", file_path);
+                       return -1;
+               }
+       }
+
+       /* Read File head, check for JPEG SOI + Exif APP1 */
+       for (i = 0; i < 4; i++) {
+               tmp_exif = __gl_exif_read_1_byte(fd);
+               if (tmp_exif < 0)
+                       goto GL_EXIF_FAILED;
+
+               exif_data[i] = (unsigned char)tmp_exif;
+       }
+
+       if (exif_data[0] == GL_EXIF_TAG && exif_data[1] == GL_EXIF_SOI) {
+               gl_dbg("JPEG file");
+       } else {
+               gl_dbgE("Not a JPEG file!");
+               goto GL_EXIF_FAILED;
+       }
+
+       if (exif_data[2] == GL_EXIF_TAG && exif_data[3] == GL_EXIF_APP1) {
+               gl_dbgW("Exif in APP1!");
+       } else if (exif_data[2] == GL_EXIF_TAG &&
+                  exif_data[3] == GL_EXIF_APP0) {
+               gl_dbgW("Jfif in APP0!");
+               int ret = __gl_exif_rw_jfif(fd, file_path, orient, b_write);
+               return ret;
+       } else {
+               gl_dbgE("Not a Exif in APP1 or Jiff in APP2[%d]!", exif_data[3]);
+               goto GL_EXIF_FAILED;
+       }
+
+       /* Get the marker parameter length count */
+       if (__gl_exif_read_2_bytes(fd, &length) < 0)
+               goto GL_EXIF_FAILED;
+       gl_dbg("length: %d", length);
+       /* Length includes itself, so must be at least 2
+           Following Exif data length must be at least 6 */
+       if (length < 8) {
+               gl_dbgE("length < 8");
+               goto GL_EXIF_FAILED;
+       }
+       length -= 8;
+
+        /* Length of an IFD entry */
+       if (length < 12) {
+               gl_dbgE("length < 12");
+               goto GL_EXIF_FAILED;
+       }
+
+       /* Read Exif head, check for "Exif" */
+       for (i = 0; i < 6; i++) {
+               tmp_exif = __gl_exif_read_1_byte(fd);
+               if (tmp_exif < 0)
+                       goto GL_EXIF_FAILED;
+
+               exif_data[i] = (unsigned char)tmp_exif;
+       }
+
+       if (exif_data[0] != 0x45 || exif_data[1] != 0x78 ||
+           exif_data[2] != 0x69 || exif_data[3] != 0x66 ||
+           exif_data[4] != 0x00 || exif_data[5] != 0x00) {
+               gl_dbgE("Not met Exif!");
+               for (i = 0; i < 6; i++)
+                       gl_dbg("- %02X", exif_data[i]);
+               goto GL_EXIF_FAILED;
+       }
+
+       /* Read Exif body */
+       for (i = 0; i < length; i++) {
+               tmp_exif = __gl_exif_read_1_byte(fd);
+               if (tmp_exif < 0)
+                       goto GL_EXIF_FAILED;
+               exif_data[i] = (unsigned char)tmp_exif;
+       }
+
+       /* Check byte order and Tag Mark , "II(0x4949)" or "MM(0x4d4d)" */
+       if (exif_data[0] == 0x49 && exif_data[1] == 0x49 &&
+           exif_data[2] == 0x2A && exif_data[3] == 0x00) {
+               gl_dbg("Intel");
+               is_motorola = false;
+       } else if (exif_data[0] == 0x4D && exif_data[1] == 0x4D &&
+                exif_data[2] == 0x00 && exif_data[3] == 0x2A) {
+               gl_dbg("Motorola");
+               is_motorola = true;
+       } else {
+               goto GL_EXIF_FAILED;
+       }
+
+       /* Get first IFD offset (offset to IFD0) , MM-00000008, II-08000000 */
+       if (is_motorola) {
+               if (exif_data[4] != 0 && exif_data[5] != 0)
+                       goto GL_EXIF_FAILED;
+               offset = exif_data[6];
+               offset <<= 8;
+               offset += exif_data[7];
+       } else {
+               if (exif_data[7] != 0 && exif_data[6] != 0)
+                       goto GL_EXIF_FAILED;
+               offset = exif_data[5];
+               offset <<= 8;
+               offset += exif_data[4];
+       }
+       /* check end of data segment */
+       if (offset > length - 2) {
+               gl_dbgE("offset > length - 2");
+               goto GL_EXIF_FAILED;
+       }
+
+       /* IFD: Image File Directory */
+       /* Get the number of directory entries contained in this IFD, - EEEE */
+       if (is_motorola) {
+               tags_cnt = exif_data[offset];
+               tags_cnt <<= 8;
+               tags_cnt += exif_data[offset+1];
+       } else {
+               tags_cnt = exif_data[offset+1];
+               tags_cnt <<= 8;
+               tags_cnt += exif_data[offset];
+       }
+       if (tags_cnt == 0) {
+               gl_dbgE("tags_cnt == 0 - 2");
+               goto GL_EXIF_FAILED;
+       }
+       offset += 2;
+
+       /* check end of data segment */
+       if (offset > length - 12) {
+               gl_dbgE("offset > length - 12");
+               goto GL_EXIF_FAILED;
+       }
+
+       /* Search for Orientation Tag in IFD0 */
+       while (1) {
+               /* Get Tag number */
+               if (is_motorola) {
+                       tag_num = exif_data[offset];
+                       tag_num <<= 8;
+                       tag_num += exif_data[offset+1];
+               } else {
+                       tag_num = exif_data[offset+1];
+                       tag_num <<= 8;
+                       tag_num += exif_data[offset];
+               }
+               /* found Orientation Tag */
+               if (tag_num == 0x0112) {
+                       gl_dbgW("Found orientation tag!");
+                       break;
+               }
+               if (--tags_cnt == 0) {
+                       gl_dbgW("tags_cnt == 0, no found orientation tag!");
+                       if (b_write) {
+                               gl_dbgW("to add an orientation tag!");
+                               fclose(fd);
+                               fd = NULL;
+                               return __gl_exif_add_orientation_tag(file_path, orient);
+
+                       } else{
+                               /* Normal orientation = 0degree = 1 */
+                               *orient = 1;
+                               ret = 0;
+                       }
+                       goto GL_EXIF_FAILED;
+               }
+
+               /* Every directory entry size is 12 */
+               offset += 12;
+       }
+
+       if (b_write) {
+               gl_dbg("Write: %d", *orient);
+               /* Set the Orientation value */
+               if (is_motorola)
+                       exif_data[offset+9] = (unsigned char)(*orient);
+               else
+                       exif_data[offset+8] = (unsigned char)(*orient);
+
+               if (fseek(fd, jfif_offset + (4 + 2 + 6 + 2) + offset, SEEK_SET) < 0) {
+                       gl_dbgE("fseek failed!");
+                       goto GL_EXIF_FAILED;
+               }
+               fwrite(exif_data + 2 + offset, 1, 10, fd);
+       } else {
+               /* Get the Orientation value */
+               if (is_motorola) {
+                       if (exif_data[offset+8] != 0) {
+                               gl_dbgE("exif_data[offset+8] != 0");
+                               goto GL_EXIF_FAILED;
+                       }
+                       *orient = (unsigned int)exif_data[offset+9];
+               } else {
+                       if (exif_data[offset+9] != 0) {
+                               gl_dbgE("exif_data[offset+9] != 0");
+                               goto GL_EXIF_FAILED;
+                       }
+                       *orient = (unsigned int)exif_data[offset+8];
+               }
+               if (*orient > 8) {
+                       gl_dbgE("*orient > 8");
+                       goto GL_EXIF_FAILED;
+               }
+               gl_dbg("Read: %d", *orient);
+       }
+
+       ret = 0;
+
+ GL_EXIF_FAILED:
+
+       fclose(fd);
+       gl_dbg("All done");
+       return ret;
+}
+
+int _gl_exif_get_orientation(char *file_path, unsigned int *orientation)
+{
+       GL_CHECK_VAL(orientation, -1);
+       GL_CHECK_VAL(file_path, -1);
+       gl_sdbg("file_path: %s", file_path);
+
+       return __gl_exif_rw_orient(file_path, orientation, false);
+}
+
+int _gl_exif_set_orientation(char *file_path, unsigned int orientation)
+{
+       GL_CHECK_VAL(file_path, -1);
+       gl_sdbg("file_path: %s", file_path);
+
+       return __gl_exif_rw_orient(file_path, &orientation, true);
+}
+
+int _gl_exif_get_rotated_orientation(unsigned int orientation, bool b_left)
+{
+       int rotated_orientataion;
+       gl_dbg("b_left: %d", b_left);
+
+       switch (orientation) {
+       case GL_ORIENTATION_ROT_0:
+               /* true: 0 -> 270, false: 0 -> 90 */
+               if (b_left)
+                       rotated_orientataion = GL_ORIENTATION_ROT_270;
+               else
+                       rotated_orientataion = GL_ORIENTATION_ROT_90;
+               break;
+       case GL_ORIENTATION_ROT_90:
+               /* true: 90 -> 0, false: 90 -> 180 */
+               if (b_left)
+                       rotated_orientataion = GL_ORIENTATION_ROT_0;
+               else
+                       rotated_orientataion = GL_ORIENTATION_ROT_180;
+               break;
+       case GL_ORIENTATION_ROT_180:
+               /* true: 180 -> 90, false: 180 -> 270 */
+               if (b_left)
+                       rotated_orientataion = GL_ORIENTATION_ROT_90;
+               else
+                       rotated_orientataion = GL_ORIENTATION_ROT_270;
+               break;
+       case GL_ORIENTATION_ROT_270:
+               /* true: 270 -> 180, false: 270 -> 0 */
+               if (b_left)
+                       rotated_orientataion = GL_ORIENTATION_ROT_180;
+               else
+                       rotated_orientataion = GL_ORIENTATION_ROT_0;
+               break;
+       default:
+               gl_dbgE("Wrong oriectation: %d!", orientation);
+               /* true: 0 -> 270, false: 0 -> 90 */
+               if (b_left)
+                       rotated_orientataion = GL_ORIENTATION_ROT_270;
+               else
+                       rotated_orientataion = GL_ORIENTATION_ROT_90;
+               break;
+       }
+
+       gl_dbg("New orientation: %d", rotated_orientataion);
+       return rotated_orientataion;
+}
+
+#endif
+
diff --git a/src/util/gl-ext-exec.c b/src/util/gl-ext-exec.c
new file mode 100644 (file)
index 0000000..6587198
--- /dev/null
@@ -0,0 +1,706 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#include <Elementary.h>
+#include "gl-ext-exec.h"
+#include "gl-debug.h"
+#include "gallery.h"
+#include "gl-data.h"
+#include "gl-util.h"
+#include "gl-popup.h"
+#include "gl-controlbar.h"
+#include "gl-albums.h"
+#include "gl-thumbs.h"
+#include "gl-strings.h"
+#include "gl-notify.h"
+
+#define GL_APP_PKG_VIDEOPLAYER "org.tizen.videos-lite"
+#define GL_APP_PKG_CAMERA_EFL "org.tizen.camera-app-lite"
+#define GL_APP_PKG_IE "com.samsung.image-editor"
+#define GL_SEPERATOR_IE '|'
+#define GL_ARGV_VIDEO_LIST_TYPE "video_list_type"
+#define GL_ARGV_VIDEO_ALL_FOLDER_VIDEO "all_folder_video"
+#define GL_ARGV_VIDEO_FOLDER "folder"
+
+#define GL_ARGV_VIDEO_ORDER_TYPE "order_type"
+#define GL_ARGV_VIDEO_ORDER_DATE_DESC "date_desc"
+#define GL_ARGV_VIDEO_START_POS "start_pos_time"
+
+#define GL_ARGV_VIDEO_LAUNCH_APP "launching_application"
+#define GL_ARGV_VIDEO_LAUNCH_GALLERY "gallery"
+
+#define GL_ARGV_PATH "path"
+
+#define GL_SHARE_FILE_PREFIX "file://"
+#define GL_SHARE_OPERATION_SINGLE "http://tizen.org/appcontrol/operation/share"
+#define GL_SHARE_OPERATION_MULTIPLE "http://tizen.org/appcontrol/operation/multi_share"
+#define GL_SHARE_SVC_FILE_PATH "http://tizen.org/appcontrol/data/path"
+
+//refer to imageviewer
+static int __gl_ext_launch_video_player(void *data, app_control_h service)
+{
+       GL_CHECK_VAL(service, -1);
+       GL_CHECK_VAL(data, -1);
+       gl_item *gitem = (gl_item *)data;
+       GL_CHECK_VAL(gitem->ad, -1);
+       gl_appdata *ad = (gl_appdata *)gitem->ad;
+       GL_CHECK_VAL(gitem->item, -1);
+       GL_CHECK_VAL(gitem->item->uuid, -1);
+       GL_CHECK_VAL(gitem->item->file_url, -1);
+
+       int last_pos = 0;
+       char last_pos_str[GL_INTERGER_LEN_MAX] = { 0, };
+
+       GL_CHECK_VAL(gitem->item->video_info, -1);
+       last_pos = gitem->item->video_info->last_played_pos;
+       eina_convert_itoa(last_pos, last_pos_str);
+       gl_dbg("last_pos : %d", last_pos);
+
+       const char *video_path = gitem->item->file_url;
+       /* Albums view */
+       gl_cluster *cur_cluster = _gl_albums_get_current(ad);
+       if (cur_cluster && cur_cluster->cluster) {
+               gl_sdbg("Album: %s", cur_cluster->cluster->display_name);
+               if (cur_cluster->cluster->type == GL_STORE_T_ALL) {
+                       gl_dbg("All album");
+                       app_control_add_extra_data(service,
+                                              GL_ARGV_VIDEO_LIST_TYPE,
+                                              GL_ARGV_VIDEO_ALL_FOLDER_VIDEO);
+                       app_control_add_extra_data(service,
+                                              GL_ARGV_VIDEO_ORDER_TYPE,
+                                              GL_ARGV_VIDEO_ORDER_DATE_DESC);
+                       app_control_add_extra_data(service,
+                                              GL_ARGV_VIDEO_LAUNCH_APP,
+                                              GL_ARGV_VIDEO_LAUNCH_GALLERY);
+                       app_control_add_extra_data(service,
+                                              GL_ARGV_VIDEO_START_POS,
+                                              last_pos_str);
+               } else if (cur_cluster->cluster->type == GL_STORE_T_PHONE ||
+                        cur_cluster->cluster->type == GL_STORE_T_MMC) {
+                       gl_dbg("Real album");
+                       app_control_add_extra_data(service,
+                                              GL_ARGV_VIDEO_LIST_TYPE,
+                                              GL_ARGV_VIDEO_FOLDER);
+                       app_control_add_extra_data(service,
+                                              GL_ARGV_VIDEO_ORDER_TYPE,
+                                              GL_ARGV_VIDEO_ORDER_DATE_DESC);
+                       app_control_add_extra_data(service,
+                                              GL_ARGV_VIDEO_LAUNCH_APP,
+                                              GL_ARGV_VIDEO_LAUNCH_GALLERY);
+                       app_control_add_extra_data(service,
+                                              GL_ARGV_VIDEO_START_POS,
+                                              last_pos_str);
+               } else {
+                       gl_dbg("Web album? Under construction...");
+               }
+       } else {
+               /* Fixme: return or not? */
+               gl_dbgE("Invalid current album, return?");
+       }
+
+       int ret = 0;
+
+       //              aul_open_file(video_path);
+       app_control_add_extra_data(service, GL_ARGV_PATH, video_path);
+       app_control_set_operation(service, APP_CONTROL_OPERATION_DEFAULT);
+       if (APP_CONTROL_ERROR_NONE != app_control_set_app_id(service, GL_APP_PKG_VIDEOPLAYER)) {
+               gl_dbgE("app_control_set_app_id failed");
+       }
+       ret = app_control_send_launch_request(service, NULL, NULL);
+
+       if (ret == APP_CONTROL_ERROR_NONE)
+               return 0;
+       else
+               return -1;
+}
+
+static int __gl_ext_compose_exec_cmd(void *data, gl_ext_app_type type,
+                                     char *path, char **pkg_name,
+                                     app_control_h service)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_sdbg("type:%d, path:%s", type, path);
+
+       switch (type) {
+       case GL_APP_VIDEOPLAYER:
+               GL_CHECK_VAL(path, -1);
+               *pkg_name = GL_APP_PKG_VIDEOPLAYER;
+               break;
+       default:
+               *pkg_name = NULL;
+       }
+
+       return 0;
+}
+
+#ifdef GL_EXTENDED_FEATURES
+static void __gl_ext_app_control_reply_cb(app_control_h request, app_control_h reply,
+                                     app_control_result_e result, void *user_data)
+{
+       gl_dbg("");
+       switch (result) {
+       case APP_CONTROL_RESULT_SUCCEEDED:
+               gl_dbg("APP_CONTROL_RESULT_SUCCEEDED");
+               break;
+       case APP_CONTROL_RESULT_FAILED:
+               gl_dbg("APP_CONTROL_RESULT_FAILED");
+               break;
+       case APP_CONTROL_RESULT_CANCELED:
+               gl_dbg("APP_CONTROL_RESULT_CANCELED");
+               break;
+       default:
+               gl_dbgE("Unhandled value: %d!", result);
+               break;
+       }
+}
+#endif
+
+int gl_ext_exec(void *data, gl_ext_app_type type)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_item *gitem = (gl_item *)data;
+       GL_CHECK_VAL(gitem->ad, -1);
+       gl_appdata *ad = (gl_appdata *)gitem->ad;
+       GL_CHECK_VAL(gitem->item, -1);
+       GL_CHECK_VAL(gitem->item->file_url, -1);
+       char *path = gitem->item->file_url;
+       app_control_h service = NULL;
+       char *pkg_name = NULL;
+
+       if (ad->uginfo.b_app_called) {
+               gl_dbgE("APP launched, return!");
+               return GL_LAUNCH_FAIL;
+       }
+
+       app_control_create(&service);
+       GL_CHECK_VAL(service, GL_LAUNCH_FAIL);
+
+       __gl_ext_compose_exec_cmd(ad, type, path, &pkg_name, service);
+       if (pkg_name == NULL) {
+               app_control_destroy(service);
+               return GL_LAUNCH_FAIL;
+       }
+
+       int ret = 0;
+       if (type == GL_APP_VIDEOPLAYER) {
+               if (path == NULL) {
+                       app_control_destroy(service);
+                       return GL_LAUNCH_FAIL;
+               }
+               if (__gl_ext_launch_video_player(data, service) != 0) {
+                       app_control_destroy(service);
+                       return GL_LAUNCH_FAIL;
+               }
+       } else {
+               app_control_set_operation(service, APP_CONTROL_OPERATION_DEFAULT);
+               app_control_set_app_id(service, pkg_name);
+               ret = app_control_send_launch_request(service, NULL, NULL);
+               if (ret != APP_CONTROL_ERROR_NONE) {
+                       app_control_destroy(service);
+                       gl_dbgE("app_control_send_launch_request failed[%d]!", ret);
+                       return GL_LAUNCH_FAIL;
+               }
+       }
+
+       ret = app_control_destroy(service);
+       if (ret != APP_CONTROL_ERROR_NONE) {
+               ad->uginfo.b_app_called = true;
+               return GL_LAUNCH_SUCCESS;
+       } else {
+               return GL_LAUNCH_FAIL;
+       }
+}
+
+#ifdef GL_EXTENDED_FEATURES
+static void __gl_ext_popup_resp_cb(void *data, Evas_Object *obj, void *ei)
+{
+       GL_CHECK(obj);
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_IF_DEL_OBJ(ad->popupinfo.popup);
+}
+
+static Eina_Bool __gl_ext_avoid_multi_click_timer_cb(void *data)
+{
+       GL_CHECK_FALSE(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       gl_dbg("");
+       GL_IF_DEL_TIMER(ad->ctrlinfo.avoid_multi_tap);
+       return ECORE_CALLBACK_CANCEL;
+}
+
+/**
+ * Launching Camera application
+ */
+int _gl_ext_load_camera(void *data)
+{
+       gl_dbg("");
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       if (ad->ctrlinfo.avoid_multi_tap)
+               return 0;
+       Ecore_Timer *timer = NULL;
+       timer = ecore_timer_add(2.0, __gl_ext_avoid_multi_click_timer_cb, data);
+       ad->ctrlinfo.avoid_multi_tap = timer;
+
+       int ret = -1;
+       int destroy_ret = -1;
+       app_control_h handle;
+
+       ret = app_control_create(&handle);
+       if (ret != APP_CONTROL_ERROR_NONE) {
+               gl_dbgE("app_control_create failed[%d]!", ret);
+               return GL_LAUNCH_FAIL;
+       }
+
+       ret = app_control_set_operation(handle, APP_CONTROL_OPERATION_DEFAULT);
+       if (ret != APP_CONTROL_ERROR_NONE) {
+               gl_dbgE("app_control_set_operation [%s] failed[%d]!", APP_CONTROL_OPERATION_DEFAULT, ret);
+               goto GL_EXT_LOAD_CAMERA_FINISHED;
+       }
+
+       ret = app_control_set_app_id(handle, GL_APP_PKG_CAMERA_EFL);
+       if (ret != APP_CONTROL_ERROR_NONE) {
+               gl_dbgE("app_control_set_app_id [%s] failed[%d]!", GL_APP_PKG_CAMERA_EFL, ret);
+               goto GL_EXT_LOAD_CAMERA_FINISHED;
+       }
+
+       ret = app_control_add_extra_data(handle, "CALLER", "gallery");
+       if (ret != APP_CONTROL_ERROR_NONE) {
+               gl_dbgE("app_control_add_extra_data failed[%d]!", ret);
+               goto GL_EXT_LOAD_CAMERA_FINISHED;
+       }
+
+       ret = app_control_send_launch_request(handle, __gl_ext_app_control_reply_cb, NULL);
+       if (ret != APP_CONTROL_ERROR_NONE) {
+               gl_dbgE("app_control_send_launch_request failed[%d]!", ret);
+               goto GL_EXT_LOAD_CAMERA_FINISHED;
+       }
+
+GL_EXT_LOAD_CAMERA_FINISHED:
+       destroy_ret = app_control_destroy(handle);
+       if (destroy_ret != APP_CONTROL_ERROR_NONE) {
+               gl_dbgE("app_control_destroy failed[%d]!", destroy_ret);
+               return GL_LAUNCH_FAIL;
+       }
+
+       return (ret == APP_CONTROL_ERROR_NONE ? GL_LAUNCH_SUCCESS : GL_LAUNCH_FAIL);
+
+}
+
+/**
+ * Launching image-editor application
+ */
+int _gl_ext_load_ie(void *data, void *get_path_cb)
+{
+       GL_CHECK_VAL(get_path_cb, -1);
+       GL_CHECK_VAL(data, -1);
+       char *filepath_arg = NULL;
+
+       int (*_get_path_cb) (void *data, gchar sep_c, char **path_str, int *sel_cnt);
+       _get_path_cb = get_path_cb;
+
+       _get_path_cb(data, GL_SEPERATOR_IE, &filepath_arg, NULL);
+       if (filepath_arg == NULL) {
+               gl_dbgE("Failed to get path string!");
+               return GL_LAUNCH_FAIL;
+       }
+
+       gl_dbg("Launch Image-editor");
+       int ret = GL_LAUNCH_FAIL;
+       ret = _gl_ext_load(filepath_arg, APP_CONTROL_OPERATION_EDIT, GL_APP_PKG_IE,
+                          NULL, NULL);
+       if (filepath_arg) {
+               g_free(filepath_arg);
+               filepath_arg = NULL;
+       }
+
+       return ret;
+}
+
+int _gl_ext_load(const char *uri, const char *operation, const char *pkg,
+                const char *pkg_id, const char *mime)
+{
+       gl_dbg("operation: %s, pkg: %s, uri: %s", operation, pkg, uri);
+       int ret = -1;
+       int destroy_ret = -1;
+       app_control_h handle;
+
+       ret = app_control_create(&handle);
+       if (ret != APP_CONTROL_ERROR_NONE) {
+               gl_dbgE("app_control_create failed[%d]!", ret);
+               return GL_LAUNCH_FAIL;
+       }
+
+       ret = app_control_set_operation(handle, operation);
+       if (ret != APP_CONTROL_ERROR_NONE) {
+               gl_dbgE("app_control_set_operation [%s] failed[%d]!", operation,
+                       ret);
+               goto GL_EXT_FAILED;
+       }
+
+       if (mime) {
+               ret = app_control_set_mime(handle, mime);
+               if (ret != APP_CONTROL_ERROR_NONE) {
+                       gl_dbgE("app_control_set_mime [%s] failed[%d]!", mime, ret);
+                       goto GL_EXT_FAILED;
+               }
+       }
+
+       if (uri) {
+               ret = app_control_set_uri(handle, uri);
+               if (ret != APP_CONTROL_ERROR_NONE) {
+                       gl_dbgE("app_control_set_uri [%s] failed[%d]!", uri, ret);
+                       goto GL_EXT_FAILED;
+               }
+       }
+
+       if (pkg) {
+               ret = app_control_set_app_id(handle, pkg);
+               if (ret != APP_CONTROL_ERROR_NONE) {
+                       gl_dbgE("app_control_set_app_id [%s] failed[%d]!", pkg,
+                               ret);
+                       goto GL_EXT_FAILED;
+               }
+       }
+
+       if (pkg_id) {
+               ret = app_control_set_app_id(handle, pkg_id);
+               if (ret != APP_CONTROL_ERROR_NONE) {
+                       gl_dbgE("app_control_set_app_id [%s] failed[%d]!", pkg_id,
+                               ret);
+                       goto GL_EXT_FAILED;
+               }
+       }
+
+       ret = app_control_send_launch_request(handle, __gl_ext_app_control_reply_cb,
+                                         NULL);
+       if (ret != APP_CONTROL_ERROR_NONE) {
+               gl_dbgE("app_control_send_launch_request failed[%d]!", ret);
+               goto GL_EXT_FAILED;
+       }
+
+ GL_EXT_FAILED:
+       destroy_ret = app_control_destroy(handle);
+       if (destroy_ret != APP_CONTROL_ERROR_NONE) {
+               gl_dbgE("app_control_destroy failed[%d]!", destroy_ret);
+               return GL_LAUNCH_FAIL;
+       }
+
+       return (ret == APP_CONTROL_ERROR_NONE ? GL_LAUNCH_SUCCESS : GL_LAUNCH_FAIL);
+}
+
+int _gl_ext_launch_share(void *data, int total_cnt, void *get_path_cb)
+{
+#define GL_SHARE_CNT_MAX 500
+
+       GL_CHECK_VAL(get_path_cb, -1);
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+
+       if (total_cnt == 0) {
+               gl_dbgE("nothing selected!");
+               return -1;
+       } else if (total_cnt > GL_SHARE_CNT_MAX) {
+               char *share_limit_noti = g_strdup_printf(GL_STR_ID_SHARE_LIMIT, GL_SHARE_CNT_MAX);
+               _gl_notify_create_notiinfo(share_limit_noti);
+               GL_FREEIF(share_limit_noti);
+               return -1;
+       }
+
+       char **files = NULL;
+       char *operation = NULL;
+       int ret = -1;
+       files = (char **)calloc(1, sizeof(char *) * total_cnt);
+       GL_CHECK_VAL(files, -1);
+
+       int (*_get_path_cb) (void *data, char **files);
+       _get_path_cb = get_path_cb;
+       int real_cnt = _get_path_cb(data, files);
+       app_control_h service = NULL;
+       if (real_cnt == 0) {
+               gl_dbgE("nothing selected!");
+               goto SHARE_PANEL_END;
+       }
+
+       ret = app_control_create(&service);
+       if (ret != APP_CONTROL_ERROR_NONE) {
+               gl_dbgE("Failed to create service[%d]", ret);
+               goto SHARE_PANEL_END;
+       }
+       char prefix_file[GL_ARRAY_LEN_MAX] = {0,};
+       snprintf(prefix_file, GL_ARRAY_LEN_MAX, "%s%s", GL_SHARE_FILE_PREFIX,
+                files[0]);
+       ret = app_control_set_uri(service, prefix_file);
+       if (ret != APP_CONTROL_ERROR_NONE) {
+               gl_dbgE("app_control_set_uri failed[%d]", ret);
+               goto SHARE_PANEL_END;
+       }
+       if (real_cnt == 1)
+               operation = GL_SHARE_OPERATION_SINGLE;
+       else
+               operation = GL_SHARE_OPERATION_MULTIPLE;
+       ret = app_control_set_operation(service, operation);
+       if (ret != APP_CONTROL_ERROR_NONE) {
+               gl_dbgE("app_control_set_operation failed[%d]", ret);
+               goto SHARE_PANEL_END;
+       }
+       if (real_cnt > 1) {
+               ret = app_control_add_extra_data_array(service, GL_SHARE_SVC_FILE_PATH,
+                                                  (const char **)files,
+                                                  real_cnt);
+               if (ret != APP_CONTROL_ERROR_NONE) {
+                       gl_dbgE("app_control_add_extra_data_array failed[%d]", ret);
+                       goto SHARE_PANEL_END;
+               }
+       }
+       /* set caller window for share panel */
+       ret = app_control_set_window(service, elm_win_xwindow_get(ad->maininfo.win));
+       if (ret != APP_CONTROL_ERROR_NONE) {
+               gl_dbgE("app_control_set_window failed[%d]", ret);
+               goto SHARE_PANEL_END;
+       }
+       ret = app_control_send_launch_request(service, NULL, NULL);
+       if (ret != APP_CONTROL_ERROR_NONE)
+               gl_dbgE("app_control_send_launch_request failed[%d]!", ret);
+
+ SHARE_PANEL_END:
+
+       if (service)
+               app_control_destroy(service);
+       if (files) {
+               for (; real_cnt > 0; --real_cnt)
+                       GL_FREEIF(files[real_cnt - 1]);
+               GL_FREE(files);
+       }
+       if (ret != APP_CONTROL_ERROR_NONE) {
+               _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 -1;
+       }
+       return 0;
+}
+
+int _gl_ext_is_larger_than_share_max(int total_cnt)
+{
+#define GL_SHARE_CNT_MAX 500
+
+       if (total_cnt > GL_SHARE_CNT_MAX) {
+               char limit_str[256] = {0};
+               snprintf(limit_str, sizeof(limit_str), GL_STR_ID_SHARE_LIMIT,
+                        GL_SHARE_CNT_MAX);
+               _gl_notify_create_notiinfo(limit_str);
+               return true;
+       }
+       return false;
+}
+
+int _gl_ext_launch_share_with_files(void *data, int total_cnt, char **files)
+{
+       GL_CHECK_VAL(files, -1);
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       char *operation = NULL;
+       int ret = -1;
+       app_control_h service = NULL;
+
+       if (total_cnt == 0) {
+               gl_dbgE("nothing selected!");
+               goto SHARE_PANEL_END;
+       }
+
+       ret = app_control_create(&service);
+       if (ret != APP_CONTROL_ERROR_NONE) {
+               gl_dbgE("Failed to create service[%d]", ret);
+               goto SHARE_PANEL_END;
+       }
+       char prefix_file[GL_ARRAY_LEN_MAX] = {0,};
+       snprintf(prefix_file, GL_ARRAY_LEN_MAX, "%s%s", GL_SHARE_FILE_PREFIX,
+                files[0]);
+       ret = app_control_set_uri(service, prefix_file);
+       if (ret != APP_CONTROL_ERROR_NONE) {
+               gl_dbgE("app_control_set_uri failed[%d]", ret);
+               goto SHARE_PANEL_END;
+       }
+       if (total_cnt == 1)
+               operation = GL_SHARE_OPERATION_SINGLE;
+       else
+               operation = GL_SHARE_OPERATION_MULTIPLE;
+       ret = app_control_set_operation(service, operation);
+       if (ret != APP_CONTROL_ERROR_NONE) {
+               gl_dbgE("app_control_set_operation failed[%d]", ret);
+               goto SHARE_PANEL_END;
+       }
+       if (total_cnt > 1) {
+               ret = app_control_add_extra_data_array(service, GL_SHARE_SVC_FILE_PATH,
+                                                  (const char **)files,
+                                                  total_cnt);
+               if (ret != APP_CONTROL_ERROR_NONE) {
+                       gl_dbgE("app_control_add_extra_data_array failed[%d]", ret);
+                       goto SHARE_PANEL_END;
+               }
+       }
+       /* set caller window for share panel */
+       ret = app_control_set_window(service, elm_win_xwindow_get(ad->maininfo.win));
+       if (ret != APP_CONTROL_ERROR_NONE) {
+               gl_dbgE("app_control_set_window failed[%d]", ret);
+               goto SHARE_PANEL_END;
+       }
+       ret = app_control_send_launch_request(service, NULL, NULL);
+       if (ret != APP_CONTROL_ERROR_NONE)
+               gl_dbgE("app_control_send_launch_request failed[%d]!", ret);
+
+ SHARE_PANEL_END:
+
+       if (service)
+               app_control_destroy(service);
+       if (ret != APP_CONTROL_ERROR_NONE) {
+               _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 -1;
+       }
+       return 0;
+}
+
+int _gl_ext_launch_image_editor(const char *path_string)
+{
+       GL_CHECK_VAL(path_string, -1);
+
+       gl_dbg("Launch Image-editor");
+       int ret = GL_LAUNCH_FAIL;
+       ret = _gl_ext_load(path_string, APP_CONTROL_OPERATION_EDIT, GL_APP_PKG_IE,
+                          NULL, NULL);
+       return ret;
+}
+
+#ifndef _USE_APP_SLIDESHOW
+int _gl_ext_launch_gallery_ug(void *data)
+{
+#define GL_GALLERY_UG  "gallery-efl-lite"
+#define GL_FILE_TYPE "file-type"
+#define GL_VIEW_BY "view-by"
+#define GL_EXT_STR_BUNDLE_LEN 48
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       int ret = -1;
+       app_control_h service = NULL;
+
+       ret = app_control_create(&service);
+       if (ret != APP_CONTROL_ERROR_NONE) {
+               gl_dbgE("app_control_create failed: 0x%x", ret);
+               return false;
+       }
+       /* set caller window */
+       ret = app_control_set_window(service, elm_win_xwindow_get(ad->maininfo.win));
+       if (ret != APP_CONTROL_ERROR_NONE) {
+               gl_dbgE("set_window failed[%d]", ret);
+               goto GL_EXT_FAILED;
+       }
+       ret = app_control_set_app_id(service, GL_GALLERY_UG);
+       if (ret != APP_CONTROL_ERROR_NONE) {
+               gl_dbgE("set_app_id Failed: 0x%x", ret);
+               goto GL_EXT_FAILED;
+       }
+       ret = app_control_add_extra_data(service, "launch-type",
+                                    "select-slideshow");
+       if (ret != APP_CONTROL_ERROR_NONE) {
+               gl_dbgE("Add launched type failed: 0x%x", ret);
+               goto GL_EXT_FAILED;
+       }
+       ret = app_control_add_extra_data(service, "indicator-state", "hide");
+       if (ret != APP_CONTROL_ERROR_NONE) {
+               gl_dbgE("Add indicator state failed: 0x%x", ret);
+               goto GL_EXT_FAILED;
+       }
+
+       int view_mode = gl_get_view_mode(ad);
+       gl_dbg("view_mode: %d", view_mode);
+       ret = app_control_add_extra_data(service, GL_FILE_TYPE, "all");
+       gl_dbg("Media type: All");
+       if (ret != APP_CONTROL_ERROR_NONE) {
+               gl_dbgE("Add media type failed: 0x%x", ret);
+               goto GL_EXT_FAILED;
+       }
+
+       int tab_mode = _gl_ctrl_get_tab_mode(ad);
+       gl_dbg("tab_mode: %d", tab_mode);
+       switch (tab_mode) {
+       case GL_CTRL_TAB_ALBUMS:
+       {
+               char *album_id = NULL;
+               gl_cluster *cur_album = _gl_albums_get_current(data);
+               if (cur_album && cur_album->cluster &&
+                  cur_album->cluster->uuid) {
+                       album_id = g_strdup(cur_album->cluster->uuid);
+               }
+               if (album_id) {
+                       ret = app_control_add_extra_data(service, GL_VIEW_BY,
+                                                    "albums1");
+                       if (ret != APP_CONTROL_ERROR_NONE) {
+                               gl_dbgE("Add view by failed: 0x%x", ret);
+                               goto GL_EXT_FAILED;
+                       }
+                       ret = app_control_add_extra_data(service, "album-id",
+                                                    album_id);
+                       if (ret != APP_CONTROL_ERROR_NONE) {
+                               gl_dbgE("Add album id failed: 0x%x", ret);
+                               goto GL_EXT_FAILED;
+                       }
+                       GL_GFREE(album_id);
+               } else {
+                       gl_dbg("Albums2");
+                       ret = app_control_add_extra_data(service, GL_VIEW_BY,
+                                                    "all");
+                       if (ret != APP_CONTROL_ERROR_NONE) {
+                               gl_dbgE("Add view by failed: 0x%x", ret);
+                               goto GL_EXT_FAILED;
+                       }
+               }
+               break;
+       }
+       case GL_CTRL_TAB_TIMELINE:
+               ret = app_control_add_extra_data(service, GL_VIEW_BY, "all");
+               if (ret != APP_CONTROL_ERROR_NONE) {
+                       gl_dbgE("Add view by failed: 0x%x", ret);
+                       goto GL_EXT_FAILED;
+               }
+               break;
+       default:
+               gl_dbgE("Wrong tab mode!");
+               goto GL_EXT_FAILED;
+       }
+
+       ret = app_control_send_launch_request(service, __gl_ext_app_control_reply_cb,
+                                         NULL);
+       if (ret != APP_CONTROL_ERROR_NONE) {
+               gl_dbgE("app_control_send_launch_request Failed: 0x%x", ret);
+               goto GL_EXT_FAILED;
+       }
+
+       app_control_destroy(service);
+       return 0;
+
+ GL_EXT_FAILED:
+
+       app_control_destroy(service);
+       return -1;
+}
+#endif
+#endif
+
diff --git a/src/util/gl-ext-ug-load.c b/src/util/gl-ext-ug-load.c
new file mode 100755 (executable)
index 0000000..d60274d
--- /dev/null
@@ -0,0 +1,925 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#include <Elementary.h>
+#include "gl-ext-ug-load.h"
+#include "gl-ext-exec.h"
+#include "gl-debug.h"
+#include "gl-ui-util.h"
+#include "gl-util.h"
+#include "gl-albums.h"
+#include "gl-thumbs.h"
+#include "gl-thumbs-edit.h"
+#include "gallery.h"
+#include "gl-popup.h"
+#include "gl-strings.h"
+#include "gl-controlbar.h"
+#include "gl-db-update.h"
+#include "gl-notify.h"
+#include "gl-timeline.h"
+
+#define GL_EXT_STR_BUNDLE_LEN 48
+
+#define GL_UG_PKG_IV                   "image-viewer-efl"
+#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_VIEW_BY_FOLER       "By Folder"
+#define GL_ARGV_IV_VIEW_BY_ALL         "All"
+#define GL_ARGV_IV_MEDIA_TYPE                  "Media type"
+#define GL_ARGV_IV_MEDIA_ALL                   "All"
+#define GL_ARGV_IV_MEDIA_IMAGE                 "Image"
+#define GL_ARGV_IV_MEDIA_VIDEO                 "Video"
+#define GL_ARGV_IV_ALBUM_INDEX                 "Album index"
+#define GL_ARGV_IV_SORT_BY                     "Sort By"
+#define GL_ARGV_IV_SORT_NAME                   "Name"
+#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"
+#define GL_ARGV_IV_INDEX_VALUE "1"
+
+static void __gl_appcontrol_select_result_cb(app_control_h request, app_control_h reply, app_control_result_e result, void *user_data)
+{
+       GL_CHECK(user_data);
+       gl_appdata *ad = (gl_appdata *)user_data;
+       int i;
+       bool in_list = false;
+       char **select_result = NULL;
+       int count = 0;
+       Eina_List *l = NULL;
+       gl_item *data = NULL;
+       int sel_count = 0;
+       int view_mode = gl_get_view_mode(ad);
+       gl_item *gitem = NULL;
+
+       gitem = eina_list_nth (ad->gridinfo.medias_elist,0);
+       if(gitem && strcmp(gitem->album->cluster->uuid,GL_ALBUM_FAVOURITE_ID) == 0) {
+               app_control_get_extra_data_array(reply, "Selected index fav", &select_result, &count);
+       } else {
+               app_control_get_extra_data_array(reply, "Selected index", &select_result, &count);
+       }
+
+       int tab_mode = _gl_ctrl_get_tab_mode(ad);
+       if (tab_mode == GL_CTRL_TAB_TIMELINE) {
+               _gl_update_timeview_iv_select_mode_reply(ad, select_result, count);
+               return;
+       }
+
+       if (select_result) {
+               if(gitem && strcmp(gitem->album->cluster->uuid,GL_ALBUM_FAVOURITE_ID) == 0) {
+                       EINA_LIST_FOREACH(ad->gridinfo.medias_elist, l, data) {
+                               if (!data || !data->item) {
+                                       continue;
+                               }
+                               in_list = false;
+                               for (i = 0; i < count; i++) {
+                                       if (!strcmp(select_result[i], data->item->file_url)) {
+                                               if (!data->checked) {
+                                                       Eina_List *sel_list1 = ad->selinfo.fav_elist;
+                                                       sel_list1 = eina_list_append(sel_list1, data);
+                                                       ad->selinfo.fav_elist = sel_list1;
+                                                       data->album->elist = eina_list_append(data->album->elist, data);
+                                                       data->checked = true;
+                                               }
+                                               in_list = true;
+                                               sel_count++;
+                                               break;
+                                       }
+                               }
+                               if (!in_list) {
+                                       if (data->checked) {
+                                               _gl_data_selected_fav_list_remove(ad, data);
+                                               data->album->elist = eina_list_remove(data->album->elist, data);
+                                               data->checked = false;
+                                       }
+                               }
+                       }
+               }else {
+                       EINA_LIST_FOREACH(ad->gridinfo.medias_elist, l, data) {
+                               if (!data || !data->item) {
+                                       continue;
+                               }
+                               in_list = false;
+                               for (i = 0; i < count; i++) {
+                                       if (!strcmp(select_result[i], data->item->file_url)) {
+                                               if (!data->checked) {
+                                                       _gl_data_selected_list_append(ad, data);
+                                                       data->album->elist = eina_list_append(data->album->elist, data);
+                                                       data->checked = true;
+                                               }
+                                               in_list = true;
+                                               sel_count++;
+                                               break;
+                                       }
+                               }
+                               if (!in_list) {
+                                       if (data->checked) {
+                                               _gl_data_selected_list_remove(ad, data);
+                                               data->album->elist = eina_list_remove(data->album->elist, data);
+                                               data->checked = false;
+                                       }
+                               }
+                       }
+               }
+       } else {
+               if(gitem && strcmp(gitem->album->cluster->uuid,GL_ALBUM_FAVOURITE_ID) == 0) {
+                       EINA_LIST_FOREACH(ad->gridinfo.medias_elist, l, data) {
+                               if (!data || !data->item) {
+                                       continue;
+                               }
+                               if (data->checked) {
+                                       _gl_data_selected_fav_list_remove(ad, data);
+                                       data->album->elist = eina_list_remove(data->album->elist, data);
+                                       data->checked = false;
+                               }
+                       }
+               } else {
+                       EINA_LIST_FOREACH(ad->gridinfo.medias_elist, l, data) {
+                               if (!data || !data->item) {
+                                       continue;
+                               }
+                               if (data->checked) {
+                                       _gl_data_selected_list_remove(ad, data);
+                                       data->album->elist = eina_list_remove(data->album->elist, data);
+                                       data->checked = false;
+                               }
+                       }
+               }
+       }
+
+       data = eina_list_nth(ad->gridinfo.medias_elist, 0);
+       if (data && data->album && data->album->item) {
+               char buf[GL_ALBUM_NAME_LEN_MAX] = { 0, };
+               if (sel_count > 0) {
+                       elm_object_item_signal_emit(data->album->item,
+                                       "elm,state,elm.text.badge,visible",
+                                       "elm");
+               } else {
+                       elm_object_item_signal_emit(data->album->item,
+                                       "elm,state,elm.text.badge,hidden",
+                                       "elm");
+               }
+               elm_gengrid_item_fields_update(data->album->item, "elm.text.badge", ELM_GENGRID_ITEM_FIELD_TEXT);
+       }
+       int total_selected_count = eina_list_count(ad->selinfo.elist)+eina_list_count(ad->selinfo.fav_elist);
+       int item_cnt = eina_list_count(ad->gridinfo.medias_elist);
+       if (view_mode == GL_VIEW_THUMBS_EDIT) {
+               _gl_notify_check_selall(ad, ad->gridinfo.nf_it, item_cnt, sel_count);
+               /* Update the label text */
+               _gl_thumbs_update_label_text(ad->gridinfo.nf_it, total_selected_count, false);
+               elm_gengrid_realized_items_update(ad->gridinfo.view);
+       } else if (view_mode == GL_VIEW_THUMBS_SELECT) {
+               _gl_notify_check_selall(ad, ad->albuminfo.nf_it_select, item_cnt,
+                               sel_count);
+               /* Update the label text */
+               _gl_ui_update_navi_title_text(ad->albuminfo.nf_it_select, total_selected_count, false);
+               elm_gengrid_realized_items_update(ad->gridinfo.select_view);
+       }
+
+       for (i = 0; i < count; i++) {
+               if (select_result[i]) {
+                       free (select_result[i]);
+               }
+       }
+       if (select_result) {
+               free(select_result);
+       }
+}
+
+
+static void __gl_appcontrol_result_cb(app_control_h request, app_control_h reply, app_control_result_e result, void *user_data)
+{
+       GL_CHECK(user_data);
+       gl_appdata *ad = (gl_appdata *)user_data;
+       char *delete_result = NULL;
+       app_control_get_extra_data(reply, "delete file", &delete_result);
+       if (delete_result) {
+               _gl_db_update_lock_once(ad, true);
+               gl_update_view(ad, GL_UPDATE_VIEW_INOTIFY);
+               _gl_db_update_lock_once(ad, false);
+               GL_FREE(delete_result);
+       }
+
+       if (ad->uginfo.ug_type == GL_UG_GALLERY_SETTING_SLIDESHOW) {
+               char *start = NULL;
+               app_control_get_extra_data(reply, "Result", &start);
+               if (start) {
+                       gl_dbg("start string:%s", start);
+                       if (!g_strcmp0(start, "StartSlideShow")) {
+                               ad->uginfo.b_start_slideshow = true;
+                       } else {
+                               ad->uginfo.b_start_slideshow = false;
+                       }
+                       GL_FREE(start);
+               }
+       }
+       void *cb = evas_object_data_get(ad->maininfo.naviframe,
+                                       GL_NAVIFRAME_UG_RESULT_KEY);
+       gl_sdbg("result_cb [%p]", cb);
+       if (cb) {
+               int (*result_cb) (void *data, app_control_h ret_h);
+               result_cb = cb;
+               result_cb(ad, reply);
+       }
+
+       GL_CHECK(ad->uginfo.ug);
+       app_control_destroy(ad->uginfo.ug);
+       ad->uginfo.ug = NULL;
+       /* Clear type first */
+       ad->uginfo.ug_type = -1;
+       ad->uginfo.iv_type = -1;
+
+       cb = evas_object_data_get(ad->maininfo.naviframe,
+                                       GL_NAVIFRAME_UG_UPDATE_KEY);
+       gl_sdbg("update_cb [%p]", cb);
+       if (cb) {
+               int (*update_cb) (void *data);
+               update_cb = cb;
+               update_cb(ad);
+       }
+       /*Enable the focus permission of the app layout,or else the app layout can't flick the highlight*/
+       elm_object_tree_focus_allow_set(ad->maininfo.layout, EINA_TRUE);
+       elm_object_focus_set(ad->maininfo.layout, EINA_TRUE);
+
+       elm_win_indicator_mode_set(ad->maininfo.win, ELM_WIN_INDICATOR_SHOW);
+       elm_win_indicator_opacity_set(ad->maininfo.win, ELM_WIN_INDICATOR_TRANSPARENT);
+       _gl_ui_set_conform_overlap(ad->maininfo.naviframe);
+
+       if (ad->uginfo.b_start_slideshow) {
+               ad->uginfo.b_start_slideshow = false;
+               ad->uginfo.ug = NULL;
+               /* Clear type first */
+               ad->uginfo.ug_type = -1;
+               ad->uginfo.iv_type = -1;
+               void *cb = evas_object_data_get(ad->maininfo.naviframe,
+                                               GL_NAVIFRAME_SLIDESHOW_DATA_KEY);
+               gl_sdbg("StartSlideShow[%p]", cb);
+               if (cb) {
+                       evas_object_data_set(ad->maininfo.naviframe,
+                                            GL_NAVIFRAME_SLIDESHOW_DATA_KEY,
+                                            NULL);
+                       int (*start_slideshow) (void *data);
+                       start_slideshow = cb;
+                       start_slideshow(user_data);
+               }
+       }
+#ifdef _USE_APP_SLIDESHOW
+       else if (ad->uginfo.b_selected_slideshow) {
+               ad->uginfo.b_selected_slideshow = false;
+               cb = evas_object_data_get(ad->maininfo.naviframe,
+                                               GL_NAVIFRAME_SELECTED_SLIDESHOW_KEY);
+               gl_sdbg("selected_slideshow [%p]", cb);
+               if (cb) {
+                       evas_object_data_set(ad->maininfo.naviframe,
+                                            GL_NAVIFRAME_SELECTED_SLIDESHOW_KEY,
+                                            NULL);
+                       int (*selected_slideshow_update) (void *data);
+                       selected_slideshow_update = cb;
+                       selected_slideshow_update(user_data);
+               }
+       }
+#endif
+       evas_object_data_set(ad->maininfo.naviframe,
+                            GL_NAVIFRAME_UG_RESULT_KEY, NULL);
+       evas_object_data_set(ad->maininfo.naviframe,
+                            GL_NAVIFRAME_UG_UPDATE_KEY, NULL);
+}
+
+#ifdef _USE_APP_SLIDESHOW
+static char **__gl_ext_get_select_index(void *data, int *size)
+{
+       GL_CHECK_NULL(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_CHECK_NULL(ad->selinfo.elist);
+       gl_item *current = NULL;
+       char *index = NULL;
+       int i = 0;
+       char **media_index = NULL;
+       int pos = 0;
+       int sel_cnt = _gl_data_selected_list_count(ad);
+
+       media_index = (char **)calloc(sel_cnt, sizeof(char *));
+       GL_CHECK_NULL(media_index);
+       gl_dbg("select media count: %d", sel_cnt);
+
+       for (i = 0; i < sel_cnt; ++i) {
+               current = eina_list_nth(ad->selinfo.elist, i);
+               index = (char *)calloc(1, GL_INTERGER_LEN_MAX);
+               if (current == NULL || current->item == NULL || index == NULL) {
+                       for (pos = 0; pos < i; ++pos) {
+                               GL_FREEIF(media_index[pos]);
+                       }
+
+                       GL_FREEIF(index);
+                       GL_FREE(media_index);
+                       return NULL;
+               }
+               gl_dbg("Sequence: %d", current->sequence);
+               snprintf(index, GL_INTERGER_LEN_MAX, "%d",
+                        current->sequence - 1);
+               media_index[i] = index;
+               index = NULL;
+       }
+
+       if (size)
+               *size = sel_cnt;
+
+       /* Clear selected list */
+       _gl_data_selected_list_finalize(ad);
+       return media_index;
+}
+
+/* Slideshow selected images */
+static int __gl_ext_slideshow_selected(void *data, app_control_h service)
+{
+       GL_CHECK_VAL(service, GL_UG_FAIL);
+       GL_CHECK_VAL(data, GL_UG_FAIL);
+       gl_appdata *ad = (gl_appdata *)data;
+       char **media_index = NULL;
+       int media_size = 0;
+
+       media_index = __gl_ext_get_select_index(ad, &media_size);
+       if (media_index == NULL) {
+               gl_dbgE("Invalid select index!");
+               return GL_UG_FAIL;
+       }
+       gl_dbg("Set selected medias, media_index[%p], size[%d]", media_index,
+              media_size);
+       app_control_add_extra_data_array(service, GL_ARGC_SELECTED_FILES,
+                                    (const char **)media_index, media_size);
+       /*free space of the medias index*/
+       int i = 0;
+       for (i = 0; i < media_size; ++i) {
+               GL_FREEIF(media_index[i]);
+       }
+       GL_FREE(media_index);
+       media_index = NULL;
+
+       app_control_add_extra_data(service, GL_ARGV_IV_INDEX,
+                              GL_ARGV_IV_INDEX_VALUE);
+       return GL_UG_SUCCESS;
+}
+#endif
+
+static int __gl_ext_add_sortby(app_control_h service, int sort)
+{
+       GL_CHECK_VAL(service, GL_UG_FAIL);
+
+       switch (sort) {
+       case GL_SORT_BY_NAME_DESC:
+               /* Sort by display name descending */
+               app_control_add_extra_data(service, GL_ARGV_IV_SORT_BY,
+                                      GL_ARGV_IV_SORT_NAMEDESC);
+               gl_dbg("Name descending");
+               break;
+       case GL_SORT_BY_NAME_ASC:
+               /* Sort by display name ascending */
+               app_control_add_extra_data(service, GL_ARGV_IV_SORT_BY,
+                                      GL_ARGV_IV_SORT_NAME);
+               gl_dbg("Name ascending");
+               break;
+       case GL_SORT_BY_DATE_DESC:
+               /* Sort by modified_date descending */
+               app_control_add_extra_data(service, GL_ARGV_IV_SORT_BY,
+                                      GL_ARGV_IV_SORT_DATEDESC);
+               gl_dbg("Date descending");
+               break;
+       case GL_SORT_BY_DATE_ASC:
+               /* Sort by modified_date ascending */
+               app_control_add_extra_data(service, GL_ARGV_IV_SORT_BY,
+                                      GL_ARGV_IV_SORT_DATE);
+               gl_dbg("Date ascending");
+               break;
+       default:
+               /* No Sort, use  GL_SORT_BY_NAME_ASC */
+               app_control_add_extra_data(service, GL_ARGV_IV_SORT_BY,
+                                      GL_ARGV_IV_SORT_NAME);
+               gl_dbg("no sort, use default Name ascending");
+               break;
+       }
+       return 0;
+}
+
+static void __gl_ext_popup_resp_cb(void *data, Evas_Object *obj, void *ei)
+{
+       GL_CHECK(obj);
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_IF_DEL_OBJ(ad->popupinfo.popup);
+}
+
+static int __gl_ext_set_thumbs_mode(void *data, app_control_h service, int type)
+{
+       GL_CHECK_VAL(service, GL_UG_FAIL);
+       GL_CHECK_VAL(data, GL_UG_FAIL);
+
+       /* 2.0, Local file */
+       if (GL_UG_IV_SLIDESHOW == type ||
+#ifdef _USE_APP_SLIDESHOW
+           GL_UG_IV_SLIDESHOW_SELECTED == type ||
+#endif
+           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_MEDIA_TYPE,
+                              GL_ARGV_IV_MEDIA_ALL);
+       gl_dbg("Media type: All");
+       return GL_UG_SUCCESS;
+}
+static int __gl_ext_albums_set_iv(void *data, app_control_h service, int type, gl_item *item)
+{
+       GL_CHECK_VAL(service, GL_UG_FAIL);
+       GL_CHECK_VAL(data, GL_UG_FAIL);
+       gl_cluster *cur_album = _gl_albums_get_current(data);
+       gl_dbg("type: %d", type);
+
+       /* 2.0, Local file */
+       if (__gl_ext_set_thumbs_mode(data, service, type) == GL_UG_FAIL)
+               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 &&
+                  cur_album->cluster->uuid) {
+               gl_sdbg("album id: %s", cur_album->cluster->uuid);
+
+               if (!strcmp(GL_ALBUM_FAVOURITE_ID, cur_album->cluster->uuid)) {
+                       app_control_add_extra_data(service, GL_ARGV_IV_VIEW_BY, GL_ARGV_IV_VIEW_BY_FAVORITES);
+               } else {
+                       app_control_add_extra_data(service, GL_ARGV_IV_VIEW_BY, GL_ARGV_IV_VIEW_BY_FOLER);
+               }
+
+               app_control_add_extra_data(service, GL_ARGV_IV_ALBUM_INDEX,
+                                      cur_album->cluster->uuid);
+       }
+       return GL_UG_SUCCESS;
+}
+
+static int __gl_ext_albums_set_iv_select_mode(void *data, app_control_h service, int type)
+{
+       GL_CHECK_VAL(service, GL_UG_FAIL);
+       GL_CHECK_VAL(data, GL_UG_FAIL);
+       gl_appdata *ad = (gl_appdata *)data;
+       gl_cluster *cur_album = _gl_albums_get_current(data);
+       gl_dbg("type: %d", type);
+
+       /* 2.0, Local file */
+       app_control_add_extra_data(service, GL_ARGV_IV_VIEW_MODE,
+                       "SELECT");
+
+       app_control_add_extra_data(service, GL_ARGV_IV_MEDIA_TYPE,
+                       GL_ARGV_IV_MEDIA_ALL);
+
+       int tab_mode = _gl_ctrl_get_tab_mode(ad);
+       switch (tab_mode) {
+       case GL_CTRL_TAB_ALBUMS:
+               if (cur_album && cur_album->cluster &&
+                               cur_album->cluster->uuid) {
+                       if (!strcmp(GL_ALBUM_ALL_ID, cur_album->cluster->uuid)) {
+                               app_control_add_extra_data(service, GL_ARGV_IV_VIEW_BY, GL_ARGV_IV_VIEW_BY_ALL);
+                       } else if (!strcmp(GL_ALBUM_FAVOURITE_ID, cur_album->cluster->uuid)) {
+                               app_control_add_extra_data(service, GL_ARGV_IV_VIEW_BY, GL_ARGV_IV_VIEW_BY_FAVORITES);
+                       } else {
+                               app_control_add_extra_data(service, GL_ARGV_IV_VIEW_BY, GL_ARGV_IV_VIEW_BY_FOLER);
+                       }
+
+                       app_control_add_extra_data(service, GL_ARGV_IV_ALBUM_INDEX,
+                                       cur_album->cluster->uuid);
+                       if (ad->gridinfo.media_display_order == ORDER_ASC) {
+                               ad->uginfo.sort_type = GL_SORT_BY_DATE_ASC;
+                       } else if (ad->gridinfo.media_display_order == ORDER_DESC) {
+                               ad->uginfo.sort_type = GL_SORT_BY_DATE_DESC;
+                       }
+               }
+               break;
+       case GL_CTRL_TAB_TIMELINE:
+               app_control_add_extra_data(service, GL_ARGV_IV_VIEW_BY, GL_ARGV_IV_VIEW_BY_ALL);
+               app_control_add_extra_data(service, GL_ARGV_IV_ALBUM_INDEX, GL_ALBUM_ALL_ID);
+               break;
+       default:
+               gl_dbgE("Wrong tab mode!");
+       }
+       return GL_UG_SUCCESS;
+}
+
+static int _gl_ext_load_iv_selected_list(app_control_h service, void *data)
+{
+       GL_CHECK_VAL(data, GL_UG_FAIL);
+       GL_CHECK_VAL(service, GL_UG_FAIL);
+       gl_appdata *ad = (gl_appdata *)data;
+       int i;
+       gl_item *gitem = NULL;
+       int count = eina_list_count(ad->selinfo.elist);
+       int count_fav= eina_list_count(ad->selinfo.fav_elist);
+
+       char **value = NULL;
+       char **value_fav = NULL;
+       if (count > 0) {
+               (value) = (char**)malloc( count * sizeof (char *));
+               if (!value) {
+                       return GL_UG_FAIL;
+               }
+       }
+       if (count_fav > 0) {
+               (value_fav) = (char**)malloc( count_fav * sizeof (char *));
+               if (!value_fav) {
+                       return GL_UG_FAIL;
+               }
+       }
+
+       for (i = 0; i < count; i++) {
+               gitem = eina_list_nth(ad->selinfo.elist, i);
+               if (gitem) {
+                       if (gitem->item) {
+                               (value)[i] = strdup(gitem->item->file_url);
+                       }
+               }
+       }
+       for (i = 0; i < count_fav; i++) {
+               gitem = eina_list_nth(ad->selinfo.fav_elist, i);
+               if (gitem) {
+                       if (gitem->item) {
+                               (value_fav)[i] = strdup(gitem->item->file_url);
+                       }
+               }
+       }
+       if (count > 0) {
+               app_control_add_extra_data_array(service, "Selected index",
+                               value, count);
+       }
+       if (count_fav > 0) {
+               app_control_add_extra_data_array(service, "Selected index fav",
+                               value_fav, count_fav);
+       }
+
+
+       if (value) {
+               for (i = 0; i < count; i++) {
+                       free(value[i]);
+               }
+               free(value);
+       }
+
+       if (value_fav) {
+               for (i = 0; i < count_fav; i++) {
+                       free(value_fav[i]);
+               }
+               free(value_fav);
+       }
+
+       return GL_UG_SUCCESS;
+}
+
+int gl_ext_load_iv_time_ug_select_mode(void *data, gl_media_s *item, gl_ext_iv_type type, int sort_type)
+{
+       GL_CHECK_VAL(data, GL_UG_FAIL);
+       gl_appdata *ad = (gl_appdata *)data;
+
+       int ret;
+       if (sort_type == ORDER_ASC) {
+               ad->uginfo.sort_type = GL_SORT_BY_DATE_ASC;
+       } else if (sort_type == ORDER_DESC) {
+               ad->uginfo.sort_type = GL_SORT_BY_DATE_DESC;
+       }
+       ret = gl_ext_load_iv_ug_select_mode (data, item, type);
+
+       return ret;
+}
+
+int gl_ext_load_iv_ug_select_mode(void *data, gl_media_s *item, gl_ext_iv_type type)
+{
+       GL_CHECK_VAL(item, GL_UG_FAIL);
+       GL_CHECK_VAL(data, GL_UG_FAIL);
+       gl_appdata *ad = (gl_appdata *)data;
+       app_control_h service = NULL;
+
+       if (ad->uginfo.ug) {
+               gl_dbgE("Already exits some UG called by me, type(%d)!", type);
+               return GL_UG_FAIL;
+       }
+
+       app_control_create(&service);
+       GL_CHECK_VAL(service, GL_UG_FAIL);
+
+       ad->uginfo.ug_type = GL_UG_IMAGEVIEWER;
+       ad->uginfo.iv_type = type;
+
+       int ret = GL_UG_FAIL;
+       ret = __gl_ext_albums_set_iv_select_mode(data, service, type);
+
+       if (ret == GL_UG_FAIL) {
+               gl_dbgW("Service data setting failed!");
+               app_control_destroy(service);
+               return GL_UG_FAIL;
+       }
+
+       app_control_add_extra_data(service, GL_ARGV_IV_PATH, item->file_url);
+       __gl_ext_add_sortby(service, ad->uginfo.sort_type);
+
+       int tab_mode = _gl_ctrl_get_tab_mode(ad);
+       switch (tab_mode) {
+       case GL_CTRL_TAB_ALBUMS:
+               _gl_ext_load_iv_selected_list(service, ad);
+               break;
+       case GL_CTRL_TAB_TIMELINE:
+               _gl_ext_load_time_iv_selected_list(service, ad);
+               break;
+       default:
+               gl_dbgE("Wrong tab mode!");
+       }
+
+       ret = app_control_set_launch_mode(service, APP_CONTROL_LAUNCH_MODE_GROUP);
+       if (ret != APP_CONTROL_ERROR_NONE) {
+               gl_dbgE("set launch mode failed");
+       }
+       ret = app_control_set_app_id(service, GL_UG_PKG_IV);
+       if (ret != APP_CONTROL_ERROR_NONE) {
+               gl_dbgE("set appid failed");
+       }
+       ret = app_control_send_launch_request(service, __gl_appcontrol_select_result_cb, (void *)ad);
+
+       //ad->uginfo.ug = service;
+       app_control_destroy(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 {
+               elm_object_tree_focus_allow_set(ad->maininfo.layout, EINA_FALSE);
+               ad->uginfo.b_ug_launched = true;
+               return GL_UG_SUCCESS;
+       }
+}
+
+/* Invoke Imageviewer UG */
+int gl_ext_load_iv_ug(void *data, gl_item *item, gl_ext_iv_type type)
+{
+       GL_CHECK_VAL(item, GL_UG_FAIL);
+       GL_CHECK_VAL(item->item, GL_UG_FAIL);
+       GL_CHECK_VAL(data, GL_UG_FAIL);
+       gl_appdata *ad = (gl_appdata *)data;
+       //GL_CHECK_VAL(ad->maininfo.win, GL_UG_FAIL);
+       //Evas_Object *win = ad->maininfo.win;
+       app_control_h service = NULL;
+       gl_dbg("type: %d", type);
+
+       if (ad->uginfo.ug) {
+               gl_dbgE("Already exits some UG called by me, type(%d)!", type);
+               return GL_UG_FAIL;
+       }
+
+       app_control_create(&service);
+       GL_CHECK_VAL(service, GL_UG_FAIL);
+
+       //UG_INIT_EFL(win, UG_OPT_INDICATOR_ENABLE);
+       ad->uginfo.ug_type = GL_UG_IMAGEVIEWER;
+       ad->uginfo.iv_type = type;
+
+       int ret = GL_UG_FAIL;
+       int tab_mode = _gl_ctrl_get_tab_mode(ad);
+       switch (tab_mode) {
+       case GL_CTRL_TAB_ALBUMS:
+               ret = __gl_ext_albums_set_iv(data, service, type, item);
+               break;
+       case GL_CTRL_TAB_TIMELINE:
+               ret = __gl_ext_albums_set_iv(data, service, type, item);
+               break;
+       default:
+               gl_dbgE("Wrong tab mode!");
+       }
+
+       if (ret == GL_UG_FAIL) {
+               gl_dbgW("Service data setting failed!");
+               app_control_destroy(service);
+               return GL_UG_FAIL;
+       }
+
+       app_control_add_extra_data(service, GL_ARGV_IV_PATH, item->item->file_url);
+
+       /* Sort by type */
+       if (ad->gridinfo.media_display_order == ORDER_ASC) {
+               ad->uginfo.sort_type = GL_SORT_BY_DATE_ASC;
+       } else if (ad->gridinfo.media_display_order == ORDER_DESC) {
+               ad->uginfo.sort_type = GL_SORT_BY_DATE_DESC;
+       }
+       __gl_ext_add_sortby(service, ad->uginfo.sort_type);
+
+#ifdef _USE_APP_SLIDESHOW
+       if (type == GL_UG_IV_SLIDESHOW_SELECTED) {
+               if (__gl_ext_slideshow_selected(ad, service) == GL_UG_FAIL) {
+                       gl_dbgE("Failed to slideshow selected files!");
+                       app_control_destroy(service);
+                       return GL_UG_FAIL;
+               }
+               ad->uginfo.b_selected_slideshow = true;
+       } else
+#endif
+       if (type == GL_UG_IV_SLIDESHOW_ALL ||
+           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) {
+               char sequence_str[GL_INTERGER_LEN_MAX] = { 0, };
+               eina_convert_itoa(item->sequence, sequence_str);
+               gl_dbg("sequence : %s", sequence_str);
+               app_control_add_extra_data(service, GL_ARGV_IV_INDEX, sequence_str);
+       }
+       ret = app_control_set_launch_mode(service, APP_CONTROL_LAUNCH_MODE_GROUP);
+       if (ret != APP_CONTROL_ERROR_NONE) {
+               gl_dbgE("set launch mode failed");
+       }
+       ret = app_control_set_app_id(service, GL_UG_PKG_IV);
+       if (ret != APP_CONTROL_ERROR_NONE) {
+               gl_dbgE("set appid failed");
+       }
+       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) {
+               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 {
+               elm_object_tree_focus_allow_set(ad->maininfo.layout, EINA_FALSE);
+               ad->uginfo.b_ug_launched = true;
+               return GL_UG_SUCCESS;
+       }
+}
+
+/* Invoke Imageviewer UG from timeline view */
+int _gl_ext_load_iv_timeline(void *data, const char *path, int sequence, int sort_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);
+       //Evas_Object *win = ad->maininfo.win;
+       app_control_h service = NULL;
+
+       if (ad->uginfo.ug) {
+               gl_dbgE("Already exits some UG called by me!");
+               return GL_UG_FAIL;
+       }
+
+       app_control_create(&service);
+       GL_CHECK_VAL(service, GL_UG_FAIL);
+
+       //UG_INIT_EFL(win, UG_OPT_INDICATOR_ENABLE);
+       ad->uginfo.ug_type = GL_UG_IMAGEVIEWER;
+       ad->uginfo.iv_type = GL_UG_IV;
+
+       /* Local file */
+       app_control_add_extra_data(service, GL_ARGV_IV_MEDIA_TYPE,
+                              GL_ARGV_IV_MEDIA_ALL);
+       gl_dbg("Media type: All");
+       /* 'All' album->thumbnails view */
+       app_control_add_extra_data(service, GL_ARGV_IV_VIEW_BY,
+                              GL_ARGV_IV_VIEW_BY_ALL);
+       gl_dbg("View By: All");
+
+       app_control_add_extra_data(service, GL_ARGV_IV_PATH, path);
+
+       /* Sort by type */
+       if (sort_type == ORDER_ASC) {
+               ad->uginfo.sort_type = GL_SORT_BY_DATE_ASC;
+       } else if (sort_type == ORDER_DESC) {
+               ad->uginfo.sort_type = GL_SORT_BY_DATE_DESC;
+       }
+       __gl_ext_add_sortby(service, ad->uginfo.sort_type);
+       char sequence_str[GL_INTERGER_LEN_MAX] = { 0, };
+       eina_convert_itoa(sequence, sequence_str);
+       gl_dbg("sequence: %s", sequence_str);
+       app_control_add_extra_data(service, GL_ARGV_IV_INDEX, sequence_str);
+       ret = app_control_set_launch_mode(service, APP_CONTROL_LAUNCH_MODE_GROUP);
+       if (ret != APP_CONTROL_ERROR_NONE) {
+               gl_dbgE("set launch mode failed");
+       }
+
+       ret = app_control_set_app_id(service, GL_UG_PKG_IV);
+       if (ret != APP_CONTROL_ERROR_NONE) {
+               gl_dbgE("set appid failed");
+       }
+       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) {
+               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 {
+               /*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);
+               ad->uginfo.b_ug_launched = true;
+               return GL_UG_SUCCESS;
+
+       }
+}
+
+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;
+}
+
diff --git a/src/util/gl-file-util.c b/src/util/gl-file-util.c
new file mode 100644 (file)
index 0000000..edc598a
--- /dev/null
@@ -0,0 +1,272 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#include "gl-file-util.h"
+#include "gl-debug.h"
+#include <libgen.h>
+#include <unistd.h>
+
+static mode_t default_mode = S_IRUSR | S_IWUSR | S_IXUSR | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH;
+
+char *gl_file_dir_get(const char path[])
+{
+       char *p = NULL;
+       char buf[256] = {0,};
+       struct stat info = {0,};
+
+       if (stat(path, &info) == 0) {
+               strncpy(buf, path, 256);
+               buf[256 - 1] = 0;
+               p = dirname(buf);
+               return strdup(p);
+       } else {
+               return "";
+       }
+}
+
+int gl_file_exists(const char *path)
+{
+       struct stat info = {0,};
+
+       if (stat(path, &info) == 0)
+               return 1;
+       else
+               return 0;
+}
+
+int gl_file_is_dir(const char *path)
+{
+       struct stat info = {0,};
+
+       if (stat(path, &info) == 0) {
+               if (S_ISDIR(info.st_mode)) {
+                       return 1;
+               }
+       }
+
+       return 0;
+}
+
+int gl_file_dir_is_empty(const char *path)
+{
+       struct dirent *dp = NULL;
+       DIR *dirp = NULL;
+       struct dirent ent_struct;
+
+       dirp = opendir(path);
+       if (!dirp)
+               return -1;
+
+       while ((readdir_r(dirp, &ent_struct, &dp) == 0) && dp) {
+               if ((strcmp(dp->d_name, ".")) && (strcmp(dp->d_name, ".."))) {
+                       closedir(dirp);
+                       return 0;
+               }
+       }
+       closedir(dirp);
+       return 1;
+}
+
+int gl_mkdir(const char *dir)
+{
+       if (mkdir(dir, default_mode) < 0)
+               return 0;
+       else
+               return 1;
+}
+
+static int
+gl_mkpath_if_not_exists(const char *path)
+{
+       struct stat st = {0,};
+       if (stat(path, &st) < 0)
+               return gl_mkdir(path);
+       else if (!S_ISDIR(st.st_mode))
+               return 0;
+       else
+               return 1;
+}
+
+int gl_file_mkpath(const char *path)
+{
+       char ss[500] = {0,};
+       unsigned int i = 0;
+
+       if (gl_file_is_dir(path))
+               return 1;
+
+       for (i = 0; path[i] != '\0'; ss[i] = path[i], i++) {
+               if (i == sizeof(ss) - 1)
+                       return 0;
+
+               if ((path[i] == '/') && (i > 0)) {
+                       ss[i] = '\0';
+                       if (!gl_mkpath_if_not_exists(ss))
+                               return 0;
+               }
+       }
+       ss[i] = '\0';
+
+       return gl_mkpath_if_not_exists(ss);
+}
+
+int gl_file_unlink (const char *filename)
+{
+       int status = unlink(filename);
+       if (status < 0)
+               return 0;
+       else
+               return 1;
+}
+
+int gl_file_size(const char *filename)
+{
+       struct stat info = {0,};
+       if (stat(filename, &info) == 0) {
+               if (!S_ISDIR(info.st_mode))
+                       return info.st_size;
+       }
+
+       return 0;
+}
+
+int gl_file_rmdir(const char *filename)
+{
+       int status = rmdir(filename);
+       if (status < 0)
+               return 0;
+       else
+               return 1;
+}
+
+Eina_List *gl_file_ls(const char *dir)
+{
+       char *f;
+       DIR *dirp = NULL;
+       struct dirent *dp = NULL;
+       Eina_List *list = NULL;
+       struct dirent ent_struct;
+
+       dirp = opendir(dir);
+       if (!dirp)
+               return NULL;
+
+       while ((readdir_r(dirp, &ent_struct, &dp) == 0) && dp) {
+               if ((strcmp(dp->d_name , ".")) && (strcmp(dp->d_name , ".."))) {
+                       f = strdup(dp->d_name);
+                       list = eina_list_append(list , f);
+               }
+       }
+       closedir(dirp);
+
+       list = eina_list_sort(list, eina_list_count(list), EINA_COMPARE_CB(strcoll));
+
+       return list;
+}
+
+int gl_file_recursive_rm(const char *dir)
+{
+       char buf[PATH_MAX] = {0,};
+       struct dirent *dp = NULL;
+       DIR *dirp = NULL;
+       struct dirent ent_struct;
+
+       if (readlink(dir, buf, sizeof(buf)) > 0) {
+               return gl_file_unlink(dir);
+       }
+
+       int ret = gl_file_is_dir(dir);
+       if (ret) {
+               ret = 1;
+               dirp = opendir(dir);
+               if (dirp) {
+                       while ((readdir_r(dirp, &ent_struct, &dp) == 0)
+                               && dp) {
+                               if ((strcmp(dp->d_name , ".")) && (strcmp(dp->d_name, ".."))) {
+                                       if (!gl_file_recursive_rm(dp->d_name))
+                                               ret = 0;
+                               }
+                       }
+                       closedir(dirp);
+               }
+
+               if (!gl_file_rmdir(dir))
+                       ret = 0;
+
+               return ret;
+       } else {
+               return gl_file_unlink(dir);
+       }
+}
+
+int gl_file_cp(const char *src,const char *dst)
+{
+       FILE *f1 = NULL;
+       FILE *f2 = NULL;
+       char buf[16384] = {0,}; //TODO: How about moving buf to heap instead of stack
+       char realpath1[256] = {0,};
+       char realpath2[256] = {0,};
+       size_t num;
+       int ret = 1;
+
+       if (!realpath(src, realpath1))
+               return 0;
+
+       if (realpath(dst, realpath2) && !strcmp(realpath1, realpath2))
+               return 0;
+
+       f1 = fopen(src, "rb");
+       if (!f1)
+               return 0;
+
+       f2 = fopen(dst, "wb");
+       if (!f2) {
+               fclose(f1);
+               return 0;
+       }
+
+       while ((num = fread(buf, 1, sizeof(buf), f1)) > 0) {
+               if (fwrite(buf, 1, num, f2) != num)
+                       ret = 0;
+       }
+
+       fclose(f1);
+       fclose(f2);
+
+       return ret;
+}
+
+int gl_file_mv(const char *src, const char *dst)
+{
+       struct stat info = {0,};
+       if (stat(dst, &info) == 0)
+               return 0;
+
+       if (rename(src, dst)) {
+               memset(&info, 0x00, sizeof(struct stat));
+               if (stat(src, &info) == 0) {
+                       if (S_ISREG(info.st_mode)) {
+                               gl_file_cp(src, dst);
+                               chmod(dst, info.st_mode);
+                               unlink(src);
+                               return 1;
+                       }
+               }
+               return 0;
+       }
+       return 1;
+}
diff --git a/src/util/gl-fs.c b/src/util/gl-fs.c
new file mode 100644 (file)
index 0000000..720e449
--- /dev/null
@@ -0,0 +1,895 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#include <sys/stat.h>
+#include <sys/statvfs.h>
+#include <sys/time.h>
+#include <errno.h>
+#include <glib/gprintf.h>
+#include <Elementary.h>
+#include "gl-fs.h"
+#include "gallery.h"
+#include "gl-debug.h"
+#include "gl-thread-util.h"
+#include "gl-file-util.h"
+
+static int __gl_fs_free_node(gl_node_info_s *pnode)
+{
+       GL_CHECK_VAL(pnode, -1);
+       if (pnode->path) {
+               g_free(pnode->path);
+               pnode->path = NULL;
+       }
+       if (pnode->name) {
+               g_free(pnode->name);
+               pnode->name = NULL;
+       }
+       g_free(pnode);
+       return 0;
+}
+
+static int __gl_fs_clear_list(Eina_List **elist)
+{
+       GL_CHECK_VAL(elist, -1);
+       gl_node_info_s *pnode = NULL;
+       if (*elist) {
+               EINA_LIST_FREE(*elist, pnode) {
+                       __gl_fs_free_node(pnode);
+                       pnode = NULL;
+               }
+               *elist = NULL;
+       }
+       return 0;
+}
+
+/* Append bigger one, prepend smaller one, first node is oldest one */
+static int __gl_fs_compare(const void *data1, const void *data2)
+{
+       gl_node_info_s *pnode1 = (gl_node_info_s *)data1;
+       gl_node_info_s *pnode2 = (gl_node_info_s *)data2;
+
+       int result = -(pnode1->mtime - pnode2->mtime);
+       gl_dbg("mtime1[%d], mtime2[%d], result[%d]", pnode1->mtime,
+              pnode2->mtime, result);
+       return result;
+}
+
+static int __gl_fs_read_dir(char *path, Eina_List **dir_list,
+                           Eina_List **file_list)
+{
+       GL_CHECK_VAL(file_list, -1);
+       GL_CHECK_VAL(dir_list, -1);
+       GL_CHECK_VAL(path, -1);
+
+       DIR *pdir = NULL;
+       struct dirent *ent = NULL;
+       struct dirent ent_struct;
+       int count = 0;
+       char *childpath = NULL;
+       int cp_len = 0;
+       gl_node_info_s *pnode = NULL;
+       int copiednum = 0;
+
+       pdir = opendir(path);
+       GL_CHECK_VAL(pdir, -1);
+
+       while ((readdir_r(pdir, &ent_struct, &ent) == 0) && ent) {
+               if (g_strcmp0(ent->d_name, ".") == 0 ||
+                   g_strcmp0(ent->d_name, "..") == 0) {
+                       continue;
+               }
+               /*only deal with dirs and regular files*/
+               if ((ent->d_type & DT_DIR) == 0 && (ent->d_type & DT_REG) == 0)
+                       continue;
+
+               /*get date & size*/
+               cp_len = strlen(path) + 1 + strlen(ent->d_name) + 1;
+               childpath = g_new0(char, cp_len);
+               if (childpath == NULL)
+                       continue;
+
+               copiednum = g_snprintf(childpath, cp_len, "%s/%s", path,
+                                      ent->d_name);
+               if (copiednum < 0) {
+                       g_free(childpath);
+                       childpath = NULL;
+                       continue;
+               }
+
+               pnode = g_new0(gl_node_info_s, 1);
+               if (pnode == NULL) {
+                       g_free(childpath);
+                       childpath = NULL;
+                       continue;
+               }
+               /*get path*/
+               pnode->path = g_strdup(path);
+               /*get name*/
+               pnode->name = g_strdup(ent->d_name);
+
+               if (_gl_fs_get_file_stat(childpath, &pnode) < 0) {
+                       g_free(pnode);
+                       pnode = NULL;
+                       g_free(childpath);
+                       childpath = NULL;
+                       continue;
+               }
+               g_free(childpath);
+               childpath = NULL;
+
+               if (ent->d_type & DT_DIR)
+                       *dir_list = eina_list_append(*dir_list, pnode);
+               else
+                       *file_list = eina_list_append(*file_list, pnode);
+               count++;
+       }
+       closedir(pdir);
+
+       return 0;
+}
+
+static int __gl_fs_get_file_list(GString *folder_name, Eina_List **dir_list,
+                                Eina_List **file_list)
+{
+       GL_CHECK_VAL(folder_name, -1);
+       GL_CHECK_VAL(folder_name->str, -1);
+       GL_CHECK_VAL(folder_name->len, -1);
+       return __gl_fs_read_dir(folder_name->str, dir_list, file_list);
+}
+
+/* Get sorted folders list by folder's modified time */
+static unsigned long long __gl_fs_sort_folders_by_mtime(char *path,
+                                                       Eina_List **sorted_list)
+{
+       if (!gl_file_is_dir(path)) {
+               gl_dbgE("Not a directory!");
+               return 0;
+       }
+
+       unsigned long long size = 0;
+       unsigned long long sub_size = 0;
+       GString *fullpath = g_string_new(path);
+       Eina_List *dir_list = NULL;
+       Eina_List *file_list = NULL;
+       int error_code = 0;
+       error_code = __gl_fs_get_file_list(fullpath, &dir_list, &file_list);
+
+       if (error_code == 0) {
+               int i = 0;
+               int dir_cnt = eina_list_count(dir_list);
+               int file_cnt = eina_list_count(file_list);
+               gl_node_info_s *pnode = NULL;
+               for (i = 0; i < file_cnt; i++) {
+                       pnode = (gl_node_info_s *)eina_list_nth(file_list, i);
+                       if (pnode == NULL) {
+                               gl_dbgE("Invalid node!");
+                               continue;
+                       }
+                       size += pnode->size;
+                       pnode = NULL;
+               }
+               gl_dbg("file_cnt[%d], size[%llu]", file_cnt, size);
+
+               i = 0;
+               pnode = NULL;
+               char *sub_folder = NULL;
+               gl_dbg("dir_cnt[%d]", dir_cnt);
+               for (i = 0; i < dir_cnt; i++) {
+                       pnode = (gl_node_info_s *)eina_list_nth(dir_list, i);
+                       if (pnode == NULL) {
+                               gl_dbgE("Invalid node!");
+                               continue;
+                       }
+                       sub_folder = g_strconcat(pnode->path, "/", pnode->name,
+                                                NULL);
+                       if (sub_folder) {
+                               gl_sdbg("sub_folder[%s]", pnode->name);
+                               sub_size = __gl_fs_sort_folders_by_mtime(sub_folder,
+                                                                        sorted_list);
+                               pnode->size = sub_size;
+                               size += sub_size;
+                               gl_dbg("mtime[%d]", pnode->mtime);
+                               *sorted_list = eina_list_sorted_insert(*sorted_list,
+                                                                    __gl_fs_compare,
+                                                                    pnode);
+                               g_free(sub_folder);
+                               sub_folder = NULL;
+                       } else {
+                               gl_dbgE("Invalid sub folder!");
+                       }
+                       pnode = NULL;
+               }
+       }
+
+       if (fullpath) {
+               g_string_free(fullpath, true);
+               fullpath = NULL;
+       }
+
+       if (file_list)
+               __gl_fs_clear_list(&file_list);
+
+       if (dir_list) {
+               eina_list_free(dir_list);
+               dir_list = NULL;
+       }
+
+       return size;
+}
+
+unsigned long long gl_fs_get_free_space(int state)
+{
+       struct statvfs info;
+       char *path = NULL;
+
+       if (state == GL_STORE_T_PHONE)
+               path = GL_ROOT_PATH_PHONE;
+       else if (state == GL_STORE_T_MMC)
+               path = GL_ROOT_PATH_MMC;
+       else
+               return 0;
+
+       if (-1 == statvfs(path, &info))
+               return 0;
+
+       return ((unsigned long long)(info.f_bsize)) * ((unsigned long long)(info.f_bavail));
+}
+
+/* Add checking for cancellation to terminate RW loop */
+Eina_Bool __gl_fs_cp_file(void *data, const char *src, const char *dst)
+{
+#define PATH_MAX 4096
+#define BUF_MAX 16384
+       FILE *f1 = NULL;
+       FILE *f2 = NULL;
+       char buf[BUF_MAX] = { 0, };
+       char realpath1[PATH_MAX] = { 0, };
+       char realpath2[PATH_MAX] = { 0, };
+       size_t num = 0;
+       Eina_Bool ret = EINA_TRUE;
+
+       if (!realpath(src, realpath1))
+               return EINA_FALSE;
+       if (realpath(dst, realpath2) && !g_strcmp0(realpath1, realpath2))
+               return EINA_FALSE;
+
+       f1 = fopen(src, "rb");
+       if (!f1)
+               return EINA_FALSE;
+       f2 = fopen(dst, "wb");
+       if (!f2) {
+               fclose(f1);
+               return EINA_FALSE;
+       }
+       while ((num = fread(buf, 1, sizeof(buf), f1)) > 0) {
+               int pbar_cancel = false;
+               gl_thread_get_cancel_state(data, &pbar_cancel);
+               if (pbar_cancel > GL_PB_CANCEL_NORMAL) {
+                       gl_dbgW("Cancelled[%d]!", pbar_cancel);
+                       fclose(f1);
+                       fclose(f2);
+                       gl_file_unlink(dst);
+                       return EINA_FALSE;
+               }
+               if (fwrite(buf, 1, num, f2) != num)
+                       ret = EINA_FALSE;
+       }
+       fclose(f1);
+       fclose(f2);
+       return ret;
+}
+
+#if 0 //Unused function
+int _gl_fs_update_file_mtime(const char *path)
+{
+       GL_CHECK_VAL(path, -1);
+       struct timeval tv;
+       gettimeofday(&tv, NULL);
+       struct timeval times[2] = { {0, 0}, {0, 0} };
+       times[0].tv_sec = tv.tv_sec;
+       times[0].tv_usec = tv.tv_usec;
+       times[1].tv_sec = tv.tv_sec;
+       times[1].tv_usec = tv.tv_usec;
+       if (utimes(path, times) < 0) {
+               gl_dbgE("utimes failed!");
+               return -1;
+       }
+       return 0;
+}
+#endif
+
+int _gl_fs_get_file_stat(const char *filename, gl_node_info_s **node)
+{
+       struct stat statbuf;
+       GL_CHECK_VAL(node, -1);
+       GL_CHECK_VAL(*node, -1);
+       GL_CHECK_VAL(filename, -1);
+
+       if (stat(filename, &statbuf) == -1)
+               return -1;
+
+       /* total size, in bytes */
+       (*node)->size = statbuf.st_size;
+       (*node)->mtime = statbuf.st_mtime;
+       return 0;
+}
+
+unsigned long long _gl_fs_get_folder_size(char *path)
+{
+       if (!gl_file_is_dir(path)) {
+               gl_dbgE("Not a directory!");
+               return 0;
+       }
+
+       unsigned long long size = 0;
+       unsigned long long sub_size = 0;
+       GString *fullpath = g_string_new(path);
+       Eina_List *file_list = NULL;
+       Eina_List *dir_list = NULL;
+       int error_code = 0;
+       error_code = __gl_fs_get_file_list(fullpath, &dir_list, &file_list);
+
+       if (error_code == 0) {
+               int i = 0;
+               int dir_cnt = eina_list_count(dir_list);
+               int file_cnt = eina_list_count(file_list);
+               gl_node_info_s *pnode = NULL;
+               for (i = 0; i < file_cnt; i++) {
+                       pnode = (gl_node_info_s *)eina_list_nth(file_list, i);
+                       if (pnode == NULL) {
+                               gl_dbgE("Invalid node!");
+                               continue;
+                       }
+                       size += pnode->size;
+                       pnode = NULL;
+               }
+               gl_dbg("file_cnt[%d], size[%llu]", file_cnt, size);
+
+               gl_dbg("dir_cnt[%d]", dir_cnt);
+               i = 0;
+               pnode = NULL;
+               char *sub_folder = NULL;
+               for (i = 0; i < dir_cnt; i++) {
+                       pnode = (gl_node_info_s *)eina_list_nth(dir_list, i);
+                       if (pnode == NULL) {
+                               gl_dbgE("Invalid node!");
+                               continue;
+                       }
+                       sub_folder = g_strconcat(pnode->path, "/", pnode->name,
+                                                NULL);
+                       if (sub_folder) {
+                               gl_sdbg("sub_folder[%s]", pnode->name);
+                               sub_size = _gl_fs_get_folder_size(sub_folder);
+                               pnode->size = sub_size;
+                               size += sub_size;
+                               gl_dbg("mtime[%d]", pnode->mtime);
+                               g_free(sub_folder);
+                               sub_folder = NULL;
+                       } else {
+                               gl_dbgE("Invalid sub folder!");
+                       }
+                       pnode = NULL;
+               }
+       }
+
+       if (fullpath) {
+               g_string_free(fullpath, true);
+               fullpath = NULL;
+       }
+
+       if (file_list)
+               __gl_fs_clear_list(&file_list);
+
+       if (dir_list)
+               __gl_fs_clear_list(&dir_list);
+       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;
+}
+
+#ifdef _RENAME_ALBUM_SENSITIVE
+bool _gl_fs_check_name_case(char *dir, char *exist_name)
+{
+       GL_CHECK_FALSE(dir);
+       GL_CHECK_FALSE(exist_name);
+       gl_dbg("");
+
+       char dest_dir[GL_DIR_PATH_LEN_MAX] = {0};
+       char dest_filename[GL_FILE_NAME_LEN_MAX] = {0};
+       char *tmp = NULL;
+       tmp = strrchr(dir, '/');
+       if (tmp) {
+               g_strlcpy(dest_filename, tmp + 1, GL_FILE_NAME_LEN_MAX);
+               tmp[0] = '\0';
+               g_strlcpy(dest_dir, dir, GL_DIR_PATH_LEN_MAX);
+               tmp[0] = '/';
+       } else {
+               return false;
+       }
+
+       bool ret = false;
+       Eina_List *name_list = NULL;
+       if ((name_list = gl_file_ls(dest_dir)) == NULL) {
+               gl_dbgE("open dir failed!");
+               return false;
+       } else {
+               char *dir_name = NULL;
+               EINA_LIST_FREE(name_list, dir_name) {
+                       if (dir_name &&
+                           strcasecmp(dir_name, dest_filename) == 0) {
+                               gl_dbg("Have same name directory");
+                               ret = true;
+                               memset(exist_name, 0x00, GL_ALBUM_NAME_LEN_MAX);
+                               g_strlcpy(exist_name, dir_name,
+                                         GL_ALBUM_NAME_LEN_MAX);
+                               break;
+                       }
+                       GL_FREEIF(dir_name);
+               }
+       }
+       return ret;
+}
+#endif
+
+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.
+*/
+bool _gl_fs_get_path_without_ext(const char *file_path, char *file_ext,
+                                char *new_path)
+{
+       int i = 0;
+       for (i = strlen(file_path); i >= 0; i--) {
+               if ((file_path[i] == '.') && (i < GL_FILE_PATH_LEN_MAX)) {
+                       g_strlcpy(file_ext, &file_path[i + 1], GL_FILE_EXT_LEN_MAX);
+                       g_strlcpy(new_path, file_path, i + 1);
+                       new_path[i] = '\0';
+                       gl_sdbg("path without extension :%s", new_path);
+                       return true;
+               }
+
+               /* meet the dir. no ext */
+               if (file_path[i] == '/')
+                       return true;
+       }
+       return true;
+}
+
+Eina_Bool _gl_fs_copy(void *data, const char *src, const char *dst)
+{
+       GL_CHECK_FALSE(src);
+       GL_CHECK_FALSE(dst);
+       GL_CHECK_FALSE(data);
+
+       gl_sdbg("\tSrc: %s", src);
+       gl_sdbg("\tDest: %s", dst);
+       struct stat st;
+
+       /*
+        * Make sure this is a regular file before
+        * we do anything fancy.
+        */
+       if (stat(src, &st) < 0) {
+               gl_dbgE("stat fail[%d]!", errno);
+               return EINA_FALSE;
+       }
+       if (S_ISREG(st.st_mode)) {
+               /*
+                * Copy to dst file
+                */
+               if (!__gl_fs_cp_file(data, src, dst)) {
+                       gl_dbgE("Copy file failed[%d]!", errno);
+                       return EINA_FALSE;
+               }
+               sync();
+               return EINA_TRUE;
+       }
+       gl_dbgE("S_ISREG fail[%d]!", errno);
+       return EINA_FALSE;
+}
+
+/*
+* Use gl_file_mv() to move medias to other album.
+* Media-server, which is different with libmedia-info, watches src and dest folder,
+* it updates libmedia-info DB asynchronously.
+* While move/copy mass data in My Files appliation,
+* After move/copy done in My files, check the dest folder in Gallery.
+* You'll find its content is changing.
+* gl_file_mv() operate libmedia-info DB synchronously, so it's faster than media-server.
+*/
+
+/*
+*  stop using "rename" when moving from mmc to phone for correct db update.
+*/
+Eina_Bool _gl_fs_move(void *data, const char *src, const char *dst)
+{
+       GL_CHECK_FALSE(src);
+       GL_CHECK_FALSE(dst);
+       GL_CHECK_FALSE(data);
+
+       gl_sdbg("\tSrc: %s", src);
+       gl_sdbg("\tDest: %s", dst);
+       /*
+        * From->To: MMC->MMC or Phone->Phone
+        */
+       if (rename(src, dst)) {
+               /*
+                * File cannot be moved directly because
+                * it resides on a different mount point.
+                */
+               if (errno == EXDEV) {
+                       /*
+                        * From->To: MMC->Phone or Phone->MMC
+                        */
+                       gl_dbgW("errno = EXDEV(%d): Cross-device link", errno);
+                       struct stat st;
+
+                       /*
+                        * Make sure this is a regular file before
+                        * we do anything fancy.
+                        */
+                       if (stat(src, &st) < 0) {
+                               gl_dbgE("stat fail[%d]!", errno);
+                               return EINA_FALSE;
+                       }
+                       if (S_ISREG(st.st_mode)) {
+                               /*
+                                * Copy to dst file
+                                */
+                               if (!__gl_fs_cp_file(data, src, dst)) {
+                                       gl_dbgE("Copy file failed[%d]!", errno);
+                                       return EINA_FALSE;
+                               }
+
+
+                               /*
+                                * Delete src file
+                                */
+                               if (!gl_file_unlink(src))
+                                       gl_dbgE("Delete file failed[%d]!", errno);
+
+                               /* Write file to filesystem immediately */
+                               sync();
+                               return EINA_TRUE;
+                       }
+                       gl_dbgE("S_ISREG fail[%d]!", errno);
+                       return EINA_FALSE;
+               }
+
+               gl_dbgE("Fail[%d]!", errno);
+               return EINA_FALSE;
+       }
+       /* Write file to filesystem immediately */
+       sync();
+       return EINA_TRUE;
+}
+
+char *_gl_fs_get_unique_full_path(char *file_path, char *ext)
+{
+       char *file_name = file_path;
+       char *extension = ext;
+       char *final_path = NULL;
+       int final_path_len = 0;
+       int extension_len = 0;
+       int suffix_count = 0;
+       /* means suffix on file name. up to "_99999" */
+       const int max_suffix_count = 99999;
+       /* 1 means "_" */
+       int suffix_len = (int)log10(max_suffix_count + 1) + 1;
+
+       if (!file_path)
+               return NULL;
+
+       gl_sdbg("file_path=[%s], ext=[%s]", file_path, ext);
+
+       if (extension)
+               extension_len = strlen(extension);
+
+       /* first 1 for ".", last 1 for NULL */
+       final_path_len = strlen(file_name) + 1 + suffix_len + extension_len + 1;
+
+       final_path = (char *)calloc(1, final_path_len);
+       if (!final_path) {
+               gl_dbgE("calloc failed!");
+               return NULL;
+       }
+
+       do {
+               /* e.g) /tmp/abc.jpg
+                * if there is no extension name, just make a file name without extension */
+               if (0 == extension_len) {
+                       if (suffix_count == 0) {
+                               snprintf(final_path, final_path_len, "%s",
+                                        file_name);
+                       } else {
+                               snprintf(final_path, final_path_len, "%s_%d",
+                                        file_name, suffix_count);
+                       }
+               } else {
+                       if (suffix_count == 0) {
+                               snprintf(final_path, final_path_len, "%s.%s",
+                                        file_name, extension);
+                       } else {
+                               snprintf(final_path, final_path_len, "%s_%d.%s",
+                                        file_name, suffix_count, extension);
+                       }
+               }
+
+               if (gl_file_exists(final_path)) {
+                       suffix_count++;
+                       if (suffix_count > max_suffix_count) {
+                               gl_dbgE("Max suffix count!");
+                               GL_FREE(final_path);
+                               break;
+                       } else {
+                               memset(final_path, 0x00, final_path_len);
+                               continue;
+                       }
+               }
+
+               break;
+       } while (1);
+
+       gl_sdbg("Decided path = [%s]", final_path);
+       return final_path;
+}
+
+char *_gl_fs_get_unique_new_album_name(char *parent_path, char *default_name,
+                                      char **new_name)
+{
+       char *final_path = NULL;
+       char *final_name = NULL;
+       int final_path_len = 0;
+       int final_name_len = 0;
+       int suffix_count = 0;
+       /* means suffix on file name. up to "_99999" */
+       const int max_suffix_count = 99999;
+       /* 1 means "_" */
+       int suffix_len = (int)log10(max_suffix_count + 1) + 1;
+
+       if (!parent_path || !default_name || !new_name)
+               return NULL;
+
+       gl_sdbg("parent_path=[%s], default_name=[%s]", parent_path, default_name);
+
+       /* 1 for NULL */
+       final_name_len = strlen(default_name) + suffix_len + 1;
+       /* 1 for / */
+       final_path_len = strlen(parent_path) + 1 + final_name_len;
+
+       final_path = (char *)calloc(1, final_path_len);
+       if (!final_path) {
+               gl_dbgE("calloc failed!");
+               return NULL;
+       }
+       final_name = (char *)calloc(1, final_name_len);
+       if (!final_name) {
+               gl_dbgE("calloc failed!");
+               GL_FREE(final_path);
+               return NULL;
+       }
+
+       do {
+               if (suffix_count == 0) {
+                       snprintf(final_name, final_name_len, "%s", default_name);
+               } else {
+                       snprintf(final_name, final_name_len, "%s %d",
+                                default_name, suffix_count);
+               }
+               snprintf(final_path, final_path_len, "%s/%s", parent_path,
+                        final_name);
+
+               /**
+               * If dir is empty, 1 is returned,
+               * if it contains at least 1 file, 0 is returned.
+               * On failure, -1 is returned.
+               */
+               if (gl_file_dir_is_empty(final_path) == 0) {
+                       suffix_count++;
+                       if (suffix_count > max_suffix_count) {
+                               gl_dbgE("Max suffix count!");
+                               GL_FREE(final_path);
+                               GL_FREE(final_name);
+                               break;
+                       } else {
+                               memset(final_path, 0x00, final_path_len);
+                               memset(final_name, 0x00, final_name_len);
+                               continue;
+                       }
+               }
+
+               break;
+       } while (1);
+
+       *new_name = final_name;
+       gl_sdbg("Decided path = [%s][%s]", final_path, final_name);
+       return final_path;
+}
+
+bool _gl_fs_validate_name(const char *new_name)
+{
+       GL_CHECK_FALSE(new_name);
+       char invalid_chars[] = { '/', '\\', ':', '*', '?', '"', '<', '>', '|', '\0' };
+       char *ptr = invalid_chars;
+
+       if (strncmp(new_name, ".", strlen(".")) == 0) {
+               return false;
+       }
+
+       gl_sdbg("new album name is %s\n", new_name);
+       while (*ptr != '\0') {
+               if (strchr(new_name, (*ptr)) != NULL) {
+                       gl_dbg("invalid character is %c", *ptr);
+                       return false;
+               }
+               ++ptr;
+       }
+
+       return true;
+}
+
+bool _gl_fs_validate_character(const char name_char)
+{
+       char invalid_chars[] = { '/', '\\', ':', '*', '?', '"', '<', '>', '|', '\0' };
+       char *ptr = invalid_chars;
+
+       gl_dbg("character is %c", name_char);
+       while (*ptr != '\0') {
+               if (name_char == *ptr) {
+                       gl_dbg("invalid character is %c", *ptr);
+                       return false;
+               }
+               ++ptr;
+       }
+
+       return true;
+}
+
+int _gl_fs_get_default_folder(char *path)
+{
+       int len = 0;
+       GL_CHECK_VAL(path, -1);
+
+       len = snprintf(path, GL_DIR_PATH_LEN_MAX, "%s",
+                      GL_ROOT_PATH_PHONE);
+       if (len < 0) {
+               gl_dbgE("snprintf returns failure!");
+               return -1;
+       } else {
+               path[len] = '\0';
+               len = -1;
+       }
+
+       len = g_strlcat(path, GL_DEFAULT_PATH_IMAGES,
+                       GL_DIR_PATH_LEN_MAX);
+       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);
+       struct stat st;
+       if (stat(path, &st) < 0) {
+               if (!gl_file_mkpath(path)) {
+                       gl_sdbgE("Failed to mkdir[%s]!", path);
+                       return false;
+               }
+       }
+       return true;
+}
diff --git a/src/util/gl-lang.c b/src/util/gl-lang.c
new file mode 100644 (file)
index 0000000..5f15c5d
--- /dev/null
@@ -0,0 +1,107 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#include <system_settings.h>
+#include "gallery.h"
+#include "gl-lang.h"
+#include "gl-strings.h"
+#include "gl-ctxpopup.h"
+#include "gl-debug.h"
+#include "gl-ui-util.h"
+#include "gl-util.h"
+#include "gl-progressbar.h"
+#include "gl-controlbar.h"
+#include "gl-notify.h"
+#include "gl-albums-sel.h"
+#include "gl-timeline.h"
+#include "gl-albums-edit.h"
+#include "gl-albums-rename.h"
+#include "gl-thumbs.h"
+#include "gl-thumbs-sel.h"
+#include "gl-thumbs-edit.h"
+#include "gl-nocontents.h"
+
+static int __gl_lang_update_albums(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_CHECK_VAL(ad->ctrlinfo.nf_it, -1);
+       _gl_ui_change_navi_title(ad->ctrlinfo.nf_it, GL_STR_ID_ALBUM, true);
+       return 0;
+}
+
+int _gl_lang_update(void *data)
+{
+       char *locale = NULL;
+       int retcode = system_settings_get_value_string(SYSTEM_SETTINGS_KEY_LOCALE_LANGUAGE, &locale);
+
+       if (retcode != SYSTEM_SETTINGS_ERROR_NONE) {
+               gl_dbgW("failed to get language[%d]", retcode);
+       }
+
+       if (locale) {
+               elm_language_set(locale);
+               GL_FREE(locale);
+       }
+
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       int view_mode = gl_get_view_mode(ad);
+
+       /* Remove ctxpopup */
+       _gl_ctxpopup_del(data);
+
+       switch (view_mode) {
+       case GL_VIEW_ALBUMS:
+               __gl_lang_update_albums(data);
+               break;
+       case GL_VIEW_ALBUMS_EDIT:
+               _gl_albums_edit_update_lang(data);
+               break;
+       case GL_VIEW_ALBUMS_RENAME:
+               __gl_lang_update_albums(data);
+               _gl_albums_edit_update_lang(data);
+               break;
+       case GL_VIEW_ALBUMS_SELECT:
+               __gl_lang_update_albums(data);
+               break;
+       case GL_VIEW_TIMELINE:
+               _gl_timeline_update_lang(data);
+               break;
+       case GL_VIEW_THUMBS:
+               if (_gl_ctrl_get_tab_mode(ad) == GL_CTRL_TAB_ALBUMS)
+                       __gl_lang_update_albums(data);
+               _gl_thumbs_update_lang(data);
+               break;
+       case GL_VIEW_THUMBS_EDIT:
+               if (_gl_ctrl_get_tab_mode(ad) == GL_CTRL_TAB_ALBUMS)
+                       __gl_lang_update_albums(data);
+               _gl_thumbs_edit_update_lang(data);
+               break;
+       case GL_VIEW_THUMBS_SELECT:
+               if (_gl_ctrl_get_tab_mode(ad) == GL_CTRL_TAB_ALBUMS)
+                       __gl_lang_update_albums(data);
+               _gl_thumbs_update_lang(data);
+               _gl_thumbs_sel_update_lang(data);
+               break;
+       default:
+               gl_dbgW("Other view_mode[%d]", view_mode);
+       }
+
+       return 0;
+}
+
diff --git a/src/util/gl-ta.c b/src/util/gl-ta.c
new file mode 100644 (file)
index 0000000..a4e4428
--- /dev/null
@@ -0,0 +1,614 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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
diff --git a/src/util/gl-thread-util.c b/src/util/gl-thread-util.c
new file mode 100644 (file)
index 0000000..ee15cfa
--- /dev/null
@@ -0,0 +1,613 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#include <string.h>
+#include <glib.h>
+#include <linux/unistd.h>
+#include <pthread.h>
+#include "gl-thread-util.h"
+#include "gl-ui-util.h"
+#include "gl-util.h"
+#include "gl-debug.h"
+#include "gl-data.h"
+#include "gl-popup.h"
+#include "gl-progressbar.h"
+#include "gl-strings.h"
+#include "gl-notify.h"
+#include "gl-albums.h"
+#include "gl-thumbs.h"
+
+#define GALLERY_MAGIC_MAIN_CONTEXT     (0x1983cdaf)
+#define GALLERY_MAGIC_DETAIL_LIST_ITEM (0x1977abcd)
+#define GALLERY_MAGIC_PIPE_DATA                (0x0716ffcc)
+
+#define GALLERY_MAGIC                 unsigned int  __magic
+#define GALLERY_MAGIC_SET(d, m)       (d)->__magic = (m)
+#define GALLERY_MAGIC_CHECK(d, m)     ((d) && ((d)->__magic == (m)))
+
+#define GL_THREAD_PBAR_TIMER_INC 0.5
+
+typedef struct
+{
+       GALLERY_MAGIC;
+       int finished_cnt;
+       int state;              /* 0: operation is over; 1: operation is in process */
+       int popup_op;
+} gl_thread_pipe_data;
+
+#define GL_TID syscall(__NR_gettid)
+
+static int _gl_thread_operate_medias(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       int ret = -1;
+
+       int (*op_cb) (void *data);
+       op_cb = ad->pbarinfo.op_cb;
+       ad->pbarinfo.op_cb = NULL;
+       gl_dbg("Operation: %p", op_cb);
+       if (op_cb)
+               ret = op_cb(data);
+       if (ret < 0) {
+               gl_thread_set_cancel_state(ad, GL_PB_CANCEL_ERROR);
+               gl_dbgE("Operation failed!");
+               return -1;
+       }
+
+       return 0;
+}
+
+static int _gl_thread_update_view(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+
+       int (*update_cb) (void *data);
+       update_cb = ad->pbarinfo.update_cb;
+       ad->pbarinfo.update_cb = NULL;
+       ad->pbarinfo.del_item_cb = NULL;
+       ad->pbarinfo.total_cnt = 0;
+       gl_dbg("Update: %p", update_cb);
+       if (update_cb)
+               update_cb(data);
+       return 0;
+}
+
+static void *_gl_thread_data_thread(void *data)
+{
+       GL_CHECK_NULL(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       int cancel_flag = 0;
+
+       gl_dbg("@@@@@@@@@@ :::: Child thread ID = %d :::: @@@@@@@@@@", GL_TID);
+
+       gl_dbgW("Waiting for start signal ===");
+       /* do not need to wait now......to show progressbar immediately
+       gl_thread_wait_next_signal(ad);
+       */
+       gl_dbgW("Received start signal +++");
+
+       /* Media movement/deleting operation/add tag/remove tag */
+       _gl_thread_operate_medias(data);
+       /*  send finish signal  */
+       gl_thread_pipe_data pipe_data;
+       memset(&pipe_data, 0x00, sizeof(gl_thread_pipe_data));
+       GALLERY_MAGIC_SET(&pipe_data, GALLERY_MAGIC_PIPE_DATA);
+       /* Set over state */
+       pipe_data.state = 0;
+       gl_thread_get_cancel_state(ad, &cancel_flag);
+
+       ecore_pipe_write(ad->pbarinfo.sync_pipe, &pipe_data, sizeof(gl_thread_pipe_data));
+
+       gl_dbg("@@@@@@@@@@ :::: Child thread done :::: @@@@@@@@@@");
+
+       return (void *)0;
+}
+
+static Eina_Bool _gl_thread_del_pbar_idler_cb(void *data)
+{
+       gl_dbg("Delete progressbar...");
+       GL_CHECK_CANCEL(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       /* Reset pb_cancel */
+       gl_thread_set_cancel_state(ad, GL_PB_CANCEL_NONE);
+       /* Destroy lock */
+       gl_thread_destroy_lock(ad);
+       /* Operation done, destroy progressbar */
+       gl_pb_del_pbar(ad);
+
+       GL_IF_DEL_TIMER(ad->pbarinfo.del_pbar_timer);
+       return ECORE_CALLBACK_CANCEL;
+}
+
+static void _gl_thread_pipe_cb(void *data, void *buffer, unsigned int nbyte)
+{
+       gl_dbg(":::::::::: Main thread ID = %d ::::::::::", GL_TID);
+       GL_CHECK(data);
+       GL_CHECK(buffer);
+       gl_appdata *ad = (gl_appdata *)data;
+       gl_thread_pipe_data *p_pipe_data = (gl_thread_pipe_data *) buffer;
+       gl_dbg("Pipe state is %d", p_pipe_data->state);
+
+       if (!GALLERY_MAGIC_CHECK(p_pipe_data, GALLERY_MAGIC_PIPE_DATA)) {
+               gl_dbgE("##### :: Check p_pipe_data Magic failed :: #####");
+               return;
+       }
+
+       int cancel_flag = false;
+       gl_thread_get_cancel_state(ad, &cancel_flag);
+
+       if (p_pipe_data->popup_op)
+       {
+               if (p_pipe_data->state)
+               {
+                       /* Check cancel_flag */
+                       if (cancel_flag != GL_PB_CANCEL_NORMAL) {
+                               gl_dbgE("Failed to kill thread, try again!");
+                               gl_thread_emit_next_signal(ad);
+                               return;
+                       }
+               }
+       }
+
+       /* Update progressbar state */
+       if (p_pipe_data->state) {
+               /*int (*del_item_cb) (void *data, int index);
+               del_item_cb = ad->pbarinfo.del_item_cb;
+               gl_sdbg("Delete callback: %p", del_item_cb);
+               if (del_item_cb)
+                       del_item_cb(data, p_pipe_data->finished_cnt-1);*/
+
+               /* Check cancel_flag */
+               if (cancel_flag != GL_PB_CANCEL_NORMAL) {
+                       gl_dbgE("Failed to kill thread, try again!");
+                       gl_thread_emit_next_signal(ad);
+                       return;
+               }
+
+               /* 1. Moving/deleting is in porcess */
+               gl_pb_refresh_thread_pbar(ad, p_pipe_data->finished_cnt,
+                                         ad->pbarinfo.total_cnt);
+               gl_dbg("@@@ finished/all = %d/%d, updating progressbar @@@",
+                      p_pipe_data->finished_cnt, ad->pbarinfo.total_cnt);
+               /* Emit signal to notice child thread handle next media */
+               gl_dbg("Emit next signal...");
+               gl_thread_emit_next_signal(ad);
+       } else {
+               /* 2. Moving/deleting is over, show finished count */
+               gl_dbg("@@@ finished: %d, updating progressbar @@@",
+                      ad->pbarinfo.finished_cnt);
+               gl_pb_refresh_thread_pbar(ad, ad->pbarinfo.finished_cnt,
+                                         ad->pbarinfo.finished_cnt);
+               ad->pbarinfo.finished_cnt = 0;
+               gl_dbg("@@@@@@@ :::: Pipe close && Update view :::: @@@@@@@");
+               /* Delete timer for some error case, that timer called after idler callback */
+               GL_IF_DEL_TIMER(ad->pbarinfo.start_thread_timer);
+
+               int cancel_flag = false;
+               gl_thread_get_cancel_state(ad, &cancel_flag);
+               if (cancel_flag == GL_PB_CANCEL_RESET) {
+                       /* Set medias_op_type none to stop refreshing view*/
+                       ad->maininfo.medias_op_type = GL_MEDIA_OP_NONE;
+                       gl_dbgW("Cancel error case, set reset state!");
+               } else if (cancel_flag == GL_PB_CANCEL_ERROR) {
+                       gl_dbgW("Operation error!");
+                       _gl_notify_create_notiinfo(GL_STR_OPERATION_FAILED);
+               }
+
+               if (cancel_flag != GL_PB_CANCEL_BUTTON) {
+                       /* Use timer to delete progressbar to refresh status totally */
+                       GL_IF_DEL_TIMER(ad->pbarinfo.del_pbar_timer);
+                       Ecore_Timer *timer = NULL;
+                       timer = ecore_timer_add(0.5f, _gl_thread_del_pbar_idler_cb,
+                                               ad);
+                       ad->pbarinfo.del_pbar_timer = timer;
+               }
+
+               gl_dbg("MMC state: %d, OP type: %d.", ad->maininfo.mmc_state,
+                      ad->maininfo.medias_op_type);
+               /* Operate medias related to MMC while moving medias */
+               if (ad->maininfo.mmc_state == GL_MMC_STATE_REMOVED_MOVING) {
+                   ad->maininfo.mmc_state = GL_MMC_STATE_REMOVED;
+
+                       /**
+                       * 1, Places: Add tag;
+                       * 2, Tags: Add tag/remove tag;
+                       * 3, Albums: Move/Delete/Add tag.
+                       *
+                       * Case 1: Source folder/tag/marker does exist, update view.
+                       * Case 2: Source folder is MMC, and it vanished.
+                       */
+                       gl_cluster *cur_album = _gl_albums_get_current(data);
+                       if (cur_album && cur_album->cluster &&
+                           cur_album->cluster->type == GL_STORE_T_MMC) {
+                               gl_dbgW("MMC removed, change to albums view!");
+                               gl_pop_to_ctrlbar_ly(ad);
+                       } else {
+                               _gl_thread_update_view(ad);
+                       }
+               } else {
+                       /* Operated files on MMC, reset MMC state */
+                       if (ad->maininfo.mmc_state == GL_MMC_STATE_ADDED_MOVING) {
+                               ad->maininfo.mmc_state = GL_MMC_STATE_ADDED;
+                       } else if (ad->maininfo.mmc_state == GL_MMC_STATE_ADDING_MOVING) {
+                               ad->maininfo.mmc_state = GL_MMC_STATE_ADDED;
+                       }
+                       /* Refresh view */
+                       _gl_thread_update_view(ad);
+               }
+
+               /* Free Ecore_Pipe object created */
+               GL_IF_DEL_PIPE(ad->pbarinfo.sync_pipe);
+               /* Set medias_op_type none to stop refreshing view*/
+               ad->maininfo.medias_op_type = GL_MEDIA_OP_NONE;
+       }
+}
+
+/*******************************************************
+** Prototype           : gl_thread_emit_next_signal
+** Description         : Emit signal to notice child thread handle next media.
+** Input               : void *data
+** Output              : None
+** Return Value        :
+** Calls               :
+** Called By           :
+**
+**  History            :
+**  1.Date             : 2011/06/10
+**    Author           : Samsung
+**    Modification : Created function
+**
+*********************************************************/
+int gl_thread_emit_next_signal(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+
+       pthread_mutex_lock(&(ad->pbarinfo.refresh_lock));
+       gl_dbg("refresh_flag: %d.", ad->pbarinfo.refresh_flag);
+       if (ad->pbarinfo.refresh_flag == 0)
+       {
+               ad->pbarinfo.refresh_flag = 1;
+               pthread_cond_signal(&(ad->pbarinfo.refresh_cond));
+       }
+       pthread_mutex_unlock(&(ad->pbarinfo.refresh_lock));
+
+       return 0;
+}
+
+/*******************************************************
+** Prototype           : gl_thread_wait_next_signal
+** Description         : Wait start signal to handle next media.
+** Input               : void *data
+** Output              : None
+** Return Value        :
+** Calls               :
+** Called By           :
+**
+**  History            :
+**  1.Date             : 2011/06/10
+**    Author           : Samsung
+**    Modification : Created function
+**
+*********************************************************/
+int gl_thread_wait_next_signal(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+
+       pthread_mutex_lock(&(ad->pbarinfo.refresh_lock));
+       gl_dbg("refresh_flag: %d.", ad->pbarinfo.refresh_flag);
+       while (ad->pbarinfo.refresh_flag == 0)
+       {
+               gl_dbg("Thread waiting...");
+               pthread_cond_wait(&(ad->pbarinfo.refresh_cond), &(ad->pbarinfo.refresh_lock));
+       }
+       ad->pbarinfo.refresh_flag = 0;
+       pthread_mutex_unlock(&(ad->pbarinfo.refresh_lock));
+
+       return 0;
+}
+
+/*******************************************************
+** Prototype           : gl_thread_set_cancel_state
+** Description         : Set the value of cancel flag.
+** Input               : void *data
+** Input               : int val
+** Output              : None
+** Return Value        :
+** Calls               :
+** Called By           :
+**
+**  History            :
+**  1.Date             : 2011/06/10
+**    Author           : Samsung
+**    Modification : Created function
+**
+*********************************************************/
+int
+gl_thread_set_cancel_state(void *data, int val)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+
+       pthread_mutex_lock(&(ad->pbarinfo.pbar_lock));
+       ad->pbarinfo.pbar_cancel = val;
+       pthread_mutex_unlock(&(ad->pbarinfo.pbar_lock));
+
+       return 0;
+}
+
+/*******************************************************
+** Prototype           : gl_thread_get_cancel_state
+** Description         : Get the value of cancel flag.
+** Input               : void *data
+** Output              : int* val
+** Return Value        :
+** Calls               :
+** Called By           :
+**
+**  History            :
+**  1.Date             : 2011/06/10
+**    Author           : Samsung
+**    Modification : Created function
+**
+*********************************************************/
+int
+gl_thread_get_cancel_state(void *data, int *val)
+{
+       GL_CHECK_VAL(val, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+
+       pthread_mutex_lock(&(ad->pbarinfo.pbar_lock));
+       *val = ad->pbarinfo.pbar_cancel;
+       pthread_mutex_unlock(&(ad->pbarinfo.pbar_lock));
+
+       return 0;
+}
+
+
+/*******************************************************
+** Prototype           : gl_thread_write_pipe
+** Description         : Write date to pipe in order to make progressbar refreshed
+** Input               : void *data
+** Input               : int finished_cnt
+** Input               : int popup_op
+** Output              : None
+** Return Value        :
+** Calls               :
+** Called By           :
+**
+**  History            :
+**  1.Date             : 2011/06/10
+**    Author           : Samsung
+**    Modification : Created function
+**
+*********************************************************/
+void gl_thread_write_pipe(void *data, int finished_cnt, int popup_op)
+{
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       int cancel_flag = false;
+       gl_dbg("Wait next signal...");
+       gl_thread_wait_next_signal(ad);
+       gl_dbg("Receive next signal...");
+       gl_thread_pipe_data pipe_data;
+       memset(&pipe_data, 0x00, sizeof(gl_thread_pipe_data));
+       GALLERY_MAGIC_SET(&pipe_data, GALLERY_MAGIC_PIPE_DATA);
+
+       pipe_data.state = 1;
+       pipe_data.finished_cnt = finished_cnt;
+       pipe_data.popup_op = popup_op;
+
+       gl_thread_get_cancel_state(ad, &cancel_flag);
+
+       if (cancel_flag == GL_PB_CANCEL_BUTTON ||
+               cancel_flag == GL_PB_CANCEL_MMC ||
+               cancel_flag == GL_PB_CANCEL_ERROR ||
+               cancel_flag == GL_PB_CANCEL_RESET)
+       {
+               //send cancel signal through pipe
+               pipe_data.finished_cnt = -1;
+               /* Set over state */
+               pipe_data.state = 0;
+               ecore_pipe_write(ad->pbarinfo.sync_pipe, &pipe_data, sizeof(gl_thread_pipe_data));
+               //exit the child thread
+               if (cancel_flag == GL_PB_CANCEL_BUTTON)
+               {
+                       gl_dbg("Cancel button tapped, child thread exit!");
+               }
+               else if (cancel_flag == GL_PB_CANCEL_MMC)
+               {
+                       gl_dbg("MMC removed, child thread exit!");
+               }
+               else if (cancel_flag == GL_PB_CANCEL_ERROR)
+               {
+                       gl_dbg("Error happened, child thread exit!");
+               }
+               else if (cancel_flag == GL_PB_CANCEL_RESET) {
+                       gl_dbg("Reset gallery, child thread exit!");
+               }
+
+               pthread_exit((void *)1);
+       }
+       else
+       {
+               gl_dbg("Writing pipe...");
+               ecore_pipe_write(ad->pbarinfo.sync_pipe, &pipe_data, sizeof(gl_thread_pipe_data));
+       }
+}
+
+/*******************************************************
+** Prototype           : gl_thread_gen_data_thread
+** Description         : Create child thread for moving or deleting medias
+** Input               : void *data
+** Output              : None
+** Return Value        :
+** Calls               :
+** Called By           :
+**
+**  History            :
+**  1.Date             : 2011/06/10
+**    Author           : Samsung
+**    Modification : Created function
+**
+*********************************************************/
+int
+gl_thread_gen_data_thread(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       pthread_t tid;
+       pthread_attr_t attr;
+       int ret = -1;
+
+       gl_dbg("Creating child thread.");
+       //add pipe for update progressbar status
+       ad->pbarinfo.sync_pipe = ecore_pipe_add(_gl_thread_pipe_cb, ad);
+       //initialize thread attributes
+       ret = pthread_attr_init(&attr);
+       if (ret == 0)
+       {
+               ret = pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);
+               if (ret == 0)
+               {
+                       //create child thread
+                       ret = pthread_create(&tid, &attr, _gl_thread_data_thread, ad);
+                       if (ret != 0)
+                       {
+                               gl_dbgE("[Error] ##### :: pthread_create failed :: #####");
+                               pthread_attr_destroy(&attr);
+                               return -1;
+                       }
+               }
+       }
+
+       gl_dbg("\n\n[Done] @@@@@@@@@@ :::: pthread_create successfull :::: @@@@@@@@@@\n");
+       pthread_attr_destroy(&attr);
+
+       return 0;
+}
+
+/*******************************************************
+** Prototype           : gl_thread_destroy_lock
+** Description         : Destroy mutex lock.
+** Input               : void *data
+** Output              : None
+** Return Value        :
+** Calls               :
+** Called By           :
+**
+**  History            :
+**  1.Date             : 2011/06/10
+**    Author           : Samsung
+**    Modification : Created function
+**
+*********************************************************/
+int
+gl_thread_destroy_lock(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       gl_dbg("@@@@@@@@@@ :::: Destroy MUTEX :::: @@@@@@@@@@");
+
+       /**
+       * The variable below was accessed without holding a guarding lock.
+       * In a multithreaded environment, this can lead to a race condition.
+       * Add lock to prevent from RC.
+       */
+       pthread_mutex_lock(&(ad->pbarinfo.refresh_lock));
+       ad->pbarinfo.refresh_flag = 0;
+       pthread_mutex_unlock(&(ad->pbarinfo.refresh_lock));
+
+       pthread_cond_destroy(&(ad->pbarinfo.refresh_cond));
+       pthread_mutex_destroy(&(ad->pbarinfo.pbar_lock));
+       pthread_mutex_destroy(&(ad->pbarinfo.refresh_lock));
+
+       return 0;
+}
+
+/*******************************************************
+** Prototype           : gl_thread_init_lock
+** Description         : Initialize mutex lock
+** Input               : void *data
+** Output              : None
+** Return Value        :
+** Calls               :
+** Called By           :
+**
+**  History            :
+**  1.Date             : 2011/06/10
+**    Author           : Samsung
+**    Modification : Created function
+**
+*********************************************************/
+int gl_thread_init_lock(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       gl_dbg("@@@@@@@@@@ :::: Initialize MUTEX :::: @@@@@@@@@@");
+
+       pthread_mutex_init(&(ad->pbarinfo.pbar_lock), NULL);
+       pthread_mutex_init(&(ad->pbarinfo.refresh_lock), NULL);
+       pthread_cond_init(&(ad->pbarinfo.refresh_cond), NULL);
+
+       /**
+       * The variable below was accessed without holding a guarding lock.
+       * In a multithreaded environment, this can lead to a race condition.
+       * Add lock to prevent from RC.
+       */
+       pthread_mutex_lock(&(ad->pbarinfo.refresh_lock));
+       ad->pbarinfo.refresh_flag = 0;
+       pthread_mutex_unlock(&(ad->pbarinfo.refresh_lock));
+
+       return 0;
+}
+
+int _gl_thread_set_op_cb(void *data, void *op_cb)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       ad->pbarinfo.op_cb = op_cb;
+       return 0;
+}
+
+int _gl_thread_set_update_cb(void *data, void *update_cb)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       ad->pbarinfo.update_cb = update_cb;
+       return 0;
+}
+
+int _gl_thread_set_del_item_cb(void *data, void *del_item_cb)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       ad->pbarinfo.del_item_cb = del_item_cb;
+       return 0;
+}
+
+int _gl_thread_set_total_cnt(void *data, int total_cnt)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       ad->pbarinfo.total_cnt = total_cnt;
+       return 0;
+}
+
diff --git a/src/util/gl-ui-util.c b/src/util/gl-ui-util.c
new file mode 100644 (file)
index 0000000..e577b51
--- /dev/null
@@ -0,0 +1,805 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+#include <string.h>
+#include <glib.h>
+#include "gl-fs.h"
+#include "gl-ui-util.h"
+#include "gl-util.h"
+#include "gl-ext-ug-load.h"
+#include "gl-ext-exec.h"
+#include "gl-button.h"
+#include "gl-thumbs.h"
+#include "gl-controlbar.h"
+#include "gl-albums.h"
+#include "gl-debug.h"
+#include "gl-data.h"
+#include "gl-thread-util.h"
+#include "gl-pinchzoom.h"
+#include "gl-popup.h"
+#include "gl-ctxpopup.h"
+#include "gl-progressbar.h"
+#include "gl-albums-sel.h"
+#include "gl-thumbs-edit.h"
+#include "gl-thumbs-sel.h"
+#include "gl-strings.h"
+#include "gl-icons.h"
+#include "gl-notify.h"
+#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);
+       Evas_Object *btn = NULL;
+       gl_dbg("");
+
+       /* Remove more */
+       btn = _gl_ui_get_btn(data, NULL, GL_NAVIFRAME_MORE);
+       GL_IF_DEL_OBJ(btn);
+       /* Remove TOOLBAR */
+       btn = _gl_ui_get_btn(data, NULL, GL_NAVIFRAME_TOOLBAR);
+       GL_IF_DEL_OBJ(btn);
+       btn = _gl_ui_get_btn(data, NULL, GL_NAVIFRAME_TITLE_RIGHT_BTN);
+       GL_IF_DEL_OBJ(btn);
+       btn = _gl_ui_get_btn(data, NULL, GL_NAVIFRAME_TITLE_LEFT_BTN);
+       GL_IF_DEL_OBJ(btn);
+       return 0;
+}
+
+Evas_Object *gl_ui_load_edj(Evas_Object *parent, const char *file, const char *group)
+{
+       Evas_Object *eo = NULL;
+       eo = elm_layout_add(parent);
+       GL_CHECK_NULL(eo);
+
+       int r = 0;
+       r = elm_layout_file_set(eo, file, group);
+       if (!r) {
+               evas_object_del(eo);
+               return NULL;
+       }
+
+       evas_object_size_hint_weight_set(eo, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+       evas_object_size_hint_align_set(eo, EVAS_HINT_FILL, EVAS_HINT_FILL);
+       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;
+}
+
+#if 0
+int _gl_ui_add_xpt_btns(Elm_Object_Item *nf_it, gl_ui_xpt_btn_e xpt_btn,
+                       Evas_Smart_Cb r_cb, Evas_Smart_Cb l_cb, void *data)
+{
+       /* Get expanded title */
+       Evas_Object *title = NULL;
+       title = elm_object_item_part_content_get(nf_it, "title");
+       GL_CHECK_VAL(title, -1);
+       /* Camera */
+       if (xpt_btn & GL_UI_XPT_CAMERA) {
+               /* New-album , add left before right for customized TTS */
+               if (xpt_btn & GL_UI_XPT_SHARE)
+                       _gl_expn_title_add_left_btn(title, GL_ICON_SHARE,
+                                                   _gl_str(GL_STR_ID_NEW_ALBUM),
+                                                   l_cb, data);
+               _gl_expn_title_add_right_btn(title, GL_ICON_CAMERA,
+                                            _gl_str(GL_STR_ID_CAMERA), r_cb,
+                                            data);
+       /* Select-all */
+       } else if (xpt_btn & GL_UI_XPT_SEL_ALL) {
+               if (xpt_btn & GL_UI_XPT_DONE)
+                       _gl_expn_title_add_left_btn(title, GL_ICON_DONE,
+                                                   _gl_str(GL_STR_ID_DONE),
+                                                   l_cb, data);
+               _gl_expn_title_add_right_btn(title, GL_ICON_TITLE_SELECT_ALL,
+                                            GL_STR_SELECT_ALL, r_cb, data);
+       } else {
+               gl_dbgE("Wrong mode!");
+       }
+       _gl_expn_title_set_tts(title);
+       return 0;
+}
+
+Evas_Object *_gl_ui_get_xpt_btn(Elm_Object_Item *nf_it, gl_ui_xpt_btn_e ui_btn)
+{
+       /* Get expanded title */
+       Evas_Object *title = NULL;
+       title = elm_object_item_part_content_get(nf_it, "title");
+       GL_CHECK_NULL(title);
+       gl_xtp_btn_e xpt_btn = GL_XPT_BTN_RIGHT;
+       if (ui_btn & GL_UI_XPT_SHARE)
+               xpt_btn = GL_XPT_BTN_LEFT;
+       return _gl_expn_title_get_btn(title, xpt_btn);
+}
+
+int _gl_ui_disable_xpt_btn(Elm_Object_Item *nf_it, gl_ui_xpt_btn_e ui_btn, bool b_disabled)
+{
+       Evas_Object *btn = NULL;
+       btn = _gl_ui_get_xpt_btn(nf_it, ui_btn);
+       if (btn)
+               elm_object_disabled_set(btn, b_disabled);
+       else
+               gl_dbgE("Failed to get xpt button!");
+       return 0;
+}
+
+int _gl_ui_clear_xpt_btns(Elm_Object_Item *nf_it)
+{
+       /* Get expanded title */
+       Evas_Object *title = NULL;
+       title = elm_object_item_part_content_get(nf_it, "title");
+       GL_CHECK_VAL(title, -1);
+       _gl_expn_title_clear_btns(title);
+       return 0;
+}
+#endif
+
+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;
+       layout = gl_ui_load_edj(ad->maininfo.naviframe, GL_EDJ_FILE,
+                               GL_GRP_GRIDVIEW);
+       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);
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_CHECK_VAL(ad->maininfo.naviframe, -1);
+       Elm_Object_Item *navi_it = elm_naviframe_top_item_get(ad->maininfo.naviframe);
+       GL_CHECK_VAL(navi_it, -1);
+       if (b_hide)
+               elm_object_item_signal_emit(navi_it, "elm,state,toolbar,instant_close",
+                                            "");
+       else
+               elm_object_item_signal_emit(navi_it, "elm,state,toolbar,instant_open",
+                                            "");
+       return 0;
+
+}
+
+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);
+       Evas_Object *conform = NULL;
+
+       /* Get conformant */
+       conform = (Evas_Object *)evas_object_data_get(naviframe,
+                                                     GL_NAVIFRAME_OBJ_DATA_KEY);
+       GL_CHECK_VAL(conform, -1);
+       /* Modify to start content from 0,0 */
+       elm_object_signal_emit(conform, "elm,state,indicator,overlap", "");
+       evas_object_data_set(conform, "overlap", (void *)EINA_TRUE);
+       return 0;
+}
+
+int _gl_ui_disable_btn(Evas_Object *btn)
+{
+       if (btn)
+               elm_object_disabled_set(btn, EINA_TRUE);
+       return 0;
+}
+
+int _gl_ui_enable_btn(Evas_Object *btn)
+{
+       if (btn)
+               elm_object_disabled_set(btn, EINA_FALSE);
+       return 0;
+}
+
+/* Set button more */
+int _gl_ui_disable_menu(Elm_Object_Item *nf_it, bool b_disabled)
+{
+       GL_CHECK_VAL(nf_it, -1);
+       Evas_Object *btn = NULL;
+       gl_dbg("more: %d", b_disabled);
+       btn = elm_object_item_part_content_get(nf_it, GL_NAVIFRAME_MORE);
+       if (btn)
+               elm_object_disabled_set(btn, b_disabled);
+       return 0;
+}
+
+/* Get button*/
+Evas_Object *_gl_ui_get_btn(void *data, Elm_Object_Item *nf_it,
+                           const char *part)
+{
+       Elm_Object_Item *_nf_it = nf_it;
+
+       if (_nf_it == NULL) {
+               GL_CHECK_NULL(data);
+               gl_appdata *ad = (gl_appdata *)data;
+               _nf_it = elm_naviframe_top_item_get(ad->maininfo.naviframe);
+               GL_CHECK_NULL(_nf_it);
+       }
+
+       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)
+{
+       GL_CHECK_VAL(view, -1);
+       Eina_List *grid = NULL;
+       Eina_List *l = NULL;
+       Elm_Object_Item *it = NULL;
+
+       grid = elm_gengrid_realized_items_get(view);
+       GL_CHECK_VAL(grid, -1);
+
+       EINA_LIST_FOREACH(grid, l, it) {
+               if (it == NULL) {
+                       gl_dbgE("Invalid item!");
+                       continue;
+               }
+               if (part1)
+                       _gl_ui_set_checkbox_state(it, part1, state);
+               if (part2)
+                       _gl_ui_set_checkbox_state(it, part2, state);
+       }
+       return 0;
+}
+
+int _gl_ui_set_checkbox_state(Elm_Object_Item *it, const char *part,
+                             Eina_Bool state)
+{
+       GL_CHECK_VAL(part, -1);
+       GL_CHECK_VAL(it, -1);
+       Evas_Object *ck = NULL;
+
+       ck = elm_object_item_part_content_get(it, part);
+       if (ck == NULL) {
+               gl_dbgE("Invalid checkbox!");
+               return -1;
+       }
+
+       if (elm_check_state_get(ck) != state)
+               elm_check_state_set(ck, 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);
+       evas_object_data_set(obj, "prev_scroller_x", (void *)0);
+       evas_object_data_set(obj, "prev_scroller_y", (void *)0);
+       evas_object_data_set(obj, "prev_scroller_w", (void *)0);
+       evas_object_data_set(obj, "prev_scroller_h", (void *)0);
+       return 0;
+}
+
+int _gl_ui_del_scroller_pos(Evas_Object *obj)
+{
+       GL_CHECK_VAL(obj, -1);
+       evas_object_data_del(obj, "prev_scroller_x");
+       evas_object_data_del(obj, "prev_scroller_y");
+       evas_object_data_del(obj, "prev_scroller_w");
+       evas_object_data_del(obj, "prev_scroller_h");
+       return 0;
+}
+
+int _gl_ui_save_scroller_pos(Evas_Object *obj)
+{
+       GL_CHECK_VAL(obj, -1);
+       Evas_Coord x = 0;
+       Evas_Coord y = 0;
+       Evas_Coord w = 0;
+       Evas_Coord h = 0;
+
+       elm_scroller_region_get(obj, &x, &y, &w, &h);
+       gl_dbg("(%dx%d), (%dx%d)", x, y, w, h);
+       evas_object_data_set(obj, "prev_scroller_x", (void *)x);
+       evas_object_data_set(obj, "prev_scroller_y", (void *)y);
+       evas_object_data_set(obj, "prev_scroller_w", (void *)w);
+       evas_object_data_set(obj, "prev_scroller_h", (void *)h);
+       return 0;
+}
+
+int _gl_ui_restore_scroller_pos(Evas_Object *obj)
+{
+       GL_CHECK_VAL(obj, -1);
+       Evas_Coord x = 0;
+       Evas_Coord y = 0;
+       Evas_Coord w = 0;
+       Evas_Coord h = 0;
+
+       x = (Evas_Coord)evas_object_data_get(obj, "prev_scroller_x");
+       y = (Evas_Coord)evas_object_data_get(obj, "prev_scroller_y");
+       w = (Evas_Coord)evas_object_data_get(obj, "prev_scroller_w");
+       h = (Evas_Coord)evas_object_data_get(obj, "prev_scroller_h");
+       gl_dbg("(%dx%d), (%dx%d)", x, y, w, h);
+       if (w > 0 && h > 0)
+               elm_scroller_region_show(obj, x, y, w, h);
+       return 0;
+}
+
+int _gl_ui_rotate_view(void *data, int view_mode)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_dbg("view_mode: %d", view_mode);
+
+       switch (view_mode) {
+       case GL_VIEW_ALBUMS:
+       case GL_VIEW_ALBUMS_EDIT:
+       case GL_VIEW_ALBUM_REORDER:
+               _gl_albums_rotate_view(data);
+               break;
+       case GL_VIEW_ALBUMS_SELECT:
+               _gl_albums_sel_rotate_view(data);
+               break;
+       case GL_VIEW_THUMBS:
+       case GL_VIEW_THUMBS_EDIT:
+       case GL_VIEW_THUMBS_SELECT:
+               _gl_thumbs_rotate_view(data);
+               break;
+       case GL_VIEW_TIMELINE:
+               _gl_timeline_view_rotate(data);
+               break;
+       default:
+               break;
+       }
+       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_CHECK_VAL(obj, -1);
+       char *domain = GL_STR_DOMAIN_LOCAL;
+       if (strstr(str, "IDS_COM"))
+               domain = GL_STR_DOMAIN_SYS;
+       elm_object_domain_translatable_text_set(obj, domain, str);
+       return 0;
+}
+
+int _gl_ui_set_translatable_item(Elm_Object_Item *nf_it, const char *str)
+{
+       GL_CHECK_VAL(str, -1);
+       GL_CHECK_VAL(nf_it, -1);
+       char *domain = GL_STR_DOMAIN_LOCAL;
+       if (strstr(str, "IDS_COM"))
+               domain = GL_STR_DOMAIN_SYS;
+       elm_object_item_domain_text_translatable_set(nf_it, domain, EINA_TRUE);
+       return 0;
+}
+
+int _gl_ui_set_translatable_item_part(Elm_Object_Item *nf_it, const char *part,
+                                     const char *str)
+{
+       GL_CHECK_VAL(str, -1);
+       GL_CHECK_VAL(nf_it, -1);
+       char *domain = GL_STR_DOMAIN_LOCAL;
+       if (strstr(str, "IDS_COM"))
+               domain = GL_STR_DOMAIN_SYS;
+       elm_object_item_domain_part_text_translatable_set(nf_it, part, domain,
+                                                         EINA_TRUE);
+       return 0;
+}
+
+int _gl_ui_set_translate_part_str(Evas_Object *obj, const char *part,
+                                 const char *str)
+{
+       GL_CHECK_VAL(str, -1);
+       GL_CHECK_VAL(part, -1);
+       GL_CHECK_VAL(obj, -1);
+
+       char *domain = GL_STR_DOMAIN_LOCAL;
+       if (strstr(str, "IDS_COM"))
+               domain = GL_STR_DOMAIN_SYS;
+       elm_object_domain_translatable_part_text_set(obj, part, domain, str);
+       return 0;
+}
+
+/* Change naviframe item title text */
+int _gl_ui_change_title(Elm_Object_Item *nf_it, const char *text)
+{
+       GL_CHECK_VAL(text, -1);
+       GL_CHECK_VAL(nf_it, -1);
+       elm_object_item_text_set(nf_it, text);
+       _gl_ui_set_translatable_item(nf_it, text);
+       return 0;
+}
+
+/* Update the label text for selected item showed in naviframe title  */
+int _gl_ui_update_label_text(Elm_Object_Item *nf_it, int sel_cnt, bool b_lang)
+{
+       GL_CHECK_VAL(nf_it, -1);
+       gl_dbg("Count: %d, lang: %d", sel_cnt, b_lang);
+       char *pd_selected = GL_STR_PD_SELECTED;
+
+       /* Update the label text */
+       if (sel_cnt > 0) {
+               char *text = NULL;
+               text = g_strdup_printf(_gl_str(pd_selected), sel_cnt);
+               elm_object_item_text_set(nf_it, text);
+               GL_GFREEIF(text);
+       } else if (!b_lang) {
+               /* Don't need to update text if it's called by language_changed_cb*/
+               elm_object_item_text_set(nf_it, GL_STR_ID_SELECT_ITEM);
+               _gl_ui_set_translatable_item(nf_it, GL_STR_ID_SELECT_ITEM);
+       }
+       return 0;
+}
+
+/* Change naviframe item title text */
+int _gl_ui_change_navi_title(Elm_Object_Item *nf_it, char *text, bool b_dropdown)
+{
+       GL_CHECK_VAL(text, -1);
+       GL_CHECK_VAL(nf_it, -1);
+
+       elm_object_item_part_text_set(nf_it, "elm.text.title", _gl_str(text));
+       return 0;
+}
+
+/* Update the label text for selected item showed in naviframe title  */
+int _gl_ui_update_navi_title_text(Elm_Object_Item *nf_it, int sel_cnt, bool b_lang)
+{
+       GL_CHECK_VAL(nf_it, -1);
+       gl_dbg("Count: %d, lang: %d", sel_cnt, b_lang);
+       char *pd_selected = GL_STR_PD_SELECTED;
+
+       Evas_Object *btn = elm_object_item_part_content_get(nf_it, GL_NAVIFRAME_TITLE_RIGHT_BTN);
+
+       if (btn) {
+               if (sel_cnt > 0) {
+                       elm_object_disabled_set(btn, EINA_FALSE);
+               } else {
+                       elm_object_disabled_set(btn, EINA_TRUE);
+               }
+       }
+
+       /* Update the label text */
+       if (sel_cnt > 0) {
+               char *text = NULL;
+               text = g_strdup_printf(_gl_str(pd_selected), sel_cnt);
+               elm_object_item_part_text_set(nf_it, "elm.text.title", _gl_str(text));
+               gl_dbg("Text is : %s", text);
+               GL_GFREEIF(text);
+       } else if (!b_lang) {
+               /* Don't need to update text if it's called by language_changed_cb*/
+               gl_dbg("Text is : %s", GL_STR_ID_SELECT_ITEM);
+               elm_object_item_part_text_set(nf_it, "elm.text.title", _gl_str(GL_STR_ID_SELECT_ITEM));
+       }
+       return 0;
+}
+
+int _gl_ui_add_selall_ck(Evas_Object *parent, char *part, char *part_btn,
+                         Evas_Smart_Cb cb_func, void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       GL_CHECK_VAL(parent, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       Evas_Object *sel_all_btn = NULL;
+       Evas_Object *sel_all_ck = NULL;
+
+       _gl_ui_set_translate_part_str(parent, "select.all.area.label", GL_STR_ID_SELECT_ALL);
+       if (part) {
+               sel_all_ck = elm_check_add(parent);
+               GL_CHECK_VAL(sel_all_ck, -1);
+               elm_check_state_set(sel_all_ck, EINA_FALSE);
+               elm_object_part_content_set(parent, "select.all.area.check", sel_all_ck);
+               ad->selinfo.selectall_ck = sel_all_ck;
+               if (part_btn) {
+                       sel_all_btn = elm_button_add(parent);
+                       GL_CHECK_VAL(sel_all_btn, -1);
+                       elm_object_part_content_set(parent, "select.all.area.check.fg", sel_all_btn);
+                       elm_object_style_set(sel_all_btn, "transparent");
+                       evas_object_smart_callback_add(sel_all_btn, "clicked", cb_func, data);
+               }
+       }
+       return 0;
+}
+
+#ifdef _USE_GRID_CHECK
+int _gl_show_grid_checks(Evas_Object *view, const char *ck_part)
+{
+       GL_CHECK_VAL(ck_part, -1);
+       GL_CHECK_VAL(view, -1);
+
+       Elm_Object_Item *first_it = NULL;
+       Elm_Object_Item *next_it = NULL;
+       Elm_Object_Item *last_it = NULL;
+       first_it = elm_gengrid_first_item_get(view);
+       last_it = elm_gengrid_last_item_get(view);
+       if (first_it)
+               elm_gengrid_item_update(first_it);
+       while (first_it) {
+               next_it = elm_gengrid_item_next_get(first_it);
+               if (next_it == NULL) {
+                       gl_dbgE("Invalid item! Break!");
+                       break;
+               }
+               elm_gengrid_item_update(next_it);
+               first_it = next_it;
+               if (last_it == first_it) {
+                       gl_dbg("done!");
+                       break;
+               }
+       }
+       return 0;
+}
+
+int _gl_show_grid_checks_dual(Evas_Object *view, const char *ck_part, const char *ck_part2)
+{
+       GL_CHECK_VAL(ck_part, -1);
+       GL_CHECK_VAL(view, -1);
+
+       Elm_Object_Item *first_it = NULL;
+       Elm_Object_Item *next_it = NULL;
+       Elm_Object_Item *last_it = NULL;
+       first_it = elm_gengrid_first_item_get(view);
+       last_it = elm_gengrid_last_item_get(view);
+       if (first_it)
+               elm_gengrid_item_update(first_it);
+       while (first_it) {
+               next_it = elm_gengrid_item_next_get(first_it);
+               if (next_it == NULL) {
+                       gl_dbgE("Invalid item! Break!");
+                       break;
+               }
+               elm_gengrid_item_update(next_it);
+               first_it = next_it;
+               if (last_it == first_it) {
+                       gl_dbg("done!");
+                       break;
+               }
+       }
+       return 0;
+}
+#endif
+
diff --git a/src/util/gl-util.c b/src/util/gl-util.c
new file mode 100644 (file)
index 0000000..d7e96ff
--- /dev/null
@@ -0,0 +1,2414 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#include <dlfcn.h>
+#ifdef _USE_SVI
+#include <svi.h>
+#endif
+#include <media_content.h>
+#include <system_settings.h>
+#include <storage.h>
+#include "gl-debug.h"
+#include "gallery.h"
+#include "gl-albums.h"
+#include "gl-thumbs.h"
+#include "gl-util.h"
+#include "gl-ui-util.h"
+#include "gl-controlbar.h"
+#include "gl-thread-util.h"
+#include "gl-popup.h"
+#include "gl-ctxpopup.h"
+#include "gl-progressbar.h"
+#include "gl-ext-ug-load.h"
+#include "gl-ext-exec.h"
+#include "gl-pinchzoom.h"
+#include "gl-albums-sel.h"
+#include "gl-thumbs-sel.h"
+#include "gl-thumbs-edit.h"
+#include "gl-notify.h"
+#include "gl-editfield.h"
+#include "gl-strings.h"
+#include "gl-icons.h"
+#include "gl-data-type.h"
+#include "gl-fs.h"
+#include "gl-db-update.h"
+#ifdef _USE_ROTATE_BG
+#include "gl-exif.h"
+#endif
+#include "gl-timeline.h"
+#include "gl-file-util.h"
+
+#define GL_FILE_COPY_BUF_MAX 16384
+/* Time for displaying progressbar UI compeletely */
+#define GL_TIMER_INTERVAL_PBAR_SHOWED 0.5
+#define GL_TIMER_INTERVAL_VIBRATION 0.5
+#ifdef _USE_ROTATE_BG
+#define GL_ROTATE_DELAY 0.25
+#endif
+#define GL_SO_PATH_IMAGEVIEWER "/usr/ug/lib/libug-image-viewer-efl.so"
+#define GL_FS_MIN_SIZE (500 * 1024)
+
+/* Use timer to show progressbar totally before write pipe */
+static Eina_Bool _gl_start_thread_op_timer_cb(void *data)
+{
+       gl_dbg("Emit START signal...");
+       GL_CHECK_CANCEL(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       /* Emit signal to notice child thread to handle next item. */
+       gl_thread_emit_next_signal(ad);
+       GL_IF_DEL_TIMER(ad->pbarinfo.start_thread_timer);
+       return ECORE_CALLBACK_CANCEL;
+}
+
+/**
+* Use thread to move/copy/delete/add tag to/remove tag from medias
+* for displaying progrssabar UI
+*/
+int _gl_use_thread_operate_medias(void *data, char *pbar_title, int all_cnt,
+                                 int op_type)
+{
+       gl_dbg("all_cnt: %d, op_type: %d.", all_cnt, op_type);
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+
+       /* Initialize thread mutex lock */
+       gl_thread_init_lock(ad);
+       /* Make progressbar */
+       gl_pb_make_thread_pbar_wheel(ad, ad->maininfo.win, pbar_title);
+       /* Set pb_cancel, indicates thread operation is beginning */
+       gl_thread_set_cancel_state(ad, GL_PB_CANCEL_NORMAL);
+       /* Initialize progressbar */
+       gl_pb_refresh_thread_pbar(ad, 0, all_cnt);
+       /* Use timer to emit next signal to show progressbarbar totally */
+       GL_IF_DEL_TIMER(ad->pbarinfo.start_thread_timer);
+       Ecore_Timer *timer = NULL;
+       timer = ecore_timer_add(GL_TIMER_INTERVAL_PBAR_SHOWED,
+                               _gl_start_thread_op_timer_cb, ad);
+       ad->pbarinfo.start_thread_timer = timer;
+       /* Set media operation type */
+       ad->maininfo.medias_op_type = op_type;
+       /* Generate child thread */
+       gl_thread_gen_data_thread(ad);
+       return 0;
+}
+
+bool __gl_util_get_supported_storages_callback(int storageId, storage_type_e type, storage_state_e state, const char *path, void *data)
+{
+       GL_CHECK_FALSE(data);
+
+       gl_appdata *ad = (gl_appdata *)data;
+       if (type == STORAGE_TYPE_EXTERNAL) {
+               ad->maininfo.externalStorageId = storageId;
+               return false;
+       }
+       return true;
+}
+
+static Eina_Bool __gl_db_update_noti_idler_cb(void *data)
+{
+       GL_CHECK_FALSE(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       gl_dbgW("Storage state changed!");
+       int error_code = -1;
+
+       error_code = storage_foreach_device_supported(__gl_util_get_supported_storages_callback, ad);
+       if (error_code == STORAGE_ERROR_NONE) {
+               storage_state_e state;
+               error_code = storage_get_state(ad->maininfo.externalStorageId, &state);
+               if (error_code == STORAGE_ERROR_NONE) {
+                       if (state == STORAGE_STATE_MOUNTED) {
+                               gl_dbg("state[%d] : STORAGE_STATE_MOUNTED", state);
+                               if (ad->maininfo.mmc_state == GL_MMC_STATE_REMOVED)
+                                       ad->maininfo.mmc_state = GL_MMC_STATE_ADDING_MOVING;
+                               else
+                                       ad->maininfo.mmc_state = GL_MMC_STATE_ADDED;
+
+                               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 ||
+                                  state == STORAGE_STATE_UNMOUNTABLE) {
+                               gl_dbg("state[%d] : STORAGE_STATE_REMOVED", state);
+                               if (ad->maininfo.mmc_state == GL_MMC_STATE_ADDED_MOVING) {
+                                       /*
+                                        * Set pb_cancel status,
+                                        * indicates MMC removed while moving or deleting.
+                                        */
+                                       gl_thread_set_cancel_state(ad, GL_PB_CANCEL_MMC);
+                                       /* MMC moved while moving or deleting */
+                                       ad->maininfo.mmc_state = GL_MMC_STATE_REMOVED_MOVING;
+                               } else if (ad->maininfo.mmc_state == GL_MMC_STATE_REMOVED_MOVING) {
+                                       gl_dbgW("View updated on GL_MMC_STATE_ADDED_MOVING");
+                                       GL_IF_DEL_IDLER(ad->maininfo.mmc_idler);
+                                       return ECORE_CALLBACK_CANCEL;
+                               } else {
+                                       /* MMC is extracted */
+                                       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);
+                       }
+               }
+       } else
+               gl_dbgE("Error when check MMC Status");
+       GL_IF_DEL_IDLER(ad->maininfo.mmc_idler);
+       return ECORE_CALLBACK_CANCEL;
+}
+
+void _gl_db_update_sdcard_info(int storage_id, storage_state_e state, void *user_data) {
+
+       GL_CHECK(user_data);
+       gl_appdata *ad = (gl_appdata *)user_data;
+       GL_IF_DEL_IDLER(ad->maininfo.mmc_idler);
+       gl_dbg("mmc_idler: %p", ad->maininfo.mmc_idler);
+       ad->maininfo.mmc_idler = ecore_idler_add(__gl_db_update_noti_idler_cb,
+                       user_data);
+}
+
+static inline int __gl_set_sound_status(void *data, int status)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       ad->maininfo.sound_status = status;
+       return 0;
+}
+
+static int __gl_get_sound_status(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+
+       bool check = false;
+       int retcode = system_settings_get_value_bool(SYSTEM_SETTINGS_KEY_SOUND_SILENT_MODE, &check);
+       if (retcode != SYSTEM_SETTINGS_ERROR_NONE) {
+               gl_dbgE("Failed to get sound status!");
+               return -1;
+       }
+
+       gl_dbg("sound: %d", check);
+       __gl_set_sound_status(data, (check == true) ? 0 : 1);
+       return 0;
+}
+
+static void __gl_change_sound_status_cb(system_settings_key_e key, void *data)
+{
+       __gl_get_sound_status(data);
+}
+
+static int __gl_reg_svi_noti(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       int retcode = system_settings_set_changed_cb(SYSTEM_SETTINGS_KEY_SOUND_SILENT_MODE,
+                                      __gl_change_sound_status_cb, data);
+       if (retcode != SYSTEM_SETTINGS_ERROR_NONE) {
+               gl_dbgE("Failed to register the sound status callback");
+               return -1;
+       }
+       return 0;
+}
+
+static int __gl_dereg_svi_noti(void)
+{
+       int retcode = system_settings_unset_changed_cb (SYSTEM_SETTINGS_KEY_SOUND_SILENT_MODE);
+       if (retcode != SYSTEM_SETTINGS_ERROR_NONE) {
+               gl_dbgE("Failed to un-register the sound status callback");
+               return -1;
+       }
+       return 0;
+}
+
+/* Check if there is any MMC file contained in select_medias_elist */
+static bool _gl_check_mmc_file_selected(void *data)
+{
+       gl_dbg("");
+       GL_CHECK_FALSE(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       gl_item *gitem = NULL;
+       int i = 0;
+       int on_mmc = -1;
+       int cnt = _gl_data_selected_list_count(ad);
+       for (i = 0; i < cnt; i++) {
+               gitem = NULL;
+               on_mmc = -1;
+
+               gitem = _gl_data_selected_list_get_nth(ad, i);
+               /* File on MMC is selected */
+               if (gitem && gitem->item && gitem->item->file_url) {
+                       on_mmc = strncmp(GL_ROOT_PATH_MMC,
+                                        gitem->item->file_url,
+                                        strlen(GL_ROOT_PATH_MMC));
+                       if (on_mmc == 0)
+                               return true;
+               }
+       }
+       return false;
+}
+
+/* Copy thumbnail and file */
+static Eina_Bool __gl_file_cp(void *data, const char *src, const char *dst)
+{
+       GL_CHECK_FALSE(src);
+       GL_CHECK_FALSE(dst);
+       /* Copy file first */
+       if (_gl_fs_copy(data, src, dst)) {
+               if (_gl_local_data_add_media(dst, NULL) < 0) {
+                       gl_dbgE("Copy media thumbnail failed!");
+                       return EINA_FALSE;
+               }
+       } else {
+               gl_dbgE("Copy file failed!");
+               return EINA_FALSE;
+       }
+       return EINA_TRUE;
+}
+
+/* Move thumbnail and file */
+static Eina_Bool __gl_file_mv(void *data, gl_item *gitem, const char *src, const char *dst, int mc_mode)
+{
+       GL_CHECK_FALSE(src);
+       GL_CHECK_FALSE(dst);
+       GL_CHECK_FALSE(gitem);
+       GL_CHECK_FALSE(data);
+       /* Move file first */
+       if (_gl_fs_move(data, src, dst)) {
+               if (_gl_local_data_move_media(gitem->item, dst) < 0) {
+                       gl_dbgE("Move media thumbnail failed!");
+                       return EINA_FALSE;
+               }
+       } else {
+               gl_dbgE("Move file failed!");
+               return EINA_FALSE;
+       }
+
+       return EINA_TRUE;
+}
+
+int gl_get_entry_text(Evas_Object * entry, char *entry_text, int len_max)
+{
+       gl_dbg("");
+       GL_CHECK_VAL(entry_text, -1);
+       GL_CHECK_VAL(entry, -1);
+
+       memset(entry_text, 0x00, len_max);
+
+       char *entry_str = (char *)elm_entry_entry_get(entry);
+       if (entry_str)
+       {
+               if (strlen(entry_str) == 0)
+               {
+                       gl_dbg("Entry string is empty!");
+               }
+               else
+               {
+                       char *entry_utf8 = elm_entry_markup_to_utf8(entry_str); // changes user input to utf-8 encoding format
+                       if (entry_utf8 == NULL)
+                       {
+                               gl_dbgE("Make entry string to UTF8 failed!");
+                               return -1;
+                       }
+                       else if (strlen(entry_utf8) == 0)
+                       {
+                               gl_dbg("Entry text is empty!");
+                       }
+                       else
+                       {
+                               g_strlcpy(entry_text, entry_utf8, len_max);
+                               entry_text[len_max - 1] = '\0';
+                       }
+
+                       GL_FREE(entry_utf8);
+               }
+       }
+       else
+       {
+               gl_dbgE("Get entry string failed!");
+               return -1;
+       }
+
+       return 0;
+}
+
+/**
+* Change utf8 string to markup, then set it as entry text.
+* To fix special character "&" issue,  to convert "&" to "&amp;". f.e.
+* Myfiles->rename folder to AB&C->Gallery/Rename ->displayed as "AB"
+*/
+int gl_set_entry_text(Evas_Object *entry, char *entry_text)
+{
+       GL_CHECK_VAL(entry, -1);
+       char *entry_makeup = NULL;
+       gl_dbg("Entry UTF8 text: %s.", entry_text);
+
+       if (entry_text) {
+               entry_makeup = elm_entry_utf8_to_markup(entry_text);
+               if (entry_makeup == NULL) {
+                       gl_dbgE("Make utf8 string to makeup failed!");
+                       return -1;
+               }
+               gl_dbg("Entry makeup text: %s.", entry_makeup);
+       }
+       /* Empty string set if entry_makeup is NULL */
+       elm_entry_entry_set(entry, entry_makeup);
+
+       GL_FREEIF(entry_makeup);
+       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);
+       GL_CHECK_VAL(data, -1);
+       gl_sdbg("Input album name: %s", album_name);
+
+       /* Check album name length */
+       if (strlen(album_name) == 0) {
+               gl_dbgW("Inserted text is empty!");
+               _gl_popup_create_local(data, GL_POPUP_NOBUT, GL_STR_ID_ENTRY_IS_EMPTY);
+               goto INVALID_ALBUM_NAME;
+       }
+
+       /* Removes leading and trailing whitespace */
+       g_strstrip((gchar *)album_name);
+       gl_sdbg("Inserted album name: %s, length: %d", album_name, strlen(album_name));
+
+       if (strlen(album_name) == 0) {
+               gl_dbgW("Album name includes only space!");
+               _gl_popup_create_local(data, GL_POPUP_NOBUT, GL_STR_ID_INVALID_INPUT_PARAMETER);
+               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!");
+               _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;
+}
+
+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
+*
+* @param album
+*    check album display name for getting proper translation
+*
+* @return
+*    the translated album display name
+*/
+char *_gl_get_i18n_album_name(gl_album_s *cluster)
+{
+       GL_CHECK_NULL(cluster);
+       char *i18n_name = NULL;
+
+       if (_gl_data_is_camera_album(cluster)) {
+               /* system folder name: Camera */
+               i18n_name = GL_STR_ID_CAMERA;
+       } else if (_gl_data_is_default_album(GL_STR_ALBUM_DOWNLOADS, cluster)) {
+               /* system folder name: Downloads */
+               i18n_name = GL_STR_ID_DOWNLOADS;
+       } else if (_gl_data_is_screenshot_album(GL_STR_ALBUM_SCREENSHOTS, cluster)) {
+               /* system folder name: Screenshots */
+               i18n_name = GL_STR_ID_SCREENSHOTS;
+       } else if (cluster->type == GL_STORE_T_ALL) {
+               GL_FREEIF(cluster->display_name);
+               cluster->display_name = strdup(GL_STR_ID_ALL_ALBUMS);
+               i18n_name = cluster->display_name;
+       } else if (cluster->type == GL_STORE_T_PHONE ||
+               cluster->type == GL_STORE_T_MMC) {
+               if (_gl_data_is_root_path(cluster->path)) {
+                       /* check root case */
+                       i18n_name = GL_STR_ID_NO_NAME;
+               } else {
+                       /* if the folder is not a system folder, return itself */
+                       i18n_name = cluster->display_name;
+               }
+       } else {
+               /* if the folder is not a system folder, return itself */
+               i18n_name = cluster->display_name;
+       }
+
+       if (i18n_name == NULL || strlen(i18n_name) <= 0)
+               i18n_name = GL_STR_ID_NO_NAME;
+
+       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 (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;
+       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("");
+       char path[GL_DIR_PATH_LEN_MAX] = { 0, };
+
+       snprintf(path, GL_DIR_PATH_LEN_MAX, "%s/%s", GL_DEFAULT_PATH_IMAGES, name);
+       path[strlen(path)] = '\0';
+       gl_sdbg("Making %s directory", path);
+
+       _gl_fs_mkdir(GL_DEFAULT_PATH_IMAGES);
+       bool isSuccessful = _gl_fs_mkdir(path);
+       return isSuccessful;
+}
+
+/* Used for loal medias, thumbnail was moved to new dest first, then rename file */
+int _gl_move_media_thumb(void *data, gl_item *gitem, char *new_dir_name,
+                        bool is_full_path, int *popup_op, int mc_mode)
+{
+       gl_dbg("Move/Copy[%d] media item START>>>", mc_mode);
+       char new_path[GL_FILE_PATH_LEN_MAX] = { 0, };
+       char ext[GL_FILE_EXT_LEN_MAX] = { 0, };
+       char new_path_noext[GL_FILE_PATH_LEN_MAX] = { 0, };
+
+       if (gitem == NULL || gitem->item == NULL || popup_op == NULL) {
+               gl_dbgE("Invalid parameters!");
+               return -1;
+       }
+
+       *popup_op = GL_POPUP_OP_NONE;
+
+       if (is_full_path) {
+               if (!gitem->item->file_url || !strlen(gitem->item->file_url) ||
+                   !gitem->item->display_name) {
+                       gl_dbgE("Invalid file!");
+                       return -1;
+               }
+               snprintf(new_path, sizeof(new_path), "%s/%s", new_dir_name,
+                        (char *)(gitem->item->display_name));
+               gl_sdbg("New path : %s", new_path);
+
+               if (mc_mode == GL_MC_MOVE && !g_strcmp0(new_path, gitem->item->file_url)) {
+                       *popup_op = GL_POPUP_OP_SAME_ALBUM;
+                       gl_dbg("File already in destination");
+                       return 0;
+               } else if (gl_file_exists(new_path)) { /* return true if file exists, rename new file */
+                       _gl_fs_get_path_without_ext(new_path, ext, new_path_noext);
+                       char *final_path = NULL;
+                       final_path = _gl_fs_get_unique_full_path(new_path_noext, ext);
+                       if (final_path == NULL)
+                               return -1;
+                       gl_dbg("Created unique path: %s", final_path);
+                       memset(new_path, 0x00, GL_FILE_PATH_LEN_MAX);
+                       g_strlcpy(new_path, final_path, GL_FILE_PATH_LEN_MAX);
+                       GL_FREE(final_path);
+                       *popup_op = GL_POPUP_OP_DUPLICATED_NAME;
+               }
+       } else {
+               snprintf(new_path, GL_FILE_PATH_LEN_MAX, "%s/%s/%s",
+                        GL_DEFAULT_PATH_IMAGES, new_dir_name,
+                        (char *)(gitem->item->display_name));
+       }
+
+       new_path[strlen(new_path)] = '\0';
+
+       Eina_Bool ret = EINA_FALSE;
+       switch (mc_mode) {
+       case GL_MC_MOVE:
+               /* stop using "rename" when moving from mmc to phone for correct db update */
+               ret = __gl_file_mv(data, gitem, gitem->item->file_url, new_path, mc_mode);
+               break;
+       case GL_MC_COPY:
+               ret = __gl_file_cp(gitem->ad, gitem->item->file_url, new_path);
+               break;
+       default:
+               gl_dbgE("Wrong mode!");
+       }
+
+       gl_dbg("Move/Copy media item OVER<<<");
+       if (!ret)
+               return -1;
+       else
+               return 0;
+}
+
+/* Used for loal medias, thumbnail was moved to new dest first, then rename file */
+int _gl_move_media_thumb_by_id(void *data, const char *uuid, char *new_dir_name,
+                              int *popup_op, int mc_mode)
+{
+       gl_dbg("Move/Copy[%d] media item START>>>", mc_mode);
+       char new_path[GL_FILE_PATH_LEN_MAX] = { 0, };
+       char ext[GL_FILE_EXT_LEN_MAX] = { 0, };
+       char new_path_noext[GL_FILE_PATH_LEN_MAX] = { 0, };
+
+       if (uuid == NULL || popup_op == NULL) {
+               gl_dbgE("Invalid parameters!");
+               return -1;
+       }
+
+       *popup_op = GL_POPUP_OP_NONE;
+       media_info_h media_h = NULL;
+       int ret = -1;
+       char *path = NULL;
+       char *name = NULL;
+
+       ret = media_info_get_media_from_db(uuid, &media_h);
+       if (ret != MEDIA_CONTENT_ERROR_NONE) {
+               gl_dbgE("Get media failed[%d]!", ret);
+               goto GL_DONE;
+       }
+       ret = media_info_get_display_name(media_h, &name);
+       if (ret != MEDIA_CONTENT_ERROR_NONE) {
+               gl_dbgE("Get storage type failed!");
+               goto GL_DONE;
+       }
+       ret = media_info_get_file_path(media_h, &path);
+       if (ret != MEDIA_CONTENT_ERROR_NONE) {
+               gl_dbgE("Get media file path failed!");
+               goto GL_DONE;
+       }
+
+       snprintf(new_path, sizeof(new_path), "%s/%s", new_dir_name, name);
+       gl_sdbg("New path : %s", new_path);
+
+       /* Don't move, in 'All albums' */
+       if (!g_strcmp0(new_path, path)) {
+               *popup_op = GL_POPUP_OP_SAME_ALBUM;
+               gl_dbg("File already in destination");
+               ret = 0;
+               goto GL_DONE;
+       } else if (gl_file_exists(new_path)) { /* return true if file exists, rename new file */
+               _gl_fs_get_path_without_ext(new_path, ext, new_path_noext);
+               char *final_path = NULL;
+               final_path = _gl_fs_get_unique_full_path(new_path_noext, ext);
+               if (final_path == NULL)
+                       goto GL_DONE;
+               gl_dbg("Created unique path: %s", final_path);
+               memset(new_path, 0x00, GL_FILE_PATH_LEN_MAX);
+               g_strlcpy(new_path, final_path, GL_FILE_PATH_LEN_MAX);
+               GL_FREE(final_path);
+               *popup_op = GL_POPUP_OP_DUPLICATED_NAME;
+       }
+
+       new_path[strlen(new_path)] = '\0';
+
+       switch (mc_mode) {
+       case GL_MC_MOVE:
+               if (!_gl_fs_move(data, path, new_path)) {
+                       ret = -1;
+                       goto GL_DONE;
+               }
+               ret = media_info_move_to_db(media_h, new_path);
+               break;
+       case GL_MC_COPY:
+               if (!__gl_file_cp(data, path, new_path)) {
+                       ret = -1;
+                       goto GL_DONE;
+               }
+               break;
+       default:
+               gl_dbgE("Wrong mode!");
+       }
+
+ GL_DONE:
+       GL_FREEIF(name);
+       GL_FREEIF(path);
+       if (media_h)
+               media_info_destroy(media_h);
+
+       gl_dbg("Move/Copy media item OVER<<<");
+       if (ret != MEDIA_CONTENT_ERROR_NONE)
+               return -1;
+       else
+               return 0;
+}
+
+/* Used for move file to new dest */
+int _gl_move_media(gl_item *gitem, char *new_dir_name, bool is_full_path)
+{
+       gl_dbg("Move media START>>>");
+       char new_path[GL_FILE_PATH_LEN_MAX] = { 0, };
+       char ext[GL_FILE_EXT_LEN_MAX] = { 0, };
+       char new_path_noext[GL_FILE_PATH_LEN_MAX] = { 0, };
+       if (!gitem || !gitem->item) {
+               gl_dbgE("Invalid gitem!");
+               return -1;
+       }
+
+       if (is_full_path) {
+               if (!gitem->item->file_url || !strlen(gitem->item->file_url) ||
+                   !gitem->item->display_name) {
+                       gl_dbgE("file url or name is invalid!");
+                       return -1;
+               }
+               snprintf(new_path, sizeof(new_path), "%s/%s",
+                       new_dir_name, (char *)(gitem->item->display_name));
+               gl_dbg("New path : %s", new_path);
+
+               if (!g_strcmp0(new_path, gitem->item->file_url)) {
+                       gl_dbgW("File exists!");
+                       return 0;
+               } else if (gl_file_exists(new_path)) {
+                       _gl_fs_get_path_without_ext(new_path, ext, new_path_noext);
+                       char *final_path = NULL;
+                       final_path = _gl_fs_get_unique_full_path(new_path_noext, ext);
+                       if (final_path == NULL)
+                               return -1;
+                       gl_dbg("Created unique path: %s", final_path);
+                       memset(new_path, 0x00, GL_FILE_PATH_LEN_MAX);
+                       g_strlcpy(new_path, final_path, GL_FILE_PATH_LEN_MAX);
+                       GL_FREE(final_path);
+               }
+       } else {
+               snprintf(new_path, GL_FILE_PATH_LEN_MAX, "%s/%s/%s",
+                        GL_DEFAULT_PATH_IMAGES, new_dir_name,
+                        (char *)(gitem->item->display_name));
+       }
+
+       new_path[strlen(new_path)] = '\0';
+
+       if (!_gl_fs_move(gitem->ad, gitem->item->file_url, new_path)) {
+               gl_dbg("Move media OVER<<<");
+               return -1;
+       } else {
+               if (_gl_local_data_add_media(new_path, NULL) < 0) {
+                       gl_dbgE("Move media thumbnail failed!");
+                       return EINA_FALSE;
+               }
+               gl_dbg("Move media OVER<<<");
+               return 0;
+       }
+}
+
+/**
+* Check if there is any media in Gallery.
+*
+* False returned if none medias exist, other return True.
+*/
+bool gl_check_gallery_empty(void *data)
+{
+       GL_CHECK_FALSE(data);
+       gl_appdata *ad = (gl_appdata *)data;
+
+       if (ad->albuminfo.elist == NULL) {
+               gl_dbgE("ad->albuminfo.elist is empty!");
+               return true;
+       }
+
+       Eina_List *clist = ad->albuminfo.elist->clist;
+       if (clist == NULL) {
+               gl_dbgW("Albums list is invalid!");
+               return true;
+       }
+
+       int len = eina_list_count(clist);
+       if (len == 0) {
+               gl_dbgW("Albums list is empty!");
+               return true;
+       }
+       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.
+*/
+int gl_check_mmc_state(void *data, char *dest_folder)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+
+       /* MMC hasn't been inserted */
+       if (ad->maininfo.mmc_state == GL_MMC_STATE_REMOVED)
+               return 0;
+
+       int on_mmc = -1;
+       /**
+       * 1, Places: Add tag;
+       * 2, Tags: Add tag/remove tag;
+       * 3, Albums: Move/Delete/Add tag.
+       */
+       /* Move files to MMC album */
+       if (dest_folder) {
+               on_mmc = strncmp(GL_ROOT_PATH_MMC, dest_folder,
+                                strlen(GL_ROOT_PATH_MMC));
+               if (on_mmc == 0)
+                       goto ON_MMC;
+       }
+
+       gl_cluster *cur_album = _gl_albums_get_current(data);
+       char src_folder_path[GL_DIR_PATH_LEN_MAX] = { 0, };
+       GL_CHECK_VAL(cur_album, -1);
+       GL_CHECK_VAL(cur_album->cluster, -1);
+       /* Move files from MMC album */
+       GL_CHECK_VAL(cur_album->cluster->uuid, -1);
+       g_strlcpy(src_folder_path, cur_album->cluster->path,
+                 GL_DIR_PATH_LEN_MAX);
+       on_mmc = strncmp(GL_ROOT_PATH_MMC, src_folder_path,
+                        strlen(GL_ROOT_PATH_MMC));
+       /* Check MMC files selected in album [All albums] */
+       if (on_mmc == 0) {
+               goto ON_MMC;
+       } else if (cur_album->cluster->type == GL_STORE_T_ALL) {
+               gl_dbg("In album [All albums].");
+               if (_gl_check_mmc_file_selected(ad))
+                       goto ON_MMC;
+       }
+       return 0;
+
+ ON_MMC:
+       gl_dbgW("Operate medias on MMC!");
+       ad->maininfo.mmc_state = GL_MMC_STATE_ADDED_MOVING;
+       return 0;
+}
+
+static int __gl_reg_db_noti(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       int error_code = -1;
+
+       error_code = storage_foreach_device_supported(__gl_util_get_supported_storages_callback, ad);
+       /* Save the init status of MMC */
+       if (error_code == STORAGE_ERROR_NONE) {
+               storage_state_e state;
+               error_code = storage_get_state(ad->maininfo.externalStorageId, &state);
+               if (error_code == STORAGE_ERROR_NONE) {
+                       if (state == STORAGE_STATE_MOUNTED) {
+                               gl_dbg("###### :::::: MMC loaded! :::::: ######");
+                               ad->maininfo.mmc_state = GL_MMC_STATE_ADDED;
+                       } else if (state == STORAGE_STATE_REMOVED ||
+                                        state == STORAGE_STATE_UNMOUNTABLE) {
+                               gl_dbg("###### :::::: MMC removed! :::::: ######");
+                               ad->maininfo.mmc_state = GL_MMC_STATE_REMOVED;
+                       }
+               }
+       }
+
+       gl_dbg("Enable the noti handle for DB update status!");
+       /* Set DB update status callback */
+       error_code = storage_set_state_changed_cb(ad->maininfo.externalStorageId, _gl_db_update_sdcard_info, ad);
+       if (error_code != STORAGE_ERROR_NONE) {
+               gl_dbgE("storage_set_state_changed_cb failed!");
+       }
+       return 0;
+}
+
+static int __gl_dereg_db_noti(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       int error_code = -1;
+
+       gl_dbg("Disable the noti handle for DB update status!");
+       error_code = storage_unset_state_changed_cb(ad->maininfo.externalStorageId, _gl_db_update_sdcard_info);
+       if (error_code != STORAGE_ERROR_NONE) {
+               gl_dbgE("storage_unset_state_changed_cb failed!");
+       }
+       return 0;
+}
+
+/*
+* Get view mode of app
+*/
+int gl_get_view_mode(void *data)
+{
+       GL_CHECK_VAL(data, GL_VIEW_NONE);
+       gl_appdata *ad = (gl_appdata *)data;
+       return ad->maininfo.view_mode;
+}
+
+/*
+* Set view mode of app
+*/
+int gl_set_view_mode(void *data, int mode)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       ad->maininfo.view_mode = mode;
+       return 0;
+}
+
+int gl_del_invalid_widgets(void *data, int invalid_m)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       gl_dbg("");
+       if (ad->popupinfo.popup) {
+               /* Remove popup */
+               evas_object_del(ad->popupinfo.popup);
+               ad->popupinfo.popup = NULL;
+       } else if (ad->uginfo.ug) {
+               /* Destroy UG */
+               gl_dbg("Destroy UG!");
+               if (ad->uginfo.ug) {
+                       app_control_destroy(ad->uginfo.ug);
+                       ad->uginfo.ug = NULL;
+                       ad->uginfo.ug_type = -1;
+               }
+       }
+
+       switch (invalid_m) {
+       case GL_INVALID_NEW_ENTRY:
+       case GL_INVALID_NEW_ENTRY_NOC:
+               if (ad->entryinfo.mode == GL_ENTRY_NEW_ALBUM) {
+                       gl_dbg("Destroy New album/tag view!");
+                       if (invalid_m == GL_INVALID_NEW_ENTRY) {
+                               gl_dbg("Pop to nf_it_edit");
+                               elm_naviframe_item_pop_to(ad->gridinfo.nf_it);
+                       }
+               }
+               break;
+       default:
+               ad->entryinfo.mode = GL_ENTRY_NONE;
+               break;
+       }
+       return 0;
+}
+
+/* 'Delete medias' is available in tab Albums and Places */
+static int __gl_del_medias_op(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       /* Get all selected medias count */
+       int cnt = _gl_data_selected_list_count(ad);
+       gl_item *gitem = NULL;
+       int i = 0;
+       int popup_op = GL_POPUP_OP_NONE;
+
+       /* Removed media from selected_media_elist */
+       Eina_List *media_elist = NULL;
+       for (i = 0; i < cnt; i++) {
+               gitem = eina_list_nth(ad->selinfo.elist, i);
+               if (gitem != NULL && gitem->item != NULL) {
+                       if (_gl_data_delete_file(gitem->item->file_url, gitem->item->uuid, false) < 0)
+                               gl_dbgE("Failed to delete file!");
+                       _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;
+               } else {
+                       gl_dbgE("Invalid item!");
+               }
+
+               gl_dbg("Write pipe, make progressbar updated!");
+               gl_thread_write_pipe(ad, i+1, popup_op);
+               gitem = NULL;
+       }
+       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);
+       gl_appdata *ad = (gl_appdata *)data;
+       int cancel_flag = false;
+       gl_thread_get_cancel_state(ad, &cancel_flag);
+       gl_dbgW("======================");
+
+       if (GL_VIEW_THUMBS == gl_get_view_mode(data)) {
+               elm_naviframe_item_pop_to(ad->gridinfo.nf_it);
+               _gl_thumbs_update_items(data);
+       } else if (!ad->albuminfo.b_new_album && !_gl_thumbs_check_zero(data)) {
+               /* Deleting process done, change to normal view */
+               _gl_thumbs_edit_pop_view(ad);
+       } else {
+               gl_dbgW("Empty album, change to Albums view!");
+               Elm_Object_Item *nf_it = elm_naviframe_top_item_get(ad->maininfo.naviframe);
+               if (nf_it == ad->gridinfo.nf_it) {
+                       /* pop_cb will be launched */
+                       gl_set_view_mode(data, GL_VIEW_THUMBS);
+               }
+               elm_naviframe_item_pop_to(ad->ctrlinfo.nf_it);
+               ad->albuminfo.b_new_album = false;
+               /* Refine me */
+               if (_gl_ctrl_get_tab_mode(ad) == GL_CTRL_TAB_TIMELINE) {
+                       gl_set_view_mode(data, GL_VIEW_TIMELINE);
+                       _gl_timeline_update_view(data);
+               } else if (_gl_ctrl_get_tab_mode(ad) == GL_CTRL_TAB_ALBUMS) {
+                       gl_set_view_mode(data, GL_VIEW_ALBUMS);
+                       gl_albums_update_view(data);
+               }
+
+               /* Add notification */
+               _gl_notify_create_notiinfo(noti_str);
+       }
+       /* Add notification */
+       if (noti_str && cancel_flag != GL_PB_CANCEL_ERROR)
+               _gl_notify_create_notiinfo(noti_str);
+       return 0;
+}
+
+/* Update view after deleting process done */
+static int __gl_update_del_medias_view(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+
+       /* Clear selected list */
+       _gl_data_selected_list_finalize(data);
+       Eina_List *media_elist = NULL;
+       _gl_data_update_item_list(ad, NULL, &media_elist);
+       _gl_thumbs_clear_and_set_list(ad, media_elist);
+
+       if (_gl_thumbs_check_zero(data)) {
+               gl_sdbg("is_zero");
+               _gl_update_albums_list(ad);
+       } 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);
+
+       _gl_db_update_lock_once(data, false);
+       return 0;
+}
+
+char *_gl_delete_folder(char *path)
+{
+       GL_CHECK_NULL(path);
+       char *del_path = strdup(path);
+       if (NULL == del_path)
+               return NULL;
+       char *sub_path = del_path;
+       while (gl_file_dir_is_empty(del_path) == 1) {
+               gl_dbg("this dir is empty, rm it!");
+               if (gl_file_rmdir(del_path) == EINA_FALSE) {
+                       gl_dbgE("file_rmdir failed!");
+                       GL_FREE(del_path);
+                       return NULL;
+               }
+               sub_path = strrchr(del_path, '/');
+               if (sub_path) {
+                       *sub_path = '\0';
+               }
+       }
+       GL_FREE(del_path);
+       return path;
+}
+
+int gl_del_medias(void *data)
+{
+       gl_dbg("");
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       /* Get all selected medias count */
+       int cnt = _gl_data_selected_list_count(ad);
+       if (cnt != 0) {
+               _gl_db_update_lock_always(data, true);
+
+               /* Check MMC state for cancel operation */
+               gl_check_mmc_state(ad, NULL);
+               gl_dbg("MMC state: %d.", ad->maininfo.mmc_state);
+               _gl_set_file_op_cbs(data, __gl_del_medias_op, NULL,
+                                       __gl_update_del_medias_view, cnt);
+               _gl_use_thread_operate_medias(ad, GL_STR_ID_DELETING, cnt,
+                                                 GL_MEDIA_OP_DELETE);
+       }
+       return 0;
+}
+
+/* 'Delete medias' is available in Dali view */
+int _gl_del_media_by_id(void *data, const char *uuid)
+{
+       GL_CHECK_VAL(uuid, -1);
+       GL_CHECK_VAL(data, -1);
+       media_info_h media_h = NULL;
+       media_content_storage_e storage_type = 0;
+       int ret = -1;
+
+       ret = media_info_get_media_from_db(uuid, &media_h);
+       if (ret != MEDIA_CONTENT_ERROR_NONE || media_h == NULL) {
+               gl_dbgE("Get media failed[%d]!", ret);
+               goto DEL_MEDIA_BY_ID_FAILED;
+       }
+       ret = media_info_get_storage_type(media_h, &storage_type);
+       if (ret != MEDIA_CONTENT_ERROR_NONE) {
+               gl_dbgE("Get storage type failed!");
+               goto DEL_MEDIA_BY_ID_FAILED;
+       }
+       char *path = NULL;
+       ret = media_info_get_file_path(media_h, &path);
+       if (ret != MEDIA_CONTENT_ERROR_NONE) {
+               gl_dbgE("Get media file path failed!");
+               GL_FREEIF(path);
+               goto DEL_MEDIA_BY_ID_FAILED;
+       }
+       if (!gl_file_unlink(path)) {
+               char *error_msg = calloc(1, GL_ARRAY_LEN_MAX);
+               if (error_msg != NULL) {
+                       strerror_r(errno, error_msg, GL_ARRAY_LEN_MAX);
+                       gl_dbgE("file_unlink failed[%s]!", error_msg);
+                       GL_FREE(error_msg);
+               }
+               GL_FREEIF(path);
+               goto DEL_MEDIA_BY_ID_FAILED;
+       }
+
+       /* Delete record from DB then delete media from file system */
+       ret = media_info_delete_from_db(uuid);
+       if (ret != MEDIA_CONTENT_ERROR_NONE) {
+               gl_dbgE("media_info_delete_from_db failed[%d]!", ret);
+               goto DEL_MEDIA_BY_ID_FAILED;
+       }
+
+       GL_FREEIF(path);
+
+       if (media_h) {
+               media_info_destroy(media_h);
+               media_h = NULL;
+       }
+       return 0;
+
+DEL_MEDIA_BY_ID_FAILED:
+
+       GL_FREEIF(path);
+
+       if (media_h) {
+               media_info_destroy(media_h);
+               media_h = NULL;
+       }
+       return -1;
+}
+
+int gl_remove_album(void *data, gl_cluster *album_item, bool is_hide)
+{
+       GL_CHECK_VAL(data, -1);
+
+       if (album_item == NULL || album_item->cluster == NULL ||
+           album_item->cluster->uuid == NULL) {
+               gl_dbgE("Invalid album!");
+               return -1;
+       }
+
+       gl_sdbg("Remove album: %s, id=%s", album_item->cluster->display_name,
+              album_item->cluster->uuid);
+       /* remove album from db*/
+       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);
+       return 0;
+}
+
+static int __gl_update_del_albums_view(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       _gl_update_albums_list(data);
+       /* update the albums view */
+       _gl_albums_change_mode(data, false);
+       _gl_db_update_lock_always(data, false);
+       return 0;
+}
+
+/* delete albums */
+static int __gl_del_albums_op(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_CHECK_VAL(ad->albuminfo.sel_elist, -1);
+       gl_cluster *album = NULL;
+       int cnt = _gl_data_get_albums_selected_cnt(ad);
+       int i = 0;
+       int ret = -1;
+
+       if (cnt == 0) {
+               gl_dbgE("Empty list!");
+               return -1;
+       }
+       gl_dbg("cnt= %d", cnt);
+       for (i = 0; i < cnt; i++) {
+               album = eina_list_nth(ad->albuminfo.sel_elist, i);
+
+               if (album && album->cluster && album->cluster->uuid) {
+                       if ((ret = gl_remove_album(ad, album, false)) < 0)
+                               gl_dbgE("remove album failed[%d]!", ret);
+               }
+               gl_thread_write_pipe(ad, i+1, GL_POPUP_OP_NONE);
+       }
+       return 0;
+}
+
+int _gl_del_albums(void *data)
+{
+       gl_dbg("");
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       /* Get all selected albums count */
+       int cnt = _gl_data_get_albums_selected_cnt(ad);
+       if (cnt !=0) {
+               _gl_db_update_lock_always(data, true);
+               /* Check MMC state for cancel operation */
+               gl_check_mmc_state(ad, NULL);
+               gl_dbg("MMC state: %d.", ad->maininfo.mmc_state);
+               _gl_set_file_op_cbs(data, __gl_del_albums_op, NULL,
+                                       __gl_update_del_albums_view, cnt);
+               _gl_use_thread_operate_medias(ad, GL_STR_ID_DELETING, cnt,
+                                                 GL_MEDIA_OP_DELETE_ALBUM);
+       }
+
+       return 0;
+}
+
+int _gl_data_update_sel_item_list(void *data, Eina_List *p_elist)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       gl_item *gitem = NULL;
+       int count = eina_list_count(p_elist);
+       int i;
+       gitem = eina_list_nth(p_elist, 0);
+       if (gitem) {
+               gitem->album->elist = NULL;
+       }
+       for (i = 0; i < count ; i++) {
+               gitem = eina_list_nth(p_elist, i);
+               _gl_data_restore_update_selected(ad->selinfo.elist, gitem);
+       }
+       return 0;
+}
+
+#ifdef _USE_ROTATE_BG
+/* b_path == true, Use saved folder path to check cluster uuid
+ * b_select == true, Update albums in select view for tag adding
+ */
+int _gl_refresh_albums_list(void *data, bool b_path, bool b_select)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       gl_cluster *cur_album = _gl_albums_get_current(data);
+       char *uuid = NULL;
+       bool b_get_cur_album = false;
+
+       if (ad->albuminfo.view) {
+               elm_gengrid_clear(ad->albuminfo.view);
+       }
+       if (ad->albuminfo.select_view) {
+               elm_gengrid_clear(ad->albuminfo.select_view);
+       }
+       /* Save cluster ID to set new cur_album from new albums list */
+       if (cur_album && cur_album->cluster && cur_album->cluster->uuid) {
+               uuid = strdup(cur_album->cluster->uuid);
+               b_get_cur_album = true;
+               if (ad->gridinfo.view &&
+                               ad->gridinfo.view != ad->gridinfo.nocontents) {
+                       elm_gengrid_clear(ad->gridinfo.view);
+               }
+               if (ad->gridinfo.select_view &&
+                               ad->gridinfo.select_view != ad->gridinfo.nocontents) {
+                       elm_gengrid_clear(ad->gridinfo.select_view);
+               }
+       } else {
+               if (_gl_ctrl_get_tab_mode(ad) == GL_CTRL_TAB_ALBUMS) {
+                       gl_dbgW("Current album is unavailable!");
+               } else if (!_gl_thumbs_check_zero(data)) {
+                       /* Update data if items list exists */
+                       Eina_List *sel_id_list= NULL;
+                       Eina_List *media_elist = NULL;
+                       int view_m = gl_get_view_mode(ad);
+                       if (view_m == GL_VIEW_THUMBS_EDIT ||
+                                       view_m == GL_VIEW_THUMBS_SELECT) {
+                               gl_dbg("Edit view.");
+                               /* Get ID list of selected items */
+                               _gl_data_save_selected_str_ids(data, &sel_id_list);
+                       }
+                       _gl_data_clear_selected_info(ad);
+                       _gl_data_update_item_list(ad, &sel_id_list, &media_elist);
+                       _gl_thumbs_clear_and_set_list(ad, media_elist);
+               }
+       }
+
+       _gl_data_get_cluster_list_edit_mode(ad);
+       /* need to reset current album */
+       _gl_albums_set_current(data, NULL);
+       cur_album = NULL;
+
+       if (b_get_cur_album) {
+               if (b_path) {
+                       gl_dbg("Path: %s", ad->albuminfo.dest_folder);
+                       if (strlen(ad->albuminfo.dest_folder) > 0 &&
+                                       GL_FILE_EXISTS(ad->albuminfo.dest_folder)) {
+                               gl_dbgW("Cluster record updated!");
+                               _gl_data_get_cluster_by_path(ad,
+                                               ad->albuminfo.dest_folder,
+                                               &cur_album);
+                       } else {
+                               gl_dbgE("Invalid folder path!");
+                               _gl_data_get_cluster_by_id(ad, uuid, &cur_album);
+                       }
+               } else {
+                       _gl_data_get_cluster_by_id(ad, uuid, &cur_album);
+               }
+
+               if (cur_album && cur_album->cluster) {
+                       _gl_albums_set_current(data, cur_album);
+                       gl_sdbg("Reset current album: %s",
+                                       cur_album->cluster->display_name);
+                       /* Get ID list of selected items */
+                       int view_m = gl_get_view_mode(ad);
+                       Eina_List *sel_id_list = NULL;
+                       Eina_List *media_elist = NULL;
+                       if (view_m == GL_VIEW_THUMBS_EDIT ||
+                                       view_m == GL_VIEW_THUMBS_SELECT) {
+                               _gl_data_copy_selected_info_save_current_selected(ad, &sel_id_list);
+                       }
+                       _gl_data_update_item_list(ad, &sel_id_list, &media_elist);
+                       _gl_data_update_sel_item_list(ad, media_elist);
+                       _gl_thumbs_clear_and_set_list(ad, media_elist);
+               } else {
+                       /* Clear selected items list if current album doesn't exist */
+                       _gl_data_clear_selected_info(ad);
+                       /* Clear items list if current album doesn't exist */
+                       _gl_thumbs_clear_and_set_list(ad, NULL);
+               }
+       }
+
+       GL_FREEIF(uuid);
+       return 0;
+}
+
+#endif
+
+int _gl_update_albums_data(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       gl_cluster *cur_album = _gl_albums_get_current(data);
+       char *uuid = NULL;
+
+       if (cur_album && cur_album->cluster && cur_album->cluster->uuid)
+               uuid = strdup(cur_album->cluster->uuid);
+
+       _gl_data_get_cluster_list(ad);
+       /* need to reset current album */
+       _gl_albums_set_current(data, NULL);
+       cur_album = NULL;
+
+       if (uuid) {
+               _gl_data_get_cluster_by_id(ad, uuid, &cur_album);
+               if (cur_album)
+                       _gl_albums_set_current(data, cur_album);
+               GL_FREE(uuid);
+       }
+
+       return 0;
+}
+
+int _gl_update_albums_list(void *data)
+{
+#ifdef _USE_ROTATE_BG
+       return _gl_refresh_albums_list(data, false, false);
+#else
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       gl_cluster *cur_album = _gl_albums_get_current(data);
+       char cluster_id[GL_MTYPE_ITEN_ID_LEN_MAX] = { 0, };
+       bool b_get_cur_album = false;
+
+       /* Save cluster ID to set new current_album from new albums list */
+       if (cur_album && cur_album->cluster && cur_album->cluster->uuid) {
+               g_strlcpy(cluster_id, cur_album->cluster->uuid,
+                         GL_MTYPE_ITEN_ID_LEN_MAX);
+               b_get_cur_album = true;
+       } else {
+               gl_dbg("None album selected, current album is unavailable.");
+       }
+
+       _gl_data_get_cluster_list(ad);
+       /* need to reset current album */
+       _gl_albums_set_current(data, NULL);
+       cur_album = NULL;
+
+       if (b_get_cur_album) {
+               _gl_data_get_cluster_by_id(ad, cluster_id, &cur_album);
+               if (cur_album && cur_album->cluster) {
+                       _gl_albums_set_current(data, cur_album);
+                       gl_sdbg("Reset current album: %s",
+                              cur_album->cluster->display_name);
+                       Eina_List *sel_id_list= NULL;
+                       Eina_List *media_elist = NULL;
+                       int view_m = gl_get_view_mode(ad);
+                       if (view_m == GL_VIEW_THUMBS_EDIT ||
+                           view_m == GL_VIEW_THUMBS_SELECT) {
+                               gl_dbg("Edit view.");
+                               /* Get ID list of selected items */
+                               _gl_data_save_selected_str_ids(data, &sel_id_list);
+                       }
+                       _gl_data_clear_selected_info(ad);
+                       _gl_data_update_item_list(ad, &sel_id_list, &media_elist);
+                       _gl_thumbs_clear_and_set_list(ad, media_elist);
+                       return 0;
+               } else {
+                       /* Clear items list if current album doesn't exist */
+                       if (ad->selinfo.elist)
+                               _gl_data_clear_selected_info(ad);
+               }
+       }
+
+       return 0;
+#endif
+}
+
+/**
+* Move files under root album [/opt/media or /opt/storage/sdcard] to a newly created album.
+* Used in 'Rename' album case.
+*/
+int gl_move_root_album(void *data, gl_cluster *cur_album, char *dest_path)
+{
+       GL_CHECK_VAL(data, -1);
+       GL_CHECK_VAL(cur_album, -1);
+       GL_CHECK_VAL(cur_album->cluster, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       Eina_List *medias_elist = NULL;
+
+       /* Get all medias of current album */
+       _gl_data_get_items_album(ad, cur_album, GL_GET_ALL_RECORDS,
+                                GL_GET_ALL_RECORDS, &medias_elist);
+       GL_CHECK_VAL(medias_elist, -1);
+
+       Eina_List *l = NULL;
+       gl_item *gitem = NULL;
+       int popup_op = GL_POPUP_OP_NONE;
+
+       /* Move medias of album to dest folder */
+       EINA_LIST_FOREACH(medias_elist, l, gitem) {
+               if (gitem && gitem->item) {
+                       gl_sdbg("Move [%s]", gitem->item->file_url);
+                       if (_gl_move_media_thumb(data, gitem, dest_path, true, &popup_op, GL_MC_MOVE) != 0)
+                               gl_dbgW("Failed to move this item");
+
+                       gitem = NULL;
+               } else {
+                       gl_dbgE("Invalid item!");
+               }
+       }
+
+       /* Free item list */
+       _gl_data_util_clear_item_list(&(medias_elist));
+       return 0;
+}
+
+/* 'Move medias' is only available in tab Albums */
+static int __gl_move_copy_op(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       int i = 0;
+       /* Get selected medias count */
+       int cnt = _gl_data_selected_list_count(ad);
+       gl_item *gitem = NULL;
+       int popup_op = GL_POPUP_OP_NONE;
+
+       for (i = 0; i < cnt; i++) {
+               gitem = eina_list_nth(ad->selinfo.elist, i);
+               if (gitem && gitem->item) {
+                       gl_sdbg("Selected [%s]", gitem->item->file_url);
+
+                       if (ad->maininfo.medias_op_type == GL_MEDIA_OP_COPY) {
+                               if (_gl_move_media_thumb(data, gitem, ad->albuminfo.dest_folder, true, &popup_op, GL_MC_COPY) != 0)
+                                       gl_dbg("Failed to copy this item");
+                               gl_dbg("File Copied:::::::%d/%d-->try to update progressbar", i, cnt);
+                       } else if (ad->maininfo.medias_op_type == GL_MEDIA_OP_MOVE) {
+                               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);
+                       }
+               } else {
+                       gl_dbg("Invalid item!");
+               }
+
+               gl_dbg("Write pipe, make progressbar updated!");
+               gl_thread_write_pipe(ad, i+1, popup_op);
+
+               popup_op = GL_POPUP_OP_NONE;
+       }
+       return 0;
+}
+
+/* Update view after moving process done */
+static int __gl_update_move_copy_view(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       int view_mode = gl_get_view_mode(ad);
+       gl_dbg("view_mode: %d", view_mode);
+
+       const char *noti_str = NULL;
+       if (view_mode == GL_VIEW_THUMBS_SELECT) {
+               noti_str = GL_STR_ADDED;
+               /* Clear selected list */
+               _gl_data_clear_selected_info(data);
+               _gl_albums_set_current(data, NULL);
+               /* Update albums list and items list */
+               _gl_update_albums_data(ad);
+       } else if (ad->maininfo.medias_op_type == GL_MEDIA_OP_COPY) {
+               noti_str = GL_STR_COPIED;
+               /* Clear selected list */
+               _gl_data_selected_list_finalize(data);
+               /* Update albums list */
+               _gl_update_albums_data(ad);
+       } else if (ad->maininfo.medias_op_type == GL_MEDIA_OP_MOVE) {
+               noti_str = GL_STR_MOVED;
+               /* Clear selected list */
+               _gl_data_selected_list_finalize(data);
+               /* Update albums list and items list */
+               if (_gl_thumbs_check_zero(data)) {
+                       gl_sdbg("is_zero");
+                       _gl_update_albums_list(ad);
+               } else {
+                       _gl_update_albums_list(ad);
+                       /*update view soon after removing over*/
+                       _gl_thumbs_update_view(ad);
+//                     _gl_thumbs_update_sequence(ad);
+               }
+       } else {
+               gl_dbgE("Wrong mode!");
+       }
+
+       _gl_update_operation_view(ad, noti_str);
+
+       _gl_db_update_lock_always(data, false);
+       return 0;
+}
+
+int gl_move_copy_to_album(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       char folder_fullpath[GL_DIR_PATH_LEN_MAX] = { 0, };
+       gl_cluster *cur_album = _gl_albums_get_current(data);
+       int cnt = _gl_data_selected_list_count(ad);
+
+       _gl_db_update_lock_always(data, true);
+
+       if (ad->albuminfo.file_mc_mode == GL_MC_COPY) {
+
+               unsigned long long free_size = gl_fs_get_free_space(GL_STORE_T_PHONE);
+               gl_dbg("Free space is %lld", free_size);
+
+               if (free_size <= GL_FS_MIN_SIZE) {
+                       gl_dbgW("Low memory.");
+                       gl_popup_create_popup(ad, GL_POPUP_ALBUM_MEMORY_FULL,
+                                       GL_DEVICE_MEMORY_FULL);
+                       goto GL_FAILED;
+               }
+       }
+
+       /**
+        * 'move_album_id == NULL' is new album case,
+        * other move/save to some existed album.
+        */
+       if (ad->albuminfo.path == NULL) {
+               gl_dbg("---Popup list item: New album---");
+               if (gl_make_new_album(ad->albuminfo.new_name) == false) {
+                       gl_popup_create_popup(ad, GL_POPUP_NOBUT,
+                                       GL_STR_SAME_NAME_ALREADY_IN_USE);
+                       gl_dbgE("Failed to make a new directory!");
+                       goto GL_FAILED;
+               }
+               snprintf(folder_fullpath, GL_DIR_PATH_LEN_MAX, "%s/%s",
+                        GL_DEFAULT_PATH_IMAGES, ad->albuminfo.new_name);
+       } else {
+               g_strlcpy(folder_fullpath, ad->albuminfo.path,
+                         GL_DIR_PATH_LEN_MAX);
+               GL_FREE(ad->albuminfo.path);
+       }
+
+       if (!ad->albuminfo.b_new_album &&
+           (cur_album == NULL || cur_album->cluster == NULL)) {
+               gl_dbgE("[Error] Current album is NULL!");
+               goto GL_FAILED;
+       }
+
+       memset(ad->albuminfo.dest_folder, 0x00, GL_DIR_PATH_LEN_MAX);
+       g_strlcpy(ad->albuminfo.dest_folder, folder_fullpath,
+                 GL_DIR_PATH_LEN_MAX);
+       /* Check MMC state for cancel operation */
+       gl_check_mmc_state(ad, folder_fullpath);
+       gl_dbg("MMC state: %d.", ad->maininfo.mmc_state);
+       if (cnt != 0) {
+               if (ad->albuminfo.file_mc_mode == GL_MC_MOVE) {
+                       _gl_set_file_op_cbs(data, __gl_move_copy_op,
+                                               NULL, __gl_update_move_copy_view, cnt);
+                       _gl_use_thread_operate_medias(ad, GL_STR_ID_MOVING, cnt,
+                                                         GL_MEDIA_OP_MOVE);
+               } else if (ad->albuminfo.file_mc_mode == GL_MC_COPY) {
+                       _gl_set_file_op_cbs(data, __gl_move_copy_op, NULL,
+                                               __gl_update_move_copy_view, cnt);
+                       _gl_use_thread_operate_medias(ad, GL_STR_ID_COPYING, cnt,
+                                                         GL_MEDIA_OP_COPY);
+               } else {
+                       gl_dbgE("Wrong mode!");
+               }
+       }
+       return 0;
+
+ GL_FAILED:
+
+       _gl_notify_check_selall(ad, ad->gridinfo.nf_it, ad->gridinfo.count,
+                               _gl_data_selected_list_count(ad));
+       /* Update the label text */
+       _gl_thumbs_update_label_text(ad->gridinfo.nf_it,
+                                    _gl_data_selected_list_count(ad), false);
+       _gl_db_update_lock_always(data, false);
+       return -1;
+}
+
+#ifdef _USE_ROTATE_BG
+
+int _gl_delay(double sec)
+{
+       gl_dbg("Start");
+       struct timeval tv;
+       unsigned int start_t = 0;
+       unsigned int end_t = 0;
+       unsigned int delay_t = (unsigned int)(sec * GL_TIME_USEC_PER_SEC);
+
+       gettimeofday(&tv, NULL);
+       start_t = tv.tv_sec * GL_TIME_USEC_PER_SEC + tv.tv_usec;
+
+       for (end_t = start_t; end_t - start_t < delay_t;) {
+               gettimeofday(&tv, NULL);
+               end_t = tv.tv_sec * GL_TIME_USEC_PER_SEC + tv.tv_usec;
+       }
+
+       gl_dbg("End");
+       return 0;
+}
+
+int _gl_rotate_op(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       /* Get all selected medias count */
+       int cnt = _gl_data_selected_list_count(ad);
+       gl_item *gitem = NULL;
+       int i = 0;
+       int popup_op = GL_POPUP_OP_NONE;
+       unsigned int orient = GL_ORIENTATION_ROT_ERR;
+       unsigned int new_orient = GL_ORIENTATION_ROT_ERR;
+       int ret = -1;
+       bool b_left = false;
+
+       if (ad->maininfo.medias_op_type == GL_MEDIA_OP_ROTATING_LEFT)
+               b_left = true;
+
+       gl_cluster *current_album = _gl_albums_get_current(data);
+       /* Save cluster path to set new current_album from new albums list */
+       if (current_album && current_album->cluster &&
+           current_album->cluster->path &&
+           strlen(current_album->cluster->path))
+               g_strlcpy(ad->albuminfo.dest_folder,
+                         current_album->cluster->path, GL_DIR_PATH_LEN_MAX);
+       else
+               gl_dbgE("Invalid folder path!");
+
+       /* Removed media from selected_media_elist */
+       for (i = 0; i < cnt; i++) {
+               gitem = eina_list_nth(ad->selinfo.elist, i);
+               if (gitem != NULL && gitem->item != NULL &&
+                   gitem->item->file_url &&
+                   gitem->item->type == MEDIA_CONTENT_TYPE_IMAGE &&
+                   GL_FILE_EXISTS(gitem->item->file_url)) {
+                       /* Save orient in file */
+                       ret = _gl_exif_get_orientation(gitem->item->file_url,
+                                                      &orient);
+                       if (ret == 0) {
+                               new_orient = _gl_exif_get_rotated_orientation(orient,
+                                                                             b_left);
+                               _gl_exif_set_orientation(gitem->item->file_url,
+                                                        new_orient);
+                               /* Update thumbnail */
+                               media_info_refresh_metadata_to_db(gitem->item->uuid);
+                       }
+               } else {
+                       gl_dbgE("Invalid item!");
+               }
+
+               /* Add some delay for last two images to wait for thumb updated */
+               if (i > cnt - 2)
+                       _gl_delay(GL_ROTATE_DELAY);
+
+               if (i == cnt) {
+                       gl_dbgW("Last image rotated!");
+                       /* Add another delay for last thumb */
+                       _gl_delay(GL_ROTATE_DELAY);
+               }
+               gl_dbg("Write pipe, make progressbar updated!");
+               gl_thread_write_pipe(ad, i+1, popup_op);
+               gitem = NULL;
+       }
+       return 0;
+}
+
+/* Update view after rotation process done */
+int _gl_update_rotate_view(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+
+       gl_item *gitem = NULL;
+       Eina_List *tmp = NULL;
+       EINA_LIST_FOREACH(ad->selinfo.elist, tmp, gitem) {
+               if (gitem && gitem->elm_item) {
+                       gitem->checked = false;
+                       elm_gengrid_item_update(gitem->elm_item);
+               }
+       }
+
+       /* Clear selected list */
+       _gl_data_selected_list_finalize(data);
+
+       memset(ad->albuminfo.dest_folder, 0x00, GL_DIR_PATH_LEN_MAX);
+
+       _gl_update_operation_view(ad, NULL);
+       _gl_db_update_lock_always(data, false);
+       return 0;
+}
+
+int _gl_rotate_images(void *data, bool b_left)
+{
+       gl_dbg("");
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       /* Get all selected medias count */
+       int cnt = _gl_data_selected_list_count(ad);
+       /* Check MMC state for cancel operation */
+       gl_check_mmc_state(ad, NULL);
+       gl_dbg("MMC state: %d.", ad->maininfo.mmc_state);
+       /* Rotate left */
+       int op_type = GL_MEDIA_OP_ROTATING_LEFT;
+       /* Rotate right */
+       if (!b_left)
+               op_type = GL_MEDIA_OP_ROTATING_RIGHT;
+       _gl_db_update_lock_always(data, true);
+       _gl_set_file_op_cbs(data, _gl_rotate_op, NULL, _gl_update_rotate_view,
+                           cnt);
+       _gl_use_thread_operate_medias(ad, GL_STR_ID_ROTATING, cnt, op_type);
+
+       return 0;
+}
+
+int _gl_rotate_image_by_id(void *data, const char *uuid, bool b_left)
+{
+       GL_CHECK_VAL(uuid, -1);
+       GL_CHECK_VAL(data, -1);
+       unsigned int orient = GL_ORIENTATION_ROT_ERR;
+       unsigned int new_orient = GL_ORIENTATION_ROT_ERR;
+       int ret = -1;
+       media_info_h media_h = NULL;
+       char *path = NULL;
+       media_content_type_e media_type = 0;
+
+       ret = media_info_get_media_from_db(uuid, &media_h);
+       if (ret != MEDIA_CONTENT_ERROR_NONE || media_h == NULL) {
+               gl_dbgE("Get media failed[%d]!", ret);
+               if (media_h)
+                       media_info_destroy(media_h);
+               return -1;
+       }
+       ret = media_info_get_media_type(media_h, &media_type);
+       if (ret != MEDIA_CONTENT_ERROR_NONE) {
+               gl_dbgE("Get storage type failed!");
+               media_info_destroy(media_h);
+               return -1;
+       }
+       ret = media_info_get_file_path(media_h, &path);
+       if (ret != MEDIA_CONTENT_ERROR_NONE) {
+               gl_dbgE("Get media file path failed!");
+               media_info_destroy(media_h);
+               return -1;
+       }
+       if (media_type == MEDIA_CONTENT_TYPE_IMAGE && GL_FILE_EXISTS(path)) {
+               /* Save orient in file */
+               ret = _gl_exif_get_orientation(path, &orient);
+               if (ret == 0) {
+                       new_orient = _gl_exif_get_rotated_orientation(orient,
+                                                                     b_left);
+                       _gl_exif_set_orientation(path, new_orient);
+                       /* Update thumbnail */
+                       media_info_refresh_metadata_to_db(uuid);
+               }
+       }
+
+       GL_FREE(path);
+       media_info_destroy(media_h);
+       media_h = NULL;
+       return 0;
+}
+#endif
+
+Eina_Bool gl_update_view(void *data, int mode)
+{
+       GL_CHECK_FALSE(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       int view_mode = gl_get_view_mode(ad);
+       gl_dbg("view_mode: %d", view_mode);
+       if (mode == GL_UPDATE_VIEW_NONE) {
+               gl_dbg("Don't need to update");
+               return EINA_FALSE;
+       }
+
+       /* MMC, WEB, INOTIFY, need to update data first */
+       if (mode >= GL_UPDATE_VIEW_MMC_REMOVED &&
+           view_mode != GL_VIEW_THUMBS_SELECT) {
+               /* Albums list should be updated first */
+               _gl_update_albums_list(data);
+       }
+
+       if (view_mode == GL_VIEW_ALBUMS ||
+                  view_mode == GL_VIEW_ALBUMS_EDIT ||
+                  view_mode == GL_VIEW_ALBUMS_RENAME) {
+               /* Albums list should be updated first */
+               gl_albums_update_view(ad);
+       } else if (view_mode == GL_VIEW_THUMBS) {
+               gl_cluster *cur = _gl_albums_get_current(data);
+               /* MMC removed, change to albums view if in mmc album */
+               if (mode == GL_UPDATE_VIEW_MMC_REMOVED &&
+                   _gl_ctrl_get_tab_mode(ad) == GL_CTRL_TAB_ALBUMS && cur &&
+                   cur->cluster && cur->cluster->type == GL_STORE_T_MMC) {
+                       gl_dbgW("MMC removed, change to albums view!");
+                       gl_pop_to_ctrlbar_ly(ad);
+                       return EINA_TRUE;
+               }
+
+               _gl_thumbs_update_view(data);
+               return EINA_TRUE;
+       } else if (view_mode == GL_VIEW_THUMBS_EDIT) {
+               /* Check thread operation case */
+               if (ad->pbarinfo.sync_pipe) {
+                       gl_dbgW("Thread operation is in process!");
+                       return EINA_TRUE;
+               }
+
+               gl_cluster *cur = _gl_albums_get_current(data);
+               if (mode == GL_UPDATE_VIEW_MMC_REMOVED &&
+                   _gl_ctrl_get_tab_mode(ad) == GL_CTRL_TAB_ALBUMS && cur &&
+                   cur->cluster && cur->cluster->type == GL_STORE_T_MMC) {
+                       /* MMC removed, change to albums view if in mmc album */
+                       gl_dbgW("MMC removed, change to albums view!");
+                       gl_pop_to_ctrlbar_ly(ad);
+                       return EINA_TRUE;
+               }
+
+               _gl_thumbs_update_view(data);
+               return EINA_TRUE;
+       } else if (view_mode == GL_VIEW_ALBUMS_SELECT) {
+               _gl_albums_sel_update_view(ad);
+       } else if (view_mode == GL_VIEW_THUMBS_SELECT) {
+               Evas_Object *layout_inner = elm_object_part_content_get(ad->albuminfo.select_layout, "split.view");
+               if (!layout_inner) {
+                       gl_dbgE("Failed to add split album view!");
+               } else {
+                       _create_split_album_view(ad, layout_inner);
+                       elm_object_part_content_set(ad->albuminfo.select_layout, "split.view", layout_inner);
+               }
+               _gl_thumbs_sel_update_view(ad);
+       } else if (view_mode == GL_VIEW_TIMELINE) {
+               _gl_timeline_update_view(data);
+       }
+       return EINA_TRUE;
+}
+
+/**
+* Parse medias type and count of selected items,
+* and set different type for share items.
+*/
+int gl_get_share_mode(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       int share_mode = GL_SHARE_NONE;
+       int image_cnt = 0;
+       int video_cnt = 0;
+       int sel_cnt = 0;
+       int view_m = gl_get_view_mode(ad);
+       if (view_m == GL_VIEW_ALBUMS_EDIT) {
+               sel_cnt = ad->selinfo.sel_cnt;
+       } else if (view_m == GL_VIEW_ALBUMS) {
+               sel_cnt = ad->selinfo.sel_cnt;
+       } else {
+               GL_CHECK_VAL(ad->selinfo.elist, -1);
+               sel_cnt = eina_list_count(ad->selinfo.elist);
+       }
+       image_cnt = ad->selinfo.images_cnt;
+       if (image_cnt > sel_cnt) {
+               gl_dbgE("Images count is wrong!");
+               return -1;
+       }
+
+       video_cnt = sel_cnt - image_cnt;
+       gl_dbg("Selected items count: %d, image count: %d, video count: %d.",
+              sel_cnt, image_cnt, video_cnt);
+
+       if (image_cnt && video_cnt) {
+               share_mode = GL_SHARE_IMAGE_VIDEO;
+       } else if (image_cnt) {
+               if (ad->selinfo.jpeg_cnt == sel_cnt) {
+                       if (image_cnt == 1)
+                               share_mode = GL_SHARE_IMAGE_ONE_JPEG;
+                       else
+                               share_mode = GL_SHARE_IMAGE_MULTI_JPEG;
+               } else {
+                       if (image_cnt == 1)
+                               share_mode = GL_SHARE_IMAGE_ONE;
+                       else
+                               share_mode = GL_SHARE_IMAGE_MULTI;
+               }
+       } else if (video_cnt) {
+               if (video_cnt == 1) {
+                       share_mode = GL_SHARE_VIDEO_ONE;
+               } else {
+                       share_mode = GL_SHARE_VIDEO_MULTI;
+               }
+       } else {
+               gl_dbgE("Error: no video and image!");
+               return -1;
+       }
+       gl_dbg("share_mode is %d.", share_mode);
+
+       return share_mode;
+}
+
+/**
+* It's in thumbnails view, video list view, or selectioinfo view.
+* Destroy invalid widegets or UGs.
+* Pop current invalid view to controlbar layout,
+* to show Albums view/Map/Tags view.
+*/
+int gl_pop_to_ctrlbar_ly(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       gl_dbg("");
+
+       /* Destroy thumbnails/video_list view then pop to ctrlbar_ly */
+       _gl_thumbs_destroy_view(data, true);
+
+       if (gl_check_gallery_empty(ad)) {
+               /* None albums exist, Change to albums view. */
+               gl_dbgW("Empty Gallery, change to Albums view.");
+               if (_gl_ctrl_get_tab_mode(ad) != GL_CTRL_TAB_ALBUMS) {
+                       /* Change to Albums tab. */
+                       gl_dbg("Not in Albums tab.");
+                       _gl_ctrl_sel_tab(data, GL_CTRL_TAB_ALBUMS);
+                       return 0;
+               }
+               /* None albums, disable edit button/controlbar */
+               _gl_albums_check_btns(data);
+       } else {
+               /* Change to albums view. */
+               gl_dbg("Change to Albums view.");
+               /* None editable albums, disable edit button */
+               _gl_albums_check_btns(data);
+       }
+       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)
+{
+       char *dur_str = calloc(1, GL_FILE_PATH_LEN_MAX);
+       GL_CHECK_NULL(dur_str);
+       if (v_dur > 0) {
+               int duration = floor(v_dur / GL_TIME_MSEC_PER_SEC);
+               int dur_hr = 0;
+               int dur_min = 0;
+               int dur_sec = 0;
+               int tmp = 0;
+
+               if (duration >= GL_TIME_SEC_PER_HOUR) {
+                       dur_sec = duration % GL_TIME_SEC_PER_MIN;
+                       tmp = floor(duration / GL_TIME_SEC_PER_MIN);
+                       dur_min = tmp % GL_TIME_MIN_PER_HOUR;
+                       dur_hr = floor(tmp / GL_TIME_MIN_PER_HOUR);
+               } else if (duration >= GL_TIME_SEC_PER_MIN) {
+                       dur_hr = 0;
+                       dur_min = floor(duration / GL_TIME_SEC_PER_MIN);
+                       dur_sec = duration % GL_TIME_SEC_PER_MIN;
+               } else {
+                       dur_hr = 0;
+                       dur_min = 0;
+                       dur_sec = duration % GL_TIME_SEC_PER_MIN;
+               }
+
+               snprintf(dur_str, GL_FILE_PATH_LEN_MAX, "%02d:%02d:%02d",
+                        dur_hr, dur_min, dur_sec);
+       } else {
+               snprintf(dur_str, GL_FILE_PATH_LEN_MAX, "00:00:00");
+       }
+       dur_str[strlen(dur_str)] = '\0';
+       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);
+       if (strstr(str_id, "IDS_COM"))
+               return dgettext(GL_STR_DOMAIN_SYS, str_id);
+       else if (strstr(str_id, "IDS_"))
+               return dgettext(GL_STR_DOMAIN_LOCAL, str_id);
+       else
+               return str_id;
+}
+
+bool _gl_is_str_id(const char *str_id)
+{
+       GL_CHECK_NULL(str_id);
+       if (strstr(str_id, "IDS_"))
+               return true;
+       else
+               return false;
+}
+
+double _gl_get_win_factor(Evas_Object *win, int *width, int *height)
+{
+       if (win == NULL) {
+               gl_dbgE("Invalid window!");
+               return 1.0f;
+       }
+
+       double factor = 1.0f;
+       int win_x = 0;
+       int win_y = 0;
+       int win_w = 0;
+       int win_h = 0;
+
+       elm_win_screen_size_get(win, &win_x, &win_y, &win_w, &win_h);
+       gl_dbg("Window size: %dx%d, %dx%d", win_x, win_y, win_w, win_h);
+       int win_p_h = win_w > win_h ? win_w : win_h;
+       double scale = elm_config_scale_get();
+       gl_dbg("scale: %f", scale);
+
+       if (win_p_h < GL_WIN_HEIGHT) {
+               factor = (double)(win_p_h - (int)(GL_FIXED_HEIGHT * scale)) / (double)(GL_WIN_HEIGHT - GL_FIXED_HEIGHT);
+       } else if (scale > factor) {
+               factor = (GL_WIN_HEIGHT - GL_FIXED_HEIGHT * scale) / (GL_WIN_HEIGHT - GL_FIXED_HEIGHT);
+       } else if (scale < factor) {
+               factor = (GL_WIN_HEIGHT - GL_FIXED_HEIGHT) / (GL_WIN_HEIGHT - GL_FIXED_HEIGHT * scale);
+       } else {
+               factor = scale;
+       }
+       gl_dbg("factor: %f", factor);
+       if (width)
+               *width = win_w;
+       if (height)
+               *height = win_h;
+       return factor;
+}
+
+/**
+ * @brief font size
+ *
+ * 0 : small
+ * 1 : normal
+ * 2 : large
+ * 3 : huge
+ * 4 : giant
+ */
+int _gl_get_font_size(void)
+{
+       int mode = -1;
+       int retcode = system_settings_get_value_int(SYSTEM_SETTINGS_KEY_FONT_SIZE, &mode);
+       gl_dbg("mode: %d", mode);
+       if (retcode != SYSTEM_SETTINGS_ERROR_NONE) {
+               gl_dbgE("Failed to get font size!");
+               return -1;
+       }
+       return mode;
+}
+
+#ifdef _USE_SVI
+int _gl_init_svi(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+
+       if (svi_init(&(ad->maininfo.svi_handle)) != 0) {
+               gl_dbgE("svi_init failed!");
+               return -1;
+       }
+
+       return __gl_get_sound_status(data);
+}
+
+int _gl_fini_svi(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       if (ad->maininfo.svi_handle) {
+               svi_fini(ad->maininfo.svi_handle);
+               ad->maininfo.svi_handle = 0;
+       }
+       return 0;
+}
+
+int _gl_play_sound(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       if (ad->maininfo.sound_status)
+               svi_play(ad->maininfo.svi_handle, SVI_VIB_NONE,
+                        SVI_SND_TOUCH_TOUCH1);
+       return 0;
+}
+
+int _gl_play_vibration(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       svi_play(ad->maininfo.svi_handle, SVI_VIB_TOUCH_TOUCH, SVI_SND_NONE);
+       return 0;
+}
+#endif
+
+int _gl_reg_storage_state_change_notify(void *data)
+{
+       __gl_reg_db_noti(data);
+       __gl_reg_svi_noti(data);
+       return 0;
+}
+
+int _gl_dereg_storage_state_change_notify(void *data)
+{
+       __gl_dereg_db_noti(data);
+       __gl_dereg_svi_noti();
+       return 0;
+}
+
+int _gl_set_file_op_cbs(void *data, void *op_cb, void *del_item_cb,
+                       void *update_cb, int total_cnt)
+{
+       GL_CHECK_VAL(data, -1);
+       _gl_thread_set_op_cb(data, op_cb);
+       _gl_thread_set_update_cb(data, update_cb);
+       _gl_thread_set_del_item_cb(data, del_item_cb);
+       _gl_thread_set_total_cnt(data, total_cnt);
+       return 0;
+}
+
+int _gl_append_album_images_path(void *data, gl_media_s *item)
+{
+       GL_CHECK_VAL(item, -1);
+       GL_CHECK_VAL(item->file_url, -1);
+       GL_CHECK_VAL(data, -1);
+
+       gl_get_album_images_path_s *get_d = (gl_get_album_images_path_s *)data;
+       GL_CHECK_VAL(get_d->files, -1);
+
+       char **files = get_d->files;
+       files[get_d->index++] = g_strdup(item->file_url);
+       gl_sdbg("file_url: %s!", files[get_d->index - 1]);
+       return 0;
+}
+
+int _gl_get_album_images_path(void *data, char **files, bool b_hide)
+{
+       GL_CHECK_VAL(data, 0);
+       GL_CHECK_VAL(files, 0);
+       gl_get_album_images_path_s *get_d = g_new0(gl_get_album_images_path_s, 1);
+       GL_CHECK_VAL(get_d, 0);
+       get_d->files = files;
+       int count = _gl_data_get_albums_selected_files(data,
+                                                      _gl_append_album_images_path,
+                                                      (void *)get_d);
+       GL_GFREE(get_d);
+       return count;
+}
+
+int _gl_free_selected_list(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       int view_mode = gl_get_view_mode(data);
+       if (GL_VIEW_ALBUMS == view_mode)
+               _gl_data_finalize_albums_selected_list(data);
+       if (GL_VIEW_THUMBS == view_mode)
+               _gl_data_selected_list_finalize(data);
+       return 0;
+}
+
+int _gl_dlopen_imageviewer(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+
+       if (ad->maininfo.dlopen_iv_handle) {
+               gl_dbgE("Already opened imageviewer so lib!");
+               return -1;
+       }
+
+       ad->maininfo.dlopen_iv_handle = dlopen(GL_SO_PATH_IMAGEVIEWER, RTLD_NOW);
+       if (ad->maininfo.dlopen_iv_handle == NULL) {
+               gl_sdbgE("Lib %s is not opened, %s!", GL_SO_PATH_IMAGEVIEWER,
+                        dlerror());
+               return -1;
+       }
+       gl_sdbg("dlopen %s done", GL_SO_PATH_IMAGEVIEWER);
+       return 0;
+}
+
+int _gl_dlclose_imageviewer(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+
+       if (ad->maininfo.dlopen_iv_handle) {
+               dlclose(ad->maininfo.dlopen_iv_handle);
+               ad->maininfo.dlopen_iv_handle = NULL;
+               gl_sdbg("dlclose %s done", GL_SO_PATH_IMAGEVIEWER);
+               return 0;
+       }
+       return -1;
+}
+
diff --git a/src/widget/gl-button.c b/src/widget/gl-button.c
new file mode 100644 (file)
index 0000000..07c0035
--- /dev/null
@@ -0,0 +1,127 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#include "gl-debug.h"
+#include "gl-ui-util.h"
+#include "gl-button.h"
+#include "gl-strings.h"
+#include "gl-util.h"
+
+#define GL_BTN_POPUP "popup"
+
+/*******************************************************
+** Prototype           : _gl_but_create_but
+** Description         : Create button
+** Input               : Evas_Object *parent
+** Input               : const char *icon
+** Input               : const char *text
+** Input               : const char *style
+** Input               : Evas_Smart_Cb cb_func
+** Input               : const void *data
+** Output              : None
+** Return Value        :
+** Calls               :
+** Called By           :
+**
+**  History            :
+**  1.Date             : 2011/06/10
+**    Author           : Samsung
+**    Modification : Created function
+**
+*********************************************************/
+Evas_Object *_gl_but_create_but(Evas_Object *parent, const char *icon,
+                               const char *text, const char *style,
+                               Evas_Smart_Cb cb_func, const void *data)
+{
+       Evas_Object *btn = NULL;
+       GL_CHECK_NULL(parent);
+
+       btn = elm_button_add(parent);
+       GL_CHECK_NULL(btn);
+       if (style)
+               elm_object_style_set(btn, style);
+       evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, EVAS_HINT_FILL);
+
+       if (icon) {
+               gl_sdbg("Button icon: %s", icon);
+               Evas_Object *ic = NULL;
+               ic = elm_icon_add(btn);
+               GL_CHECK_NULL(ic);
+               GL_ICON_SET_FILE(ic, icon);
+               elm_image_aspect_fixed_set(ic, EINA_TRUE);
+               elm_image_fill_outside_set(ic, EINA_TRUE);
+               evas_object_size_hint_aspect_set(ic,
+                                                EVAS_ASPECT_CONTROL_VERTICAL,
+                                                1, 1);
+               evas_object_size_hint_align_set(ic, EVAS_HINT_FILL,
+                                               EVAS_HINT_FILL);
+               evas_object_size_hint_weight_set(ic, EVAS_HINT_EXPAND,
+                                                EVAS_HINT_EXPAND);
+               elm_image_resizable_set(ic, EINA_TRUE, EINA_TRUE);
+               elm_object_content_set(btn, ic);
+       }
+
+       if (text) {
+               gl_sdbg("Button text: %s", text);
+               _gl_ui_set_translate_str(btn, text);
+       }
+
+       if (cb_func)
+               evas_object_smart_callback_add(btn, "clicked", cb_func, data);
+
+       return btn;
+}
+
+Evas_Object *_gl_but_create_image_but(Evas_Object *parent, const char *icon,
+                                      const char *text, const char *style,
+                                      Evas_Smart_Cb cb_func, void *data,
+                                      Eina_Bool flag_propagate)
+{
+       GL_CHECK_NULL(parent);
+       Evas_Object *btn;
+       btn = elm_button_add(parent);
+       GL_CHECK_NULL(btn);
+
+       if (style) {
+               elm_object_style_set(btn, style);
+       }
+       if (text) {
+               gl_sdbg("Button text: %s", text);
+               _gl_ui_set_translate_str(btn, text);
+       }
+
+       if (icon) {
+               Evas_Object *ic = elm_image_add(parent);
+               GL_CHECK_NULL(ic);
+               GL_ICON_SET_FILE(ic, icon);
+               elm_image_resizable_set(ic, EINA_TRUE, EINA_TRUE);
+               evas_object_show(ic);
+               elm_object_content_set(btn, ic);
+       }
+
+       evas_object_propagate_events_set(btn, flag_propagate);
+       if (cb_func)
+               evas_object_smart_callback_add(btn, "clicked", cb_func, data);
+       return btn;
+}
+
+Evas_Object *_gl_but_create_but_popup(Evas_Object *parent, const char *text,
+                                     Evas_Smart_Cb cb_func, const void *data)
+{
+       return _gl_but_create_but(parent, NULL, text, GL_BTN_POPUP, cb_func, data);
+}
+
diff --git a/src/widget/gl-controlbar.c b/src/widget/gl-controlbar.c
new file mode 100644 (file)
index 0000000..8e0e292
--- /dev/null
@@ -0,0 +1,345 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#include "gl-debug.h"
+#include "gl-ui-util.h"
+#include "gl-util.h"
+#include "gl-controlbar.h"
+#include "gl-albums.h"
+#include "gl-thumbs.h"
+#include "gl-data.h"
+#include "gl-strings.h"
+#include "gl-icons.h"
+#include "gl-progressbar.h"
+#include "gl-ctxpopup.h"
+#include "gl-thumbs-edit.h"
+#include "gl-timeline.h"
+#include "gl-albums-edit.h"
+
+static int __gl_ctrl_reset_previous_tab(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       int tab_mode = _gl_ctrl_get_tab_mode(ad);
+
+       switch (tab_mode) {
+       case GL_CTRL_TAB_ALBUMS:
+               _gl_albums_hide_view_tab(data);
+               break;
+       case GL_CTRL_TAB_TIMELINE:
+               _gl_timeline_hide_view(data);
+               break;
+       default:
+               gl_dbgW("Wrong tabbar mode!");
+               return -1;
+       }
+       /* Hide previous view */
+       Evas_Object *pre_view = NULL;
+       pre_view = elm_object_part_content_unset(ad->ctrlinfo.ctrlbar_view_ly,
+                                                "elm.swallow.view");
+       evas_object_hide(pre_view);
+       return 0;
+}
+
+int _gl_ctrl_show_view(void *data, const char *label)
+{
+       GL_PROFILE_IN;
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       int tab_mode = _gl_ctrl_get_tab_mode(ad);
+       gl_dbg("tab_mode: %d, label: %s", tab_mode, label);
+
+       if (!g_strcmp0(label, GL_STR_ALBUMS)) {
+               gl_dbg("Albums");
+               if (tab_mode == GL_CTRL_TAB_ALBUMS) {
+                       gl_dbg("Already in Albums Tab.");
+                       return -1;
+               }
+               __gl_ctrl_reset_previous_tab(ad);
+               _gl_ctrl_set_tab_mode(ad, GL_CTRL_TAB_ALBUMS);
+               _gl_albums_show_view_tab(data, ad->ctrlinfo.ctrlbar_view_ly);
+       } else if (!g_strcmp0(label, "Timeline"/*_gl_str(GL_STR_ID_TIME_LINE)*/)) {
+//     :TODO Timeline need to be addressed
+               gl_dbg(" Timeline");
+               if (tab_mode == GL_CTRL_TAB_TIMELINE) {
+                       gl_dbg("Already in Timeline Tab.");
+                       return -1;
+               }
+
+               __gl_ctrl_reset_previous_tab(ad);
+               _gl_ctrl_set_tab_mode(ad, GL_CTRL_TAB_TIMELINE);
+               _gl_timeline_create_view(data, ad->ctrlinfo.ctrlbar_view_ly);
+       }
+       GL_PROFILE_OUT;
+       return 0;
+}
+
+/* Enable all buttons except for some special cases */
+static int __gl_ctrl_enable_btns(gl_appdata *ad, Elm_Object_Item *nf_it)
+{
+       gl_dbg("");
+       GL_CHECK_VAL(ad, -1);
+       GL_CHECK_VAL(nf_it, -1);
+       int view_mode = gl_get_view_mode(ad);
+
+       if (view_mode == GL_VIEW_THUMBS_EDIT) {
+               _gl_thumbs_edit_disable_btns(ad, false);
+       } else if (view_mode == GL_VIEW_ALBUMS_EDIT) {
+               _gl_albums_edit_disable_btns(ad, false);
+       } else {
+               _gl_ui_disable_menu(nf_it, false);
+               _gl_ctrl_disable_items(nf_it, false);
+       }
+       return 0;
+}
+
+Evas_Object *_gl_ctrl_add_layout(Evas_Object *parent)
+{
+       GL_CHECK_NULL(parent);
+       Evas_Object *layout = NULL;
+       layout = gl_ui_load_edj(parent, GL_EDJ_FILE, GL_GRP_CONTROLBAR);
+       GL_CHECK_NULL(layout);
+       evas_object_show(layout);
+       return layout;
+}
+
+Evas_Object *_gl_ctrl_add_main_layout(Evas_Object *parent)
+{
+       GL_PROFILE_IN;
+       GL_CHECK_NULL(parent);
+
+       Evas_Object *layout = elm_layout_add(parent);
+       GL_CHECK_NULL(layout);
+       evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND,
+                                        EVAS_HINT_EXPAND);
+       evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
+       elm_layout_theme_set(layout, "layout", "application", "default");
+       evas_object_show(layout);
+
+       GL_PROFILE_OUT;
+       return layout;
+}
+
+int _gl_ctrl_show_title(void *data, int tab_mode)
+{
+       GL_PROFILE_IN;
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_CHECK_VAL(ad->ctrlinfo.ctrlbar_ly, -1);
+       char *text = NULL;
+       gl_dbg("tab_mode: %d", tab_mode);
+
+       switch (tab_mode) {
+       case GL_CTRL_TAB_ALBUMS:
+               text = GL_STR_ID_ALBUMS;
+               break;
+       case GL_CTRL_TAB_TIMELINE:
+       // :TODO Timeline token need to be addressed
+               text = GL_STR_TIME_VIEW;
+               break;
+       default:
+               gl_dbgE("Wrong mode!");
+               return -1;
+       }
+
+       if (text) {
+               gl_sdbg("text: %s", text);
+               _gl_ui_change_navi_title(ad->ctrlinfo.nf_it, text, true);
+       } else {
+               gl_dbgE("Invalid text!");
+               return -1;
+       }
+       GL_PROFILE_OUT;
+       return 0;
+}
+
+int _gl_ctrl_sel_tab(void *data, int tab_mode)
+{
+       gl_dbg("_gl_ctrl_sel_tab");
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_CHECK_VAL(ad->ctrlinfo.ctrlbar_ly, -1);
+       const char *text = NULL;
+
+       switch (tab_mode) {
+       case GL_CTRL_TAB_ALBUMS:
+               text = GL_STR_ALBUMS;
+               break;
+       case GL_CTRL_TAB_TIMELINE:
+               gl_dbg("GL_CTRL_TAB_TIMELINE");
+               // :TODO Timeline token need to be addressed
+               text = "Timeline";//GL_STR_TIME_LINE;//_gl_str(GL_STR_ID_TIME_LINE);
+               break;
+       default:
+               gl_dbgE("Wrong mode!");
+               return -1;
+       }
+
+       gl_dbg("text: %s[%d]", text, tab_mode);
+       _gl_ctrl_show_view(data, text);
+       return 0;
+}
+
+int _gl_ctrl_set_tab_mode(void *data, int mode)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       gl_dbg("mode: %d", mode);
+       ad->ctrlinfo.tab_mode = mode;
+       return 0;
+}
+
+int _gl_ctrl_get_tab_mode(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       return ad->ctrlinfo.tab_mode;
+}
+
+int _gl_ctrl_change_easymode(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+
+       /* Remove ctxpopup */
+       _gl_ctxpopup_del(data);
+       /* Clear old view first */
+       gl_pop_to_ctrlbar_ly(data);
+       /* Initialize tab view */
+       __gl_ctrl_reset_previous_tab(data);
+       /* Reset tab view mode to re-entrance same tab view */
+       _gl_ctrl_set_tab_mode(data, GL_CTRL_TAB_INIT);
+       _gl_ctrl_show_view(data, GL_STR_ALBUMS);
+       return 0;
+}
+
+int _gl_ctrl_enable_btns(void *data, Elm_Object_Item *nf_it)
+{
+       return __gl_ctrl_enable_btns(data, nf_it);
+}
+
+Evas_Object *_gl_ctrl_add_toolbar(Evas_Object *parent)
+{
+       Evas_Object *toolbar = elm_toolbar_add(parent);
+       GL_CHECK_NULL(toolbar);
+       elm_object_style_set(toolbar, "default");
+       elm_toolbar_shrink_mode_set(toolbar, ELM_TOOLBAR_SHRINK_EXPAND);
+       elm_toolbar_transverse_expanded_set(toolbar, EINA_TRUE);
+       elm_toolbar_select_mode_set(toolbar, ELM_OBJECT_SELECT_MODE_NONE);
+       return toolbar;
+}
+
+Elm_Object_Item *_gl_ctrl_append_item(Evas_Object *obj, const char *icon,
+                                     const char *label, Evas_Smart_Cb func,
+                                     const void *data)
+{
+       Elm_Object_Item *it = NULL;
+       it = elm_toolbar_item_append(obj, icon, label, func, data);
+       if (label)
+               _gl_ui_set_translatable_item(it, label);
+       return it;
+}
+
+int _gl_ctrl_disable_items(Elm_Object_Item *nf_it, bool b_disabled)
+{
+       GL_CHECK_VAL(nf_it, -1);
+       Evas_Object *toolbar = NULL;
+
+       toolbar = elm_object_item_part_content_get(nf_it, "toolbar");
+       GL_CHECK_VAL(toolbar, -1);
+
+       Elm_Object_Item *it = NULL;
+       Elm_Object_Item *next_it = NULL;
+       char *text = NULL;
+       it = elm_toolbar_first_item_get(toolbar);
+       while (it) {
+               next_it = elm_toolbar_item_next_get(it);
+               text = (char *)elm_object_item_text_get(it);
+               if (text && !g_strcmp0(text, _gl_str(GL_STR_ID_CANCEL))) {
+                       it = next_it;
+                       continue;
+               }
+               _gl_ctrl_disable_item(it, b_disabled);
+               it = next_it;
+       }
+       return 0;
+}
+
+int _gl_ctrl_disable_items_with_check(Elm_Object_Item *nf_it, bool b_disabled,
+                                     char *check_str, bool b_check_disabled)
+{
+       GL_CHECK_VAL(nf_it, -1);
+       Evas_Object *toolbar = NULL;
+       toolbar = elm_object_item_part_content_get(nf_it, "toolbar");
+       GL_CHECK_VAL(toolbar, -1);
+
+       Elm_Object_Item *it = NULL;
+       Elm_Object_Item *next_it = NULL;
+       char *text = NULL;
+       it = elm_toolbar_first_item_get(toolbar);
+       while (it) {
+               next_it = elm_toolbar_item_next_get(it);
+               text = (char *)elm_object_item_text_get(it);
+               if (text && !g_strcmp0(text, _gl_str(GL_STR_ID_CANCEL))) {
+                       it = next_it;
+                       continue;
+               }
+               if (check_str) {
+                       if (text && !g_strcmp0(text, _gl_str(check_str)))
+                               _gl_ctrl_disable_item(it, b_check_disabled);
+                       else
+                               _gl_ctrl_disable_item(it, b_disabled);
+               } else {
+                       _gl_ctrl_disable_item(it, b_disabled);
+               }
+               it = next_it;
+       }
+       return 0;
+}
+
+int _gl_ctrl_disable_item_with_check(Elm_Object_Item *nf_it, char *check_str,
+                                    bool b_disabled)
+{
+       GL_CHECK_VAL(check_str, -1);
+       GL_CHECK_VAL(nf_it, -1);
+       Evas_Object *toolbar = NULL;
+       toolbar = elm_object_item_part_content_get(nf_it, "toolbar");
+       GL_CHECK_VAL(toolbar, -1);
+
+       Elm_Object_Item *it = NULL;
+       Elm_Object_Item *next_it = NULL;
+       char *text = NULL;
+       it = elm_toolbar_first_item_get(toolbar);
+       while (it) {
+               next_it = elm_toolbar_item_next_get(it);
+               text = (char *)elm_object_item_text_get(it);
+               if (text && !g_strcmp0(text, _gl_str(check_str))) {
+                       _gl_ctrl_disable_item(it, b_disabled);
+                       return 0;
+               }
+               it = next_it;
+       }
+       return -1;
+}
+
+int _gl_ctrl_disable_item(Elm_Object_Item *it, Eina_Bool b_disabled)
+{
+       GL_CHECK_VAL(it, -1);
+       /* dlog fatal is enabled. Elm_Object_Item cannot be NULL. */
+       elm_object_item_disabled_set(it, b_disabled);
+       return 0;
+}
+
diff --git a/src/widget/gl-ctxpopup.c b/src/widget/gl-ctxpopup.c
new file mode 100644 (file)
index 0000000..05c068c
--- /dev/null
@@ -0,0 +1,368 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+#include "gallery.h"
+#include "gl-ctxpopup.h"
+#include "gl-ui-util.h"
+#include "gl-util.h"
+#include "gl-debug.h"
+#include "gl-strings.h"
+#include "gl-button.h"
+#include "gl-controlbar.h"
+#include "gl-thumbs.h"
+#include "gl-albums.h"
+
+#define GL_CTXPOPUP_OBJ_DATA_KEY "gl_ctxpopup_data_key"
+#define GL_CTXPOPUP_OBJ_MORE_BTN_KEY "gl_ctxpopup_more_btn_key"
+#define GL_CTXPOPUP_OBJ_ROTATE_KEY "gl_ctxpopup_rotate_key"
+#define GL_CTXPOPUP_STYLE_MORE "more/default"
+
+typedef struct _gl_ctx_data_t gl_ctx_data_s;
+struct _gl_ctx_data_t {
+       int items_count;
+};
+
+static void __gl_ctxpopup_move_for_hwkey(void *data, Evas_Object *ctxpopup)
+{
+       GL_CHECK(ctxpopup);
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       int win_w = 0;
+       int win_h = 0;
+       int move_x = 0;
+       int move_y = 0;
+
+       elm_win_screen_size_get(ad->maininfo.win, NULL, NULL, &win_w, &win_h);
+       int changed_ang = elm_win_rotation_get(ad->maininfo.win);
+       gl_dbg("New angle: %d", changed_ang);
+
+       switch (changed_ang) {
+       case APP_DEVICE_ORIENTATION_0:
+       case APP_DEVICE_ORIENTATION_180:
+               move_x = win_w/2;
+               move_y = win_h;
+               break;
+       case APP_DEVICE_ORIENTATION_90:
+               move_x = win_h/2;
+               move_y = win_w;
+               break;
+       case APP_DEVICE_ORIENTATION_270:
+               move_x = win_h/2;
+               move_y = win_w;
+               break;
+       }
+
+       gl_dbg("move_x: %d, move_y: %d", move_x, move_y);
+       evas_object_move(ctxpopup, move_x, move_y);
+}
+
+static bool __gl_ctxpopup_check_btn_pos(void *data, Evas_Object *btn, int x,
+                                       int y, int w, int h)
+{
+       GL_CHECK_FALSE(data);
+       GL_CHECK_FALSE(btn);
+       gl_appdata *ad = (gl_appdata *)data;
+       int win_w = 0, win_h = 0;
+
+       elm_win_screen_size_get(ad->maininfo.win, NULL, NULL, &win_w, &win_h);
+
+       if (((x > 0) && (x < win_w)) && ((y > 0) && (y < win_h)) &&
+           ((w > 0) && (h > 0))) {
+               /* button's position is inside the main window, and button's size is not zero */
+               return true;
+       }
+
+       return false;
+}
+
+static char *__gl_ctxpopup_get_icon(char *label_id)
+{
+       GL_CHECK_NULL(label_id);
+       char *path = NULL;
+
+       if (!g_strcmp0(GL_STR_ID_EDIT_IMAGE, label_id)) {
+               path = GL_ICON_EDIT_IMAGE;
+       } else if (!g_strcmp0(GL_STR_ID_DELETE, label_id)) {
+               path = GL_ICON_DELETE;
+       } else if (!g_strcmp0(GL_STR_ID_MOVE, label_id)) {
+               path = GL_ICON_MOVE;
+       } else if (!g_strcmp0(GL_STR_ID_COPY, label_id)) {
+               path = GL_ICON_COPY;
+       } else if (!g_strcmp0(GL_STR_ID_ROTATE_LEFT, label_id)) {
+               path = GL_ICON_ROTATE_LEFT;
+       } else if (!g_strcmp0(GL_STR_ID_ROTATE_RIGHT, label_id)) {
+               path = GL_ICON_ROTATE_RIGHT;
+       }
+#ifdef SUPPORT_SLIDESHOW
+       else if (!g_strcmp0(GL_STR_ID_SLIDESHOW, label_id)) {
+               path = GL_ICON_SLIDESHOW;
+       }
+#endif
+       else if (!g_strcmp0(GL_STR_ID_NEW_ALBUM, label_id)) {
+               path = GL_ICON_NEW_ALBUM;
+       } else if (!g_strcmp0(GL_STR_ID_SHARE, label_id)) {
+               path = GL_ICON_SHARE;
+       } else if (!g_strcmp0(GL_STR_ID_EDIT, label_id)) {
+               path = GL_ICON_EDIT;
+       } else if (!g_strcmp0(GL_STR_ID_RENAME, label_id)) {
+               path = GL_ICON_RENAME;
+       } else if (!g_strcmp0(GL_STR_ID_SETTINGS, label_id)) {
+               path = GL_ICON_SETTINGS;
+       }
+       return path;
+}
+
+static void __gl_ctxpopup_hide_cb(void *data, Evas_Object *obj, void *ei)
+{
+       GL_CHECK(obj);
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+
+       bool ct_rotate = (bool)evas_object_data_get(obj,
+                                                   GL_CTXPOPUP_OBJ_ROTATE_KEY);
+
+       if (!ct_rotate) {
+               gl_dbg("ctxpopup is dismissed");
+               evas_object_del(obj);
+               ad->maininfo.ctxpopup = NULL;
+       } else {
+               gl_dbg("ctxpopup is not dismissed");
+               /* when "dismissed" cb is called next time,
+                 * ctxpopup should be dismissed if device is not rotated. */
+               evas_object_data_set(obj, GL_CTXPOPUP_OBJ_ROTATE_KEY,
+                                    (void *)false);
+               /* If ctxpopup is not dismissed, then it must be shown again.
+                 * Otherwise "dismissed" cb will be called one more time. */
+               evas_object_show(ad->maininfo.ctxpopup);
+       }
+}
+
+/* Basic winset: ctxpopup only activated from more button */
+static int __gl_ctxpopup_show(void *data, Evas_Object *btn, Evas_Object *ctxpopup)
+{
+       GL_CHECK_VAL(ctxpopup, -1);
+       GL_CHECK_VAL(btn, -1);
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       int x_position = 0;
+       int y_position = 0;
+       int w = 0;
+       int h = 0;
+
+       elm_ctxpopup_direction_priority_set(ctxpopup, ELM_CTXPOPUP_DIRECTION_UP,
+                                           ELM_CTXPOPUP_DIRECTION_LEFT,
+                                           ELM_CTXPOPUP_DIRECTION_RIGHT,
+                                           ELM_CTXPOPUP_DIRECTION_DOWN);
+       /* Only for more button */
+       evas_object_geometry_get(btn, &x_position, &y_position, &w, &h);
+       if (__gl_ctxpopup_check_btn_pos(data, btn, x_position, y_position, w, h) == true) {
+               /* the more button is inside the main window */
+               evas_object_move(ctxpopup, x_position+w/2, y_position + h/2);
+               gl_dbg("(%d, %d) - (%d, %d)", x_position, y_position, w, h);
+       } else {
+               /* the more button is not inside the main windown,
+                    possibly because the target has HW more/back keys. */
+               __gl_ctxpopup_move_for_hwkey(data, ctxpopup);
+       }
+
+       evas_object_show(ctxpopup);
+       ad->maininfo.ctxpopup = ctxpopup;
+       return 0;
+}
+
+static void __gl_ctxpopup_parent_resize_cb(void *data, Evas *e,
+                                          Evas_Object *obj, void *ei)
+{
+       gl_dbg("");
+       GL_CHECK(data);
+       evas_object_data_set((Evas_Object *)data, GL_CTXPOPUP_OBJ_ROTATE_KEY,
+                            (void *)true);
+}
+
+static void __gl_ctxpopup_items_update_cb(void *data, Evas_Object *obj, void *ei)
+{
+       gl_dbg("");
+       GL_CHECK(data);
+       int (*update_cb)(void *data, Evas_Object *parent);
+       update_cb = evas_object_data_get((Evas_Object *)data,
+                                        "gl_ctxpopup_update_items_cb");
+       gl_sdbg("callback: %p", update_cb);
+       if (update_cb)
+               update_cb(ei, (Evas_Object *)data);
+}
+
+
+static void __gl_ctxpopup_rotate_cb(void *data, Evas_Object *obj, void *ei)
+{
+       gl_dbg("");
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+
+       Evas_Object *more_btn = NULL;
+       more_btn = (Evas_Object *)evas_object_data_get(ad->maininfo.ctxpopup,
+                                                      GL_CTXPOPUP_OBJ_MORE_BTN_KEY);
+       GL_CHECK(more_btn);
+       __gl_ctxpopup_show(data, more_btn, ad->maininfo.ctxpopup);
+}
+
+static void __gl_ctxpopup_del_cb(void *data, Evas *e, Evas_Object *obj, void *ei)
+{
+       GL_CHECK(data);
+       GL_CHECK(obj);
+       Evas_Object *ctxpopup = obj;
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_CHECK(ad->maininfo.naviframe);
+
+       evas_object_data_del(ctxpopup, GL_CTXPOPUP_OBJ_MORE_BTN_KEY);
+       evas_object_data_del(ctxpopup, GL_CTXPOPUP_OBJ_ROTATE_KEY);
+       evas_object_smart_callback_del(ctxpopup, "dismissed",
+                                      __gl_ctxpopup_hide_cb);
+       evas_object_event_callback_del(ctxpopup, EVAS_CALLBACK_DEL,
+                                      __gl_ctxpopup_del_cb);
+       evas_object_event_callback_del(ad->maininfo.naviframe,
+                                      EVAS_CALLBACK_RESIZE,
+                                      __gl_ctxpopup_parent_resize_cb);
+       evas_object_smart_callback_del(ad->maininfo.naviframe,
+                                      "ctxpopup,items,update",
+                                      __gl_ctxpopup_items_update_cb);
+       evas_object_smart_callback_del(elm_object_top_widget_get(ctxpopup),
+                                      "rotation,changed",
+                                      __gl_ctxpopup_rotate_cb);
+       void *ctx_data = evas_object_data_get(ctxpopup, GL_CTXPOPUP_OBJ_DATA_KEY);
+       GL_FREEIF(ctx_data);
+       gl_dbg("done");
+}
+
+static int __gl_ctxpopup_add_callbacks(void *data, Evas_Object *ctxpopup)
+{
+       GL_CHECK_VAL(data, -1);
+       GL_CHECK_VAL(ctxpopup, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_CHECK_VAL(ad->maininfo.naviframe, -1);
+
+       evas_object_smart_callback_add(ctxpopup, "dismissed",
+                                      __gl_ctxpopup_hide_cb, data);
+       evas_object_event_callback_add(ctxpopup, EVAS_CALLBACK_DEL,
+                                      __gl_ctxpopup_del_cb, data);
+       evas_object_event_callback_add(ad->maininfo.naviframe,
+                                      EVAS_CALLBACK_RESIZE,
+                                      __gl_ctxpopup_parent_resize_cb,
+                                      ctxpopup);
+       evas_object_smart_callback_add(ad->maininfo.naviframe,
+                                      "ctxpopup,items,update",
+                                      __gl_ctxpopup_items_update_cb, ctxpopup);
+       evas_object_smart_callback_add(elm_object_top_widget_get(ctxpopup),
+                                      "rotation,changed",
+                                      __gl_ctxpopup_rotate_cb, data);
+
+       gl_dbg("done");
+       return 0;
+}
+
+Elm_Object_Item *_gl_ctxpopup_append(Evas_Object *obj, char *label_id,
+                                    Evas_Smart_Cb func, const void *data)
+{
+       Evas_Object *ic = NULL;
+       char *path = __gl_ctxpopup_get_icon(label_id);
+
+       if (path) {
+               ic = elm_image_add(obj);
+               GL_CHECK_NULL(ic);
+               GL_ICON_SET_FILE(ic, path);
+       }
+
+       gl_ctx_data_s *ctx_data = NULL;
+       ctx_data = (gl_ctx_data_s *)evas_object_data_get(obj,
+                                                        GL_CTXPOPUP_OBJ_DATA_KEY);
+       if (ctx_data) {
+               ctx_data->items_count++;
+       }
+       return elm_ctxpopup_item_append(obj, _gl_str(label_id), NULL, func, data);
+}
+
+Elm_Object_Item *_gl_ctxpopup_append_with_icon(Evas_Object *obj, char *label,
+                                    char *icon_path, Evas_Smart_Cb func, const void *data)
+{
+       Evas_Object *ic = NULL;
+
+       if (icon_path) {
+               ic = elm_image_add(obj);
+               GL_CHECK_NULL(ic);
+               GL_ICON_SET_FILE(ic, icon_path);
+       }
+
+       gl_ctx_data_s *ctx_data = NULL;
+       ctx_data = (gl_ctx_data_s *)evas_object_data_get(obj,
+                                                        GL_CTXPOPUP_OBJ_DATA_KEY);
+       if (ctx_data) {
+               ctx_data->items_count++;
+       }
+       return elm_ctxpopup_item_append(obj, label, ic, func, data);
+}
+
+int _gl_ctxpopup_create(void *data, Evas_Object *but, ctx_append_cb append_cb)
+{
+       gl_dbg("");
+       GL_CHECK_VAL(append_cb, -1);
+       GL_CHECK_VAL(but, -1);
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_CHECK_VAL(ad->maininfo.naviframe, -1);
+
+       _gl_ctxpopup_del(data);
+
+       gl_ctx_data_s *ctx_data = (gl_ctx_data_s *)calloc(1, sizeof(gl_ctx_data_s));
+       GL_CHECK_VAL(ctx_data, -1);
+
+       Evas_Object *ctxpopup = elm_ctxpopup_add(ad->maininfo.naviframe);
+       eext_object_event_callback_add(ctxpopup, EEXT_CALLBACK_BACK, eext_ctxpopup_back_cb, NULL);
+       eext_object_event_callback_add(ctxpopup, EEXT_CALLBACK_MORE, eext_ctxpopup_back_cb, NULL);
+       elm_object_style_set(ctxpopup, GL_CTXPOPUP_STYLE_MORE);
+       /* more btn is needed to decide ctxpopup's position. */
+       evas_object_data_set(ctxpopup, GL_CTXPOPUP_OBJ_MORE_BTN_KEY, but);
+       evas_object_data_set(ctxpopup, GL_CTXPOPUP_OBJ_ROTATE_KEY,
+                            (void *)false);
+       evas_object_data_set(ctxpopup, GL_CTXPOPUP_OBJ_DATA_KEY,
+                            (void *)ctx_data);
+
+       /* Add callbacks for ctxpopup */
+       __gl_ctxpopup_add_callbacks(data, ctxpopup);
+
+       /* Append items */
+       append_cb(data, ctxpopup);
+
+       /* check count*/
+       if (ctx_data->items_count == 0) {
+               gl_dbgW("Remove empty ctxpopup");
+               evas_object_del(ctxpopup);
+               return -1;
+       }
+
+       return __gl_ctxpopup_show(data, but, ctxpopup);
+}
+
+int _gl_ctxpopup_del(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       if (ad->maininfo.ctxpopup) {
+               evas_object_del(ad->maininfo.ctxpopup);
+               ad->maininfo.ctxpopup = NULL;
+               gl_dbg("Ctxpopup removed");
+       }
+       return 0;
+}
+
diff --git a/src/widget/gl-editfield.c b/src/widget/gl-editfield.c
new file mode 100644 (file)
index 0000000..92bd53f
--- /dev/null
@@ -0,0 +1,400 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#include "gl-editfield.h"
+#include "gl-ui-util.h"
+#include "gl-util.h"
+#include "gl-popup.h"
+#include "gl-data.h"
+#include "gl-strings.h"
+#include "gl-debug.h"
+#include "gl-notify.h"
+
+/* Maximum number of entry string, 50 Chars of album name (UI) */
+#define GL_ENTRY_STR_CHAR_MAX 50
+
+/* The maximun length reached callback */
+static void __gl_editfield_maxlen_reached_cb(void *data, Evas_Object *obj,
+                                             void *ei)
+{
+       gl_dbg("Entry maximum length reached, show notification.");
+       GL_CHECK(data);
+       /* Show popup */
+       _gl_notify_create_notiinfo(_gl_str(GL_STR_ID_MAX_NO_CHARS_REACHED));
+}
+
+/*
+* Callback registered to signal 'changed' of entry.
+* It would get the entry string and check whether it's different
+* with original string or not, if so, enable 'Done' button, other disable it.
+*/
+static void __gl_editfield_space_check_cb(void *data, Evas_Object *obj, void *ei)
+{
+       GL_CHECK(obj);
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+
+       GL_CHECK(ad->entryinfo.done_btn);
+       const char *entry_str = NULL;
+
+       /* Get entry string. */
+       entry_str = elm_entry_entry_get(obj);
+       GL_CHECK(entry_str);
+       /**
+       * Changes entry string to utf-8 encoding format,
+       * other some special characters cannot be showed correctly.
+       */
+       char *entry_utf8 = elm_entry_markup_to_utf8(entry_str);
+       GL_CHECK(entry_utf8);
+       /**
+       *  Removes leading and trailing whitespace
+       *  to avoid showing popup when new name is only composed by space
+       *  or avoid showing popup in the case when after trip leading and trailing space,
+       *  new name is same as existing name
+       */
+       g_strstrip((gchar *)entry_utf8);
+       GL_CHECK(entry_utf8);
+       gl_sdbg("New entry string without space: [%s]", entry_utf8);
+
+       bool b_disabled = false;
+       /**
+       * If entry string is empty, disable 'Done' button,
+       * including create album/tag and rename album/tag.
+       */
+       if (!strlen(entry_utf8)) {
+               gl_dbg("Entry string is empty!");
+               b_disabled = true;
+       } else {
+               int (*valiate_cb)(void *data, char *text);
+               valiate_cb = evas_object_data_get(obj, "gl_entry_validate_cb_key");
+               gl_dbgW("valiate_cb[%p]", valiate_cb);
+               if (valiate_cb && valiate_cb(data, entry_utf8) < 0) {
+                       entry_utf8[strlen(entry_utf8)-1] = '\0';
+                       elm_entry_entry_set(obj, entry_utf8);
+                       elm_entry_cursor_end_set(obj);
+                       if (!strlen(entry_utf8))
+                               b_disabled = true;
+               }
+       }
+
+       gl_dbg("En/Disable Done button[%d]", b_disabled);
+       elm_object_disabled_set(ad->entryinfo.done_btn, b_disabled);
+
+       /* Free string got from elm_entry_markup_to_utf8() */
+       GL_FREEIF(entry_utf8);
+}
+
+/*
+*   make a new album
+*/
+static void __gl_editfield_enter_cb(void *data, Evas_Object *obj, void *ei)
+{
+       gl_dbg("");
+       GL_CHECK(obj);
+       GL_CHECK(data);
+       /* Unfocus to hide cursor */
+       _gl_editfield_hide_imf(data);
+       int (*process_cb)(void *data, bool b_enter);
+       process_cb = evas_object_data_get(obj, "gl_entry_process_cb_key");
+       gl_dbgW("process_cb[%p]", process_cb);
+       if (process_cb)
+               process_cb(data, true);
+       else
+               gl_dbgW("Invalid process_cb");
+}
+
+int __gl_editfield_set_entry(void *data, Evas_Object *layout,
+                                   Evas_Object *entry, char *default_label)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       gl_dbg("");
+
+       GL_FREEIF(ad->entryinfo.limit_filter);
+       Elm_Entry_Filter_Limit_Size *limit_filter = (Elm_Entry_Filter_Limit_Size *)calloc(1, sizeof(Elm_Entry_Filter_Limit_Size));
+       GL_CHECK_VAL(limit_filter, -1);
+       ad->entryinfo.limit_filter = limit_filter;
+       /* Album name, the length is limited to 50 Chars*/
+       limit_filter->max_char_count = GL_ENTRY_STR_CHAR_MAX;
+       limit_filter->max_byte_count = 0;
+
+       elm_entry_markup_filter_append(entry, elm_entry_filter_limit_size,
+                                      limit_filter);
+       elm_entry_input_panel_return_key_type_set(entry,
+                                                 ELM_INPUT_PANEL_RETURN_KEY_TYPE_DONE);
+       elm_entry_autocapital_type_set(entry, ELM_AUTOCAPITAL_TYPE_SENTENCE);
+
+       if (gl_set_entry_text(entry, default_label) != 0) {
+               gl_dbgE("gl_set_entry_text failed!");
+               return -1;
+       }
+       elm_entry_cursor_end_set(entry);
+       evas_object_smart_callback_add(entry, "maxlength,reached",
+                                      __gl_editfield_maxlen_reached_cb, ad);
+       evas_object_smart_callback_add(entry, "activated",
+                                      __gl_editfield_enter_cb, ad);
+       /* Add space check callback */
+       evas_object_smart_callback_add(entry, "changed",
+                                      __gl_editfield_space_check_cb, ad);
+       evas_object_smart_callback_add(entry, "preedit,changed",
+                                      __gl_editfield_space_check_cb, ad);
+       return 0;
+}
+
+Evas_Object *_gl_editfield_create(void *data, Evas_Object *parent,
+                                 char *default_label)
+{
+       GL_CHECK_NULL(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_CHECK_NULL(parent);
+       Evas_Object *layout = NULL;
+       Evas_Object *entry_layout = NULL;
+       Evas_Object *entry = NULL;
+
+       layout = elm_layout_add(parent);
+       GL_CHECK_NULL(layout);
+       elm_layout_theme_set(layout, "layout", "application", "searchbar_base");
+       elm_object_signal_emit(layout, "elm,state,show,searchbar", "elm");
+
+       entry_layout = elm_layout_add(layout);
+       if (entry_layout == NULL) {
+               evas_object_del(layout);
+               return NULL;
+       }
+       /* Customized theme */
+       elm_layout_theme_set(entry_layout, "layout", "searchbar", "default");
+       elm_object_part_content_set(layout, "searchbar", entry_layout);
+
+       entry = elm_entry_add(entry_layout);
+       if (entry == NULL) {
+               evas_object_del(entry_layout);
+               return NULL;
+       }
+
+       elm_entry_single_line_set(entry, EINA_TRUE);
+       elm_entry_scrollable_set(entry, EINA_TRUE);
+       elm_object_part_content_set(entry_layout, "elm.swallow.content", entry);
+       elm_entry_cnp_mode_set(entry, ELM_CNP_MODE_PLAINTEXT);
+       elm_entry_input_panel_layout_set(entry, ELM_INPUT_PANEL_LAYOUT_NORMAL);
+
+       ad->entryinfo.entry = entry;
+       ad->entryinfo.context = elm_entry_imf_context_get(ad->entryinfo.entry);
+       ad->entryinfo.editfield = entry_layout;
+       /* Set callback */
+       __gl_editfield_set_entry(ad, entry_layout, entry, default_label);
+       evas_object_show(entry_layout);
+
+       return layout;
+}
+
+/* Add editfield to genlist item */
+Evas_Object *_gl_editfield_create_genlist(void *data, Evas_Object *parent,
+                                          Elm_Object_Item *it, char *label)
+{
+       GL_CHECK_NULL(label);
+       GL_CHECK_NULL(parent);
+       GL_CHECK_NULL(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       gl_dbg("");
+       Evas_Object *entry = NULL;
+
+       _gl_editfield_destroy_imf(ad);
+       entry = elm_entry_add(parent);
+       if (entry == NULL) {
+               gl_dbgE("elm_entry_add failed!");
+               return NULL;
+       }
+
+       elm_entry_single_line_set(entry, EINA_TRUE);
+       elm_entry_scrollable_set(entry, EINA_TRUE);
+       GL_FREEIF(ad->entryinfo.limit_filter);
+       Elm_Entry_Filter_Limit_Size *limit_filter = (Elm_Entry_Filter_Limit_Size *)calloc(1, sizeof(Elm_Entry_Filter_Limit_Size));
+       GL_CHECK_NULL(limit_filter);
+       ad->entryinfo.limit_filter = limit_filter;
+       /* Tag name, the length is limited to 255 Chars */
+       limit_filter->max_char_count = GL_ENTRY_STR_CHAR_MAX;
+       limit_filter->max_byte_count = 0;
+       elm_entry_cnp_mode_set(entry, ELM_CNP_MODE_PLAINTEXT);
+       elm_entry_input_panel_return_key_type_set(entry,
+                                                 ELM_INPUT_PANEL_RETURN_KEY_TYPE_DONE);
+       elm_entry_autocapital_type_set(entry, ELM_AUTOCAPITAL_TYPE_SENTENCE);
+       elm_entry_markup_filter_append(entry, elm_entry_filter_limit_size,
+                                      limit_filter);
+       evas_object_smart_callback_add(entry, "maxlength,reached",
+                                      __gl_editfield_maxlen_reached_cb, ad);
+       evas_object_smart_callback_add(entry, "activated",
+                                      __gl_editfield_enter_cb, ad);
+       /**
+        * Do not unset rename mode on unfocused event
+        *otherwise clipboard does not work properly
+        */
+       ad->entryinfo.entry = entry;
+       ad->entryinfo.context = elm_entry_imf_context_get(entry);
+
+       _gl_editfield_show_imf(data);
+       gl_set_entry_text(entry, label);
+       elm_entry_cursor_end_set(entry);
+
+       if (!ad->entryinfo.b_hide_toolbar) {
+               ad->entryinfo.b_hide_toolbar = true;
+               _gl_ui_set_toolbar_state(data, ad->entryinfo.b_hide_toolbar);
+       }
+       return entry;
+}
+
+Evas_Object *_gl_editfield_create_entry(void *data, Evas_Object *layout, char *text)
+{
+       GL_CHECK_NULL(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       static Elm_Entry_Filter_Limit_Size limit_filter_data;
+
+       Evas_Object *entry = elm_entry_add(layout);
+       GL_CHECK_NULL(entry);
+
+       elm_entry_single_line_set(entry, EINA_TRUE);
+       elm_entry_scrollable_set(entry, EINA_TRUE);
+
+       limit_filter_data.max_char_count = GL_ENTRY_STR_CHAR_MAX;
+       if (text)
+               elm_entry_entry_set(entry, text);
+       elm_entry_cursor_end_set(entry);
+
+       elm_entry_markup_filter_append(entry, elm_entry_filter_limit_size,
+                                      &limit_filter_data);
+
+       evas_object_smart_callback_add(entry, "maxlength,reached",
+                                      __gl_editfield_maxlen_reached_cb, data);
+       evas_object_smart_callback_add(entry, "changed",
+                                      __gl_editfield_space_check_cb, data);
+       evas_object_smart_callback_add(entry, "preedit,changed",
+                                      __gl_editfield_space_check_cb, data);
+       evas_object_smart_callback_add(entry, "activated",
+                                      __gl_editfield_enter_cb, data);
+       elm_entry_cnp_mode_set(entry, ELM_CNP_MODE_PLAINTEXT);
+       elm_entry_input_panel_return_key_type_set(entry,
+                                                 ELM_INPUT_PANEL_RETURN_KEY_TYPE_DONE);
+       elm_entry_autocapital_type_set(entry, ELM_AUTOCAPITAL_TYPE_SENTENCE);
+       ad->entryinfo.entry = entry;
+       ad->entryinfo.context = elm_entry_imf_context_get(entry);
+
+       return entry;
+}
+
+/* Hide input panel and entry cursor */
+int _gl_editfield_hide_imf(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       gl_dbg("");
+
+       /* Unfocus to hide cursor */
+       if (ad->entryinfo.entry)
+               elm_object_focus_set(ad->entryinfo.entry, EINA_FALSE);
+
+       return 0;
+}
+
+/* Show input panel and entry cursor */
+int _gl_editfield_show_imf(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       gl_dbg("");
+
+       if (ad->entryinfo.entry) {
+               evas_object_show(ad->entryinfo.entry);
+               elm_object_focus_set(ad->entryinfo.entry, EINA_TRUE);
+       }
+
+       return 0;
+}
+
+int _gl_editfield_destroy_imf(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+
+       if (ad->entryinfo.entry == NULL)
+               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);
+       evas_object_smart_callback_del(ad->entryinfo.entry,
+                                      "activated", __gl_editfield_enter_cb);
+
+       evas_object_smart_callback_del(ad->entryinfo.entry,
+                                      "changed",
+                                      __gl_editfield_space_check_cb);
+       evas_object_smart_callback_del(ad->entryinfo.entry,
+                                      "preedit,changed",
+                                      __gl_editfield_space_check_cb);
+       ad->entryinfo.mode = GL_ENTRY_NONE;
+
+       GL_IF_DEL_OBJ(ad->entryinfo.popup);
+       GL_IF_DEL_OBJ(ad->entryinfo.editfield);
+       GL_FREEIF(ad->entryinfo.limit_filter);
+       ad->entryinfo.entry = NULL;
+       ad->entryinfo.context = NULL;
+       ad->entryinfo.done_btn = NULL;
+       ad->entryinfo.nf_it = NULL;
+       ad->entryinfo.op_cb = NULL;
+       GL_FREEIF(ad->albuminfo.temp_album_name);
+       return 0;
+}
+
+int _gl_editfield_change_navi_title(void *data, int r)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       if (ad->entryinfo.nf_it) {
+               gl_dbg("entryinfo.nf_it created");
+               if (!ad->entryinfo.b_hide_sip) {
+                       gl_dbg("SIP is hided, no need hide the title");
+                       return 0;
+               }
+       } else {
+               gl_dbg("entryinfo.nf_it not created");
+               return -1;
+       }
+       GL_CHECK_VAL(ad->maininfo.naviframe, -1);
+       Elm_Object_Item *navi_it = elm_naviframe_top_item_get(ad->maininfo.naviframe);
+       GL_CHECK_VAL(navi_it, -1);
+       switch (r) {
+       case APP_DEVICE_ORIENTATION_0:
+       case APP_DEVICE_ORIENTATION_180:
+               elm_naviframe_item_title_enabled_set(navi_it, EINA_TRUE, EINA_FALSE);
+               break;
+       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;
+       }
+       return 0;
+}
+
+Evas_Object *_gl_editfield_get_entry(void *data)
+{
+       GL_CHECK_NULL(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       return ad->entryinfo.entry;
+}
+
diff --git a/src/widget/gl-gesture.c b/src/widget/gl-gesture.c
new file mode 100644 (file)
index 0000000..9f7a3ec
--- /dev/null
@@ -0,0 +1,557 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#include "gl-gesture.h"
+#include "gl-util.h"
+#include "gl-debug.h"
+#include "gl-thumbs.h"
+#include "gl-timeline.h"
+
+#define GL_PINCH_TOUCH_HOLD_RANGE 80
+#define GL_PINCH_TOUCH_FACTOR 4
+#define GL_PINCH_HOLD_TIME_DELAY 0.35f
+#define GL_GESTURE_KEY_DATA "gesture_data"
+
+typedef struct _gl_gesture_t gl_gesture_s;
+typedef struct _gl_pinch_event_t gl_pinch_event_s;
+typedef enum _gl_pinch_plan_t gl_pinch_plan_e;
+
+struct _gl_gesture_t {
+       gl_appdata *ad;
+       Evas_Object *parent;
+       Evas_Object *gesture;
+       gl_gesture_cb zoom_in_cb;
+       gl_gesture_cb zoom_out_cb;
+       void *zoom_in_data;
+       void *zoom_out_data;
+
+       int dis_old;
+       int pinch_dis_old;
+       Eina_List *s_event_elist;
+       Ecore_Job *pinch_job;
+       int next_plan;
+};
+
+struct _gl_pinch_event_t {
+       int device;
+
+       struct gl_prev {
+               Evas_Coord x;
+               Evas_Coord y;
+       } prev;
+
+       Evas_Coord x;
+       Evas_Coord y;
+       Evas_Coord w;
+       Evas_Coord h;
+       Evas_Object *object;
+       Ecore_Timer *hold_timer;
+       int ts;         /* Time stamp to calculate whether scrolling or moving */
+       int v;          /* Velocity */
+       int pinch_dis;
+       Evas_Object *pinch_obj; /* Object between thumb and index */
+       Evas_Object *test;      /* To see dis center */
+};
+
+enum _gl_pinch_plan_t {
+       GL_PINCH_PLAN_NONE,
+       GL_PINCH_PLAN_OUT,
+       GL_PINCH_PLAN_IN,
+       GL_PINCH_PLAN_MAX
+};
+
+static gl_pinch_event_s *__gl_gesture_create_event_obj(void *data,
+                                                      Evas_Object *object,
+                                                      int device)
+{
+       GL_CHECK_NULL(data);
+       gl_gesture_s *gesture_d = (gl_gesture_s *)data;
+       gl_pinch_event_s *ev = NULL;
+       /*gl_dbg(""); */
+
+       ev = calloc(1, sizeof(gl_pinch_event_s));
+       if (ev == NULL) {
+               gl_dbg("Cannot allocate event_t");
+               return NULL;
+       }
+
+       ev->object = object;
+       ev->device = device;
+       evas_object_geometry_get(object, &ev->x, &ev->y, &ev->w, &ev->h);
+
+       gesture_d->s_event_elist = eina_list_append(gesture_d->s_event_elist,
+                                                   ev);
+       return ev;
+}
+
+static int __gl_gesture_destroy_event_obj(void *data, gl_pinch_event_s *ev)
+{
+       GL_CHECK_VAL(ev, -1);
+       GL_CHECK_VAL(data, -1);
+       gl_gesture_s *gesture_d = (gl_gesture_s *)data;
+       /*gl_dbg(""); */
+
+       ev->pinch_obj = NULL;
+       ev->pinch_dis = 0;
+       gesture_d->s_event_elist = eina_list_remove(gesture_d->s_event_elist,
+                                                   ev);
+       GL_IF_DEL_TIMER(ev->hold_timer);
+       /* We don't need to reset the hold_timer object */
+
+       GL_FREE(ev);
+       return 0;
+}
+
+static gl_pinch_event_s *__gl_gesture_get_event_obj(void *data, int device)
+{
+       GL_CHECK_NULL(data);
+       gl_gesture_s *gesture_d = (gl_gesture_s *)data;
+       Eina_List *l = NULL;
+       gl_pinch_event_s *ev = NULL;
+
+       EINA_LIST_FOREACH(gesture_d->s_event_elist, l, ev) {
+               if (ev && ev->device == device)
+                       break;
+               ev = NULL;
+       }
+
+       return ev;
+}
+
+static int __gl_gesture_get_distance(Evas_Coord x1, Evas_Coord y1, Evas_Coord x2,
+                                    Evas_Coord y2)
+{
+       int dis, dx, dy;
+
+       dx = x1 - x2;
+       dy = y1 - y2;
+
+       dis = (int)sqrt(dx * dx + dy * dy);
+       return dis;
+}
+
+static Eina_Bool __gl_gesture_hold_timer_cb(void *data)
+{
+       gl_pinch_event_s *ev0 = (gl_pinch_event_s *)data;
+       GL_IF_DEL_TIMER(ev0->hold_timer);
+       return ECORE_CALLBACK_CANCEL;
+}
+
+static int __gl_gesture_get_multi_device(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_gesture_s *gesture_d = (gl_gesture_s *)data;
+       Eina_List *l = NULL;
+       gl_pinch_event_s *ev = NULL;
+
+       EINA_LIST_FOREACH(gesture_d->s_event_elist, l, ev) {
+               if (ev && ev->device != 0)
+                       return ev->device;
+       }
+       return 0;
+}
+
+static void __gl_gesture_mouse_down_event(void *data, Evas *e,
+                                         Evas_Object *evas_obj, void *ei)
+{
+       GL_CHECK(ei);
+       GL_CHECK(data);
+       Evas_Event_Mouse_Down *ev = (Evas_Event_Mouse_Down *)ei;
+       /*gl_dbg(""); */
+
+       gl_pinch_event_s *ev0;
+       ev0 = __gl_gesture_get_event_obj(data, 0);
+       if (ev0)
+               return;
+
+       ev0 = __gl_gesture_create_event_obj(data, evas_obj, 0);
+       if (!ev0)
+               return;
+
+       ev0->hold_timer = NULL;
+       ev0->prev.x = ev->output.x;
+       ev0->prev.y = ev->output.y;
+}
+
+static void __gl_gesture_multi_down_event(void *data, Evas *evas,
+                                         Evas_Object *obj, void *ei)
+{
+       GL_CHECK(ei);
+       GL_CHECK(data);
+       gl_pinch_event_s *ev;
+       Evas_Event_Multi_Down *down = (Evas_Event_Multi_Down *)ei;
+       /*gl_dbg(""); */
+
+       ev = __gl_gesture_get_event_obj(data, down->device);
+       if (ev)
+               return;
+
+       ev = __gl_gesture_create_event_obj(data, obj, down->device);
+       if (!ev)
+               return;
+
+       ev->hold_timer = NULL;
+       ev->prev.x = down->output.x;
+       ev->prev.y = down->output.y;
+}
+
+static void __gl_gesture_mouse_up_event(void *data, Evas *e,
+                                       Evas_Object *obj, void *ei)
+{
+       GL_CHECK(data);
+       gl_gesture_s *gesture_d = (gl_gesture_s *)data;
+       int mdevice;
+       gl_pinch_event_s *ev0;
+       gl_pinch_event_s *ev = NULL;
+       /*gl_dbg(""); */
+       Evas_Event_Mouse_Up *p_ev = (Evas_Event_Mouse_Up *)ei;
+
+       ev0 = __gl_gesture_get_event_obj(data, 0);
+       if (ev0 == NULL) {
+               gl_dbg("Cannot get event0");
+               return;
+       }
+       /* check whether device multi is on or off */
+       mdevice = __gl_gesture_get_multi_device(data);
+       /*gl_dbg("mdevice[%d]", mdevice); */
+       if (mdevice == 0) {
+       } else {
+               /*gl_dbg(" device multi is on"); */
+               /* when device multi is on */
+               ev = __gl_gesture_get_event_obj(data, mdevice);
+               if (ev == NULL) {
+                       gl_dbg("Cannot get event multi");
+                       return;
+               }
+
+               GL_IF_DEL_TIMER(ev->hold_timer);
+               ev->hold_timer = ecore_timer_add(GL_PINCH_HOLD_TIME_DELAY,
+                                                __gl_gesture_hold_timer_cb, ev);
+       }
+
+       if (!gesture_d->ad->gridinfo.multi_touch) {
+               _gl_thumbs_change_view(gesture_d->ad, ev0->prev.x, p_ev->output.x);
+       } else {
+               gesture_d->ad->gridinfo.multi_touch = false;
+       }
+       __gl_gesture_destroy_event_obj(data, ev0);
+}
+
+static void __gl_gesture_multi_up_event(void *data, Evas *evas,
+                                       Evas_Object *obj, void *ei)
+{
+       GL_CHECK(ei);
+       GL_CHECK(data);
+       gl_gesture_s *gesture_d = (gl_gesture_s *)data;
+       Evas_Event_Multi_Up *up = (Evas_Event_Multi_Up *)ei;
+       gl_pinch_event_s *ev0 = NULL;
+       gl_pinch_event_s *ev = NULL;
+       /*gl_dbg(""); */
+
+       ev = __gl_gesture_get_event_obj(data, up->device);
+       if (ev == NULL) {
+               gl_dbg("Cannot get device multi");
+               return;
+       }
+
+       gesture_d->dis_old = 0;
+       gesture_d->pinch_dis_old = 0;
+       /*dis_old = 0; */
+
+       /* act depends on device 0 on or off */
+       ev0 = __gl_gesture_get_event_obj(data, 0);
+       if (ev0) {
+               /* up when device 0 is on */
+               /* timer for pinch */
+               GL_IF_DEL_TIMER(ev0->hold_timer);
+               ev0->hold_timer = ecore_timer_add(GL_PINCH_HOLD_TIME_DELAY,
+                                                 __gl_gesture_hold_timer_cb,
+                                                 ev0);
+       } else {
+               /* up when device 0 is off */
+       }
+       __gl_gesture_destroy_event_obj(data, ev);
+}
+
+static void __gl_gesture_mouse_move_event(void *data, Evas *e,
+                                         Evas_Object *obj, void *ei)
+{
+       GL_CHECK(ei);
+       GL_CHECK(data);
+//     Evas_Event_Mouse_Move *ev = (Evas_Event_Mouse_Move *)ei;
+       gl_pinch_event_s *ev0;
+       /*gl_dbg(""); */
+
+       ev0 = __gl_gesture_get_event_obj(data, 0);
+       if (ev0 == NULL) {
+               /*gl_dbg("Cannot get device0"); */
+               return;
+       }
+
+       __gl_gesture_get_multi_device(data);
+}
+
+static void __gl_gesture_zoom_out_job_cb(void *data)
+{
+       GL_CHECK(data);
+       gl_gesture_s *gesture_d = (gl_gesture_s *)data;
+       if (gesture_d->next_plan != GL_PINCH_PLAN_OUT) {
+               gl_dbgW("State is wrong[plan:%d]!", gesture_d->next_plan);
+               GL_IF_DEL_JOB(gesture_d->pinch_job);
+               return;
+       }
+       gl_dbg("Pinch zoom out");
+
+       if (gesture_d->zoom_out_cb)
+               gesture_d->zoom_out_cb(gesture_d->gesture,
+                                      gesture_d->zoom_out_data);
+
+       GL_IF_DEL_JOB(gesture_d->pinch_job);
+}
+
+static void __gl_gesture_zoom_in_job_cb(void *data)
+{
+       GL_CHECK(data);
+       gl_gesture_s *gesture_d = (gl_gesture_s *)data;
+       if (gesture_d->next_plan != GL_PINCH_PLAN_IN) {
+               gl_dbgW("State is wrong[plan:%d]!", gesture_d->next_plan);
+               GL_IF_DEL_JOB(gesture_d->pinch_job);
+               return;
+       }
+       gl_dbg("Pinch zoom in");
+
+       if (gesture_d->zoom_in_cb)
+               gesture_d->zoom_in_cb(gesture_d->gesture,
+                                     gesture_d->zoom_in_data);
+
+       GL_IF_DEL_JOB(gesture_d->pinch_job);
+}
+
+static void __gl_gesture_multi_move_event(void *data, Evas *evas,
+                                         Evas_Object *obj, void *ei)
+{
+       GL_CHECK(data);
+       gl_gesture_s *gesture_d = (gl_gesture_s *)data;
+       Evas_Event_Multi_Move *move = (Evas_Event_Multi_Move *)ei;
+       int dis_new;
+       gl_pinch_event_s *ev0;
+       gl_pinch_event_s *ev;
+       /*(gl_dbg(""); */
+
+       ev = __gl_gesture_get_event_obj(data, move->device);
+       if (ev == NULL) {
+               gl_dbg("Cannot get multi device");
+               return;
+       }
+       gesture_d->ad->gridinfo.multi_touch = true;
+
+       if (_gl_is_timeline_edit_mode(gesture_d->ad)) {
+               gl_dbg("Prevent multi move in timeline edit mode");
+               return;
+       }
+
+       if (gl_get_view_mode(gesture_d->ad) == GL_VIEW_THUMBS
+                       || gl_get_view_mode(gesture_d->ad) == GL_VIEW_THUMBS_EDIT
+                       || gl_get_view_mode(gesture_d->ad) == GL_VIEW_THUMBS_SELECT) {
+               if (gl_get_view_mode(gesture_d->ad) == GL_VIEW_THUMBS_EDIT) {
+                       gl_dbg("Prevent multi move in thumbs edit view");
+                       return;
+               }
+               if (gesture_d->ad->gridinfo.split_view_mode == SPLIT_VIEW) {
+                       gl_dbg("Prevent multi move in split view");
+                       return;
+               }
+               if (gl_get_view_mode(gesture_d->ad) == GL_VIEW_THUMBS_SELECT) {
+                       gl_dbg("Prevent multi move in thumbs select view");
+                       return;
+               }
+       }
+       ev->prev.x = move->cur.output.x;
+       ev->prev.y = move->cur.output.y;
+
+       ev0 = __gl_gesture_get_event_obj(data, 0);
+       if (ev0 == NULL) {
+               gl_dbg("Cannot get device0");
+               return;
+       }
+
+       dis_new = __gl_gesture_get_distance(ev0->prev.x, ev0->prev.y,
+                                           ev->prev.x, ev->prev.y);
+
+       int dis_old = gesture_d->dis_old;
+       if (dis_old != 0) {
+               if (dis_old - dis_new > 0 &&
+                   ev->pinch_dis > GL_PINCH_TOUCH_HOLD_RANGE) {
+                       if (gesture_d->pinch_dis_old &&
+                           ev->pinch_dis < (gesture_d->pinch_dis_old * GL_PINCH_TOUCH_FACTOR)) {
+                               ev->pinch_dis += (dis_old - dis_new);
+                               gesture_d->dis_old = dis_new;
+                               return;
+                       }
+
+                       gesture_d->next_plan = GL_PINCH_PLAN_OUT; /* plan to zoom-out */
+                       if (!gesture_d->pinch_job) {
+                               gl_dbgW("Add job pinch zoom out");
+                               gesture_d->pinch_job = ecore_job_add(__gl_gesture_zoom_out_job_cb,
+                                                                    data);
+                       } else {
+                               gl_dbgW("Added job pinch zoom out");
+                       }
+
+                       gesture_d->pinch_dis_old = ev->pinch_dis;
+                       ev->pinch_dis = 0;
+               } else if (dis_old - dis_new < 0 &&
+                          ev->pinch_dis < -GL_PINCH_TOUCH_HOLD_RANGE) {
+                       if (gesture_d->pinch_dis_old &&
+                           ev->pinch_dis > (gesture_d->pinch_dis_old * GL_PINCH_TOUCH_FACTOR)) {
+                               ev->pinch_dis += (dis_old - dis_new);
+                               gesture_d->dis_old = dis_new;
+                               return;
+                       }
+
+                       gesture_d->next_plan = GL_PINCH_PLAN_IN; /* plan to zoom-in */
+                       if (!gesture_d->pinch_job) {
+                               gl_dbgW("Add job pinch zoom in");
+                               gesture_d->pinch_job = ecore_job_add(__gl_gesture_zoom_in_job_cb,
+                                                                    data);
+                       } else {
+                               gl_dbgW("Added job pinch zoom in");
+                       }
+
+                       gesture_d->pinch_dis_old = ev->pinch_dis;
+                       ev->pinch_dis = 0;
+               }
+               ev->pinch_dis += (dis_old - dis_new);
+       }
+       gl_dbg("dis_new: %d, dis_old: %d, pinch_dis %d", dis_new, dis_old,
+              ev->pinch_dis);
+
+       /* Reset dis_old value */
+       gesture_d->dis_old = dis_new;
+}
+
+static void __gl_gesture_del_cb(void *data, Evas *e, Evas_Object *obj,
+                            void *ei)
+{
+       gl_dbg("Delete gesture ---");
+       if (data) {
+               gl_gesture_s *gesture_d = (gl_gesture_s *)data;
+               GL_IF_DEL_JOB(gesture_d->pinch_job);
+               evas_object_data_del(gesture_d->gesture, GL_GESTURE_KEY_DATA);
+               GL_FREE(gesture_d);
+       }
+       gl_dbg("Delete gesture +++");
+}
+
+Evas_Object *_gl_gesture_add(void *data, Evas_Object *parent)
+{
+       GL_CHECK_NULL(parent);
+       GL_CHECK_NULL(data);
+       Evas_Object *gesture = NULL;
+
+       gesture = evas_object_rectangle_add(evas_object_evas_get(parent));
+       GL_CHECK_NULL(gesture);
+       evas_object_color_set(gesture, 0, 0, 0, 0);
+
+       gl_gesture_s *gesture_d = (gl_gesture_s *)calloc(1, sizeof(gl_gesture_s));
+       if (gesture_d == NULL) {
+               evas_object_del(gesture);
+               return NULL;
+       }
+
+       gesture_d->ad = data;
+       gesture_d->parent = parent;
+       gesture_d->gesture = gesture;
+
+       evas_object_event_callback_add(gesture, EVAS_CALLBACK_MOUSE_DOWN,
+                                      __gl_gesture_mouse_down_event,
+                                      gesture_d);
+       evas_object_event_callback_add(gesture, EVAS_CALLBACK_MOUSE_UP,
+                                      __gl_gesture_mouse_up_event, gesture_d);
+       evas_object_event_callback_add(gesture, EVAS_CALLBACK_MOUSE_MOVE,
+                                      __gl_gesture_mouse_move_event,
+                                      gesture_d);
+
+       evas_object_event_callback_add(gesture, EVAS_CALLBACK_MULTI_DOWN,
+                                      __gl_gesture_multi_down_event,
+                                      gesture_d);
+       evas_object_event_callback_add(gesture, EVAS_CALLBACK_MULTI_UP,
+                                      __gl_gesture_multi_up_event, gesture_d);
+       evas_object_event_callback_add(gesture, EVAS_CALLBACK_MULTI_MOVE,
+                                      __gl_gesture_multi_move_event,
+                                      gesture_d);
+
+       evas_object_data_set(gesture, GL_GESTURE_KEY_DATA, (void *)gesture_d);
+       evas_object_event_callback_add(gesture, EVAS_CALLBACK_DEL,
+                                      __gl_gesture_del_cb, gesture_d);
+       return gesture;
+}
+
+int _gl_gesture_set_zoom_in_cb(Evas_Object *gesture, gl_gesture_cb cb,
+                              void *data)
+{
+       GL_CHECK_VAL(cb, -1);
+       GL_CHECK_VAL(gesture, -1);
+       gl_gesture_s *gesture_d = NULL;
+
+       gesture_d = (gl_gesture_s *)evas_object_data_get(gesture,
+                                                        GL_GESTURE_KEY_DATA);
+       GL_CHECK_VAL(gesture_d, -1);
+       gesture_d->zoom_in_cb = cb;
+       gesture_d->zoom_in_data = data;
+       return 0;
+}
+
+int _gl_gesture_set_zoom_out_cb(Evas_Object *gesture, gl_gesture_cb cb,
+                               void *data)
+{
+       GL_CHECK_VAL(cb, -1);
+       GL_CHECK_VAL(gesture, -1);
+       gl_gesture_s *gesture_d = NULL;
+
+       gesture_d = (gl_gesture_s *)evas_object_data_get(gesture,
+                                                        GL_GESTURE_KEY_DATA);
+       GL_CHECK_VAL(gesture_d, -1);
+       gesture_d->zoom_out_cb = cb;
+       gesture_d->zoom_out_data = data;
+       return 0;
+}
+
+int _gl_gesture_reset_flags(Evas_Object *gesture)
+{
+       GL_CHECK_VAL(gesture, -1);
+       gl_gesture_s *gesture_d = NULL;
+
+       gesture_d = (gl_gesture_s *)evas_object_data_get(gesture,
+                                                        GL_GESTURE_KEY_DATA);
+       GL_CHECK_VAL(gesture_d, -1);
+       GL_IF_DEL_JOB(gesture_d->pinch_job);
+       gesture_d->next_plan = GL_PINCH_PLAN_NONE;
+       return 0;
+}
+
+Evas_Object *_gl_gesture_get_parent(Evas_Object *gesture)
+{
+       GL_CHECK_NULL(gesture);
+       gl_gesture_s *gesture_d = NULL;
+
+       gesture_d = (gl_gesture_s *)evas_object_data_get(gesture,
+                                                        GL_GESTURE_KEY_DATA);
+       GL_CHECK_NULL(gesture_d);
+       return gesture_d->parent;
+}
+
diff --git a/src/widget/gl-nocontents.c b/src/widget/gl-nocontents.c
new file mode 100644 (file)
index 0000000..4395aa5
--- /dev/null
@@ -0,0 +1,67 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#include "gl-nocontents.h"
+#include "gl-ui-util.h"
+#include "gl-util.h"
+#include "gl-icons.h"
+#include "gl-strings.h"
+#include "gl-debug.h"
+
+/**
+ * Create Nocontents.
+ */
+Evas_Object *_gl_nocontents_create(Evas_Object *parent)
+{
+       GL_CHECK_NULL(parent);
+       Evas_Object *noc_lay = NULL;
+       /* Full view nocontents */
+       noc_lay = elm_layout_add(parent);
+       GL_CHECK_NULL(noc_lay);
+       elm_layout_theme_set(noc_lay, "layout", "nocontents", "text");
+       Evas_Object *icon = elm_image_add(noc_lay);
+       GL_ICON_SET_FILE(icon, GL_ICON_NOCONGENTS_VIDEOS);
+       elm_object_part_content_set(noc_lay, "nocontents.image", icon);
+
+       _gl_ui_set_translate_part_str(noc_lay, "elm.text", _gl_str(GL_STR_ID_NO_ITEMS));
+       _gl_ui_set_translate_part_str(noc_lay, "elm.help.text", _gl_str(GL_STR_ID_NO_ITEMS_SECOND));
+       elm_layout_signal_emit(noc_lay, "text,disabled", "");
+       elm_layout_signal_emit(noc_lay, "align.center", "elm");
+       return noc_lay;
+}
+
+/**
+ * Update label of Nocontents.
+ */
+bool _gl_nocontents_update_label(Evas_Object *noc, const char *new_label)
+{
+       GL_CHECK_VAL(new_label, -1);
+       GL_CHECK_VAL(noc, -1);
+       const char *label = NULL;
+
+       label = elm_object_part_text_get(noc, GL_NOCONTENTS_TEXT);
+       GL_CHECK_VAL(label, -1);
+       gl_dbg("Nocontents label: %s", label);
+       /* Update label if they're different */
+       if (g_strcmp0(label, GL_STR_NO_ALBUMS)) {
+               gl_dbgW("Update nocontents label!");
+               elm_object_part_text_set(noc, GL_NOCONTENTS_TEXT, new_label);
+               return true;
+       }
+       return false;
+}
+
diff --git a/src/widget/gl-notify.c b/src/widget/gl-notify.c
new file mode 100644 (file)
index 0000000..2bc5c9d
--- /dev/null
@@ -0,0 +1,144 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+#include <time.h>
+#include <sys/time.h>
+#include <notification.h>
+#include <bundle.h>
+#include "gl-notify.h"
+#include "gl-thumbs.h"
+#include "gl-thumbs-sel.h"
+#include "gl-pinchzoom.h"
+#include "gl-controlbar.h"
+#include "gl-thread-util.h"
+#include "gl-ui-util.h"
+#include "gl-util.h"
+#include "gl-strings.h"
+#include "gl-debug.h"
+#include "gl-ext-exec.h"
+
+typedef struct _gl_noti_t gl_noti_s;
+struct _gl_noti_t {
+       notification_h handle;
+       int priv_id;
+};
+
+int _gl_notify_create_notiinfo(const char *text)
+{
+       GL_CHECK_VAL(text, -1);
+       int ret = notification_status_message_post(text);
+       if (ret != 0)
+               gl_sdbgE("status_message_post()... [0x%x]!", ret);
+       return ret;
+}
+
+/**
+* Check select-all widget state.
+*/
+int _gl_notify_check_selall(void *data, Elm_Object_Item *nf_it, int all_cnt,
+                           int selected_cnt)
+{
+       GL_CHECK_VAL(data, -1);
+       GL_CHECK_VAL(nf_it, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       int view_mode = gl_get_view_mode(ad);
+
+       gl_dbg("selected_cnt/all_cnt = %d/%d", selected_cnt, all_cnt);
+       if (selected_cnt > all_cnt) {
+               gl_dbgE("selected_cnt > all_cnt!");
+               return -1;
+       } else if (selected_cnt == all_cnt) {
+               ad->selinfo.ck_state = EINA_TRUE;
+       } else {
+               ad->selinfo.ck_state = EINA_FALSE;
+       }
+
+       if (ad->selinfo.selectall_ck) {
+               elm_check_state_set(ad->selinfo.selectall_ck, ad->selinfo.ck_state);
+       }
+       if (selected_cnt > 0) {
+               /* Enable/Disable control bar buttons */
+               _gl_ctrl_enable_btns(ad, nf_it);
+               _gl_thumbs_disable_slideshow(ad, false);
+       } else if (view_mode == GL_VIEW_THUMBS_SELECT) {
+               /* Disable control bar buttons */
+               _gl_thumbs_sel_disable_btns(data, true);
+       } else {
+               /* Disable control bar buttons */
+               _gl_ui_disable_menu(nf_it, true);
+               _gl_ctrl_disable_items(nf_it, true);
+               _gl_thumbs_disable_slideshow(ad, true);
+       }
+
+       return 0;
+}
+
+int _gl_notify_destroy(void *noti)
+{
+       GL_CHECK_VAL(noti, -1);
+       gl_noti_s *noti_d = noti;
+
+       if (noti_d->handle) {
+               int err = 0;
+               err = notification_delete(noti_d->handle);
+               if (err != NOTIFICATION_ERROR_NONE) {
+                       gl_dbgE("notification_delete().. [0x%x]", err);
+               }
+
+               err = notification_free(noti_d->handle);
+               if (err != NOTIFICATION_ERROR_NONE) {
+                       gl_dbgE("notification_free().. [0x%x]", err);
+               }
+       }
+       noti_d->handle = NULL;
+       GL_GFREE(noti_d);
+       return 0;
+}
+
+int _gl_notify_update_size(void *noti, unsigned long long total)
+{
+       GL_CHECK_VAL(noti, -1);
+       gl_noti_s *noti_d = noti;
+       GL_CHECK_VAL(noti_d->handle, -1);
+       gl_dbg("%lld", total);
+
+       int err = 0;
+       err = notification_set_size(noti_d->handle, (double)total);
+       if (err != NOTIFICATION_ERROR_NONE) {
+               gl_dbgE("notification_update_size().. [0x%x]", err);
+               return -1;
+       }
+       return 0;
+}
+
+int _gl_notify_update_progress(void *noti, unsigned long long total,
+                              unsigned long long byte)
+{
+       GL_CHECK_VAL(noti, -1);
+       gl_noti_s *noti_d = noti;
+       GL_CHECK_VAL(noti_d->handle, -1);
+       gl_dbg("%lld/%lld", byte, total);
+
+       int err = 0;
+       double progress = (double)byte / total;
+       err = notification_set_progress(noti_d->handle, progress);
+       if (err != NOTIFICATION_ERROR_NONE) {
+               gl_dbgE("notification_update_progress().. [0x%x]", err);
+               return -1;
+       }
+       return 0;
+}
+
diff --git a/src/widget/gl-popup.c b/src/widget/gl-popup.c
new file mode 100644 (file)
index 0000000..ea3999a
--- /dev/null
@@ -0,0 +1,1780 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+#include "gallery.h"
+#include "gl-popup.h"
+#include "gl-ui-util.h"
+#include "gl-util.h"
+#include "gl-debug.h"
+#include "gl-albums.h"
+#include "gl-albums-new.h"
+#include "gl-progressbar.h"
+#include "gl-strings.h"
+#include "gl-button.h"
+#include "gl-controlbar.h"
+#include "gl-editfield.h"
+#include "gl-ctxpopup.h"
+#include "gl-thumbs.h"
+#include "gl-timeline.h"
+
+enum  gl_popup_obj_del_cb_type{
+       GL_POPUP_OBJ_DEL_CB_TYPE_ITEM,
+       GL_POPUP_OBJ_DEL_CB_TYPE_ALBUM
+};
+
+#define GL_POPUP_GENLIST_ITEM_W 618
+
+#define GL_POPUP_TIMEOUT_1S 1.0
+#define GL_POPUP_TIMEOUT_2S 2.0
+#define GL_POPUP_TIMEOUT_3S 3.0
+#define GL_POPUP_OBJ_DATA_KEY "gl_popup_data_key"
+#define GL_POPUP_OBJ_DEL_CB_KEY "gl_popup_cb_key"
+#define GL_POPUP_OBJ_DEL_CB_DATA_KEY "gl_popup_cb_data_key"
+#define GL_POPUP_OBJ_DEL_CB_TYPE_KEY "gl_popup_cb_type_key"
+#define GL_POPUP_GENLIST_DATA_KEY "gl_popup_genlist_data_key"
+#define SETTINGS_STORAGE_UG_NAME "setting-storage-efl"
+#define GL_POPUP_GENLIST_HEIGHT_HD 260
+#define GL_POPUP_GENLIST_WIDTH_HD 630
+#define GL_POPUP_GENLIST_HEIGHT_QHD 185
+#define GL_POPUP_GENLIST_WIDTH_QHD 450
+#define GL_POPUP_GENLIST_HEIGHT_WVGA 202
+#define GL_POPUP_GENLIST_WIDTH_WVGA 480
+
+typedef struct _gl_popup_t gl_popup_s;
+typedef struct _gl_popup_menu_t gl_popup_menu_s;
+typedef struct _gl_popup_resize_t gl_popup_resize_s;
+
+struct _gl_popup_t {
+       gl_appdata *ad;
+       Evas_Object *popup;
+       Evas_Smart_Cb cb1;
+       Evas_Smart_Cb cb2;
+       Evas_Smart_Cb cb3;
+       const void *data1;
+       const void *data2;
+       const void *data3;
+};
+
+struct _gl_popup_menu_t {
+       gl_appdata *ad;
+       Evas_Object *popup;
+       void *op_func;
+};
+
+struct _gl_popup_resize_t {
+       gl_appdata *ad;
+       Evas_Object *genlist;
+       Evas_Object *box;
+       Ecore_Job *job;
+       int item_height;
+};
+
+static void __gl_popup_resp(void *data, const char *text);
+
+static void __gl_popup_genlist_lang_changed(void *data, Evas_Object *obj, void *ei)
+{
+       GL_CHECK(obj);
+       elm_genlist_realized_items_update(obj);
+}
+
+/* Delete popup contents */
+static int __gl_popup_clear_content(Evas_Object *popup)
+{
+       GL_CHECK_VAL(popup, -1);
+       gl_dbg("");
+
+       Evas_Object *content = elm_object_content_get(popup);
+       GL_CHECK_VAL(content, -1);
+       Eina_List *chidren = elm_box_children_get(content);
+       GL_CHECK_VAL(chidren, -1);
+       Evas_Object *genlist = eina_list_nth(chidren, 0);
+       GL_CHECK_VAL(genlist, -1);
+       elm_genlist_clear(genlist);
+       elm_box_clear(content);
+       return 0;
+}
+
+static Eina_Bool __gl_popup_timeout_cb(void *data)
+{
+       GL_CHECK_FALSE(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_IF_DEL_TIMER(ad->popupinfo.del_timer);
+       GL_IF_DEL_OBJ(ad->popupinfo.popup);
+       return ECORE_CALLBACK_CANCEL;
+}
+
+static int __gl_popup_add_timer(void *data, double to_inc)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_IF_DEL_TIMER(ad->popupinfo.del_timer);
+       ad->popupinfo.del_timer = ecore_timer_add(to_inc, __gl_popup_timeout_cb,
+                                                 data);
+       return 0;
+}
+
+static void __gl_popup_del_resp_cb(void *data, Evas_Object *obj,
+                                  void *event_info)
+{
+       GL_CHECK(obj);
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       const char *text = NULL;
+
+       text = elm_object_text_get(obj);
+       GL_CHECK(text);
+       gl_dbg("Button: %s", text);
+
+       if (!g_strcmp0(text, GL_STR_DELETE)) {
+               void *del_cb = evas_object_data_get(ad->popupinfo.popup,
+                                                   GL_POPUP_OBJ_DEL_CB_KEY);
+               void *cb_data = evas_object_data_get(ad->popupinfo.popup,
+                                                    GL_POPUP_OBJ_DEL_CB_DATA_KEY);
+               GL_IF_DEL_OBJ(ad->popupinfo.popup);
+               if (del_cb && cb_data) {
+                       int (*_del_cb) (void *cb_data);
+                       _del_cb = del_cb;
+                       _del_cb(cb_data);
+               } else {
+                       gl_dbgE("Invalid callback!");
+               }
+       } else {
+               __gl_popup_resp(data, text);
+       }
+}
+
+static void __gl_popup_resp(void *data, const char *text)
+{
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       int mode = ad->popupinfo.mode;
+       GL_CHECK(text);
+       gl_dbg("Button: %s, mode: %d", text, mode);
+
+       switch (mode) {
+       case GL_POPUP_ALBUM_NEW_EMPTY:
+       case GL_POPUP_ALBUM_NEW_DUPLICATE:
+       case GL_POPUP_ALBUM_NEW_INVALID:
+       case GL_POPUP_ALBUM_RENAME_EMPTY:
+       case GL_POPUP_ALBUM_RENAME_DUPLICATE:
+       case GL_POPUP_ALBUM_RENAME_INVALID:
+               if (!g_strcmp0(text, _gl_str(GL_STR_ID_YES)) ||
+                   !g_strcmp0(text, _gl_str(GL_STR_ID_OK)))
+                       _gl_editfield_show_imf(data);
+               else if (!g_strcmp0(text, _gl_str(GL_STR_ID_NO)) ||
+                          !g_strcmp0(text, _gl_str(GL_STR_ID_CANCEL)))
+                       elm_naviframe_item_pop(ad->maininfo.naviframe);
+               break;
+       case GL_POPUP_NOBUT_APPEXIT:
+               if (ad->popupinfo.popup) {
+                       __gl_popup_clear_content(ad->popupinfo.popup);
+                       evas_object_del(ad->popupinfo.popup);
+                       ad->popupinfo.popup = NULL;
+               }
+               elm_exit();
+               return;
+       case GL_POPUP_SLIDESHOW:
+       case GL_POPUP_LONGPRESSED:
+       case GL_POPUP_MEDIA_DELETE: {
+               _gl_free_selected_list(data);
+               break;
+       }
+       case GL_POPUP_ALBUM_MEMORY_FULL:
+               GL_IF_DEL_OBJ(ad->popupinfo.memory_full_popup);
+               elm_naviframe_item_pop(ad->maininfo.naviframe);
+
+               if (!g_strcmp0(text, _gl_str(GL_STR_SETTINGS))) {
+                       app_control_h app_control;
+                       int ret = 0;
+
+                       ret = app_control_create(&app_control);
+
+                       if (ret != APP_CONTROL_ERROR_NONE) {
+                               gl_dbgE("app_control create failed");
+                               return;
+                       }
+
+                       ret = app_control_set_operation(app_control, APP_CONTROL_OPERATION_VIEW);
+                       if (ret != APP_CONTROL_ERROR_NONE) {
+                               gl_dbgE("app_control_set_operation()... [0x%x]", ret);
+                               goto END;
+                       }
+
+                       ret = app_control_set_app_id(app_control, SETTINGS_STORAGE_UG_NAME);
+                       if (ret != APP_CONTROL_ERROR_NONE) {
+                               gl_dbgE("app_control_set_uri()... [0x%x]", ret);
+                               goto END;
+                       }
+
+                       ret = app_control_send_launch_request(app_control, NULL, NULL);
+                       if (ret != APP_CONTROL_ERROR_NONE) {
+                               gl_dbgE("app_control launch Failed... [0x%x]", ret);
+                               goto END;
+                       }
+END:
+                       if (app_control) {
+                               app_control_destroy(app_control);
+                       }
+               }
+               break;
+       default:
+               break;
+       }
+
+       GL_IF_DEL_OBJ(ad->popupinfo.popup);
+}
+
+static void __gl_popup_resp_cb(void *data, Evas_Object *obj, void *ei)
+{
+       GL_CHECK(data);
+       GL_CHECK(obj);
+
+       const char *text = NULL;
+
+       text = elm_object_text_get(obj);
+       GL_CHECK(text);
+       gl_dbg("Button: %s", text);
+       __gl_popup_resp(data, text);
+}
+
+static void __gl_popup_block_clicked_cb(void *data, Evas_Object *obj, void *ei)
+{
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       _gl_free_selected_list(data);
+       GL_IF_DEL_OBJ(ad->popupinfo.popup);
+}
+
+static void __gl_popup_genlist_delete_cb(void *data, Evas *e, Evas_Object *obj,
+                                        void *ei)
+{
+       gl_dbg("Delete genlist ---");
+       if (obj) {
+               evas_object_data_del(obj, GL_POPUP_OBJ_DATA_KEY);
+               gl_popup_resize_s *resize_d = evas_object_data_get(obj,
+                                                                  GL_POPUP_GENLIST_DATA_KEY);
+               if (resize_d) {
+                       GL_IF_DEL_JOB(resize_d->job);
+                       GL_FREE(resize_d);
+               }
+       }
+       if (data)
+               elm_genlist_item_class_free((Elm_Genlist_Item_Class *)data);
+
+       gl_dbg("Delete genlist +++");
+}
+
+/* This works if mini_menustyle used */
+static int __gl_popup_set_min_size(Evas_Object *box, int cnt)
+{
+       GL_CHECK_VAL(box, -1);
+
+/* #define GENLIST_HEIGHT_1LINE  110  // (114 - top/bottom padding) */
+/*modify the hight to solve the pop up scroll issue*/
+#define GL_POPUP_GENLIST_ITEM_H 114
+#define GL_POPUP_GENLIST_ITEM_H2 136
+
+       int item_height = GL_POPUP_GENLIST_ITEM_H;
+       int font_size = _gl_get_font_size();
+       gl_dbg("font size: %d", font_size);
+       if (font_size == 4)
+               item_height = GL_POPUP_GENLIST_ITEM_H2;
+       int min_h = 0;
+       if (cnt > 3)
+               min_h = item_height * 4;
+       else
+               min_h = item_height * cnt;
+
+       evas_object_size_hint_min_set(box,
+                                     GL_POPUP_GENLIST_ITEM_W * elm_config_scale_get(),
+                                     min_h * elm_config_scale_get());
+       return item_height;
+}
+
+static void __gl_popup_mouseup_cb(void *data, Evas *e, Evas_Object *obj,
+                                 void *event_info)
+{
+       gl_dbg("");
+       GL_CHECK(data);
+       GL_CHECK(event_info);
+       Evas_Event_Mouse_Up *ev = event_info;
+       if (ev->button == 3) {
+               gl_dbg("Delete popup!");
+               __gl_popup_resp(data, GL_STR_ID_CANCEL);
+       }
+}
+
+/*static void __gl_popup_keydown_cb(void *data, Evas *e, Evas_Object *obj,
+                                 void *event_info)
+{
+       gl_dbg("");
+       GL_CHECK(data);
+       GL_CHECK(event_info);
+       Evas_Event_Key_Down *ev = event_info;
+       if (!strcmp(ev->keyname, KEY_BACK)) {
+               gl_dbg("Delete popup!");
+               __gl_popup_resp(data, _gl_str(GL_STR_ID_CANCEL));
+       }
+}*/
+
+
+/* We need to perform cancellation, not just delete popup */
+static inline void __gl_popup_ea_back_cb(void *data, Evas_Object *obj, void *ei)
+{
+       gl_dbg("Use customized callback");
+       __gl_popup_resp(data, _gl_str(GL_STR_ID_CANCEL));
+}
+
+static void __gl_popup_local_resp_cb(void *data, Evas_Object *obj, void *ei)
+{
+       evas_object_del((Evas_Object *)data);
+}
+
+static void __gl_popup_local_mouseup_cb(void *data, Evas *e, Evas_Object *obj, void *ei)
+{
+       gl_dbg("");
+       GL_CHECK(data);
+       GL_CHECK(ei);
+       Evas_Event_Mouse_Up *ev = ei;
+       if (ev->button == 3) {
+               gl_dbg("Delete popup!");
+               GL_IF_DEL_OBJ(obj);
+       }
+}
+
+/*static void __gl_popup_local_keydown_cb(void *data, Evas *e, Evas_Object *obj,  void *ei)
+{
+       gl_dbg("");
+       GL_CHECK(data);
+       GL_CHECK(ei);
+       Evas_Event_Key_Down *ev = ei;
+       if (!strcmp(ev->keyname, KEY_BACK)) {
+               gl_dbg("Delete popup!");
+               GL_IF_DEL_OBJ(obj);
+       }
+}*/
+
+static void __gl_popup_local_delete_cb(void *data, Evas *e, Evas_Object *obj, void *ei)
+{
+       gl_dbg("Delete popup ---");
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_IF_DEL_TIMER(ad->popupinfo.del_timer);
+       evas_object_event_callback_del(obj, EVAS_CALLBACK_MOUSE_UP,
+                                      __gl_popup_local_mouseup_cb);
+       /* Disable EVAS_CALLBACK_KEY_DOWN event */
+       /*evas_object_event_callback_del(obj, EVAS_CALLBACK_KEY_DOWN,
+                                      __gl_popup_local_keydown_cb);*/
+       _gl_editfield_show_imf(data);
+       gl_dbg("Delete popup +++");
+}
+
+static void __gl_popup_local_block_clicked_cb(void *data, Evas_Object *obj, void *ei)
+{
+       GL_IF_DEL_OBJ(obj);
+}
+
+static Eina_Bool __gl_popup_local_timeout_cb(void *data)
+{
+       GL_CHECK_CANCEL(data);
+       Evas_Object *popup = (Evas_Object *)data;
+       gl_appdata *ad = (gl_appdata *)evas_object_data_get(popup,
+                                                           GL_POPUP_OBJ_DATA_KEY);
+       GL_IF_DEL_OBJ(popup);
+
+       GL_CHECK_CANCEL(ad);
+       GL_IF_DEL_TIMER(ad->popupinfo.del_timer);
+       return ECORE_CALLBACK_CANCEL;
+}
+
+static Evas_Object *__gl_popup_add(Evas_Object *parent, const char *style,
+                                  const char *title, const char *text,
+                                  void *data)
+{
+       GL_CHECK_NULL(parent);
+       Evas_Object *popup = elm_popup_add(parent);
+       GL_CHECK_NULL(popup);
+       if (style)
+               elm_object_style_set(popup, style);
+       if (title)
+               _gl_ui_set_translate_part_str(popup, "title,text", title);
+       if (text)
+               _gl_ui_set_translate_str(popup, text);
+       evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND,
+                                        EVAS_HINT_EXPAND);
+
+       /*Add callback for Hardware Key*/
+       evas_object_event_callback_add(popup, EVAS_CALLBACK_MOUSE_UP,
+                                      __gl_popup_mouseup_cb, data);
+       /* Disable EVAS_CALLBACK_KEY_DOWN event */
+       /*evas_object_event_callback_add(popup, EVAS_CALLBACK_KEY_DOWN,
+                                      __gl_popup_keydown_cb, data);*/
+       /*Delete the Popup if the Popup has a BACK event.*/
+       eext_object_event_callback_add(popup, EEXT_CALLBACK_BACK,
+                                    __gl_popup_ea_back_cb, data);
+       return popup;
+}
+
+static Evas_Object *__gl_popup_add_local(Evas_Object *parent, const char *style,
+                                  const char *title, const char *text,
+                                  void *data)
+{
+       GL_CHECK_NULL(parent);
+       Evas_Object *popup = elm_popup_add(parent);
+       GL_CHECK_NULL(popup);
+       if (style)
+               elm_object_style_set(popup, style);
+       if (title)
+               _gl_ui_set_translate_part_str(popup, "title,text", title);
+       if (text)
+               _gl_ui_set_translate_str(popup, text);
+       evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND,
+                                        EVAS_HINT_EXPAND);
+
+       /*Add callback for Hardware Key*/
+       evas_object_event_callback_add(popup, EVAS_CALLBACK_MOUSE_UP,
+                                      __gl_popup_local_mouseup_cb, data);
+       /* Disable EVAS_CALLBACK_KEY_DOWN event */
+       /*evas_object_event_callback_add(popup, EVAS_CALLBACK_KEY_DOWN,
+                                      __gl_popup_local_keydown_cb, data);*/
+       /*Delete the Popup if the Popup has a BACK event.*/
+       eext_object_event_callback_add(popup, EEXT_CALLBACK_BACK,
+                                    eext_popup_back_cb, NULL);
+       return popup;
+}
+
+static void __gl_popup_genlist_realized(void *data, Evas_Object *obj, void *ei)
+{
+       if (elm_genlist_first_item_get(obj) == ei) {
+               gl_dbg("Emit signal");
+               evas_object_smart_callback_call(obj, "popup,genlist,realized",
+                                               data);
+       }
+}
+
+static Evas_Object *__gl_popup_add_genlist(void *data, Evas_Object *parent,
+                                          const char *style,
+                                          Elm_Gen_Item_Text_Get_Cb text_get,
+                                          Elm_Gen_Item_Content_Get_Cb content_get,
+                                          void *append_func)
+{
+       GL_CHECK_NULL(parent);
+
+       /* Set item of Genlist.*/
+       Elm_Genlist_Item_Class *gic = NULL;
+       gic = elm_genlist_item_class_new();
+       GL_CHECK_NULL(gic);
+       gic->item_style = style;
+       gic->func.text_get = text_get;
+       gic->func.content_get = content_get;
+       gic->func.state_get = NULL;
+       gic->func.del = NULL;
+
+       /* Create genlist */
+       Evas_Object *genlist = elm_genlist_add(parent);
+       if (genlist == NULL) {
+               elm_genlist_item_class_free(gic);
+               return NULL;
+       }
+       evas_object_smart_callback_add(genlist, "realized",
+                                      __gl_popup_genlist_realized, data);
+       /* Register delete callback */
+       evas_object_event_callback_add(genlist, EVAS_CALLBACK_DEL,
+                                      __gl_popup_genlist_delete_cb,
+                                      (void *)gic);
+       evas_object_smart_callback_add(genlist, "language,changed",
+                                      __gl_popup_genlist_lang_changed, NULL);
+       evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND,
+                                        EVAS_HINT_EXPAND);
+       evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL,
+                                       EVAS_HINT_FILL);
+       if (append_func) {
+               void (*append_cb) (void *popup_data, Evas_Object *gl, Elm_Genlist_Item_Class *gic);
+               append_cb = append_func;
+               append_cb(data, genlist, gic);
+       }
+
+       if (elm_genlist_items_count(genlist) <= 3)
+               elm_scroller_policy_set(genlist, ELM_SCROLLER_POLICY_OFF,
+                                       ELM_SCROLLER_POLICY_OFF);
+       return genlist;
+}
+
+static void __gl_popup_delete_cb(void *data, Evas *e, Evas_Object *obj, void *ei)
+{
+       gl_dbg("Delete popup ---");
+       evas_object_event_callback_del(obj, EVAS_CALLBACK_MOUSE_UP,
+                                      __gl_popup_mouseup_cb);
+       /* Disable EVAS_CALLBACK_KEY_DOWN event */
+       /*evas_object_event_callback_del(obj, EVAS_CALLBACK_KEY_DOWN,
+                                      __gl_popup_keydown_cb);*/
+       GL_FREEIF(data);
+       gl_dbg("Delete popup +++");
+}
+
+static void __gl_popup_menu_delete_cb(void *data, Evas *e, Evas_Object *obj,
+                                      void *ei)
+{
+       gl_dbg("Delete popup ---");
+
+       evas_object_event_callback_del(obj, EVAS_CALLBACK_MOUSE_UP,
+                                      __gl_popup_mouseup_cb);
+       /* Disable EVAS_CALLBACK_KEY_DOWN event */
+       /*evas_object_event_callback_del(obj, EVAS_CALLBACK_KEY_DOWN,
+                                      __gl_popup_keydown_cb);*/
+       /* Remove key data for popup */
+       evas_object_data_del(obj, GL_POPUP_OBJ_DATA_KEY);
+
+       GL_FREEIF(data);
+       gl_dbg("Delete popup +++");
+}
+
+static void __gl_popup_menu_sel_cb(void *data, Evas_Object *obj, void *ei)
+{
+       GL_CHECK(ei);
+       GL_CHECK(data);
+       gl_popup_menu_s *share_d = (gl_popup_menu_s *)data;
+       GL_CHECK(share_d->ad);
+       gl_appdata *ad = share_d->ad;
+       char *id = NULL;
+
+       id = (char *)elm_object_item_data_get(ei);
+       GL_CHECK(id);
+       gl_sdbg("label id: %s", id);
+
+       int (*op_cb) (void *data, const char *label) = NULL;
+       if (share_d->op_func) {
+               op_cb = share_d->op_func;
+       }
+       GL_IF_DEL_OBJ(ad->popupinfo.popup);
+       ad->popupinfo.mode = GL_POPUP_NOBUT;
+       if (op_cb)
+               op_cb(ad, _gl_str(id));
+}
+
+static char *__gl_popup_menu_get_text(void *data, Evas_Object *obj,
+                                      const char *part)
+{
+       if (!strcmp(part, "elm.text")) {
+               char *str = NULL;
+               GL_CHECK_NULL(data);
+               str = _gl_str((char *)data);
+               if (str)
+                       return strdup(str);
+       }
+       return NULL;
+}
+
+#ifdef SUPPORT_SLIDESHOW
+static void __gl_popup_slideshow_append(void *data, Evas_Object *gl,
+                                       Elm_Genlist_Item_Class *gic)
+{
+       GL_CHECK(gic);
+       GL_CHECK(gl);
+       GL_CHECK(data);
+       gl_dbg("append items");
+
+       elm_genlist_item_append(gl, gic, (void *)GL_STR_ID_ALL_ITEMS,
+                               NULL, ELM_GENLIST_ITEM_NONE,
+                               __gl_popup_menu_sel_cb, data);
+       elm_genlist_item_append(gl, gic, (void *)GL_STR_ID_SELECT_ITEMS,
+                               NULL, ELM_GENLIST_ITEM_NONE,
+                               __gl_popup_menu_sel_cb, data);
+       elm_genlist_item_append(gl, gic, (void *)GL_STR_ID_SETTINGS,
+                               NULL, ELM_GENLIST_ITEM_NONE,
+                               __gl_popup_menu_sel_cb, data);
+}
+#endif
+
+#if 0
+static void __gl_popup_album_longpressed_append(void *data, Evas_Object *gl,
+                                               Elm_Genlist_Item_Class *gic)
+{
+       GL_CHECK(gic);
+       GL_CHECK(gl);
+       GL_CHECK(data);
+       gl_dbg("append items");
+       gl_popup_menu_s *share_d = (gl_popup_menu_s *)data;
+       GL_CHECK(share_d->ad);
+       gl_appdata *ad = share_d->ad;
+       gl_cluster *album = _gl_albums_get_current(ad);
+       GL_CHECK(album);
+
+       elm_genlist_item_append(gl, gic, (void *)GL_STR_ID_SHARE,
+                               NULL, ELM_GENLIST_ITEM_NONE,
+                               __gl_popup_menu_sel_cb, data);
+#ifdef SUPPORT_SLIDESHOW
+       elm_genlist_item_append(gl, gic, (void *)GL_STR_ID_SLIDESHOW,
+                               NULL, ELM_GENLIST_ITEM_NONE,
+                               __gl_popup_menu_sel_cb, data);
+#endif
+
+       if (GL_STORE_T_ALL != album->cluster->type)
+               elm_genlist_item_append(gl, gic, (void *)GL_STR_ID_DELETE,
+                                       NULL, ELM_GENLIST_ITEM_NONE,
+                                       __gl_popup_menu_sel_cb, data);
+       if ((GL_STORE_T_PHONE == album->cluster->type ||
+           GL_STORE_T_MMC == album->cluster->type) &&
+           !_gl_data_is_camera_album(album->cluster))
+               elm_genlist_item_append(gl, gic, (void *)GL_STR_ID_RENAME,
+                                       NULL, ELM_GENLIST_ITEM_NONE,
+                                       __gl_popup_menu_sel_cb, data);
+}
+#endif
+
+static void __gl_popup_thumb_longpressed_append(void *data, Evas_Object *gl,
+                                               Elm_Genlist_Item_Class *gic)
+{
+       GL_CHECK(gic);
+       GL_CHECK(gl);
+       GL_CHECK(data);
+       gl_dbg("append items");
+       gl_popup_menu_s *share_d = (gl_popup_menu_s *)data;
+       GL_CHECK(share_d->ad);
+       gl_appdata *ad = share_d->ad;
+       GL_CHECK(ad->selinfo.elist);
+       gl_item *gitem = (gl_item *)eina_list_nth(ad->selinfo.elist, 0);
+       GL_CHECK(gitem);
+       GL_CHECK(gitem->item);
+       gl_dbg("item storage type: %d", gitem->item->storage_type);
+       elm_genlist_item_append(gl, gic, (void *)GL_STR_ID_SHARE,
+                       NULL, ELM_GENLIST_ITEM_NONE,
+                       __gl_popup_menu_sel_cb, data);
+       if ((GL_STORE_T_PHONE == gitem->item->storage_type ||
+           GL_STORE_T_MMC == gitem->item->storage_type) &&
+           MEDIA_CONTENT_TYPE_IMAGE == gitem->item->type)
+               elm_genlist_item_append(gl, gic, (void *)GL_STR_ID_EDIT,
+                                       NULL, ELM_GENLIST_ITEM_NONE,
+                                       __gl_popup_menu_sel_cb, data);
+       if (GL_STORE_T_PHONE == gitem->item->storage_type ||
+           GL_STORE_T_MMC == gitem->item->storage_type) {
+                      elm_genlist_item_append(gl, gic, (void *)GL_STR_ID_DELETE,
+                                              NULL, ELM_GENLIST_ITEM_NONE,
+                                              __gl_popup_menu_sel_cb, data);
+       }
+
+       if ((GL_STORE_T_PHONE == gitem->item->storage_type ||
+           GL_STORE_T_MMC == gitem->item->storage_type)) {
+               elm_genlist_item_append(gl, gic, (void *)GL_STR_ID_MOVE,
+                                       NULL, ELM_GENLIST_ITEM_NONE,
+                                       __gl_popup_menu_sel_cb, data);
+               elm_genlist_item_append(gl, gic, (void *)GL_STR_ID_COPY,
+                                       NULL, ELM_GENLIST_ITEM_NONE,
+                                       __gl_popup_menu_sel_cb, data);
+       }
+       /*
+       if (MEDIA_CONTENT_TYPE_IMAGE == gitem->item->type)
+               elm_genlist_item_append(gl, gic, (void *)GL_STR_ID_DETAILS,
+                                       NULL, ELM_GENLIST_ITEM_NONE,
+                                       __gl_popup_menu_sel_cb, data);*/
+}
+
+static void __gl_popup_btn_new_album_cb(void *data, Evas_Object *obj, void *ei)
+{
+       gl_dbg("");
+       GL_CHECK(data);
+       gl_popup_menu_s *menu_d = NULL;
+       menu_d = (gl_popup_menu_s *)data;
+       GL_CHECK(menu_d->ad);
+       gl_appdata *ad = menu_d->ad;
+
+       _gl_albums_new_create_view(ad, menu_d->op_func);
+       ad->popupinfo.mode = GL_POPUP_NOBUT;
+}
+
+static void __gl_popup_move_cb(void *data, Evas_Object *obj, void *ei)
+{
+       gl_dbg("");
+       /* Get 'menu data' via 'GL_POPUP_OBJ_DATA_KEY' */
+       GL_CHECK(obj);
+       gl_popup_menu_s *menu_d = NULL;
+       menu_d = (gl_popup_menu_s *)evas_object_data_get(obj, GL_POPUP_OBJ_DATA_KEY);
+       GL_CHECK(menu_d);
+       GL_CHECK(menu_d->ad);
+       gl_appdata *ad = menu_d->ad;
+       GL_FREEIF(ad->albuminfo.path);
+
+       if (data) {
+               GL_CHECK(menu_d->op_func);
+               ad->albuminfo.path = strdup((char *)data);
+               gl_sdbg("Dest album path: %s", ad->albuminfo.path);
+               int (*mc_cb)(void *data);
+               mc_cb = menu_d->op_func;
+               mc_cb(ad);
+       }
+
+       GL_IF_DEL_OBJ(ad->popupinfo.popup);
+       ad->popupinfo.mode = GL_POPUP_NOBUT;
+}
+
+static void __gl_popup_move_append(void *data, Evas_Object *gl,
+                                       Elm_Genlist_Item_Class *gic)
+{
+       GL_CHECK(gic);
+       GL_CHECK(gl);
+       GL_CHECK(data);
+       gl_popup_menu_s *menu_d = (gl_popup_menu_s *)data;
+       GL_CHECK(menu_d->ad);
+       gl_appdata *ad = menu_d->ad;
+       GL_CHECK(menu_d->op_func);
+       GL_CHECK(ad->maininfo.naviframe);
+       int i = 0;
+       Eina_List *album_list = NULL;
+       int all_count = 0;
+       char *label = NULL;
+       gl_cluster *album = NULL;
+       gl_cluster *cur_album = _gl_albums_get_current(ad);
+       evas_object_data_set(gl, GL_POPUP_OBJ_DATA_KEY, menu_d);
+       /*elm_genlist_item_append(gl, gic, (void *)GL_STR_ID_NEW_ALBUM,
+                               NULL, ELM_GENLIST_ITEM_NONE,
+                               __gl_popup_move_cb, NULL);*/
+
+       if (ad->albuminfo.elist && ad->albuminfo.elist->clist) {
+               album_list = ad->albuminfo.elist->clist;
+               all_count = eina_list_count(album_list);
+       } else {
+               gl_dbgE("cluster list is NULL");
+               return;
+       }
+
+       gl_dbg("cluster list length: %d", all_count);
+       for (i = 0; i < all_count; i++) {
+               album = eina_list_nth(album_list, i);
+               GL_CHECK(album);
+               GL_CHECK(album->cluster);
+               GL_CHECK(album->cluster->display_name);
+               GL_CHECK(album->cluster->uuid);
+
+               if (cur_album && cur_album->cluster &&
+                   cur_album->cluster->uuid &&
+                   !g_strcmp0(album->cluster->uuid, cur_album->cluster->uuid))
+                       continue;
+               if (album->cluster->type == GL_STORE_T_MMC ||
+                   album->cluster->type == GL_STORE_T_PHONE) {
+                       label = _gl_get_i18n_album_name(album->cluster);
+                       elm_genlist_item_append(gl, gic, (void *)label,
+                                               NULL, ELM_GENLIST_ITEM_NONE,
+                                               __gl_popup_move_cb,
+                                               album->cluster->path);
+               }
+       }
+}
+
+static void __gl_popup_genlist_resize_job_cb(void *data)
+{
+       GL_CHECK(data);
+       gl_popup_resize_s *resize_d = (gl_popup_resize_s *)data;
+       Evas_Object *track = NULL;
+       Elm_Object_Item *item = elm_genlist_first_item_get(resize_d->genlist);
+       track = elm_object_item_track(item);
+       if (track) {
+               Evas_Coord h = 0;
+               evas_object_geometry_get(track, NULL, NULL, NULL, &h);
+               gl_dbg("size diff: %d-%d", h, resize_d->item_height);
+               if (resize_d->item_height != h) {
+                       int cnt = elm_genlist_items_count(resize_d->genlist);
+                       int min_h = 0;
+                       if (cnt > 3)
+                               min_h = h * 4;
+                       else
+                               min_h = h * cnt;
+
+                       evas_object_size_hint_min_set(resize_d->box,
+                                                     GL_POPUP_GENLIST_ITEM_W * elm_config_scale_get(),
+                                                     min_h);
+               }
+       }
+       elm_object_item_untrack(item);
+       GL_IF_DEL_JOB(resize_d->job);
+}
+
+static void __gl_popup_genlist_realized_resize(void *data, Evas_Object *obj, void *ei)
+{
+       GL_CHECK(data);
+       gl_popup_resize_s *resize_d = (gl_popup_resize_s *)data;
+       GL_IF_DEL_JOB(resize_d->job);
+       resize_d->job = ecore_job_add(__gl_popup_genlist_resize_job_cb, data);
+}
+
+static int __gl_popup_add_resize_op(gl_appdata *ad, Evas_Object *box, Evas_Object *genlist)
+{
+       gl_popup_resize_s *resize_d = NULL;
+       resize_d = (gl_popup_resize_s *)calloc(1, sizeof(gl_popup_resize_s));
+       GL_CHECK_VAL(resize_d, -1);
+
+       resize_d->box = box;
+       resize_d->genlist = genlist;
+       resize_d->ad = ad;
+       evas_object_smart_callback_add(genlist, "popup,genlist,realized",
+                                      __gl_popup_genlist_realized_resize,
+                                      (void *)resize_d);
+       evas_object_data_set(genlist, GL_POPUP_GENLIST_DATA_KEY,
+                            (void *)resize_d);
+
+       resize_d->item_height = __gl_popup_set_min_size(box,
+                                                       elm_genlist_items_count(genlist));
+       return 0;
+}
+
+/* Title + menustyle(genlist) + one button */
+static int __gl_popup_create_menu(void *data, const char *title,
+                                 void *append_func, void *op_func, int mode)
+{
+       gl_dbg("");
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+
+       if (ad->popupinfo.popup) {
+               gl_dbg("The existed popup is deleted");
+               evas_object_del(ad->popupinfo.popup);
+               ad->popupinfo.popup = NULL;
+       }
+
+       gl_popup_menu_s *menu_d = NULL;
+       menu_d = (gl_popup_menu_s *)calloc(1, sizeof(gl_popup_menu_s));
+       GL_CHECK_VAL(menu_d, -1);
+
+       Evas_Object *box = NULL;
+       Evas_Object *genlist = NULL;
+       Evas_Object *popup = __gl_popup_add(ad->maininfo.win,
+                                           "content_no_vhpad",
+                                           title, NULL, data);
+       if (popup == NULL) {
+               GL_FREE(menu_d);
+               return -1;
+       }
+       /* Register delete callback */
+       evas_object_event_callback_add(popup, EVAS_CALLBACK_DEL,
+                                      __gl_popup_menu_delete_cb, menu_d);
+       menu_d->ad = ad;
+       menu_d->popup = popup;
+       menu_d->op_func = op_func;
+       evas_object_data_set(popup, GL_POPUP_OBJ_DATA_KEY, menu_d);
+
+       box = elm_box_add(popup);
+       evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND,
+                                        EVAS_HINT_EXPAND);
+       /* Create genlist */
+       genlist = __gl_popup_add_genlist(menu_d, box, "1text/popup",
+                                        __gl_popup_menu_get_text, NULL,
+                                        append_func);
+       __gl_popup_add_resize_op(ad, box, genlist);
+
+       elm_box_pack_end(box, genlist);
+       evas_object_show(genlist);
+       evas_object_show(box);
+       elm_object_content_set(popup, box);
+       evas_object_show(popup);
+       ad->popupinfo.popup = popup;
+       ad->popupinfo.mode = mode;
+       return 0;
+}
+
+/* Title + menustyle(genlist) + one button */
+static int __gl_popup_create_album_menu(void *data, const char *title,
+                                 void *append_func, void *op_func, int mode)
+{
+       gl_dbg("");
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+
+       if (ad->popupinfo.popup) {
+               gl_dbg("The existed popup is deleted");
+               evas_object_del(ad->popupinfo.popup);
+               ad->popupinfo.popup = NULL;
+       }
+
+       gl_popup_menu_s *menu_d = NULL;
+       menu_d = (gl_popup_menu_s *)calloc(1, sizeof(gl_popup_menu_s));
+       GL_CHECK_VAL(menu_d, -1);
+
+       Evas_Object *box = NULL;
+       Evas_Object *genlist = NULL;
+       Evas_Object *popup = __gl_popup_add(ad->maininfo.win, NULL,
+                                           title, NULL, data);
+       if (popup == NULL) {
+               GL_FREE(menu_d);
+               return -1;
+       }
+       /* Register delete callback */
+       evas_object_event_callback_add(popup, EVAS_CALLBACK_DEL,
+                                      __gl_popup_menu_delete_cb, menu_d);
+       menu_d->ad = ad;
+       menu_d->popup = popup;
+       menu_d->op_func = op_func;
+       evas_object_data_set(popup, GL_POPUP_OBJ_DATA_KEY, menu_d);
+
+       box = elm_box_add(popup);
+       evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND,
+                                        EVAS_HINT_EXPAND);
+       /* Create genlist */
+       genlist = __gl_popup_add_genlist(menu_d, box, "1text/popup",
+                                        __gl_popup_menu_get_text, NULL,
+                                        append_func);
+
+       if (elm_genlist_items_count(genlist) > 0) {
+//             __gl_popup_add_resize_op(ad, box, genlist);
+               elm_box_pack_end(box, genlist);
+               evas_object_show(genlist);
+               evas_object_show(box);
+
+               elm_object_style_set(popup, "content_no_vhpad");
+               elm_object_content_set(popup, box);
+       } else {
+               GL_IF_DEL_OBJ(genlist);
+               GL_IF_DEL_OBJ(box);
+
+               _gl_ui_set_translate_str(popup, GL_STR_ID_THERE_IS_ONLY_ONE_ALBUM);
+       }
+
+       evas_object_show(popup);
+       ad->popupinfo.popup = popup;
+       ad->popupinfo.mode = mode;
+       return 0;
+}
+
+int _gl_popup_create(void *data, const char *title, const char *text,
+                    const char *str1, Evas_Smart_Cb cb1, const void *data1,
+                    const char *str2, Evas_Smart_Cb cb2, const void *data2,
+                    const char *str3, Evas_Smart_Cb cb3, const void *data3)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+
+       if (ad->popupinfo.popup) {
+               gl_dbg("Delte the existed popup first");
+               evas_object_del(ad->popupinfo.popup);
+               ad->popupinfo.popup = NULL;
+       }
+
+       Evas_Object *popup = NULL;
+       popup = __gl_popup_add(ad->maininfo.win, NULL, title, text, data);
+       GL_CHECK_VAL(popup, -1);
+       gl_popup_s *popup_d = (gl_popup_s *)calloc(1, sizeof(gl_popup_s));
+       if (popup_d == NULL) {
+               gl_dbgE("Calloc failed!");
+               evas_object_del(popup);
+               return -1;
+       }
+       evas_object_data_set(popup, GL_POPUP_OBJ_DATA_KEY, popup_d);
+       /* Register delete callback */
+       evas_object_event_callback_add(popup, EVAS_CALLBACK_DEL,
+                                      __gl_popup_delete_cb, popup_d);
+       popup_d->ad = ad;
+       popup_d->popup = popup;
+
+       if (str1 && cb1) {
+               Evas_Object *btn1 = NULL;
+               btn1 = _gl_but_create_but_popup(popup, str1, cb1,
+                                               data1);
+               elm_object_part_content_set(popup, "button1", btn1);
+               popup_d->cb1 = cb1;
+               popup_d->data1 = data1;
+       }
+       if (str2 && cb2) {
+               Evas_Object *btn2 = NULL;
+               btn2 = _gl_but_create_but_popup(popup, str2, cb2,
+                                               data2);
+               elm_object_part_content_set(popup, "button2", btn2);
+               popup_d->cb2 = cb2;
+               popup_d->data2 = data2;
+       }
+       if (str3 && cb3) {
+               Evas_Object *btn3 = NULL;
+               btn3 = _gl_but_create_but_popup(popup, str3, cb3,
+                                               data3);
+               elm_object_part_content_set(popup, "button3", btn3);
+               popup_d->cb3 = cb3;
+               popup_d->data3 = data3;
+       }
+
+       evas_object_show(popup);
+       ad->popupinfo.popup = popup;
+       return 0;
+}
+
+static void __gl_popup_del_lang_changed(void *data, Evas_Object *obj, void *ei)
+{
+       GL_CHECK(obj);
+       int sel_cnt = (int)data;
+       if (sel_cnt < 1) {
+               gl_dbg("Do not need to update the laungue manual");
+               return;
+       }
+       int del_type = (int)evas_object_data_get(obj,
+                                                  GL_POPUP_OBJ_DEL_CB_TYPE_KEY);
+       char *popup_str = NULL;
+       if (del_type == GL_POPUP_OBJ_DEL_CB_TYPE_ITEM) {
+               popup_str = g_strdup_printf(GL_STR_DELETE_PD_FILES, sel_cnt);
+       } else {
+               popup_str = g_strdup_printf(GL_STR_DELETE_PD_ALBUMS, sel_cnt);
+       }
+       elm_object_text_set(obj, popup_str);
+}
+
+int _gl_popup_create_del(void *data, int mode, void *sel_cb, void *del_cb,
+                        void *cb_data)
+{
+       GL_CHECK_VAL(cb_data, -1);
+       GL_CHECK_VAL(del_cb, -1);
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       int sel_cnt = 0;
+       char *fmt_str = NULL;
+       char *popup_str = NULL;
+       char *one_selected = NULL;
+       char *mul_selected = NULL;
+
+       if (ad->popupinfo.popup != NULL) {
+               gl_dbg("The existed popup is deleted");
+               evas_object_del(ad->popupinfo.popup);
+       }
+
+       if (sel_cb) {
+               int (*_sel_cb) (void *data);
+               _sel_cb = sel_cb;
+               sel_cnt = _sel_cb(cb_data);
+               gl_dbg("mode: %d", mode);
+               switch (mode) {
+               case GL_POPUP_DEL_FILE :
+                       one_selected = GL_STR_ID_DELETE_1_FILE;
+                       mul_selected = GL_STR_DELETE_PD_FILES;
+                       break;
+               case GL_POPUP_DEL_ALBUM:
+                       one_selected = GL_STR_ID_DELETE_1_ALBUM;
+                       mul_selected = GL_STR_DELETE_PD_ALBUMS;
+                       break;
+               default:
+                       gl_dbgE("Wrong delete mode!");
+                       return -1;
+               }
+
+               if (sel_cnt == 1) {
+                       popup_str = g_strdup(one_selected);
+               } else {
+                       fmt_str = mul_selected;
+                       popup_str = g_strdup_printf(fmt_str, sel_cnt);
+               }
+       } else {
+               popup_str = g_strdup(GL_STR_ID_DELETE_COMFIRMATION);
+       }
+       gl_dbg("popup string: %s", popup_str);
+
+       Evas_Object *popup = __gl_popup_add(ad->maininfo.win, NULL,
+                                           GL_STR_ID_DELETE,
+                                           popup_str, data);
+       GL_CHECK_VAL(popup, -1);
+       evas_object_event_callback_add(popup, EVAS_CALLBACK_DEL,
+                                      __gl_popup_delete_cb, NULL);
+
+
+       /*only when sel_cnt > 1, we need to change langue manual*/
+       if (sel_cnt > 1) {
+               evas_object_smart_callback_add(popup, "language,changed",
+                                               __gl_popup_del_lang_changed,
+                                               (void *)sel_cnt);
+               if (mode == GL_POPUP_DEL_FILE)
+                       evas_object_data_set(popup,
+                                             GL_POPUP_OBJ_DEL_CB_TYPE_KEY,
+                                             (void *)GL_POPUP_OBJ_DEL_CB_TYPE_ITEM);
+               else
+                       evas_object_data_set(popup,
+                                             GL_POPUP_OBJ_DEL_CB_TYPE_KEY,
+                                             (void *)GL_POPUP_OBJ_DEL_CB_TYPE_ALBUM);
+       }
+       evas_object_data_set(popup, GL_POPUP_OBJ_DEL_CB_KEY, del_cb);
+       evas_object_data_set(popup, GL_POPUP_OBJ_DEL_CB_DATA_KEY, cb_data);
+
+       Evas_Object *btn1 = NULL;
+       Evas_Object *btn2 = NULL;
+       btn1 = _gl_but_create_but_popup(popup, GL_STR_ID_CANCEL,
+                                       __gl_popup_del_resp_cb, data);
+       btn2 = _gl_but_create_but_popup(popup, GL_STR_ID_DELETE,
+                                       __gl_popup_del_resp_cb, data);
+       elm_object_part_content_set(popup, "button1", btn1);
+       elm_object_part_content_set(popup, "button2", btn2);
+
+       evas_object_show(popup);
+       ad->popupinfo.popup = popup;
+       ad->popupinfo.mode = GL_POPUP_MEDIA_DELETE;
+
+       GL_FREE(popup_str);
+       return 0;
+}
+
+int gl_popup_create_popup(void *data, gl_popup_mode mode, char *desc)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       gl_dbg("");
+
+       if (ad->popupinfo.popup) {
+               gl_dbg("The existed popup is deleted");
+               evas_object_del(ad->popupinfo.popup);
+               ad->popupinfo.popup = NULL;
+       }
+
+       gl_pb_del_pbar(ad);
+       Evas_Object *popup = NULL;
+
+       if (mode == GL_POPUP_ALBUM_MEMORY_FULL) {
+               popup = __gl_popup_add(ad->maininfo.win, NULL, GL_DATA_SAVE_FAILED, desc,
+                                                          data);
+       } else {
+               popup = __gl_popup_add(ad->maininfo.win, NULL, NULL, desc,
+                                                          data);
+       }
+
+       GL_CHECK_VAL(popup, -1);
+       evas_object_event_callback_add(popup, EVAS_CALLBACK_DEL,
+                                      __gl_popup_delete_cb, NULL);
+
+       Evas_Object *btn1 = NULL;
+       Evas_Object *btn2 = NULL;
+
+       switch (mode) {
+       case GL_POPUP_NOBUT:
+       case GL_POPUP_NOBUT_APPEXIT:
+               __gl_popup_add_timer(ad, GL_POPUP_TIMEOUT_3S);
+               break;
+       case GL_POPUP_ONEBUT:
+               btn1 = _gl_but_create_but_popup(popup, GL_STR_ID_CLOSE,
+                                               __gl_popup_resp_cb, data);
+               elm_object_part_content_set(popup, "button1", btn1);
+               break;
+       case GL_POPUP_ALBUM_NEW_EMPTY:
+       case GL_POPUP_ALBUM_NEW_DUPLICATE:
+       case GL_POPUP_ALBUM_NEW_INVALID:
+       case GL_POPUP_ALBUM_RENAME_EMPTY:
+       case GL_POPUP_ALBUM_RENAME_DUPLICATE:
+       case GL_POPUP_ALBUM_RENAME_INVALID:
+               btn1 = _gl_but_create_but_popup(popup, GL_STR_ID_NO,
+                                               __gl_popup_resp_cb, data);
+               elm_object_part_content_set(popup, "button1", btn1);
+               btn2 = _gl_but_create_but_popup(popup, GL_STR_ID_YES,
+                                               __gl_popup_resp_cb, data);
+               elm_object_part_content_set(popup, "button2", btn2);
+               gl_dbg("Hide Entry cursor and IMF");
+               _gl_editfield_hide_imf(ad);
+               break;
+       case GL_POPUP_ALBUM_MEMORY_FULL:
+               btn1 = _gl_but_create_but_popup(popup, GL_STR_ID_CANCEL_ABB,
+                                               __gl_popup_resp_cb, data);
+               elm_object_part_content_set(popup, "button1", btn1);
+               btn2 = _gl_but_create_but_popup(popup, GL_STR_SETTINGS,
+                                               __gl_popup_resp_cb, data);
+               elm_object_part_content_set(popup, "button2", btn2);
+               break;
+
+       default:
+               gl_dbgE("Other popup mode...");
+               break;
+       }
+
+       evas_object_show(popup);
+
+       /* Focus popup and IMF hide */
+       elm_object_focus_set(popup, EINA_TRUE);
+
+       if (mode == GL_POPUP_ALBUM_MEMORY_FULL) {
+               ad->popupinfo.memory_full_popup = popup;
+       } else {
+               ad->popupinfo.popup = popup;
+       }
+       ad->popupinfo.mode = mode;
+
+       return 0;
+}
+
+Evas_Object *_gl_popup_create_local(void *data, gl_popup_mode mode, char *desc)
+{
+       GL_CHECK_NULL(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       gl_dbg("");
+
+       Evas_Object *win = ad->maininfo.win;
+       if (ad->maininfo.entry_win)
+               win = ad->maininfo.entry_win;
+
+       Evas_Object *popup = __gl_popup_add_local(win, NULL, NULL, desc, data);
+       GL_CHECK_NULL(popup);
+       evas_object_data_set(popup, GL_POPUP_OBJ_DATA_KEY, data);
+       evas_object_event_callback_add(popup, EVAS_CALLBACK_DEL,
+                                      __gl_popup_local_delete_cb, data);
+       Evas_Object *btn1 = NULL;
+
+       switch (mode) {
+       case GL_POPUP_NOBUT:
+               GL_IF_DEL_TIMER(ad->popupinfo.del_timer);
+               ad->popupinfo.del_timer = ecore_timer_add(GL_POPUP_TIMEOUT_3S,
+                                                         __gl_popup_local_timeout_cb,
+                                                         popup);
+               evas_object_smart_callback_add(popup, "block,clicked",
+                                              __gl_popup_local_block_clicked_cb,
+                                              popup);
+               break;
+       case GL_POPUP_ONEBUT:
+               btn1 = _gl_but_create_but_popup(popup, GL_STR_ID_OK,
+                                               __gl_popup_local_resp_cb, popup);
+               elm_object_part_content_set(popup, "button1", btn1);
+               break;
+       default:
+               gl_dbgW("Other popup mode[%d]", mode);
+               break;
+       }
+
+       evas_object_show(popup);
+       elm_object_focus_set(popup, EINA_FALSE);
+       return popup;
+}
+
+#ifdef SUPPORT_SLIDESHOW
+int _gl_popup_create_slideshow(void *data, void *op_func)
+{
+       gl_dbg("");
+       GL_CHECK_VAL(data, -1);
+       __gl_popup_create_menu(data, GL_STR_ID_SLIDESHOW,
+                              __gl_popup_slideshow_append, op_func,
+                              GL_POPUP_SLIDESHOW);
+       _gl_popup_add_block_callback(data);
+       return 0;
+}
+#endif
+
+int _gl_popup_create_move(void *data, void *op_func)
+{
+       gl_dbg("");
+       GL_CHECK_VAL(data, -1);
+       __gl_popup_create_album_menu(data, GL_STR_ID_MOVE,
+                              __gl_popup_move_append, op_func,
+                              GL_POPUP_MEDIA_MOVE);
+       _gl_popup_add_buttons(data, GL_STR_ID_NEW_ALBUM,
+                             __gl_popup_btn_new_album_cb);
+       return 0;
+}
+
+int _gl_popup_create_copy(void *data, void *op_func)
+{
+       gl_dbg("");
+       GL_CHECK_VAL(data, -1);
+       __gl_popup_create_album_menu(data, GL_STR_ID_COPY,
+                              __gl_popup_move_append, op_func,
+                              GL_POPUP_MEDIA_MOVE);
+       _gl_popup_add_buttons(data, GL_STR_ID_NEW_ALBUM,
+                             __gl_popup_btn_new_album_cb);
+       return 0;
+}
+
+int _gl_popup_create_move_with_append(void *data, void *op_func, void *append_func, const char *title)
+{
+       gl_dbg("");
+       GL_CHECK_VAL(data, -1);
+       __gl_popup_create_album_menu(data, title, append_func, op_func,
+                              GL_POPUP_MEDIA_MOVE);
+       return 0;
+}
+
+int _gl_popup_create_longpressed_album_with_append(void *data, void *op_func, void *append_func, const char *title)
+{
+       gl_dbg("");
+       GL_CHECK_VAL(data, -1);
+       __gl_popup_create_menu(data, title, append_func, op_func,
+                              GL_POPUP_LONGPRESSED);
+       _gl_popup_add_block_callback(data);
+       return 0;
+}
+
+int _gl_popup_create_longpressed_thumb_with_append(void *data, void *op_func, void *append_func, const char *title)
+{
+       gl_dbg("");
+       GL_CHECK_VAL(data, -1);
+       __gl_popup_create_menu(data, title, append_func, op_func,
+                              GL_POPUP_LONGPRESSED);
+       _gl_popup_add_block_callback(data);
+       return 0;
+}
+
+int _gl_popup_create_longpressed_thumb(void *data, void *op_func, char *file_name)
+{
+       gl_dbg("");
+       GL_CHECK_VAL(data, -1);
+       __gl_popup_create_menu(data, file_name,
+                              __gl_popup_thumb_longpressed_append, op_func,
+                              GL_POPUP_LONGPRESSED);
+       _gl_popup_add_block_callback(data);
+       return 0;
+}
+
+int _gl_popup_add_buttons(void *data, const char *text, Evas_Smart_Cb cb_func)
+{
+       Evas_Object *btn1 = NULL;
+       Evas_Object *btn2 = NULL;
+       gl_appdata *ad = (gl_appdata *)data;
+       /* Button 'cancel' */
+       btn1 = _gl_but_create_but_popup(ad->popupinfo.popup, GL_STR_ID_CANCEL,
+                                       __gl_popup_resp_cb, data);
+       elm_object_part_content_set(ad->popupinfo.popup, "button1", btn1);
+
+       void *menu_data = evas_object_data_get(ad->popupinfo.popup,
+                                              GL_POPUP_OBJ_DATA_KEY);
+       btn2 = _gl_but_create_but_popup(ad->popupinfo.popup, text, cb_func,
+                                       menu_data);
+       elm_object_part_content_set(ad->popupinfo.popup, "button2", btn2);
+       return 0;
+}
+
+int _gl_popup_add_block_callback(void *data)
+{
+       gl_appdata *ad = (gl_appdata *)data;
+       evas_object_smart_callback_add(ad->popupinfo.popup, "block,clicked",
+                                      __gl_popup_block_clicked_cb, data);
+       return 0;
+}
+
+void _gl_time_view_selected_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       gl_dbg("ENTRY");
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       if (ad->popupinfo.popup) {
+               evas_object_del(ad->popupinfo.popup);
+               ad->popupinfo.popup = NULL;
+       }
+       int view_mode = gl_get_view_mode(ad);
+       if (view_mode == GL_VIEW_TIMELINE) {
+               gl_dbg("EXIT 1");
+               return;
+       }
+       _gl_ctrl_show_view(data, "Timeline");
+       gl_dbg("EXIT");
+}
+
+void _gl_album_view_selected_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       gl_dbg("ENTRY");
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       if (ad->popupinfo.popup) {
+               evas_object_del(ad->popupinfo.popup);
+               ad->popupinfo.popup = NULL;
+       }
+       int view_mode = gl_get_view_mode(ad);
+       if (view_mode == GL_VIEW_ALBUMS) {
+               gl_dbg("EXIT 1");
+               return;
+       }
+       _gl_ctrl_show_view(data, GL_STR_ALBUMS);
+       gl_dbg("EXIT");
+}
+
+void _gl_asc_sort_selected_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       gl_dbg("ENTRY");
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       if (ad->popupinfo.popup) {
+               evas_object_del(ad->popupinfo.popup);
+               ad->popupinfo.popup = NULL;
+       }
+       if (ad->maininfo.view_mode == GL_VIEW_THUMBS) {
+               if (ad->gridinfo.media_display_order == ORDER_ASC) {
+                       gl_dbg("EXIT 1");
+                       return;
+               }
+               ad->gridinfo.media_display_order = ORDER_ASC;
+               _gl_thumbs_update_items(ad);
+       } else if (ad->maininfo.view_mode == GL_VIEW_TIMELINE) {
+               __gl_timeline_asc_mode_set(ad);
+       }
+       gl_dbg("EXIT");
+}
+
+void _gl_desc_sort_selected_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       gl_dbg("ENTRY");
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       if (ad->popupinfo.popup) {
+               evas_object_del(ad->popupinfo.popup);
+               ad->popupinfo.popup = NULL;
+       }
+       if (ad->maininfo.view_mode == GL_VIEW_THUMBS) {
+               if (ad->gridinfo.media_display_order == ORDER_DESC) {
+                       gl_dbg("EXIT 1");
+                       return;
+               }
+               ad->gridinfo.media_display_order = ORDER_DESC;
+               _gl_thumbs_update_items(ad);
+       } else if (ad->maininfo.view_mode == GL_VIEW_TIMELINE) {
+               __gl_timeline_desc_mode_set(ad);
+       }
+       gl_dbg("EXIT");
+}
+
+void _gl_list_viewas_popup_cb_add(Evas_Object *btn, Evas_Object *btn1, void *ad)
+{
+       evas_object_smart_callback_add(btn, "clicked", _gl_time_view_selected_cb, ad);
+       evas_object_smart_callback_add(btn1, "clicked", _gl_album_view_selected_cb, ad);
+}
+
+void _gl_list_sortby_popup_cb_add(Evas_Object *btn, Evas_Object *btn1, void *ad)
+{
+       evas_object_smart_callback_add(btn, "clicked", _gl_desc_sort_selected_cb, ad);
+       evas_object_smart_callback_add(btn1, "clicked", _gl_asc_sort_selected_cb, ad);
+}
+
+void _gl_list_pop_create(void *data, Evas_Object *obj, void *ei, char *title, char *first_text, char *second_text, int state_index)
+{
+       gl_dbg("ENTRY");
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       int w,h;
+       _gl_ctxpopup_del(data);
+       Evas_Object * popup = elm_popup_add(ad->maininfo.win);
+       evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND,
+                       EVAS_HINT_EXPAND);
+       _gl_ui_set_translate_part_str(popup, "title,text", title);
+
+       Evas_Object *ly = elm_layout_add(popup);
+       Evas_Object *ly1 = elm_layout_add(ly);
+       elm_layout_file_set(ly, GL_EDJ_FILE, "list_popup_swallow_ly");
+       elm_layout_file_set(ly1, GL_EDJ_FILE, "list_popup_content_ly");
+       _gl_ui_set_translate_part_str(ly1, "elm.text", first_text);
+       _gl_ui_set_translate_part_str(ly1, "elm.text.second", second_text);
+
+       Evas_Object *group_radio = elm_radio_add(ly1);
+       elm_radio_state_value_set(group_radio, 0);
+       elm_radio_value_set(group_radio, 0);
+
+       Evas_Object *radio = elm_radio_add(ly1);
+       Evas_Object *radio1 = elm_radio_add(ly1);
+       elm_radio_group_add(radio, group_radio);
+       elm_radio_state_value_set(radio, 0);
+       evas_object_propagate_events_set(radio, EINA_TRUE);
+       evas_object_show(radio);
+       elm_object_part_content_set(ly1,"elm.swallow", radio);
+
+       elm_radio_group_add(radio1, group_radio);
+       elm_radio_state_value_set(radio1, 1);
+       elm_radio_value_set(group_radio, state_index);
+       evas_object_propagate_events_set(radio1, EINA_TRUE);
+       evas_object_show(radio1);
+       elm_object_part_content_set(ly1, "elm.swallow.second", radio1);
+
+       Evas_Object *btn = elm_button_add(ly1);
+       Evas_Object *btn1 = elm_button_add(ly1);
+       elm_object_style_set(btn, "transparent");
+       elm_object_style_set(btn1, "transparent");
+       elm_object_part_content_set(ly1, "button1", btn);
+       elm_object_part_content_set(ly1, "button2", btn1);
+
+       if (strcmp(title, GL_STR_SORT)) {
+               _gl_list_viewas_popup_cb_add(btn, btn1, ad);
+       } else {
+               _gl_list_sortby_popup_cb_add(btn, btn1, ad);
+       }
+       ad->popupinfo.popup = popup;
+       elm_object_part_content_set(ly,"list", ly1);
+       elm_object_content_set(popup, ly);
+       evas_object_show(popup);
+       evas_object_geometry_get(ad->maininfo.win, NULL, NULL, &w, &h);
+       Edje_Message_Int *msg = (Edje_Message_Int *)malloc(sizeof(Edje_Message_Int) + sizeof(int));
+       GL_CHECK(msg);
+       if ((w == GL_STR_SCREEN_WIDTH_WVGA && h == GL_STR_SCREEN_HEIGHT_WVGA) || (w == GL_STR_SCREEN_HEIGHT_WVGA && h == GL_STR_SCREEN_WIDTH_WVGA)) {
+               msg->val = GL_POPUP_GENLIST_HEIGHT_WVGA;
+               edje_object_message_send(elm_layout_edje_get(ly) ,EDJE_MESSAGE_INT, 2, msg);
+       } else if ((w == GL_STR_SCREEN_WIDTH_QHD && h == GL_STR_SCREEN_HEIGHT_QHD) || (w == GL_STR_SCREEN_HEIGHT_QHD && h == GL_STR_SCREEN_WIDTH_QHD)) {
+               msg->val = GL_POPUP_GENLIST_HEIGHT_QHD;
+               edje_object_message_send(elm_layout_edje_get(ly), EDJE_MESSAGE_INT, 2, msg);
+       } else if ((w == GL_STR_SCREEN_WIDTH_HD && h == GL_STR_SCREEN_HEIGHT_HD) || (w == GL_STR_SCREEN_HEIGHT_HD && h == GL_STR_SCREEN_WIDTH_HD)) {
+               msg->val = GL_POPUP_GENLIST_HEIGHT_HD;
+               edje_object_message_send(elm_layout_edje_get(ly), EDJE_MESSAGE_INT, 2, msg);
+       }
+       free(msg);
+       eext_object_event_callback_add(popup, EEXT_CALLBACK_BACK,
+                       eext_popup_back_cb, NULL);
+       evas_object_repeat_events_set(popup, EINA_FALSE);
+       gl_dbg("EXIT");
+}
+
+static void __gl_thumbs_edit_cancel_cb(void *data, Evas_Object *obj, void *ei)
+{
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       gl_dbg("");
+       if (ad->popupinfo.popup) {
+               evas_object_del(ad->popupinfo.popup);
+       }
+       ad->popupinfo.popup = NULL;
+}
+
+static void __gl_thumbs_edit_move_cb(void *data, Evas_Object *obj, void *ei)
+{
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       gl_dbg("");
+
+       if (ad->popupinfo.popup) {
+               evas_object_del(ad->popupinfo.popup);
+       }
+       ad->popupinfo.popup = NULL;
+       ad->albuminfo.file_mc_mode = GL_MC_MOVE;
+       if (ad->gridinfo.it) {
+               gl_item *gitem = NULL;
+               int cnt = _gl_data_selected_list_count(ad);
+               int i;
+               for (i = 0; i < cnt; i++) {
+                       gitem = eina_list_nth(ad->selinfo.elist, i);
+                       GL_CHECK(gitem);
+                       GL_CHECK(gitem->album);
+                       GL_CHECK(gitem->album->cluster);
+                       if (!strcmp(ad->albuminfo.path, gitem->album->cluster->path)) {
+                               _gl_popup_create_local(data, GL_POPUP_NOBUT,
+                                               GL_STR_ID_SAME_DESTINATION_ERROR_MSG);
+                               return;
+                       }
+               }
+               gl_move_copy_to_album(ad);
+       }
+}
+
+static void __gl_thumbs_edit_create_album_cb(void *data, Evas_Object *obj, void *ei)
+{
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       gl_dbg("");
+
+       if (ad->popupinfo.popup) {
+               evas_object_del(ad->popupinfo.popup);
+       }
+       ad->popupinfo.popup = NULL;
+       ad->albuminfo.path = NULL;
+       ad->albuminfo.file_mc_mode = GL_MC_COPY;
+       if (_gl_thumbs_get_edit_mode(data) == GL_THUMBS_EDIT_COPY) {
+               ad->albuminfo.file_mc_mode = GL_MC_COPY;
+       } else if (_gl_thumbs_get_edit_mode(data) == GL_THUMBS_EDIT_MOVE) {
+               ad->albuminfo.file_mc_mode = GL_MC_MOVE;
+       }
+       _gl_albums_new_create_view(ad, gl_move_copy_to_album);
+       return;
+}
+
+static void __gl_thumbs_edit_copy_cb(void *data, Evas_Object *obj, void *ei)
+{
+       GL_CHECK(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       gl_dbg("");
+
+       if (ad->popupinfo.popup) {
+               evas_object_del(ad->popupinfo.popup);
+       }
+       ad->popupinfo.popup = NULL;
+       ad->albuminfo.file_mc_mode = GL_MC_COPY;
+       if (ad->gridinfo.it) {
+               gl_move_copy_to_album(ad);
+       }
+}
+
+static void __gl_popup_move_copy_sel_cb(void *data, Evas_Object *obj, void *ei)
+{
+       gl_dbg("");
+       GL_CHECK(obj);
+       GL_CHECK(data);
+       gl_popup_menu_s *menu_d = evas_object_data_get(obj, GL_POPUP_OBJ_DATA_KEY);
+       GL_CHECK(menu_d);
+       GL_CHECK(menu_d->ad);
+       gl_appdata *ad = menu_d->ad;
+       GL_FREEIF(ad->albuminfo.path);
+
+       Elm_Object_Item *it = (Elm_Object_Item *)ei;
+       Elm_Object_Item *it_f = NULL;
+       Elm_Object_Item *it_l = NULL;
+       bool flag = false;
+
+       it_f = elm_genlist_first_item_get(obj);
+       it_l = elm_genlist_last_item_get(obj);
+
+       if (it_f && it_l) {
+               if (elm_genlist_item_selected_get(it_l)) {
+                       flag = true;
+               }
+               while (it_f != NULL && it_f != it_l && !flag) {
+                       if (elm_genlist_item_selected_get(it_f)) {
+                               flag = true;
+                               break;
+                       }
+                       it_f = elm_genlist_item_next_get(it_f);
+               }
+       }
+
+       if (flag) {
+               ad->gridinfo.it = it;
+               if (data) {
+                       ad->albuminfo.path = strdup((char *)data);
+               }
+               if (_gl_thumbs_get_edit_mode(ad) == GL_THUMBS_EDIT_COPY) {
+                       __gl_thumbs_edit_copy_cb(ad, NULL, NULL);
+               } else if (_gl_thumbs_get_edit_mode(ad) == GL_THUMBS_EDIT_MOVE) {
+                       __gl_thumbs_edit_move_cb(ad, NULL, NULL);
+               }
+               return;
+       }
+}
+
+static char *__gl_popup_menu_get_genlist_text(void *data, Evas_Object *obj,
+                                      const char *part)
+{
+       gl_dbg("");
+       gl_cluster *album = (gl_cluster *)data;
+       char *label = NULL;
+       label = _gl_get_i18n_album_name(album->cluster);
+
+       if (!strcmp(part, "elm.text")) {
+               char *str = NULL;
+               GL_CHECK_NULL(label);
+               str = _gl_str((char *)label);
+               if (str)
+                       return strdup(str);
+       }
+       return NULL;
+}
+
+Evas_Object *__gl_popup_menu_get_genlist_content(void *data, Evas_Object *obj,
+                                      const char *part)
+{
+       gl_cluster *album_item = (gl_cluster *)data;
+       Evas_Object *ic = elm_icon_add(obj);
+
+       if (!strcmp(part, "elm.swallow.icon")) {
+               if (GL_STORE_T_MMC == album_item->cluster->type) {
+                       GL_ICON_SET_FILE(ic, GL_ICON_MMC);
+                       evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
+               } else {
+                       GL_ICON_SET_FILE(ic, GL_ICON_FOLDER);
+                       evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
+               }
+       }
+       return ic;
+}
+
+void _gl_genlist_item_apend(void *data, Evas_Object *gl, Elm_Genlist_Item_Class *gic)
+{
+       GL_CHECK(gic);
+       GL_CHECK(gl);
+       GL_CHECK(data);
+       gl_popup_menu_s *menu_d = (gl_popup_menu_s *)data;
+       GL_CHECK(menu_d->ad);
+       gl_appdata *ad = menu_d->ad;
+       GL_CHECK(ad->maininfo.win);
+       int i = 0;
+       Eina_List *album_list = NULL;
+       int all_count = 0;
+       gl_cluster *album = NULL;
+
+       evas_object_data_set(gl, GL_POPUP_OBJ_DATA_KEY, menu_d);
+       if (ad->albuminfo.elist && ad->albuminfo.elist->clist) {
+               album_list = ad->albuminfo.elist->clist;
+               all_count = eina_list_count(album_list);
+       } else {
+               gl_dbgE("cluster list is NULL");
+               return;
+       }
+
+       for (i = 0; i < all_count; i++) {
+               album = eina_list_nth(album_list, i);
+               GL_CHECK(album);
+               GL_CHECK(album->cluster);
+               GL_CHECK(album->cluster->display_name);
+               GL_CHECK(album->cluster->uuid);
+
+               if (album->cluster->type == GL_STORE_T_MMC ||
+                               album->cluster->type == GL_STORE_T_PHONE) {
+                       elm_genlist_item_append(gl, gic, (void *)album,
+                                       NULL, ELM_GENLIST_ITEM_NONE,
+                                       __gl_popup_move_copy_sel_cb,
+                                       album->cluster->path);
+               }
+       }
+}
+
+int _gl_popup_create_copy_move(void *data, void *sel_cb, void *cb_data)
+{
+       GL_CHECK_VAL(cb_data, -1);
+       GL_CHECK_VAL(data, -1);
+       gl_dbg("");
+       gl_appdata *ad = (gl_appdata *)data;
+
+       Evas_Object *parent = ad->maininfo.win;
+       Evas_Object *popup = elm_popup_add(parent);
+       evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND,
+                       EVAS_HINT_EXPAND);
+       if (_gl_thumbs_get_edit_mode(data) == GL_THUMBS_EDIT_COPY) {
+               _gl_ui_set_translate_part_str(popup, "title,text", GL_STR_ID_COPY);
+       } else if (_gl_thumbs_get_edit_mode(data) == GL_THUMBS_EDIT_MOVE) {
+               _gl_ui_set_translate_part_str(popup, "title,text", GL_STR_ID_MOVE);
+       }
+       evas_object_show(popup);
+       ad->popupinfo.popup = popup;
+
+       Evas_Object *btn1 = elm_button_add(parent);
+       Evas_Object *btn2 = elm_button_add(parent);
+       elm_object_style_set(btn1, "default");
+       elm_object_style_set(btn2, "default");
+       evas_object_size_hint_weight_set(btn1, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+       evas_object_size_hint_weight_set(btn2, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+       evas_object_size_hint_align_set(btn1, 1, 1);
+       evas_object_size_hint_align_set(btn2, 1, 1);
+       elm_object_part_content_set(popup, "button1", btn1);
+       elm_object_part_content_set(popup, "button2", btn2);
+       evas_object_smart_callback_add(btn1, "clicked", __gl_thumbs_edit_cancel_cb, ad);
+       evas_object_smart_callback_add(btn2, "clicked", __gl_thumbs_edit_create_album_cb, ad);
+       _gl_ui_set_translate_part_str(btn1, "default", GL_STR_ID_CANCEL);
+       _gl_ui_set_translate_part_str(btn2, "default", GL_STR_ID_NEW_ALBUM);
+
+       gl_popup_menu_s *menu_d = NULL;
+       menu_d = (gl_popup_menu_s *)calloc(1, sizeof(gl_popup_menu_s));
+       GL_CHECK_VAL(menu_d, -1);
+       menu_d->ad = ad;
+       Evas_Object *genlist = __gl_popup_add_genlist(menu_d, popup, "default",
+                       __gl_popup_menu_get_genlist_text, __gl_popup_menu_get_genlist_content,
+                       _gl_genlist_item_apend);
+       Evas_Object *ly = elm_layout_add(popup);
+       elm_layout_file_set(ly, GL_EDJ_FILE, "list_popup_swallow_ly");
+       Evas_Object *ly1 = elm_layout_add(popup);
+       elm_layout_file_set(ly1, GL_EDJ_FILE, "list_popup_content_ly");
+       elm_object_part_content_set(ly,"list", genlist);
+       elm_object_content_set(popup, ly);
+       int w,h;
+       evas_object_geometry_get(ad->maininfo.win, NULL, NULL, &w, &h);
+       Edje_Message_Int *msg = (Edje_Message_Int *)malloc(sizeof(Edje_Message_Int) + sizeof(int));
+       GL_CHECK_VAL(msg, -1);
+       if ((w == GL_STR_SCREEN_WIDTH_WVGA && h == GL_STR_SCREEN_HEIGHT_WVGA) || (w == GL_STR_SCREEN_HEIGHT_WVGA && h == GL_STR_SCREEN_WIDTH_WVGA)) {
+               msg->val = GL_POPUP_GENLIST_HEIGHT_WVGA;
+               edje_object_message_send(elm_layout_edje_get(ly) ,EDJE_MESSAGE_INT, 2, msg);
+       } else if ((w == GL_STR_SCREEN_WIDTH_QHD && h == GL_STR_SCREEN_HEIGHT_QHD) || (w == GL_STR_SCREEN_HEIGHT_QHD && h == GL_STR_SCREEN_WIDTH_QHD)) {
+               msg->val = GL_POPUP_GENLIST_HEIGHT_QHD;
+               edje_object_message_send(elm_layout_edje_get(ly), EDJE_MESSAGE_INT, 2, msg);
+       } else if ((w == GL_STR_SCREEN_WIDTH_HD && h == GL_STR_SCREEN_HEIGHT_HD) || (w == GL_STR_SCREEN_HEIGHT_HD && h == GL_STR_SCREEN_WIDTH_HD)) {
+               msg->val = GL_POPUP_GENLIST_HEIGHT_HD;
+               edje_object_message_send(elm_layout_edje_get(ly), EDJE_MESSAGE_INT, 2, msg);
+       }
+       free(msg);
+       evas_object_show(genlist);
+       eext_object_event_callback_add(popup, EEXT_CALLBACK_BACK,
+                       eext_popup_back_cb, NULL);
+
+       return 0;
+}
diff --git a/src/widget/gl-progressbar.c b/src/widget/gl-progressbar.c
new file mode 100644 (file)
index 0000000..94f53f6
--- /dev/null
@@ -0,0 +1,261 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#include "gallery.h"
+#include "gl-progressbar.h"
+#include "gl-ui-util.h"
+#include "gl-util.h"
+#include "gl-debug.h"
+#include "gl-albums.h"
+#include "gl-thumbs.h"
+#include "gl-controlbar.h"
+#include "gl-thread-util.h"
+#include "gl-strings.h"
+#include "gl-button.h"
+
+#define GL_ALBUMS_PBAR_BG_COLOR_VAL 48
+#define GL_WEB_DOWNLOAD_INVALID_ID 0//-2
+#define GL_PBAR_STATUS_LEN_MAX 128
+#define GL_PBAR_WIDTH_MIN_INC (576*elm_config_scale_get()) //(144x4)
+
+#define GL_PROGRESSBAR_STYLE_GALLERY_PROGRESS "gallery/list_progress"
+#define GL_PROGRESSBAR_STYLE_PROGRESS "list_progress"
+#define GL_PROGRESSBAR_STYLE_WHEEL "wheel"
+#define GL_LABEL_STYLE_DEFAULT GL_CHECKBOX_STYLE_DEFAULT
+#define GL_PROGRESSBAR_STYLE_PROCESS "list_process"
+/* Font style for show text of downloading web album */
+#define GL_FONT_STYLE_ALBUM_S "<color=#000000FF><font=Tizen:style=Medium text_class=tizen><font_size=28>"
+#define GL_FONT_STYLE_ALBUM_E "</font_size></font></color>"
+
+static void __gl_pb_cancel_thread_pbar_cb(void *data, Evas_Object *obj, void *ei)
+{
+       gl_dbg("");
+       /* set cancel false value */
+       gl_thread_set_cancel_state(data, GL_PB_CANCEL_BUTTON);
+       /* delete progressbar */
+       gl_pb_del_pbar(data);
+}
+
+static Eina_Bool __gl_pb_pbar_timer_cb(void *data)
+{
+       gl_dbg("Timeout, destroy progressbar and timer.");
+       gl_pb_del_pbar(data);
+       return ECORE_CALLBACK_CANCEL;
+}
+
+#if 0
+/* We need to perform cancellation, not just delete popup */
+static inline void __gl_pb_ea_back_cb(void *data, Evas_Object *obj, void *ei)
+{
+       gl_dbg("Use customized callback");
+       Evas_Object *btn_cancel = NULL;
+       btn_cancel = elm_object_part_content_get(obj, "button1");
+       GL_CHECK(btn_cancel);
+       evas_object_smart_callback_call(btn_cancel, "clicked", NULL);
+}
+#endif
+
+int gl_pb_make_thread_pbar_wheel(void *data, Evas_Object *parent, char *title)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       Evas_Object *popup = NULL;
+       Evas_Object *progressbar = NULL;
+
+       gl_pb_del_pbar(ad);
+       popup = elm_popup_add(parent);
+
+       /*Delete the Popup if the Popup has a BACK event.*/
+       eext_object_event_callback_add(popup, EEXT_CALLBACK_BACK,
+                       __gl_pb_cancel_thread_pbar_cb, data);
+       Evas_Object *popupLayout = elm_layout_add(popup);
+       elm_layout_file_set(popupLayout, GL_EDJ_FILE, "popup_text_progressbar_view_layout");
+       evas_object_size_hint_weight_set(popupLayout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+       evas_object_show(popupLayout);
+
+       progressbar = elm_progressbar_add(popup);
+       elm_object_style_set(progressbar, GL_PROGRESSBAR_STYLE_WHEEL);
+       evas_object_size_hint_align_set(progressbar, EVAS_HINT_FILL, EVAS_HINT_FILL);
+       evas_object_size_hint_weight_set(progressbar, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+       elm_progressbar_pulse(progressbar, EINA_TRUE);
+       evas_object_show(progressbar);
+
+       if (title && (!strcmp(GL_STR_ID_MOVING, title) || !strcmp(GL_STR_ID_COPYING, title))) {
+               elm_object_part_content_set(popupLayout, "progressbar", progressbar);
+       } else {
+               elm_object_part_content_set(popupLayout, "progressbar_left", progressbar);
+               _gl_ui_set_translate_part_str(popupLayout, "elm.text.description", title);
+       }
+       elm_object_content_set(popup, popupLayout);
+       evas_object_show(popup);
+
+       ad->pbarinfo.popup = popup;
+       ad->pbarinfo.pbar = progressbar;
+       ad->pbarinfo.finished_cnt = 0;
+
+
+       return 0;
+}
+
+int gl_pb_refresh_thread_pbar(void *data, int cur_cnt, int total_cnt)
+{
+       GL_CHECK_VAL(data, -1);
+       char status_info[GL_POPUP_DESC_LEN_MAX] = { 0, };
+       double percent = 0.0;
+       gl_appdata *ad = (gl_appdata *)data;
+       GL_CHECK_VAL(ad->pbarinfo.pbar, -1);
+       GL_CHECK_VAL(ad->pbarinfo.status_label, -1);
+
+       snprintf(status_info, sizeof(status_info),
+                GL_FONT_STYLE_POP_S"%d/%d"GL_FONT_STYLE_POP_E, cur_cnt,
+                total_cnt);
+       /* Save medias count already operated */
+       ad->pbarinfo.finished_cnt = cur_cnt;
+       elm_object_text_set(ad->pbarinfo.status_label, status_info);
+       evas_object_show(ad->pbarinfo.status_label);
+
+       if (total_cnt != 0) {
+               percent = (double)cur_cnt / (double)total_cnt;
+               elm_progressbar_value_set(ad->pbarinfo.pbar, percent);
+       }
+
+       return 0;
+}
+
+/* Use timer to destroy progressbar */
+int gl_pb_add_pbar_timer(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       ad->pbarinfo.pbar_timer = ecore_timer_add(1.0f, __gl_pb_pbar_timer_cb,
+                                                 data);
+       return 0;
+}
+
+int gl_pb_del_pbar(void *data)
+{
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       gl_dbg("destroy progressbar");
+
+       if (ad->pbarinfo.popup) {
+               evas_object_del(ad->pbarinfo.popup);
+               ad->pbarinfo.popup = NULL;
+               ad->pbarinfo.pbar = NULL;
+               ad->pbarinfo.status_label = NULL;
+               ad->pbarinfo.finished_cnt = 0;
+       }
+       GL_IF_DEL_TIMER(ad->pbarinfo.pbar_timer);
+       return 0;
+}
+
+Evas_Object *gl_pb_make_pbar(void *data, Evas_Object *parent, char *state)
+{
+       GL_CHECK_NULL(data);
+       gl_appdata *ad = (gl_appdata *)data;
+       gl_dbg("Make progressbar, state:%s", state);
+       char label_str[GL_POPUP_DESC_LEN_MAX] = { 0, };
+
+       if (ad->pbarinfo.popup) {
+               if (ad->pbarinfo.pbar_timer) {
+                       gl_dbg("Del pbar timer in update case!");
+                       ecore_timer_del(ad->pbarinfo.pbar_timer);
+                       ad->pbarinfo.pbar_timer = NULL;
+               }
+               gl_dbg("Progressbar already created, update its label.");
+               snprintf(label_str, sizeof(label_str),
+                        GL_FONT_STYLE_POP_S"%s"GL_FONT_STYLE_POP_E, state);
+               elm_object_text_set(ad->pbarinfo.status_label, label_str);
+               return ad->pbarinfo.popup;
+       }
+       gl_pb_del_pbar(ad);
+       Evas_Object *popup = NULL;
+       Evas_Object *progressbar = NULL;
+       Evas_Object *layout = NULL;
+       Evas_Object *label = NULL;
+
+       popup = elm_popup_add(parent);
+
+       /*Delete the Popup if the Popup has a BACK event.*/
+       eext_object_event_callback_add(popup, EEXT_CALLBACK_BACK, eext_popup_back_cb,
+                                    NULL);
+
+       elm_object_style_set(popup, "content_no_vhpad");
+
+       label = elm_label_add(popup);
+       elm_object_style_set(label, "popup/default");
+       snprintf(label_str, sizeof(label_str),
+                GL_FONT_STYLE_POP_S"%s"GL_FONT_STYLE_POP_E, state);
+       elm_object_text_set(label, label_str);
+       /**
+       * width got from evas_object_geometry_get equals 0
+       * Text couldn't be showed, comment 3 lines codes below
+       */
+       /*Evas_Coord width = 0;
+       evas_object_geometry_get(popup, NULL, NULL, &width, NULL);
+       elm_label_wrap_width_set(label, (int)(width * 0.5));*/
+       elm_label_line_wrap_set(label, ELM_WRAP_MIXED);
+       evas_object_size_hint_align_set(label, EVAS_HINT_FILL, EVAS_HINT_FILL);
+       evas_object_size_hint_weight_set(label, EVAS_HINT_EXPAND, 0.0);
+       evas_object_show(label);
+
+       layout = elm_layout_add(popup);
+       elm_layout_file_set(layout, GL_EDJ_FILE, "popup_processing");
+       evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND,
+                                        EVAS_HINT_EXPAND);
+
+       progressbar = elm_progressbar_add(popup);
+       elm_object_style_set(progressbar, GL_PROGRESSBAR_STYLE_PROCESS);
+       elm_progressbar_horizontal_set(progressbar, EINA_TRUE);
+       elm_progressbar_unit_format_set(progressbar, NULL);
+       elm_progressbar_pulse(progressbar, EINA_TRUE);
+       evas_object_size_hint_align_set(progressbar, EVAS_HINT_FILL,
+                                       EVAS_HINT_FILL);
+       evas_object_size_hint_weight_set(progressbar, EVAS_HINT_EXPAND,
+                                        EVAS_HINT_EXPAND);
+       evas_object_show(progressbar);
+
+       elm_object_part_content_set(layout, "elm.swallow.content", progressbar);
+       elm_object_part_content_set(layout, "elm.swallow.text", label);
+
+       elm_object_content_set(popup, layout);
+       evas_object_show(popup);
+
+       ad->pbarinfo.popup = popup;
+       ad->pbarinfo.pbar = progressbar;
+       ad->pbarinfo.status_label = label;
+       return popup;
+}
+
+Evas_Object *_gl_pb_make_place_pbar(Evas_Object *parent)
+{
+       GL_CHECK_NULL(parent);
+       gl_dbg("");
+
+       Evas_Object *progressbar = NULL;
+       progressbar = elm_progressbar_add(parent);
+       elm_object_style_set(progressbar, GL_PROGRESSBAR_STYLE_PROCESS);
+       elm_progressbar_unit_format_set(progressbar, NULL);
+       elm_progressbar_pulse(progressbar, EINA_TRUE);
+       evas_object_size_hint_align_set(progressbar, EVAS_HINT_FILL,
+                                       EVAS_HINT_FILL);
+       evas_object_size_hint_weight_set(progressbar, EVAS_HINT_EXPAND,
+                                        EVAS_HINT_EXPAND);
+       evas_object_show(progressbar);
+       return progressbar;
+}
+
diff --git a/src/widget/gl-rotate-bg.c b/src/widget/gl-rotate-bg.c
new file mode 100644 (file)
index 0000000..2a9fc0d
--- /dev/null
@@ -0,0 +1,445 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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 _USE_ROTATE_BG
+
+#include "gl-rotate-bg.h"
+#include "gl-exif.h"
+#include "gl-debug.h"
+#include "gl-icons.h"
+
+#define GL_ROTATE_BG_DATA_KEY "gl_bg_data"
+#define GL_ROTATE_BG_GROUP "gl_bg_layout"
+
+typedef struct _gl_bg {
+       Evas_Object *base;
+       Evas_Object *img;
+       char *file;
+       bool b_preload;
+       void *user_data;
+} gl_bg;
+
+static int __gl_rotate_bg_image_rotate_180(Evas_Object *obj)
+{
+       GL_CHECK_VAL(obj, -1);
+       unsigned int *data = NULL;
+       unsigned int *data2 = NULL;
+       unsigned int *to = NULL;
+       unsigned int *from = NULL;
+       int x = 0;
+       int hw = 0;
+       int iw = 0;
+       int ih = 0;
+
+       evas_object_image_size_get(obj, &iw, &ih);
+       int size = iw * ih * sizeof(unsigned int);
+
+       /* EINA_FALSE for reading */
+       data = evas_object_image_data_get(obj, EINA_FALSE);
+       /* memcpy */
+       data2 = calloc(1, size);
+       GL_CHECK_VAL(data2, -1);
+       memcpy(data2, data, size);
+
+       data = evas_object_image_data_get(obj, EINA_TRUE);
+
+       hw = iw * ih;
+       x = hw;
+       to = data;
+       from = data2 + hw - 1;
+       for (; --x >= 0;) {
+               *to = *from;
+               to++;
+               from--;
+       }
+
+
+       GL_FREE(data2);
+
+       evas_object_image_data_set(obj, data);
+       evas_object_image_data_update_add(obj, 0, 0, iw, ih);
+       return 0;
+}
+
+static int __gl_rotate_bg_image_rotate_90(Evas_Object *obj)
+{
+       GL_CHECK_VAL(obj, -1);
+       unsigned int *data = NULL;
+       unsigned int *data2 = NULL;
+       unsigned int *to = NULL;
+       unsigned int *from = NULL;
+       int x = 0;
+       int y = 0;
+       int w = 0;
+       int hw = 0;
+       int iw = 0;
+       int ih = 0;
+
+       evas_object_image_size_get(obj, &iw, &ih);
+       int size = iw * ih * sizeof(unsigned int);
+
+       /* EINA_FALSE for reading */
+       data = evas_object_image_data_get(obj, EINA_FALSE);
+       /* memcpy */
+       data2 = calloc(1, size);
+       GL_CHECK_VAL(data2, -1);
+       memcpy(data2, data, size);
+
+       /* set width, height */
+       w = ih;
+       ih = iw;
+       iw = w;
+       hw = w * ih;
+
+       /* set width, height to image obj */
+       evas_object_image_size_set(obj, iw, ih);
+       data = evas_object_image_data_get(obj, EINA_TRUE);
+       to = data + w - 1;
+       hw = -hw - 1;
+       from = data2;
+
+       for (x = iw; --x >= 0;) {
+               for (y = ih; --y >= 0;) {
+                       *to = *from;
+                       from++;
+                       to += w;
+               }
+
+               to += hw;
+       }
+
+       GL_FREE(data2);
+
+       evas_object_image_data_set(obj, data);
+       evas_object_image_data_update_add(obj, 0, 0, iw, ih);
+       return 0;
+}
+
+static int __gl_rotate_bg_image_rotate_270(Evas_Object *obj)
+{
+       GL_CHECK_VAL(obj, -1);
+       unsigned int *data = NULL;
+       unsigned int *data2 = NULL;
+       unsigned int *to = NULL;
+       unsigned int *from = NULL;
+       int x = 0;
+       int y = 0;
+       int w = 0;
+       int hw = 0;
+       int iw = 0;
+       int ih = 0;
+
+       evas_object_image_size_get(obj, &iw, &ih);
+       int size = iw * ih * sizeof(unsigned int);
+
+       /* EINA_FALSE for reading */
+       data = evas_object_image_data_get(obj, EINA_FALSE);
+       /* memcpy */
+       data2 = calloc(1, size);
+       GL_CHECK_VAL(data2, -1);
+       memcpy(data2, data, size);
+
+       /* set width, height */
+       w = ih;
+       ih = iw;
+       iw = w;
+       hw = w * ih;
+
+       /* set width, height to image obj */
+       evas_object_image_size_set(obj, iw, ih);
+       data = evas_object_image_data_get(obj, EINA_TRUE);
+
+       to = data + hw - w;
+       w = -w;
+       hw = hw + 1;
+       from = data2;
+
+       for (x = iw; --x >= 0;) {
+               for (y = ih; --y >= 0;) {
+                       *to = *from;
+                       from++;
+                       to += w;
+               }
+
+               to += hw;
+       }
+
+       GL_FREE(data2);
+
+       evas_object_image_data_set(obj, data);
+       evas_object_image_data_update_add(obj, 0, 0, iw, ih);
+       return 0;
+}
+
+/* check its orientation */
+int __gl_rotate_bg_rotate_image(Evas_Object *obj, unsigned int orient)
+{
+       switch (orient) {
+       case GL_ORIENTATION_ROT_90:
+               __gl_rotate_bg_image_rotate_90(obj);
+               break;
+       case GL_ORIENTATION_ROT_180:
+               __gl_rotate_bg_image_rotate_180(obj);
+               break;
+       case GL_ORIENTATION_ROT_270:
+               __gl_rotate_bg_image_rotate_270(obj);
+               break;
+       default:
+               break;
+       }
+
+       return 0;
+}
+
+static void __gl_rotate_bg_delete_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+{
+       if (data) {
+               gl_bg *bg_data = (gl_bg *)data;
+               GL_FREEIF(bg_data->file);
+               GL_FREE(data);
+       }
+}
+
+static void __gl_rotate_bg_custom_resize(void *data, Evas *e, Evas_Object *obj, void *event_info)
+{
+       GL_CHECK(data);
+       gl_bg *bg_data = (gl_bg *)data;
+       Evas_Coord bx = 0;
+       Evas_Coord by = 0;
+       Evas_Coord bw = 0;
+       Evas_Coord bh = 0;
+       Evas_Coord iw = 0;
+       Evas_Coord ih = 0;
+       Evas_Coord fx = 0;
+       Evas_Coord fy = 0;
+       Evas_Coord fw = 0;
+       Evas_Coord fh = 0;
+       Evas_Coord nx = 0;
+       Evas_Coord ny = 0;
+       Evas_Coord nw = 0;
+       Evas_Coord nh = 0;
+
+       if ((!bg_data->img) || (!bg_data->base)) {
+               gl_dbgE("Invalid object!");
+               return;
+       }
+       /* grab image size */
+       evas_object_image_size_get(bg_data->img, &iw, &ih);
+       if ((iw < 1) || (ih < 1)) {
+               gl_dbgE("(iw < 1) || (ih < 1)!");
+               return;
+       }
+
+       /* grab base object dimensions */
+       evas_object_geometry_get(bg_data->base, &bx, &by, &bw, &bh);
+
+       /* set some defaults */
+       nx = bx;
+       ny = by;
+       nw = bw;
+       nh = bh;
+
+
+       fw = bw;
+       fh = ((ih * fw) / iw);
+       if (fh < bh) {
+               fh = bh;
+               fw = ((iw * fh) / ih);
+       }
+       fx = ((bw - fw) / 2);
+       fy = ((bh - fh) / 2);
+
+       evas_object_move(bg_data->img, nx, ny);
+       evas_object_resize(bg_data->img, nw, nh);
+       evas_object_image_fill_set(bg_data->img, fx, fy, fw, fh);
+}
+
+Evas_Object *_gl_rotate_bg_add_layout(Evas_Object *parent, const char *file, const char *group)
+{
+       Evas_Object *eo = NULL;
+       int r = 0;
+
+       eo = elm_layout_add(parent);
+       if (eo) {
+               r = elm_layout_file_set(eo, file, group);
+               if (!r) {
+                       evas_object_del(eo);
+                       return NULL;
+               }
+
+               evas_object_size_hint_weight_set(eo, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+               evas_object_size_hint_align_set(eo, EVAS_HINT_FILL, EVAS_HINT_FILL);
+       }
+
+       return eo;
+}
+
+Evas_Object *_gl_rotate_bg_add(Evas_Object *parent, bool b_preload)
+{
+       GL_CHECK_NULL(parent);
+
+       gl_bg *bg_data = (gl_bg *)calloc(1, sizeof(gl_bg));
+       GL_CHECK_NULL(bg_data);
+
+       Evas_Object *base = NULL;
+       base = _gl_rotate_bg_add_layout(parent, GL_EDJ_FILE,
+                                       GL_ROTATE_BG_GROUP);
+       if (base == NULL) {
+               GL_FREE(bg_data);
+               return NULL;
+       }
+
+       bg_data->base= base;
+       bg_data->b_preload = b_preload;
+       if (!b_preload)
+               evas_object_event_callback_add(base, EVAS_CALLBACK_RESIZE,
+                                              __gl_rotate_bg_custom_resize,
+                                              bg_data);
+       evas_object_event_callback_add(base, EVAS_CALLBACK_DEL,
+                                      __gl_rotate_bg_delete_cb, bg_data);
+
+       evas_object_data_set(base, GL_ROTATE_BG_DATA_KEY, bg_data);
+       return base;
+}
+
+int _gl_rotate_bg_set_data(Evas_Object *bg, void *data)
+{
+       GL_CHECK_VAL(bg, -1);
+
+       gl_bg *bg_data = evas_object_data_get(bg, GL_ROTATE_BG_DATA_KEY);
+       GL_CHECK_VAL(bg_data, -1);
+       bg_data->user_data = data;
+       return 0;
+}
+
+int _gl_rotate_bg_get_data(Evas_Object *bg, void **data)
+{
+       GL_CHECK_VAL(data, -1);
+       GL_CHECK_VAL(bg, -1);
+
+       gl_bg *bg_data = evas_object_data_get(bg, GL_ROTATE_BG_DATA_KEY);
+       GL_CHECK_VAL(bg_data, -1);
+       *data = bg_data->user_data;
+       return 0;
+}
+
+int _gl_rotate_bg_set_file(Evas_Object *bg, const char *file, int w, int h)
+{
+       GL_CHECK_VAL(file, -1);
+       GL_CHECK_VAL(bg, -1);
+
+       gl_bg *bg_data = evas_object_data_get(bg, GL_ROTATE_BG_DATA_KEY);
+       GL_CHECK_VAL(bg_data, -1);
+
+       Evas_Object *image_obj = NULL;
+       if (!bg_data->b_preload) {
+               image_obj = evas_object_image_add(evas_object_evas_get(bg));
+               evas_object_repeat_events_set(image_obj, EINA_TRUE);
+               bg_data->img = image_obj;
+               bg_data->file = strdup(file);
+               elm_object_part_content_set(bg, "elm.swallow.image", image_obj);
+               evas_object_image_load_size_set(image_obj, w, h);
+               evas_object_image_file_set(image_obj, file, NULL);
+               evas_object_image_preload(image_obj, EINA_TRUE);
+       } else {
+               image_obj = elm_image_add(bg);
+               evas_object_repeat_events_set(image_obj, EINA_TRUE);
+               bg_data->img = image_obj;
+               bg_data->file = strdup(file);
+               elm_object_part_content_set(bg, "elm.swallow.image", image_obj);
+               elm_image_fill_outside_set(image_obj, EINA_TRUE);
+               elm_image_file_set(image_obj, file, NULL);
+               elm_image_preload_disabled_set(image_obj, EINA_FALSE);
+               elm_image_smooth_set(image_obj, EINA_FALSE);
+       }
+       return 0;
+}
+
+int _gl_rotate_bg_get_file(Evas_Object *bg, char **file)
+{
+       GL_CHECK_VAL(file, -1);
+       GL_CHECK_VAL(bg, -1);
+
+       gl_bg *bg_data = evas_object_data_get(bg, GL_ROTATE_BG_DATA_KEY);
+       GL_CHECK_VAL(bg_data, -1);
+       *file = bg_data->file;
+       return 0;
+}
+
+int _gl_rotate_bg_rotate_image(Evas_Object *bg, unsigned int orient)
+{
+       GL_CHECK_VAL(bg, -1);
+
+       gl_bg *bg_data = evas_object_data_get(bg, GL_ROTATE_BG_DATA_KEY);
+       GL_CHECK_VAL(bg_data, -1);
+
+       if (bg_data->file && g_strcmp0(bg_data->file, GL_ICON_NO_THUMBNAIL) &&
+            g_strcmp0(bg_data->file, GL_ICON_CONTENTS_BROKEN))
+               __gl_rotate_bg_rotate_image(bg_data->img, orient);
+       else
+               __gl_rotate_bg_rotate_image(bg_data->img, GL_ORIENTATION_ROT_0);
+       if (!bg_data->b_preload)
+               __gl_rotate_bg_custom_resize(bg_data, NULL, NULL, NULL);
+       return 0;
+}
+
+int _gl_rotate_bg_add_image(Evas_Object *bg, int w, int h)
+{
+       GL_CHECK_VAL(bg, -1);
+
+       gl_bg *bg_data = evas_object_data_get(bg, GL_ROTATE_BG_DATA_KEY);
+       GL_CHECK_VAL(bg_data, -1);
+
+       Evas_Object *image_obj = NULL;
+       if (!bg_data->b_preload) {
+               image_obj = evas_object_image_add(evas_object_evas_get(bg));
+               evas_object_repeat_events_set(image_obj, EINA_TRUE);
+               bg_data->img = image_obj;
+               elm_object_part_content_set(bg, "elm.swallow.image", image_obj);
+               evas_object_image_load_size_set(image_obj, w, h);
+       } else {
+               image_obj = elm_image_add(bg);
+               evas_object_repeat_events_set(image_obj, EINA_TRUE);
+               bg_data->img = image_obj;
+               elm_object_part_content_set(bg, "elm.swallow.image", image_obj);
+       }
+       return 0;
+}
+
+int _gl_rotate_bg_set_image_file(Evas_Object *bg, const char *file)
+{
+       GL_CHECK_VAL(bg, -1);
+
+       gl_bg *bg_data = evas_object_data_get(bg, GL_ROTATE_BG_DATA_KEY);
+       GL_CHECK_VAL(bg_data, -1);
+       GL_CHECK_VAL(bg_data->img, -1);
+
+       if (!bg_data->b_preload) {
+               evas_object_image_file_set(bg_data->img, file, NULL);
+               evas_object_image_preload(bg_data->img, EINA_FALSE);
+               __gl_rotate_bg_custom_resize(bg_data, NULL, NULL, NULL);
+       } else {
+               elm_image_fill_outside_set(bg_data->img, EINA_TRUE);
+               elm_image_file_set(bg_data->img, file, NULL);
+               elm_image_preload_disabled_set(bg_data->img, EINA_FALSE);
+               elm_image_smooth_set(bg_data->img, EINA_FALSE);
+       }
+
+       return 0;
+}
+
+#endif
diff --git a/src/widget/gl-thumb.c b/src/widget/gl-thumb.c
new file mode 100644 (file)
index 0000000..945db20
--- /dev/null
@@ -0,0 +1,549 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#include "gl-debug.h"
+#include "gl-thumb.h"
+#include "gl-util.h"
+#include "gl-pinchzoom.h"
+#include "gl-strings.h"
+#include "gl-icons.h"
+#ifdef _USE_ROTATE_BG
+#include "gl-rotate-bg.h"
+#include "gl-exif.h"
+#endif
+#include "gl-gesture.h"
+
+/* Size of thumbnails in gridview */
+#define GL_GRID_W 180
+#define GL_GRID_H 133
+
+#define GL_GRID_W_ZOOM_03 240
+#define GL_GRID_H_ZOOM_03 178
+
+#define GL_GRID_W_ZOOM_02 360
+#define GL_GRID_H_ZOOM_02 267
+
+#define GL_GRID_5_PER_ROW 5
+#define GL_GRID_8_PER_ROW 8
+#define GL_GRID_4_PER_ROW 4
+#define GL_GRID_3_PER_ROW 3
+#define GL_GRID_2_PER_ROW 2
+
+#define GL_GRID_6_PER_ROW 6
+#define GL_GRID_7_PER_ROW 7
+#define GL_GRID_10_PER_ROW 10
+
+#define GL_GRID_L_W GL_GRID_W_ZOOM_02
+#define GL_GRID_L_H GL_GRID_H_ZOOM_02
+
+#define GL_GRID_ITEM_L_CNT 6
+#define GL_GRID_ITEM_ZOOM_02_CNT 8
+#define GL_GRID_ITEM_ZOOM_03_CNT 18
+
+#define GL_PHOTOFRAME_VIDEO "video"
+#define GL_PHOTOFRAME_VIDEO2 "video2"
+#define GL_PHOTOFRAME_VIDEO3 "video3"
+#define GL_PHOTOFRAME_DEFAULT "layout"
+#define GL_PHOTOFRAME_DEFAULT2 "layout2"
+#define GL_PHOTOFRAME_DEFAULT3 "layout3"
+#define GL_PHOTOFRAME_BURSTSHOT "burstshot"
+#define GL_PHOTOFRAME_BURSTSHOT1 "burstshot1"
+#define GL_PHOTOFRAME_BURSTSHOT2 "burstshot2"
+
+static Evas_Object *__gl_thumb_add_image(Evas_Object *parent, char *path,
+                                           unsigned int orient, int w, int h)
+{
+       GL_CHECK_NULL(parent);
+
+#ifdef _USE_ROTATE_BG
+       Evas_Object *bg = _gl_rotate_bg_add(parent, true);
+#else
+       Evas_Object *bg = elm_bg_add(parent);
+#endif
+       if (bg == NULL)
+               return NULL;
+
+#ifdef _USE_ROTATE_BG
+       _gl_rotate_bg_set_file(bg, path, w, h);
+       _gl_rotate_bg_rotate_image(bg, orient);
+#else
+       elm_bg_file_set(bg, path, NULL);
+       elm_bg_load_size_set(bg, w, h);
+       evas_object_size_hint_max_set(bg, w, h);
+       evas_object_size_hint_aspect_set(bg, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
+       evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+       evas_object_size_hint_align_set(bg, EVAS_HINT_FILL, EVAS_HINT_FILL);
+#endif
+       return bg;
+}
+
+Evas_Object *_gl_thumb_show_image(Evas_Object *obj, char *path, int orient,
+                                 int w, int h, int zoom_level)
+{
+       GL_CHECK_NULL(obj);
+
+       Evas_Object *layout = elm_layout_add(obj);
+       GL_CHECK_NULL(layout);
+
+       Evas_Object *bg = __gl_thumb_add_image(layout, path, orient, w, h);
+       if (bg == NULL) {
+               evas_object_del(layout);
+               return NULL;
+       }
+
+       char *bs_style = GL_PHOTOFRAME_DEFAULT;
+       if (zoom_level == GL_ZOOM_IN_ONE)
+               bs_style = GL_PHOTOFRAME_DEFAULT2;
+       else if (zoom_level == GL_ZOOM_IN_TWO)
+               bs_style = GL_PHOTOFRAME_DEFAULT3;
+       elm_layout_theme_set(layout, GL_CLASS_GENGRID, GL_GRP_PHOTOFRAME,
+                       bs_style);
+       elm_object_part_content_set(layout, "elm.swallow.icon", bg);
+
+       evas_object_show(layout);
+
+       return layout;
+}
+
+Evas_Object *_gl_thumb_show_burstshot(Evas_Object *obj, char *path1,
+                                     char *path2, char *path3,
+                                     unsigned int orient, int w, int h,
+                                     int zoom_level)
+{
+       GL_CHECK_NULL(obj);
+       Evas_Object *bg = NULL;
+       char *part = NULL;
+       char *path = NULL;
+       int i = 0;
+
+       Evas_Object *layout = elm_layout_add(obj);
+       GL_CHECK_NULL(layout);
+       const char *bs_style = GL_PHOTOFRAME_BURSTSHOT;
+       if (zoom_level == GL_ZOOM_IN_ONE)
+               bs_style = GL_PHOTOFRAME_BURSTSHOT1;
+       else if (zoom_level == GL_ZOOM_IN_TWO)
+               bs_style = GL_PHOTOFRAME_BURSTSHOT2;
+       elm_layout_theme_set(layout, GL_CLASS_GENGRID, GL_GRP_PHOTOFRAME,
+                            bs_style);
+
+       /* Add bg for burstshot mode */
+       for (i = 0; i < 3; i++) {
+               switch (i) {
+               case 0:
+                       part = "elm.swallow.icon1";
+                       path = path1;
+                       break;
+               case 1:
+                       part = "elm.swallow.icon2";
+                       path = path2;
+                       break;
+               case 2:
+                       part = "elm.swallow.icon3";
+                       path = path3;
+                       break;
+               }
+
+               bg = __gl_thumb_add_image(layout, path, orient, w, h);
+               if (bg == NULL) {
+                       evas_object_del(layout);
+                       return NULL;
+               }
+               elm_object_part_content_set(layout, part, bg);
+       }
+       evas_object_show(layout);
+       return layout;
+}
+
+Evas_Object *_gl_thumb_show_video(Evas_Object *obj, char *path,
+                                 unsigned int v_dur, int w, int h,
+                                 int zoom_level)
+{
+       GL_CHECK_NULL(obj);
+
+       Evas_Object *layout = elm_layout_add(obj);
+       GL_CHECK_NULL(layout);
+
+#ifdef _USE_ROTATE_BG
+       Evas_Object *bg = _gl_rotate_bg_add(layout, true);
+#else
+       Evas_Object *bg = elm_bg_add(layout);
+#endif
+       if (bg == NULL) {
+               evas_object_del(layout);
+               return NULL;
+       }
+
+#ifdef _USE_ROTATE_BG
+       _gl_rotate_bg_set_file(bg, path, w, h);
+       _gl_rotate_bg_rotate_image(bg, GL_ORIENTATION_ROT_0);
+#else
+       elm_bg_file_set(bg, path, NULL);
+       elm_bg_load_size_set(bg, w, h);
+       evas_object_size_hint_max_set(bg, w, h);
+       evas_object_size_hint_aspect_set(bg, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
+       evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+       evas_object_size_hint_align_set(bg, EVAS_HINT_FILL, EVAS_HINT_FILL);
+#endif
+
+       char *bs_style = GL_PHOTOFRAME_VIDEO;
+       if (zoom_level == GL_ZOOM_IN_ONE)
+               bs_style = GL_PHOTOFRAME_VIDEO2;
+       else if (zoom_level == GL_ZOOM_IN_TWO)
+               bs_style = GL_PHOTOFRAME_VIDEO3;
+       elm_layout_theme_set(layout, GL_CLASS_GENGRID, GL_GRP_PHOTOFRAME,
+                       bs_style);
+       elm_object_part_content_set(layout, "elm.swallow.icon", bg);
+
+       char *dur_str = _gl_get_duration_string(v_dur);
+       GL_CHECK_NULL(dur_str);
+       elm_object_part_text_set(layout, GL_GRID_TEXT, dur_str);
+       GL_FREE(dur_str);
+
+       evas_object_show(layout);
+       return layout;
+}
+
+Evas_Object *_gl_thumb_show_checkbox(Evas_Object *obj, bool checked,
+                                    Evas_Smart_Cb func, const void *data)
+{
+       GL_CHECK_NULL(func);
+       GL_CHECK_NULL(obj);
+       Evas_Object *ck = NULL;
+
+       ck = elm_check_add(obj);
+       GL_CHECK_NULL(ck);
+
+#ifdef _USE_GRID_CHECK
+       elm_object_style_set(ck, "grid");
+#else
+       elm_object_style_set(ck, GL_CHECKBOX_STYLE_THUMB);
+#endif
+       evas_object_propagate_events_set(ck, EINA_FALSE);
+
+       elm_check_state_set(ck, checked);
+
+       evas_object_smart_callback_add(ck, "changed", func, data);
+
+       evas_object_show(ck);
+       return ck;
+}
+
+Evas_Object *_gl_thumb_show_mode(Evas_Object *obj, gl_cm_mode_e mode)
+{
+       Evas_Object *icon = NULL;
+       const char *file = NULL;
+
+       switch (mode) {
+       case GL_CM_MODE_PANORAMA:
+               file = GL_ICON_PANORAMA;
+               break;
+       case GL_CM_MODE_BURSTSHOT:
+               file = GL_ICON_BURSTSHOT;
+               break;
+       case GL_CM_MODE_SOUND:
+               file = GL_ICON_SOUND_SHOT;
+               break;
+       case GL_CM_MODE_ANIMATE:
+               file = GL_ICON_SOUND_SHOT;
+               break;
+       case GL_CM_MODE_BEST:
+               file = GL_ICON_SOUND_SHOT;
+               break;
+       default:
+               break;
+       }
+
+       if (file) {
+               GL_CHECK_NULL(obj);
+               icon = elm_icon_add(obj);
+               GL_CHECK_NULL(icon);
+               GL_ICON_SET_FILE(icon, file);
+               evas_object_show(icon);
+       }
+       return icon;
+}
+
+Evas_Object *_gl_thumb_add_gengrid(Evas_Object *parent)
+{
+       GL_CHECK_NULL(parent);
+       Evas_Object *grid = elm_gengrid_add(parent);
+       GL_CHECK_NULL(grid);
+
+#ifdef _USE_CUSTOMIZED_GENGRID_STYLE
+       elm_object_style_set(grid, GL_GENGRID_STYLE_GALLERY);
+#endif
+#ifdef _USE_SCROL_HORIZONRAL
+       elm_gengrid_align_set(grid, 0.5, 0.5);
+       elm_gengrid_horizontal_set(grid, EINA_TRUE);
+       elm_scroller_bounce_set(grid, EINA_TRUE, EINA_FALSE);
+#else
+       elm_gengrid_align_set(grid, 0.0, 0.0);
+       elm_gengrid_horizontal_set(grid, EINA_FALSE);
+       elm_scroller_bounce_set(grid, EINA_FALSE, EINA_TRUE);
+#endif
+       elm_scroller_policy_set(grid, ELM_SCROLLER_POLICY_OFF,
+                               ELM_SCROLLER_POLICY_AUTO);
+       elm_gengrid_multi_select_set(grid, EINA_TRUE);
+       evas_object_size_hint_weight_set(grid, EVAS_HINT_EXPAND,
+                                        EVAS_HINT_EXPAND);
+       return grid;
+}
+
+/* Update all gengrid item, class callback would be called again */
+int _gl_thumb_update_gengrid(Evas_Object *view)
+{
+       GL_CHECK_VAL(view, -1);
+
+       Elm_Object_Item *_first_it = NULL;
+       _first_it = elm_gengrid_first_item_get(view);
+       while (_first_it) {
+               elm_gengrid_item_update(_first_it);
+               _first_it = elm_gengrid_item_next_get(_first_it);
+       }
+
+       return 0;
+}
+
+#ifdef _USE_SCROL_HORIZONRAL
+/* Change icon size and gengrid alignment */
+int _gl_thumb_set_size(void *data, Evas_Object *view, int *size_w, int *size_h)
+{
+       GL_CHECK_VAL(view, -1);
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       int rotate_mode = ad->maininfo.rotate_mode;
+       int _w = 0;
+       int _h = 0;
+       int _w_l = 0;
+       int _h_l = 0;
+       int align_c = 0;
+       int count = elm_gengrid_items_count(view);
+       int win_w = 0;
+       int win_h = 0;
+       double scale = _gl_get_win_factor(ad->maininfo.win, &win_w, &win_h);
+       gl_dbg("rotate_mode: %d, zoom level: %d", rotate_mode,
+              ad->pinchinfo.zoom_level);
+
+       _w_l = (int)(GL_GRID_L_W * scale);
+       _h_l = (int)(GL_GRID_L_H * scale);
+
+       if (ad->pinchinfo.zoom_level == GL_ZOOM_IN_TWO) {
+               _w = (int)(win_w / GL_GRID_3_PER_ROW);
+               _h = (int)(GL_GRID_H_ZOOM_02 * scale);
+               align_c = GL_GRID_ITEM_ZOOM_02_CNT;
+       } else if (ad->pinchinfo.zoom_level == GL_ZOOM_IN_ONE) {
+ GL_THUMB_SIZE:
+               _w = (int)(win_w / GL_GRID_4_PER_ROW);
+               _h = (int)(GL_GRID_H_ZOOM_03 * scale);
+               align_c = GL_GRID_ITEM_ZOOM_03_CNT;
+       } else if (ad->pinchinfo.zoom_level == GL_ZOOM_DEFAULT) {
+               _w = (int)(win_w / GL_GRID_8_PER_ROW);
+               _h = (int)(GL_GRID_H * scale);
+       } else {
+               /* Set size same as ZOOM_IN_TWO except zoom_in_one and default level */
+               goto GL_THUMB_SIZE;
+       }
+
+       if ((rotate_mode == APP_DEVICE_ORIENTATION_270) ||
+           (rotate_mode == APP_DEVICE_ORIENTATION_90)) {
+               align_c = GL_GRID_ITEM_L_CNT;
+               elm_gengrid_item_size_set(view, _w_l, _h_l);
+               if (size_w)
+                       *size_w = _w_l-4;
+               if (size_h)
+                       *size_h = _h_l-4;
+       } else {
+               elm_gengrid_item_size_set(view, _w, _h);
+               if (size_w)
+                       *size_w = _w-4;
+               if (size_h)
+                       *size_h = _h-4;
+       }
+       if (count <= align_c)
+               elm_gengrid_align_set(view, 0.5, 0.5);
+       else
+               elm_gengrid_align_set(view, 0.0, 0.5);
+       if (size_w && size_h)
+               gl_dbg("P: %dx%d, size_w: %d,size_h: %d", _w, _h, *size_w, *size_h);
+       return 0;
+}
+#else
+/* Change icon size and gengrid alignment */
+int _gl_thumb_set_size(void *data, Evas_Object *view, int *size_w, int *size_h)
+{
+       GL_CHECK_VAL(view, -1);
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       int rotate_mode = ad->maininfo.rotate_mode;
+       int _w = 0;
+       int _h = 0;
+       int _w_l = 0;
+       int _h_l = 0;
+       int win_w = 0;
+       int win_h = 0;
+       double scale = _gl_get_win_factor(ad->maininfo.win, &win_w, &win_h);
+
+       if (gl_get_view_mode(ad) == GL_VIEW_THUMBS_EDIT) {
+               ad->pinchinfo.zoom_level = GL_ZOOM_IN_ONE;
+       }
+       gl_dbg("rotate_mode: %d, zoom level: %d", rotate_mode,
+                       ad->pinchinfo.zoom_level);
+
+       if (ad->pinchinfo.zoom_level == GL_ZOOM_IN_TWO) {
+               _w = (int)(win_w / GL_GRID_3_PER_ROW);
+               _w_l = (int)(win_h / GL_GRID_6_PER_ROW);
+       } else if (ad->pinchinfo.zoom_level == GL_ZOOM_IN_ONE) {
+               GL_THUMB_SIZE:
+               _w = (int)(win_w / GL_GRID_4_PER_ROW);
+               _w_l = (int)(win_h / GL_GRID_7_PER_ROW);
+       } else if (ad->pinchinfo.zoom_level == GL_ZOOM_DEFAULT) {
+               _w = (int)(win_w / GL_GRID_8_PER_ROW);
+               _w_l = (int)(win_h / GL_GRID_10_PER_ROW);
+       } else {
+               /* Set size same as ZOOM_IN_TWO except zoom_in_one and default level */
+               goto GL_THUMB_SIZE;
+       }
+
+       _h_l = _w_l;
+       _h = _w;
+       if ((rotate_mode == APP_DEVICE_ORIENTATION_270) ||
+                       (rotate_mode == APP_DEVICE_ORIENTATION_90)) {
+               elm_gengrid_item_size_set(view, _w_l, _h_l);
+               if (size_w)
+                       *size_w = _w_l-4;
+               if (size_h)
+                       *size_h = _h_l-4;
+       } else {
+               elm_gengrid_item_size_set(view, _w, _h);
+               if (size_w)
+                       *size_w = _w-4;
+               if (size_h)
+                       *size_h = _h-4;
+       }
+       /*if (elm_gengrid_items_count(view) <= align_c)
+               elm_gengrid_align_set(view, 0.5, 0.5);
+       else
+               elm_gengrid_align_set(view, 0.0, 0.0);*/
+       if (size_w && size_h)
+               gl_dbg("P: %dx%d, size_w: %d,size_h: %d", _w, _h, *size_w, *size_h);
+       return 0;
+}
+#endif
+
+int _gl_thumb_split_set_size(void *data, Evas_Object *view)
+{
+       GL_CHECK_VAL(view, -1);
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       int rotate_mode = ad->maininfo.rotate_mode;
+       int _w = 0;
+       int _h = 0;
+       int _w_l = 0;
+       int _h_l = 0;
+       int win_w = 0;
+       int win_h = 0;
+       double scale = _gl_get_win_factor(ad->maininfo.win, &win_w, &win_h);
+       gl_dbg("rotate_mode: %d, zoom level: %d, scale : %f", rotate_mode,
+                       ad->pinchinfo.zoom_level, scale);
+
+       _w = (int)((2*win_w) / (3*GL_GRID_2_PER_ROW));
+       _h = _w;
+       _w_l = (int)((win_h-win_w/3) / GL_GRID_5_PER_ROW);
+       _h_l = _w_l;
+
+       if ((rotate_mode == APP_DEVICE_ORIENTATION_270) ||
+                       (rotate_mode == APP_DEVICE_ORIENTATION_90)) {
+               elm_gengrid_item_size_set(view, _w_l, _h_l);
+       } else {
+               elm_gengrid_item_size_set(view, _w, _h);
+       }
+
+       return 0;
+}
+
+/*Preappend date item*/
+bool _gl_thumb_insert_date(void *data, Evas_Object *parent)
+{
+       GL_CHECK_FALSE(data);
+       GL_CHECK_FALSE(parent);
+       gl_appdata *ad = (gl_appdata *)data;
+       bool b_remove = false;
+
+       if (ad->pinchinfo.zoom_level != GL_ZOOM_DEFAULT)
+               b_remove = true;
+
+       gl_item *gitem = NULL;
+       gl_item *pre_gitem = NULL;
+       gl_item *inserted_gitem = NULL;
+       bool b_insert = false;
+       Elm_Object_Item *elm_item = NULL;
+       Elm_Object_Item *next_elm_item = NULL;
+       Elm_Gengrid_Item_Class *dgic = &(ad->gridinfo.date_gic);
+
+       elm_item = elm_gengrid_first_item_get(parent);
+       while (elm_item) {
+               next_elm_item = elm_gengrid_item_next_get(elm_item);
+               gitem = elm_object_item_data_get(elm_item);
+               if (gitem == NULL) {
+                       gl_dbgE("Invalid data item!");
+                       continue;
+               } else if (b_remove) { /* Remove */
+                       if (elm_gengrid_item_item_class_get(elm_item) == dgic) {
+                               gl_dbg("Remove date item %p", dgic);
+                               gitem->preappend = false;
+                               elm_object_item_del(elm_item);
+                       }
+                       goto GL_THUMB_NEXT;
+               } else if (pre_gitem == NULL) { /* Insert */
+                       b_insert = true;
+               } else if (gitem->elm_item && !gitem->preappend &&
+                          pre_gitem->item) {
+                       struct tm t1;
+                       struct tm t2;
+                       int mth = 0;
+                       int yth = 0;
+                       localtime_r((time_t *)&(pre_gitem->item->mtime),
+                                   &t1);
+                       mth = t1.tm_mon;
+                       yth = t1.tm_year;
+                       localtime_r((time_t *) &(gitem->item->mtime), &t2);
+                       if (mth != t2.tm_mon || yth != t2.tm_year)
+                               b_insert = true;
+               }
+               if (b_insert && gitem->elm_item && !gitem->preappend) {
+                       elm_gengrid_item_insert_before(parent, dgic,
+                                                      gitem, gitem->elm_item,
+                                                      NULL, NULL);
+                       gitem->preappend = true;
+                       gitem->pre_gitem = gitem;
+                       inserted_gitem = gitem;
+               } else if (inserted_gitem) {
+                       gitem->pre_gitem = inserted_gitem;
+               }
+
+               pre_gitem = gitem;
+               b_insert = false;
+
+ GL_THUMB_NEXT:
+
+               gitem->pre_gitem = NULL;
+               elm_item = next_elm_item;
+       }
+
+       return true;
+}
+
diff --git a/src/widget/gl-tile.c b/src/widget/gl-tile.c
new file mode 100644 (file)
index 0000000..84c0a45
--- /dev/null
@@ -0,0 +1,555 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#include "gl-debug.h"
+#include "gl-tile.h"
+#include "gl-util.h"
+#include "gl-button.h"
+#include "gl-controlbar.h"
+#include "gallery.h"
+#include "gl-icons.h"
+#ifdef _USE_ROTATE_BG
+#include "gl-rotate-bg.h"
+#endif
+#include "gl-gesture.h"
+#include "gl-strings.h"
+#include "gl-timeline.h"
+
+/* Width and height of album item (4+331, 4+331) */
+#define GL_TILE_ITEM_WIDTH 360
+#define GL_TILE_ITEM_HEIGHT 354
+#define GL_TILE_ITEM_L_W 426
+#define GL_TILE_ITEM_L_H 426
+#define GL_TILE_2_PER_ROW 2
+#define GL_TILE_3_PER_ROW 3
+#define GL_TILE_ITEM_CNT 6
+#define GL_TILE_ITEM_CNT2 12
+#define GL_TILE_ITEM_L_CNT 3
+/* Items count of each column */
+#define GL_TILE_ITEM_C_CNT 3
+#define GL_TILE_ALIGN_LEFT 0.0f
+#define GL_TILE_ALIGN_CON1 0.25f
+#define GL_TILE_ALIGN_CON2 0.75f
+#define GL_TILE_ALIGN_MID 0.5f
+#define GL_TILE_ALIGN_BOT 1.0f
+/* Size of album icon */
+#define GL_TILE_W (GL_TILE_ITEM_WIDTH-8)
+#define GL_TILE_H (GL_TILE_ITEM_HEIGHT-8)
+
+#define GL_CHECKBOX_STYLE_ALBUM "gallery/album"
+#define GL_CHECKBOX_STYLE_ALBUM_GRID "gallery/album/grid"
+
+static Evas_Object *__gl_tile_add_icon_bg(Evas_Object *obj, bg_file_set_cb func,
+                                         void *data)
+{
+       GL_CHECK_NULL(func);
+       GL_CHECK_NULL(obj);
+       Evas_Object *bg = NULL;
+
+#ifdef _USE_ROTATE_BG
+       bg = _gl_rotate_bg_add(obj, true);
+#else
+       bg = elm_bg_add(obj);
+#endif
+       GL_CHECK_NULL(bg);
+
+       if (data) {
+               double scale = elm_config_scale_get();
+               int wid = 0;
+               int hei = 0;
+               wid = (int)(GL_TILE_W * scale);
+               hei = (int)(GL_TILE_H * scale);
+#ifdef _USE_ROTATE_BG
+               _gl_rotate_bg_add_image(bg, wid, hei);
+#else
+               elm_bg_load_size_set(bg, wid, hei);
+#endif
+
+               func(bg, data);
+       }
+
+       evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+       evas_object_size_hint_align_set(bg, 0.5, 0.5);
+       evas_object_show(bg);
+
+       return bg;
+}
+
+static Eina_Bool __gl_tile_zoom_out_cb(Evas_Object *gesture, void *data)
+{
+       GL_CHECK_FALSE(data);
+       Evas_Object *parent = NULL;
+       Evas_Object *view = NULL;
+       gl_appdata *ad = (gl_appdata *)data;
+       int view_m = gl_get_view_mode(data);
+       gl_dbg("view_m: %d", view_m);
+
+       if (view_m == GL_VIEW_TIMELINE) {
+               if ((ad->pinchinfo.zoom_level > GL_ZOOM_DEFAULT)) {
+                       /* Skip in wrong mode */
+                       ad->pinchinfo.zoom_level--;
+                       gl_dbg("Update time view size");
+                       _gl_timeline_update_grid_size(data);
+               } else {
+                       gl_dbg("Already at max zoom level : %d", ad->pinchinfo.zoom_level);
+               }
+               return false;
+       }
+       if ((ad->maininfo.rotate_mode == APP_DEVICE_ORIENTATION_270) ||
+           (ad->maininfo.rotate_mode == APP_DEVICE_ORIENTATION_90)) {
+               gl_dbg("Skip in landscape mode");
+               /* Keep level if pinching zoom in in landscape mode */
+               return false;
+       }
+
+       parent = _gl_gesture_get_parent(gesture);
+       GL_CHECK_FALSE(parent);
+       view = elm_object_part_content_get(parent, "elm.swallow.view");
+       GL_CHECK_CANCEL(view);
+
+       /* Not a valid gengrid */
+       if (elm_gengrid_items_count(view) <= 0)
+               return false;
+
+       int level = (int)evas_object_data_get(view, GL_GESTURE_KEY_PINCH_LEVEL);
+       if (GL_ZOOM_NONE == level)
+               return false;
+       if (level >= GL_ZOOM_DEFAULT) {
+               level--;
+               evas_object_data_set(view, GL_GESTURE_KEY_PINCH_LEVEL,
+                                    (void *)level);
+       }
+       gl_dbg("level: %d", level);
+       /* Update item size */
+       _gl_tile_update_item_size(data, view, true);
+       return false;
+}
+
+static Eina_Bool __gl_tile_zoom_in_cb(Evas_Object *gesture, void *data)
+{
+       GL_CHECK_FALSE(data);
+       Evas_Object *parent = NULL;
+       Evas_Object *view = NULL;
+       gl_appdata *ad = (gl_appdata *)data;
+       int view_m = gl_get_view_mode(data);
+       gl_dbg("view_m: %d", view_m);
+
+       if (view_m == GL_VIEW_TIMELINE) {
+               if ((ad->pinchinfo.zoom_level >= GL_ZOOM_DEFAULT) &&
+                               (ad->pinchinfo.zoom_level < (GL_ZOOM_MAX - 1))) {
+                       /* Skip in wrong mode */
+                       ad->pinchinfo.zoom_level++;
+                       gl_dbg("Update time view size");
+                       _gl_timeline_update_grid_size(data);
+               } else {
+                       gl_dbg("Already at max zoom level : %d", ad->pinchinfo.zoom_level);
+               }
+               return false;
+       }
+
+       if ((ad->maininfo.rotate_mode == APP_DEVICE_ORIENTATION_270) ||
+               (ad->maininfo.rotate_mode == APP_DEVICE_ORIENTATION_90)) {
+               gl_dbg("Skip in landscape mode");
+               /* Keep level if pinching zoom in in landscape mode */
+               return false;
+       }
+
+       parent = _gl_gesture_get_parent(gesture);
+       GL_CHECK_CANCEL(parent);
+       view = elm_object_part_content_get(parent, "elm.swallow.view");
+       GL_CHECK_FALSE(view);
+
+       /* Not a valid gengrid */
+       if (elm_gengrid_items_count(view) <= 0)
+               return false;
+
+       int level = (int)evas_object_data_get(view, GL_GESTURE_KEY_PINCH_LEVEL);
+       if (GL_ZOOM_DEFAULT == level)
+               return false;
+       if (level < GL_ZOOM_DEFAULT) {
+               level++;
+               evas_object_data_set(view, GL_GESTURE_KEY_PINCH_LEVEL,
+                                    (void *)level);
+       }
+       gl_dbg("level: %d", level);
+       /* Update item size */
+       _gl_tile_update_item_size(data, view, true);
+       return false;
+}
+
+static void __gl_title_grid_del_cb(void *data, Evas *e, Evas_Object *obj,
+                            void *ei)
+{
+       gl_dbg("Delete grid ---");
+       if (obj) {
+               evas_object_data_del(obj, GL_GESTURE_KEY_PINCH_LEVEL);
+       }
+       gl_dbg("Delete grid +++");
+}
+
+Evas_Object *_gl_tile_show_part_icon(Evas_Object *obj, const char *part,
+                                    bg_file_set_cb func, void *data)
+{
+       GL_CHECK_NULL(part);
+       GL_CHECK_NULL(strlen(part));
+       GL_CHECK_NULL(obj);
+
+       if (!g_strcmp0(part, GL_TILE_ICON)) {
+               Evas_Object *bg = NULL;
+               bg = __gl_tile_add_icon_bg(obj, func, data);
+               return bg;
+       }
+       return NULL;
+}
+
+Evas_Object *_gl_tile_show_part_dim(Evas_Object *obj)
+{
+       GL_CHECK_NULL(obj);
+
+       Evas *evas = evas_object_evas_get(obj);
+       GL_CHECK_NULL(evas);
+       Evas_Object *bg = NULL;
+       bg = evas_object_rectangle_add(evas);
+       GL_CHECK_NULL(bg);
+
+       evas_object_color_set(bg, 220, 218, 211, 153);
+       evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+       evas_object_size_hint_align_set(bg, EVAS_HINT_FILL, EVAS_HINT_FILL);
+       evas_object_show(bg);
+       return bg;
+}
+
+Evas_Object *_gl_tile_show_part_checkbox_grid(Evas_Object *obj, bool checked,
+                                             Evas_Smart_Cb func,
+                                             const void *data)
+{
+       GL_CHECK_NULL(func);
+       GL_CHECK_NULL(obj);
+       Evas_Object *ck = NULL;
+
+       ck = elm_check_add(obj);
+       GL_CHECK_NULL(ck);
+       elm_object_style_set(ck, GL_CHECKBOX_STYLE_ALBUM_GRID);
+       evas_object_repeat_events_set(ck, EINA_TRUE);
+       elm_check_state_set(ck, checked);
+       evas_object_smart_callback_add(ck, "changed", func, data);
+       evas_object_show(ck);
+       return ck;
+}
+
+Evas_Object *_gl_tile_show_part_checkbox(Evas_Object *obj, bool checked,
+                                        Evas_Smart_Cb func, const void *data)
+{
+       GL_CHECK_NULL(func);
+       GL_CHECK_NULL(obj);
+       Evas_Object *ck = NULL;
+
+       ck = elm_check_add(obj);
+       GL_CHECK_NULL(ck);
+       evas_object_propagate_events_set(ck, EINA_FALSE);
+       elm_check_state_set(ck, checked);
+       evas_object_smart_callback_add(ck, "changed", func, data);
+       evas_object_show(ck);
+       return ck;
+}
+
+Evas_Object *_gl_tile_show_part_rename(Evas_Object *obj, Evas_Smart_Cb func,
+                                      const void *data)
+{
+       GL_CHECK_NULL(func);
+       GL_CHECK_NULL(obj);
+       Evas_Object *btn = NULL;
+       btn = _gl_but_create_but(obj, NULL, NULL, GL_BUTTON_STYLE_RENAME, func,
+                                data);
+       GL_CHECK_NULL(btn);
+       evas_object_propagate_events_set(btn, EINA_FALSE);
+       return btn;
+}
+
+Evas_Object *_gl_tile_show_part_type_icon(Evas_Object *obj, int sns_type)
+{
+       GL_CHECK_NULL(obj);
+       Evas_Object *icon = elm_icon_add(obj);
+       GL_CHECK_NULL(icon);
+
+       switch (sns_type) {
+       case GL_TILE_TYPE_CAMERA:
+               GL_ICON_SET_FILE(icon, GL_ICON_ALBUM_CAMERA);
+               break;
+       case GL_TILE_TYPE_DOWNLOAD:
+               GL_ICON_SET_FILE(icon, GL_ICON_ALBUM_DOWNLOAD);
+               break;
+       case GL_TILE_TYPE_FOLDER:
+               GL_ICON_SET_FILE(icon, GL_ICON_ALBUM_FOLDER);
+               break;
+       case GL_TILE_TYPE_MMC_STORAGE:
+               GL_ICON_SET_FILE(icon, GL_ICON_ALBUM_MMC);
+               break;
+       default:
+               gl_dbgE("Unknow sns_type[%d]!", sns_type);
+       }
+
+       evas_object_show(icon);
+       return icon;
+}
+
+int _gl_tile_get_mtime(time_t *mtime1, time_t *mtime2, char *buf, int max_len)
+{
+       char *date1 = NULL;
+       char *date2 = NULL;
+       char *date3 = NULL;
+
+       date1 = (char *)calloc(1, GL_DATE_INFO_LEN_MAX);
+       GL_CHECK_VAL(date1, -1);
+
+       date2 = (char *)calloc(1, GL_DATE_INFO_LEN_MAX);
+       if (date2 == NULL)
+               goto GL_TILE_ERROR;
+
+       date3 = (char *)calloc(1, GL_DATE_INFO_LEN_MAX);
+       if (date3 == NULL)
+               goto GL_TILE_ERROR;
+
+       struct tm t1;
+       memset(&t1, 0x00, sizeof(struct tm));
+       localtime_r(mtime1, &t1);
+       strftime(date1, GL_DATE_INFO_LEN_MAX, "%Y.%m.%d", &t1);
+       strftime(date3, GL_DATE_INFO_LEN_MAX, "%Y.%m", &t1);
+
+       struct tm t2;
+       memset(&t2, 0x00, sizeof(struct tm));
+       localtime_r(mtime2, &t2);
+       strftime(date2, GL_DATE_INFO_LEN_MAX, "%Y.%m.%d", &t2);
+
+       if (!g_strcmp0(date1, date2)) {
+               g_strlcpy(buf, date1, max_len);
+       } else {
+               strftime(date2, GL_DATE_INFO_LEN_MAX, "%Y.%m", &t2);
+               snprintf(buf, max_len, "%s - %s", date2, date3);
+       }
+
+       GL_FREEIF(date1);
+       GL_FREEIF(date2);
+       GL_FREEIF(date3);
+       return 0;
+
+ GL_TILE_ERROR:
+
+       GL_FREEIF(date1);
+       GL_FREEIF(date2);
+       GL_FREEIF(date3);
+       return -1;
+}
+
+Evas_Object *_gl_tile_add_gengrid(Evas_Object *parent)
+{
+       GL_CHECK_NULL(parent);
+       Evas_Object *grid = elm_gengrid_add(parent);
+       GL_CHECK_NULL(grid);
+
+#ifdef _USE_CUSTOMIZED_GENGRID_STYLE
+       elm_object_style_set(grid, GL_GENGRID_STYLE_GALLERY);
+#endif
+       /* horizontal scrolling */
+#ifdef _USE_SCROL_HORIZONRAL
+       elm_gengrid_align_set(grid, GL_TILE_ALIGN_MID, GL_TILE_ALIGN_MID);
+       elm_gengrid_horizontal_set(grid, EINA_TRUE);
+       elm_scroller_bounce_set(grid, EINA_TRUE, EINA_FALSE);
+#else
+       elm_gengrid_align_set(grid, GL_TILE_ALIGN_MID, 0.0);
+       elm_gengrid_horizontal_set(grid, EINA_FALSE);
+       elm_scroller_bounce_set(grid, EINA_FALSE, EINA_TRUE);
+#endif
+       elm_scroller_policy_set(grid, ELM_SCROLLER_POLICY_OFF,
+                               ELM_SCROLLER_POLICY_AUTO);
+
+       elm_gengrid_multi_select_set(grid, EINA_TRUE);
+       evas_object_size_hint_weight_set(grid, EVAS_HINT_EXPAND,
+                                        EVAS_HINT_EXPAND);
+       evas_object_data_set(grid, GL_GESTURE_KEY_PINCH_LEVEL,
+                            (void *)GL_ZOOM_DEFAULT);
+       evas_object_event_callback_add(grid, EVAS_CALLBACK_DEL,
+                                      __gl_title_grid_del_cb, grid);
+       return grid;
+}
+
+#ifdef _USE_SCROL_HORIZONRAL
+/* Change icon size and gengrid alignment */
+int _gl_tile_update_item_size(void *data, Evas_Object *grid, bool b_update)
+{
+       GL_CHECK_VAL(grid, -1);
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       int rotate_mode = ad->maininfo.rotate_mode;
+       int w = 0;
+       int h = 0;
+       int c = 0;
+       int c2 = 0;
+       int w_l = 0;
+       int h_l = 0;
+       int c_l = 0;
+       int win_w = 0;
+       int win_h = 0;
+       double scale = _gl_get_win_factor(ad->maininfo.win, &win_w, &win_h);
+       gl_dbg("rotate_mode: %d, b_update: %d", rotate_mode, b_update);
+
+       w = (int)(win_w / GL_TILE_2_PER_ROW);
+       h = (int)(GL_TILE_ITEM_HEIGHT * scale);
+       w_l= (int)(win_h / GL_TILE_3_PER_ROW);
+       h_l = (int)(GL_TILE_ITEM_L_H * scale);
+       c = GL_TILE_ITEM_CNT;
+       c_l = GL_TILE_ITEM_L_CNT;
+       c2 = GL_TILE_ITEM_C_CNT;
+
+       /* Change size in pinch zoom out mode */
+       int level = (int)evas_object_data_get(grid, GL_GESTURE_KEY_PINCH_LEVEL);
+       if (level < GL_ZOOM_DEFAULT) {
+               gl_dbg("Use smaller size");
+               w = (int)(win_w / GL_TILE_3_PER_ROW);
+               h *= 0.75f;
+               c = GL_TILE_ITEM_CNT2;
+               c2 = GL_TILE_ITEM_C_CNT + 1;
+       }
+       gl_dbg("P %dx%d L %dx%d C %dx%d", w, h, w_l, h_l, c, c_l);
+
+       double align_x = 0.0f;
+       double align_y = 0.0f;
+       unsigned int count = 0;
+       count = elm_gengrid_items_count(grid);
+       elm_gengrid_align_get(grid, &align_x, &align_y);
+       gl_dbg("count: %d, align_x: %f, align_y: %f", count, align_x, align_y);
+
+       if ((rotate_mode == APP_DEVICE_ORIENTATION_270) ||
+           (rotate_mode == APP_DEVICE_ORIENTATION_90)) {
+               /* >=3, (0.0, 0.5);  <3, (0.5, 0.5) */
+               if (count >= c_l && (align_x > GL_TILE_ALIGN_CON1 ||
+                                    align_y > GL_TILE_ALIGN_CON2))
+                       elm_gengrid_align_set(grid, GL_TILE_ALIGN_LEFT,
+                                             GL_TILE_ALIGN_MID);
+               else if (count < c_l && (align_x < GL_TILE_ALIGN_CON1 ||
+                                        align_y > GL_TILE_ALIGN_CON2))
+                       elm_gengrid_align_set(grid, GL_TILE_ALIGN_MID,
+                                             GL_TILE_ALIGN_MID);
+
+               elm_gengrid_item_size_set(grid, w_l, h_l);
+       } else {
+               /* >=6, (0.0, 1.0);  <3, (0.5, 0.5);  <6, (0.5, 1.0) */
+               if (count >= c && (align_x > GL_TILE_ALIGN_CON1 ||
+                                  align_y < GL_TILE_ALIGN_CON2)) {
+                       elm_gengrid_align_set(grid, GL_TILE_ALIGN_LEFT,
+                                             GL_TILE_ALIGN_MID);
+               } else if (count < c) {
+                       if (count < c2 &&
+                           (align_x < GL_TILE_ALIGN_CON1 ||
+                            align_y > GL_TILE_ALIGN_CON2))
+                               elm_gengrid_align_set(grid, GL_TILE_ALIGN_MID,
+                                                     GL_TILE_ALIGN_MID);
+                       else if (count >= c2 &&
+                                (align_x < GL_TILE_ALIGN_CON1 ||
+                                 align_y < GL_TILE_ALIGN_CON2))
+                               elm_gengrid_align_set(grid, GL_TILE_ALIGN_MID,
+                                                     GL_TILE_ALIGN_MID);
+               }
+               elm_gengrid_item_size_set(grid, w, h);
+       }
+
+       if (b_update)
+               elm_gengrid_realized_items_update(grid);
+       return 0;
+}
+#else
+/* Change icon size and gengrid alignment */
+int _gl_tile_update_item_size(void *data, Evas_Object *grid, bool b_update)
+{
+       GL_CHECK_VAL(grid, -1);
+       GL_CHECK_VAL(data, -1);
+       gl_appdata *ad = (gl_appdata *)data;
+       int rotate_mode = ad->maininfo.rotate_mode;
+       int w = 0;
+       int h = 0;
+       int c = 0;
+       int w_l = 0;
+       int h_l = 0;
+       int c_l = 0;
+       int win_w = 0;
+       int win_h = 0;
+       double scale = _gl_get_win_factor(ad->maininfo.win, &win_w, &win_h);
+       gl_dbg("rotate_mode: %d, b_update: %d", rotate_mode, b_update);
+
+       w = (int)(win_w / GL_TILE_2_PER_ROW);
+       h = (int)(298 * scale);
+       w_l= (int)(win_h / GL_TILE_3_PER_ROW);
+       h_l = w_l;
+       c = GL_TILE_ITEM_CNT;
+       c_l = GL_TILE_ITEM_L_CNT;
+
+       /* Change size in pinch zoom out mode */
+       int level = (int)evas_object_data_get(grid, GL_GESTURE_KEY_PINCH_LEVEL);
+       if (level < GL_ZOOM_DEFAULT) {
+               gl_dbg("Use smaller size");
+               w = (int)(win_w / GL_TILE_3_PER_ROW);
+               h = (int)(200 * scale);
+               c = GL_TILE_ITEM_CNT2;
+       }
+       h = w + win_w/9;
+       h_l = w_l + win_h/9;
+       gl_dbg("P %dx%d L %dx%d C %dx%d", w, h, w_l, h_l, c, c_l);
+
+       double align_x = 0.0f;
+       double align_y = 0.0f;
+       unsigned int count = 0;
+       count = elm_gengrid_items_count(grid);
+       elm_gengrid_align_get(grid, &align_x, &align_y);
+       gl_dbg("count: %d, align_x: %f, align_y: %f", count, align_x, align_y);
+
+       if ((rotate_mode == APP_DEVICE_ORIENTATION_270) ||
+           (rotate_mode == APP_DEVICE_ORIENTATION_90)) {
+               /* >=3, (0.5, 0.0);  <3, (0.5, 0.5) */
+               if (count >= c_l && align_y > GL_TILE_ALIGN_CON1)
+                       elm_gengrid_align_set(grid, GL_TILE_ALIGN_MID, 0.0);
+               else if (count < c_l && align_y < GL_TILE_ALIGN_CON1)
+                       elm_gengrid_align_set(grid, GL_TILE_ALIGN_MID, 0.0);
+
+               elm_gengrid_item_size_set(grid, w_l, h_l);
+       } else {
+               /* >=6, (0.5, 0.0);  <3, (0.5, 0.5);  <6, (0.5, 1.0) */
+               if (count >= c && (align_x > GL_TILE_ALIGN_CON1 ||
+                                  align_y < GL_TILE_ALIGN_CON2)) {
+                       elm_gengrid_align_set(grid, GL_TILE_ALIGN_MID, 0.0);
+               } else if (count < c && align_y < GL_TILE_ALIGN_CON1) {
+                       elm_gengrid_align_set(grid, GL_TILE_ALIGN_MID, 0.0);
+               }
+               elm_gengrid_item_size_set(grid, w, h);
+       }
+
+       if (b_update)
+               elm_gengrid_realized_items_update(grid);
+       return 0;
+}
+#endif
+
+Evas_Object *_gl_tile_add_gesture(void *data, Evas_Object *parent)
+{
+       GL_CHECK_NULL(parent);
+       GL_CHECK_NULL(data);
+       Evas_Object *gesture = _gl_gesture_add(data, parent);
+       GL_CHECK_NULL(gesture);
+       _gl_gesture_set_zoom_in_cb(gesture, __gl_tile_zoom_in_cb, data);
+       _gl_gesture_set_zoom_out_cb(gesture, __gl_tile_zoom_out_cb, data);
+       return gesture;
+}
+
diff --git a/tizen-manifest.xml b/tizen-manifest.xml
new file mode 100644 (file)
index 0000000..ea207f7
--- /dev/null
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<manifest xmlns="http://tizen.org/ns/packages" api-version="2.4" package="org.tizen.gallery" version="1.0.0">
+    <profile name="mobile"/>
+    <ui-application appid="org.tizen.gallery" exec="gallery" multiple="false" nodisplay="false" taskmanage="true" type="capp">
+        <label>Gallery</label>
+        <label xml:lang="hy-am">Պատկերասրահ</label>
+               <label xml:lang="az-az">Qalereya</label>
+               <label xml:lang="eu-es">Galeria</label>
+               <label xml:lang="bg-bg">Галерия</label>
+               <label xml:lang="ca-es">Galeria</label>
+               <label xml:lang="zh-cn">相册</label>
+               <label xml:lang="zh-hk">媒體瀏覽器</label>
+               <label xml:lang="zh-tw">媒體瀏覽器</label>
+               <label xml:lang="hr-hr">Album</label>
+               <label xml:lang="cs-cz">Galerie</label>
+               <label xml:lang="da-dk">Galleri</label>
+               <label xml:lang="nl-nl">Galerij</label>
+               <label xml:lang="en-gb">Gallery</label>
+               <label xml:lang="en-us">Gallery</label>
+               <label xml:lang="et-ee">Galerii</label>
+               <label xml:lang="fi-fi">Galleria</label>
+               <label xml:lang="fr-fr">Galerie</label>
+               <label xml:lang="gl-es">Galería</label>
+               <label xml:lang="ka-ge">გალერეა</label>
+               <label xml:lang="de-de">Galerie</label>
+               <label xml:lang="el-gr">Συλλογή</label>
+               <label xml:lang="hu-hu">Galéria</label>
+               <label xml:lang="is-is">Gallerí</label>
+               <label xml:lang="ga-ie">Gailearaí</label>
+               <label xml:lang="it-it">Galleria</label>
+               <label xml:lang="ja-jp">ギャラリー</label>
+               <label xml:lang="kk-kz">Галерея</label>
+               <label xml:lang="ko-kr">갤러리</label>
+               <label xml:lang="lv-lv">Galerija</label>
+               <label xml:lang="lt-lt">Galerija</label>
+               <label xml:lang="mk-mk">Галерија</label>
+               <label xml:lang="nb-no">Galleri</label>
+               <label xml:lang="pl-pl">Galeria</label>
+               <label xml:lang="pt-pt">Galeria</label>
+               <label xml:lang="pt-br">Galeria</label>
+               <label xml:lang="ro-ro">Galerie</label>
+               <label xml:lang="ru-ru">Галерея</label>
+               <label xml:lang="sr-rs">Galerija</label>
+               <label xml:lang="sk-sk">Galéria</label>
+               <label xml:lang="sl-si">Galerija</label>
+               <label xml:lang="es-es">Galería</label>
+               <label xml:lang="es-us">Galería</label>
+               <label xml:lang="sv-se">Galleri</label>
+               <label xml:lang="tr-tr">Galeri</label>
+               <label xml:lang="uk-ua">Галерея</label>
+               <label xml:lang="uz-uz">Galereya</label>
+               <label xml:lang="ar-ae">ﺎﺴﺗﻭﺪﻳﻭ</label>
+               <label xml:lang="zh-sg">画廊</label>
+               <label xml:lang="hi-in">गैलरी</label>
+               <label xml:lang="en-ph">Gallery</label>
+               <label xml:lang="fr-ca">Galerie</label>
+        <icon>org.tizen.gallery.png</icon>
+    </ui-application>
+</manifest>
diff --git a/widget/CMakeLists.txt b/widget/CMakeLists.txt
new file mode 100644 (file)
index 0000000..68793d9
--- /dev/null
@@ -0,0 +1,49 @@
+SET(GALLERY_WIDGET gallery-widget)
+
+SET(SRCS
+    src/gl_widget_main.c
+    src/gl_widget_create.c
+)
+
+INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR})
+
+INCLUDE(FindPkgConfig)
+pkg_check_modules(app_pkgs REQUIRED
+    capi-appfw-application
+    capi-appfw-widget-application
+    capi-content-media-content
+    elementary
+    edje
+    evas
+    appcore-efl
+#   ecore-x
+    dlog
+#   widget
+    widget_service
+#   widget_provider_app
+#   widget_provider
+)
+
+ADD_DEFINITIONS(${app_pkgs_CFLAGS})
+FIND_PROGRAM(UNAME NAMES uname)
+EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH")
+IF("${ARCH}" STREQUAL "arm")
+    ADD_DEFINITIONS("-DTARGET")
+    MESSAGE("add -DTARGET")
+ENDIF("${ARCH}" STREQUAL "arm")
+
+ADD_DEFINITIONS("-DLOG_TAG=\"WIDGET_APP\"")
+INCLUDE_DIRECTORIES("${CMAKE_CURRENT_SOURCE_DIR}/include")
+
+SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie -Wl,-z,noexecstack")
+
+ADD_EXECUTABLE(${GALLERY_WIDGET} ${SRCS})
+TARGET_LINK_LIBRARIES(${GALLERY_WIDGET} ${app_pkgs_LDFLAGS} "-pie -lm")
+
+#edj compile
+
+INSTALL(TARGETS ${GALLERY_WIDGET} DESTINATION ${BINDIR})
+
+#install application HOME directory
+INSTALL(DIRECTORY DESTINATION ${DATADIR})
+ADD_SUBDIRECTORY(res)
diff --git a/widget/include/gl_widget.h b/widget/include/gl_widget.h
new file mode 100644 (file)
index 0000000..f9bf2fe
--- /dev/null
@@ -0,0 +1,37 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#ifndef GL_WIDGET_H
+#define GL_WIDGET_H
+
+typedef struct widget_data {
+       Evas_Object *win;
+       Evas_Object *layout;
+       Evas_Object *bg;
+       Evas_Object *conformant;
+       char *content;
+       Evas_Object *parent;
+       Ecore_Timer *timer;
+       bool is_edit;
+       bool showAlbumDetails;
+       bool showDateDetails;
+} _widget_data;
+
+int gl_widget_create(_widget_data *data, int w, int h);
+
+#endif// GL_WIDGET_H
+/* End of a file */
diff --git a/widget/include/gl_widget_debug.h b/widget/include/gl_widget_debug.h
new file mode 100644 (file)
index 0000000..3b15c9c
--- /dev/null
@@ -0,0 +1,69 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#ifndef GL_WIDGET_DEBUG_H
+#define GL_WIDGET_DEBUG_H
+
+#if !defined(FLOG)
+#define DbgPrint(format, arg...)       LOGD(format, ##arg)
+#define ErrPrint(format, arg...)       LOGE(format, ##arg)
+#define WarnPrint(format, arg...)      LOGW(format, ##arg)
+#else
+extern FILE *__file_log_fp;
+#define DbgPrint(format, arg...) do { fprintf(__file_log_fp, "[LOG] [\e[32m%s/%s\e[0m:%d] " format, util_basename(__FILE__), __func__, __LINE__, ##arg); fflush(__file_log_fp); } while (0)
+#define ErrPrint(format, arg...) do { fprintf(__file_log_fp, "[ERR] [\e[32m%s/%s\e[0m:%d] " format, util_basename(__FILE__), __func__, __LINE__, ##arg); fflush(__file_log_fp); } while (0)
+#define WarnPrint(format, arg...) do { fprintf(__file_log_fp, "[WRN] [\e[32m%s/%s\e[0m:%d] " format, util_basename(__FILE__), __func__, __LINE__, ##arg); fflush(__file_log_fp); } while (0)
+#endif
+
+// DbgPrint("FREE\n");
+#define DbgFree(a) do { \
+       free(a); \
+} while (0)
+
+#define DbgXFree(a) do { \
+       DbgPrint("XFree\n"); \
+       XFree(a); \
+} while (0)
+
+
+#if defined(_ENABLE_PERF)
+#define PERF_INIT() \
+       struct timeval __stv; \
+       struct timeval __etv; \
+       struct timeval __rtv
+
+#define PERF_BEGIN() do { \
+       if (gettimeofday(&__stv, NULL) < 0) { \
+               ErrPrint("gettimeofday: %s\n", strerror(errno)); \
+       } \
+} while (0)
+
+#define PERF_MARK(tag) do { \
+       if (gettimeofday(&__etv, NULL) < 0) { \
+               ErrPrint("gettimeofday: %s\n", strerror(errno)); \
+       } \
+       timersub(&__etv, &__stv, &__rtv); \
+       DbgPrint("[%s] %u.%06u\n", tag, __rtv.tv_sec, __rtv.tv_usec); \
+} while (0)
+#else
+#define PERF_INIT()
+#define PERF_BEGIN()
+#define PERF_MARK(tag)
+#endif
+
+#endif// GL_WIDGET_DEBUG_H
+/* End of a file */
diff --git a/widget/res/CMakeLists.txt b/widget/res/CMakeLists.txt
new file mode 100644 (file)
index 0000000..1a69bf3
--- /dev/null
@@ -0,0 +1,9 @@
+# install edj
+ADD_CUSTOM_TARGET(gallerywidget.edj
+               COMMAND edje_cc  ${EDJE_CFLAGS}
+               ${CMAKE_CURRENT_SOURCE_DIR}/gallerywidget.edc gallerywidget.edj
+               -id ${CMAKE_CURRENT_SOURCE_DIR}/images/
+               DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/gallerywidget.edc
+)
+ADD_DEPENDENCIES(${PROJECT_NAME} gallerywidget.edj)
+INSTALL(FILES gallerywidget.edj DESTINATION ${EDJDIR})
diff --git a/widget/res/gallerywidget.edc b/widget/res/gallerywidget.edc
new file mode 100644 (file)
index 0000000..7e4b1fc
--- /dev/null
@@ -0,0 +1,525 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+#define STYLE_TAGS \
+   tag:  "br" "\n";\
+   tag:  "ps" "ps";\
+   tag:  "tab" "\t";\
+   tag:  "b" "+ font_weight=Bold";
+
+#define STYLE_TAG_MATCH \
+   tag:  "match" "+ color=#3db8cc";
+
+externals {
+       external: "elm";
+       external: "feedback";
+}
+
+collections {
+       plugins {
+               plugin {
+                       name: "touch_sound_plugin";
+                       source: "feedback";
+                       param: "FEEDBACK_TYPE_SOUND FEEDBACK_PATTERN_TAP"; // FEEDBACK_TYPE_SOUND, FEEDBACK_PATTERN_TOUCH_TAP
+                       /* 2014.06.11 updated from libsvi(feedback)
+                       Above plugin will run below external function:
+                       int feedback_play_type(feedback_type_e type, feedback_pattern_e pattern);
+                       param1: feedback_type_e
+                       FEEDBACK_TYPE_NONE = 0,
+                       FEEDBACK_TYPE_SOUND = 1,
+                       FEEDBACK_TYPE_VIBRATION,
+                       FEEDBACK_TYPE_LED,
+                       FEEDBACK_TYPE_END
+
+                       * param2 enumeration:
+                       FEEDBACK_PATTERN_TAP = 0,
+                       FEEDBACK_PATTERN_SIP,
+                       FEEDBACK_PATTERN_SIP_BACKSPACE,
+                       FEEDBACK_PATTERN_SIP_FUNCTION,
+                       FEEDBACK_PATTERN_SIP_FJKEY,
+                       ...
+
+                       * For more information please refer libsvi.
+                       */
+               }
+       }
+       base_scale:1.7;
+       group {
+               name:"widget_custom_main";
+               parts {
+                       part {
+                               name:"bg";
+                               type:RECT;
+                               description {
+                                       state:"default" 0.0;
+                                       rel1.relative:0.0 0.0;
+                                       rel2.relative:1.0 1.0;
+                                       color:0 0 0 20;
+                               }
+                       }//end bg
+                       part {
+                               name:"TitleText";
+                               type:TEXT;
+                               mouse_events:1;
+                               repeat_events:1;
+                               description {
+                                       state:"default" 0.0;
+                                       fixed: 1 1;
+                                       rel1 {
+                                               relative:0.0 172/820;
+                                       }
+                                       rel2 {
+                                               relative:1.0 (172+107)/820;
+                                       }
+                                       text {
+                                               size:50;
+                                               align:0.5 0.5;
+                                               fit: 0 1;
+                                               ellipsis: -1.0;
+                                       }
+                               }
+                       }//end TitleText
+                       part {
+                               name:"HelpText";
+                               type:TEXT;
+                               mouse_events:1;
+                               repeat_events:1;
+                               description {
+                                       state:"default" 0.0;
+                                       fixed: 1 1;
+                                       rel1 {
+                                               relative:0 (172+107+15)/820;
+                                       }
+                                       rel2 {
+                                               relative:1.0 (172+107+15+52)/820;
+                                       }
+                                       text {
+                                               size:30;
+                                               align:0.5 0.5;
+                                               fit: 0 1;
+                                               ellipsis: -1.0;
+                                       }
+                               }
+                       }//end HelpText
+                       part {
+                               name:"image0";
+                               type:SWALLOW;
+                               mouse_events:1;
+                               repeat_events:1;
+                               description {
+                                       state:"default" 0.0;
+                                       rel1{
+                                               relative:0.0 0.0;
+                                               to:"bg";
+                                       }
+                                       rel2{
+                                               relative:0.5 0.5;
+                                               to:"bg";
+                                       }
+                                       align:0.0 0.0;
+                                       visible:0;
+                               }
+                               description {
+                                       state:"show" 0.0;
+                                       inherit:"default";
+                                       visible:1;
+                               }
+                       }//end image0
+                       part {
+                               name:"image1";
+                               type:SWALLOW;
+                               mouse_events:1;
+                               repeat_events:1;
+                               description {
+                                       state:"default" 0.0;
+                                       rel1{
+                                               relative:0.5 0.0;
+                                               to:"bg";
+                                       }
+                                       rel2{
+                                               relative:1.0 0.5;
+                                               to:"bg";
+                                       }
+                                       align:0.0 0.0;
+                                       visible:0;
+                               }
+                               description {
+                                       state:"show" 0.0;
+                                       inherit:"default";
+                                       visible:1;
+                               }
+                       }//end image1
+                       part {
+                               name:"image2";
+                               type:SWALLOW;
+                               mouse_events:1;
+                               repeat_events:1;
+                               description {
+                                       state:"default" 0.0;
+                                       rel1{
+                                               relative:0.0 0.5;
+                                               to:"bg";
+                                       }
+                                       rel2{
+                                               relative:0.5 1.0;
+                                               to:"bg";
+                                       }
+                                       align:0.0 0.0;
+                                       visible:0;
+                               }
+                               description {
+                                       state:"show" 0.0;
+                                       inherit:"default";
+                                       visible:1;
+                               }
+                       }//end image2
+                       part {
+                               name:"image3";
+                               type:SWALLOW;
+                               mouse_events:1;
+                               repeat_events:1;
+                               description {
+                                       state:"default" 0.0;
+                                       rel1{
+                                               relative:0.5 0.5;
+                                               to:"bg";
+                                       }
+                                       rel2{
+                                               relative:1.0 1.0;
+                                               to:"bg";
+                                       }
+                                       align:0.0 0.0;
+                                       visible:0;
+                               }
+                               description {
+                                       state:"show" 0.0;
+                                       inherit:"default";
+                                       visible:1;
+                               }
+                       }//end image3
+                       part {
+                               name:"image4";
+                               type:SWALLOW;
+                               mouse_events:1;
+                               repeat_events:1;
+                               description {
+                                       state:"default" 0.0;
+                                       rel1{
+                                               relative:0.0 0.0;
+                                               to:"bg";
+                                       }
+                                       rel2{
+                                               relative:1.0 0.5;
+                                               to:"bg";
+                                       }
+                                       align:0.0 0.0;
+                                       visible:0;
+                               }
+                               description {
+                                       state:"show" 0.0;
+                                       inherit:"default";
+                                       visible:1;
+                               }
+                       }//end image4
+                       part {
+                               name:"image5";
+                               type:SWALLOW;
+                               mouse_events:1;
+                               repeat_events:1;
+                               description {
+                                       state:"default" 0.0;
+                                       rel1{
+                                               relative:0.0 0.5;
+                                               to:"bg";
+                                       }
+                                       rel2{
+                                               relative:1.0 1.0;
+                                               to:"bg";
+                                       }
+                                       align:0.0 0.0;
+                                       visible:0;
+                               }
+                               description {
+                                       state:"show" 0.0;
+                                       inherit:"default";
+                                       visible:1;
+                               }
+                       }//end image5
+                       part {
+                               name:"image6";
+                               type:SWALLOW;
+                               mouse_events:1;
+                               repeat_events:1;
+                               description {
+                                       state:"default" 0.0;
+                                       rel1{
+                                               relative:0.0 0.0;
+                                               to:"bg";
+                                       }
+                                       rel2{
+                                               relative:1.0 1.0;
+                                               to:"bg";
+                                       }
+                                       align:0.0 0.0;
+                                       visible:0;
+                               }
+                               description {
+                                       state:"show" 0.0;
+                                       inherit:"default";
+                                       visible:1;
+                               }
+                       }//end image6
+                       part {
+                               name: "Edit_button";
+                               type: SWALLOW;
+                               description {
+                                       state: "default" 0.0;
+                                       fixed: 0 1;
+                                       align: 1.0 0.0;
+                                       rel1 { relative: 1.0 0.0; to: "bg"; offset: -15 0;}
+                                       rel2 { relative: 1.0 0.0; to: "bg"; offset: 0 15;}
+                               }
+                       } // end Edit_button
+                       part {
+                               name: "Edit_button_fg";
+                               mouse_events: 1;
+                               repeat_events: 1;
+                               type: RECT;
+                               description {
+                                       state: "default" 0.0;
+                                       visible: 1;
+                                       align: 1.0 0.0;
+                                       rel1 { relative: 0.0 0.0; to: "Edit_button"; }
+                                       rel2 { relative: 1.0 1.0; to: "Edit_button"; }
+                                       color: 0 0 0 0;
+                               }
+                       } // edn Edit_button
+
+                       part {
+                               name: "DateInfo";
+                               type: TEXT;
+                               description {
+                                       state: "default" 0.0;
+                                       fixed: 1 1;
+                                       rel1 {
+                                               relative: 29/712 708/820;
+                                       }
+                                       rel2 {
+                                               relative: 1.0 751/820;
+                                       }
+                                       color : 255 255 255 255;
+                                       text {text:""; font:"Tizen"; align : 0.0 0.5; size : 20;}
+                                       visible : 0;
+                               }
+                               description {
+                                       state:"show" 0.0;
+                                       inherit:"default";
+                                       visible:1;
+                               }
+                       } // end DateInfo
+
+                       part {
+                               name: "AlbumInfo";
+                               type: TEXT;
+                               description {
+                                       fixed: 1 1;
+                                       state: "default" 0.0;
+                                       rel1 {
+                                               relative: 29/712 751/820;
+                                       }
+                                       rel2 {
+                                               relative: 1.0 794/820;
+                                       }
+                                       color : 255 255 255 255;
+                                       text {text:""; font:"Tizen"; align : 0.0 0.5; size : 20;}
+                                       visible : 0;
+                               }
+                               description {
+                                       state:"show" 0.0;
+                                       inherit:"default";
+                                       visible:1;
+                               }
+                       } // end AlbumInfo
+               }//end parts
+               programs {
+                       program { name: "touch_snd1";
+                               source: "Edit_button_fg";
+                               signal: "mouse,clicked,1";
+                               action: RUN_PLUGIN "touch_sound_plugin";
+                       }
+                       program {
+                               name:"changeToSecond";
+                               signal:"change0";
+                               source:"elm";
+                               action:STATE_SET "animated" 0.0;
+                               target:"image0";
+                               transition: LINEAR 0.5;
+                       }//end changeToSecond
+                       program {
+                               name:"hideAll";
+                               signal:"hideall";
+                               source:"elm";
+                               action:STATE_SET "default" 0.0;
+                               target:"image0";
+                               target:"image1";
+                               target:"image2";
+                               target:"image3";
+                               target:"image4";
+                               target:"image5";
+                               target:"image6";
+                               transition: LINEAR 0.5;
+                       }//end hideAll
+                       program {
+                               name:"hidealbum_date_info";
+                               signal:"hide_album_date_info";
+                               source:"elm";
+                               action:STATE_SET "default" 0.0;
+                               target:"AlbumInfo";
+                               target:"DateInfo";
+                       }//end hideAll
+                       program {
+                               name:"show0";
+                               signal:"show0";
+                               source:"elm";
+                               action:STATE_SET "show" 0.0;
+                               target:"image0";
+                               transition: LINEAR 0.5;
+                       }//end show0
+                       program {
+                               name:"show1";
+                               signal:"show1";
+                               source:"elm";
+                               action:STATE_SET "show" 0.0;
+                               target:"image1";
+                               transition: LINEAR 0.5;
+                       }//end show1
+                       program {
+                               name:"show2";
+                               signal:"show2";
+                               source:"elm";
+                               action:STATE_SET "show" 0.0;
+                               target:"image2";
+                               transition: LINEAR 0.5;
+                       }//end show2
+                       program {
+                               name:"show3";
+                               signal:"show3";
+                               source:"elm";
+                               action:STATE_SET "show" 0.0;
+                               target:"image3";
+                               transition: LINEAR 0.5;
+                       }//end show3
+                       program {
+                               name:"show4";
+                               signal:"show4";
+                               source:"elm";
+                               action:STATE_SET "show" 0.0;
+                               target:"image4";
+                               transition: LINEAR 0.5;
+                       }//end show4
+                       program {
+                               name:"show5";
+                               signal:"show5";
+                               source:"elm";
+                               action:STATE_SET "show" 0.0;
+                               target:"image5";
+                               transition: LINEAR 0.5;
+                       }//end show5
+                       program {
+                               name:"show6";
+                               signal:"show6";
+                               source:"elm";
+                               action:STATE_SET "show" 0.0;
+                               target:"image6";
+                               transition: LINEAR 0.5;
+                       }//end show6
+                       program {
+                               name:"showAlbumInfo";
+                               signal:"showAlbumInfo";
+                               source:"elm";
+                               action:STATE_SET "show" 0.0;
+                               target:"AlbumInfo";
+                       }//end showAlbumInfo
+                       program {
+                               name:"showDateInfo";
+                               signal:"showDateInfo";
+                               source:"elm";
+                               action:STATE_SET "show" 0.0;
+                               target:"DateInfo";
+                       }//end showDateInfo
+                       program {
+                               name:"hideAlbumInfo";
+                               signal:"hideAlbumInfo";
+                               source:"elm";
+                               action:STATE_SET "default" 0.0;
+                               target:"AlbumInfo";
+                       }//end hideAlbumInfo
+                       program {
+                               name:"hideDateInfo";
+                               signal:"hideDateInfo";
+                               source:"elm";
+                               action:STATE_SET "default" 0.0;
+                               target:"DateInfo";
+                       }//end hideDateInfo
+               }//end programs
+       }//end group
+       group {
+       name: "today_button";
+       styles {
+               style { name: "empty_state_3";
+                       base: "font=Tizen:style=Regular font_size=18 align=center color=#FFFFFF wrap=mixed ellipsis=1.0";
+                       STYLE_TAGS
+                       STYLE_TAG_MATCH
+               }
+       }
+       images {
+               image: "today_button.png" COMP;
+       }
+       parts {
+               part { name: "bg";
+                       type: IMAGE;
+                       description { state: "default" 0.0;
+                       min: 54 27;
+                       color: 255 255 255 254;
+                       image {
+                               normal: "today_button.png";
+                       }
+               }
+               part { name: "elm.text";
+                       type: TEXTBLOCK;
+                       scale: 1;
+                       effect: PLAIN;
+                       description { state: "default" 0.0;
+                               visible: 1;
+                               text {
+                                       style: "empty_state_3";
+                                       min: 1 1;
+                                       max: 1 1;
+                                       //ellipsis: -1.0;
+                               }
+                               rel1 {
+                                       relative: 0.0 0.0; to: "bg";
+                                       offset: 15 2;
+                               }
+                               rel2 {
+                                       relative: 1.0 1.0; to: "bg";
+                                       offset: -15 -2;
+                               }
+                       }
+               }
+       }
+}
+}//end collections
diff --git a/widget/res/images/today_button.png b/widget/res/images/today_button.png
new file mode 100644 (file)
index 0000000..d60c5ae
Binary files /dev/null and b/widget/res/images/today_button.png differ
diff --git a/widget/res/preview_gallery_4x4.png b/widget/res/preview_gallery_4x4.png
new file mode 100644 (file)
index 0000000..d15566d
Binary files /dev/null and b/widget/res/preview_gallery_4x4.png differ
diff --git a/widget/src/gl_widget_create.c b/widget/src/gl_widget_create.c
new file mode 100644 (file)
index 0000000..5c442df
--- /dev/null
@@ -0,0 +1,803 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#include <Elementary.h>
+#include <tizen.h>
+#include <Eet.h>
+#include <app.h>
+#include <stdlib.h>
+#include <dlog.h>
+#include <media_content.h>
+#include "gl_widget_debug.h"
+#include "gl-data-type.h"
+#include "gl_widget.h"
+
+#define NUMBER_OF_ITERATION 4
+#define IMAGES_THRESHOLD 5
+#define SWALLOWS_COUNT 7
+#define TIMER_INTERVAL 5
+#define WIDGET_HEIGHT 500
+#define WIDGET_WIDTH 500
+#define EDJE_FILE "edje/gallerywidget.edj"
+#define GL_WIDGET_ARGV_IV_VIEW_BY              "View By"
+#define GL_WIDGET_ARGV_IV_VIEW_BY_FOLER        "By Folder"
+#define GL_WIDGET_ARGV_IV_PATH "Path"
+#define GL_WIDGET_UG_PKG_IV                    "image-viewer-efl"
+
+#define GL_STR_ID_JAN dgettext("sys_string", "IDS_COM_BODY_JANUARY")
+#define GL_STR_ID_FEB dgettext("sys_string", "IDS_COM_BODY_FEBRUARY")
+#define GL_STR_ID_MAR dgettext("sys_string", "IDS_COM_BODY_MARCH")
+#define GL_STR_ID_APR dgettext("sys_string", "IDS_COM_BODY_APRIL")
+#define GL_STR_ID_MAY dgettext("sys_string", "IDS_COM_BODY_MAY")
+#define GL_STR_ID_JUN dgettext("sys_string", "IDS_COM_BODY_JUNE")
+#define GL_STR_ID_JUL dgettext("sys_string", "IDS_COM_BODY_JULY")
+#define GL_STR_ID_AUG dgettext("sys_string", "IDS_COM_BODY_AUGUST")
+#define GL_STR_ID_SEP dgettext("sys_string", "IDS_COM_BODY_SEPTEMBER")
+#define GL_STR_ID_OCT dgettext("sys_string", "IDS_COM_BODY_OCTOBER")
+#define GL_STR_ID_NOV dgettext("sys_string", "IDS_COM_BODY_NOVEMBER")
+#define GL_STR_ID_DEC dgettext("sys_string", "IDS_COM_BODY_DECEMBER")
+
+char **selected_images = NULL; //array of strings storing the images selected by user
+int images_in_loops[] = {3, 2, 1,4}; //count of images in each iteration of animation
+int swallows_in_loops[5][10] = {{1, 1, 0, 0, 0, 1 ,0}, {0, 0, 0, 0, 1, 1, 0}, {0, 0, 0, 0, 0, 0, 1}, {1, 1, 1, 1, 0, 0, 0}}; //arrangement of swallows in each iteration of animation
+int images_count = 0; //counter which represents the index of images to be used in each iteration
+int selected_count = 0; //number of images selected by user.
+int loop_count = 0; //counter to the iteration number;
+
+static void gl_widget_on_no_image_cb(void *data,Evas_Object *obj,
+       const char *emission, const char *source);
+
+void gl_widget_win_del_cb(void *data, Evas *evas, Evas_Object *obj,
+       void *event_info)
+{
+       ecore_timer_del(data);
+}
+
+void gl_widget_key_down_cb(void *data, Evas *evas, Evas_Object *obj,
+       void *event_info)
+{
+       elm_exit();
+}
+
+void gl_widget_app_get_resource(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);
+       }
+}
+
+void _gl_launch_iv(void *data, Evas_Object *obj, void *event_info)
+{
+       if (!obj) {
+               dlog_print(DLOG_ERROR, LOG_TAG, "Invalid object!!");
+               return;
+       }
+
+       char *file_name = NULL;
+       char *group_name = NULL;
+       elm_image_file_get (obj, &file_name, &group_name);
+       if (file_name) {
+               int ret;
+               app_control_h service = NULL;
+               app_control_create(&service);
+               if (!service) {
+                       dlog_print(DLOG_ERROR, LOG_TAG, "fail to create service");
+                       return;
+               }
+               app_control_add_extra_data(service, GL_WIDGET_ARGV_IV_VIEW_BY,
+                               GL_WIDGET_ARGV_IV_VIEW_BY_FOLER);
+               app_control_add_extra_data(service, GL_WIDGET_ARGV_IV_PATH, file_name);
+               app_control_set_app_id(service, GL_WIDGET_UG_PKG_IV);
+               ret = app_control_send_launch_request(service, NULL, NULL);
+               if (ret != APP_CONTROL_ERROR_NONE) {
+                       dlog_print(DLOG_ERROR, LOG_TAG, "image load failed");
+                       app_control_destroy(service);
+               }
+       } else {
+               dlog_print(DLOG_ERROR, LOG_TAG, "image path could not be retrieved");
+       }
+}
+
+static Eina_Bool gl_widget_animator_cb(void *data)
+{
+       dlog_print(DLOG_ERROR, LOG_TAG, "ENTRY gl_widget_animator_cb");
+       Evas_Object *layout = (Evas_Object *)data;
+       char buffer[50] = {0,};
+       int i = 0;
+
+       if (!layout) {
+               dlog_print(DLOG_ERROR, LOG_TAG, "Invalid layout!!");
+               return EINA_FALSE;
+       }
+
+       elm_object_signal_emit(layout, "hideall", "elm");
+
+       for (i = 0 ; i < SWALLOWS_COUNT; i++) {
+               snprintf(buffer, sizeof(buffer), "image%d", i);
+               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) {
+                       images_count = images_count % selected_count;
+                       Evas_Object *image_object = elm_image_add(layout);
+                       dlog_print(DLOG_ERROR, LOG_TAG, "gl_widget_animator_cb Image is %s",
+                               selected_images[images_count]);
+
+                       if (!elm_image_file_set(image_object, selected_images[images_count], NULL)) {
+                               dlog_print(DLOG_ERROR, LOG_TAG, "File Set Failed");
+                       }
+
+                       elm_image_aspect_fixed_set(image_object,EINA_FALSE);
+                       snprintf(buffer, sizeof(buffer), "image%d", i);
+                       elm_object_part_content_set(layout, buffer, image_object);
+                       snprintf(buffer, sizeof(buffer), "show%d", i);
+                       elm_object_signal_emit(layout, buffer, "elm");
+                       images_count++;
+                       evas_object_smart_callback_add (image_object,
+                               "clicked", _gl_launch_iv, layout);
+               }
+       }
+       return EINA_TRUE;
+}
+
+static Eina_Bool gl_widget_animator_cb_for_less_than_five_images(void *data)
+{
+       Evas_Object *layout = (Evas_Object *)data;
+
+       if (!layout) {
+               dlog_print(DLOG_ERROR, LOG_TAG, "Invalid layout!!");
+               return EINA_FALSE;
+       }
+
+       elm_object_signal_emit(layout, "hideall", "elm");
+       Evas_Object *content = elm_object_part_content_get(layout, "image6");
+       elm_object_part_content_unset(layout, "image6");
+       evas_object_hide(content);
+
+       Evas_Object *image_object = elm_image_add(layout);
+       dlog_print(DLOG_ERROR, LOG_TAG, "selected images: %s",
+               selected_images[images_count]);
+       elm_image_file_set(image_object, selected_images[images_count], NULL);
+       elm_image_aspect_fixed_set(image_object, EINA_FALSE);
+       elm_object_part_content_set(layout, "image6", image_object);
+       elm_object_signal_emit(layout, "show6", "elm");
+       images_count++;
+       images_count = images_count % selected_count;
+       evas_object_smart_callback_add(image_object, "clicked",
+               _gl_launch_iv, layout);
+
+       return EINA_TRUE;
+}
+
+static Eina_Bool gl_widget_timer_cb(void *data)
+{
+       if (!data) {
+               dlog_print(DLOG_ERROR, LOG_TAG, "Invalid userdata!!");
+               return EINA_FALSE;
+       }
+
+       if (selected_count >= IMAGES_THRESHOLD) {
+               gl_widget_animator_cb(data);
+       } else {
+               gl_widget_animator_cb_for_less_than_five_images(data);
+       }
+
+       loop_count++;
+       return EINA_TRUE;
+}
+
+static Eina_Bool gl_widget_check_albumInfo(char** patharray, int count)
+{
+       int refcount = 0;
+       if (!patharray || count <= 0) {
+               dlog_print(DLOG_ERROR, LOG_TAG, "Invalid data!!");
+               return EINA_FALSE;
+       }
+
+       char *basepath = NULL;
+       char *ref = strrchr(patharray[0], '/');
+       unsigned int reflength = ref - patharray[0];
+
+       basepath = (char*)malloc(sizeof(char) * (reflength + 1));
+       if (!basepath) {
+               dlog_print(DLOG_ERROR, LOG_TAG, "allocation failed!!");
+               return EINA_FALSE;
+       }
+
+       strncpy(basepath, patharray[0], reflength);
+       basepath[reflength] = '\0';
+
+       for (refcount = 1; refcount < count; refcount++) {
+               if (strstr(patharray[refcount], basepath) == NULL) {
+                       free(basepath);
+                       dlog_print(DLOG_ERROR, LOG_TAG, "different selection!!");
+                       return EINA_FALSE;
+               }
+       }
+
+       free(basepath);
+       return EINA_TRUE;
+}
+
+char *_gl_widget_get_file_date(const char *filename)
+{
+       struct stat statbuf = {0};
+       struct tm tmtime;
+
+       if (!filename)
+               return NULL;
+
+       if (stat(filename, &statbuf) == -1)
+               return NULL;
+
+       time_t temptime = statbuf.st_mtime;
+       memset(&tmtime, 0x00, sizeof(struct tm));
+       localtime_r(&temptime, &tmtime);
+
+       struct tm ct;
+       time_t ctime = 0;
+       memset(&ct, 0x00, sizeof(struct tm));
+       time(&ctime);
+       localtime_r(&ctime, &ct);
+
+       char *month[12] = { GL_STR_ID_JAN, GL_STR_ID_FEB, GL_STR_ID_MAR, GL_STR_ID_APR, GL_STR_ID_MAY, GL_STR_ID_JUN,
+                       GL_STR_ID_JUL, GL_STR_ID_AUG, GL_STR_ID_SEP, GL_STR_ID_OCT, GL_STR_ID_NOV, GL_STR_ID_DEC};
+
+       char * str = g_strdup_printf("%s%02d, %s %d", "",
+                       tmtime.tm_mday, month[tmtime.tm_mon], 1900 + tmtime.tm_year);
+       return str;
+}
+
+static Eina_Bool gl_widget_check_dateInfo(char** patharray, int count)
+{
+       int refcount = 0;
+       if (!patharray || count <= 0) {
+               dlog_print(DLOG_ERROR, LOG_TAG, "Invalid data!!");
+               return EINA_FALSE;
+       }
+
+       char * date = NULL;
+
+       char * next_date = NULL;
+       date = _gl_widget_get_file_date(patharray[0]);
+       if (!date) {
+               dlog_print(DLOG_ERROR, LOG_TAG, "failed to extract date!!");
+               return EINA_FALSE;
+       }
+
+       for (refcount = 1; refcount < count; refcount++) {
+               next_date = _gl_widget_get_file_date(patharray[refcount]);
+               if (!next_date) {
+                       dlog_print(DLOG_ERROR, LOG_TAG, "failed to extract date!!");
+                       free(date);
+                       return EINA_FALSE;
+               }
+               if (strcmp(date, next_date)) {
+                       free(date);
+                       free(next_date);
+                       return EINA_FALSE;
+               }
+               free(next_date);
+       }
+
+       return EINA_TRUE;
+}
+
+static char *gl_widget_extract_album_path(char* pathInfo)
+{
+       if (!pathInfo) {
+               dlog_print(DLOG_ERROR, LOG_TAG, "Invalid path!!");
+               return NULL;
+       }
+
+       char* albumname = NULL;
+       char *albumpath = NULL;
+       char *rootpath = NULL;
+       char *refptr = NULL;
+       Eina_Bool useralbum = EINA_FALSE;
+
+       refptr = strrchr(pathInfo, '/');
+       if (!refptr) {
+               return NULL;
+       }
+
+       unsigned int albumpathlength = refptr - pathInfo;
+       albumpath = (char *)malloc((albumpathlength + 1) * sizeof(char));
+       if (!albumpath) {
+               return NULL;
+       }
+
+       strncpy(albumpath, pathInfo, albumpathlength);
+       albumpath[albumpathlength] = '\0';
+
+       refptr = strrchr(albumpath, '/');
+       if (!refptr) {
+               free(albumpath);
+               return NULL;
+       }
+
+       return albumpath;
+}
+
+static Eina_Bool gl_widget_check_default_album(char* pathInfo)
+{
+       if (!pathInfo) {
+               dlog_print(DLOG_ERROR, LOG_TAG, "Invalid path!!");
+               return EINA_FALSE;
+       }
+       char *path = gl_widget_extract_album_path(pathInfo);
+       if (!path) {
+               dlog_print(DLOG_ERROR, LOG_TAG, "Failed to extract path!!");
+               return EINA_FALSE;
+       }
+
+       if (!strcmp("/opt/usr/media/Pictures/", path) ||
+               !strcmp("/opt/usr/media/Images/", path) ||
+               !strcmp("/opt/usr/media/DCIM/Camera", path) ||
+               !strcmp("/opt/usr/media/Downloads/", path) ||
+               !strcmp("/opt/storage/sdcard/DCIM/", path)) {
+               free(path);
+               return EINA_TRUE;
+       }
+
+       free(path);
+
+       return EINA_FALSE;
+}
+
+static char *gl_widget_extract_album_info(char* pathInfo)
+{
+       if (!pathInfo) {
+               dlog_print(DLOG_ERROR, LOG_TAG, "Invalid path!!");
+               return NULL;
+       }
+
+       char* albumname = NULL;
+       char *albumpath = NULL;
+       char *rootpath = NULL;
+       char *refptr = NULL;
+       Eina_Bool useralbum = EINA_FALSE;
+
+       refptr = strrchr(pathInfo, '/');
+       if (!refptr) {
+               return NULL;
+       }
+
+       unsigned int albumpathlength = refptr - pathInfo;
+       albumpath = (char *)malloc((albumpathlength + 1) * sizeof(char));
+       if (!albumpath) {
+               return NULL;
+       }
+
+       strncpy(albumpath, pathInfo, albumpathlength);
+       albumpath[albumpathlength] = '\0';
+
+       refptr = strrchr(albumpath, '/');
+       if (!refptr) {
+               free(albumpath);
+               return NULL;
+       }
+
+       unsigned int albumnamelength = strlen(albumpath) - (refptr - albumpath);
+       albumname = (char *)malloc((albumnamelength + 1) * sizeof(char));
+       if (!albumname) {
+               free(albumpath);
+               return NULL;
+       }
+
+       strncpy(albumname, refptr + 1, albumnamelength);
+       albumname[albumnamelength] = '\0';
+
+       free(albumpath);
+
+       return albumname;
+}
+
+static char *gl_widget_extract_date_info(char** patharray, int count)
+{
+       int refcount = 0;
+       if (!patharray || count <= 0) {
+               dlog_print(DLOG_ERROR, LOG_TAG, "Invalid data!!");
+               return NULL;
+       }
+       char * date = _gl_widget_get_file_date(patharray[0]);
+       return date;
+}
+
+void _gl_widget_show_album_date_info(int arrayLength, char** pathArray,
+               _widget_data* widget_data, Evas_Object* layout) {
+
+       Eina_Bool isSameAlbum = gl_widget_check_albumInfo(pathArray, arrayLength);
+       Eina_Bool isDefaultAlbum = false;
+       if (isSameAlbum) {
+               isDefaultAlbum = gl_widget_check_default_album(pathArray[0]);
+       }
+       widget_data->showAlbumDetails = isSameAlbum && !isDefaultAlbum;
+       widget_data->showDateDetails = gl_widget_check_dateInfo(pathArray,
+                       arrayLength);
+       if (widget_data->showAlbumDetails) {
+               char* albuminfo = gl_widget_extract_album_info(pathArray[0]);
+               if (albuminfo) {
+                       dlog_print(DLOG_ERROR, LOG_TAG, "showAlbumDetails!!");
+                       elm_object_part_text_set(layout, "AlbumInfo", albuminfo);
+                       elm_object_signal_emit(layout, "showAlbumInfo", "elm");
+               }
+       } else {
+               elm_object_part_text_set(layout, "AlbumInfo", "");
+               elm_object_signal_emit(layout, "hideAlbumInfo", "elm");
+       }
+       if (widget_data->showDateDetails) {
+               char* dateinfo = gl_widget_extract_date_info(pathArray, arrayLength);
+               if (dateinfo) {
+                       dlog_print(DLOG_ERROR, LOG_TAG, "showDateDetails!!");
+                       elm_object_part_text_set(layout, "DateInfo", dateinfo);
+                       elm_object_signal_emit(layout, "showDateInfo", "elm");
+               }
+       } else {
+               elm_object_part_text_set(layout, "DateInfo", "");
+               elm_object_signal_emit(layout, "hideDateInfo", "elm");
+       }
+}
+
+static void gl_widget_result_cb(app_control_h request, app_control_h reply,
+               app_control_result_e result, void *data)
+{
+       _widget_data *widget_data = (_widget_data *)data;
+       if (!widget_data) {
+               dlog_print(DLOG_ERROR, LOG_TAG, "Invalid userdata!!");
+               return;
+       }
+       Evas_Object *layout = widget_data->layout;
+       if (!layout) {
+               return;
+       }
+       char **pathArray = NULL;
+       int arrayLength = 0;
+       int i = 0;
+       int j = 0;
+       char buffer[100] = {0,};
+
+       char *dbPath = "/opt/usr/media/selectedimages.eet";
+       Eet_File *fp = NULL;
+
+       app_control_get_extra_data_array(reply, APP_CONTROL_DATA_PATH,
+               &pathArray, &arrayLength);
+       if (arrayLength > 0) {
+               dlog_print(DLOG_ERROR, LOG_TAG, "Result Length %d", arrayLength);
+               selected_images = (char **)malloc(arrayLength * sizeof(char *));
+               fp = eet_open(dbPath,EET_FILE_MODE_READ_WRITE);
+               if (!fp) {
+                       dlog_print(DLOG_ERROR, LOG_TAG, "File open failed");
+                       return;
+               }
+               snprintf(buffer, sizeof(buffer), "%d", arrayLength);
+               eet_write(fp, "imageCnt", buffer, strlen(buffer) + 1, 0);
+               if (selected_images) {
+                       for (j = 0 ; j < arrayLength; j++) {
+                               selected_images[j] = strdup (pathArray[j]);
+                               snprintf(buffer, sizeof(buffer), "image%d", j);
+                               eet_write(fp, buffer, pathArray[j],
+                                       strlen(pathArray[j]) + 1, 0);
+                       }
+                       eet_close(fp);
+               } else {
+                       dlog_print(DLOG_ERROR, LOG_TAG, "Selected Image is NULL");
+               }
+               if (!widget_data->is_edit) {
+                       _gl_widget_create_edit_btn(widget_data);
+               }
+       } else {
+               if (!widget_data->is_edit) {
+                       Evas_Object *btn = elm_object_part_content_unset(
+                                               widget_data->layout,
+                                               "Edit_button");
+                       if (btn) {
+                               evas_object_hide(btn);
+                       }
+               }
+               return;
+       }
+       if (widget_data->is_edit) {
+               if (widget_data->timer) {
+                       ecore_timer_del(widget_data->timer);
+               }
+               widget_data->is_edit = false;
+       }
+
+       _gl_widget_show_album_date_info(arrayLength, pathArray, widget_data,
+                       layout);
+       for (i = 0; i < arrayLength; i++) {
+               if (pathArray[i]) {
+                       free (pathArray[i]);
+               }
+       }
+       if (pathArray) {
+               free(pathArray);
+       }
+       selected_count = arrayLength;
+       if (selected_count >=  IMAGES_THRESHOLD) {
+               gl_widget_animator_cb(layout);
+       } else {
+               gl_widget_animator_cb_for_less_than_five_images(layout);
+       }
+
+       loop_count++;
+       elm_object_signal_callback_del(layout, "mouse,clicked,1",
+               "bg", gl_widget_on_no_image_cb);
+
+       if (selected_count > 1) {
+               widget_data->timer = ecore_timer_loop_add(TIMER_INTERVAL,
+                         gl_widget_timer_cb, layout);
+       }
+}
+
+static void gl_widget_on_edit_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       if (!data) {
+               dlog_print(DLOG_ERROR, LOG_TAG, "Invalid userdata!!");
+               return;
+       }
+       _widget_data *widget_data = (_widget_data *)data;
+       widget_data->is_edit = true;
+       app_control_h service = NULL;
+       int ret = -1;
+
+       ret = app_control_create(&service);
+       if (ret != APP_CONTROL_ERROR_NONE) {
+               dlog_print(DLOG_ERROR, LOG_TAG, "Failed to create app control!!");
+       } else {
+               app_control_set_operation(service, APP_CONTROL_OPERATION_PICK);
+               app_control_add_extra_data(service,
+                       "http://tizen.org/appcontrol/data/selection_mode",
+                       "multiple");
+               app_control_set_mime(service, "image/*");
+               app_control_add_extra_data(service, "launch-type", "multiple");
+               app_control_add_extra_data(service, "file-type", "image");
+               app_control_set_app_id(service,"ug-gallery-efl");
+
+               ret = app_control_send_launch_request(service,
+                       gl_widget_result_cb, (void *)widget_data);
+               if (ret != APP_CONTROL_ERROR_NONE) {
+                       dlog_print(DLOG_ERROR, LOG_TAG,
+                               "lauching operation pic failed");
+                       ret = -1;
+               } else {
+                       ret = 0;
+               }
+
+               app_control_destroy(service);
+       }
+}
+
+void _gl_widget_create_edit_btn(_widget_data* widget_data) {
+
+       if (widget_data) {
+               Evas_Object* boxTop = elm_box_add(widget_data->layout);
+               evas_object_size_hint_weight_set(boxTop, EVAS_HINT_EXPAND,
+                               EVAS_HINT_EXPAND);
+               evas_object_size_hint_align_set(boxTop, EVAS_HINT_FILL, EVAS_HINT_FILL);
+               elm_box_horizontal_set(boxTop, EINA_TRUE);
+               elm_box_homogeneous_set(boxTop, EINA_FALSE);
+               Evas_Object* button = elm_button_add(boxTop);
+               elm_object_style_set(button, "transparent");
+               Evas_Object* layoutButton = elm_layout_add(button);
+               evas_object_size_hint_weight_set(layoutButton, EVAS_HINT_EXPAND,
+                               EVAS_HINT_EXPAND);
+               evas_object_size_hint_align_set(layoutButton, EVAS_HINT_FILL,
+                               EVAS_HINT_FILL);
+               elm_layout_file_set(layoutButton,
+                               "/usr/apps/org.tizen.gallery/res/edje/gallerywidget.edj",
+                               "today_button");
+               elm_object_domain_translatable_part_text_set(layoutButton, "elm.text",
+                               "gallery", "IDS_QP_ACBUTTON_EDIT_ABB");
+               evas_object_show(layoutButton);
+               elm_object_content_set(button, layoutButton);
+               elm_box_pack_end(boxTop, button);
+               evas_object_show(boxTop);
+               evas_object_show(button);
+               elm_object_part_content_set(widget_data->layout, "Edit_button", boxTop);
+               evas_object_smart_callback_add(button, "clicked", gl_widget_on_edit_cb,
+                               widget_data);
+       }
+}
+
+static int gl_widget_launch_gallery_ug(_widget_data *widget_data)
+{
+       app_control_h service = NULL;
+       int ret = -1;
+
+       ret = app_control_create(&service);
+       if (ret != APP_CONTROL_ERROR_NONE) {
+               dlog_print(DLOG_ERROR, LOG_TAG, "Failed to create app control!!");
+       } else {
+               app_control_set_operation(service, APP_CONTROL_OPERATION_PICK);
+               app_control_add_extra_data(service,
+                       "http://tizen.org/appcontrol/data/selection_mode",
+                       "multiple");
+               app_control_set_mime(service, "image/*");
+               app_control_add_extra_data(service, "launch-type", "multiple");
+               app_control_add_extra_data(service, "file-type", "image");
+               app_control_set_app_id(service,"ug-gallery-efl");
+
+               ret = app_control_send_launch_request(service,
+                       gl_widget_result_cb,
+                       (void *)widget_data);
+               if (ret != APP_CONTROL_ERROR_NONE) {
+                   dlog_print(DLOG_ERROR, LOG_TAG, "lauching operation pic failed");
+                   ret = -1;
+               } else {
+                       ret = 0;
+               }
+
+               app_control_destroy(service);
+       }
+       return ret;
+}
+
+static void gl_widget_on_no_image_cb(void *data, Evas_Object *obj,
+       const char *emission, const char *source)
+{
+       _widget_data *widget_data = (_widget_data *)data;
+       if (!widget_data) {
+               dlog_print(DLOG_ERROR, LOG_TAG, "Invalid userdata!!");
+               return;
+       }
+
+       Evas_Object *layout = widget_data->layout;
+       if (!layout) {
+               dlog_print(DLOG_ERROR, LOG_TAG, "Invalid layout!!");
+               return;
+       }
+
+       gl_widget_launch_gallery_ug(widget_data);
+}
+
+Eina_Bool gl_widget_load_preselected_images()
+{
+       char *dbPath = "/opt/usr/media/selectedimages.eet";
+       Eet_File *fp = NULL;
+
+       fp = eet_open(dbPath, EET_FILE_MODE_READ);
+       if (fp) {
+               int size = 0;
+               int i = 0;
+               int arrayLength = 0;
+               char buffer[100] = {0,};
+               char *data = NULL;
+
+               data = eet_read(fp, "imageCnt", &size);
+               if (data != NULL) {
+                       snprintf(buffer, sizeof(buffer), "%s", data);
+                       arrayLength = atoi(buffer);
+                       selected_count = arrayLength;
+                       dlog_print(DLOG_ERROR, LOG_TAG, "selected_count %d - arrayLength %d", selected_count, arrayLength);
+                       free(data);
+               }
+               selected_images = (char **)malloc(arrayLength * sizeof(char *));
+               if (!selected_images) {
+                       eet_close(fp);
+                       return EINA_FALSE;
+               }
+
+               for (i = 0 ; i < arrayLength; i++) {
+                       selected_images[i] = (char *)malloc(100 * sizeof(char));
+                       if (selected_images[i]) {
+                               snprintf(buffer, sizeof(buffer), "image%d", i);
+                               data = eet_read(fp, buffer, &size);
+                               if (data) {
+                                       strncpy(selected_images[i], data, 100);
+                                       free(data);
+                               }
+                       }
+               }
+
+               eet_close(fp);
+               return EINA_TRUE;
+       }
+       return EINA_FALSE;
+}
+
+static void _gl_widget_db_update_cb(media_content_error_e error, int pid,
+                             media_content_db_update_item_type_e update_item,
+                             media_content_db_update_type_e update_type,
+                             media_content_type_e media_type, char *uuid,
+                             char *path, char *mime_type, void *data)
+{
+       dlog_print(DLOG_INFO, LOG_TAG, "update_item[%d], update_type[%d], media_type[%d]", update_item,
+              update_type, media_type);
+       if (!data) {
+               dlog_print(DLOG_ERROR, LOG_TAG, "Invalid userdata!!");
+               return ;
+       }
+       if (update_item == MEDIA_ITEM_FILE && update_type == MEDIA_CONTENT_DELETE) {
+               _widget_data *widget_data = (_widget_data *)data;
+               if (selected_count == 1) {
+                       if (!strcmp(selected_images[0], path)) {
+                               Evas_Object *btn = elm_object_part_content_unset(
+                                               widget_data->layout,
+                                               "Edit_button");
+                               if (btn) {
+                                       evas_object_hide(btn);
+                               }
+                               elm_object_signal_emit(widget_data->layout, "hideall", "elm");
+                               elm_object_signal_emit(widget_data->layout, "hide_album_date_info", "elm");
+                       }
+                       elm_object_signal_callback_add(widget_data->layout, "mouse,clicked,1", "bg", gl_widget_on_no_image_cb, widget_data);
+               }
+       }
+}
+
+int gl_widget_create(_widget_data *widget_data, int w, int h)
+{
+       if (!widget_data) {
+               dlog_print(DLOG_ERROR, LOG_TAG, "Invalid userdata!!");
+               return -1;
+       }
+       char edj_path[PATH_MAX] = {0,};
+       Evas_Object *layout = NULL;
+       dlog_print(DLOG_ERROR, LOG_TAG, "here0 - %x", widget_data->win);
+       layout = elm_layout_add(widget_data->win);
+       if (!layout) {
+               dlog_print(DLOG_ERROR, LOG_TAG, "Invalid layout!!");
+               return -1;
+       }
+
+       elm_layout_file_set(layout,
+               "/usr/apps/org.tizen.gallery/res/edje/gallerywidget.edj",
+               "widget_custom_main");
+       evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+       evas_object_resize(layout, WIDGET_WIDTH,WIDGET_HEIGHT);
+       evas_object_show(layout);
+       widget_data->layout = layout;
+
+       if (!gl_widget_load_preselected_images()) {
+               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 {
+               if (selected_count >= IMAGES_THRESHOLD) {
+                       gl_widget_animator_cb(layout);
+               } else {
+                       gl_widget_animator_cb_for_less_than_five_images(layout);
+               }
+               loop_count++;
+               if (selected_count > 1) {
+                       widget_data->timer = ecore_timer_loop_add(TIMER_INTERVAL, gl_widget_timer_cb, layout);
+               }
+               _gl_widget_create_edit_btn(widget_data);
+               _gl_widget_show_album_date_info(selected_count, selected_images, widget_data,
+                               layout);
+       }
+
+       evas_object_resize(layout, w, h);
+       evas_object_event_callback_add(widget_data->win, EVAS_CALLBACK_KEY_DOWN,
+               gl_widget_key_down_cb, NULL);
+
+       int ret = media_content_set_db_updated_cb(_gl_widget_db_update_cb, widget_data);
+       if (ret != MEDIA_CONTENT_ERROR_NONE) {
+               dlog_print(DLOG_ERROR, LOG_TAG, "Set db updated cb failed[%d]!", ret);
+       }
+       return 0;
+}
+/* End of a file */
diff --git a/widget/src/gl_widget_main.c b/widget/src/gl_widget_main.c
new file mode 100644 (file)
index 0000000..9a997c3
--- /dev/null
@@ -0,0 +1,192 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*
+*/
+
+#include <Elementary.h>
+#include <tizen.h>
+#include <app.h>
+#include <dlog.h>
+
+//#include <widget.h>
+#include <widget_errno.h>
+#include <widget_service.h>
+//#include <widget_provider_app.h>
+#include <widget_app.h>
+#include <widget_app_efl.h>
+
+#include "gl_widget.h"
+#include "gl_widget_debug.h"
+
+void *getWidgetData(widget_context_h context)
+{
+       void *data = NULL;
+       widget_app_context_get_tag(context, &data);
+       return data;
+}
+
+int widget_Create(widget_context_h context, bundle *content, int w, int h, void *data)
+{
+       Evas_Object *win = NULL;
+       int ret = widget_app_get_elm_win(context, &win);
+       if (ret != WIDGET_ERROR_NONE) {
+               DbgPrint("failed to get window. err = %d", ret);
+       }
+       elm_config_accel_preference_set("3d");
+
+       struct widget_data *widget_data = NULL;
+
+       widget_data = calloc(1, sizeof(*widget_data));
+       if (!widget_data) {
+               DbgPrint("failed to create instance");
+               return WIDGET_ERROR_OUT_OF_MEMORY;
+       }
+       bindtextdomain(PACKAGE, "/usr/apps/org.tizen.gallery/res/locale");
+
+       widget_data->win = win;
+
+       evas_object_resize(widget_data->win, w, h);
+       evas_object_color_set(widget_data->win, 0, 0, 0, 0);
+       evas_object_show(widget_data->win);
+
+       widget_data->is_edit = false;
+       gl_widget_create(widget_data, w, h);
+       DbgPrint("Resized to %dx%d\n", w, h);
+
+       widget_app_context_set_tag(context, widget_data);
+
+       return WIDGET_ERROR_NONE;
+}
+
+int widget_Destroy(widget_context_h context, widget_app_destroy_type_e reason, bundle *content, void *data)
+{
+       if (reason != WIDGET_APP_DESTROY_TYPE_PERMANENT) {
+               // Save the current status at the bundle object.
+       }
+       struct widget_data *widget_data = NULL;
+
+       widget_data = (struct widget_data *)getWidgetData(context);
+       if (!widget_data) {
+               return WIDGET_ERROR_INVALID_PARAMETER;
+       }
+       widget_app_context_set_tag(context, NULL);
+
+       evas_object_del(widget_data->win);
+       free(widget_data->content);
+
+       if (widget_data->timer) {
+               ecore_timer_del(widget_data->timer);
+       }
+       free(widget_data);
+
+       remove("/opt/usr/media/selectedimages.eet");
+
+       return WIDGET_ERROR_NONE;
+}
+
+int widget_Pause(widget_context_h context, void *data)
+{
+       return WIDGET_ERROR_NONE;
+}
+
+int widget_Resume(widget_context_h context, void *data)
+{
+       return WIDGET_ERROR_NONE;
+}
+
+int widget_Resize(widget_context_h context, int w, int h, void *data)
+{
+       struct widget_data *widget_data = NULL;
+
+       widget_data = (struct widget_data *)getWidgetData(context);
+       if (!widget_data) {
+               return WIDGET_ERROR_INVALID_PARAMETER;
+       }
+
+       evas_object_resize(widget_data->win, w, h);
+       evas_object_resize(widget_data->bg, w, h);
+       evas_object_resize(widget_data->conformant, w, h);
+
+       DbgPrint("Resized to %dx%d\n", w, h);
+
+       return WIDGET_ERROR_NONE;
+}
+
+int widget_Update(widget_context_h context, bundle *content, int force, void *data)
+{
+       return WIDGET_ERROR_NONE;
+}
+
+static void app_language_changed(app_event_info_h event_info, void *data)
+{
+       DbgPrint("language change triggered");
+       char *lang = NULL;
+       app_event_get_language(event_info, &lang);
+       if (lang) {
+               elm_language_set(lang);
+               free(lang);
+       }
+}
+
+static void app_region_changed(app_event_info_h event_info, void *data)
+{
+       DbgPrint("region change triggered");
+}
+
+widget_class_h app_create(void *data)
+{
+       app_event_handler_h lang_changed_handler;
+       app_event_handler_h region_changed_handler;
+
+       widget_app_add_event_handler(&lang_changed_handler, APP_EVENT_LANGUAGE_CHANGED,
+               &app_language_changed, data);
+       widget_app_add_event_handler(&region_changed_handler, APP_EVENT_REGION_FORMAT_CHANGED,
+               &app_region_changed, data);
+
+       widget_instance_lifecycle_callback_s ops;
+       ops.create = widget_Create;
+       ops.destroy = widget_Destroy;
+       ops.pause = widget_Pause;
+       ops.resume = widget_Resume;
+       ops.resize = widget_Resize;
+       ops.update = widget_Update;
+
+       return widget_app_class_create(ops, data);
+}
+
+void app_terminate(void *data)
+{
+       /**
+        * @TODO:
+        */
+}
+
+int main(int argc, char *argv[])
+{
+       int result = WIDGET_ERROR_NONE;
+
+       widget_app_lifecycle_callback_s ops = {0,};
+       ops.create = app_create;
+       ops.terminate = app_terminate;
+
+       result = widget_app_main(argc, argv, &ops, NULL);
+       if (result != WIDGET_ERROR_NONE) {
+               DbgPrint("widget_app_main() is failed. err = %d", result);
+       }
+
+       return result;
+}
+
+/* End of a file */