pkit gadget: use elm widgets directly

This commit is contained in:
Davide Andreoli 2017-08-10 10:35:52 +02:00
parent f9dae2400c
commit 016b432793
1 changed files with 46 additions and 23 deletions

View File

@ -55,7 +55,8 @@ packagekit_icon_update(E_PackageKit_Module_Context *ctxt,
} }
static void static void
_update_button_cb(void *data, void *data2 EINA_UNUSED) _update_button_cb(void *data, Evas_Object *obj EINA_UNUSED,
void *event EINA_UNUSED)
{ {
E_PackageKit_Instance *inst = data; E_PackageKit_Instance *inst = data;
packagekit_popup_del(inst); packagekit_popup_del(inst);
@ -63,7 +64,8 @@ _update_button_cb(void *data, void *data2 EINA_UNUSED)
} }
static void static void
_run_button_cb(void *data, void *data2 EINA_UNUSED) _run_button_cb(void *data, Evas_Object *obj EINA_UNUSED,
void *event EINA_UNUSED)
{ {
E_PackageKit_Instance *inst = data; E_PackageKit_Instance *inst = data;
E_PackageKit_Module_Context *ctxt = inst->ctxt; E_PackageKit_Module_Context *ctxt = inst->ctxt;
@ -93,13 +95,13 @@ packagekit_popup_update(E_PackageKit_Instance *inst)
if (ctxt->error) if (ctxt->error)
{ {
e_widget_label_text_set(inst->popup_label, _("No information available")); elm_object_text_set(inst->popup_label, _("No information available"));
e_widget_ilist_append(inst->popup_ilist, NULL, ctxt->error, NULL, NULL, NULL); elm_list_item_append(inst->popup_ilist, ctxt->error, NULL, NULL, NULL, NULL);
if ((ctxt->v_maj != -1) && (ctxt->v_min != -1) && (ctxt->v_mic != -1)) if ((ctxt->v_maj != -1) && (ctxt->v_min != -1) && (ctxt->v_mic != -1))
{ {
snprintf(buf, sizeof(buf), "PackageKit version: %d.%d.%d", snprintf(buf, sizeof(buf), "PackageKit version: %d.%d.%d",
ctxt->v_maj, ctxt->v_min, ctxt->v_mic); ctxt->v_maj, ctxt->v_min, ctxt->v_mic);
e_widget_ilist_append(inst->popup_ilist, NULL, buf, NULL, NULL, NULL); elm_list_item_append(inst->popup_ilist, buf, NULL, NULL, NULL, NULL);
} }
return; return;
} }
@ -143,9 +145,10 @@ packagekit_popup_update(E_PackageKit_Instance *inst)
end = edje_object_add(evas); end = edje_object_add(evas);
e_theme_edje_object_set(end, "base/theme/modules/packagekit", emblem_name); e_theme_edje_object_set(end, "base/theme/modules/packagekit", emblem_name);
e_widget_ilist_append_full(inst->popup_ilist, icon, end, elm_list_item_append(inst->popup_ilist,
ctxt->config->show_description ? pkg->summary : pkg->name, ctxt->config->show_description ? pkg->summary : pkg->name,
NULL, NULL, NULL); icon, end, NULL, NULL);
num_updates++; num_updates++;
} }
} }
@ -154,7 +157,7 @@ packagekit_popup_update(E_PackageKit_Instance *inst)
snprintf(buf, sizeof(buf), P_("One update available", "%d updates available", num_updates), num_updates); snprintf(buf, sizeof(buf), P_("One update available", "%d updates available", num_updates), num_updates);
else else
snprintf(buf, sizeof(buf), _("Your system is updated")); snprintf(buf, sizeof(buf), _("Your system is updated"));
e_widget_label_text_set(inst->popup_label, buf); elm_object_text_set(inst->popup_label, buf);
} }
static void static void
@ -172,28 +175,48 @@ _popup_autoclose_cb(void *data, Evas_Object *obj EINA_UNUSED)
void void
packagekit_popup_new(E_PackageKit_Instance *inst) packagekit_popup_new(E_PackageKit_Instance *inst)
{ {
Evas_Object *table, *bt; Evas_Object *table, *bt, *ic, *lb, *li, *size_rect;
Evas *evas;
inst->popup = e_gadcon_popup_new(inst->gcc, EINA_FALSE); inst->popup = e_gadcon_popup_new(inst->gcc, EINA_FALSE);
evas = e_comp->evas;
table = e_widget_table_add(e_win_evas_win_get(evas), 0); table = elm_table_add(e_comp->elm);
evas_object_show(table);
inst->popup_label = e_widget_label_add(evas, NULL); lb = inst->popup_label = elm_label_add(table);
e_widget_table_object_append(table, inst->popup_label, 0,0, 1,1, 1,0,1,0); evas_object_size_hint_expand_set(lb, EVAS_HINT_EXPAND, 0.0);
evas_object_size_hint_align_set(lb, 0.0, 0.5);
elm_table_pack(table, lb, 0, 0, 1, 1);
evas_object_show(lb);
bt = e_widget_button_add(evas, NULL, "view-refresh", ic = elm_icon_add(table);
_update_button_cb, inst, NULL); evas_object_size_hint_min_set(ic, 16 * elm_config_scale_get(),
e_widget_table_object_append(table, bt, 1,0, 1,1, 0,0,0,0); 16 * elm_config_scale_get());
elm_icon_standard_set(ic, "view-refresh");
bt = elm_button_add(table);
evas_object_size_hint_align_set(bt, 1.0, 0.5);
elm_object_content_set(bt, ic);
evas_object_smart_callback_add(bt, "clicked", _update_button_cb, inst);
elm_table_pack(table, bt, 1, 0, 1, 1);
evas_object_show(bt);
inst->popup_ilist = e_widget_ilist_add(evas, 24, 24, NULL);
e_widget_size_min_set(inst->popup_ilist, 240, 200);
e_widget_table_object_append(table, inst->popup_ilist, 0,1, 2,1, 1,1,0,0);
bt = e_widget_button_add(evas, _("Run the package manager"), NULL, size_rect = evas_object_rectangle_add(e_comp->evas);
_run_button_cb, inst, NULL); evas_object_size_hint_min_set(size_rect, 300 * elm_config_scale_get(),
e_widget_table_object_append(table, bt, 0,3, 2,1, 1,0,0,0); 300 * elm_config_scale_get());
elm_table_pack(table, size_rect, 0, 1, 2, 1);
li = inst->popup_ilist = elm_list_add(table);
E_EXPAND(li);
E_FILL(li);
elm_table_pack(table, li, 0, 1, 2, 1);
evas_object_show(li);
bt = elm_button_add(table);
evas_object_size_hint_fill_set(bt, EVAS_HINT_FILL, 0.0);
elm_object_text_set(bt, _("Run the package manager"));
evas_object_smart_callback_add(bt, "clicked", _run_button_cb, inst);
elm_table_pack(table, bt, 0, 2, 2, 1);
evas_object_show(bt);
packagekit_popup_update(inst); packagekit_popup_update(inst);