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.
17 #include <Elementary.h>
18 #include <ui-gadget.h>
19 #include <ui-gadget-module.h>
21 #include <dpl/wrt-dao-ro/global_dao_read_only.h>
22 #include <dpl/wrt-dao-rw/global_dao.h>
23 #include <dpl/assert.h>
29 #define LOG_TAG "WRT-SETTING"
32 namespace WebAppCommonSetting {
33 const char * const COOKIE_SHARING = "IDS_ST_BODY_COOKIE_SHARING";
34 const char * const SHARE_COOKIES_BETWEEN_WEB_APPS =
35 "IDS_ST_BODY_SHARE_COOKIES_BETWEEN_WEB_APPS";
36 const char * const MOFILE_INSTALL_DIR =
39 char *ListView::getWacTitle(void */*data*/,
46 char *ListView::getWhiteListTitle(void */*data*/,
50 return strdup("White list");
53 char *ListView::getText(void *data,
60 onOffData = static_cast<OnOffData *>(data);
63 if (!strcmp(part, "elm.text"))
64 str = onOffData->m_title.c_str();
65 else if (!strcmp(part, "elm.text.1"))
66 str = onOffData->m_title.c_str();
73 Evas_Object *ListView::getOnOffIcon(void *data,
81 onOffData = static_cast<OnOffData *>(data);
84 chk = elm_check_add(obj);
87 evas_object_propagate_events_set(chk, EINA_TRUE);
88 elm_object_style_set(chk, "on&off");
89 val = onOffData->m_getOnOffVal();
90 elm_check_state_set(chk, static_cast<Eina_Bool>(val));
91 onOffData->m_chk = chk;
92 evas_object_smart_callback_add(chk,
94 onOffData->m_changedCb,
100 void ListView::delOnOffData(void *data, Evas_Object */*obj*/)
102 OnOffData *onOffData;
104 onOffData = static_cast<OnOffData *>(data);
108 char *ListView::getRoamingLabel(void *data,
109 Evas_Object */*obj*/,
113 RoamingData *roamingData;
115 roamingData = static_cast<RoamingData *>(data);
118 if (!strcmp(part, "elm.text.1")) {
119 str = "Data roaming";
120 } else if (!strcmp(part, "elm.text.2")) {
121 switch (WrtDB::GlobalDAOReadOnly::GetRoamingDataUsage()) {
122 case WrtDB::GlobalDAOReadOnly::NEVER_CONNECT:
123 str = "Never connect";
125 case WrtDB::GlobalDAOReadOnly::ALWAYS_ASK:
128 case WrtDB::GlobalDAOReadOnly::CONNECT_AUTOMATICALLY:
129 str = "Connect automatically";
145 void ListView::delRoamingData(void *data, Evas_Object */*obj*/)
147 RoamingData *roamingData;
149 roamingData = static_cast<RoamingData *>(data);
153 char *ListView::getRoamingOptLabel(void *data,
154 Evas_Object */*obj*/,
155 const char */*part*/)
158 RoamingExpandData *roamingExpandData;
160 roamingExpandData = static_cast<RoamingExpandData *>(data);
161 Assert(roamingExpandData);
163 switch (roamingExpandData->m_mode) {
164 case WrtDB::GlobalDAOReadOnly::NEVER_CONNECT:
165 str = "Never connect";
167 case WrtDB::GlobalDAOReadOnly::ALWAYS_ASK:
170 case WrtDB::GlobalDAOReadOnly::CONNECT_AUTOMATICALLY:
171 str = "Connect automatically";
184 Evas_Object *ListView::getRoamingOptRadio(void *data,
186 const char */*part*/)
189 RoamingExpandData *roamingExpandData;
192 roamingExpandData = static_cast<RoamingExpandData *>(data);
193 Assert(roamingExpandData);
194 mode = WrtDB::GlobalDAOReadOnly::GetRoamingDataUsage();
195 radio = elm_radio_add(obj);
198 elm_radio_state_value_set(radio, roamingExpandData->m_mode);
199 elm_radio_group_add(radio, roamingExpandData->m_rg);
200 if (mode == roamingExpandData->m_mode)
201 elm_radio_value_set(radio, mode);
206 void ListView::delRoamingExpandData(void *data, Evas_Object */*obj*/)
208 RoamingExpandData *roamingExpandData;
210 roamingExpandData = static_cast<RoamingExpandData *>(data);
211 delete roamingExpandData;
214 char *ListView::getComplianceModeTitle(void */*data*/,
215 Evas_Object */*obj*/,
220 if (!strcmp(part, "elm.text.1"))
221 str = "Compliance mode";
222 else if (!strcmp(part, "elm.text.2"))
223 str = "Enable compliance mode";
233 Evas_Object *ListView::getComplianceModeIcon(void *data,
235 const char */*part*/)
238 ComplianceModeData *compModeData;
241 compModeData = static_cast<ComplianceModeData *>(data);
242 Assert(compModeData);
244 chk = elm_check_add(obj);
247 evas_object_propagate_events_set(chk, EINA_FALSE);
248 elm_object_style_set(chk, "on&off");
249 val = WrtDB::GlobalDAOReadOnly::getComplianceMode();
250 elm_check_state_set(chk, static_cast<Eina_Bool>(val));
251 compModeData->m_chk = chk;
252 evas_object_smart_callback_add(chk,
254 onComplianceModeChanged,
260 void ListView::delComlianceModeData(void *data, Evas_Object */*obj*/)
262 ComplianceModeData *compModeData;
264 compModeData = static_cast<ComplianceModeData *>(data);
268 Evas_Object *ListView::getComplianceModeOptEntry(void *data,
270 const char */*part*/)
277 opt = reinterpret_cast<int>(data);
279 ef = elm_layout_add(obj);
282 elm_layout_theme_set(ef, "layout", "editfield", "title");
284 entry = elm_entry_add(ef);
289 evas_object_data_set(entry, "editfield", static_cast<void *>(ef));
290 elm_entry_single_line_set(entry, EINA_TRUE);
291 elm_object_part_content_set(ef, "elm.swallow.content", entry);
294 case COMPLIANCE_OPT_IMEI:
295 elm_object_part_text_set(ef, "elm.text", "IMEI");
296 elm_object_part_text_set(ef, "elm.guidetext", "Put fake IMEI");
297 val = WrtDB::GlobalDAOReadOnly::getComplianceFakeImei();
299 case COMPLIANCE_OPT_MEID:
300 elm_object_part_text_set(ef, "elm.text", "MEID");
301 elm_object_part_text_set(ef, "elm.guidetext", "Put fake MEID");
302 val = WrtDB::GlobalDAOReadOnly::getComplianceFakeMeid();
310 elm_entry_entry_set(entry, val.c_str());
311 elm_object_signal_emit(ef, "elm,state,guidetext,hide", "elm");
314 elm_object_signal_callback_add(ef,
315 "elm,eraser,clicked",
317 onComplianceModeOptErase,
318 static_cast<void *>(entry));
319 evas_object_smart_callback_add(entry,
321 onComplianceModeOptFocused,
322 static_cast<void *>(ef));
323 evas_object_smart_callback_add(entry,
325 onComplianceModeOptUnfocused,
326 static_cast<void *>(ef));
327 /* FIXME: The callback is invoked unexpectedly. Why? DO report to EFL team */
328 evas_object_smart_callback_add(entry,
330 onComplianceModeOptChanged,
336 void ListView::onBackBtnClicked(void *data,
337 Evas_Object */*obj*/,
338 void */*event_info*/)
342 listView = static_cast<ListView *>(data);
344 listView->invokeUnloadCb();
347 void ListView::onOnOffItemClicked(void *data,
348 Evas_Object */*obj*/,
352 OnOffData *onOffData;
354 it = static_cast<Elm_Object_Item *>(event_info);
356 elm_genlist_item_selected_set(it, EINA_FALSE);
357 onOffData = static_cast<OnOffData *>(data);
358 evas_object_smart_callback_call(onOffData->m_chk, "changed", NULL);
361 void ListView::onCookieSharingPopupOk(void *data,
362 Evas_Object */*obj*/,
363 void */*event_info*/)
365 OnOffData *onOffData;
368 onOffData = static_cast<OnOffData *>(data);
369 listView = onOffData->m_listView;
370 Assert(onOffData && listView);
372 WrtDB::GlobalDAO::SetCookieSharingMode(TRUE);
374 elm_check_state_set(onOffData->m_chk, EINA_TRUE);
375 listView->hidePopup();
378 void ListView::onCookieSharingPopupCancel(void *data,
379 Evas_Object */*obj*/,
380 void */*event_info*/)
382 OnOffData *onOffData;
385 onOffData = static_cast<OnOffData *>(data);
386 listView = onOffData->m_listView;
387 Assert(onOffData && listView);
389 WrtDB::GlobalDAO::SetCookieSharingMode(FALSE);
390 elm_check_state_set(onOffData->m_chk, EINA_FALSE);
391 listView->hidePopup();
394 void ListView::onCookieSharingChanged(void *data,
395 Evas_Object */*obj*/,
396 void */*event_info*/)
398 OnOffData *onOffData;
402 onOffData = static_cast<OnOffData *>(data);
403 listView = onOffData->m_listView;
404 Assert(onOffData && onOffData->m_chk && listView);
406 state = elm_check_state_get(onOffData->m_chk);
409 WrtDB::GlobalDAO::SetCookieSharingMode(TRUE);
410 elm_check_state_set(onOffData->m_chk, EINA_TRUE);
412 WrtDB::GlobalDAO::SetCookieSharingMode(FALSE);
413 elm_check_state_set(onOffData->m_chk, FALSE);
417 void ListView::onUntrustedAppApprovalPopupOk(void *data,
418 Evas_Object */*obj*/,
419 void */*event_info*/)
421 OnOffData *onOffData;
424 onOffData = static_cast<OnOffData *>(data);
425 listView = onOffData->m_listView;
426 Assert(onOffData && listView);
428 WrtDB::GlobalDAO::SetSecureByDefault(true);
429 elm_check_state_set(onOffData->m_chk, EINA_TRUE);
430 listView->hidePopup();
433 void ListView::onUntrustedAppApprovalPopupCancel(void *data,
434 Evas_Object */*obj*/,
435 void */*event_info*/)
437 OnOffData *onOffData;
440 onOffData = static_cast<OnOffData *>(data);
441 listView = onOffData->m_listView;
442 Assert(onOffData && listView);
444 elm_check_state_set(onOffData->m_chk, EINA_FALSE);
445 listView->hidePopup();
448 void ListView::onUntrustedAppApprovalChanged(void *data,
449 Evas_Object */*obj*/,
450 void */*event_info*/)
452 OnOffData *onOffData;
456 onOffData = static_cast<OnOffData *>(data);
457 listView = onOffData->m_listView;
458 Assert(onOffData && onOffData->m_chk && listView);
460 state = WrtDB::GlobalDAOReadOnly::GetSecureByDefault();
462 if (!listView->showPopup("Do you really want to allow "
463 "untrusted applications?",
464 onUntrustedAppApprovalPopupOk,
465 onUntrustedAppApprovalPopupCancel,
466 static_cast<void *>(onOffData)))
469 WrtDB::GlobalDAO::SetSecureByDefault(false);
471 elm_check_state_set(onOffData->m_chk, !state);
474 void ListView::onRoamingClicked(void *data,
480 RoamingData *roamingData;
483 it = static_cast<Elm_Object_Item *>(event_info);
484 roamingData = static_cast<RoamingData *>(data);
485 listView = roamingData->m_listView;
486 Assert(it && roamingData && listView);
487 elm_genlist_item_selected_set(it, EINA_FALSE);
488 expanded = elm_genlist_item_expanded_get(it);
489 elm_genlist_item_expanded_set(it, !expanded);
491 elm_genlist_item_subitems_clear(it);
493 listView->addRoamingOpts(obj, it);
496 void ListView::onRoamingOptClicked(void *data,
500 RoamingExpandData *roamingExpandData;
503 it = static_cast<Elm_Object_Item *>(event_info);
505 elm_genlist_item_selected_set(it, EINA_FALSE);
507 roamingExpandData = static_cast<RoamingExpandData *>(data);
508 Assert(roamingExpandData);
509 WrtDB::GlobalDAO::SetRoamingDataUsage(roamingExpandData->m_mode);
510 elm_genlist_realized_items_update(obj);
513 void ListView::onWhiteListClicked(void *data,
514 Evas_Object */*obj*/,
520 it = static_cast<Elm_Object_Item *>(event_info);
522 elm_genlist_item_selected_set(it, EINA_FALSE);
524 listView = static_cast<ListView *>(data);
526 listView->loadWhiteListView();
530 void ListView::onDevModeChanged(void *data,
531 Evas_Object */*obj*/,
532 void */*event_info*/)
534 OnOffData *onOffData;
538 onOffData = static_cast<OnOffData *>(data);
539 listView = onOffData->m_listView;
540 Assert(onOffData && onOffData->m_chk && listView);
542 state = WrtDB::GlobalDAOReadOnly::GetDeveloperMode();
543 WrtDB::GlobalDAO::SetDeveloperMode(!state);
544 elm_check_state_set(onOffData->m_chk, !state);
547 void ListView::onComplianceModeClicked(void *data,
548 Evas_Object */*obj*/,
552 ComplianceModeData *compModeData;
554 it = static_cast<Elm_Object_Item *>(event_info);
556 elm_genlist_item_selected_set(it, EINA_FALSE);
557 compModeData = static_cast<ComplianceModeData *>(data);
558 evas_object_smart_callback_call(compModeData->m_chk, "changed", NULL);
561 void ListView::onComplianceModeChanged(void *data,
562 Evas_Object */*obj*/,
563 void */*event_info*/)
565 ComplianceModeData *compModeData;
569 compModeData = static_cast<ComplianceModeData *>(data);
570 listView = compModeData->m_listView;
571 Assert(compModeData && compModeData->m_chk && listView);
573 state = WrtDB::GlobalDAOReadOnly::getComplianceMode();
574 WrtDB::GlobalDAO::setComplianceMode(!state);
576 listView->addComplianceModeOpts(compModeData->m_gl, compModeData->m_it);
578 elm_genlist_item_subitems_clear(compModeData->m_it);
579 elm_check_state_set(compModeData->m_chk, !state);
582 void ListView::onComplianceModeOptErase(void *data,
583 Evas_Object */*obj*/,
584 const char */*emission*/,
585 const char */*source*/)
589 entry = static_cast<Evas_Object *>(data);
591 elm_entry_entry_set(entry, "");
594 void ListView::onComplianceModeOptFocused(void *data,
596 void */*event_info*/)
601 ef = static_cast<Evas_Object *>(data);
604 if (!elm_entry_is_empty(obj))
605 elm_object_signal_emit(ef, "elm,state,eraser,show", "elm");
606 elm_object_signal_emit(ef, "elm,state,guidetext,hide", "elm");
609 void ListView::onComplianceModeOptUnfocused(void *data,
611 void */*event_info*/)
616 ef = static_cast<Evas_Object *>(data);
619 if (elm_entry_is_empty(obj))
620 elm_object_signal_emit(ef, "elm,state,guidetext,show", "elm");
621 elm_object_signal_emit(ef, "elm,state,eraser,hide", "elm");
624 void ListView::onComplianceModeOptChanged(void *data,
626 void */*event_info*/)
634 opt = reinterpret_cast<int>(data);
635 if (!elm_object_focus_get(obj))
638 ef = static_cast<Evas_Object *>(evas_object_data_get(obj, "editfield"));
641 str = elm_entry_entry_get(obj);
643 elm_object_signal_emit(ef, "elm,state,eraser,show", "elm");
646 elm_object_signal_emit(ef, "elm,state,eraser,hide", "elm");
650 case COMPLIANCE_OPT_IMEI:
651 WrtDB::GlobalDAO::setComplianceFakeImei(val);
653 case COMPLIANCE_OPT_MEID:
654 WrtDB::GlobalDAO::setComplianceFakeMeid(val);
661 void ListView::onWhiteListViewUnload(void *data)
665 listView = static_cast<ListView *>(data);
667 listView->delWhiteListView();
670 bool ListView::getCookieSharingVal(void)
672 LOGD("%s", __FUNCTION__);
673 return WrtDB::GlobalDAOReadOnly::GetCookieSharingMode();
676 bool ListView::getUntrustedAppApprovalVal(void)
678 return WrtDB::GlobalDAOReadOnly::GetSecureByDefault();
681 bool ListView::getDevModeVal(void)
683 return WrtDB::GlobalDAOReadOnly::GetDeveloperMode();
686 bool ListView::getComplianceModeVal(void)
688 return WrtDB::GlobalDAOReadOnly::getComplianceMode();
691 void ListView::addWacTitle(Evas_Object *gl)
693 static Elm_Genlist_Item_Class itc;
697 itc.item_style = "dialogue/title";
698 itc.func.text_get = getWacTitle;
699 itc.func.content_get = NULL;
700 itc.func.state_get = NULL;
702 elm_genlist_item_append(gl,
706 ELM_GENLIST_ITEM_NONE,
711 void ListView::addWhiteList(Evas_Object *gl)
713 static Elm_Genlist_Item_Class itc;
718 itc.item_style = "dialogue/1text";
719 itc.func.text_get = getWhiteListTitle;
720 itc.func.content_get = NULL;
721 itc.func.state_get = NULL;
723 elm_genlist_item_append(gl,
727 ELM_GENLIST_ITEM_NONE,
730 } catch (const std::bad_alloc &) {
734 void ListView::addOnOffItem(Evas_Object *gl,
736 GetOnOffVal getOnOffVal,
737 Evas_Smart_Cb changedCb)
739 OnOffData *onOffData;
740 static Elm_Genlist_Item_Class itc;
745 onOffData = new OnOffData(this,
749 itc.item_style = "dialogue/1text.1icon";
750 itc.func.text_get = getText;
751 itc.func.content_get = getOnOffIcon;
752 itc.func.state_get = NULL;
753 itc.func.del = delOnOffData;
754 if (!elm_genlist_item_append(gl,
756 static_cast<void *>(onOffData),
758 ELM_GENLIST_ITEM_NONE,
760 static_cast<void *>(onOffData)))
762 } catch (const std::bad_alloc &) {
765 void ListView::addDesc(Evas_Object *gl,
768 OnOffData *onOffData;
769 static Elm_Genlist_Item_Class itc;
774 onOffData = new OnOffData(this,
778 itc.item_style = "multiline/1text";
779 itc.func.text_get = getText;
780 itc.func.content_get = NULL;
781 itc.func.state_get = NULL;
782 itc.func.del = delOnOffData;
783 elm_genlist_mode_set(gl, ELM_LIST_COMPRESS);
784 if (!elm_genlist_item_append(gl,
786 static_cast<void *>(onOffData),
788 ELM_GENLIST_ITEM_NONE,
790 static_cast<void *>(onOffData)))
792 } catch (const std::bad_alloc &) {
796 void ListView::addDepth(Evas_Object *gl)
798 static Elm_Genlist_Item_Class itc;
803 itc.item_style = "dialogue/separator/21/with_line";
804 itc.func.text_get = NULL;
805 itc.func.content_get = NULL;
806 itc.func.state_get = NULL;
808 it = elm_genlist_item_append(gl,
812 ELM_GENLIST_ITEM_NONE,
815 elm_genlist_item_select_mode_set(it,
816 ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
817 } catch (const std::bad_alloc &) {
820 void ListView::addRoamingItem(Evas_Object *gl)
823 RoamingData *roamingData;
824 static Elm_Genlist_Item_Class itc;
828 rg = elm_radio_add(gl);
833 roamingData = new RoamingData(rg, this);
834 itc.item_style = "dialogue/2text.3/expandable";
835 itc.func.text_get = getRoamingLabel;
836 itc.func.content_get = NULL;
837 itc.func.state_get = NULL;
838 itc.func.del = delRoamingData;
839 if (!elm_genlist_item_append(gl,
841 static_cast<void *>(roamingData),
843 ELM_GENLIST_ITEM_TREE,
845 static_cast<void *>(roamingData)))
847 } catch (const std::bad_alloc &) {
852 void ListView::addRoamingOpts(Evas_Object *obj, Elm_Object_Item *it)
854 static Elm_Genlist_Item_Class itc;
855 RoamingData *roamingData;
856 RoamingExpandData *roamingExpandData;
858 WrtDB::GlobalDAOReadOnly::NetworkAccessMode mode[] = {
859 WrtDB::GlobalDAOReadOnly::NEVER_CONNECT,
860 WrtDB::GlobalDAOReadOnly::ALWAYS_ASK,
861 WrtDB::GlobalDAOReadOnly::CONNECT_AUTOMATICALLY,
866 roamingData = static_cast<RoamingData *>(elm_object_item_data_get(it));
867 itc.item_style = "dialogue/1text.1icon.2/expandable2";
868 itc.func.text_get = getRoamingOptLabel;
869 itc.func.content_get = getRoamingOptRadio;
870 itc.func.state_get = NULL;
871 itc.func.del = delRoamingExpandData;
872 for (i = 0; i < sizeof(mode) / sizeof(*mode); i++) {
874 roamingExpandData = new RoamingExpandData(mode[i], roamingData->m_rg);
875 if (!elm_genlist_item_append(
878 static_cast<void *>(roamingExpandData),
880 ELM_GENLIST_ITEM_NONE,
882 static_cast<void *>(roamingExpandData)))
883 delete roamingExpandData;
884 } catch (const std::bad_alloc &) {
889 void ListView::addComplianceModeItem(Evas_Object *gl)
892 ComplianceModeData *compModeData;
893 static Elm_Genlist_Item_Class itc;
898 compModeData = new ComplianceModeData(this, gl);
899 itc.item_style = "dialogue/2text.1icon.6";
900 itc.func.text_get = getComplianceModeTitle;
901 itc.func.content_get = getComplianceModeIcon;
902 itc.func.state_get = NULL;
903 itc.func.del = delComlianceModeData;
904 it = elm_genlist_item_append(gl,
906 static_cast<void *>(compModeData),
908 ELM_GENLIST_ITEM_NONE,
909 onComplianceModeClicked,
910 static_cast<void *>(compModeData));
916 if (WrtDB::GlobalDAOReadOnly::getComplianceMode())
917 addComplianceModeOpts(gl, it);
919 compModeData->m_it = it;
920 } catch (const std::bad_alloc &) {
924 void ListView::addComplianceModeOpts(Evas_Object *obj, Elm_Object_Item *it)
926 static Elm_Genlist_Item_Class itc;
927 Elm_Object_Item *optIt;
929 ComplianceOpt opt[] = {
936 itc.item_style = "dialogue/1icon";
937 itc.func.text_get = NULL;
938 itc.func.content_get = getComplianceModeOptEntry;
939 itc.func.state_get = NULL;
942 for (i = 0; i < sizeof(opt) / sizeof(*opt); i++) {
943 optIt = elm_genlist_item_append(obj,
945 reinterpret_cast<void *>(opt[i]),
947 ELM_GENLIST_ITEM_NONE,
951 elm_genlist_item_select_mode_set(optIt, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
956 bool ListView::loadView(void)
962 win = static_cast<Evas_Object *>(ug_get_window());
965 m_gl = elm_genlist_add(m_naviFrame);
967 evas_object_del(m_naviFrame);
970 bindtextdomain("ug-webapp-common-efl",
972 elm_object_style_set(m_gl, "dialogue");
975 dgettext("ug-webapp-common-efl", COOKIE_SHARING),
977 onCookieSharingChanged);
979 dgettext("ug-webapp-common-efl",
980 SHARE_COOKIES_BETWEEN_WEB_APPS));
986 bool ListView::pushToNaviFrame(void)
991 btn = elm_button_add(m_naviFrame);
995 elm_object_style_set(btn, "naviframe/end_btn/default");
996 evas_object_smart_callback_add(btn, "clicked", onBackBtnClicked, this);
997 elm_naviframe_item_push(m_naviFrame,
1007 void ListView::loadWhiteListView(void)
1009 Assert(m_naviFrame);
1012 m_whiteListView.Reset(new WhiteListView(m_naviFrame));
1013 if (!m_whiteListView->loadView()) {
1014 m_whiteListView.Reset();
1017 m_whiteListView->setUnloadCb(onWhiteListViewUnload, this);
1018 } catch (const std::bad_alloc &) {
1022 bool ListView::showPopup(const char *desc,
1023 Evas_Smart_Cb ok_cb,
1024 Evas_Smart_Cb cancel_cb,
1027 return m_popup.showPopup(desc, ok_cb, cancel_cb, data);
1030 void ListView::hidePopup(void)
1032 m_popup.hidePopup();
1035 ListView::ListView(Evas_Object *naviFrame) :
1036 m_naviFrame(naviFrame)
1038 m_whiteListView.Reset();
1041 ListView::~ListView(void)
1045 } /* WebAppCommonSetting */