Dear All,

Kindly review the attached patches that fixes the following issues.

1. elm_toggle invokes "changed" signal smart callback even when state is not changed. 2. Using toggle for test_fileselector_button example instead of buttons named "Toggle...".

Regards,
Sanjeev
9b184770ecf45cfc3f499a7a6a9c42294a9c7d05
diff --git a/trunk/elementary/src/lib/elm_toggle.c b/trunk/elementary/src/lib/elm_toggle.c
index 41e8457..6528826 100644
--- a/trunk/elementary/src/lib/elm_toggle.c
+++ b/trunk/elementary/src/lib/elm_toggle.c
@@ -172,7 +172,7 @@ static void
 _signal_toggle_off(void *data, Evas_Object *obj __UNUSED__, const char *emission __UNUSED__, const char *source __UNUSED__)
 {
    Widget_Data *wd = elm_widget_data_get(data);
-   if (!wd) return;
+   if (!wd || !wd->state) return;
    wd->state = 0;
    if (wd->statep) *wd->statep = wd->state;
    evas_object_smart_callback_call(data, SIG_CHANGED, NULL);
@@ -182,7 +182,7 @@ static void
 _signal_toggle_on(void *data, Evas_Object *obj __UNUSED__, const char *emission __UNUSED__, const char *source __UNUSED__)
 {
    Widget_Data *wd = elm_widget_data_get(data);
-   if (!wd) return;
+   if (!wd || wd->state) return;
    wd->state = 1;
    if (wd->statep) *wd->statep = wd->state;
    evas_object_smart_callback_call(data, SIG_CHANGED, NULL);
5ffd549b83e30c17633ff6a2de6f33bc507a1738
diff --git a/trunk/elementary/src/bin/test_fileselector_button.c b/trunk/elementary/src/bin/test_fileselector_button.c
index 8bf50d3..995ba03 100644
--- a/trunk/elementary/src/bin/test_fileselector_button.c
+++ b/trunk/elementary/src/bin/test_fileselector_button.c
@@ -104,27 +104,28 @@ test_fileselector_button(void *data       __UNUSED__,
    elm_box_pack_end(vbox, hbox);
    evas_object_show(hbox);
 
-   bt = elm_button_add(win);
-   elm_object_text_set(bt, "Toggle current selection text entry");
-   evas_object_smart_callback_add(bt, "clicked", _current_sel_toggle, fs_bt);
+   bt = elm_toggle_add(win);
+   elm_object_text_set(bt, "current selection text entry");
+   evas_object_smart_callback_add(bt, "changed", _current_sel_toggle, fs_bt);
    elm_box_pack_end(hbox, bt);
    evas_object_show(bt);
 
-   bt = elm_button_add(win);
-   elm_object_text_set(bt, "Toggle inwin mode");
-   evas_object_smart_callback_add(bt, "clicked", _inwin_mode_toggle, fs_bt);
+   bt = elm_toggle_add(win);
+   elm_object_text_set(bt, "Inwin mode");
+   elm_toggle_state_set (bt, EINA_TRUE);
+   evas_object_smart_callback_add(bt, "changed", _inwin_mode_toggle, fs_bt);
    elm_box_pack_end(hbox, bt);
    evas_object_show(bt);
 
-   bt = elm_button_add(win);
-   elm_object_text_set(bt, "Toggle folder only mode");
-   evas_object_smart_callback_add(bt, "clicked", _folder_only_toggle, fs_bt);
+   bt = elm_toggle_add(win);
+   elm_object_text_set(bt, "Folder only mode");
+   evas_object_smart_callback_add(bt, "changed", _folder_only_toggle, fs_bt);
    elm_box_pack_end(hbox, bt);
    evas_object_show(bt);
 
-   bt = elm_button_add(win);
-   elm_object_text_set(bt, "Toggle expandable mode");
-   evas_object_smart_callback_add(bt, "clicked", _expandable_toggle, fs_bt);
+   bt = elm_toggle_add(win);
+   elm_object_text_set(bt, "Expandable mode");
+   evas_object_smart_callback_add(bt, "changed", _expandable_toggle, fs_bt);
    elm_box_pack_end(hbox, bt);
    evas_object_show(bt);
 
------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure contains a
definitive record of customers, application performance, security
threats, fraudulent activity and more. Splunk takes this data and makes
sense of it. Business sense. IT sense. Common sense.
http://p.sf.net/sfu/splunk-d2d-oct
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to