e_config/e_policy: add new configuration - use_configured_desks 15/272615/1 accepted/tizen/unified/20220322.082849 submit/tizen/20220321.231646 submit/tizen/20220322.055616
authorDoyoun Kang <doyoun.kang@samsung.com>
Mon, 21 Mar 2022 07:29:37 +0000 (16:29 +0900)
committerDoyoun Kang <doyoun.kang@samsung.com>
Mon, 21 Mar 2022 07:29:42 +0000 (16:29 +0900)
If the "use_configured_desks" is set, then we add E_Desks which are configured by e_config's
policy_desks (E_Config_Policy_Desk) only.
Otherwise, we add E_Desks regardless of the e_config's policy_desks.

Change-Id: I2a80d311f70704c99b7955fbe4d0f1ff1351c091

src/bin/e_config.c
src/bin/e_config.h
src/bin/e_policy.c

index 92b6910..2b5fbff 100644 (file)
@@ -182,6 +182,7 @@ _e_config_edd_init(Eina_Bool old)
    E_CONFIG_VAL(D, T, launcher.clas, STR);
    E_CONFIG_VAL(D, T, launcher.type, UINT);
    E_CONFIG_LIST(D, T, policy_desks, _e_config_policy_desk_edd);
+   E_CONFIG_VAL(D, T, use_configured_desks, INT);
    E_CONFIG_VAL(D, T, use_softkey_service, INT);
    E_CONFIG_VAL(D, T, use_softkey, INT);
    E_CONFIG_VAL(D, T, softkey_size, INT);
@@ -479,6 +480,7 @@ e_config_load(void)
    E_CONFIG_LIMIT(e_config->zone_desks_x_count, 1, 64);
    E_CONFIG_LIMIT(e_config->zone_desks_y_count, 1, 64);
    E_CONFIG_LIMIT(e_config->use_e_policy, 0, 1);
+   E_CONFIG_LIMIT(e_config->use_configured_desks, 0, 1);
    E_CONFIG_LIMIT(e_config->use_softkey_service, 0, 1);
    E_CONFIG_LIMIT(e_config->use_softkey, 0, 1);
    E_CONFIG_LIMIT(e_config->softkey_size, 0, 42);
index 4da620f..eeff9f5 100644 (file)
@@ -49,6 +49,7 @@ struct _E_Config
         unsigned int  type;
      } launcher;
    Eina_List  *policy_desks;
+   int         use_configured_desks;
    int         use_softkey_service;
    int         use_softkey;
    int         softkey_size;
index af8766f..51c8469 100644 (file)
@@ -1075,10 +1075,15 @@ _e_policy_cb_zone_add(void *data EINA_UNUSED, int type EINA_UNUSED, void *event)
    n = zone->desk_y_count * zone->desk_x_count;
    for (i = 0; i < n; i++)
      {
-        d = _e_policy_desk_get_by_num(zone->num,
-                                      zone->desks[i]->x,
-                                      zone->desks[i]->y);
-        if (d)
+        if (e_config->use_configured_desks)
+          {
+             d = _e_policy_desk_get_by_num(zone->num,
+                                           zone->desks[i]->x,
+                                           zone->desks[i]->y);
+             if (d)
+               e_policy_desk_add(zone->desks[i]);
+          }
+        else
           e_policy_desk_add(zone->desks[i]);
      }
 
@@ -1209,10 +1214,15 @@ _e_policy_cb_zone_desk_count_set(void *data EINA_UNUSED, int type EINA_UNUSED, v
    n = zone->desk_y_count * zone->desk_x_count;
    for (i = 0; i < n; i++)
      {
-        d = _e_policy_desk_get_by_num(zone->num,
-                                      zone->desks[i]->x,
-                                      zone->desks[i]->y);
-        if (d)
+        if (e_config->use_configured_desks)
+          {
+             d = _e_policy_desk_get_by_num(zone->num,
+                                           zone->desks[i]->x,
+                                           zone->desks[i]->y);
+             if (d)
+               e_policy_desk_add(zone->desks[i]);
+          }
+        else
           e_policy_desk_add(zone->desks[i]);
      }
 
@@ -2403,10 +2413,15 @@ e_policy_init(void)
         n = zone->desk_y_count * zone->desk_x_count;
         for (i = 0; i < n; i++)
           {
-             d = _e_policy_desk_get_by_num(zone->num,
-                                           zone->desks[i]->x,
-                                           zone->desks[i]->y);
-             if (d)
+             if (e_config->use_configured_desks)
+               {
+                  d = _e_policy_desk_get_by_num(zone->num,
+                                                zone->desks[i]->x,
+                                                zone->desks[i]->y);
+                  if (d)
+                    e_policy_desk_add(zone->desks[i]);
+               }
+             else
                e_policy_desk_add(zone->desks[i]);
           }
      }