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_widget_set_name (GTK_WIDGET(dialog),
"gnc-id-user-password");
58 gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (parent));
60 heading_label = GTK_WIDGET(gtk_builder_get_object (builder,
"heading_label"));
61 username_entry = GTK_WIDGET(gtk_builder_get_object (builder,
"username_entry"));
62 password_entry = GTK_WIDGET(gtk_builder_get_object (builder,
"password_entry"));
65 gtk_label_set_text (GTK_LABEL (heading_label), heading);
68 gtk_entry_set_text (GTK_ENTRY (username_entry), initial_username);
69 gtk_editable_select_region (GTK_EDITABLE (username_entry), 0, -1);
72 gtk_entry_set_text (GTK_ENTRY (password_entry), initial_password);
74 result = gtk_dialog_run(GTK_DIALOG (dialog));
75 gtk_widget_hide(dialog);
77 if (result == GTK_RESPONSE_OK)
79 *username = gtk_editable_get_chars (GTK_EDITABLE (username_entry), 0, -1);
80 *password = gtk_editable_get_chars (GTK_EDITABLE (password_entry), 0, -1);
82 gtk_widget_destroy(dialog);
89 g_object_unref(G_OBJECT(builder));
91 gtk_widget_destroy(dialog);