#define VOLUME_LIST_COUNT 4
+#ifndef VCONFKEY_SETAPPL_CALL_RINGTONE_SOUND_VOLUME_BACKUP_INT
+#define VCONFKEY_SETAPPL_CALL_RINGTONE_SOUND_VOLUME_BACKUP_INT "db/setting/sound/call/ringtone_sound_volume_backup"
+#define VCONFKEY_SETAPPL_MEDIA_SOUND_VOLUME_BACKUP_INT "db/setting/sound/media/sound_volume_backup"
+#define VCONFKEY_SETAPPL_NOTI_SOUND_VOLUME_BACKUP_INT "db/setting/sound/noti/sound_volume_backup"
+#define VCONFKEY_SETAPPL_TOUCH_FEEDBACK_SOUND_VOLUME_BACKUP_INT "db/setting/sound/touch_feedback/sound_volume_backup"
+#endif
+
static char *setting_volume_img_names[VOLUME_LIST_COUNT] = {
"b_setting_multi_media.png",
"b_setting_multi_media.png",
"IDS_ST_BODY_SYSTEM_M_VOLUME_ABB"
};
+static char *vconf_name_backup[VOLUME_LIST_COUNT] = {
+ VCONFKEY_SETAPPL_CALL_RINGTONE_SOUND_VOLUME_BACKUP_INT,
+ VCONFKEY_SETAPPL_MEDIA_SOUND_VOLUME_BACKUP_INT,
+ VCONFKEY_SETAPPL_NOTI_SOUND_VOLUME_BACKUP_INT,
+ VCONFKEY_SETAPPL_TOUCH_FEEDBACK_SOUND_VOLUME_BACKUP_INT
+};
+
static char *vconf_name[VOLUME_LIST_COUNT] = {
VCONFKEY_SETAPPL_CALL_RINGTONE_SOUND_VOLUME_INT,
VCONFKEY_SETAPPL_MEDIA_SOUND_VOLUME_INT,
_change_btn_img(pd->page_layout[cur_page], pd->plus_btn[cur_page], "b_slider_icon_plus.png", "btn2");
}
- if (pd->slider_value[cur_page] == 0) {
+ if (pd->slider_value[cur_page] == 0) {
_change_btn_img(data, pd->minus_btn[cur_page], "b_slider_icon_minus_disable.png", "btn1");
_change_btn_img(pd->page_layout[cur_page], pd->center_img[cur_page], setting_volume_img_mute_names[is_telephony_enable() ? cur_page : cur_page+1], "elm.icon");
+ vconf_set_int(vconf_name_backup[is_telephony_enable() ? cur_page : cur_page+1], pd->slider_value[cur_page]);
}
}
}
}
+static void set_mute_unmute_page(void *data, int page)
+{
+ page_data *pd = (page_data *)data;
+ int page_idx = page;
+ if (!is_telephony_enable()) {
+ /* Ringtone supports only telephony feature */
+ page++;
+ }
+
+
+ switch (page) {
+ case 0: /*ringtone*/
+ normal_volume_value_changed_page(pd->slider_value[page_idx]);
+ break;
+ case 1: /*media */
+ multimedia_value_changed_page(pd->slider_value[page_idx]);
+ break;
+ case 2: /*nodification */
+ normal_volume_value_changed_page(pd->slider_value[page_idx]);
+ break;
+ case 3: /*system */
+ normal_volume_value_changed_page(pd->slider_value[page_idx]);
+ break;
+ default:
+ break;
+ }
+}
+
static Eina_Bool
_value_changed_rotary(void *data, Evas_Object *obj, Eext_Rotary_Event_Info *info)
{
change_volume_page(data, cur_page);
}
+static void _press_mute_numute_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ char buf[1024];
+ /*Evas_Object *layout = (Evas_Object *)data; */
+ page_data *pd = (page_data *)data;
+ int cur_page = 0;
+ elm_scroller_current_page_get(pd->scroller, &cur_page, NULL);
+
+ if (pd->slider_value[cur_page] > 0) {
+ vconf_set_int(vconf_name_backup[is_telephony_enable() ? cur_page : cur_page+1], pd->slider_value[cur_page]);
+ _change_btn_img(data, pd->minus_btn[cur_page], "b_slider_icon_minus_disable.png", "btn1");
+ _change_btn_img(pd->page_layout[cur_page], pd->center_img[cur_page], setting_volume_img_mute_names[is_telephony_enable() ? cur_page : cur_page+1], "elm.icon");
+ pd->slider_value[cur_page] = 0;
+ } else {
+ vconf_get_int(vconf_name_backup[is_telephony_enable() ? cur_page : cur_page+1], &pd->slider_value[cur_page]);
+ if (pd->slider_value[cur_page] > 0) {
+ _change_btn_img(pd->page_layout[cur_page], pd->minus_btn[cur_page], "b_slider_icon_minus.png", "btn1");
+ _change_btn_img(pd->page_layout[cur_page], pd->center_img[cur_page], setting_volume_img_names[is_telephony_enable() ? cur_page : cur_page+1], "elm.icon");
+ }
+ }
+
+ snprintf(buf, sizeof(buf), "%02d", pd->slider_value[cur_page]);
+ ERR("Slider value = %s\n", buf);
+ elm_object_part_text_set(pd->page_layout[cur_page], "elm.text.slider", buf);
+ eext_circle_object_value_set(pd->slider[cur_page], (float)pd->slider_value[cur_page]);
+
+ set_mute_unmute_page(data, cur_page);
+
+}
+
+
static char *
_accessible_name_cb(void *data, Evas_Object *obj)
{
Evas_Object *img_bg = NULL;
img_bg = elm_image_add(page_layout);
snprintf(img_path, sizeof(img_path), "%s/b_slider_btn_bg.png", IMG_DIR);
+ evas_object_smart_callback_add(img_bg, "clicked", _press_mute_numute_cb, pd);
elm_image_file_set(img_bg, img_path, NULL);
elm_object_part_content_set(page_layout, "elm.icon_circle", img_bg);
evas_object_show(img_bg);