Fix launch bug / Remove manifest file
[profile/tv/apps/native/filebrowser.git] / src / views / BaseView / SourceCtxPopup.cpp
1 /*
2 * Copyright (c) 2014 Samsung Electronics Co., Ltd All Rights Reserved
3 *
4 * Licensed under the Apache License, Version 2.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
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
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.
15 */
16
17 #include <Elementary.h>
18 #include <Eina.h>
19 #include <Ecore.h>
20 #include <aul.h>
21 #include "i18n.h"
22 #include "define.h"
23 #include "common.h"
24 #include "Info.h"
25 #include "CtxPopup.h"
26 #include <MediaContentDbListener.h>
27 #include <UsbConnectionListener.h>
28 #include "SourceCtxPopup.h"
29
30 const char *srcbtnids[] = {
31         "ALL",
32         "TV",
33         "USB"
34 };
35
36 const char *sourcetext[] = {
37         N_("All Source"),
38         N_("TV"),
39         N_("USB"),
40 };
41
42 void CSourceCtxPopup::t_OnConfiguration(void)
43 {
44         int size = ARRAY_SIZE(sourcetext);
45
46         CUsbConnectionListener usb;
47         usb.Create();
48         if (!usb.FlagConnected())
49                 size--;
50         usb.Destroy();
51
52         t_SetList(sourcetext, size, (int)CInfo::SourceType(),
53                         CCtxPopup::TOPBTN_SOURCE, srcbtnids,
54                         POSITION_SOURCE_POPUP_X, POSITION_SOURCE_POPUP_Y);
55 }
56
57
58 void CSourceCtxPopup::t_OnBtnClicked(Evas_Object* obj, void* ev)
59 {
60         if (!obj)
61                 return;
62
63         int index = -1;
64         const char *id = (const char*)evas_object_data_get(obj, FBR_BTN_ID);
65
66         if (!id)
67                 return;
68
69         // Find Index
70         int i;
71         int arrsize = ARRAY_SIZE(srcbtnids);
72         for (i = 0; i < arrsize; i++) {
73                 if (srcbtnids[i] && !strcmp(srcbtnids[i], id)) {
74                         index = i;
75                         break;
76                 }
77         }
78         if (index == -1 || index == CInfo::SourceType())
79                 return;
80
81         CInfo::SetSourceType(index);
82         CCtxPopup::t_OnBtnClicked(obj, ev);
83
84         Destroy();
85 }
86
87 const char* CSourceCtxPopup::SourceText(int index)
88 {
89         return sourcetext[index];
90 }