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 "e_mod_main.h"
|
||||||
#include "ebluez4.h"
|
#include "ebluez4.h"
|
||||||
|
|
||||||
|
#define ILIST_HEADER "Devices Found"
|
||||||
|
|
||||||
/* Local Variables */
|
/* Local Variables */
|
||||||
static Eina_List *instances = NULL;
|
static Eina_List *instances = NULL;
|
||||||
static E_Module *mod = 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);
|
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_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,
|
inst->bt = e_widget_button_add(evas, "Search Devices", NULL,
|
||||||
_ebluez4_cb_search, inst, 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)
|
EINA_LIST_FOREACH(instances, iter, inst)
|
||||||
e_widget_ilist_append(inst->found_list, NULL, name, NULL, NULL, addr);
|
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_disabled_set_all_search_buttons(Eina_Bool disabled);
|
||||||
void ebluez4_append_to_instances(const char *addr, const char *name);
|
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
|
#endif
|
||||||
|
|
|
@ -49,6 +49,7 @@ _unset_adapter()
|
||||||
edbus_object_unref(ctxt->adap_obj);
|
edbus_object_unref(ctxt->adap_obj);
|
||||||
ctxt->adap_obj = NULL;
|
ctxt->adap_obj = NULL;
|
||||||
ebluez4_disabled_set_all_search_buttons(EINA_TRUE);
|
ebluez4_disabled_set_all_search_buttons(EINA_TRUE);
|
||||||
|
ebluez4_update_instances(ctxt->devices);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -207,6 +208,7 @@ void
|
||||||
ebluez4_start_discovery()
|
ebluez4_start_discovery()
|
||||||
{
|
{
|
||||||
_free_dev_list(&ctxt->devices);
|
_free_dev_list(&ctxt->devices);
|
||||||
|
ebluez4_update_instances(ctxt->devices);
|
||||||
edbus_proxy_call(ctxt->adap_proxy, "StartDiscovery", NULL, NULL, -1, "");
|
edbus_proxy_call(ctxt->adap_proxy, "StartDiscovery", NULL, NULL, -1, "");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue