diff options
author | Jinkun Jang <jinkun.jang@samsung.com> | 2013-03-16 01:05:07 +0900 |
---|---|---|
committer | Jinkun Jang <jinkun.jang@samsung.com> | 2013-03-16 01:05:07 +0900 |
commit | a957a0a7a609392ae358efedbe368a099ac8c4d8 (patch) | |
tree | e87c6de5990330992a2c96c73da2952c763e126a | |
parent | 3c23b68d6288c6a56975f3591b4cfeddafb79134 (diff) | |
download | ug-myfile-efl-a957a0a7a609392ae358efedbe368a099ac8c4d8.tar.gz ug-myfile-efl-a957a0a7a609392ae358efedbe368a099ac8c4d8.tar.bz2 ug-myfile-efl-a957a0a7a609392ae358efedbe368a099ac8c4d8.zip |
merge with master
-rw-r--r-- | packaging/ug-myfile-efl.spec | 2 | ||||
-rw-r--r-- | src/common/file-system/mf-ug-file-attr.c | 14 | ||||
-rw-r--r-- | src/common/mf-ug-cb.c | 139 | ||||
-rw-r--r-- | src/common/mf-ug-fm-svc-wapper.c | 8 | ||||
-rw-r--r-- | src/common/mf-ug-list-play.c | 20 | ||||
-rw-r--r-- | src/common/mf-ug-util.c | 15 | ||||
-rw-r--r-- | src/include/mf-ug-conf.h | 1 | ||||
-rw-r--r-- | src/include/mf-ug-list-play.h | 1 | ||||
-rw-r--r-- | src/include/mf-ug-main.h | 3 | ||||
-rw-r--r-- | src/include/mf-ug-resource.h | 3 | ||||
-rw-r--r-- | src/include/mf-ug-util.h | 1 | ||||
-rw-r--r-- | src/include/mf-ug-winset.h | 1 | ||||
-rw-r--r-- | src/mf-ug-main.c | 5 | ||||
-rw-r--r-- | src/widget/mf-ug-genlist.c | 16 | ||||
-rw-r--r-- | src/widget/mf-ug-navi-bar.c | 16 | ||||
-rw-r--r-- | src/widget/mf-ug-popup.c | 2 | ||||
-rw-r--r-- | src/widget/mf-ug-search-view.c | 6 |
17 files changed, 216 insertions, 37 deletions
diff --git a/packaging/ug-myfile-efl.spec b/packaging/ug-myfile-efl.spec index 39c6d3c..ce8270a 100644 --- a/packaging/ug-myfile-efl.spec +++ b/packaging/ug-myfile-efl.spec @@ -1,7 +1,7 @@ #sbs-git:slp/pkgs/u/ug-myfile-efl ug-myfile-efl 0.0.1 1b44640a2e59d1af1ab0792e39a73bf3680b25c9 Name: ug-myfile-efl Summary: Myfile UI Gadget (EFL) -Version: 0.0.44 +Version: 0.0.45 Release: 1 Group: misc License: Flora diff --git a/src/common/file-system/mf-ug-file-attr.c b/src/common/file-system/mf-ug-file-attr.c index f2b2cbd..b5e41af 100644 --- a/src/common/file-system/mf-ug-file-attr.c +++ b/src/common/file-system/mf-ug-file-attr.c @@ -265,6 +265,20 @@ static mf_ug_fs_file_type __mf_ug_file_attr_get_category_by_file_ext(const char if (strcasecmp("IPK", &file_ext[i]) == 0) { return UG_FILE_TYPE_APP; } + if (strcasecmp("isma", &file_ext[i]) == 0) { + if (mf_ug_file_attr_is_drm_file(fullpath) == 0) { + return UG_FILE_TYPE_DRM; + } else { + return UG_FILE_TYPE_SOUND; + } + } + if (strcasecmp("ismv", &file_ext[i]) == 0) { + if (mf_ug_file_attr_is_drm_file(fullpath) == 0) { + return UG_FILE_TYPE_DRM; + } else { + return UG_FILE_TYPE_SOUND; + } + } break; case 'j': case 'J': diff --git a/src/common/mf-ug-cb.c b/src/common/mf-ug-cb.c index 39440c7..fb0661f 100644 --- a/src/common/mf-ug-cb.c +++ b/src/common/mf-ug-cb.c @@ -191,7 +191,7 @@ void mf_ug_cb_add_button_cb(void *data, Evas_Object *obj, void *event_info) return;
}
- if (ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE) {
+ if (ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE || ugd->ug_UiGadget.ug_iSelectMode == SAVE_MODE) {
result = g_strdup(ugd->ug_Status.ug_pPath->str);
} else {
result = mf_ug_util_get_send_result(ugd);
@@ -463,7 +463,7 @@ void mf_ug_cb_upper_click_cb(void *data, Evas_Object * obj, void *event_info) return;
}
- if (mf_ug_fm_svc_wapper_is_root_path(ugd)) {
+ if (mf_ug_fm_svc_wapper_is_root_path(ugd->ug_Status.ug_pPath)) {
ugd->ug_Status.ug_iViewType = mf_ug_view_root;
}
@@ -864,7 +864,7 @@ static void __mf_ug_cb_mmc_remove_view_operation(void *data) Evas_Object *parent = NULL;
const char *labelStorage = NULL;
- parent = ugd->ug_MainWindow.ug_pContent;
+ parent = ugd->ug_MainWindow.ug_pNaviGenlist;
labelStorage = MEMORY_FOLDER;
mf_ug_genlist_item_remove(parent, labelStorage);
@@ -1001,6 +1001,24 @@ void mf_ug_cb_dir_update_cb(mf_ug_inotify_event event, char *name, void *data) ** Modification : Created function
**
******************************/
+static GString *__mf_ug_cb_dir_pipe_get_parent(GString *path)
+{
+
+ ug_mf_retvm_if(path == NULL, NULL, "path is NULL");
+ ug_mf_retvm_if(path->str == NULL, NULL, "path->str is NULL");
+
+ if (ecore_file_exists(path->str)) {
+ return path;
+ } else if (mf_ug_fm_svc_wapper_is_root_path(path)) {
+ return path;
+ } else {
+ GString *parent = mf_ug_fm_svc_wrapper_get_file_parent_path(path);
+ UG_SAFE_FREE_GSTRING(path);
+ __mf_ug_cb_dir_pipe_get_parent(parent);
+ }
+ return path;
+}
+
void mf_ug_cb_dir_pipe_cb(void *data, void *buffer, unsigned int nbyte)
{
UG_TRACE_BEGIN;
@@ -1008,39 +1026,144 @@ void mf_ug_cb_dir_pipe_cb(void *data, void *buffer, unsigned int nbyte) ug_mf_retm_if(ugd == NULL, "ugd is NULL");
- ugNaviBar *pNavi_s = mf_ug_navi_bar_get_in_use_navi(ugd);
- ug_mf_retm_if(pNavi_s == NULL, "get navigation bar in use failed");
-
if (ugd->ug_ListPlay.ug_iPlayState != PLAY_STATE_INIT) {
return;
}
+ if (ugd->ug_Status.ug_iViewType == mf_ug_view_root) {
+ return;
+ }
+
+ if (g_strcmp0(ugd->ug_Status.monitor_path, ugd->ug_Status.ug_pPath->str)) {
+ return;
+ }
if (buffer) {
ug_dir_event_t *msg = (ug_dir_event_t *) buffer;
ug_debug("event : %d, name : %s", msg->event, msg->name);
Evas_Object *newContent = NULL;
+ ugListItemData *itemData = NULL;
+ Elm_Object_Item *it = NULL;
+ GString *parent = NULL;
+ char *path = NULL;
+ int count = 0;
+
switch (msg->event) {
case UG_MF_INOTI_CREATE:
case UG_MF_INOTI_MOVE_IN:
/*/1 TODO: add new item to list */
+ if(msg->name) {
+ path = g_strconcat(ugd->ug_Status.ug_pPath->str, "/", msg->name, NULL);
+ int file_type = 0;
+ if (mf_ug_file_attr_is_dir(path)) {
+ file_type = UG_FILE_TYPE_DIR;
+ } else {
+ file_type = UG_FILE_TYPE_FILE;
+ }
+ ugFsNodeInfo *pNode = mf_ug_util_generate_pnode(path, file_type);
+ if (ugd->ug_MainWindow.ug_pNaviGenlist == NULL) {
+
+ Evas_Object *genlist = NULL;
+ genlist = elm_genlist_add(ugd->ug_MainWindow.ug_pNaviBar);
+ 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);
+
+ ugd->ug_MainWindow.ug_pNaviGenlist = genlist;
+ evas_object_smart_callback_add(genlist, "selected", mf_ug_genlist_selected_gl, ugd);
+
+ evas_object_del(elm_object_part_content_unset(ugd->ug_MainWindow.ug_pNaviLayout, "part1"));
+
+ elm_object_part_content_set(ugd->ug_MainWindow.ug_pNaviLayout, "part1", newContent);
+ elm_object_part_content_set(ugd->ug_MainWindow.ug_pNaviLayout, "part1", genlist);
+ }
+ if (file_type == UG_FILE_TYPE_DIR) {
+ if (ugd->ug_UiGadget.ug_iSelectMode == MULTI_FILE_MODE ||
+ ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE ||
+ ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE ||
+ ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE ||
+ ugd->ug_UiGadget.ug_iSelectMode == SAVE_MODE ||
+ ugd->ug_UiGadget.ug_iSelectMode == IMPORT_SINGLE) {
+
+ mf_ug_genlist_item_append(ugd->ug_MainWindow.ug_pNaviGenlist, pNode, ugd, 0, &ugd->ug_Status.ug_normalitc);
+ } else {
+ int groupValue = elm_genlist_items_count(ugd->ug_MainWindow.ug_pNaviGenlist);
+ mf_ug_genlist_item_append(ugd->ug_MainWindow.ug_pNaviGenlist, pNode, ugd, groupValue, &ugd->ug_Status.ug_itc);
+ }
+ } else {
+ if (ugd->ug_UiGadget.ug_iSelectMode == SINGLE_ALL_MODE || ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE) {
+ int groupValue = elm_genlist_items_count(ugd->ug_MainWindow.ug_pNaviGenlist);
+ mf_ug_genlist_item_append(ugd->ug_MainWindow.ug_pNaviGenlist, pNode, ugd, groupValue, &ugd->ug_Status.ug_itc);
+ } else if (ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE || ugd->ug_UiGadget.ug_iSelectMode == SAVE_MODE) {
+ mf_ug_genlist_item_append(ugd->ug_MainWindow.ug_pNaviGenlist, pNode, ugd, 0, &ugd->ug_Status.ug_normalitc);
+ } else {
+ mf_ug_genlist_item_append(ugd->ug_MainWindow.ug_pNaviGenlist, pNode, ugd, 0, &ugd->ug_Status.ug_itc);
+ }
+
+ }
+
+ if (pNode != NULL) {
+ UG_SAFE_FREE_CHAR(pNode->ext);
+ free(pNode);
+ pNode = NULL;
+ }
+ }
break;
case UG_MF_INOTI_DELETE:
case UG_MF_INOTI_MOVE_OUT:
/*/1 TODO: remove item from list */
+ path = g_strconcat(ugd->ug_Status.ug_pPath->str, "/", msg->name, NULL);
+ it = elm_genlist_first_item_get(ugd->ug_MainWindow.ug_pNaviGenlist);
+ while (it) {
+ itemData = elm_object_item_data_get(it);
+ if (itemData->ug_pItemName == NULL || itemData->ug_pItemName->str == NULL) {
+ ug_debug();
+ continue;
+ }
+ if (g_strcmp0(path, itemData->ug_pItemName->str) == 0) {
+ elm_object_item_del(it);
+ break;
+ }
+
+ it = elm_genlist_item_next_get(it);
+ }
+ count = elm_genlist_items_count(ugd->ug_MainWindow.ug_pNaviGenlist);
+ ugd->ug_Status.ug_bNoContentFlag = !count;
+
break;
case UG_MF_INOTI_MODIFY:
/*/1 TODO: update item in list */
+ ugd->ug_MainWindow.ug_pNaviGenlist = newContent = mf_ug_genlist_create_content_list_view(ugd);
+ mf_ug_navi_bar_set_new_content(ugd->ug_MainWindow.ug_pNaviLayout, newContent);
break;
case UG_MF_INOTI_DELETE_SELF:
case UG_MF_INOTI_MOVE_SELF:
/*/1 TODO: watching directory is removed, change current directory. */
+ {
+ GString *current = NULL;
+ current = g_string_new(ugd->ug_Status.ug_pPath->str);
+ parent = __mf_ug_cb_dir_pipe_get_parent(current);
+
+ ugNaviBar *pNavi_s = mf_ug_navi_bar_get_in_use_navi(ugd);
+
+
+ g_string_free(ugd->ug_Status.ug_pPath, TRUE);
+ ugd->ug_Status.ug_pPath = NULL;
+ ugd->ug_Status.ug_pPath = parent;
+
+ if (pNavi_s->ug_pCurrentPath != NULL) {
+ free(pNavi_s->ug_pCurrentPath);
+ pNavi_s->ug_pCurrentPath = NULL;
+ }
+ pNavi_s->ug_pCurrentPath = g_strdup(parent->str);
+
+
+
+ mf_ug_navi_bar_create_default_view(ugd);
+ }
break;
default:
ug_mf_error("Unknown event");
break;
}
- ugd->ug_MainWindow.ug_pContent = newContent = mf_ug_genlist_create_content_list_view(ugd);
- mf_ug_navi_bar_set_new_content(ugd->ug_MainWindow.ug_pNaviLayout, newContent);
mf_ug_ctrl_bar_set_item_disable(ugd);
if (msg->name) {
free(msg->name);
diff --git a/src/common/mf-ug-fm-svc-wapper.c b/src/common/mf-ug-fm-svc-wapper.c index d6ca417..e7f7509 100644 --- a/src/common/mf-ug-fm-svc-wapper.c +++ b/src/common/mf-ug-fm-svc-wapper.c @@ -282,12 +282,12 @@ int mf_ug_fm_svc_wapper_get_file_list_by_filter(ugData *data, GString *fullpath, ******************************/
bool mf_ug_fm_svc_wapper_is_root_path(void *data)
{
- ugData *ugd = (ugData *)data;
- ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL");
+ GString *g_path = (GString *)data;
+ ug_mf_retvm_if(g_path == NULL, false, "g_path is NULL");
- if (!strcmp(ugd->ug_Status.ug_pPath->str, PHONE_FOLDER)) {
+ if (!strcmp(g_path->str, PHONE_FOLDER)) {
return true;
- } else if (!strcmp(ugd->ug_Status.ug_pPath->str, MEMORY_FOLDER)) {
+ } else if (!strcmp(g_path->str, MEMORY_FOLDER)) {
return true;
} else {
return false;
diff --git a/src/common/mf-ug-list-play.c b/src/common/mf-ug-list-play.c index cd63d50..c052f45 100644 --- a/src/common/mf-ug-list-play.c +++ b/src/common/mf-ug-list-play.c @@ -352,7 +352,7 @@ void mf_ug_list_disable_play_itc(void *data, bool disable) UG_TRACE_END; return; } - pGenlist = ugd->ug_MainWindow.ug_pContent; + pGenlist = ugd->ug_MainWindow.ug_pNaviGenlist; gl_item = elm_genlist_first_item_get(pGenlist); while (gl_item) { @@ -394,7 +394,7 @@ void mf_ug_list_paly_hide_play_icon(void *data) UG_TRACE_END; return; } - pGenlist = ugd->ug_MainWindow.ug_pContent; + pGenlist = ugd->ug_MainWindow.ug_pNaviGenlist; gl_item = elm_genlist_first_item_get(pGenlist); while (gl_item) { @@ -460,7 +460,7 @@ void mf_ug_list_play_update_item_icon(void *data) UG_TRACE_END; return; } - pGenlist = ugd->ug_MainWindow.ug_pContent; + pGenlist = ugd->ug_MainWindow.ug_pNaviGenlist; gl_item = elm_genlist_first_item_get(pGenlist); while (gl_item) { @@ -1486,6 +1486,20 @@ static bool __mf_ug_list_play_pause(void *data) ** Modification : Created function ** ******************************/ +void mf_ug_list_play_pause(void *data) +{ + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + int state = ugd->ug_ListPlay.ug_iPlayState; + + if (state == PLAY_STATE_PLAYING) { + if(__mf_ug_list_play_pause(ugd)) { + __mf_ug_list_play_pauset(ugd); + mf_ug_list_disable_play_itc(ugd, false); + } + } +} static void __mf_ug_list_play_control_cb(void *data) { UG_TRACE_BEGIN; diff --git a/src/common/mf-ug-util.c b/src/common/mf-ug-util.c index 3e9b312..76ed9fc 100644 --- a/src/common/mf-ug-util.c +++ b/src/common/mf-ug-util.c @@ -61,8 +61,8 @@ bool mf_ug_util_is_genlist_selected(void *data) ugNaviBar *pNavi_s = mf_ug_navi_bar_get_in_use_navi(ugd);
ug_mf_retvm_if(pNavi_s == NULL, false, "get navigation bar in use failed");
- if (ugd->ug_MainWindow.ug_pContent) {
- genlist = ugd->ug_MainWindow.ug_pContent;
+ if (ugd->ug_MainWindow.ug_pNaviGenlist) {
+ genlist = ugd->ug_MainWindow.ug_pNaviGenlist;
gli = elm_genlist_first_item_get(genlist);
while (gli) {
@@ -218,10 +218,10 @@ static void __mf_ug_util_get_marked_off_selected_items(void *data, Eina_List **s ugData *ugd = (ugData *)data;
ug_mf_retm_if(ugd == NULL, "ugData is NULL");
ug_mf_retm_if(select_list == NULL, "selected_list is NULL");
- ug_mf_retm_if(ugd->ug_MainWindow.ug_pContent == NULL, "ugd->ug_MainWindow.ug_pContent is NULL");
+ ug_mf_retm_if(ugd->ug_MainWindow.ug_pNaviGenlist == NULL, "ugd->ug_MainWindow.ug_pNaviGenlist is NULL");
- Evas_Object *content = ugd->ug_MainWindow.ug_pContent;
+ Evas_Object *content = ugd->ug_MainWindow.ug_pNaviGenlist;
Elm_Object_Item *gli = elm_genlist_first_item_get(content);
int radio_id = 1;
Elm_Object_Item *nli = NULL;
@@ -422,6 +422,11 @@ int mf_ug_util_create_dir_monitor(void *data) ******************************/
int mf_ug_util_add_dir_watch(const char *path, void *data)
{
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retvm_if(ugd == NULL, UG_ERROR_RETURN, "ugd is NULL");
+ UG_SAFE_FREE_CHAR(ugd->ug_Status.monitor_path);
+ ugd->ug_Status.monitor_path = g_strdup(path);
return mf_ug_inotify_handle_add_inotify_watch(path, mf_ug_cb_dir_update_cb, data);
}
@@ -552,7 +557,7 @@ void mf_ug_util_storage_insert_action(void *data, char *pItemLabel) snprintf(pNode->name, sizeof(pNode->name), "%s", MMC_NAME);
pNode->type = UG_FILE_TYPE_DIR;
ugd->ug_UiGadget.ug_pDirList = eina_list_append(ugd->ug_UiGadget.ug_pDirList, pNode);
- mf_ug_genlist_item_append(ugd->ug_MainWindow.ug_pContent, pNode, ugd, 0, &ugd->ug_Status.ug_normalitc);
+ mf_ug_genlist_item_append(ugd->ug_MainWindow.ug_pNaviGenlist, pNode, ugd, 0, &ugd->ug_Status.ug_normalitc);
}
UG_TRACE_END;
diff --git a/src/include/mf-ug-conf.h b/src/include/mf-ug-conf.h index 13de93d..0698312 100644 --- a/src/include/mf-ug-conf.h +++ b/src/include/mf-ug-conf.h @@ -49,6 +49,7 @@ #define UG_SELECT_MODE_IMPORT_SINGLE "IMPORT_SINGLE" #define UG_SELECT_MODE_EXPORT "EXPORT" #define UG_SELECT_MODE_SHORTCUT "SHORTCUT" +#define UG_SELECT_MODE_SAVE "SAVE" #define UG_FILE_FILTER_IMAGE "IMAGE" #define UG_FILE_FILTER_SOUND "SOUND" diff --git a/src/include/mf-ug-list-play.h b/src/include/mf-ug-list-play.h index 703daeb..b24f39b 100644 --- a/src/include/mf-ug-list-play.h +++ b/src/include/mf-ug-list-play.h @@ -69,5 +69,6 @@ typedef struct { } mf_player_cb_extra_data; void mf_ug_player_vol_set(const char *path); +void mf_ug_list_play_pause(void *data); #endif diff --git a/src/include/mf-ug-main.h b/src/include/mf-ug-main.h index 5d4d0bf..43b07c7 100644 --- a/src/include/mf-ug-main.h +++ b/src/include/mf-ug-main.h @@ -73,7 +73,7 @@ struct _ugMainWindow { Evas_Object *ug_pNaviBar; Evas_Object *ug_pNaviLayout; - Evas_Object *ug_pContent; + Evas_Object *ug_pNaviGenlist; Evas_Object *ug_pNaviCtrlBar; Evas_Object *ug_pNaviBox; @@ -116,6 +116,7 @@ struct _ugStatus { int ug_iThemeType; char *ug_pUpper_folder; char *ug_pEntryPath; + char *monitor_path; bool ug_bUpperFlag; Elm_Genlist_Item_Class ug_itc; Elm_Genlist_Item_Class ug_topitc; diff --git a/src/include/mf-ug-resource.h b/src/include/mf-ug-resource.h index 6b1a9e0..d05ff9a 100644 --- a/src/include/mf-ug-resource.h +++ b/src/include/mf-ug-resource.h @@ -50,6 +50,7 @@ #define MF_UG_LABEL_NO_RESULT dgettext("sys_string", "IDS_COM_BODY_NO_SEARCH_RESULTS") #define MF_UG_LABEL_IMPORT dgettext("sys_string", "IDS_COM_OPT_IMPORT") #define MF_UG_LABEL_EXPORT "Export here" +#define MF_UG_LABEL_SAVE_HERE "Set here" #define MF_UG_LABEL_CREATE dgettext("sys_string", "IDS_COM_BODY_CREATE_FOLDER") #define MF_UG_LABEL_NOT_ENOUGH_SPACE dgettext("sys_string", "IDS_COM_POP_NOT_ENOUGH_MEMORY") #define MF_UG_LABEL_FOLDER dgettext("sys_string", "IDS_COM_POP_FOLDER") @@ -72,6 +73,6 @@ #define MF_UG_LABEL_GO_TO_MYFILES dgettext(UGPACKAGE, "IDS_MF_BUTTON_GO_TO_MY_FILES") #define MF_UG_LABEL_RINGTONES dgettext(UGPACKAGE, "IDS_MF_BODY_RINGTONES") #define MF_UG_LABEL_MAX_CHARACTER_REACHED dgettext("sys_string", "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED") - +#define MF_UG_LABEL_ALARM dgettext("sys_string", "IDS_COM_BODY_ALARM") #endif diff --git a/src/include/mf-ug-util.h b/src/include/mf-ug-util.h index 0562873..2056488 100644 --- a/src/include/mf-ug-util.h +++ b/src/include/mf-ug-util.h @@ -116,6 +116,7 @@ enum _mf_ug_select_mode { EXPORT_MODE, IMPORT_MODE, IMPORT_SINGLE, + SAVE_MODE, SELECT_MODE_MAX }; diff --git a/src/include/mf-ug-winset.h b/src/include/mf-ug-winset.h index 63badfb..36530e2 100644 --- a/src/include/mf-ug-winset.h +++ b/src/include/mf-ug-winset.h @@ -160,5 +160,6 @@ Elm_Object_Item *mf_ug_genlist_item_append(Evas_Object *parent, void *data,
int groudValue,
Elm_Genlist_Item_Class *itc);
+void mf_ug_genlist_selected_gl(void *data, Evas_Object *obj, void *event_info);
#endif
diff --git a/src/mf-ug-main.c b/src/mf-ug-main.c index 73b6d9f..b8bd008 100644 --- a/src/mf-ug-main.c +++ b/src/mf-ug-main.c @@ -342,6 +342,7 @@ static int __mf_ug_main_set_path_option(void *data, const char *path) if (ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE || ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE || + ugd->ug_UiGadget.ug_iSelectMode == SAVE_MODE || ugd->ug_UiGadget.ug_iSelectMode == IMPORT_SINGLE) { error_code = mf_ug_fm_svc_wrapper_create_p(entry_path); if (error_code != MYFILE_ERR_NONE) { @@ -419,6 +420,9 @@ static void __mf_ug_main_set_select_mode(void *data, const char *select_mode) ugd->ug_UiGadget.ug_iSelectMode = IMPORT_SINGLE; ugd->ug_Status.ug_iViewType = mf_ug_view_normal; } + else if (!strncmp(select_mode, UG_SELECT_MODE_SAVE, strlen(select_mode))) { + ugd->ug_UiGadget.ug_iSelectMode = SAVE_MODE; + } else { ugd->ug_UiGadget.ug_iSelectMode = SINGLE_FILE_MODE; } @@ -832,6 +836,7 @@ static void on_pause(ui_gadget_h ug, service_h service, void *priv) ugData *ugd = (ugData *)priv; if (0 != ugd->ug_ListPlay.ug_Player) { + mf_ug_list_play_pause(ugd); //mf_ug_list_play_destory_playing_file(ugd); } } diff --git a/src/widget/mf-ug-genlist.c b/src/widget/mf-ug-genlist.c index 909ca06..e57f78a 100644 --- a/src/widget/mf-ug-genlist.c +++ b/src/widget/mf-ug-genlist.c @@ -164,7 +164,7 @@ static void __mf_ug_genlist_show_select_info(void *data) int iDirCount = 0, iFileCount = 0; Elm_Object_Item *it = NULL; - Evas_Object *pGenlist = ugd->ug_MainWindow.ug_pContent; + Evas_Object *pGenlist = ugd->ug_MainWindow.ug_pNaviGenlist; it = elm_genlist_first_item_get(pGenlist); while (it) { @@ -854,7 +854,7 @@ static void __mf_ug_genlist_del_gl(void *data, Evas_Object *obj) /****************************** -** Prototype : __mf_ug_genlist_selected_gl +** Prototype : mf_ug_genlist_selected_gl ** Description : Samsung ** Input : void *data ** Evas_Object *obj @@ -870,7 +870,7 @@ static void __mf_ug_genlist_del_gl(void *data, Evas_Object *obj) ** Modification : Created function ** ******************************/ -static void __mf_ug_genlist_selected_gl(void *data, Evas_Object *obj, void *event_info) +void mf_ug_genlist_selected_gl(void *data, Evas_Object *obj, void *event_info) { UG_TRACE_BEGIN; ugData *ugd = (ugData *)data; @@ -890,7 +890,7 @@ static void __mf_ug_genlist_selected_gl(void *data, Evas_Object *obj, void *even return; if (!ecore_file_is_dir(selected->ug_pItemName->str)) { - if (ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE) { + if (ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE || ugd->ug_UiGadget.ug_iSelectMode == SAVE_MODE) { return; } @@ -1111,7 +1111,7 @@ Evas_Object *__mf_ug_genlist_create_gl(void *data) 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); - evas_object_smart_callback_add(genlist, "selected", __mf_ug_genlist_selected_gl, ugd); + evas_object_smart_callback_add(genlist, "selected", mf_ug_genlist_selected_gl, ugd); #ifdef UG_THUMB_REAL_TIME_UPDATE if (ugd->ug_Status.ug_pThumbUpdateTimer != NULL) { @@ -1130,6 +1130,7 @@ Evas_Object *__mf_ug_genlist_create_gl(void *data) ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE || ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE || ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE || + ugd->ug_UiGadget.ug_iSelectMode == SAVE_MODE || ugd->ug_UiGadget.ug_iSelectMode == IMPORT_SINGLE) { ugd->ug_Status.ug_normalitc.item_style = "1text.1icon.2"; ugd->ug_Status.ug_normalitc.func.text_get = __mf_ug_genlist_get_gl_label; @@ -1404,7 +1405,7 @@ Evas_Object *mf_ug_genlist_create_content_list_view(void *data) genlist = __mf_ug_genlist_create_gl(ugd); - ugd->ug_MainWindow.ug_pContent = genlist; + ugd->ug_MainWindow.ug_pNaviGenlist = genlist; GString *fullpath = g_string_new(ugd->ug_Status.ug_pPath->str); @@ -1477,6 +1478,7 @@ if (ugd->ug_UiGadget.ug_iSelectMode == MULTI_FILE_MODE || ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE || ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE || ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE || + ugd->ug_UiGadget.ug_iSelectMode == SAVE_MODE || ugd->ug_UiGadget.ug_iSelectMode == IMPORT_SINGLE) { mf_ug_genlist_item_append(genlist, pNode, ugd, 0, &ugd->ug_Status.ug_normalitc); @@ -1491,7 +1493,7 @@ if (ugd->ug_UiGadget.ug_iSelectMode == MULTI_FILE_MODE || if (ugd->ug_UiGadget.ug_iSelectMode == SINGLE_ALL_MODE || ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE) { mf_ug_genlist_item_append(genlist, pNode, ugd, groupValue, &ugd->ug_Status.ug_itc); groupValue++; - } else if (ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE) { + } else if (ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE || ugd->ug_UiGadget.ug_iSelectMode == SAVE_MODE) { mf_ug_genlist_item_append(genlist, pNode, ugd, 0, &ugd->ug_Status.ug_normalitc); } else { mf_ug_genlist_item_append(genlist, pNode, ugd, 0, &ugd->ug_Status.ug_itc); diff --git a/src/widget/mf-ug-navi-bar.c b/src/widget/mf-ug-navi-bar.c index 6d88b88..e8e4615 100644 --- a/src/widget/mf-ug-navi-bar.c +++ b/src/widget/mf-ug-navi-bar.c @@ -99,6 +99,13 @@ static void __mf_ug_navi_bar_push_content(void *data, Evas_Object *NaviContent) pNavi_s->ug_pNaviTitle = NULL; } pNavi_s->ug_pNaviTitle = g_strdup(MF_UG_LABEL_RINGTONES); + } else if(!g_strcmp0(pNavi_s->ug_pNaviTitle, "Alarms")) { + if (pNavi_s->ug_pNaviTitle) { + g_free(pNavi_s->ug_pNaviTitle); + pNavi_s->ug_pNaviTitle = NULL; + } + pNavi_s->ug_pNaviTitle = g_strdup(MF_UG_LABEL_ALARM); + } else if (!g_strcmp0(pNavi_s->ug_pNaviTitle, "Alerts")) { } title = pNavi_s->ug_pNaviTitle; } @@ -423,6 +430,9 @@ void mf_ug_navi_bar_set_ctrl_button(void *data) if (ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE) { bt_1 = mf_ug_navi_bar_create_button(pNavi, NAVI_BUTTON_STYLE, MF_UG_LABEL_EXPORT, NULL, mf_ug_cb_add_button_cb, ugd); bt_2 = mf_ug_navi_bar_create_button(pNavi, NAVI_BUTTON_EDIT, MF_UG_LABEL_CREATE, NULL, mf_ug_cb_more_cb, ugd); + } else if (ugd->ug_UiGadget.ug_iSelectMode == SAVE_MODE) { + bt_1 = mf_ug_navi_bar_create_button(pNavi, NAVI_BUTTON_STYLE, MF_UG_LABEL_SAVE_HERE, NULL, mf_ug_cb_add_button_cb, ugd); + bt_2 = mf_ug_navi_bar_create_button(pNavi, NAVI_BUTTON_EDIT, MF_UG_LABEL_CREATE, NULL, mf_ug_cb_more_cb, ugd); } else if (ugd->ug_UiGadget.ug_iSelectMode == SINGLE_ALL_MODE || ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE) { bt_1 = mf_ug_navi_bar_create_button(pNavi, NAVI_BUTTON_STYLE, MF_UG_LABEL_SET, NULL, mf_ug_cb_add_button_cb, ugd); } @@ -468,7 +478,7 @@ void mf_ug_navi_bar_create_default_view(void *data) if (ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE || ugd->ug_UiGadget.ug_iSelectMode == IMPORT_SINGLE) { newContent = __mf_ug_genlist_create_gl(ugd); - ugd->ug_MainWindow.ug_pContent = newContent; + ugd->ug_MainWindow.ug_pNaviGenlist = newContent; } else { if (ugd->ug_Status.ug_bSettingEntry == true && ugd->ug_Status.ug_bInSettingView == true) { @@ -512,9 +522,9 @@ void mf_ug_navi_bar_create_default_view(void *data) __mf_ug_navi_bar_create_group_radio_box(ugd); } newContent = mf_ug_genlist_create_content_list_view(ugd); - ugd->ug_MainWindow.ug_pContent = newContent; + ugd->ug_MainWindow.ug_pNaviGenlist = newContent; /*set title segment or title */ - if (mf_ug_fm_svc_wapper_is_root_path(ugd) || ugd->ug_Status.ug_iViewType == mf_ug_view_root) { + if (mf_ug_fm_svc_wapper_is_root_path(ugd->ug_Status.ug_pPath) || ugd->ug_Status.ug_iViewType == mf_ug_view_root) { title = g_string_new(MF_UG_LABEL_MYFILES); } else { title = mf_ug_fm_svc_wapper_get_file_name(ugd->ug_Status.ug_pPath); diff --git a/src/widget/mf-ug-popup.c b/src/widget/mf-ug-popup.c index ef238e6..5de8202 100644 --- a/src/widget/mf-ug-popup.c +++ b/src/widget/mf-ug-popup.c @@ -412,7 +412,7 @@ void mf_ug_context_popup_create_more(void *data, Evas_Object *parent) ugd->ug_MainWindow.ug_pContextPopup = ctxpopup;
Elm_Object_Item *it = NULL;
- if (ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE) {
+ if (ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE || ugd->ug_UiGadget.ug_iSelectMode == SAVE_MODE) {
/*Search*/
it = elm_ctxpopup_item_append(ctxpopup, MF_UG_LABEL_CREATE, NULL, mf_ug_cb_create_new_folder, ugd);
}
diff --git a/src/widget/mf-ug-search-view.c b/src/widget/mf-ug-search-view.c index 16861a5..698237e 100644 --- a/src/widget/mf-ug-search-view.c +++ b/src/widget/mf-ug-search-view.c @@ -97,7 +97,7 @@ void mf_ug_search_view_item_append(void *data, void *user_data) #endif Elm_Object_Item *it = NULL; - it = elm_genlist_item_append(ugd->ug_MainWindow.ug_pContent, &ugd->ug_Status.ug_itc, m_TempItem, NULL, ELM_GENLIST_ITEM_NONE, NULL, ugd); + it = elm_genlist_item_append(ugd->ug_MainWindow.ug_pNaviGenlist, &ugd->ug_Status.ug_itc, m_TempItem, NULL, ELM_GENLIST_ITEM_NONE, NULL, ugd); m_TempItem->ug_pItem = it; UG_TRACE_END; @@ -149,7 +149,7 @@ static void __mf_ug_search_select_all_check_changed_cb(void *data, Evas_Object * UG_TRACE_BEGIN; ugData *ugd = (ugData *)data; ug_mf_retm_if(ugd == NULL, "ugd is NULL"); - Evas_Object *genlist = ugd->ug_MainWindow.ug_pContent; + Evas_Object *genlist = ugd->ug_MainWindow.ug_pNaviGenlist; ug_debug("ugd->ug_Status.ug_iTotalCount is [%d]", ugd->ug_Status.ug_iTotalCount); if (ugd->ug_Status.ug_bSelectAllChecked) { ug_debug(); @@ -227,7 +227,7 @@ static void __mf_ug_search_view_result_cb(mf_search_result_t *result, void *user //newContent = mf_ug_genlist_create_content_list_view(ugd); newContent = __mf_ug_genlist_create_gl(ugd); - ugd->ug_MainWindow.ug_pContent = newContent; + ugd->ug_MainWindow.ug_pNaviGenlist = newContent; elm_object_part_content_set(playout, "part1", newContent); |