summaryrefslogtreecommitdiff
path: root/src/modules/packagekit/e_mod_main.c
diff options
context:
space:
mode:
authorDave Andreoli <dave@gurumeditation.it>2018-10-21 11:05:00 +0200
committerDave Andreoli <dave@gurumeditation.it>2018-10-21 11:05:00 +0200
commit79ff5ae53b5f31dacb38cef29ed28569ab89f838 (patch)
tree3010d05c1c65ffa69a2fac0fad8b42b94f3cde4c /src/modules/packagekit/e_mod_main.c
parent9369277e087b71cc39eb4acf05aded5b875a7d4b (diff)
downloadenlightenment-79ff5ae53b5f31dacb38cef29ed28569ab89f838.tar.gz
PackageKit gadget: augment the new menu
Use the new menu augmentation system to provide two usefull operations.
Diffstat (limited to 'src/modules/packagekit/e_mod_main.c')
-rw-r--r--src/modules/packagekit/e_mod_main.c39
1 files changed, 37 insertions, 2 deletions
diff --git a/src/modules/packagekit/e_mod_main.c b/src/modules/packagekit/e_mod_main.c
index e6f35b3116..04da5498fd 100644
--- a/src/modules/packagekit/e_mod_main.c
+++ b/src/modules/packagekit/e_mod_main.c
@@ -120,9 +120,44 @@ _gadget_configure_cb(Evas_Object *gadget)
}
static void
-_gadget_menu_populate_cb(Evas_Object *g, E_Menu *m)
+_gadget_menu1_cb(void *data, E_Menu *m EINA_UNUSED, E_Menu_Item *mi EINA_UNUSED)
{
- DBG("PKIT: menu cb (TODO)\n");
+ E_PackageKit_Module_Context *ctxt = data;
+
+ e_exec(e_zone_current_get(), NULL,
+ ctxt->config->manager_command,
+ NULL, NULL);
+}
+
+static void
+_gadget_menu2_cb(void *data, E_Menu *m EINA_UNUSED, E_Menu_Item *mi EINA_UNUSED)
+{
+ E_PackageKit_Module_Context *ctxt = data;
+
+ packagekit_create_transaction_and_exec(ctxt, packagekit_refresh_cache);
+}
+
+static void
+_gadget_menu_populate_cb(Evas_Object *gadget, E_Menu *m)
+{
+ E_PackageKit_Instance *inst = evas_object_data_get(gadget, "pkit-inst");
+ E_Menu_Item *mi;
+
+ mi = e_menu_item_new(m);
+ e_menu_item_separator_set(mi, 1);
+
+ mi = e_menu_item_new(m);
+ e_menu_item_label_set(mi, _("Refresh package list"));
+ e_util_menu_item_theme_icon_set(mi, "view-refresh");
+ e_menu_item_callback_set(mi, _gadget_menu2_cb, inst->ctxt);
+
+ if (inst->ctxt->config->manager_command && inst->ctxt->config->manager_command[0])
+ {
+ mi = e_menu_item_new(m);
+ e_menu_item_label_set(mi, _("Run the package manager"));
+ e_util_menu_item_theme_icon_set(mi, "preferences-applications");
+ e_menu_item_callback_set(mi, _gadget_menu1_cb, inst->ctxt);
+ }
}
static void