GtkWidget * empathy_account_chooser_new (void) { EmpathyAccountChooserPriv *priv; McAccountMonitor *monitor; GtkWidget *chooser; monitor = mc_account_monitor_new (); chooser = g_object_new (EMPATHY_TYPE_ACCOUNT_CHOOSER, NULL); priv = GET_PRIV (chooser); priv->mc = empathy_mission_control_new (); priv->monitor = mc_account_monitor_new (); g_signal_connect (priv->monitor, "account-created", G_CALLBACK (account_chooser_account_created_cb), chooser); g_signal_connect (priv->monitor, "account-deleted", G_CALLBACK (account_chooser_account_deleted_cb), chooser); priv->token = empathy_connect_to_account_status_changed (priv->mc, G_CALLBACK (account_chooser_status_changed_cb), chooser, NULL); account_chooser_setup (EMPATHY_ACCOUNT_CHOOSER (chooser)); return chooser; }
static void empathy_account_chooser_init (EmpathyAccountChooser *chooser) { EmpathyAccountChooserPriv *priv = G_TYPE_INSTANCE_GET_PRIVATE (chooser, EMPATHY_TYPE_ACCOUNT_CHOOSER, EmpathyAccountChooserPriv); chooser->priv = priv; priv->set_active_item = FALSE; priv->filter = NULL; priv->filter_data = NULL; priv->manager = empathy_account_manager_dup_singleton (); g_signal_connect (priv->manager, "account-created", G_CALLBACK (account_chooser_account_created_cb), chooser); g_signal_connect (priv->manager, "account-deleted", G_CALLBACK (account_chooser_account_deleted_cb), chooser); g_signal_connect (priv->manager, "account-connection-changed", G_CALLBACK (account_chooser_connection_changed_cb), chooser); account_chooser_setup (EMPATHY_ACCOUNT_CHOOSER (chooser)); }
static void account_chooser_constructed (GObject *object) { EmpathyAccountChooser *self = (EmpathyAccountChooser *) object; account_chooser_setup (self); }