diff options
author | Jelmer Vernooij <jelmer@samba.org> | 2004-09-22 12:32:31 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 12:59:01 -0500 |
commit | 369a5d64e462e084e6c5fe4984d56da18b2c92d9 (patch) | |
tree | 815e7a10696ef40205c1e16c4e01b660a7a8f0b7 /source4/gtk/common | |
parent | bc8ef3d1b6bfdf279d65783869b9a247c1da38aa (diff) | |
download | samba-369a5d64e462e084e6c5fe4984d56da18b2c92d9.tar.gz samba-369a5d64e462e084e6c5fe4984d56da18b2c92d9.tar.bz2 samba-369a5d64e462e084e6c5fe4984d56da18b2c92d9.zip |
r2518: Some long overdue changes:
- Samba4-style code in lib/registry (struct registry_key instead of REG_KEY, etc)
- Use hives (like Windows has drives) instead of one root key (like a Unix FS)
- usability fixes in the GTK utilities (autodetect the username,
enable/disable options, etc)
- fix gwsam compile
- several bugfixes in the registry rpc code
- do charset conversion in nt4 registry backend
(This used to be commit 2762ed3b9bf1d67dd54d63e02cddbfd71ea89892)
Diffstat (limited to 'source4/gtk/common')
-rw-r--r-- | source4/gtk/common/gtk-smb.c | 30 | ||||
-rw-r--r-- | source4/gtk/common/gtk-smb.h | 1 |
2 files changed, 26 insertions, 5 deletions
diff --git a/source4/gtk/common/gtk-smb.c b/source4/gtk/common/gtk-smb.c index cc7013edc7..2348661cb7 100644 --- a/source4/gtk/common/gtk-smb.c +++ b/source4/gtk/common/gtk-smb.c @@ -55,6 +55,11 @@ static void on_browse_activate (GtkButton *button, gpointer user_d gtk_widget_destroy(GTK_WIDGET(shd)); } +static void on_krb5_toggled(GtkToggleButton *togglebutton, GtkRpcBindingDialog *d) +{ + gtk_widget_set_sensitive(d->entry_password, !gtk_toggle_button_get_active(togglebutton)); +} + static void gtk_rpc_binding_dialog_init (GtkRpcBindingDialog *gtk_rpc_binding_dialog) { GtkWidget *dialog_vbox1; @@ -75,7 +80,6 @@ static void gtk_rpc_binding_dialog_init (GtkRpcBindingDialog *gtk_rpc_binding_di GtkWidget *lbl_password; GtkWidget *btn_browse; GtkWidget *label9; - GtkWidget *chk_button; GtkWidget *lbl_credentials; GtkWidget *dialog_action_area1; GtkWidget *btn_cancel; @@ -138,7 +142,7 @@ static void gtk_rpc_binding_dialog_init (GtkRpcBindingDialog *gtk_rpc_binding_di gtk_widget_show (btn_browse); gtk_box_pack_start (GTK_BOX (hbox1), btn_browse, TRUE, TRUE, 0); - g_signal_connect ((gpointer) btn_browse, "pressed", + g_signal_connect ((gpointer) btn_browse, "pressed", G_CALLBACK (on_browse_activate), gtk_rpc_binding_dialog); @@ -208,12 +212,23 @@ static void gtk_rpc_binding_dialog_init (GtkRpcBindingDialog *gtk_rpc_binding_di (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); - chk_button = gtk_check_button_new_with_mnemonic ("_Use kerberos"); - gtk_widget_show (chk_button); - gtk_table_attach (GTK_TABLE (table1), chk_button, 1, 2, 2, 3, + gtk_entry_set_text(GTK_ENTRY(gtk_rpc_binding_dialog->entry_username), getenv("LOGNAME")); + + gtk_rpc_binding_dialog->krb5_chk_button = gtk_check_button_new_with_mnemonic ("_Use kerberos"); + gtk_widget_show (gtk_rpc_binding_dialog->krb5_chk_button); + gtk_table_attach (GTK_TABLE (table1), gtk_rpc_binding_dialog->krb5_chk_button, 1, 2, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); + g_signal_connect ((gpointer) gtk_rpc_binding_dialog->krb5_chk_button, "toggled", + G_CALLBACK (on_krb5_toggled), + gtk_rpc_binding_dialog); + + /* Poor man's autodetection */ + if(getenv("KRB5CCNAME")) { + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(gtk_rpc_binding_dialog->krb5_chk_button), TRUE); + } + lbl_credentials = gtk_label_new ("Credentials"); gtk_widget_show (lbl_credentials); gtk_frame_set_label_widget (GTK_FRAME (frame_credentials), lbl_credentials); @@ -278,6 +293,11 @@ const char *gtk_rpc_binding_dialog_get_password(GtkRpcBindingDialog *d) return gtk_entry_get_text(GTK_ENTRY(d->entry_password)); } +const char *gtk_rpc_binding_dialog_get_host(GtkRpcBindingDialog *d) +{ + return gtk_entry_get_text(GTK_ENTRY(d->entry_host)); +} + const char *gtk_rpc_binding_dialog_get_binding(GtkRpcBindingDialog *d, char *pipe_name) { const char *transport; diff --git a/source4/gtk/common/gtk-smb.h b/source4/gtk/common/gtk-smb.h index e9b62d94da..0f34bb3249 100644 --- a/source4/gtk/common/gtk-smb.h +++ b/source4/gtk/common/gtk-smb.h @@ -38,6 +38,7 @@ struct _GtkRpcBindingDialog GtkWidget *entry_host; GtkWidget *entry_username; GtkWidget *entry_password; + GtkWidget *krb5_chk_button; TALLOC_CTX *mem_ctx; }; |