e_desk: Set always use desk smart object 16/301316/1
authorJunseok Kim <juns.kim@samsung.com>
Mon, 13 Nov 2023 07:42:10 +0000 (16:42 +0900)
committerTizen Window System <tizen.windowsystem@gmail.com>
Tue, 14 Nov 2023 04:53:44 +0000 (13:53 +0900)
Change-Id: Id715bb0f584ea6bc20991b21d53ad5f970a94a16

src/bin/e_desk.c
src/bin/e_hwc_planes.c
src/bin/e_hwc_window.c
src/bin/e_magnifier.c
src/bin/e_policy.c
src/bin/services/e_service_quickpanel.c

index 62bf82d..76d796b 100644 (file)
@@ -83,7 +83,6 @@ static void      _e_desk_event_desk_after_show_free(void *data, void *ev);
 static void      _e_desk_show_begin(E_Desk *desk, int dx, int dy);
 static void      _e_desk_hide_begin(E_Desk *desk, int dx, int dy);
 static void      _e_desk_event_desk_geometry_change_free(void *data, void *ev);
-static Eina_Bool _e_desk_cb_zone_move_resize(void *data, int type EINA_UNUSED, void *event);
 
 static void      _e_desk_smart_init(E_Desk *desk);
 static void      _e_desk_smart_add(Evas_Object *obj);
@@ -212,21 +211,8 @@ e_desk_new(E_Zone *zone, int x, int y)
    desk->y = y;
    desk->id = desk_id++;
 
-   if (!e_config->use_desk_smart_obj)
-     {
-        /* need to set geometry of desk even if disable the smart object,
-         * because 'E_Client' can be reconfigured base on desk.geom as a member
-         * of desk. the reason why this is necessary is all of 'E_Client' is not
-         * members of the smart object so far.
-         */
-        EINA_RECTANGLE_SET(&desk->geom, zone->x, zone->y, zone->w, zone->h);
-        E_LIST_HANDLER_APPEND(desk->handlers, E_EVENT_ZONE_MOVE_RESIZE, _e_desk_cb_zone_move_resize, desk);
-     }
-   else
-     {
-        /* init smart object */
-        _e_desk_smart_init(desk);
-     }
+   /* init smart object */
+   _e_desk_smart_init(desk);
 
    /* Get current desktop's name */
    EINA_LIST_FOREACH(e_config->desktop_names, l, cfname)
@@ -785,9 +771,6 @@ e_desk_client_add(E_Desk *desk, E_Client *ec)
    wl_signal_emit_mutable(&PRI(desk)->events.client_add, desk);
    _e_desk_hook_call(E_DESK_HOOK_CLIENT_ADD, desk);
 
-   if (!e_config->use_desk_smart_obj)
-     return;
-
    _e_desk_smart_client_add(desk->smart_obj, ec);
 }
 
@@ -802,9 +785,6 @@ e_desk_client_del(E_Desk *desk, E_Client *ec)
 
    _e_desk_client_data_del(desk, ec);
 
-   if (!e_config->use_desk_smart_obj)
-     return;
-
    _e_desk_smart_client_del(desk->smart_obj, ec);
 }
 
@@ -819,12 +799,6 @@ e_desk_geometry_set(E_Desk *desk, int x, int y, int w, int h)
 
    int cx, cy, dx, dy;
 
-   if (!e_config->use_desk_smart_obj)
-     {
-        DBG("Do nothing, Desk Smart Object is disabled");
-        return;
-     }
-
    E_OBJECT_CHECK(desk);
    E_OBJECT_TYPE_CHECK(desk, E_DESK_TYPE);
 
@@ -987,62 +961,59 @@ e_desk_zoom_set(E_Desk *desk, double zoomx, double zoomy, int cx, int cy)
           }
      }
 
