zmike pushed a commit to branch efl-1.22.

http://git.enlightenment.org/core/efl.git/commit/?id=f5db624f1af706583c6820574acc289781e15c79

commit f5db624f1af706583c6820574acc289781e15c79
Author: Jaeun Choi <jaeun12.c...@samsung.com>
Date:   Mon Apr 8 18:35:57 2019 +0900

    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,

-- 


Reply via email to