namespace WebAppDetailSetting {
namespace {
-std::vector<std::string> groupText = {"Security Settings"};
-
const char* const ELM_STYLE_ON_OFF = "on&off";
const char* const ELM_PART_ICON = "elm.icon";
const char* const EVAS_SMART_CALLBACK_CHANGED = "changed";
m_naviframe(navi),
m_appID(appID)
{
- m_menuMap[SECURITY_MENU_INDEX_SECURITY_POPUP_USAGE] = "Show security warnings";
- m_menuMap[SECURITY_MENU_INDEX_GEOLOCATION_USAGE] = "Location";
- m_menuMap[SECURITY_MENU_INDEX_WEB_NOTIFICATION_USAGE] = "Web notification";
- m_menuMap[SECURITY_MENU_INDEX_WEB_DATABASE_USAGE] = "Web database";
- m_menuMap[SECURITY_MENU_INDEX_FILE_SYSTEM_USAGE] = "File system access";
+ m_groupMenuMap[GROUP_IDX_SECURITY_SETTINGS] = "Security Settings";
+ m_groupMenuMap[GROUP_IDX_DEVELOPER_OPTIONS] = "Developer Options";
+
+ m_menuMap[SECURITY_SETTINGS_IDX_SECURITY_POPUP_USAGE] =
+ "Show security warnings";
+ m_menuMap[SECURITY_SETTINGS_IDX_GEOLOCATION_USAGE] =
+ "Location";
+ m_menuMap[SECURITY_SETTINGS_IDX_WEB_NOTIFICATION_USAGE] =
+ "Web notification";
+ m_menuMap[SECURITY_SETTINGS_IDX_WEB_DATABASE_USAGE] =
+ "Web database";
+ m_menuMap[SECURITY_SETTINGS_IDX_FILE_SYSTEM_USAGE] =
+ "File system access";
+ m_menuMap[SECURITY_SETTINGS_IDX_EXCEPTIONS_SETTINGS] =
+ "Exceptions Settings";
+ m_menuMap[DEVELOPER_OPTIONS_IDX_MEMORY_SAVING_MODE] =
+ "Memory Saving Mode";
}
AdvancedView::~AdvancedView(void)
delete advancedSettingsData;
}
-char* AdvancedView::getSecuritySettingText(void *data,
+char* AdvancedView::getSettingText(void *data,
Evas_Object* /*obj*/,
const char* /*part*/)
{
Assert(data);
- SecuritySettingsData* securitySettingsData =
- static_cast<SecuritySettingsData*>(data);
- return strdup(securitySettingsData->m_menuText.c_str());
+ SettingData* settingData = static_cast<SettingData*>(data);
+ return strdup(settingData->m_menuText.c_str());
}
-Evas_Object* AdvancedView::getSecuritySettingContent(void* data,
+Evas_Object* AdvancedView::getSettingContent(void* data,
Evas_Object* obj,
const char* /*part*/)
{
Assert(data);
- SecuritySettingsData* settingsData =
- static_cast<SecuritySettingsData*>(data);
+ SettingData* settingData =
+ static_cast<SettingData*>(data);
Assert(obj);
Evas_Object* icon = elm_check_add(obj);
elm_check_state_set(icon, EINA_TRUE);
elm_object_style_set(icon, ELM_STYLE_ON_OFF);
- settingsData->m_iconPart = ELM_PART_ICON;
+ settingData->m_iconPart = ELM_PART_ICON;
evas_object_propagate_events_set(
icon,
EINA_FALSE);
- elm_check_state_set(icon, settingsData->isEnabled() ? EINA_TRUE : EINA_FALSE);
+ elm_check_state_set(icon, settingData->isEnabled() ? EINA_TRUE : EINA_FALSE);
evas_object_smart_callback_add(icon,
EVAS_SMART_CALLBACK_CHANGED,
- securitySettingChangedCallback,
+ settingChangedCallback,
data);
return icon;
}
-void AdvancedView::delSecuritySettingData(void* data,
+void AdvancedView::delSettingData(void* data,
Evas_Object* /*obj*/)
{
Assert(data);
- SecuritySettingsData* securitySettingsData =
- static_cast<SecuritySettingsData*>(data);
- delete securitySettingsData;
+ SettingData* settingData = static_cast<SettingData*>(data);
+ delete settingData;
}
-void AdvancedView::securitySettingSelectedCallback(void* data,
+void AdvancedView::settingSelectedCallback(void* data,
Evas_Object* obj,
void* eventInfo)
{
Elm_Object_Item* item = static_cast<Elm_Object_Item*>(eventInfo);
elm_genlist_item_selected_set(item, EINA_FALSE);
- SecuritySettingsData* settingsData =
- static_cast<SecuritySettingsData*>(elm_object_item_data_get(item));
- Assert(settingsData);
+ SettingData* settingData =
+ static_cast<SettingData*>(elm_object_item_data_get(item));
+ Assert(settingData);
Evas_Object* check =
elm_object_item_part_content_get(item,
- settingsData->m_iconPart.c_str());
+ settingData->m_iconPart.c_str());
Assert(check);
bool state = !elm_check_state_get(check);
- settingsData->saveChange(state);
+ settingData->saveChange(state);
elm_check_state_set(check, state);
}
-void AdvancedView::securitySettingChangedCallback(void* data,
+void AdvancedView::settingChangedCallback(void* data,
Evas_Object* obj,
void* eventInfo)
{
Assert(data);
- SecuritySettingsData* settingsData =
- static_cast<SecuritySettingsData*>(data);
+ SettingData* settingData =
+ static_cast<SettingData*>(data);
Assert(obj);
- settingsData->saveChange(elm_check_state_get(obj));
+ settingData->saveChange(elm_check_state_get(obj));
}
char* AdvancedView::getSecurityExceptionsSettingsText(void *data,
{
resetBase();
- Evas_Object *genlist = NULL;
+ Evas_Object* genlist = NULL;
genlist = elm_genlist_add(m_naviframe);
// create group menu
itcGroup.func.text_get = getGroupText;
itcGroup.func.del = delGroupData;
- FOREACH(it, groupText) {
+ for (int index = GROUP_IDX_START; index <= GROUP_IDX_END; index++) {
Elm_Object_Item* groupItem =
elm_genlist_item_append(genlist,
&itcGroup,
static_cast<void*>(
new AdvancedSettingsGroupData(
- *it)),
+ m_groupMenuMap[index])),
NULL,
ELM_GENLIST_ITEM_NONE,
NULL,
NULL);
elm_genlist_item_select_mode_set(groupItem,
ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+
+ if (index == GROUP_IDX_SECURITY_SETTINGS) {
+ // create Security Settings menu
+ loadSecuritySettingsMenu(genlist);
+ } else if (index == GROUP_IDX_DEVELOPER_OPTIONS) {
+ // create developer Options menu
+ loadDeveloperOptionsMenu(genlist);
+ } else {
+ LogError("Wrong index");
+ }
+ }
+ elm_naviframe_item_push(m_naviframe,
+ TEXT_NAVIFRAME_TITLE,
+ NULL,
+ NULL,
+ genlist,
+ NULL);
+ resetBase(genlist);
+ return true;
+}
+
+void AdvancedView::loadSecuritySettingsMenu(Evas_Object* genlist)
+{
+ for (int index = SECURITY_SETTINGS_IDX_START; index <= SECURITY_SETTINGS_IDX_END; index++) {
+ if (index == SECURITY_SETTINGS_IDX_EXCEPTIONS_SETTINGS) {
+ // create exceptions security settings menu
+ static Elm_Genlist_Item_Class itcSecurityExceptionsSettings = {0,};
+ itcSecurityExceptionsSettings.item_style =
+ ELM_GENLIST_ITEM_CLASS_STYLE_1TEXT;
+ itcSecurityExceptionsSettings.func.text_get = getSecurityExceptionsSettingsText;
+ itcSecurityExceptionsSettings.func.content_get = NULL;
+ itcSecurityExceptionsSettings.func.state_get = NULL;
+ itcSecurityExceptionsSettings.func.del = NULL;
+ elm_genlist_item_append(genlist,
+ &itcSecurityExceptionsSettings,
+ static_cast<void*>(this),
+ NULL,
+ ELM_GENLIST_ITEM_NONE,
+ securityExceptionsSettingsSelectedCallback,
+ NULL);
+
+ } else {
+ // create usage menu
+ static Elm_Genlist_Item_Class itcSecuritySettings = {0,};
+ itcSecuritySettings.item_style =
+ ELM_GENLIST_ITEM_CLASS_STYLE_1TEXT_1ICON_6;
+ itcSecuritySettings.func.text_get = getSettingText;
+ itcSecuritySettings.func.content_get = getSettingContent;
+ itcSecuritySettings.func.state_get = NULL;
+ itcSecuritySettings.func.del = delSettingData;
+
+ elm_genlist_item_append(genlist,
+ &itcSecuritySettings,
+ static_cast<void*>(
+ new SettingData(
+ m_appID, index, m_menuMap[index])),
+ NULL,
+ ELM_GENLIST_ITEM_NONE,
+ settingSelectedCallback,
+ NULL);
+ }
}
+}
- // create Security Settings menu
- static Elm_Genlist_Item_Class itcSecuritySettings = {0,};
- itcSecuritySettings.item_style =
+void AdvancedView::loadDeveloperOptionsMenu(Evas_Object* genlist)
+{
+ static Elm_Genlist_Item_Class itcDeveloperOptions = {0,};
+ itcDeveloperOptions.item_style =
ELM_GENLIST_ITEM_CLASS_STYLE_1TEXT_1ICON_6;
- itcSecuritySettings.func.text_get = getSecuritySettingText;
- itcSecuritySettings.func.content_get = getSecuritySettingContent;
- itcSecuritySettings.func.state_get = NULL;
- itcSecuritySettings.func.del = delSecuritySettingData;
+ itcDeveloperOptions.func.text_get = getSettingText;
+ itcDeveloperOptions.func.content_get = getSettingContent;
+ itcDeveloperOptions.func.state_get = NULL;
+ itcDeveloperOptions.func.del = delSettingData;
- for (int index = SECURITY_MENU_INDEX_START; index <= SECURITY_MENU_INDEX_END; index++) {
+ for (int index = DEVELOPER_OPTIONS_IDX_START; index <= DEVELOPER_OPTIONS_IDX_END; index++) {
elm_genlist_item_append(genlist,
- &itcSecuritySettings,
+ &itcDeveloperOptions,
static_cast<void*>(
- new SecuritySettingsData(
+ new SettingData(
m_appID, index, m_menuMap[index])),
NULL,
ELM_GENLIST_ITEM_NONE,
- securitySettingSelectedCallback,
+ settingSelectedCallback,
NULL);
}
-
- static Elm_Genlist_Item_Class itcSecurityExceptionsSettings = {0,};
- itcSecurityExceptionsSettings.item_style =
- ELM_GENLIST_ITEM_CLASS_STYLE_1TEXT;
- itcSecurityExceptionsSettings.func.text_get = getSecurityExceptionsSettingsText;
- itcSecurityExceptionsSettings.func.content_get = NULL;
- itcSecurityExceptionsSettings.func.state_get = NULL;
- itcSecurityExceptionsSettings.func.del = NULL;
- elm_genlist_item_append(genlist,
- &itcSecurityExceptionsSettings,
- static_cast<void*>(this),
- NULL,
- ELM_GENLIST_ITEM_NONE,
- securityExceptionsSettingsSelectedCallback,
- NULL);
- elm_naviframe_item_push(m_naviframe,
- TEXT_NAVIFRAME_TITLE,
- NULL,
- NULL,
- genlist,
- NULL);
- resetBase(genlist);
- return true;
}
-SecuritySettingsData::SecuritySettingsData(int appID, int index, std::string menuText) :
- m_index(static_cast<SecuritySettingsIndex>(index)),
+SettingData::SettingData(int appID, int index, std::string menuText) :
+ m_index(static_cast<MenuIndex>(index)),
m_menuText(menuText)
{
m_dao.Reset(new WrtDB::WidgetDAO(appID));
}
-bool SecuritySettingsData::isEnabled()
+bool SettingData::isEnabled()
{
using namespace WrtDB;
std::string key;
- if (m_index == SECURITY_MENU_INDEX_SECURITY_POPUP_USAGE) {
+ if (m_index == SECURITY_SETTINGS_IDX_SECURITY_POPUP_USAGE) {
key = VconfConfig::GetVconfKeyPopupUsage(m_dao->getPkgName());
- } else if (m_index == SECURITY_MENU_INDEX_GEOLOCATION_USAGE) {
+ } else if (m_index == SECURITY_SETTINGS_IDX_GEOLOCATION_USAGE) {
key = VconfConfig::GetVconfKeyGeolocationUsage(m_dao->getPkgName());
- } else if (m_index == SECURITY_MENU_INDEX_WEB_NOTIFICATION_USAGE) {
+ } else if (m_index == SECURITY_SETTINGS_IDX_WEB_NOTIFICATION_USAGE) {
key = VconfConfig::GetVconfKeyWebNotificationUsage(
m_dao->getPkgName());
- } else if (m_index == SECURITY_MENU_INDEX_WEB_DATABASE_USAGE) {
+ } else if (m_index == SECURITY_SETTINGS_IDX_WEB_DATABASE_USAGE) {
key = VconfConfig::GetVconfKeyWebDatabaseUsage(m_dao->getPkgName());
- } else if (m_index == SECURITY_MENU_INDEX_FILE_SYSTEM_USAGE) {
+ } else if (m_index == SECURITY_SETTINGS_IDX_FILE_SYSTEM_USAGE) {
key = VconfConfig::GetVconfKeyFilesystemUsage(m_dao->getPkgName());
+ } else if (m_index == DEVELOPER_OPTIONS_IDX_MEMORY_SAVING_MODE) {
+ key = VconfConfig::GetVconfKeyMemorySavingMode(m_dao->getPkgName());
} else {
- Assert("Wrong security settings menu index");
+ Assert("Wrong menu index");
}
int ret = 0;
return false;
}
-void SecuritySettingsData::saveChange(bool state)
+void SettingData::saveChange(bool state)
{
using namespace WrtDB;
SettingsType result = state ? SETTINGS_TYPE_ON : SETTINGS_TYPE_OFF;
std::string key;
- if (m_index == SECURITY_MENU_INDEX_SECURITY_POPUP_USAGE) {
+ if (m_index == SECURITY_SETTINGS_IDX_SECURITY_POPUP_USAGE) {
key = VconfConfig::GetVconfKeyPopupUsage(m_dao->getPkgName());
- } else if (m_index == SECURITY_MENU_INDEX_GEOLOCATION_USAGE) {
+ } else if (m_index == SECURITY_SETTINGS_IDX_GEOLOCATION_USAGE) {
key = VconfConfig::GetVconfKeyGeolocationUsage(m_dao->getPkgName());
- } else if (m_index == SECURITY_MENU_INDEX_WEB_NOTIFICATION_USAGE) {
+ } else if (m_index == SECURITY_SETTINGS_IDX_WEB_NOTIFICATION_USAGE) {
key = VconfConfig::GetVconfKeyWebNotificationUsage(
m_dao->getPkgName());
- } else if (m_index == SECURITY_MENU_INDEX_WEB_DATABASE_USAGE) {
+ } else if (m_index == SECURITY_SETTINGS_IDX_WEB_DATABASE_USAGE) {
key = VconfConfig::GetVconfKeyWebDatabaseUsage(m_dao->getPkgName());
- } else if (m_index == SECURITY_MENU_INDEX_FILE_SYSTEM_USAGE) {
+ } else if (m_index == SECURITY_SETTINGS_IDX_FILE_SYSTEM_USAGE) {
key = VconfConfig::GetVconfKeyFilesystemUsage(m_dao->getPkgName());
+ } else if (m_index == DEVELOPER_OPTIONS_IDX_MEMORY_SAVING_MODE) {
+ key = VconfConfig::GetVconfKeyMemorySavingMode(m_dao->getPkgName());
} else {
- Assert("Wrong security settings menu index");
+ Assert("Wrong menu index");
}
vconf_set_int(key.c_str(), static_cast<int>(result));
}
class ExceptionsView;
-enum SecuritySettingsIndex {
- SECURITY_MENU_INDEX_START = 0,
- SECURITY_MENU_INDEX_SECURITY_POPUP_USAGE = SECURITY_MENU_INDEX_START,
- SECURITY_MENU_INDEX_GEOLOCATION_USAGE,
- SECURITY_MENU_INDEX_WEB_NOTIFICATION_USAGE,
- SECURITY_MENU_INDEX_WEB_DATABASE_USAGE,
- SECURITY_MENU_INDEX_FILE_SYSTEM_USAGE,
- SECURITY_MENU_INDEX_END = SECURITY_MENU_INDEX_FILE_SYSTEM_USAGE,
+enum GroupSettingsIndex {
+ GROUP_IDX_START = 0,
+ GROUP_IDX_SECURITY_SETTINGS = GROUP_IDX_START,
+ GROUP_IDX_DEVELOPER_OPTIONS,
+ GROUP_IDX_END = GROUP_IDX_DEVELOPER_OPTIONS,
+};
+
+enum MenuIndex {
+ SECURITY_SETTINGS_IDX_START = 0,
+ SECURITY_SETTINGS_IDX_SECURITY_POPUP_USAGE = SECURITY_SETTINGS_IDX_START,
+ SECURITY_SETTINGS_IDX_GEOLOCATION_USAGE,
+ SECURITY_SETTINGS_IDX_WEB_NOTIFICATION_USAGE,
+ SECURITY_SETTINGS_IDX_WEB_DATABASE_USAGE,
+ SECURITY_SETTINGS_IDX_FILE_SYSTEM_USAGE,
+ SECURITY_SETTINGS_IDX_EXCEPTIONS_SETTINGS,
+ SECURITY_SETTINGS_IDX_END = SECURITY_SETTINGS_IDX_EXCEPTIONS_SETTINGS,
+ DEVELOPER_OPTIONS_IDX_START = SECURITY_SETTINGS_IDX_END,
+ DEVELOPER_OPTIONS_IDX_MEMORY_SAVING_MODE = DEVELOPER_OPTIONS_IDX_START,
+ DEVELOPER_OPTIONS_IDX_END = DEVELOPER_OPTIONS_IDX_MEMORY_SAVING_MODE,
};
class AdvancedView : public View
~AdvancedView(void);
bool loadView(void);
+ void loadSecuritySettingsMenu(Evas_Object* genlist);
+ void loadDeveloperOptionsMenu(Evas_Object* genlist);
private:
Evas_Object *m_naviframe;
int m_appID;
DPL::ScopedPtr<ExceptionsView> m_exceptionsView;
+ std::map<int, std::string> m_groupMenuMap;
std::map<int, std::string> m_menuMap;
static char* getGroupText(
void* data,
Evas_Object* obj);
- static char* getSecuritySettingText(
+ static char* getSettingText(
void* data,
Evas_Object* obj,
const char* part);
- static Evas_Object* getSecuritySettingContent(
+ static Evas_Object* getSettingContent(
void* data,
Evas_Object* obj,
const char* part);
- static void delSecuritySettingData(
+ static void delSettingData(
void* data,
Evas_Object* obj);
- static void securitySettingSelectedCallback(
+ static void settingSelectedCallback(
void* data,
Evas_Object* obj,
void* eventInfo);
- static void securitySettingChangedCallback(
+ static void settingChangedCallback(
void* data,
Evas_Object* obj,
void* eventInfo);
-
static char* getSecurityExceptionsSettingsText(
void* data,
Evas_Object* obj,
};
};
-class SecuritySettingsData
+class SettingData
{
public:
DPL::ScopedPtr<WrtDB::WidgetDAO> m_dao;
- SecuritySettingsIndex m_index;
+ MenuIndex m_index;
std::string m_menuText;
std::string m_iconPart;
- SecuritySettingsData(int appID, int index, std::string menuText);
+ SettingData(int appID, int index, std::string menuText);
bool isEnabled();
void saveChange(bool state);
};