summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorzmike <michael.blumenkrantz@gmail.com>2014-03-02 15:38:42 -0500
committerzmike <michael.blumenkrantz@gmail.com>2014-03-02 15:38:42 -0500
commite935bad365e7e7056b57412ee84f052fce2a3dc4 (patch)
treeae5d432008408388e100f98290d68e8c321aae9c /src/lib
parent01ceb5454b80fc67ae0f65c55d66bb330ef7cc83 (diff)
@fix broken slider popup hide logic
setting a flag here made it impossible to have any kind of transition animation on the indicator and was a poor workaround for fixing a theme issue
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/elm_slider.c20
-rw-r--r--src/lib/elm_widget_slider.h1
2 files changed, 5 insertions, 16 deletions
diff --git a/src/lib/elm_slider.c b/src/lib/elm_slider.c
index 7c9e5637f..977500f5a 100644
--- a/src/lib/elm_slider.c
+++ b/src/lib/elm_slider.c
@@ -317,14 +317,10 @@ _popup_hide(void *data,
317 ELM_SLIDER_DATA_GET(data, sd); 317 ELM_SLIDER_DATA_GET(data, sd);
318 if (sd->popup) 318 if (sd->popup)
319 { 319 {
320 if (!sd->popup_hiding) 320 if (!(elm_widget_focus_get(data) && sd->always_popup_show))
321 { 321 {
322 if (!(elm_widget_focus_get(data) && sd->always_popup_show)) 322 edje_object_signal_emit(sd->popup, "popup,hide", "elm"); // XXX: for compat
323 { 323 edje_object_signal_emit(sd->popup, "elm,popup,hide", "elm");
324 edje_object_signal_emit(sd->popup, "popup,hide", "elm"); // XXX: for compat
325 edje_object_signal_emit(sd->popup, "elm,popup,hide", "elm");
326 sd->popup_hiding = EINA_TRUE;
327 }
328 } 324 }
329 } 325 }
330} 326}
@@ -338,14 +334,8 @@ _popup_hide_done(void *data,
338 ELM_SLIDER_DATA_GET(data, sd); 334 ELM_SLIDER_DATA_GET(data, sd);
339 if (sd->popup) 335 if (sd->popup)
340 { 336 {
341 if (sd->popup_hiding) 337 if (!(elm_widget_focus_get(data) && sd->always_popup_show))
342 { 338 evas_object_hide(sd->popup);
343 if (!(elm_widget_focus_get(data) && sd->always_popup_show))
344 {
345 evas_object_hide(sd->popup);
346 sd->popup_hiding = EINA_FALSE;
347 }
348 }
349 } 339 }
350} 340}
351 341
diff --git a/src/lib/elm_widget_slider.h b/src/lib/elm_widget_slider.h
index 3a6304f8a..8f9f14b07 100644
--- a/src/lib/elm_widget_slider.h
+++ b/src/lib/elm_widget_slider.h
@@ -41,7 +41,6 @@ struct _Elm_Slider_Smart_Data
41 Eina_Bool indicator_show : 1; 41 Eina_Bool indicator_show : 1;
42 Eina_Bool spacer_down : 1; 42 Eina_Bool spacer_down : 1;
43 Eina_Bool frozen : 1; 43 Eina_Bool frozen : 1;
44 Eina_Bool popup_hiding : 1;
45 Eina_Bool units_show : 1; 44 Eina_Bool units_show : 1;
46 Eina_Bool always_popup_show : 1; /*this flag is to set the visiblity of slider indicator 45 Eina_Bool always_popup_show : 1; /*this flag is to set the visiblity of slider indicator
47 * if this flag is set then the indicator always show 46 * if this flag is set then the indicator always show