rimmed pushed a commit to branch master.

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

commit dca385d5c3d1909dc26dba8711ba0ea9306628ad
Author: Andrii Kroitor <[email protected]>
Date:   Thu May 26 15:53:01 2016 +0300

    group_navigator: change validators for part and program name
---
 src/bin/ui/workspace/group_navigator.c | 32 +++++++++++++++++---------------
 1 file changed, 17 insertions(+), 15 deletions(-)

diff --git a/src/bin/ui/workspace/group_navigator.c 
b/src/bin/ui/workspace/group_navigator.c
index a85092e..cdd29f9 100644
--- a/src/bin/ui/workspace/group_navigator.c
+++ b/src/bin/ui/workspace/group_navigator.c
@@ -26,6 +26,7 @@
 #include "project_manager.h"
 #include "change.h"
 #include "widget_macro.h"
+#include "validator.h"
 
 #define GROUP_NAVIGATOR_DATA "group_navigator_data"
 
@@ -58,6 +59,9 @@ typedef struct
    Elm_Object_Item *add_state_menu_item;
    Elm_Object_Item *add_part_item_menu_item;
    Elm_Validator_Regexp *name_validator;
+   Resource_Name_Validator *part_name_validator;
+   Resource_Name_Validator *program_name_validator;
+
    struct {
         Evas_Object *entry_name;
         Evas_Object *spinner_value;
@@ -677,18 +681,15 @@ _selected_cb(void *data,
 }
 
 static void
-_on_entry_changed(void *data,
-                  Evas_Object *obj __UNUSED__,
-                  void *event_info __UNUSED__)
+_on_part_name_changed(void *data,
+                      Evas_Object *obj __UNUSED__,
+                      void *event_info __UNUSED__)
 {
    Part_List *pl = data;
-   const char *name;
 
    assert(pl != NULL);
 
-   name = elm_entry_entry_get(pl->popup.entry_name);
-   if ((elm_validator_regexp_status_get(pl->name_validator) != 
ELM_REG_NOERROR) ||
-       (edje_edit_part_exist(pl->group->edit_object, name)))
+   if (resource_name_validator_status_get(pl->part_name_validator) != 
ELM_REG_NOERROR)
      elm_object_disabled_set(pl->popup.btn_add, true);
    else
      elm_object_disabled_set(pl->popup.btn_add, false);
@@ -748,14 +749,10 @@ _program_validate(void *data,
                   void *event_info __UNUSED__)
 {
    Part_List *pl = data;
-   const char *program;
 
    assert(pl != NULL);
 
-   program = elm_entry_entry_get(pl->popup.entry_name);
-
-   if ((elm_validator_regexp_status_get(pl->name_validator) != 
ELM_REG_NOERROR) ||
-       (edje_edit_program_exist(pl->group->edit_object, program)))
+   if (resource_name_validator_status_get(pl->program_name_validator) != 
ELM_REG_NOERROR)
      elm_object_disabled_set(pl->popup.btn_add, true);
    else
      elm_object_disabled_set(pl->popup.btn_add, false);
@@ -907,9 +904,10 @@ _on_menu_add_part_clicked(void *data __UNUSED__,
 
    LAYOUT_PROP_ADD(box, _("Part name:"), "popup", "1swallow")
    ENTRY_ADD(box, pl->popup.entry_name, true);
-   eo_event_callback_add(pl->popup.entry_name, ELM_ENTRY_EVENT_VALIDATE, 
elm_validator_regexp_helper, pl->name_validator);
+   eo_event_callback_add(pl->popup.entry_name, ELM_ENTRY_EVENT_VALIDATE, 
resource_name_validator_helper, pl->part_name_validator);
    elm_object_part_text_set(pl->popup.entry_name, "guide", _("Enter name for 
new part here."));
-   evas_object_smart_callback_add(pl->popup.entry_name, "changed", 
_on_entry_changed, pl);
+   resource_name_validator_list_set(pl->part_name_validator, 
&pl->group->parts, false);
+   evas_object_smart_callback_add(pl->popup.entry_name, "changed", 
_on_part_name_changed, pl);
    evas_object_smart_callback_add(pl->popup.entry_name, "activated", 
_popup_add_part_ok_clicked, pl);
    evas_object_show(pl->popup.entry_name);
    elm_object_part_content_set(item, "elm.swallow.content", 
pl->popup.entry_name);
@@ -1297,7 +1295,8 @@ _on_menu_add_program_clicked(void *data __UNUSED__,
    LAYOUT_PROP_ADD(box, _("Name:"), "popup", "1swallow")
    ENTRY_ADD(item, pl->popup.entry_name, true);
    eo_event_callback_add(pl->popup.entry_name, ELM_ENTRY_EVENT_VALIDATE,
-                         elm_validator_regexp_helper, pl->name_validator);
+                         resource_name_validator_helper, 
pl->program_name_validator);
+   resource_name_validator_list_set(pl->program_name_validator, 
&pl->group->programs, false);
    evas_object_smart_callback_add(pl->popup.entry_name, "changed", 
_program_validate, pl);
    evas_object_smart_callback_add(pl->popup.entry_name, "activated", 
_popup_add_program_ok_clicked, pl);
    elm_object_part_text_set(pl->popup.entry_name, "guide", _("Enter name for 
new program here."));
@@ -1991,6 +1990,9 @@ group_navigator_add(Evas_Object *parent, Group *group)
    elm_object_part_text_set(elm_menu_item_object_get(menu_item), 
"elm.shortcut", "r");
 
    pl->name_validator = elm_validator_regexp_new(PART_NAME_REGEX, NULL);
+   pl->part_name_validator = resource_name_validator_new(PART_NAME_REGEX, 
NULL);
+   pl->program_name_validator = resource_name_validator_new(NAME_REGEX, NULL);
+
    if (group->main_group)
      elm_object_disabled_set(pl->layout, true);
    else

-- 


Reply via email to