forked from enlightenment/enlightenment
fix bug where slider could be changed while disabled
ticket #2169 SVN revision: 82403
This commit is contained in:
parent
27624264ee
commit
9543eb5c37
|
@ -2,6 +2,8 @@
|
||||||
|
|
||||||
* Fixed bug where keyboard resizing of windows would not be possible if timeout was set to zero
|
* Fixed bug where keyboard resizing of windows would not be possible if timeout was set to zero
|
||||||
* Fixed crash when clicking apply in wallpaper settings dialog and no wallpaper is selected
|
* Fixed crash when clicking apply in wallpaper settings dialog and no wallpaper is selected
|
||||||
|
* Fixed bug where disabled slider widgets could be changed with mouse wheel
|
||||||
|
* Fixed bug where fileman config slider widgets were not properly disabled
|
||||||
* Added elm win trap callback for base size setting, calling this causes ICCCM hints to be applied
|
* Added elm win trap callback for base size setting, calling this causes ICCCM hints to be applied
|
||||||
|
|
||||||
2013-01-07 Tom "TAsn" Hacohen
|
2013-01-07 Tom "TAsn" Hacohen
|
||||||
|
|
2
NEWS
2
NEWS
|
@ -67,3 +67,5 @@ Fixes:
|
||||||
* entry/scrollframe: Fixed issues with submembers.
|
* entry/scrollframe: Fixed issues with submembers.
|
||||||
* Fixed bug where keyboard resizing of windows would not be possible if timeout was set to zero
|
* Fixed bug where keyboard resizing of windows would not be possible if timeout was set to zero
|
||||||
* Fixed crash when clicking apply in wallpaper settings dialog and no wallpaper is selected
|
* Fixed crash when clicking apply in wallpaper settings dialog and no wallpaper is selected
|
||||||
|
* Fixed bug where disabled slider widgets could be changed with mouse wheel
|
||||||
|
* Fixed bug where fileman config slider widgets were not properly disabled
|
||||||
|
|
|
@ -23,6 +23,7 @@ struct _E_Smart_Data
|
||||||
Evas_Coord minw, minh;
|
Evas_Coord minw, minh;
|
||||||
Ecore_Timer *set_timer;
|
Ecore_Timer *set_timer;
|
||||||
Eina_List *special_values;
|
Eina_List *special_values;
|
||||||
|
Eina_Bool disabled : 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct _E_Slider_Special_Value
|
struct _E_Slider_Special_Value
|
||||||
|
@ -205,6 +206,13 @@ e_slider_direction_set(Evas_Object *obj, int reversed)
|
||||||
_e_smart_value_update_now(sd);
|
_e_smart_value_update_now(sd);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
EAPI void
|
||||||
|
e_slider_disabled_set(Evas_Object *obj, Eina_Bool disable)
|
||||||
|
{
|
||||||
|
API_ENTRY return;
|
||||||
|
sd->disabled = disable;
|
||||||
|
}
|
||||||
|
|
||||||
EAPI int
|
EAPI int
|
||||||
e_slider_direction_get(Evas_Object *obj)
|
e_slider_direction_get(Evas_Object *obj)
|
||||||
{
|
{
|
||||||
|
@ -397,6 +405,7 @@ _e_smart_signal_cb_wheel_up(void *data, Evas_Object *obj __UNUSED__, const char
|
||||||
{
|
{
|
||||||
E_Smart_Data *sd = data;
|
E_Smart_Data *sd = data;
|
||||||
|
|
||||||
|
if (sd->disabled) return;
|
||||||
edje_object_part_drag_step(sd->edje_obj, "e.dragable.slider", -0.05, -0.05);
|
edje_object_part_drag_step(sd->edje_obj, "e.dragable.slider", -0.05, -0.05);
|
||||||
sd->direction = -1;
|
sd->direction = -1;
|
||||||
}
|
}
|
||||||
|
@ -406,6 +415,7 @@ _e_smart_signal_cb_wheel_down(void *data, Evas_Object *obj __UNUSED__, const cha
|
||||||
{
|
{
|
||||||
E_Smart_Data *sd = data;
|
E_Smart_Data *sd = data;
|
||||||
|
|
||||||
|
if (sd->disabled) return;
|
||||||
edje_object_part_drag_step(sd->edje_obj, "e.dragable.slider", 0.05, 0.05);
|
edje_object_part_drag_step(sd->edje_obj, "e.dragable.slider", 0.05, 0.05);
|
||||||
sd->direction = 1;
|
sd->direction = 1;
|
||||||
}
|
}
|
||||||
|
@ -416,6 +426,7 @@ _e_smart_event_key_down(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSE
|
||||||
Evas_Event_Key_Down *ev = event_info;
|
Evas_Event_Key_Down *ev = event_info;
|
||||||
E_Smart_Data *sd = data;
|
E_Smart_Data *sd = data;
|
||||||
|
|
||||||
|
if (sd->disabled) return;
|
||||||
if ((!strcmp(ev->keyname, "Up")) ||
|
if ((!strcmp(ev->keyname, "Up")) ||
|
||||||
(!strcmp(ev->keyname, "KP_Up")) ||
|
(!strcmp(ev->keyname, "KP_Up")) ||
|
||||||
(!strcmp(ev->keyname, "Left")) ||
|
(!strcmp(ev->keyname, "Left")) ||
|
||||||
|
@ -467,6 +478,7 @@ _e_smart_event_mouse_down(void *data, Evas *e, Evas_Object *obj __UNUSED__, void
|
||||||
double pos;
|
double pos;
|
||||||
static int in_md = 0;
|
static int in_md = 0;
|
||||||
|
|
||||||
|
if (sd->disabled) return;
|
||||||
if (in_md > 0) return;
|
if (in_md > 0) return;
|
||||||
in_md++;
|
in_md++;
|
||||||
evas_object_geometry_get(sd->event, &x, &y, &w, &h);
|
evas_object_geometry_get(sd->event, &x, &y, &w, &h);
|
||||||
|
|
|
@ -20,7 +20,7 @@ EAPI void e_slider_direction_set (Evas_Object *obj, int rever
|
||||||
EAPI int e_slider_direction_get (Evas_Object *obj);
|
EAPI int e_slider_direction_get (Evas_Object *obj);
|
||||||
EAPI void e_slider_size_min_get (Evas_Object *obj, Evas_Coord *minw, Evas_Coord *minh);
|
EAPI void e_slider_size_min_get (Evas_Object *obj, Evas_Coord *minw, Evas_Coord *minh);
|
||||||
EAPI Evas_Object *e_slider_edje_object_get (Evas_Object *obj);
|
EAPI Evas_Object *e_slider_edje_object_get (Evas_Object *obj);
|
||||||
|
EAPI void e_slider_disabled_set(Evas_Object *obj, Eina_Bool disable);
|
||||||
EAPI void e_slider_special_value_add (Evas_Object *obj, double value, double error, const char *label);
|
EAPI void e_slider_special_value_add (Evas_Object *obj, double value, double error, const char *label);
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -230,9 +230,12 @@ static void
|
||||||
_e_wid_disable_hook(Evas_Object *obj)
|
_e_wid_disable_hook(Evas_Object *obj)
|
||||||
{
|
{
|
||||||
E_Widget_Data *wd;
|
E_Widget_Data *wd;
|
||||||
|
Eina_Bool disable;
|
||||||
|
|
||||||
wd = e_widget_data_get(obj);
|
wd = e_widget_data_get(obj);
|
||||||
if (e_widget_disabled_get(obj))
|
disable = e_widget_disabled_get(obj);
|
||||||
|
e_slider_disabled_set(wd->o_slider, disable);
|
||||||
|
if (disable)
|
||||||
edje_object_signal_emit(e_slider_edje_object_get(wd->o_slider),
|
edje_object_signal_emit(e_slider_edje_object_get(wd->o_slider),
|
||||||
"e,state,disabled", "e");
|
"e,state,disabled", "e");
|
||||||
else
|
else
|
||||||
|
|
|
@ -28,7 +28,9 @@ struct _E_Config_Dialog_Data
|
||||||
double delay;
|
double delay;
|
||||||
double size;
|
double size;
|
||||||
Eina_Bool enable;
|
Eina_Bool enable;
|
||||||
|
Evas_Object *delay_slider_text;
|
||||||
Evas_Object *delay_slider;
|
Evas_Object *delay_slider;
|
||||||
|
Evas_Object *size_slider_text;
|
||||||
Evas_Object *size_slider;
|
Evas_Object *size_slider;
|
||||||
} tooltip;
|
} tooltip;
|
||||||
/* display of icons */
|
/* display of icons */
|
||||||
|
@ -282,7 +284,9 @@ _tooltip_changed(void *data, Evas_Object *obj __UNUSED__)
|
||||||
{
|
{
|
||||||
E_Config_Dialog_Data *cfdata = data;
|
E_Config_Dialog_Data *cfdata = data;
|
||||||
|
|
||||||
|
e_widget_disabled_set(cfdata->tooltip.delay_slider_text, !cfdata->tooltip.enable);
|
||||||
e_widget_disabled_set(cfdata->tooltip.delay_slider, !cfdata->tooltip.enable);
|
e_widget_disabled_set(cfdata->tooltip.delay_slider, !cfdata->tooltip.enable);
|
||||||
|
e_widget_disabled_set(cfdata->tooltip.size_slider_text, !cfdata->tooltip.enable);
|
||||||
e_widget_disabled_set(cfdata->tooltip.size_slider, !cfdata->tooltip.enable);
|
e_widget_disabled_set(cfdata->tooltip.size_slider, !cfdata->tooltip.enable);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -453,15 +457,15 @@ _basic_create(E_Config_Dialog *cfd __UNUSED__,
|
||||||
(int*)&(cfdata->tooltip.enable));
|
(int*)&(cfdata->tooltip.enable));
|
||||||
e_widget_on_change_hook_set(ob, _tooltip_changed, cfdata);
|
e_widget_on_change_hook_set(ob, _tooltip_changed, cfdata);
|
||||||
e_widget_list_object_append(o, ob, 1, 1, 0.5);
|
e_widget_list_object_append(o, ob, 1, 1, 0.5);
|
||||||
cfdata->tooltip.delay_slider = ob = e_widget_label_add(evas, _("Tooltip delay"));
|
cfdata->tooltip.delay_slider_text = ob = e_widget_label_add(evas, _("Tooltip delay"));
|
||||||
e_widget_list_object_append(o, ob, 1, 1, 0.5);
|
e_widget_list_object_append(o, ob, 1, 1, 0.5);
|
||||||
ob = e_widget_slider_add(evas, 1, 0, _("%1.1f"), 0.0, 5.0, 0.5, 0,
|
cfdata->tooltip.delay_slider = ob = e_widget_slider_add(evas, 1, 0, _("%1.1f"), 0.0, 5.0, 0.5, 0,
|
||||||
&cfdata->tooltip.delay, NULL, 150);
|
&cfdata->tooltip.delay, NULL, 150);
|
||||||
e_widget_list_object_append(o, ob, 1, 1, 0.5);
|
e_widget_list_object_append(o, ob, 1, 1, 0.5);
|
||||||
|
|
||||||
cfdata->tooltip.size_slider = ob = e_widget_label_add(evas, _("Tooltip size (Screen percentage)"));
|
cfdata->tooltip.size_slider_text = ob = e_widget_label_add(evas, _("Tooltip size (Screen percentage)"));
|
||||||
e_widget_list_object_append(o, ob, 1, 1, 0.5);
|
e_widget_list_object_append(o, ob, 1, 1, 0.5);
|
||||||
ob = e_widget_slider_add(evas, 1, 0, _("%2.0f"), 10.0, 75.0, 5.0, 0,
|
cfdata->tooltip.size_slider = ob = e_widget_slider_add(evas, 1, 0, _("%2.0f"), 10.0, 75.0, 5.0, 0,
|
||||||
&cfdata->tooltip.size, NULL, 150);
|
&cfdata->tooltip.size, NULL, 150);
|
||||||
e_widget_list_object_append(o, ob, 1, 1, 0.5);
|
e_widget_list_object_append(o, ob, 1, 1, 0.5);
|
||||||
_tooltip_changed(cfdata, NULL);
|
_tooltip_changed(cfdata, NULL);
|
||||||
|
|
Loading…
Reference in New Issue