This is an automated email from the git hooks/post-receive script.
git pushed a commit to branch network-manager
in repository enlightenment.
View the commit online.
commit 90e63d429ed308b4c7111fcaf29728c79e7d62c5
Author: [email protected] <[email protected]>
AuthorDate: Sun Mar 15 18:28:04 2026 -0600
fix(networkmanager): block hover bleed + replace edje forget with elm_button
- evas_object_propagate_events_set(EINA_FALSE) on wifi header toggle
prevents genlist row hover highlight on mouse-over
- replace edje_object_add forget button with elm_button + overlay style
and edit-delete icon; removes fragile theme dependency
- update _enm_forget_click_cb to Evas_Smart_Cb signature
Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
---
src/modules/networkmanager/e_mod_main.c | 43 ++++++++++++---------------------
1 file changed, 16 insertions(+), 27 deletions(-)
diff --git a/src/modules/networkmanager/e_mod_main.c b/src/modules/networkmanager/e_mod_main.c
index b4b27f445..3604507af 100644
--- a/src/modules/networkmanager/e_mod_main.c
+++ b/src/modules/networkmanager/e_mod_main.c
@@ -84,7 +84,8 @@ static Eina_Bool _enm_ssid_is_active(struct NM_Manager *nm, const char *ssid);
static Evas_Object *_enm_ap_icon_new(struct NM_Manager *nm,
struct NM_Access_Point *ap, Evas *evas);
static Evas_Object *_enm_ap_end_new(struct NM_Manager *nm,
- struct NM_Access_Point *ap, Evas *evas);
+ struct NM_Access_Point *ap,
+ Evas_Object *parent);
static Evas_Object *_enm_eth_icon_new(struct NM_Device *dev, Evas *evas);
/* Per-item data for genlist AP and ethernet rows */
@@ -141,7 +142,7 @@ _enm_itc_ap_content_get(void *data, Evas_Object *obj, const char *part)
return ic;
}
if (!strcmp(part, "elm.swallow.end"))
- return _enm_ap_end_new(id->nm, id->ap, evas_object_evas_get(obj));
+ return _enm_ap_end_new(id->nm, id->ap, obj);
return NULL;
}
@@ -224,6 +225,7 @@ _enm_itc_group_wifi_content_get(void *data, Evas_Object *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_show(ck);
+ evas_object_propagate_events_set(ck, EINA_FALSE);
return ck;
}
@@ -351,8 +353,7 @@ struct _Enm_Forget_Data
static void
_enm_forget_click_cb(void *data, Evas_Object *obj EINA_UNUSED,
- const char *emission EINA_UNUSED,
- const char *source EINA_UNUSED)
+ void *event_info EINA_UNUSED)
{
struct _Enm_Forget_Data *fd = data;
struct NM_Manager *nm = fd->nm;
@@ -392,9 +393,10 @@ _enm_forget_data_free_cb(void *data, Evas *e EINA_UNUSED,
}
static Evas_Object *
-_enm_ap_end_new(struct NM_Manager *nm, struct NM_Access_Point *ap, Evas *evas)
+_enm_ap_end_new(struct NM_Manager *nm, struct NM_Access_Point *ap,
+ Evas_Object *parent)
{
- Evas_Object *end;
+ Evas_Object *end, *ic;
const char *conn_path;
struct _Enm_Forget_Data *fd;
@@ -415,37 +417,24 @@ _enm_ap_end_new(struct NM_Manager *nm, struct NM_Access_Point *ap, Evas *evas)
INF("forget: creating button for ssid '%s' -> %s", ap->ssid, conn_path);
- end = edje_object_add(evas);
- if (!e_theme_edje_object_set(end, "base/theme/modules/networkmanager",
- "e/modules/networkmanager/forget"))
- {
- if (!e_theme_edje_object_set(end, "base/theme/modules/connman",
- "e/modules/connman/forget"))
- {
- ERR("forget: could not load theme group");
- evas_object_del(end);
- return NULL;
- }
- }
-
fd = malloc(sizeof(*fd));
- if (!fd)
- {
- evas_object_del(end);
- return NULL;
- }
+ if (!fd) return NULL;
fd->nm = nm;
fd->connection_path = eina_stringshare_add(conn_path);
if (!fd->connection_path)
{
free(fd);
- evas_object_del(end);
return NULL;
}
fd->ssid = eina_stringshare_add(ap->ssid);
- edje_object_signal_callback_add(end, "e,action,forget,click", "e",
- _enm_forget_click_cb, fd);
+ end = elm_button_add(parent);
+ elm_object_style_set(end, "overlay");
+ ic = elm_icon_add(parent);
+ elm_icon_standard_set(ic, "edit-delete");
+ elm_object_content_set(end, ic);
+ evas_object_show(ic);
+ evas_object_smart_callback_add(end, "clicked", _enm_forget_click_cb, fd);
evas_object_event_callback_add(end, EVAS_CALLBACK_DEL,
_enm_forget_data_free_cb, fd);
evas_object_size_hint_min_set(end, ELM_SCALE_SIZE(32), ELM_SCALE_SIZE(32));
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.