Exemple #1
0
/**
 * gdaui_dsn_editor_has_been_changed:
 * @config: a #GdauiDsnEditor
 *
 * Tells if the user has some changes to the DSN being edited, which can be comitted
 *
 * Returns: %TRUE if some changes can be comitted
 */
gboolean
gdaui_dsn_editor_has_been_changed (GdauiDsnEditor *config)
{
	g_return_val_if_fail (GDAUI_IS_DSN_EDITOR (config), FALSE);
	GdaDsnInfo *orig;
	orig = gda_config_get_dsn_info (config->priv->name);

	return ! gda_dsn_info_equal (gdaui_dsn_editor_get_dsn (config), orig);
}
Exemple #2
0
/**
 * gdaui_dsn_editor_need_authentication:
 */
gboolean
gdaui_dsn_editor_need_authentication (GdauiDsnEditor *config)
{
	const GdaDsnInfo *dsn_info;
	dsn_info = gdaui_dsn_editor_get_dsn (config);

	GdaProviderInfo *pinfo;
	pinfo = gda_config_get_provider_info (dsn_info->provider);
	if (pinfo && pinfo->auth_params && pinfo->auth_params->holders)
		return TRUE;
	else
		return FALSE;
}
Exemple #3
0
static void
save_cb (GtkButton *button, GtkWidget *dsn)
{
	DsnConfigPrivate *priv;
	priv = g_object_get_data (G_OBJECT (dsn), DSN_CONFIG_DATA);

	const GdaDsnInfo *newdsn;
	newdsn = gdaui_dsn_editor_get_dsn (priv->dsn_editor);

	GError *error = NULL;
	if (! gda_config_define_dsn (newdsn, &error)) {
		_gdaui_utility_show_error (NULL, _("Could not save DSN definition: %s"), error ? error->message : _("No detail"));
		g_clear_error (&error);
	}

	/* update reference DSN and UI */
	GdaDsnInfo *dsn_info;
	dsn_info = gda_config_get_dsn_info (newdsn->name);
	gdaui_dsn_editor_set_dsn (priv->dsn_editor, dsn_info);
}