e/bluez4: add actual devices to list of devices found

Patch by: Lucas Joia <lucasjoia@profusion.mobi>



SVN revision: 82186
This commit is contained in:
Lucas Joia 2013-01-04 16:12:07 +00:00 committed by Lucas De Marchi
parent 21c0a5381b
commit 20be2ab9ce
3 changed files with 19 additions and 5 deletions

View File

@ -15,7 +15,7 @@ static void
_ebluez4_cb_pair(void *data, void *data2 __UNUSED__)
{
Instance *inst = data;
const char *addr = e_widget_ilist_selected_value_get(inst->list);
const char *addr = e_widget_ilist_selected_value_get(inst->found_list);
if(!addr)
return;
@ -37,6 +37,8 @@ static void
_ebluez4_cb_search(void *data, void *data2 __UNUSED__)
{
Instance *inst = data;
e_widget_ilist_clear(inst->found_list);
e_widget_ilist_header_append(inst->found_list, NULL, "Devices Found");
ebluez4_start_discovery();
e_widget_disabled_set(inst->bt, 1);
ecore_timer_add(60, _ebluez4_cb_stop_search, inst);
@ -56,10 +58,10 @@ _ebluez4_popup_new(Instance *inst)
evas = inst->popup->win->evas;
list = e_widget_list_add(evas, 0, 0);
inst->list = e_widget_ilist_add(evas, 0, 0, NULL);
e_widget_list_object_append(list, inst->list, 1, 1, 0.5);
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->list, NULL, "Devices Found");
e_widget_ilist_header_append(inst->found_list, NULL, "Devices Found");
inst->bt = e_widget_button_add(evas, "Search Devices", NULL,
_ebluez4_cb_search, inst, NULL);
@ -233,3 +235,13 @@ ebluez4_disabled_set_all_search_buttons(Eina_Bool disabled)
EINA_LIST_FOREACH(instances, iter, inst)
e_widget_disabled_set(inst->bt, disabled);
}
void
ebluez4_append_to_instances(const char *addr, const char *name)
{
Eina_List *iter;
Instance *inst;
EINA_LIST_FOREACH(instances, iter, inst)
e_widget_ilist_append(inst->found_list, NULL, name, NULL, NULL, addr);
}

View File

@ -7,7 +7,7 @@ struct _Instance
E_Gadcon_Client *gcc;
E_Gadcon_Popup *popup;
Evas_Object *o_bluez4, *bt;
Evas_Object *list;
Evas_Object *found_list;
};
EAPI extern E_Module_Api e_modapi;
@ -17,5 +17,6 @@ EAPI int e_modapi_shutdown(E_Module *m);
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);
#endif

View File

@ -89,6 +89,7 @@ _on_device_found(void *context, const EDBus_Message *msg)
dev->addr = eina_stringshare_add(addr);
dev->name = eina_stringshare_add(name);
ctxt->devices = eina_list_append(ctxt->devices, dev);
ebluez4_append_to_instances(addr, name);
}
}