2 * Copyright 2012 Samsung Electronics Co., Ltd
4 * Licensed under the Flora License, Version 1.1 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://floralicense.org/license/
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
21 #include <Elementary.h>
23 #include "mf-ug-winset.h"
25 #include "mf-ug-fm-svc-wrapper.h"
26 #include "mf-ug-util.h"
27 #include "mf-ug-resource.h"
29 #define UG_CTRL_STYLE_TYPE "controlbar"
32 /******************************
33 ** Prototype : __mf_ug_ctrl_bar_create
34 ** Description : Samsung
35 ** Input : Evas_Object *parent
42 ** 1.Date : 2010/12/10
44 ** Modification : Created function
46 ******************************/
47 static Evas_Object *__mf_ug_ctrl_bar_create(Evas_Object *parent)
50 ug_mf_retvm_if(parent == NULL, NULL, "parent is NULL");
52 Evas_Object *pCtrlBar = NULL;
54 pCtrlBar = elm_toolbar_add(parent);
55 elm_toolbar_shrink_mode_set(pCtrlBar, ELM_TOOLBAR_SHRINK_EXPAND);
56 elm_object_style_set(pCtrlBar, "naviframe");
57 elm_object_focus_set(pCtrlBar, EINA_FALSE);
58 evas_object_show(pCtrlBar);
64 /******************************
65 ** Prototype : __mf_ug_ctrl_bar_append_item
66 ** Description : Samsung
68 ** Evas_Object *ctrl_bar
76 ** 1.Date : 2010/12/10
78 ** Modification : Created function
80 ******************************/
81 static void __mf_ug_ctrl_bar_append_item(void *data, Evas_Object *ctrl_bar, int type)
84 ugData *ugd = (ugData *)data;
85 ug_mf_retm_if(ugd == NULL, "ugd is NULL");
86 Evas_Object *pCtrlBar = ctrl_bar;
87 ug_mf_retm_if(pCtrlBar == NULL, "pCtrlBar is NULL");
88 Elm_Object_Item *item = NULL;
89 if (ugd->ug_UiGadget.ug_iSelectMode == SINGLE_ALL_MODE || ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE) {
90 item = elm_toolbar_item_append(pCtrlBar, NULL, NULL, NULL, NULL);
91 elm_object_item_disabled_set(item, EINA_TRUE);
92 item = elm_toolbar_item_append(pCtrlBar, NULL, NULL, NULL, NULL);
93 elm_object_item_disabled_set(item, EINA_TRUE);
94 item = elm_toolbar_item_append(pCtrlBar, NULL, NULL, NULL, NULL);
95 elm_object_item_disabled_set(item, EINA_TRUE);
96 //elm_toolbar_item_append(pCtrlBar, NULL, MF_UG_LABEL_SET, (Evas_Smart_Cb) mf_ug_cb_add_button_cb, ugd);
98 if (ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE ||
99 ugd->ug_UiGadget.ug_iSelectMode == IMPORT_PATH_SELECT_MODE ||
100 ugd->ug_UiGadget.ug_iSelectMode == IMPORT_SINGLE) {
101 elm_toolbar_item_append(pCtrlBar, NULL, MF_UG_LABEL_IMPORT, (Evas_Smart_Cb) mf_ug_cb_add_button_cb, ugd);
102 item = elm_toolbar_item_append(pCtrlBar, NULL, NULL, NULL, NULL);
103 elm_object_item_disabled_set(item, EINA_TRUE);
104 //elm_toolbar_item_append(pCtrlBar, NULL, MF_UG_LABEL_SEARCH, (Evas_Smart_Cb) mf_ug_search_view_enter_search_routine, ugd);
105 } else if (ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE) {
106 elm_toolbar_item_append(pCtrlBar, NULL, MF_UG_LABEL_EXPORT, (Evas_Smart_Cb) mf_ug_cb_add_button_cb, ugd);
107 elm_toolbar_item_append(pCtrlBar, NULL, MF_UG_LABEL_CREATE, (Evas_Smart_Cb) mf_ug_cb_create_new_folder, ugd);
109 elm_toolbar_item_append(pCtrlBar, NULL, MF_UG_LABEL_ATTACH, (Evas_Smart_Cb) mf_ug_cb_add_button_cb, ugd);
113 elm_toolbar_item_append(pCtrlBar, NULL, MF_UG_LABEL_CANCEL, (Evas_Smart_Cb) mf_ug_cb_back_button_cb, ugd);
120 /******************************
121 ** Prototype : mf_ug_ctrl_bar_set
122 ** Description : Samsung
123 ** Input : void* data
124 ** ugNaviBar *pNavi_s
131 ** 1.Date : 2010/12/10
133 ** Modification : Created function
135 ******************************/
136 void mf_ug_ctrl_bar_set(void *data, ugNaviBar *pNavi_s)
139 ugData *ugd = (ugData *)data;
140 ug_mf_retm_if(ugd == NULL, "ugd is NULL");
142 Evas_Object *pNaviBar = ugd->ug_MainWindow.ug_pNaviBar;
143 Evas_Object *pCtrlBar = NULL;
145 int type = ugd->ug_Status.ug_iCtrlBarType;
146 pCtrlBar = __mf_ug_ctrl_bar_create(pNaviBar);
147 ugd->ug_MainWindow.ug_pNaviCtrlBar = pCtrlBar;
148 type = CTRL_BAR_NORMAL;
149 __mf_ug_ctrl_bar_append_item(ugd, pCtrlBar, type);
150 evas_object_show(pCtrlBar);
151 elm_object_item_part_content_set(ugd->ug_MainWindow.ug_pNaviItem, UG_CTRL_STYLE_TYPE, pCtrlBar);
155 /******************************
156 ** Prototype : mf_ug_ctrl_bar_disable_item
157 ** Description : Samsung
158 ** Input : void *data
166 ** 1.Date : 2010/12/10
168 ** Modification : Created function
170 ******************************/
171 void mf_ug_ctrl_bar_disable_item(void *data, bool disable)
174 ugData *ugd = (ugData *)data;
175 ug_mf_retm_if(ugd == NULL, "ugd is NULL");
177 Evas_Object *pCtrlBar = NULL;
179 ugNaviBar *pNavi_s = mf_ug_navi_bar_get_in_use_navi(ugd);
180 ug_mf_retm_if(pNavi_s == NULL, "get navigation bar in use failed");
182 pCtrlBar = ugd->ug_MainWindow.ug_pNaviCtrlBar;
184 Elm_Object_Item *it = NULL;
185 it = elm_toolbar_first_item_get(pCtrlBar);
188 const char *button_label = elm_object_item_text_get(it);
189 const char *disable_labe = NULL;
190 if (ugd->ug_UiGadget.ug_iSelectMode == SINGLE_ALL_MODE || ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE) {
191 disable_labe = MF_UG_LABEL_SET;
192 } else if (ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE ||
193 ugd->ug_UiGadget.ug_iSelectMode == IMPORT_PATH_SELECT_MODE ||
194 ugd->ug_UiGadget.ug_iSelectMode == IMPORT_SINGLE) {
195 disable_labe = MF_UG_LABEL_IMPORT;
197 disable_labe = MF_UG_LABEL_ATTACH;
199 if (g_strcmp0(button_label, disable_labe) == 0) {
200 elm_object_item_disabled_set(it, !disable);
202 it = elm_toolbar_item_next_get(it);
206 /******************************
207 ** Prototype : mf_ug_ctrl_bar_set_item_disable
208 ** Description : Samsung
209 ** Input : void *data
216 ** 1.Date : 2010/12/10
218 ** Modification : Created function
220 ******************************/
221 void mf_ug_ctrl_bar_set_item_disable(void *data)
224 ugData *ugd = (ugData *)data;
225 ug_mf_retm_if(ugd == NULL, "ugd is NULL");
226 bool disable = false;
228 if (ugd->ug_Status.ug_bNoContentFlag == true) {
229 mf_ug_navi_bar_button_set_disable(ugd, true);
231 disable = mf_ug_util_is_genlist_selected(ugd);
232 mf_ug_navi_bar_button_set_disable(ugd, !disable);
237 void mf_ug_ctrl_bar_recover(void *data)
240 ugData *ugd = (ugData *)data;
241 ug_mf_retm_if(ugd == NULL, "ugd is NULL");
243 ugNaviBar *pNavi_s = mf_ug_navi_bar_get_in_use_navi(ugd);
244 ug_mf_retm_if(pNavi_s == NULL, "get navi failed");
246 Evas_Object *naviBar = ugd->ug_MainWindow.ug_pNaviBar;
247 Evas_Object *ctrl_bar = NULL;
249 ug_mf_retm_if(naviBar == NULL, "navi is NULL");
250 ctrl_bar = elm_object_item_part_content_get(ugd->ug_MainWindow.ug_pNaviItem, UG_CTRL_STYLE_TYPE);
251 ugd->ug_MainWindow.ug_pNaviCtrlBar = ctrl_bar;