From 6041e290e45a6e7aa4940965028ad5e20e2e3d4d 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 efab363..9e8e4c5 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 9ed34bf..8d58f63 100644 --- a/src/lib/elementary/elm_panel.c +++ b/src/lib/elementary/elm_panel.c @@ -1344,6 +1344,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, @@ -1357,6 +1372,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, -- 2.7.4