diff options
author | Dave Andreoli <dave@gurumeditation.it> | 2018-10-21 08:31:18 +0200 |
---|---|---|
committer | Dave Andreoli <dave@gurumeditation.it> | 2018-10-21 08:31:18 +0200 |
commit | fdf9dffcd6d0b6e66249f5fb698de5f04c4318ee (patch) | |
tree | c28a3a11f555bf4db12f9cc845a2f511cf745930 /src/modules/packagekit/e_mod_main.c | |
parent | 2bf682ff5f468026e75e2fc47e6fcb1238157e41 (diff) | |
download | enlightenment-fdf9dffcd6d0b6e66249f5fb698de5f04c4318ee.tar.gz |
PackageKit gadget: fix for recent gadget api changes.
This is just a fast fix, some more work will come to
integrate better with the new gadget system.
Diffstat (limited to 'src/modules/packagekit/e_mod_main.c')
-rw-r--r-- | src/modules/packagekit/e_mod_main.c | 42 |
1 files changed, 33 insertions, 9 deletions
diff --git a/src/modules/packagekit/e_mod_main.c b/src/modules/packagekit/e_mod_main.c index acd4e45590..cffa07da61 100644 --- a/src/modules/packagekit/e_mod_main.c +++ b/src/modules/packagekit/e_mod_main.c @@ -99,12 +99,6 @@ _gadget_mouse_up_cb(void *data, Evas *evas EINA_UNUSED, Evas_Object *obj EINA_UN { packagekit_create_transaction_and_exec(ctxt, packagekit_get_updates); } - else if (ev->button == 3) - { - if (inst->ctxpopup) - packagekit_popup_del(inst); - packagekit_config_show(inst->ctxt); - } } static void @@ -118,6 +112,36 @@ _gadget_del_cb(void *data, Evas *evas EINA_UNUSED, Evas_Object *obj EINA_UNUSED, free(inst); } +static Evas_Object * +_gadget_configure_cb(Evas_Object *gadget) +{ + E_PackageKit_Instance *inst = evas_object_data_get(gadget, "pkit-inst"); + + // TODO use new bryce dialog style + packagekit_config_show(inst->ctxt); + return NULL; +} + +static void +_gadget_menu_populate_cb(Evas_Object *g, E_Menu *m) +{ + DBG("PKIT: menu cb (TODO)\n"); +} + +static void +_gadget_created_cb(void *data, Evas_Object *obj, void *event_data EINA_UNUSED) +{ + E_PackageKit_Instance *inst = data; + + evas_object_smart_callback_del_full(obj, "gadget_created", + _gadget_created_cb, data); + evas_object_event_callback_add(inst->gadget, EVAS_CALLBACK_MOUSE_UP, + _gadget_mouse_up_cb, inst); + e_gadget_configure_cb_set(inst->gadget, _gadget_configure_cb); + e_gadget_menu_populate_cb_set(inst->gadget, _gadget_menu_populate_cb); + packagekit_icon_update(inst->ctxt, EINA_FALSE); +} + EINTERN Evas_Object * _gadget_create_cb(Evas_Object *parent, int *id, E_Gadget_Site_Orient orient EINA_UNUSED) { @@ -131,12 +155,12 @@ _gadget_create_cb(Evas_Object *parent, int *id, E_Gadget_Site_Orient orient EINA "e/modules/packagekit/main"); evas_object_event_callback_add(inst->gadget, EVAS_CALLBACK_DEL, _gadget_del_cb, inst); + evas_object_data_set(inst->gadget, "pkit-inst", inst); ctxt->instances = eina_list_append(ctxt->instances, inst); if (*id >= 0) { // normal mode - evas_object_event_callback_add(inst->gadget, EVAS_CALLBACK_MOUSE_UP, - _gadget_mouse_up_cb, inst); - packagekit_icon_update(ctxt, EINA_FALSE); + evas_object_smart_callback_add(parent, "gadget_created", + _gadget_created_cb, inst); } else { // demo mode |