2 * Copyright 2012 Samsung Electronics Co., Ltd
4 * Licensed under the Flora License, Version 1.0 (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 #ifndef __DEF_MF_UG_MAIN_H_
22 #define __DEF_MF_UG_MAIN_H_
26 #include <Elementary.h>
30 #include <glib-object.h>
31 #include <ui-gadget-module.h>
32 #include <ui-gadget.h>
35 #include <drm_client.h>
36 #include <drm_client_types.h>
37 #include <media_content.h>
42 #include "mf-ug-dlog.h"
43 #include "mf-ug-conf.h"
44 #include "mf-ug-search.h"
45 /*********** Global Definitions ***********/
47 #define UG_MODULE_API __attribute__ ((visibility("default")))
50 typedef void (*ugCallBack) (void *, Evas_Object *, void *);
52 typedef struct _ugNaviBar ugNaviBar;
57 char *ug_pCurrentPath;
58 bool ug_bNaviFlagInUse;
62 typedef struct _ugMainWindow ugMainWindow;
63 struct _ugMainWindow {
64 Evas_Object *ug_pWindow;
65 Evas_Object *ug_pBackGround;
66 Evas_Object *ug_pTabBackGround;
67 Evas_Object *ug_pMainLayout;
68 Evas_Object *ug_pNormalPopup;
69 Evas_Object *ug_pSearchLabel;
70 Evas_Object *ug_pSelectInfoLayout;
71 Evas_Object *ug_pRadioGroup;
72 Evas_Object *ug_pTabBar;
74 Evas_Object *ug_pNaviBar;
75 Evas_Object *ug_pNaviLayout;
76 Evas_Object *ug_pContent;
77 Evas_Object *ug_pNaviCtrlBar;
78 Evas_Object *ug_pNaviBox;
80 Evas_Object *ug_pEditField;
81 Evas_Object *ug_pEntry;
82 Evas_Object *ug_pSelectAllLayout;
83 Evas_Object *ug_pSelectAllCheckBox;
84 Evas_Object *ug_pSearchPopup;
85 Evas_Object *ug_pContextPopup;
87 Elm_Object_Item *ug_pPreNaviItem;
88 Elm_Object_Item *ug_pNaviItem;
89 Eina_List *ug_pNaviBarList;
93 typedef struct _ugStatus ugStatus;
101 int ug_iRadioValue; /** current the radio box selected item value **/
102 int ug_iSelectedSortType;
104 int ug_iCheckedCount;
108 bool ug_bAudioPlayFlag;
109 bool ug_bInstallFlag;
110 bool ug_bSettingEntry;
111 bool ug_bInSettingView;
112 bool ug_bNoContentFlag;
113 bool ug_bCancelDisableFlag;
114 bool ug_b_NaviPushFlag;
115 Eina_Bool ug_bSelectAllChecked;
117 char *ug_pUpper_folder;
120 Elm_Genlist_Item_Class ug_itc;
121 Elm_Genlist_Item_Class ug_topitc;
122 Elm_Genlist_Item_Class ug_separtor_no_bottom_line_itc;
123 Elm_Genlist_Item_Class ug_separtor_with_bottom_line_itc;
124 Elm_Genlist_Item_Class ug_normalitc;
125 Elm_Genlist_Item_Class ug_editfileditc;
126 Elm_Genlist_Item_Class ug_editfiledUpperSeperatoritc;
127 Elm_Genlist_Item_Class ug_editfiledBottomSeperatoritc;
128 Elm_Genlist_Item_Class ug_newfolderitec;
129 Elm_Genlist_Item_Class ug_pathinfoitec;
130 #ifdef UG_THUMB_REAL_TIME_UPDATE
131 Ecore_Timer *ug_pThumbUpdateTimer;
133 Evas_Object *ug_pRadioGroup;
134 mf_search_handle search_handler;
136 Eina_List *search_result_list;
137 Ecore_Idler *search_idler;
138 Ecore_Idler *popup_del_idler;
139 Ecore_Idler *popup_create_idler;
140 Ecore_Idler *msg_finish_idler;
141 Ecore_Timer *pPopupTimer;
145 typedef struct _ugUiGadget ugUiGadget;
150 int ug_iDrmFilterMode;
152 unsigned long ug_iFileFilter;
155 Eina_List *ug_pDirList;
156 Eina_List *ug_pFilterList;
157 Eina_List *ug_pMultiSelectFileList;
158 Ecore_Pipe *ug_pInotifyPipe;
159 Ecore_Pipe *ug_pSyncPipe;
162 typedef struct _ugDrmInfo ugDrmInfo;
166 char validity[DRM_MESSAGE_LEN];
167 char description[DRM_MESSAGE_LEN];
172 typedef struct _ugListPlay ugListPlay;
174 char *ug_pPlayFilePath;
177 bool ug_bDrmContentCanPlay;
178 bool ug_bDrmconsumption;
179 ugDrmInfo ug_DrmInfo;
180 Ecore_Idler *playing_err_idler;
184 typedef struct _ugData ugData;
186 ugMainWindow ug_MainWindow;
188 ugUiGadget ug_UiGadget;
189 ugListPlay ug_ListPlay;
192 Evas_Object *mf_ug_main_tab_layout_create(Evas_Object *parent);
193 Evas_Object *mf_ug_main_create_bg(Evas_Object *win);
196 #endif /* __DEF_MYFILE_H_ */