summaryrefslogtreecommitdiff
path: root/UGnome.pas
diff options
context:
space:
mode:
Diffstat (limited to 'UGnome.pas')
-rw-r--r--UGnome.pas50
1 files changed, 32 insertions, 18 deletions
diff --git a/UGnome.pas b/UGnome.pas
index c843e84..dc2529c 100644
--- a/UGnome.pas
+++ b/UGnome.pas
@@ -1256,7 +1256,7 @@ begin
GTK_BUTTONS_NONE, '%s', AMessage);
if primary <> nil then g_free (primary);
- gtk_window_set_title (PGtkWindow(dialog), 'VFS Question');
+// gtk_window_set_title (PGtkWindow(dialog), 'VFS Question');
// First count the items in the list then add the buttons in reverse order
while (TOpenPCharArray(choices)[len] <> nil)
@@ -1369,6 +1369,7 @@ var widget: PGtkWidget;
group: PGSList;
remember_box: PGtkWidget;
priv: TVFSAskPasswordCallbackPriv;
+ s: PChar;
begin
FillChar(priv, sizeof(priv), 0);
radio_forget := nil;
@@ -1378,7 +1379,7 @@ begin
widget := gtk_dialog_new ();
priv.dialog := PGtkDialog(widget);
window := PGtkWindow(widget);
- gtk_window_set_title (window, 'VFS Question');
+// gtk_window_set_title (window, 'VFS Question');
// Set the dialog up with HIG properties
gtk_dialog_set_has_separator (priv.dialog, False);
@@ -1392,7 +1393,7 @@ begin
gtk_dialog_add_buttons (priv.dialog,
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
- 'Co_nnect', GTK_RESPONSE_OK,
+ PChar(LANGConnMgr_ConnectButton), GTK_RESPONSE_OK,
nil);
gtk_dialog_set_default_response (priv.dialog, GTK_RESPONSE_OK);
@@ -1419,7 +1420,7 @@ begin
vbox := gtk_vbox_new (FALSE, 6);
gtk_box_pack_start (GTK_BOX (main_vbox), vbox, FALSE, FALSE, 0);
- can_anonymous := (Integer(flags) and Integer(VFS_ASK_PASSWORD_ANONYMOUS_SUPPORTED)) = Integer(VFS_ASK_PASSWORD_ANONYMOUS_SUPPORTED);
+ can_anonymous := (flags and VFS_ASK_PASSWORD_ANONYMOUS_SUPPORTED) = VFS_ASK_PASSWORD_ANONYMOUS_SUPPORTED;
if can_anonymous then begin
anon_box := gtk_vbox_new (FALSE, 6);
@@ -1436,9 +1437,9 @@ begin
end;
rows := 0;
- if (Integer(flags) and Integer(VFS_ASK_PASSWORD_NEED_PASSWORD)) = Integer(VFS_ASK_PASSWORD_NEED_PASSWORD) then Inc(rows);
- if (Integer(flags) and Integer(VFS_ASK_PASSWORD_NEED_USERNAME)) = Integer(VFS_ASK_PASSWORD_NEED_USERNAME) then Inc(rows);
- if (Integer(flags) and Integer(VFS_ASK_PASSWORD_NEED_DOMAIN)) = Integer(VFS_ASK_PASSWORD_NEED_DOMAIN) then Inc(rows);
+ if (flags and VFS_ASK_PASSWORD_NEED_PASSWORD) = VFS_ASK_PASSWORD_NEED_PASSWORD then Inc(rows);
+ if (flags and VFS_ASK_PASSWORD_NEED_USERNAME) = VFS_ASK_PASSWORD_NEED_USERNAME then Inc(rows);
+ if (flags and VFS_ASK_PASSWORD_NEED_DOMAIN) = VFS_ASK_PASSWORD_NEED_DOMAIN then Inc(rows);
// The table that holds the entries
priv.entry_container := gtk_alignment_new (0.0, 0.0, 1.0, 1.0);
@@ -1452,34 +1453,47 @@ begin
gtk_container_add (GTK_CONTAINER (priv.entry_container), table);
Rows := 0;
- if (Integer(flags) and Integer(VFS_ASK_PASSWORD_NEED_USERNAME)) = Integer(VFS_ASK_PASSWORD_NEED_USERNAME) then begin
+ if (flags and VFS_ASK_PASSWORD_NEED_USERNAME) = VFS_ASK_PASSWORD_NEED_USERNAME then begin
priv.username_entry := table_add_entry (table, rows, '_Username:', default_user, @priv);
Inc(Rows);
end;
- if (Integer(flags) and Integer(VFS_ASK_PASSWORD_NEED_DOMAIN)) = Integer(VFS_ASK_PASSWORD_NEED_DOMAIN) then begin
+ if (flags and VFS_ASK_PASSWORD_NEED_DOMAIN) = VFS_ASK_PASSWORD_NEED_DOMAIN then begin
priv.domain_entry := table_add_entry (table, rows, '_Domain:', default_domain, @priv);
Inc(Rows);
end;
- if (Integer(flags) and Integer(VFS_ASK_PASSWORD_NEED_PASSWORD)) = Integer(VFS_ASK_PASSWORD_NEED_PASSWORD) then begin
+ if (flags and VFS_ASK_PASSWORD_NEED_PASSWORD) = VFS_ASK_PASSWORD_NEED_PASSWORD then begin
priv.password_entry := table_add_entry (table, rows, '_Password:', nil, @priv);
// Inc(Rows);
gtk_entry_set_visibility (GTK_ENTRY (priv.password_entry), FALSE);
end;
- if (Integer(flags) and Integer(VFS_ASK_PASSWORD_SAVING_SUPPORTED)) = Integer(VFS_ASK_PASSWORD_SAVING_SUPPORTED) then begin
+ if ((flags and VFS_ASK_PASSWORD_SAVING_SUPPORTED) = VFS_ASK_PASSWORD_SAVING_SUPPORTED) or
+ ((flags and VFS_ASK_PASSWORD_SAVE_INTERNAL) = VFS_ASK_PASSWORD_SAVE_INTERNAL) then
+ begin
remember_box := gtk_vbox_new (FALSE, 6);
gtk_box_pack_start (GTK_BOX (vbox), remember_box, FALSE, FALSE, 0);
- radio_forget := gtk_radio_button_new_with_mnemonic (nil, 'Forget password _immediately');
+ if (flags and VFS_ASK_PASSWORD_SAVING_SUPPORTED) = 0 then s := 'Do not save password'
+ else s := 'Forget password _immediately';
+ radio_forget := gtk_radio_button_new_with_mnemonic (nil, s);
gtk_box_pack_start (GTK_BOX (remember_box), radio_forget, FALSE, FALSE, 0);
group := gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio_forget));
- radio_session := gtk_radio_button_new_with_mnemonic (group, 'Remember password until you _logout');
- gtk_box_pack_start (GTK_BOX (remember_box), radio_session, FALSE, FALSE, 0);
+ // gnome-keyring only
+ if (flags and VFS_ASK_PASSWORD_SAVING_SUPPORTED) = VFS_ASK_PASSWORD_SAVING_SUPPORTED then begin
+ radio_session := gtk_radio_button_new_with_mnemonic (group, 'Remember password until you _logout');
+ gtk_box_pack_start (GTK_BOX (remember_box), radio_session, FALSE, FALSE, 0);
+ group := gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio_session));
+ end;
- group := gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio_session));
- radio_remember := gtk_radio_button_new_with_mnemonic (group, 'Remember _forever');
+ if (flags and VFS_ASK_PASSWORD_SAVING_SUPPORTED) = 0 then s := '_Save password in Connection Manager'
+ else s := 'Remember _forever';
+ radio_remember := gtk_radio_button_new_with_mnemonic (group, s);
gtk_box_pack_start (GTK_BOX (remember_box), radio_remember, FALSE, FALSE, 0);
+
+ // Select to save password when internal saving is supported
+ if (flags and VFS_ASK_PASSWORD_SAVE_INTERNAL) = VFS_ASK_PASSWORD_SAVE_INTERNAL
+ then gtk_toggle_button_set_active(PGtkToggleButton(radio_remember), True);
end;
// The anonymous option will be active by default, ensure the toggled signal is emitted for it.
@@ -1495,9 +1509,9 @@ begin
if (priv.domain_entry <> nil) and (domain <> nil) then domain^ := g_strdup(gtk_entry_get_text(priv.domain_entry));
if (priv.password_entry <> nil) and (password <> nil) then password^ := g_strdup(gtk_entry_get_text(priv.password_entry));
if (priv.choice_anon <> nil) and (anonymous <> nil) then anonymous^ := Ord(gtk_toggle_button_get_active(PGtkToggleButton(priv.choice_anon)));
- if (password_save <> nil) and (radio_forget <> nil) and (radio_session <> nil) and (radio_remember <> nil) then begin
+ if (password_save <> nil) and (radio_forget <> nil) and (radio_remember <> nil) then begin
if gtk_toggle_button_get_active(PGtkToggleButton(radio_forget)) then password_save^ := VFS_PASSWORD_SAVE_NEVER else
- if gtk_toggle_button_get_active(PGtkToggleButton(radio_session)) then password_save^ := VFS_PASSWORD_SAVE_FOR_SESSION else
+ if (radio_session <> nil) and gtk_toggle_button_get_active(PGtkToggleButton(radio_session)) then password_save^ := VFS_PASSWORD_SAVE_FOR_SESSION else
if gtk_toggle_button_get_active(PGtkToggleButton(radio_remember)) then password_save^ := VFS_PASSWORD_SAVE_PERMANENTLY;
end;
end;