Fix the policy is not changed when the theme is changed.

The "reload" signal from edc is necessary always.
This commit is contained in:
Jaehwan Kim 2013-04-16 13:27:55 +09:00
parent 22ff7be1b6
commit 274a51183d
4 changed files with 45 additions and 20 deletions

View File

@ -1251,3 +1251,8 @@
2013-04-15 Jaehwan Kim
* Add the feature for key events.
2013-04-16 Jaehwan Kim
* Fix the policy is not changed when the theme is changed.
The "reload" signal from edc is necessary always.

View File

@ -207,6 +207,7 @@ Fixes:
* Fix elc_player crash issue.
* Fix the region_show/region_bring_in don't have a limit at a paging movement.
* Fix the calculation double type number.
* Fix the policy is not changed when the theme is changed.
Removals:

View File

@ -327,6 +327,7 @@ group { name: "elm/scroller/base/default";
set_int(sbalways_v, 0);
set_int(sbalways_h, 0);
set_int(sbvis_timer, 0);
emit("reload", "elm");
}
}

View File

@ -978,6 +978,41 @@ _elm_scroll_anim_stop(Elm_Scrollable_Smart_Interface_Data *sid)
sid->cb_func.animate_stop(sid->obj, NULL);
}
static void
_elm_scroll_policy_signal_emit(Elm_Scrollable_Smart_Interface_Data *sid)
{
if (sid->hbar_flags == ELM_SCROLLER_POLICY_ON)
edje_object_signal_emit
(sid->edje_obj, "elm,action,show_always,hbar", "elm");
else if (sid->hbar_flags == ELM_SCROLLER_POLICY_OFF)
edje_object_signal_emit
(sid->edje_obj, "elm,action,hide,hbar", "elm");
else
edje_object_signal_emit
(sid->edje_obj, "elm,action,show_notalways,hbar", "elm");
if (sid->vbar_flags == ELM_SCROLLER_POLICY_ON)
edje_object_signal_emit
(sid->edje_obj, "elm,action,show_always,vbar", "elm");
else if (sid->vbar_flags == ELM_SCROLLER_POLICY_OFF)
edje_object_signal_emit
(sid->edje_obj, "elm,action,hide,vbar", "elm");
else
edje_object_signal_emit
(sid->edje_obj, "elm,action,show_notalways,vbar", "elm");
edje_object_message_signal_process(sid->edje_obj);
_elm_scroll_scroll_bar_size_adjust(sid);
}
static void
_elm_scroll_reload_cb(void *data,
Evas_Object *obj __UNUSED__,
const char *emission __UNUSED__,
const char *source __UNUSED__)
{
Elm_Scrollable_Smart_Interface_Data *sid = data;
_elm_scroll_policy_signal_emit(sid);
}
static void
_elm_scroll_vbar_drag_cb(void *data,
Evas_Object *obj __UNUSED__,
@ -3262,6 +3297,8 @@ _scroll_edje_object_attach(Evas_Object *obj)
evas_object_event_callback_add
(sid->edje_obj, EVAS_CALLBACK_MOVE, _on_edje_move, sid);
edje_object_signal_callback_add
(sid->edje_obj, "reload", "elm", _elm_scroll_reload_cb, sid);
edje_object_signal_callback_add
(sid->edje_obj, "drag", "elm.dragable.vbar", _elm_scroll_vbar_drag_cb,
sid);
@ -3931,26 +3968,7 @@ _elm_scroll_policy_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
sid->hbar_flags = hbar;
sid->vbar_flags = vbar;
if (sid->hbar_flags == ELM_SCROLLER_POLICY_ON)
edje_object_signal_emit
(sid->edje_obj, "elm,action,show_always,hbar", "elm");
else if (sid->hbar_flags == ELM_SCROLLER_POLICY_OFF)
edje_object_signal_emit
(sid->edje_obj, "elm,action,hide,hbar", "elm");
else
edje_object_signal_emit
(sid->edje_obj, "elm,action,show_notalways,hbar", "elm");
if (sid->vbar_flags == ELM_SCROLLER_POLICY_ON)
edje_object_signal_emit
(sid->edje_obj, "elm,action,show_always,vbar", "elm");
else if (sid->vbar_flags == ELM_SCROLLER_POLICY_OFF)
edje_object_signal_emit
(sid->edje_obj, "elm,action,hide,vbar", "elm");
else
edje_object_signal_emit
(sid->edje_obj, "elm,action,show_notalways,vbar", "elm");
edje_object_message_signal_process(sid->edje_obj);
_elm_scroll_scroll_bar_size_adjust(sid);
_elm_scroll_policy_signal_emit(sid);
if (sid->cb_func.content_min_limit)
sid->cb_func.content_min_limit(sid->obj, sid->min_w, sid->min_h);
_elm_direction_arrows_eval(sid);