englebass pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=8c46220dd6360b16d65828cf85cb61bd372602ee

commit 8c46220dd6360b16d65828cf85cb61bd372602ee
Author: Sebastian Dransfeld <[email protected]>
Date:   Thu Sep 18 20:31:56 2014 +0200

    e: Improve code
---
 .../conf_applications/e_int_config_deskenv.c       | 35 +++++-----------------
 1 file changed, 8 insertions(+), 27 deletions(-)

diff --git a/src/modules/conf_applications/e_int_config_deskenv.c 
b/src/modules/conf_applications/e_int_config_deskenv.c
index e15c4f4..81e18b9 100644
--- a/src/modules/conf_applications/e_int_config_deskenv.c
+++ b/src/modules/conf_applications/e_int_config_deskenv.c
@@ -57,23 +57,10 @@ _fill_data(E_Config_Dialog_Data *cfdata)
    cfdata->exe_always_single_instance = e_config->exe_always_single_instance;
    cfdata->desktop_environments = efreet_util_desktop_environments_list();
    eina_stringshare_replace(&(cfdata->desktop_environment), 
e_config->desktop_environment);
-   cfdata->desktop_environment_id = 0;
    if (e_config->desktop_environment)
-     {
-        Eina_List *l;
-        const char *de;
-        int cde = 0;
-
-        EINA_LIST_FOREACH(cfdata->desktop_environments, l, de)
-          {
-             cde++;
-             if (!strcmp(e_config->desktop_environment, de))
-               {
-                  cfdata->desktop_environment_id = cde;
-                  break;
-               }
-          }
-     }
+     cfdata->desktop_environment_id = 
eina_list_count(cfdata->desktop_environments) + 1;
+   else
+     cfdata->desktop_environment_id = 0;
 }
 
 static void *
@@ -98,18 +85,10 @@ _basic_check_changed(E_Config_Dialog *cfd __UNUSED__, 
E_Config_Dialog_Data *cfda
 {
    if (cfdata->desktop_environment_id > 0)
      {
-        Eina_List *l;
         const char *de;
-        int cde = 0;
-
-        EINA_LIST_FOREACH(cfdata->desktop_environments, l, de)
-          {
-             if ((++cde) == cfdata->desktop_environment_id)
-               {
-                  eina_stringshare_replace(&(cfdata->desktop_environment), de);
-                  break;
-               }
-          }
+
+        de = eina_list_nth(cfdata->desktop_environments, 
(cfdata->desktop_environment_id - 1));
+        eina_stringshare_replace(&(cfdata->desktop_environment), de);
      }
    else
      {
@@ -182,6 +161,8 @@ _basic_create(E_Config_Dialog *cfd __UNUSED__, Evas *evas, 
E_Config_Dialog_Data
    e_widget_framelist_object_append(fr, ob);
    EINA_LIST_FOREACH(cfdata->desktop_environments, l, de)
      {
+        if (!strcmp(e_config->desktop_environment, de))
+          cfdata->desktop_environment_id = (cde + 1);
         ob = e_widget_radio_add(evas, de, ++cde, rg);
         e_widget_framelist_object_append(fr, ob);
      }

-- 


Reply via email to