summaryrefslogtreecommitdiff
path: root/src/widget/mf-ug-popup.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/widget/mf-ug-popup.c')
-rw-r--r--src/widget/mf-ug-popup.c599
1 files changed, 599 insertions, 0 deletions
diff --git a/src/widget/mf-ug-popup.c b/src/widget/mf-ug-popup.c
new file mode 100644
index 0000000..d789a51
--- /dev/null
+++ b/src/widget/mf-ug-popup.c
@@ -0,0 +1,599 @@
+/*
+ * Copyright 2012 Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <notification.h>
+
+#include "mf-ug-util.h"
+#include "mf-ug-winset.h"
+#include "mf-ug-fs-util.h"
+#include "mf-ug-cb.h"
+#include "mf-ug-resource.h"
+
+#define MF_UG_POPUP_STYLE_MIN_MENUSTYLE "min_menustyle"
+#define MF_UG_POPUP_MENUSTYLE_WIDTH (614*elm_config_scale_get())
+#define MF_UG_POPUP_MENUSTYLE_HEIGHT(x) ((113*x-1)*elm_config_scale_get())
+#define MF_UG_POPUP_MENUSTYLE_HEIGHT_MAX (408*elm_config_scale_get())
+Elm_Genlist_Item_Class ug_listby_itc;
+#define MF_UG_ITEM_COUNT 4
+
+typedef struct {
+ int index;
+ ugData* ugd;
+} ugListByData_s;
+
+static int __mf_ug_popup_get_list_by_selected_item(void *data)
+{
+ ug_mf_retvm_if(data == NULL, 0, "data is NULL");
+ ugData *ugd = (ugData *)data;
+
+ int iSortTypeValue = ugd->ug_Status.ug_iSortType;
+
+ int ret = -1;
+ switch (iSortTypeValue) {
+ case MF_UG_SORT_BY_DATE_O2R:
+ case MF_UG_SORT_BY_DATE_R2O:
+ ret = 1;
+ break;
+ case MF_UG_SORT_BY_TYPE_A2Z:
+ case MF_UG_SORT_BY_TYPE_Z2A:
+ ret = 3;
+ break;
+ case MF_UG_SORT_BY_NAME_A2Z:
+ case MF_UG_SORT_BY_NAME_Z2A:
+ ret = 0;
+ break;
+ case MF_UG_SORT_BY_SIZE_S2L:
+ case MF_UG_SORT_BY_SIZE_L2S:
+ ret = 2;
+ break;
+ default:
+ ret = 0;
+ break;
+ }
+ return ret;
+}
+
+
+static char *__mf_ug_popup_get_genlist_label(void *data, Evas_Object * obj, const char *part)
+{
+ ugListByData_s *params = (ugListByData_s *) data;
+ assert(params);
+ ugData *ugd = params->ugd;
+ assert(ugd);
+ assert(part);
+
+ char *ret = NULL;
+ if (!strcmp(part, "elm.text")) {
+ switch (params->index) {
+ case 0: /**< Sort by file name ascending */
+ ret = g_strdup(MF_UG_LABEL_NAME);
+ break;
+ case 1: /**< Sort by file size ascending */
+ ret = g_strdup(MF_UG_LABEL_DATE);
+ break;
+ case 2: /**< Sort by file date ascending */
+ ret = g_strdup(MF_UG_LABEL_SIZE);
+ break;
+ case 3: /**< Sort by file type ascending */
+ ret = g_strdup(MF_UG_LABEL_TYPE);
+ break;
+ default:
+ break;
+ }
+ return ret;
+ }
+ return NULL;
+}
+
+static Evas_Object* __mf_ug_popup_get_genlist_icon(void *data, Evas_Object * obj, const char *part)
+{
+ ugListByData_s *params = (ugListByData_s *) data;
+ assert(params);
+ ugData *ugd = params->ugd;
+ assert(ugd);
+ assert(part);
+
+ if (!strcmp(part, "elm.icon")) {
+ Evas_Object *radio = NULL;
+ radio = elm_radio_add(obj);
+ elm_object_focus_set(radio, EINA_FALSE);
+ elm_radio_state_value_set(radio, params->index);
+ elm_radio_group_add(radio, ugd->ug_Status.ug_pRadioGroup);
+ elm_radio_value_set(radio, ugd->ug_Status.ug_iRadioValue);
+ evas_object_show(radio);
+ return radio;
+ }
+ return NULL;
+}
+
+static void __mf_ug_popup_genlist_select(void *data, Evas_Object * obj, void *event_info)
+{
+ assert(data);
+ assert(event_info);
+ ugListByData_s *params = NULL;
+ Elm_Object_Item *item = (Elm_Object_Item *) event_info;
+ if (item != NULL) {
+ params = (ugListByData_s *) elm_object_item_data_get(item);
+ if (params != NULL && params->ugd != NULL) {
+ params->ugd->ug_Status.ug_iSelectedSortType = params->index;
+ elm_radio_value_set(params->ugd->ug_Status.ug_pRadioGroup, params->index);
+ }
+ }
+}
+
+/******************************
+** Prototype : mfPopupCreate
+** Description :
+** Input : void *data
+** ePopMode popupMode
+** char *title
+** char *context
+** char *first_btn_text
+** char *second_btn_text
+** char *third_btn_text
+** Evas_Smart_Cb func
+** void* param
+** Output : None
+** Return Value :
+** Calls :
+** Called By :
+**
+** History :
+** 1.Date : 2010/12/10
+** Author : Samsung
+** Modification : Created function
+**
+******************************/
+static Evas_Object *__ug_mf_popup_button_create(Evas_Object *parent, const char *label)
+{
+ Evas_Object *btn = NULL;
+ btn = elm_button_add(parent);
+ if (label) {
+ elm_object_text_set(btn, label);
+ }
+ return btn;
+
+}
+
+static Evas_Object *__mf_ug_popup_box_set(Evas_Object *parent, Evas_Object *content, int item_cnt)
+{
+ ug_mf_retvm_if(parent == NULL, NULL, "parent is NULL");
+ ug_mf_retvm_if(content == NULL, NULL, "content is NULL");
+ ug_mf_retvm_if(item_cnt < 0, NULL, "content is NULL");
+
+ Evas_Object *box = elm_box_add(parent);
+ if (item_cnt > MF_UG_ITEM_COUNT) {
+ evas_object_size_hint_min_set(box, MF_UG_POPUP_MENUSTYLE_WIDTH,
+ MF_UG_POPUP_MENUSTYLE_HEIGHT(item_cnt));
+ } else {
+ evas_object_size_hint_min_set(box, MF_UG_POPUP_MENUSTYLE_WIDTH,
+ MF_UG_POPUP_MENUSTYLE_HEIGHT(item_cnt));
+ }
+
+ evas_object_show(content);
+ elm_box_pack_end(box, content);
+ return box;
+}
+
+Evas_Object *mf_ug_popup_create_search(void *data, Evas_Smart_Cb func, void *param)
+{
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retvm_if(ugd == NULL, NULL, "ugd is NULL");
+ Evas_Object *popup = NULL;
+ Evas_Object *btn1 = NULL;
+ Evas_Object *box = NULL;
+ Evas_Object *content = NULL;
+ Evas_Object *label = NULL;
+
+ popup = elm_popup_add(ugd->ug_MainWindow.ug_pMainLayout);
+ elm_object_style_set(popup,"min_menustyle");
+ evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ ugd->ug_MainWindow.ug_pNormalPopup = popup;
+
+
+
+ btn1 = elm_button_add(popup);
+ elm_object_text_set(btn1, MF_UG_LABEL_CANCEL);
+ elm_object_part_content_set(popup, "button1", btn1);
+ evas_object_smart_callback_add(btn1, "clicked", func, param);
+
+ box = elm_box_add(popup);
+ evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+
+ content = elm_layout_add(popup);
+ elm_layout_file_set(content, UG_EDJ_NAVIGATIONBAR, UG_GRP_SEARCH_PATH);
+
+ evas_object_size_hint_weight_set(content, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(content, EVAS_HINT_FILL, EVAS_HINT_FILL);
+
+ label = elm_label_add(content);
+ ugd->ug_MainWindow.ug_pSearchLabel = label;
+ elm_object_style_set(label, "popup/default");
+ elm_label_wrap_width_set(label, 720);
+ elm_label_ellipsis_set(label, EINA_TRUE);
+ evas_object_size_hint_weight_set(label, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(label, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ elm_object_text_set(label, "Test");
+
+
+ elm_object_part_content_set(content, "path", label);
+ evas_object_show(label);
+ elm_box_pack_end(box, content);
+
+ evas_object_size_hint_min_set(box, 720, 300);
+ evas_object_size_hint_max_set(box, 720, 300);
+
+ evas_object_show(btn1);
+ evas_object_show(content);
+ evas_object_show(box);
+
+ elm_object_content_set(popup, box);
+
+ evas_object_show(popup);
+ return popup;
+}
+
+Evas_Object *mf_ug_popup_create(void *data, mf_ug_popup_mode popupMode, char *title, const char *context, const char *first_btn_text, const char *second_btn_text,
+ const char *third_btn_text, Evas_Smart_Cb func, void *param)
+{
+ Evas_Object *popup;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retvm_if(ugd == NULL, NULL, "ugd is NULL");
+
+ Evas_Object *genlist;
+ Evas_Object *radio_group = NULL;
+ Evas_Object *box = NULL;
+ Evas_Object *btn1 = NULL;
+ Evas_Object *btn2 = NULL;
+ int index = 0;
+ int listby_selected= 0;
+
+ popup = elm_popup_add(ugd->ug_MainWindow.ug_pMainLayout);
+ ugd->ug_MainWindow.ug_pNormalPopup = popup;
+ evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ if (title) {
+ elm_object_part_text_set(popup, "title,text", title);
+ }
+ if (context && popupMode != UG_POPMODE_PROGRESSBAR) {
+ elm_object_text_set(popup, context);
+ }
+ switch (popupMode) {
+ case UG_POPMODE_TEXT:
+ case UG_POPMODE_TITLE_TEXT:
+ elm_popup_timeout_set(popup, 3);
+ if (func) {
+ evas_object_smart_callback_add(popup, "timeout", (Evas_Smart_Cb) func, param);
+ }
+ break;
+ case UG_POPMODE_TEXT_TWO_BTN:
+ case UG_POPMODE_TITLE_TEXT_TWO_BTN:
+ btn1 = __ug_mf_popup_button_create(popup, first_btn_text);
+ btn2 = __ug_mf_popup_button_create(popup, second_btn_text);
+
+ evas_object_smart_callback_add(btn1, "clicked", func, param);
+ evas_object_smart_callback_add(btn2, "clicked", func, param);
+ elm_object_part_content_set(popup, "button1", btn1);
+ elm_object_part_content_set(popup, "button2", btn2);
+ break;
+ case UG_POPMODE_TEXT_BTN:
+ case UG_POPMODE_TITLE_TEXT_BTN:
+ btn1 = __ug_mf_popup_button_create(popup, MF_UG_LABEL_OK);
+ evas_object_smart_callback_add(btn1, "clicked", func, param);
+ elm_object_part_content_set(popup, "button1", btn1);
+ break;
+ case UG_POPMODE_SEARCH:
+ btn1 = __ug_mf_popup_button_create(popup, MF_UG_LABEL_CANCEL);
+ evas_object_smart_callback_add(btn1, "clicked", func, param);
+ elm_object_part_content_set(popup, "button1", btn1);
+ break;
+ case UG_POPMODE_LIST_BY:
+ elm_object_style_set(popup, MF_UG_POPUP_STYLE_MIN_MENUSTYLE);
+
+ btn1 = __ug_mf_popup_button_create(popup, MF_UG_LABEL_ASCENDING);
+ evas_object_smart_callback_add(btn1, "clicked", func, param);
+ elm_object_part_content_set(popup, "button1", btn1);
+
+ btn2 = __ug_mf_popup_button_create(popup, MF_UG_LABEL_DESCENDING);
+ evas_object_smart_callback_add(btn2, "clicked", func, param);
+ elm_object_part_content_set(popup, "button2", btn2);
+
+ if (ugd->ug_Status.ug_pRadioGroup) {
+ evas_object_del(ugd->ug_Status.ug_pRadioGroup);
+ ugd->ug_Status.ug_pRadioGroup = NULL;
+ }
+
+ radio_group = elm_radio_add(ugd->ug_MainWindow.ug_pWindow);
+ elm_object_focus_set(radio_group, EINA_FALSE);
+ elm_radio_value_set(radio_group, 0);
+ evas_object_hide(radio_group);
+ ugd->ug_Status.ug_pRadioGroup = radio_group;
+
+ listby_selected = __mf_ug_popup_get_list_by_selected_item(ugd);
+ ugd->ug_Status.ug_iRadioValue = listby_selected;
+
+ ug_listby_itc.item_style = "1text.1icon.2";
+ ug_listby_itc.func.text_get = __mf_ug_popup_get_genlist_label;
+ ug_listby_itc.func.content_get = __mf_ug_popup_get_genlist_icon;
+ ug_listby_itc.func.state_get = NULL;
+ ug_listby_itc.func.del = NULL;
+ genlist = elm_genlist_add(popup);
+ elm_object_focus_set(genlist, EINA_FALSE);
+ 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);
+ for (index = 0; index < MF_UG_ITEM_COUNT; index++) {
+ ugListByData_s *item_data = malloc(sizeof(ugListByData_s));
+ if (item_data == NULL)
+ continue;
+
+ item_data->index = index;
+ item_data->ugd = ugd;
+ elm_genlist_item_append(genlist, &ug_listby_itc, (void *)item_data, NULL,
+ ELM_GENLIST_ITEM_NONE, __mf_ug_popup_genlist_select, popup);
+ }
+
+ box = __mf_ug_popup_box_set(popup, genlist, MF_UG_ITEM_COUNT);
+ elm_object_content_set(popup, box);
+ evas_object_smart_callback_add(popup, "response", func, param);
+
+ break;
+ default:
+ evas_object_del(popup);
+ return NULL;
+ }
+ evas_object_show(popup);
+ return popup;
+}
+
+void mf_ug_popup_indicator_popup(const char *text)
+{
+ ug_mf_retm_if(text == NULL, "text is NULL");
+ int ret = notification_status_message_post(text);
+ ug_debug("status_message_post()... [0x%x]!", ret);
+ if (ret != 0) {
+ ug_debug("status_message_post()... [0x%x]!", ret);
+ }
+ return ;
+}
+
+static void _move_ctxpopup(void *data, Evas_Object *parent, Evas_Object *ctxpopup )
+{
+ elm_ctxpopup_direction_priority_set(ctxpopup, ELM_CTXPOPUP_DIRECTION_UP,
+ ELM_CTXPOPUP_DIRECTION_LEFT,
+ ELM_CTXPOPUP_DIRECTION_RIGHT,
+ ELM_CTXPOPUP_DIRECTION_DOWN);
+
+ if (parent) {
+ int x = 0;
+ int y = 0;
+ int w = 0;
+ int h = 0;
+
+ evas_object_geometry_get(parent, &x, &y, &w, &h);
+ evas_object_move(ctxpopup, x+w/2,
+ y + h/2);
+ }
+}
+static void _ctxpopup_hide_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ UG_TRACE_BEGIN;
+ ug_mf_retm_if(obj == NULL, "obj is NULL");
+ evas_object_del(obj);
+ obj = NULL;
+ UG_TRACE_END;
+}
+
+
+void mf_ug_context_popup_create_more(void *data, Evas_Object *parent)
+{
+ UG_TRACE_BEGIN;
+ ug_mf_retm_if(data == NULL, "data is NULL");
+ ugData *ugd = (ugData *)data;
+
+ UG_SAFE_FREE_OBJ(ugd->ug_MainWindow.ug_pContextPopup);
+
+ Evas_Object *ctxpopup = elm_ctxpopup_add(ugd->ug_MainWindow.ug_pNaviBar);
+ ugd->ug_MainWindow.ug_pContextPopup = ctxpopup;
+ Elm_Object_Item *it = NULL;
+
+ 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);
+ }
+ _move_ctxpopup(ugd, parent, ctxpopup);
+ evas_object_show(ctxpopup);
+
+ if(ctxpopup)
+ {
+ evas_object_smart_callback_add(ctxpopup,"dismissed", _ctxpopup_hide_cb, ugd);
+ }
+ UG_TRACE_END;
+}
+
+static Evas_Object *__mf_ug_popup_entry_create(Evas_Object *parent)
+{
+ Evas_Object *en = NULL;
+
+ en = elm_entry_add(parent);
+ elm_entry_scrollable_set(en, EINA_TRUE);
+ elm_entry_select_all(en);
+ elm_scroller_policy_set(en, ELM_SCROLLER_POLICY_OFF,
+ ELM_SCROLLER_POLICY_AUTO);
+
+ Ecore_IMF_Context *imf_context = elm_entry_imf_context_get(en);
+
+ elm_entry_single_line_set(en, EINA_TRUE);
+ evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(en, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_show(en);
+
+ return en;
+
+}
+
+static char *__new_folder_text_get(void *data)
+{
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retvm_if(ugd == NULL, NULL, "ugd is NULL");
+
+ int error_code = 0;
+ char *fileName = NULL;
+ char *fullpath = (char *)malloc(sizeof(char) * MYFILE_FILE_PATH_LEN_MAX);
+ if (fullpath == NULL) {
+ return NULL;
+ }
+ GString *dest_fullpath = NULL;
+
+ memset(fullpath, 0, MYFILE_FILE_PATH_LEN_MAX);
+ fileName = elm_entry_markup_to_utf8(MF_UG_LABEL_FOLDER);
+ snprintf(fullpath, (MYFILE_FILE_PATH_LEN_MAX), "%s/%s", (char *)ugd->ug_Status.ug_pPath->str, fileName);
+
+ dest_fullpath = g_string_new(fullpath);
+
+
+ if (mf_ug_fm_svc_wrapper_detect_duplication(dest_fullpath)) {
+ ug_debug("dectetion result is TRUE\ndest_fullpath is %s\n", dest_fullpath->str);
+ error_code = mf_ug_fm_svc_wrapper_file_auto_rename(ugd, dest_fullpath, FILE_NAME_WITH_BRACKETS, &dest_fullpath);
+ ug_debug("rename result is %s\n", dest_fullpath->str);
+ memset(fullpath, 0, strlen(fullpath));
+ int len = strlen(ugd->ug_Status.ug_pPath->str) + 1;
+ strncpy(fullpath, dest_fullpath->str + len, MYFILE_FILE_PATH_LEN_MAX);
+ /*memset(fileName,0,strlen(fileName));*/
+
+ UG_SAFE_FREE_CHAR(fileName);
+ fileName = elm_entry_markup_to_utf8(fullpath);
+ }
+
+ /*elm_entry_entry_set(entry, ecore_file_file_get(params->m_ItemName->str));*/
+
+
+ UG_SAFE_FREE_CHAR(fullpath);
+ UG_SAFE_FREE_GSTRING(dest_fullpath);
+ return fileName;
+}
+static void __mf_ug_popup_show_vk_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ UG_TRACE_BEGIN;
+ ug_mf_retm_if(data == NULL, "data is NULL");
+ ugData *ugd = (ugData *)data;
+
+ Evas_Object *pEntry = NULL;
+
+ evas_object_del(ugd->ug_MainWindow.ug_pNormalPopup);
+
+ ugd->ug_MainWindow.ug_pNormalPopup = NULL;
+
+ pEntry = ugd->ug_MainWindow.ug_pEntry;
+ elm_entry_cursor_end_set(ugd->ug_MainWindow.ug_pEntry);
+
+ elm_object_focus_set(ugd->ug_MainWindow.ug_pEntry, EINA_TRUE);
+
+ UG_TRACE_END;
+
+}
+
+
+static void __mf_ug_popup_create_folder_imf_changed_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ UG_TRACE_BEGIN;
+ ug_mf_retm_if(data == NULL, "data is NULL");
+ ugData *ugd = (ugData *)data;
+
+ const char *entry_data = NULL;
+ char *name = NULL;
+ char new_str[MYFILE_FILE_NAME_LEN_MAX] = { '\0', };
+
+ entry_data = elm_entry_entry_get(ugd->ug_MainWindow.ug_pEntry);
+ ug_mf_retm_if(entry_data == NULL, "entry_data is null");
+ name = elm_entry_markup_to_utf8(entry_data);
+ ug_mf_retm_if(name == NULL, "name is null");
+
+ ug_error("name is [%s]", name);
+ if (mf_ug_file_attr_is_valid_name(name) != MYFILE_ERR_NONE) {
+ strncpy(new_str, name, MYFILE_FILE_NAME_LEN_MAX - 1);
+ if (strlen(name) > 0)
+ new_str[strlen(name) - 1] = '\0';
+ elm_entry_entry_set(ugd->ug_MainWindow.ug_pEntry, new_str);
+ elm_entry_cursor_end_set(ugd->ug_MainWindow.ug_pEntry);
+ elm_object_focus_set(ugd->ug_MainWindow.ug_pEntry, EINA_FALSE);
+
+ UG_SAFE_FREE_OBJ(ugd->ug_MainWindow.ug_pNormalPopup);
+ ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, MF_UG_LABEL_ILLEGAL_CHAR, NULL, NULL,
+ NULL, __mf_ug_popup_show_vk_cb, ugd);
+ }
+ UG_SAFE_FREE_CHAR(name);
+ UG_TRACE_END;
+}
+
+Evas_Object *mf_ug_popup_create_new_folder_popup(void *data, char *context)
+{
+
+ UG_TRACE_BEGIN;
+ ug_mf_retvm_if(data == NULL, NULL, "data is NULL");
+ ugData *ugd = (ugData *)data;
+
+ Evas_Object *popup;
+ Evas_Object *layout;
+ char *text = NULL;
+ static Elm_Entry_Filter_Limit_Size limit_filter_data;
+
+ popup = elm_popup_add(ugd->ug_MainWindow.ug_pMainLayout);
+ elm_object_focus_set(popup, EINA_FALSE);
+
+ layout = elm_layout_add(popup);
+ elm_object_focus_set(layout, EINA_FALSE);
+ elm_layout_file_set(layout, UG_EDJ_NAVIGATIONBAR, UG_GRP_POPUP);
+ evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+
+ Evas_Object *en = NULL;
+ en = __mf_ug_popup_entry_create(layout);
+
+ text = __new_folder_text_get(ugd);
+ limit_filter_data.max_char_count = MYFILE_FILE_NAME_LEN_MAX;
+ elm_entry_entry_set(en, text);
+ elm_entry_cursor_end_set(en);
+ UG_SAFE_FREE_CHAR(text);
+
+ elm_entry_markup_filter_append(en, elm_entry_filter_limit_size,
+ &limit_filter_data);
+ elm_object_part_content_set(layout, "elm.swallow.content", en);
+
+ edje_object_part_text_set(elm_layout_edje_get(layout), "title.text", context);
+ evas_object_smart_callback_add(en, "maxlength,reached", mf_ug_cb_reach_max_len_cb, ugd);
+ evas_object_smart_callback_add(en, "changed", __mf_ug_popup_create_folder_imf_changed_cb, ugd);
+ ugd->ug_MainWindow.ug_pEntry = en;
+
+ elm_object_content_set(popup, layout);
+
+
+ Evas_Object *btn1 = __ug_mf_popup_button_create(popup, MF_UG_LABEL_OK);
+ elm_object_style_set(btn1, "popup_button/default");
+ Evas_Object *btn2 = __ug_mf_popup_button_create(popup, MF_UG_LABEL_CANCEL);
+ elm_object_style_set(btn2, "popup_button/default");
+
+ evas_object_smart_callback_add(btn1, "clicked", mf_ug_cb_save_cb, ugd);
+ evas_object_smart_callback_add(btn2, "clicked", mf_ug_cb_cancel_new_folder_cb, ugd);
+ elm_object_part_content_set(popup, "button1", btn1);
+ elm_object_part_content_set(popup, "button2", btn2);
+
+ evas_object_show(popup);
+
+ return popup;
+}
+