From 998e9a8f68296eeba25ce0c155314fe8c41f6773 Mon Sep 17 00:00:00 2001 From: Jaeun Choi Date: Mon, 8 Apr 2019 18:35:57 +0900 Subject: [PATCH] elm_panel/efl_ui_panel: disable scrolling when obj is disabled panels were still scrollable while disabled. this patch fixes it. --- src/lib/elementary/efl_ui_panel.c | 30 ++++++++++++++++++++++++++++++ src/lib/elementary/elm_panel.c | 30 ++++++++++++++++++++++++++++++ 2 files changed, 60 insertions(+) diff --git a/src/lib/elementary/efl_ui_panel.c b/src/lib/elementary/efl_ui_panel.c index efab3631f7..9e8e4c5027 100644 --- a/src/lib/elementary/efl_ui_panel.c +++ b/src/lib/elementary/efl_ui_panel.c @@ -1165,6 +1165,21 @@ _efl_ui_panel_efl_ui_widget_disabled_set(Eo *obj, Efl_Ui_Panel_Data *sd, Eina_Bo { if (disabled && sd->callback_added) { + switch (sd->orient) + { + case ELM_PANEL_ORIENT_BOTTOM: + case ELM_PANEL_ORIENT_TOP: + elm_interface_scrollable_movement_block_set + (obj, EFL_UI_SCROLL_BLOCK_VERTICAL); + break; + + case ELM_PANEL_ORIENT_RIGHT: + case ELM_PANEL_ORIENT_LEFT: + elm_interface_scrollable_movement_block_set + (obj, EFL_UI_SCROLL_BLOCK_HORIZONTAL); + break; + } + evas_object_event_callback_del(obj, EVAS_CALLBACK_MOUSE_DOWN, _on_mouse_down); evas_object_event_callback_del(obj, EVAS_CALLBACK_MOUSE_MOVE, @@ -1178,6 +1193,21 @@ _efl_ui_panel_efl_ui_widget_disabled_set(Eo *obj, Efl_Ui_Panel_Data *sd, Eina_Bo } else if (!disabled && !sd->callback_added) { + switch (sd->orient) + { + case ELM_PANEL_ORIENT_BOTTOM: + case ELM_PANEL_ORIENT_TOP: + elm_interface_scrollable_movement_block_set + (obj, EFL_UI_SCROLL_BLOCK_HORIZONTAL); + break; + + case ELM_PANEL_ORIENT_RIGHT: + case ELM_PANEL_ORIENT_LEFT: + elm_interface_scrollable_movement_block_set + (obj, EFL_UI_SCROLL_BLOCK_VERTICAL); + break; + } + evas_object_event_callback_add(obj, EVAS_CALLBACK_MOUSE_DOWN, _on_mouse_down, sd); evas_object_event_callback_add(obj, EVAS_CALLBACK_MOUSE_MOVE, diff --git a/src/lib/elementary/elm_panel.c b/src/lib/elementary/elm_panel.c index b6e47280ea..a0b4ccd47e 100644 --- a/src/lib/elementary/elm_panel.c +++ b/src/lib/elementary/elm_panel.c @@ -1251,6 +1251,21 @@ _elm_panel_efl_ui_widget_disabled_set(Eo *obj, Elm_Panel_Data *sd, Eina_Bool dis { if (efl_ui_widget_disabled_get(obj) && sd->callback_added) { + switch (sd->orient) + { + case ELM_PANEL_ORIENT_BOTTOM: + case ELM_PANEL_ORIENT_TOP: + elm_interface_scrollable_movement_block_set + (obj, EFL_UI_SCROLL_BLOCK_VERTICAL); + break; + + case ELM_PANEL_ORIENT_RIGHT: + case ELM_PANEL_ORIENT_LEFT: + elm_interface_scrollable_movement_block_set + (obj, EFL_UI_SCROLL_BLOCK_HORIZONTAL); + break; + } + evas_object_event_callback_del(obj, EVAS_CALLBACK_MOUSE_DOWN, _on_mouse_down); evas_object_event_callback_del(obj, EVAS_CALLBACK_MOUSE_MOVE, @@ -1264,6 +1279,21 @@ _elm_panel_efl_ui_widget_disabled_set(Eo *obj, Elm_Panel_Data *sd, Eina_Bool dis } else if (!efl_ui_widget_disabled_get(obj) && !sd->callback_added) { + switch (sd->orient) + { + case ELM_PANEL_ORIENT_BOTTOM: + case ELM_PANEL_ORIENT_TOP: + elm_interface_scrollable_movement_block_set + (obj, EFL_UI_SCROLL_BLOCK_HORIZONTAL); + break; + + case ELM_PANEL_ORIENT_RIGHT: + case ELM_PANEL_ORIENT_LEFT: + elm_interface_scrollable_movement_block_set + (obj, EFL_UI_SCROLL_BLOCK_VERTICAL); + break; + } + evas_object_event_callback_add(obj, EVAS_CALLBACK_MOUSE_DOWN, _on_mouse_down, sd); evas_object_event_callback_add(obj, EVAS_CALLBACK_MOUSE_MOVE,