Use "changed" smart cb instead of mouse down.

SVN revision: 73011
This commit is contained in:
Leif Middelschulte 2012-06-28 13:47:48 +00:00
parent b3011b6f45
commit 2c30c70a12
1 changed files with 5 additions and 11 deletions

View File

@ -88,7 +88,7 @@ static void _arrangement_widget_rep_del(E_Config_Randr_Dialog_Outpu
static void _arrangement_widget_rep_mouse_down_cb(void *data, Evas *e, Evas_Object *obj, void *event_info);
static void _arrangement_widget_rep_mouse_move_cb(void *data, Evas *e, Evas_Object *obj, void *event_info);
static void _arrangement_widget_rep_mouse_up_cb(void *data, Evas *e, Evas_Object *obj, void *event_info);
static void _arrangement_widget_check_mouse_down_cb(void *data, Evas *e, Evas_Object *obj, void *event_info);
static void _arrangement_widget_check_changed_cb(void *data, Evas_Object *obj, void *event_info);
static void _arrangement_widget_update(void);
static Position_Suggestion *e_layout_pos_sug_from_children_get(Evas_Object *child, Eina_List *children, int max_distance, Evas_Object_Rel_Pos allowed_pos);
Eina_Bool _arrangemnet_rep_illegal_overlapping(E_Config_Randr_Dialog_Output_Dialog_Data *odd);
@ -190,7 +190,6 @@ _arrangement_widget_update(void)
Eina_List *iter;
area = e_config_runtime_info->gui.widgets.arrangement.area;
if (!e_config_runtime_info || !e_config_runtime_info->gui.canvas || !e_config_runtime_info->output_dialog_data_list || !area) return;
fprintf(stderr, "CONF_RANDR: Display disconnected outputs: %s\n", (randr_dialog_config->display_disconnected_outputs ? "YES" : "NO"));
@ -275,7 +274,7 @@ arrangement_widget_basic_create_widgets(Evas *canvas)
check = e_widget_check_add(canvas, _("Display disconnected outputs"), &e_config_runtime_info->gui.widgets.arrangement.check_val_display_disconnected_outputs);
if (randr_dialog_config)
e_widget_check_checked_set(check, randr_dialog_config->display_disconnected_outputs);
evas_object_event_callback_add(check, EVAS_CALLBACK_MOUSE_DOWN, _arrangement_widget_check_mouse_down_cb, NULL);
evas_object_smart_callback_add(check, "changed", _arrangement_widget_check_changed_cb, NULL);
e_config_runtime_info->gui.widgets.arrangement.check_display_disconnected_outputs = check;
area = e_layout_add(canvas);
@ -379,16 +378,11 @@ _arrangement_widget_rep_del(E_Config_Randr_Dialog_Output_Dialog_Data *odd)
}
static void
_arrangement_widget_check_mouse_down_cb(void *data __UNUSED__, Evas *e __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__)
_arrangement_widget_check_changed_cb(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
{
if (!obj || !e_config_runtime_info || !randr_dialog_config) return;
randr_dialog_config->display_disconnected_outputs = e_config_runtime_info->gui.widgets.arrangement.check_val_display_disconnected_outputs;
if (obj == e_config_runtime_info->gui.widgets.arrangement.check_display_disconnected_outputs)
{
//this is bad. The events are called _before_ the value is updated.
randr_dialog_config->display_disconnected_outputs ^= EINA_TRUE;
_arrangement_widget_update();
}
_arrangement_widget_update();
}
static void