rimmed pushed a commit to branch master.

http://git.enlightenment.org/tools/eflete.git/commit/?id=72fc06a56cb7cf0b261e64ee9bc5faee6e4867b9

commit 72fc06a56cb7cf0b261e64ee9bc5faee6e4867b9
Author: Vitalii Vorobiov <vi.vorob...@samsung.com>
Date:   Tue Mar 15 19:51:32 2016 +0200

    group_navigator: check index instead of string for part add
---
 src/bin/ui/workspace/group_navigator.c | 43 ++++++++++++++++++++++++----------
 1 file changed, 30 insertions(+), 13 deletions(-)

diff --git a/src/bin/ui/workspace/group_navigator.c 
b/src/bin/ui/workspace/group_navigator.c
index d21e120..25a6654 100644
--- a/src/bin/ui/workspace/group_navigator.c
+++ b/src/bin/ui/workspace/group_navigator.c
@@ -730,19 +730,36 @@ _popup_add_part_ok_clicked(void *data,
    if (elm_object_disabled_get(pl->popup.btn_add)) return;
 
    item = ewe_combobox_select_item_get(pl->popup.combobox);
-   TODO("add data to combobox item to get rid of string comparsion")
-#define CHECK_TYPE(TYPE) (!strcmp(item->title, part_types[TYPE])) type = TYPE;
-   if CHECK_TYPE(EDJE_PART_TYPE_RECTANGLE)
-   else if CHECK_TYPE(EDJE_PART_TYPE_TEXT)
-   else if CHECK_TYPE(EDJE_PART_TYPE_IMAGE)
-   else if CHECK_TYPE(EDJE_PART_TYPE_SWALLOW)
-   else if CHECK_TYPE(EDJE_PART_TYPE_TEXTBLOCK)
-   else if CHECK_TYPE(EDJE_PART_TYPE_GROUP)
-   else if CHECK_TYPE(EDJE_PART_TYPE_BOX)
-   else if CHECK_TYPE(EDJE_PART_TYPE_TABLE)
-   else if CHECK_TYPE(EDJE_PART_TYPE_PROXY)
-   else if CHECK_TYPE(EDJE_PART_TYPE_SPACER)
-#undef CHECK_TYPE
+   switch (item->index)
+     {
+      case 1:
+         type = EDJE_PART_TYPE_RECTANGLE;
+         break;
+      case 2:
+         type = EDJE_PART_TYPE_IMAGE;
+         break;
+      case 3:
+         type = EDJE_PART_TYPE_SWALLOW;
+         break;
+      case 4:
+         type = EDJE_PART_TYPE_TEXTBLOCK;
+         break;
+      case 5:
+         type = EDJE_PART_TYPE_GROUP;
+         break;
+      case 6:
+         type = EDJE_PART_TYPE_BOX;
+         break;
+      case 7:
+         type = EDJE_PART_TYPE_TABLE;
+         break;
+      case 8:
+         type = EDJE_PART_TYPE_PROXY;
+         break;
+      case 9:
+         type = EDJE_PART_TYPE_SPACER;
+         break;
+     }
    assert(type != EDJE_PART_TYPE_NONE);
 
    name = elm_entry_entry_get(pl->popup.entry_name);

-- 


Reply via email to