Client: Use popup instead of inwin for the config dialog.

This commit is contained in:
Daniel Juyung Seo 2013-11-07 22:32:36 +09:00
parent 618a820e3b
commit 2d044dd76a
1 changed files with 16 additions and 17 deletions

View File

@ -17,7 +17,7 @@ static void
_close_btn_clicked(void *data, Evas_Object *obj EINA_UNUSED,
void *event_info EINA_UNUSED)
{
Evas_Object *win = data;
Evas_Object *popup = data;
if (_cfg_changed)
_conf_changed_cb(_conf_changed_cb_data);
@ -25,7 +25,7 @@ _close_btn_clicked(void *data, Evas_Object *obj EINA_UNUSED,
_conf_changed_cb = NULL;
_conf_changed_cb_data = NULL;
evas_object_del(win);
evas_object_del(popup);
}
static void
@ -40,27 +40,25 @@ _config_check_changed(void *data, Evas_Object *obj,
void
clouseau_settings_dialog_open(Evas_Object *parent, Clouseau_Config_Changed_Cb callback, const void *callback_data)
{
Evas_Object *win, *bx;
Evas_Object *popup, *bx, *check, *btn;
_cfg_changed = EINA_FALSE;
_conf_changed_cb = callback;
_conf_changed_cb_data = (void *) callback_data;
win = elm_win_inwin_add(parent);
evas_object_show(win);
popup = elm_popup_add(parent);
elm_object_part_text_set(popup, "title,text", "Clouseau Settings");
evas_object_show(popup);
bx = elm_box_add(win);
evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(bx, EVAS_HINT_FILL, EVAS_HINT_FILL);
bx = elm_box_add(popup);
elm_object_content_set(popup, bx);
evas_object_show(bx);
elm_win_inwin_content_set(win, bx);
Evas_Object *check;
check = elm_check_add(bx);
elm_object_text_set(check, "Show Hidden");
elm_check_state_set(check, _clouseau_cfg->show_hidden);
evas_object_size_hint_weight_set(check, EVAS_HINT_EXPAND, 0.0);
evas_object_size_hint_align_set(check, 0.0, 0.5);
elm_box_pack_end(bx, check);
evas_object_show(check);
evas_object_smart_callback_add(check, "changed",
@ -69,6 +67,8 @@ clouseau_settings_dialog_open(Evas_Object *parent, Clouseau_Config_Changed_Cb ca
check = elm_check_add(bx);
elm_object_text_set(check, "Show Clippers");
elm_check_state_set(check, _clouseau_cfg->show_clippers);
evas_object_size_hint_weight_set(check, EVAS_HINT_EXPAND, 0.0);
evas_object_size_hint_align_set(check, 0.0, 0.5);
elm_box_pack_end(bx, check);
evas_object_show(check);
evas_object_smart_callback_add(check, "changed",
@ -77,18 +77,17 @@ clouseau_settings_dialog_open(Evas_Object *parent, Clouseau_Config_Changed_Cb ca
check = elm_check_add(bx);
elm_object_text_set(check, "Only show Elementary widgets");
elm_check_state_set(check, _clouseau_cfg->show_elm_only);
evas_object_size_hint_weight_set(check, EVAS_HINT_EXPAND, 0.0);
evas_object_size_hint_align_set(check, 0.0, 0.5);
elm_box_pack_end(bx, check);
evas_object_show(check);
evas_object_smart_callback_add(check, "changed",
_config_check_changed, &(_clouseau_cfg->show_elm_only));
Evas_Object *btn;
btn = elm_button_add(bx);
elm_object_text_set(btn, "Close");
evas_object_size_hint_align_set(bx, 1.0, EVAS_HINT_FILL);
elm_box_pack_end(bx, btn);
elm_object_part_content_set(popup, "button1", btn);
evas_object_show(btn);
evas_object_smart_callback_add(btn, "clicked",
_close_btn_clicked, win);
_close_btn_clicked, popup);
}