summaryrefslogtreecommitdiff
path: root/src/modules/packagekit/e_mod_main.c
diff options
context:
space:
mode:
authorDave Andreoli <dave@gurumeditation.it>2018-10-21 08:31:18 +0200
committerDave Andreoli <dave@gurumeditation.it>2018-10-21 08:31:18 +0200
commitfdf9dffcd6d0b6e66249f5fb698de5f04c4318ee (patch)
treec28a3a11f555bf4db12f9cc845a2f511cf745930 /src/modules/packagekit/e_mod_main.c
parent2bf682ff5f468026e75e2fc47e6fcb1238157e41 (diff)
downloadenlightenment-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.c42
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