#include <string>
#include <cstring>
#include <Elementary.h>
+#include <vconf.h>
#include <dpl/foreach.h>
#include <dpl/assert.h>
const char* const ELM_GENLIST_ITEM_CLASS_STYLE_1TEXT = "1text";
const char* const ELM_GENLIST_ITEM_CLASS_STYLE_1TEXT_1ICON_6 = "1text.1icon.6";
const char* const TEXT_NAVIFRAME_TITLE = "Advanced Settings";
+
+const char * const VCONF_KEY_PREFIX = "file/private/";
+const char * const VCONF_KEY_GROUP = "/security";
+const char * const VCONF_KEY_POPUP_USAGE = "/popup_usage";
+const char * const VCONF_KEY_GEOLOCATION_USAGE = "/geolocation_usage";
+const char * const VCONF_KEY_WEB_NOTIFICATION_USAGE = "/web_notification_usage";
+const char * const VCONF_KEY_WEB_DATABASE_USAGE = "/web_database_usage";
+const char * const VCONF_KEY_FILESYSTEM_USAGE = "/filesystem_usage";
}
AdvancedView::AdvancedView(Evas_Object *navi, int appID) :
settingsData->m_iconPart.c_str());
Assert(check);
bool state = !elm_check_state_get(check);
- // TODO: current setting doesn't have write permission
- //settingsData->saveChange(state);
+ settingsData->saveChange(state);
elm_check_state_set(check, state);
}
SecuritySettingsData* settingsData =
static_cast<SecuritySettingsData*>(data);
Assert(obj);
- // TODO: current setting doesn't have write permission
- //settingsData->saveChange(elm_check_state_get(obj));
+ settingsData->saveChange(elm_check_state_get(obj));
}
char* AdvancedView::getSecurityExceptionsSettingsText(void *data,
bool SecuritySettingsData::isEnabled()
{
- WrtDB::SettingsType result = WrtDB::SETTINGS_TYPE_UNKNOWN;
+ using namespace WrtDB;
+ SettingsType result = SETTINGS_TYPE_UNKNOWN;
+
+ std::string key =
+ VCONF_KEY_PREFIX
+ + DPL::ToUTF8String(m_dao->getPkgName())
+ + VCONF_KEY_GROUP;
if (m_index == SECURITY_MENU_INDEX_SECURITY_POPUP_USAGE) {
- result = m_dao->getSecurityPopupUsage();
+ key += VCONF_KEY_POPUP_USAGE;
} else if (m_index == SECURITY_MENU_INDEX_GEOLOCATION_USAGE) {
- result = m_dao->getGeolocationUsage();
+ key += VCONF_KEY_GEOLOCATION_USAGE;
} else if (m_index == SECURITY_MENU_INDEX_WEB_NOTIFICATION_USAGE) {
- result = m_dao->getWebNotificationUsage();
+ key += VCONF_KEY_WEB_NOTIFICATION_USAGE;
} else if (m_index == SECURITY_MENU_INDEX_WEB_DATABASE_USAGE) {
- result = m_dao->getWebDatabaseUsage();
+ key += VCONF_KEY_WEB_DATABASE_USAGE;
} else if (m_index == SECURITY_MENU_INDEX_FILE_SYSTEM_USAGE) {
- result = m_dao->getFileSystemUsage();
+ key += VCONF_KEY_FILESYSTEM_USAGE;
} else {
Assert("Wrong security settings menu index");
}
- if (result == WrtDB::SETTINGS_TYPE_ON) {
+
+ int ret = 0;
+ vconf_get_int(key.c_str(), &ret);
+
+ if (static_cast<SettingsType>(ret) == SETTINGS_TYPE_ON) {
return true;
- } else if (result == WrtDB::SETTINGS_TYPE_OFF) {
+ } else if (static_cast<SettingsType>(ret) == SETTINGS_TYPE_OFF) {
return false;
}
void SecuritySettingsData::saveChange(bool state)
{
- WrtDB::SettingsType result =
- state ? WrtDB::SETTINGS_TYPE_ON : WrtDB::SETTINGS_TYPE_OFF;
+ using namespace WrtDB;
+ SettingsType result = state ? SETTINGS_TYPE_ON : SETTINGS_TYPE_OFF;
+
+ std::string key =
+ VCONF_KEY_PREFIX
+ + DPL::ToUTF8String(m_dao->getPkgName())
+ + VCONF_KEY_GROUP;
if (m_index == SECURITY_MENU_INDEX_SECURITY_POPUP_USAGE) {
- m_dao->setSecurityPopupUsage(result);
+ key += VCONF_KEY_POPUP_USAGE;
} else if (m_index == SECURITY_MENU_INDEX_GEOLOCATION_USAGE) {
- m_dao->setGeolocationUsage(result);
+ key += VCONF_KEY_GEOLOCATION_USAGE;
} else if (m_index == SECURITY_MENU_INDEX_WEB_NOTIFICATION_USAGE) {
- m_dao->setWebNotificationUsage(result);
+ key += VCONF_KEY_WEB_NOTIFICATION_USAGE;
} else if (m_index == SECURITY_MENU_INDEX_WEB_DATABASE_USAGE) {
- m_dao->setWebDatabaseUsage(result);
+ key += VCONF_KEY_WEB_DATABASE_USAGE;
} else if (m_index == SECURITY_MENU_INDEX_FILE_SYSTEM_USAGE) {
- m_dao->setFileSystemUsage(result);
+ key += VCONF_KEY_FILESYSTEM_USAGE;
} else {
Assert("Wrong security settings menu index");
}
+
+ vconf_set_int(key.c_str(), static_cast<int>(result));
}
} /* WebAppDetailSetting */
Assert(gl);
try {
- detailData = new DetailData(this,
- title,
- title);
- itc.item_style = "dialogue/1text";
- itc.func.text_get =getTitle ;
- itc.func.content_get = NULL;
- itc.func.state_get = NULL;
- itc.func.del = NULL;
- it = elm_genlist_item_append(gl,
- &itc,
- static_cast<void *>(detailData),
- NULL,
- ELM_GENLIST_ITEM_NONE,
- advancedSettingsCallback,
- static_cast<void *>(detailData));
- elm_object_item_disabled_set(it, EINA_TRUE);
- //elm_genlist_item_select_mode_set(it,
- // ELM_OBJECT_SELECT_MODE_ALWAYS);
+ detailData = new DetailData(this,
+ title,
+ title);
+ itc.item_style = "dialogue/1text";
+ itc.func.text_get =getTitle ;
+ itc.func.content_get = NULL;
+ itc.func.state_get = NULL;
+ itc.func.del = NULL;
+ it = elm_genlist_item_append(gl,
+ &itc,
+ static_cast<void *>(detailData),
+ NULL,
+ ELM_GENLIST_ITEM_NONE,
+ advancedSettingsCallback,
+ static_cast<void *>(detailData));
+ elm_genlist_item_select_mode_set(it, ELM_OBJECT_SELECT_MODE_ALWAYS);
} catch (const std::bad_alloc &) {
}
}