Phase 3: popup UI with network list and passphrase dialog

e_gadcon_popup hosts a status label, a scrollable list of networks
(snapshotted from iwd_manager and sorted: connected → known → alpha),
and Rescan/Enable/Disable action buttons. Clicking a network calls
Network.Connect; iwd then asks our Agent for a passphrase, which is
routed to a modal elm_popup via iwd_manager_set_passphrase_handler.

The passphrase handler is installed at module init so iwd-initiated
auth works even when the popup is closed.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
nemunaire 2026-04-08 22:49:40 +07:00
commit e66a3effa6
6 changed files with 365 additions and 18 deletions

View file

@ -3,8 +3,10 @@
#include <Elementary.h>
typedef void (*Wifi_Auth_Cb)(void *data, const char *passphrase, Eina_Bool remember);
typedef void (*Wifi_Auth_Cb)(void *data, const char *passphrase, Eina_Bool ok);
/* Show a modal passphrase dialog. cb is called exactly once with ok=EINA_TRUE
* + passphrase, or ok=EINA_FALSE on cancel. The dialog destroys itself. */
void wifi_auth_prompt(Evas_Object *parent, const char *ssid,
Wifi_Auth_Cb cb, void *data);