#include "private.h" #include "options_network.h" #include "config.h" static void _cb_name_changed(void *data, Evas_Object *obj, void *event EINA_UNUSED) { Config_Network *cfg_net; const char *txt; if (!(cfg_net = data)) return; txt = elm_entry_entry_get(obj); eina_stringshare_replace(&cfg_net->name, txt); _config_save(); } static void _cb_nick_pass_changed(void *data, Evas_Object *obj, void *event EINA_UNUSED) { Config_Network *cfg_net; const char *txt; if (!(cfg_net = data)) return; txt = elm_entry_entry_get(obj); eina_stringshare_replace(&cfg_net->nick_passwd, txt); _config_save(); } static void _cb_srv_pass_changed(void *data, Evas_Object *obj, void *event EINA_UNUSED) { Config_Network *cfg_net; const char *txt; if (!(cfg_net = data)) return; txt = elm_entry_entry_get(obj); eina_stringshare_replace(&cfg_net->server_passwd, txt); _config_save(); } static void _cb_autoconnect(void *data, Evas_Object *obj, void *event EINA_UNUSED) { Config_Network *cfg_net; if (!(cfg_net = data)) return; cfg_net->autoconnect = elm_check_state_get(obj); _config_save(); } static void _cb_ssl(void *data, Evas_Object *obj, void *event EINA_UNUSED) { Config_Network *cfg_net; if (!(cfg_net = data)) return; cfg_net->use_ssl = elm_check_state_get(obj); _config_save(); } static void _cb_proxy(void *data, Evas_Object *obj, void *event EINA_UNUSED) { Config_Network *cfg_net; if (!(cfg_net = data)) return; cfg_net->bypass_proxy = elm_check_state_get(obj); _config_save(); } void _options_network(Evas_Object *box, Evas_Object *base EINA_UNUSED, Config_Network *cfg_net) { Evas_Object *vbox, *fr, *tb, *o, *hbox; fr = elm_frame_add(box); elm_object_text_set(fr, "Network"); evas_object_size_hint_weight_set(fr, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(fr, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_box_pack_end(box, fr); evas_object_show(fr); vbox = elm_box_add(box); elm_box_horizontal_set(vbox, EINA_FALSE); elm_box_align_set(vbox, 0.0, 0.0); evas_object_size_hint_weight_set(vbox, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(vbox, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_object_content_set(fr, vbox); evas_object_show(vbox); tb = elm_table_add(box); elm_table_homogeneous_set(tb, EINA_FALSE); elm_table_padding_set(tb, 4, 2); evas_object_size_hint_weight_set(tb, EVAS_HINT_EXPAND, 0.0); evas_object_size_hint_align_set(tb, EVAS_HINT_FILL, 0.0); elm_box_pack_end(vbox, tb); evas_object_show(tb); o = elm_label_add(box); elm_object_text_set(o, "Name"); evas_object_size_hint_weight_set(o, EVAS_HINT_FILL, 0.0); evas_object_size_hint_align_set(o, 0.0, EVAS_HINT_FILL); elm_table_pack(tb, o, 0, 0, 1, 1); evas_object_show(o); o = elm_entry_add(box); elm_entry_entry_set(o, cfg_net->name); 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_PASSWORD); elm_scroller_policy_set(o, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF); evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(o, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_smart_callback_add(o, "changed,user", _cb_name_changed, cfg_net); elm_table_pack(tb, o, 1, 0, 2, 1); evas_object_show(o); o = elm_label_add(box); elm_object_text_set(o, "Nickserv Password"); evas_object_size_hint_weight_set(o, EVAS_HINT_FILL, 0.0); evas_object_size_hint_align_set(o, 0.0, EVAS_HINT_FILL); elm_table_pack(tb, o, 0, 1, 1, 1); evas_object_show(o); o = elm_entry_add(box); elm_entry_entry_set(o, cfg_net->nick_passwd); elm_entry_single_line_set(o, EINA_TRUE); elm_entry_password_set(o, EINA_TRUE); elm_entry_scrollable_set(o, EINA_TRUE); elm_entry_input_panel_layout_set(o, ELM_INPUT_PANEL_LAYOUT_PASSWORD); elm_scroller_policy_set(o, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF); evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(o, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_smart_callback_add(o, "changed,user", _cb_nick_pass_changed, cfg_net); elm_table_pack(tb, o, 1, 1, 2, 1); evas_object_show(o); o = elm_label_add(box); elm_object_text_set(o, "Server Password"); evas_object_size_hint_weight_set(o, EVAS_HINT_FILL, 0.0); evas_object_size_hint_align_set(o, 0.0, EVAS_HINT_FILL); elm_table_pack(tb, o, 0, 2, 1, 1); evas_object_show(o); o = elm_entry_add(box); elm_entry_entry_set(o, cfg_net->server_passwd); elm_entry_single_line_set(o, EINA_TRUE); elm_entry_password_set(o, EINA_TRUE); elm_entry_scrollable_set(o, EINA_TRUE); elm_entry_input_panel_layout_set(o, ELM_INPUT_PANEL_LAYOUT_PASSWORD); elm_scroller_policy_set(o, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF); evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(o, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_smart_callback_add(o, "changed,user", _cb_srv_pass_changed, cfg_net); elm_table_pack(tb, o, 1, 2, 2, 1); evas_object_show(o); o = elm_separator_add(box); elm_separator_horizontal_set(o, EINA_TRUE); evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, 0.0); evas_object_size_hint_align_set(o, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_box_pack_end(vbox, o); evas_object_show(o); hbox = elm_box_add(box); elm_box_horizontal_set(hbox, EINA_TRUE); elm_box_align_set(hbox, 0.5, 0.0); evas_object_size_hint_weight_set(hbox, EVAS_HINT_EXPAND, 0.0); evas_object_size_hint_align_set(hbox, 0.5, EVAS_HINT_FILL); elm_box_pack_end(vbox, hbox); evas_object_show(hbox); o = elm_check_add(box); elm_object_text_set(o, "Autoconnect"); elm_check_state_set(o, cfg_net->autoconnect); evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, 0.0); evas_object_size_hint_align_set(o, 0.0, EVAS_HINT_FILL); evas_object_smart_callback_add(o, "changed", _cb_autoconnect, cfg_net); elm_box_pack_end(hbox, o); evas_object_show(o); o = elm_check_add(box); elm_object_text_set(o, "Use SSL"); elm_check_state_set(o, cfg_net->use_ssl); evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, 0.0); evas_object_size_hint_align_set(o, 0.0, EVAS_HINT_FILL); evas_object_smart_callback_add(o, "changed", _cb_ssl, cfg_net); elm_box_pack_end(hbox, o); evas_object_show(o); o = elm_check_add(box); elm_object_text_set(o, "Bypass Proxy"); elm_check_state_set(o, cfg_net->bypass_proxy); evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, 0.0); evas_object_size_hint_align_set(o, 0.0, EVAS_HINT_FILL); evas_object_smart_callback_add(o, "changed", _cb_proxy, cfg_net); elm_box_pack_end(hbox, o); evas_object_show(o); }