-   if (e_config->use_desk_smart_obj)
-     {
-        E_DESK_SMART_DATA_GET_OR_RETURN(desk->smart_obj, sd);
+   E_DESK_SMART_DATA_GET_OR_RETURN(desk->smart_obj, sd);
 
-        if ((sd->zoom.ratio_x != zoomx) || (sd->zoom.ratio_y != zoomy) ||
-            (sd->zoom.cord_x != cx) || (sd->zoom.cord_y != cy))
-          {
-             sd->zoom.prev_ratio_x = sd->zoom.ratio_x;
-             sd->zoom.prev_ratio_y = sd->zoom.ratio_y;
-             sd->zoom.prev_cord_x = sd->zoom.cord_x;
-             sd->zoom.prev_cord_y = sd->zoom.cord_y;
+   if ((sd->zoom.ratio_x != zoomx) || (sd->zoom.ratio_y != zoomy) ||
+       (sd->zoom.cord_x != cx) || (sd->zoom.cord_y != cy))
+     {
+        sd->zoom.prev_ratio_x = sd->zoom.ratio_x;
+        sd->zoom.prev_ratio_y = sd->zoom.ratio_y;
+        sd->zoom.prev_cord_x = sd->zoom.cord_x;
+        sd->zoom.prev_cord_y = sd->zoom.cord_y;
 
-             sd->zoom.ratio_x = zoomx;
-             sd->zoom.ratio_y = zoomy;
-             sd->zoom.cord_x = cx;
-             sd->zoom.cord_y = cy;
+        sd->zoom.ratio_x = zoomx;
+        sd->zoom.ratio_y = zoomy;
+        sd->zoom.cord_x = cx;
+        sd->zoom.cord_y = cy;
 
-             if (e_config->desk_zoom_effect.enable)
+        if (e_config->desk_zoom_effect.enable)
+          {
+             if (sd->zoom.animator)
                {
-                  if (sd->zoom.animator)
-                    {
-                       ecore_animator_del(sd->zoom.animator);
-                       sd->zoom.animator = NULL;
-                    }
-
-                  sd->zoom.animating_type = E_DESK_ZOOM_ANIMATING_TYPE_ENABLE;
-                  sd->zoom.animator = ecore_animator_timeline_add(e_config->desk_zoom_effect.duration,
-                                                                  _e_desk_zoom_animate_cb, desk);
-                  _e_desk_object_zoom(desk->smart_obj, zoomx, zoomy, cx, cy);
+                  ecore_animator_del(sd->zoom.animator);
+                  sd->zoom.animator = NULL;
                }
-             else
+
+             sd->zoom.animating_type = E_DESK_ZOOM_ANIMATING_TYPE_ENABLE;
+             sd->zoom.animator = ecore_animator_timeline_add(e_config->desk_zoom_effect.duration,
+                                                             _e_desk_zoom_animate_cb, desk);
+             _e_desk_object_zoom(desk->smart_obj, zoomx, zoomy, cx, cy);
+          }
+        else
+          {
+             _e_desk_object_zoom(desk->smart_obj, zoomx, zoomy, cx, cy);
+             EINA_LIST_FOREACH(sd->clients, l, ec)
                {
-                  _e_desk_object_zoom(desk->smart_obj, zoomx, zoomy, cx, cy);
-                  EINA_LIST_FOREACH(sd->clients, l, ec)
-                    {
-                       _e_desk_client_zoom(ec, zoomx, zoomy, cx, cy);
-                    }
+                  _e_desk_client_zoom(ec, zoomx, zoomy, cx, cy);
                }
           }
+     }
 
-        if (!sd->zoom.enabled)
-          {
-             /* if desk_zoom_effect is enabled,
-                then sd->zoom.enabled will be set after finishing effect */
-             if (!e_config->desk_zoom_effect.enable)
-               sd->zoom.enabled = EINA_TRUE;
-
-             /*
-              * NOTE: evas_object_map_enable_set is called in _e_desk_client_zoom()
-              */
-             /*
-              * evas_object_map_enable_set(desk->smart_obj, EINA_TRUE);
-              * EINA_LIST_FOREACH(sd->clients, l, ec)
-              *   evas_object_map_enable_set(ec->frame, EINA_TRUE);
-              */
-          }
+   if (!sd->zoom.enabled)
+     {
+        /* if desk_zoom_effect is enabled,
+           then sd->zoom.enabled will be set after finishing effect */
+        if (!e_config->desk_zoom_effect.enable)
+          sd->zoom.enabled = EINA_TRUE;
+
+        /*
+         * NOTE: evas_object_map_enable_set is called in _e_desk_client_zoom()
+         */
+        /*
+         * evas_object_map_enable_set(desk->smart_obj, EINA_TRUE);
+         * EINA_LIST_FOREACH(sd->clients, l, ec)
+         *   evas_object_map_enable_set(ec->frame, EINA_TRUE);
+         */
      }
 
 end:
@@ -1076,20 +1047,15 @@ e_desk_zoom_get(E_Desk *desk, double *zoomx, double *zoomy, int *cx, int *cy)
           }
      }
 
