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.