static void set_transport_settings (GdictSourceDialog *dialog) { switch (dialog->transport) { case GDICT_SOURCE_TRANSPORT_DICTD: { GdictClientContext *context; const gchar *hostname; gchar *port_str; guint port; context = GDICT_CLIENT_CONTEXT (dialog->context); hostname = gdict_client_context_get_hostname (context); port = gdict_client_context_get_port (context); port_str = g_strdup_printf ("%d", port); set_text_to_entry (dialog, "hostname_entry", hostname); set_text_to_entry (dialog, "port_entry", port_str); gtk_widget_show (GTK_WIDGET (gtk_builder_get_object (dialog->builder, "hostname_label"))); gtk_widget_show (GTK_WIDGET (gtk_builder_get_object (dialog->builder, "hostname_entry"))); gtk_widget_show (GTK_WIDGET (gtk_builder_get_object (dialog->builder, "port_label"))); gtk_widget_show (GTK_WIDGET (gtk_builder_get_object (dialog->builder, "port_entry"))); g_free (port_str); } break; case GDICT_SOURCE_TRANSPORT_INVALID: default: break; } }
/** * gdict_source_set_transportv * @source: a #GdictSource * @transport: a #GdictSourceTransport * @first_transport_property: FIXME * @var_args: FIXME * * FIXME * * Since: 1.0 */ void gdict_source_set_transportv (GdictSource *source, GdictSourceTransport transport, const gchar *first_transport_property, va_list var_args) { GdictSourcePrivate *priv; g_return_if_fail (GDICT_IS_SOURCE (source)); g_return_if_fail (IS_VALID_TRANSPORT (transport)); priv = source->priv; priv->transport = transport; if (priv->context) g_object_unref (priv->context); switch (priv->transport) { case GDICT_SOURCE_TRANSPORT_DICTD: priv->context = gdict_client_context_new (NULL, -1); g_assert (GDICT_IS_CLIENT_CONTEXT (priv->context)); g_object_set_valist (G_OBJECT (priv->context), first_transport_property, var_args); break; case GDICT_SOURCE_TRANSPORT_INVALID: default: g_assert_not_reached (); break; } /* update the keyfile */ if (!priv->keyfile) priv->keyfile = g_key_file_new (); g_key_file_set_string (priv->keyfile, SOURCE_GROUP, SOURCE_KEY_TRANSPORT, valid_transports[transport]); switch (priv->transport) { case GDICT_SOURCE_TRANSPORT_DICTD: g_key_file_set_string (priv->keyfile, SOURCE_GROUP, SOURCE_KEY_HOSTNAME, gdict_client_context_get_hostname (GDICT_CLIENT_CONTEXT (priv->context))); g_key_file_set_integer (priv->keyfile, SOURCE_GROUP, SOURCE_KEY_PORT, gdict_client_context_get_port (GDICT_CLIENT_CONTEXT (priv->context))); break; case GDICT_SOURCE_TRANSPORT_INVALID: default: g_assert_not_reached (); break; } }