static gboolean gtk_service_button_release_event(GtkWidget *widget, GdkEventButton *event) { GtkService *service = GTK_SERVICE(widget); GtkWidget *parent; if (event->button != 1 && event->button != 3) goto activate; if (event->button == 1) { if (connman_service_is_connected(service->path) == TRUE) connman_service_disconnect(service->path); else { cui_agent_set_selected_service(service->path, connman_service_get_name(service->path)); connman_service_connect(service->path); } } else if (event->button == 3) { service->priv->selected = TRUE; cui_settings_popup(service->path); } activate: parent = gtk_widget_get_parent (widget); if (parent != NULL && GTK_IS_MENU_SHELL(parent) == TRUE) { GtkMenuShell *menu_shell = GTK_MENU_SHELL(parent); gtk_menu_shell_activate_item(menu_shell, widget, TRUE); } return TRUE; }
static void connman_service_event(void *opaque, event_t *e) { connman_service_t *cs = opaque; if(event_is_type(e, EVENT_DYNAMIC_ACTION)) { connman_service_connect(cs); } }