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_pNaviGenlist;
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;
121 Elm_Genlist_Item_Class ug_itc;
122 Elm_Genlist_Item_Class ug_topitc;
123 Elm_Genlist_Item_Class ug_separtor_no_bottom_line_itc;
124 Elm_Genlist_Item_Class ug_separtor_with_bottom_line_itc;
125 Elm_Genlist_Item_Class ug_normalitc;
126 Elm_Genlist_Item_Class ug_editfileditc;
127 Elm_Genlist_Item_Class ug_editfiledUpperSeperatoritc;
128 Elm_Genlist_Item_Class ug_editfiledBottomSeperatoritc;
129 Elm_Genlist_Item_Class ug_newfolderitec;
130 Elm_Genlist_Item_Class ug_pathinfoitec;
131 #ifdef UG_THUMB_REAL_TIME_UPDATE
132 Ecore_Timer *ug_pThumbUpdateTimer;
134 Evas_Object *ug_pRadioGroup;
135 mf_search_handle search_handler;
137 Eina_List *search_result_list;
138 Ecore_Idler *search_idler;
139 Ecore_Idler *popup_del_idler;
140 Ecore_Idler *popup_create_idler;
141 Ecore_Idler *msg_finish_idler;
142 Ecore_Timer *pPopupTimer;
146 typedef struct _ugUiGadget ugUiGadget;
151 int ug_iDrmFilterMode;
153 unsigned long ug_iFileFilter;
156 Eina_List *ug_pDirList;
157 Eina_List *ug_pFilterList;
158 Eina_List *ug_pMultiSelectFileList;
159 Ecore_Pipe *ug_pInotifyPipe;
160 Ecore_Pipe *ug_pSyncPipe;
163 typedef struct _ugDrmInfo ugDrmInfo;
167 char validity[DRM_MESSAGE_LEN];
168 char description[DRM_MESSAGE_LEN];
173 typedef struct _ugListPlay ugListPlay;
175 char *ug_pPlayFilePath;
178 bool ug_bDrmContentCanPlay;
179 bool ug_bDrmconsumption;
180 ugDrmInfo ug_DrmInfo;
181 Ecore_Idler *playing_err_idler;
185 typedef struct _ugData ugData;
187 ugMainWindow ug_MainWindow;
189 ugUiGadget ug_UiGadget;
190 ugListPlay ug_ListPlay;
193 Evas_Object *mf_ug_main_tab_layout_create(Evas_Object *parent);
194 Evas_Object *mf_ug_main_create_bg(Evas_Object *win);
197 #endif /* __DEF_MYFILE_H_ */