-   if (e_config->use_desk_smart_obj)
-     {
-        E_DESK_SMART_DATA_GET(desk->smart_obj, sd);
-        EINA_SAFETY_ON_NULL_RETURN_VAL(sd, EINA_FALSE);
-
-        if (zoomx) *zoomx = sd->zoom.ratio_x;
-        if (zoomy) *zoomy = sd->zoom.ratio_y;
-        if (cx) *cx = sd->zoom.cord_x;
-        if (cy) *cy = sd->zoom.cord_y;
+   E_DESK_SMART_DATA_GET(desk->smart_obj, sd);
+   EINA_SAFETY_ON_NULL_RETURN_VAL(sd, EINA_FALSE);
 
-        res = EINA_TRUE;
-     }
+   if (zoomx) *zoomx = sd->zoom.ratio_x;
+   if (zoomy) *zoomy = sd->zoom.ratio_y;
+   if (cx) *cx = sd->zoom.cord_x;
+   if (cy) *cy = sd->zoom.cord_y;
 
-   return res;
+   return EINA_TRUE;
 }
 
 EINTERN Eina_Bool
@@ -1170,61 +1136,58 @@ e_desk_zoom_unset(E_Desk *desk)
           }
      }
 
-   if (e_config->use_desk_smart_obj)
-     {
-        E_DESK_SMART_DATA_GET_OR_RETURN(desk->smart_obj, sd);
+   E_DESK_SMART_DATA_GET_OR_RETURN(desk->smart_obj, sd);
 
-        if (!sd->zoom.enabled)
+   if (!sd->zoom.enabled)
+     {
+        if (sd->zoom.animating_type != E_DESK_ZOOM_ANIMATING_TYPE_ENABLE)
           {
-             if (sd->zoom.animating_type != E_DESK_ZOOM_ANIMATING_TYPE_ENABLE)
-               {
-                  goto end;
-               }
+             goto end;
           }
+     }
 
-        sd->zoom.prev_ratio_x = sd->zoom.ratio_x;
-        sd->zoom.prev_ratio_y = sd->zoom.ratio_y;
-        sd->zoom.prev_cord_x = sd->zoom.cord_x;
-        sd->zoom.prev_cord_y = sd->zoom.cord_y;
+   sd->zoom.prev_ratio_x = sd->zoom.ratio_x;
+   sd->zoom.prev_ratio_y = sd->zoom.ratio_y;
+   sd->zoom.prev_cord_x = sd->zoom.cord_x;
+   sd->zoom.prev_cord_y = sd->zoom.cord_y;
 
-        sd->zoom.ratio_x = 1.0;
-        sd->zoom.ratio_y = 1.0;
-        sd->zoom.cord_x = 0;
-        sd->zoom.cord_y = 0;
-        sd->zoom.enabled = EINA_FALSE;
+   sd->zoom.ratio_x = 1.0;
+   sd->zoom.ratio_y = 1.0;
+   sd->zoom.cord_x = 0;
+   sd->zoom.cord_y = 0;
+   sd->zoom.enabled = EINA_FALSE;
 
-        if (e_config->desk_zoom_effect.enable)
+   if (e_config->desk_zoom_effect.enable)
+     {
+        if (sd->zoom.animator)
           {
-             if (sd->zoom.animator)
-               {
-                  ecore_animator_del(sd->zoom.animator);
-                  sd->zoom.animator = NULL;
-               }
-
-             sd->zoom.animating_type = E_DESK_ZOOM_ANIMATING_TYPE_DISABLE;
-             sd->zoom.animator = ecore_animator_timeline_add(e_config->desk_zoom_effect.duration,
-                                                             _e_desk_zoom_animate_cb, desk);
-             _e_desk_object_zoom(desk->smart_obj, sd->zoom.ratio_x, sd->zoom.ratio_y,
-                                 sd->zoom.cord_x, sd->zoom.cord_y);
+             ecore_animator_del(sd->zoom.animator);
+             sd->zoom.animator = NULL;
           }
-        else
+
+        sd->zoom.animating_type = E_DESK_ZOOM_ANIMATING_TYPE_DISABLE;
+        sd->zoom.animator = ecore_animator_timeline_add(e_config->desk_zoom_effect.duration,
+                                                        _e_desk_zoom_animate_cb, desk);
+        _e_desk_object_zoom(desk->smart_obj, sd->zoom.ratio_x, sd->zoom.ratio_y,
+                            sd->zoom.cord_x, sd->zoom.cord_y);
+     }
+   else
+     {
+        _e_desk_object_zoom(desk->smart_obj, sd->zoom.ratio_x, sd->zoom.ratio_y,
+                            sd->zoom.cord_x, sd->zoom.cord_y);
+        /*
+         * NOTE: evas_object_map_enable_set is called in _e_desk_client_zoom()
+         */
+        /*
+         * evas_object_map_enable_set(desk->smart_obj, EINA_FALSE);
+         */
+        EINA_LIST_FOREACH(sd->clients, l, ec)
           {
-             _e_desk_object_zoom(desk->smart_obj, sd->zoom.ratio_x, sd->zoom.ratio_y,
+             /* NOTE Is it really necessary?
+              * Why isn't it enough to just call evas_object_map_enable_set(false)? */
+             _e_desk_client_zoom(ec, sd->zoom.ratio_x, sd->zoom.ratio_y,
                                  sd->zoom.cord_x, sd->zoom.cord_y);
-             /*
-              * NOTE: evas_object_map_enable_set is called in _e_desk_client_zoom()
-              */
-             /*
-              * evas_object_map_enable_set(desk->smart_obj, EINA_FALSE);
-              */
-             EINA_LIST_FOREACH(sd->clients, l, ec)
-               {
-                  /* NOTE Is it really necessary?
-                   * Why isn't it enough to just call evas_object_map_enable_set(false)? */
-                  _e_desk_client_zoom(ec, sd->zoom.ratio_x, sd->zoom.ratio_y,
-                                      sd->zoom.cord_x, sd->zoom.cord_y);
-                  //evas_object_map_enable_set(ec->frame, EINA_FALSE);
-               }
+             //evas_object_map_enable_set(ec->frame, EINA_FALSE);
           }
      }
 
@@ -1235,9 +1198,6 @@ end:
 E_API void
 e_desk_smart_member_add(E_Desk *desk, Evas_Object *obj)
 {
-   if (!e_config->use_desk_smart_obj)
-     return;
-
    E_OBJECT_CHECK(desk);
    E_OBJECT_TYPE_CHECK(desk, E_DESK_TYPE);
 
@@ -1247,9 +1207,6 @@ e_desk_smart_member_add(E_Desk *desk, Evas_Object *obj)
 E_API void
 e_desk_smart_member_del(Evas_Object *obj)
 {
-   if (!e_config->use_desk_smart_obj)
-     return;
-
    evas_object_smart_member_del(obj);
 }
 
@@ -1287,8 +1244,7 @@ e_desk_client_zoom_skip_unset(E_Desk *desk, E_Client *ec)
 
    if (!e_desk_has_ec(desk, ec)) return EINA_FALSE;
 
-   if (e_config->use_desk_smart_obj)
-     _e_desk_smart_client_add(desk->smart_obj, ec);
+   _e_desk_smart_client_add(desk->smart_obj, ec);
 
    return EINA_TRUE;
 }
@@ -1296,9 +1252,6 @@ e_desk_client_zoom_skip_unset(E_Desk *desk, E_Client *ec)
 EINTERN void
 e_desk_client_zoom_apply(E_Desk *desk, E_Client *ec)
 {
-   if (!e_config->use_desk_smart_obj)
-     return;
-
    E_OBJECT_CHECK(desk);
    E_OBJECT_TYPE_CHECK(desk, E_DESK_TYPE);
 
@@ -1320,8 +1273,6 @@ e_desk_client_zoom_apply(E_Desk *desk, E_Client *ec)
 EINTERN Eina_Bool
 e_desk_zoom_is_animating(E_Desk *desk)
 {
-   if (!e_config->use_desk_smart_obj) return EINA_FALSE;
-
    E_DESK_SMART_DATA_GET(desk->smart_obj, sd);
    if (!sd) return EINA_FALSE;
 
@@ -1492,26 +1443,6 @@ _e_desk_event_desk_geometry_change_free(void *data EINA_UNUSED, void *event)
 }
 
 static Eina_Bool
-_e_desk_cb_zone_move_resize(void *data, int type EINA_UNUSED, void *event)
-{
-   E_Event_Zone_Move_Resize *ev;
-   E_Desk *desk;
-
-   ev = event;
-   if (!ev) return ECORE_CALLBACK_PASS_ON;
-
-   desk = data;
-   if (!desk) return ECORE_CALLBACK_PASS_ON;
-
-   if (ev->zone != desk->zone)
-     return ECORE_CALLBACK_PASS_ON;
-
-   EINA_RECTANGLE_SET(&desk->geom, ev->zone->x, ev->zone->y, ev->zone->w, ev->zone->h);
-
-   return ECORE_CALLBACK_PASS_ON;
-}
-
-static Eina_Bool
 _e_desk_transition_setup(E_Client *ec, int dx, int dy, int state)
 {
    e_comp_object_effect_set(ec->frame, "none");
@@ -1628,9 +1559,6 @@ _e_desk_smart_init(E_Desk *desk)
 
    zone = desk->zone;
 
-   if (!e_config->use_desk_smart_obj)
-     return;
-
    desk->smart_obj = evas_object_smart_add(e_comp->evas, _e_desk_smart_class_new());
    e_desk_geometry_set(desk, zone->x, zone->y, zone->w, zone->h);
 
index c008655..493e04c 100644 (file)
@@ -420,7 +420,7 @@ _e_hwc_planes_prepare(E_Hwc *hwc, E_Zone *zone)
         if (E_POLICY_QUICKPANEL_LAYER >= evas_object_layer_get(ec->frame))
           {
              // check whether quickpanel is open than break
-             if (e_config->use_desk_smart_obj && e_qps_visible_get()) goto done;
+             if (e_qps_visible_get()) goto done;
           }
 
         // if ec->frame is not for client buffer (e.g. launchscreen)
index ac0b25f..9668a90 100644 (file)
@@ -2261,7 +2261,7 @@ e_hwc_window_device_state_available_update(E_Hwc_Window *hwc_window)
    if (E_POLICY_QUICKPANEL_LAYER >= evas_object_layer_get(ec->frame))
      {
         // check whether quickpanel is open than break
-        if (e_config->use_desk_smart_obj && e_qps_visible_get())
+        if (e_qps_visible_get())
           {
              restriction = E_HWC_WINDOW_RESTRICTION_QUICKPANEL_OPEN;
              available = EINA_FALSE;
index d94b62d..784d436 100644 (file)
@@ -827,16 +827,13 @@ e_magnifier_zoom_obj_geometry_set(E_Client *ec, int angle, int x, int y, int w,
    tw = zone->w;
    th = zone->h;
 
-   if (e_config->use_desk_smart_obj)
+   desk = e_desk_current_get(zone);
+   if (desk)
      {
-        desk = e_desk_current_get(zone);
-        if (desk)
-          {
-             tx = desk->geom.x;
-             ty = desk->geom.y;
-             tw = desk->geom.w;
-             th = desk->geom.h;
-          }
+        tx = desk->geom.x;
+        ty = desk->geom.y;
+        tw = desk->geom.w;
+        th = desk->geom.h;
      }
 
    _e_magnifier_zoom_obj_geometry_convert_set(angle, x, y, w, h, tx, ty, tw, th);
index 49d8590..34a0fdb 100644 (file)
@@ -944,26 +944,6 @@ _e_policy_cb_zone_del(void *data EINA_UNUSED, int type EINA_UNUSED, void *event)
    return ECORE_CALLBACK_PASS_ON;
 }
 
-static void
-_e_policy_client_maximize_update(E_Zone *zone)
-{
-   E_Client *ec = NULL;
-   E_Policy_Client *pc = NULL;
-
-   E_CLIENT_FOREACH(ec)
-     {
-        pc = eina_hash_find(hash_policy_clients, &ec);
-        if (!pc) continue;
-        if (pc->zone != zone) continue;
-
-        if (pc && pc->max_policy_state)
-          {
-             _e_policy_client_maximize_policy_cancel(pc);
-             _e_policy_client_maximize_policy_apply(pc);
-          }
-     }
-}
-
 static Eina_Bool
 _e_policy_cb_zone_move_resize(void *data EINA_UNUSED, int type EINA_UNUSED, void *event)
 {
@@ -979,9 +959,6 @@ _e_policy_cb_zone_move_resize(void *data EINA_UNUSED, int type EINA_UNUSED, void
         e_policy_softkey_update(softkey);
      }
 
-   if (!e_config->use_desk_smart_obj)
-     _e_policy_client_maximize_update(ev->zone);
-
    return ECORE_CALLBACK_PASS_ON;
 }
 
index 8c7f9c2..5d2c7c4 100644 (file)
@@ -484,14 +484,11 @@ _e_qp_srv_mover_new(E_Policy_Quickpanel *qp)
 
    tx = qp->zone->x;
    ty = qp->zone->y;
-   if (e_config->use_desk_smart_obj)
+   desk = e_desk_current_get(qp->zone);
+   if (desk)
      {
-        desk = e_desk_current_get(qp->zone);
-        if (desk)
-          {
-             tx = desk->geom.x;
-             ty = desk->geom.y;
-          }
+        tx = desk->geom.x;
+        ty = desk->geom.y;
      }
 
    evas_object_move(mover, tx, ty);
@@ -1621,16 +1618,13 @@ _quickpanel_handler_region_set(E_Policy_Quickpanel *qp, E_Policy_Angle_Map ridx,
    tw = qp->zone->w;
    th = qp->zone->h;
 
-   if (e_config->use_desk_smart_obj)
+   desk = e_desk_current_get(qp->zone);
+   if (desk)
      {
-        desk = e_desk_current_get(qp->zone);
-        if (desk)
-          {
-             tx = desk->geom.x;
-             ty = desk->geom.y;
-             tw = desk->geom.w;
-             th = desk->geom.h;
-          }
+        tx = desk->geom.x;
+        ty = desk->geom.y;
+        tw = desk->geom.w;
+        th = desk->geom.h;
      }
 
    it = eina_tiler_iterator_new(tiler);