#include "private.h" #include "options_general.h" #include "config.h" static Evas_Object *o_opacity; static void _cb_translucent(void *data EINA_UNUSED, Evas_Object *obj, void *event EINA_UNUSED) { _ex_cfg->gui.translucent = elm_check_state_get(obj); elm_object_disabled_set(o_opacity, !_ex_cfg->gui.translucent); _config_save(); } static void _cb_opacity(void *data EINA_UNUSED, Evas_Object *obj, void *event EINA_UNUSED) { _ex_cfg->gui.opacity = elm_slider_value_get(obj); _config_save(); } static void _cb_scrollback(void *data EINA_UNUSED, Evas_Object *obj, void *event EINA_UNUSED) { _ex_cfg->gui.scrollback = elm_slider_value_get(obj) + 0.5; _config_save(); } static void _cb_nick(void *data EINA_UNUSED, Evas_Object *obj, void *event EINA_UNUSED) { char *txt; if (_ex_cfg->nick) eina_stringshare_del(_ex_cfg->nick); _ex_cfg->nick = NULL; if ((txt = elm_entry_markup_to_utf8(elm_object_text_get(obj)))) { _ex_cfg->nick = eina_stringshare_add(txt); free(txt); } _config_save(); } static void _cb_name(void *data EINA_UNUSED, Evas_Object *obj, void *event EINA_UNUSED) { char *txt; if (_ex_cfg->name) eina_stringshare_del(_ex_cfg->name); _ex_cfg->name = NULL; if ((txt = elm_entry_markup_to_utf8(elm_object_text_get(obj)))) { _ex_cfg->name = eina_stringshare_add(txt); free(txt); } _config_save(); } void _options_general(Evas_Object *box, Evas_Object *grid EINA_UNUSED) { Evas_Object *o, *o_frame, *tb, *vbox; /* general frame */ o_frame = elm_frame_add(box); WEIGHT_SET(o_frame, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); ALIGN_SET(o_frame, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_object_text_set(o_frame, "User Interface"); elm_box_pack_end(box, o_frame); evas_object_show(o_frame); vbox = elm_box_add(box); WEIGHT_SET(vbox, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); ALIGN_SET(vbox, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_object_content_set(o_frame, vbox); evas_object_show(vbox); o = elm_check_add(box); WEIGHT_SET(o, EVAS_HINT_EXPAND, 0.0); ALIGN_SET(o, EVAS_HINT_FILL, 0.5); /* ALIGN_SET(o, 0.0, EVAS_HINT_FILL); */ elm_object_tooltip_text_set(o, "Translucent"); elm_object_text_set(o, "Translucent"); elm_check_state_set(o, _ex_cfg->gui.translucent); evas_object_smart_callback_add(o, "changed", _cb_translucent, NULL); elm_box_pack_end(vbox, o); evas_object_show(o); o_opacity = o = elm_slider_add(box); WEIGHT_SET(o, EVAS_HINT_EXPAND, 0.0); ALIGN_SET(o, EVAS_HINT_FILL, 0.0); elm_slider_span_size_set(o, 40); elm_slider_unit_format_set(o, "%1.0f%%"); elm_slider_indicator_format_set(o, "%1.0f%%"); elm_slider_min_max_set(o, 0, 100); elm_slider_value_set(o, _ex_cfg->gui.opacity); evas_object_smart_callback_add(o, "delay,changed", _cb_opacity, NULL); elm_box_pack_end(vbox, o); evas_object_show(o); o = elm_label_add(box); elm_object_text_set(o, "Scrollback:"); WEIGHT_SET(o, 0.0, 0.0); ALIGN_SET(o, 0.0, 0.5); elm_box_pack_end(vbox, o); evas_object_show(o); o = elm_slider_add(box); WEIGHT_SET(o, EVAS_HINT_EXPAND, 0.0); ALIGN_SET(o, EVAS_HINT_FILL, 0.0); elm_slider_span_size_set(o, 40); elm_slider_unit_format_set(o, "%1.0f"); elm_slider_indicator_format_set(o, "%1.0f"); elm_slider_min_max_set(o, 0, 10000); elm_slider_value_set(o, _ex_cfg->gui.scrollback); evas_object_smart_callback_add(o, "delay,changed", _cb_scrollback, NULL); elm_box_pack_end(vbox, o); evas_object_show(o); /* user frame */ o_frame = elm_frame_add(box); WEIGHT_SET(o_frame, EVAS_HINT_EXPAND, 0.0); ALIGN_SET(o_frame, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_object_text_set(o_frame, "User Information"); evas_object_show(o_frame); tb = elm_table_add(box); elm_table_homogeneous_set(tb, EINA_FALSE); elm_table_padding_set(tb, 4, 2); WEIGHT_SET(tb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); ALIGN_SET(tb, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_object_content_set(o_frame, tb); evas_object_show(tb); o = elm_label_add(box); WEIGHT_SET(o, 0.0, 0.0); ALIGN_SET(o, 0.0, 0.0); elm_object_text_set(o, "Nick Name"); evas_object_show(o); elm_table_pack(tb, o, 0, 0, 1, 1); o = elm_entry_add(box); elm_entry_single_line_set(o, EINA_TRUE); elm_entry_scrollable_set(o, EINA_TRUE); elm_entry_input_panel_layout_set(o, ELM_INPUT_PANEL_LAYOUT_NORMAL); elm_scroller_policy_set(o, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF); WEIGHT_SET(o, EVAS_HINT_EXPAND, 0.0); ALIGN_SET(o, EVAS_HINT_FILL, 0.0); elm_object_text_set(o, _ex_cfg->nick); evas_object_smart_callback_add(o, "changed", _cb_nick, NULL); evas_object_show(o); elm_table_pack(tb, o, 1, 0, 1, 1); o = elm_label_add(box); WEIGHT_SET(o, 0.0, 0.0); ALIGN_SET(o, 0.0, 0.5); elm_object_text_set(o, "User Name"); evas_object_show(o); elm_table_pack(tb, o, 0, 1, 1, 1); o = elm_entry_add(box); elm_entry_single_line_set(o, EINA_TRUE); elm_entry_scrollable_set(o, EINA_TRUE); elm_entry_input_panel_layout_set(o, ELM_INPUT_PANEL_LAYOUT_NORMAL); elm_scroller_policy_set(o, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF); WEIGHT_SET(o, EVAS_HINT_EXPAND, 0.0); ALIGN_SET(o, EVAS_HINT_FILL, 0.0); elm_object_text_set(o, _ex_cfg->name); evas_object_smart_callback_add(o, "changed", _cb_name, NULL); evas_object_show(o); elm_table_pack(tb, o, 1, 1, 1, 1); elm_box_pack_end(box, o_frame); }