/* * GdauiDsnEditor class implementation */ static void _changed_cb (GdauiDsnEditor *config) { gboolean can_save = FALSE; can_save = gdaui_dsn_editor_has_been_changed (config); GtkWindow *win; win = gtk_application_get_active_window (GTK_APPLICATION (g_application_get_default ())); GAction *action; action = g_action_map_lookup_action (G_ACTION_MAP (win), "DSNReset"); g_simple_action_set_enabled (G_SIMPLE_ACTION (action), can_save); }
static void dsn_editor_changed_cb (GdauiDsnEditor *editor, GtkWidget *dsn) { DsnConfigPrivate *priv; priv = g_object_get_data (G_OBJECT (dsn), DSN_CONFIG_DATA); gboolean can_save = FALSE; can_save = gdaui_dsn_editor_has_been_changed (editor); gtk_widget_set_sensitive (priv->commit_button, can_save); if (gdaui_dsn_editor_need_authentication (priv->dsn_editor)) gtk_widget_show (GTK_WIDGET (priv->view_buttons [GDAUI_DSN_EDITOR_PANE_AUTH])); else gtk_widget_hide (GTK_WIDGET (priv->view_buttons [GDAUI_DSN_EDITOR_PANE_AUTH])); }