static void setting_display_set_slider_value(void *data, Evas_Object *obj,
double value);
+static bool setting_display_brightness_change_is_supported();
+
/* ***************************************************
*
*basic func
display_get_max_brightness();
}
ad->data_br_sli->userdata = ad;
-
+ if (!setting_display_brightness_change_is_supported())
+ elm_object_item_disabled_set(ad->data_br_sli->item, EINA_TRUE);
__BACK_POINTER_SET(ad->data_br_sli);
} else {
SETTING_TRACE_ERROR("ad->data_br_sli is NULL");
}
}
}
+
+/**
+ * @brief Indicate if changing brightness feature is supported on platform.
+ *
+ * @note Currently there is no decent API to check if changing brightness is
+ * supported. For now we workaround this by checking for hdmi connection.
+ * If hdmi is connected we assume the brightness cannot be changed using Tizen API,
+ * in other cases we assume it is possible.
+ */
+static bool setting_display_brightness_change_is_supported()
+{
+ int hdmi_connected;
+ int err = vconf_get_int(VCONFKEY_SYSMAN_HDMI, &hdmi_connected);
+ if (err != 0) {
+ SETTING_TRACE_ERROR("vconf_get_int failed for VCONFKEY_SYSMAN_HDMI");
+ return false;
+ }
+ return hdmi_connected == VCONFKEY_SYSMAN_HDMI_DISCONNECTED;
+}
#include <device/battery.h>
#include <system_settings.h>
#include <dpm/password.h>
+#include <system_info.h>
#include "setting-display-main.h"
#include "setting-common-draw-widget.h"
static int setting_display_main_create(void *cb);
static int setting_display_main_destroy(void *cb);
static int setting_display_main_update(void *cb);
+static bool setting_display_screen_timeout_change_is_supported();
+static bool setting_display_font_change_is_supported();
setting_view setting_view_display_main = {
.create = setting_display_main_create,
construct_brightness(ad, ad->md.genlist);
/* FONT */
- _get_font_name_string(font_name_string, NAME_MAX);
+ if (setting_display_font_change_is_supported())
+ _get_font_name_string(font_name_string, NAME_MAX);
+ else
+ snprintf(font_name_string, NAME_MAX, "%s", _("IDS_MSGF_POP_UNSUPPORTED"));
ad->data_font = setting_create_Gendial_field_def(
ad->md.genlist, &(ad->itc_1text),
setting_display_main_mouse_up_Gendial_list_cb,
NULL, 0, KeyStr_Font,
font_name_string, NULL);
if (ad->data_font) {
+ if (!setting_display_font_change_is_supported())
+ elm_object_item_disabled_set(ad->data_font->item, EINA_TRUE);
ad->data_font->userdata = ad;
__BACK_POINTER_SET(ad->data_font);
} else {
}
/* BACKLIGHTTIME */
- pa_backlight_time = get_pa_backlight_time_str();
+ if (setting_display_screen_timeout_change_is_supported())
+ pa_backlight_time = get_pa_backlight_time_str();
+ else
+ pa_backlight_time = g_strdup(_("IDS_MSGF_POP_UNSUPPORTED"));
ad->data_back =
setting_create_Gendial_field_def(
ad->md.genlist,
if (ad->data_back) {
ad->data_back->int_slp_setting_binded =
INT_SLP_SETTING_LCD_TIMEOUT_NORMAL;
+ if (!setting_display_screen_timeout_change_is_supported())
+ elm_object_item_disabled_set(ad->data_back->item, EINA_TRUE);
__BACK_POINTER_SET(ad->data_back);
} else {
SETTING_TRACE_ERROR("ad->data_back is NULL");
{
ui_app_exit();
}
+
+/**
+ * @brief Indicate if changing screen timeout feature is supported on platform.
+ *
+ * @note Currently there is no decent API to check if changing screen timeout is
+ * supported. For now we workaround this by checking for hdmi connection.
+ * If hdmi is connected we assume the timeout cannot be changed using Tizen API,
+ * in other cases we assume it is possible.
+ */
+static bool setting_display_screen_timeout_change_is_supported()
+{
+ int hdmi_connected;
+ int err = vconf_get_int(VCONFKEY_SYSMAN_HDMI, &hdmi_connected);
+ if (err != 0) {
+ SETTING_TRACE_ERROR("vconf_get_int failed for VCONFKEY_SYSMAN_HDMI");
+ return false;
+ }
+ return hdmi_connected == VCONFKEY_SYSMAN_HDMI_DISCONNECTED;
+}
+
+static bool setting_display_font_change_is_supported()
+{
+ bool value;
+ int err = system_info_get_platform_bool("http://tizen.org/feature/systemsetting.font", &value);
+ if (err != TIZEN_ERROR_NONE) {
+ SETTING_TRACE_ERROR("system_info_get_platform_bool failed for http://tizen.org/feature/systemsetting.font: %s", get_error_message(err));
+ return false;
+ }
+ SETTING_TRACE_ERROR("http://tizen.org/feature/systemsetting.font: %d", value);
+ return value;
+}