okra pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/gadgets/wireless.git/commit/?id=12b72d465b11d2b642bcbb54286b2be6977857c8

commit 12b72d465b11d2b642bcbb54286b2be6977857c8
Author: Stephen Houston <stephen@localhost.localdomain>
Date:   Mon Dec 4 09:58:09 2017 -0600

    Handle the case where wireless is run as an app.
---
 src/wireless.c | 43 ++++++++++++++++++++++++++++++++++---------
 1 file changed, 34 insertions(+), 9 deletions(-)

diff --git a/src/wireless.c b/src/wireless.c
index c5337df..3ed18c1 100644
--- a/src/wireless.c
+++ b/src/wireless.c
@@ -40,6 +40,7 @@ typedef struct Instance
    Evas_Object *box;
    Evas_Object *icon[WIRELESS_SERVICE_TYPE_LAST];
    Eina_Bool popup;
+   Eina_Bool gadget;
    Wireless_Connection_Type connection;
 
    struct
@@ -1053,8 +1054,10 @@ _wireless_gadget_edit(int type)
    _wireless_gadget_edit_array_entry(wc->proxy_excludes, 
&wireless_popup.proxy_excludes);
 
    wireless_popup.popup = popup = elm_win_add(inst->win, "win", ELM_WIN_BASIC);
-   elm_win_alpha_set(popup, 1);
-
+   if (inst->gadget)
+     elm_win_alpha_set(popup, 1);
+   else
+     elm_win_autodel_set(popup, 1);
    box = elm_box_add(popup);
    evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, 0);
    evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
@@ -1211,7 +1214,10 @@ _wireless_gadget_mouse_down(void *data EINA_UNUSED, Evas 
*e EINA_UNUSED, Evas_Ob
    wireless_popup.items = eina_hash_pointer_new(NULL);
 
    ctx = elm_win_add(inst->win, "win", ELM_WIN_POPUP_MENU);
-   elm_win_alpha_set(ctx, 1);
+   if (inst->gadget)
+     elm_win_alpha_set(ctx, 1);
+   else
+     elm_win_autodel_set(ctx, 1);
    evas_object_size_hint_weight_set(ctx, .2, .33);
 
    tb = elm_box_add(ctx);
@@ -1467,8 +1473,17 @@ main(int argc, char *argv[])
 
    wireless_config = calloc(1, sizeof(Wireless_Config));
    inst = calloc(1, sizeof(Instance));
-   snprintf(id, sizeof(id), "%s", getenv("E_GADGET_ID"));
-   inst->id = atoi(id);
+   if (getenv("E_GADGET_ID"))
+     {
+        snprintf(id, sizeof(id), "%s", getenv("E_GADGET_ID"));
+        inst->id = atoi(id);
+        inst->gadget = 1;
+     }
+   else
+     {
+        inst->id = 0;
+        inst->gadget = 0;
+     }
    inst->connection = WIRELESS_CONNECTION_TYPE_CONNMAN;
    inst->orient = E_GADGET_SITE_ORIENT_NONE;
    wireless_popup.type = inst->tooltip.type = -1;
@@ -1479,7 +1494,6 @@ main(int argc, char *argv[])
    _connection_init();
 
    inst->win = elm_win_add(NULL, "wireless", ELM_WIN_BASIC);
-   evas_object_size_hint_min_set(inst->win, 100, 100);
    evas_object_size_hint_aspect_set(inst->win, EVAS_ASPECT_CONTROL_BOTH, 1, 1);
    evas_object_smart_callback_add(inst->win, "gadget_site_anchor", 
_orient_change, NULL);
    evas_object_smart_callback_add(inst->win, "gadget_site_orient", 
_orient_change, NULL);
@@ -1510,6 +1524,12 @@ main(int argc, char *argv[])
    else
      _wireless_gadget_refresh();
 
+   if (!inst->gadget)
+     {
+        elm_win_alpha_set(inst->win, 0);
+        evas_object_resize(inst->win, 100, 100);
+     }
+
    elm_win_resize_object_add(inst->win, inst->box);
    evas_object_show(inst->win);
    ecore_main_loop_begin();
@@ -1722,7 +1742,10 @@ wireless_authenticate(const Eina_Array *fields, 
Wireless_Auth_Cb cb, void *data)
      }
 
    popup = elm_win_add(inst->win, "win", ELM_WIN_BASIC);
-   elm_win_alpha_set(popup, 1);
+   if (inst->gadget)
+     elm_win_alpha_set(popup, 1);
+   else
+     elm_win_autodel_set(popup, 1);
    evas_object_event_callback_add(popup, EVAS_CALLBACK_KEY_DOWN, 
_wireless_auth_key, p);
    evas_object_event_callback_add(popup, EVAS_CALLBACK_DEL, 
_wireless_auth_del, p);
    p->popup = popup;
@@ -1816,8 +1839,10 @@ wireless_authenticate_external(Wireless_Network *wn, 
const char *url)
    if (!inst->icon[wn->type]) return;
 
    ctx = elm_win_add(inst->win, "win", ELM_WIN_POPUP_MENU);
-   elm_win_alpha_set(ctx, 1);
-
+   if (inst->gadget)
+     elm_win_alpha_set(ctx, 1);
+   else
+     elm_win_autodel_set(ctx, 1);
    tb = elm_table_add(ctx);
    evas_object_size_hint_weight_set(tb, EVAS_HINT_EXPAND, 0);
    evas_object_size_hint_align_set(tb, EVAS_HINT_FILL, EVAS_HINT_FILL);

-- 


Reply via email to