This is an automated email from the git hooks/post-receive script.

git pushed a commit to reference refs/pull/125/head
in repository enlightenment.

View the commit online.

commit 2c1abfd306624e28540ad0e74da038b8e3c35a84
Author: [email protected] <[email protected]>
AuthorDate: Sun Mar 15 21:15:05 2026 -0600

    fix: restore elm_check for WiFi enable/disable toggle
    
    Revert the icon-based toggle from commit 78fd59c0c. The elm_icon widget
    lacked clear on/off affordance and made it impossible for users to
    re-enable WiFi once disabled—there was no visual indication that the
    icon was interactive or toggle-able.
    
    Switch back to elm_check, which provides:
    - Familiar checkbox affordance (clearly on/off state)
    - Native "changed" smart callback (cleaner than raw mouse events)
    - Idempotent state sync via elm_check_state_get()
    - Cleaner logic without custom hover/overlay hacks
    
    Keep propagate_events_set(EINA_FALSE) to prevent genlist row selection
    when toggling.
    
    Fixes #78fd59c0c
    
    Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
---
 src/modules/networkmanager/e_mod_main.c | 29 ++++++++++++-----------------
 1 file changed, 12 insertions(+), 17 deletions(-)

diff --git a/src/modules/networkmanager/e_mod_main.c b/src/modules/networkmanager/e_mod_main.c
index c158878c5..4c08abe65 100644
--- a/src/modules/networkmanager/e_mod_main.c
+++ b/src/modules/networkmanager/e_mod_main.c
@@ -222,40 +222,35 @@ _enm_itc_group_wifi_text_get(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSE
    return NULL;
 }
 
-/* Click callback for the wireless group header icon toggle */
+/* Toggle callback for the wireless group header on/off switch */
 static void
-_enm_wifi_icon_click_cb(void *data, Evas *e EINA_UNUSED,
-                         Evas_Object *obj EINA_UNUSED,
-                         void *event_info EINA_UNUSED)
+_enm_wifi_toggle_changed(void *data, Evas_Object *obj,
+                          void *info EINA_UNUSED)
 {
    E_NM_Instance *inst = data;
 
    if (!inst || !inst->ctxt || !inst->ctxt->nm) return;
-   enm_wireless_enabled_set(inst->ctxt->nm, !inst->ctxt->nm->wireless_enabled);
+   enm_wireless_enabled_set(inst->ctxt->nm, elm_check_state_get(obj));
    enm_mod_aps_update_now();
 }
 
-/* Genlist content_get for the wireless group header: icon toggle in end slot.
- * Uses a plain elm_icon instead of elm_check to avoid the check widget's own
- * hover/fade visual on mouse-over, which looks jarring in a header row. */
+/* Genlist content_get for the wireless group header: toggle in end slot */
 static Evas_Object *
 _enm_itc_group_wifi_content_get(void *data, Evas_Object *obj,
                                  const char *part)
 {
    E_NM_Instance *inst = data;
-   Evas_Object *ic;
+   Evas_Object *ck;
 
    if (!inst || !inst->ctxt || !inst->ctxt->nm) return NULL;
    if (strcmp(part, "elm.swallow.end")) return NULL;
 
-   ic = elm_icon_add(obj);
-   elm_icon_standard_set(ic, inst->ctxt->nm->wireless_enabled ?
-                         "network-wireless" : "network-wireless-offline");
-   evas_object_propagate_events_set(ic, EINA_FALSE);
-   evas_object_event_callback_add(ic, EVAS_CALLBACK_MOUSE_UP,
-                                  _enm_wifi_icon_click_cb, inst);
-   evas_object_show(ic);
-   return ic;
+   ck = elm_check_add(obj);
+   elm_check_state_set(ck, inst->ctxt->nm->wireless_enabled);
+   evas_object_smart_callback_add(ck, "changed", _enm_wifi_toggle_changed, inst);
+   evas_object_propagate_events_set(ck, EINA_FALSE);
+   evas_object_show(ck);
+   return ck;
 }
 
 /* Activated smart callback — handles connect/disconnect on row tap */

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.

Reply via email to