27 #include "dialog-utils.h"
32 gnc_get_username_password (GtkWidget *parent,
34 const char *initial_username,
35 const char *initial_password,
40 GtkWidget *heading_label;
41 GtkWidget *username_entry;
42 GtkWidget *password_entry;
46 g_return_val_if_fail (username != NULL, FALSE);
47 g_return_val_if_fail (password != NULL, FALSE);
49 builder = gtk_builder_new();
50 gnc_builder_add_from_file (builder,
"dialog-userpass.glade",
"Username Password Dialog");
52 dialog = GTK_WIDGET(gtk_builder_get_object (builder,
"Username Password Dialog"));
55 gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (parent));
57 heading_label = GTK_WIDGET(gtk_builder_get_object (builder,
"heading_label"));
58 username_entry = GTK_WIDGET(gtk_builder_get_object (builder,
"username_entry"));
59 password_entry = GTK_WIDGET(gtk_builder_get_object (builder,
"password_entry"));
62 gtk_label_set_text (GTK_LABEL (heading_label), heading);
65 gtk_entry_set_text (GTK_ENTRY (username_entry), initial_username);
66 gtk_editable_select_region (GTK_EDITABLE (username_entry), 0, -1);
69 gtk_entry_set_text (GTK_ENTRY (password_entry), initial_password);
71 result = gtk_dialog_run(GTK_DIALOG (dialog));
72 gtk_widget_hide(dialog);
74 if (result == GTK_RESPONSE_OK)
76 *username = gtk_editable_get_chars (GTK_EDITABLE (username_entry), 0, -1);
77 *password = gtk_editable_get_chars (GTK_EDITABLE (password_entry), 0, -1);
79 gtk_widget_destroy(dialog);
86 g_object_unref(G_OBJECT(builder));
88 gtk_widget_destroy(dialog);