forked from enlightenment/enlightenment
e/bluez4: Update ilist using the eina list of devices
Patch by: Lucas Joia <lucasjoia@profusion.mobi> SVN revision: 82187
This commit is contained in:
parent
20be2ab9ce
commit
edb3fba955
|
@ -3,6 +3,8 @@
|
|||
#include "e_mod_main.h"
|
||||
#include "ebluez4.h"
|
||||
|
||||
#define ILIST_HEADER "Devices Found"
|
||||
|
||||
/* Local Variables */
|
||||
static Eina_List *instances = NULL;
|
||||
static E_Module *mod = NULL;
|
||||
|
@ -61,7 +63,7 @@ _ebluez4_popup_new(Instance *inst)
|
|||
inst->found_list = e_widget_ilist_add(evas, 0, 0, NULL);
|
||||
e_widget_list_object_append(list, inst->found_list, 1, 1, 0.5);
|
||||
|
||||
e_widget_ilist_header_append(inst->found_list, NULL, "Devices Found");
|
||||
e_widget_ilist_header_append(inst->found_list, NULL, ILIST_HEADER);
|
||||
|
||||
inst->bt = e_widget_button_add(evas, "Search Devices", NULL,
|
||||
_ebluez4_cb_search, inst, NULL);
|
||||
|
@ -245,3 +247,32 @@ ebluez4_append_to_instances(const char *addr, const char *name)
|
|||
EINA_LIST_FOREACH(instances, iter, inst)
|
||||
e_widget_ilist_append(inst->found_list, NULL, name, NULL, NULL, addr);
|
||||
}
|
||||
|
||||
void
|
||||
ebluez4_update_inst(Evas_Object *dest, Eina_List *src)
|
||||
{
|
||||
Device *dev;
|
||||
Eina_List *iter;
|
||||
|
||||
e_widget_ilist_freeze(dest);
|
||||
e_widget_ilist_clear(dest);
|
||||
|
||||
e_widget_ilist_header_append(dest, NULL, ILIST_HEADER);
|
||||
EINA_LIST_FOREACH(src, iter, dev)
|
||||
e_widget_ilist_append(dest, NULL, dev->name, NULL, NULL,
|
||||
dev->addr);
|
||||
|
||||
e_widget_ilist_thaw(dest);
|
||||
e_widget_ilist_go(dest);
|
||||
}
|
||||
|
||||
void
|
||||
ebluez4_update_instances(Eina_List *src)
|
||||
{
|
||||
Eina_List *iter;
|
||||
Instance *inst;
|
||||
|
||||
EINA_LIST_FOREACH(instances, iter, inst)
|
||||
if (inst->found_list)
|
||||
ebluez4_update_inst(inst->found_list, src);
|
||||
}
|
||||
|
|
|
@ -18,5 +18,7 @@ EAPI int e_modapi_save(E_Module *m);
|
|||
|
||||
void ebluez4_disabled_set_all_search_buttons(Eina_Bool disabled);
|
||||
void ebluez4_append_to_instances(const char *addr, const char *name);
|
||||
void ebluez4_update_inst(Evas_Object *dest, Eina_List *src);
|
||||
void ebluez4_update_instances(Eina_List *src);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -49,6 +49,7 @@ _unset_adapter()
|
|||
edbus_object_unref(ctxt->adap_obj);
|
||||
ctxt->adap_obj = NULL;
|
||||
ebluez4_disabled_set_all_search_buttons(EINA_TRUE);
|
||||
ebluez4_update_instances(ctxt->devices);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -207,6 +208,7 @@ void
|
|||
ebluez4_start_discovery()
|
||||
{
|
||||
_free_dev_list(&ctxt->devices);
|
||||
ebluez4_update_instances(ctxt->devices);
|
||||
edbus_proxy_call(ctxt->adap_proxy, "StartDiscovery", NULL, NULL, -1, "");
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue