Tk Library Source Code

View Ticket
Login
Ticket UUID: 436340
Title: Twoline patch for bwidget passwddlg
Type: Bug Version: None
Submitter: bach Created on: 2001-06-26 11:05:25
Subsystem: bwidget Assigned To: andreas_kupries
Priority: 5 Medium Severity:
Status: Closed Last Modified: 2001-09-07 02:52:19
Resolution: Fixed Closed By: andreas_kupries
    Closed on: 2001-09-06 19:52:19
Description:
The password dialog does not support an option 



  -logineditable



which would work like e.g. -passwdeditable



This might be important for cases where the login was already chosen previouslyu and one doesn't want the user to change it again.



Anyway, implementing this is quite easy: in the actual CVS remove "-editable" in the following lines (at the very top of the file):

Widget::bwinclude PasswdDlg LabelEntry .frame.lablog \
    remove [list -command -editable -justify -name -show -side ...

and add it in this line

    prefix [list login -helptext -helpvar -label -text \ ...

So that it now reads:

Widget::bwinclude PasswdDlg LabelEntry .frame.lablog \
    remove [list -command -justify -name -show -side ...

and

   prefix [list login -editable -helptext -helpvar -label -text \ ...


Salut,
          Bastien

PS: Documentation should be changed.
PPS: perhaps automatically activate the passwdentry when doing this, I din't find the place yet :/
User Comments: andreas_kupries added on 2001-09-07 02:52:19:
Logged In: YES 
user_id=75003

Thanks for the explanation.
Committed to head.

bach added on 2001-09-06 15:43:56:
Logged In: YES 
user_id=98533

Nope, there was no -editable option for the passwddialog,
just a -passwdeditable.

Just on the contrary, the changes re-enable the -editable
option
for the login LabelEntry (I don't know why it was removed in
the first place), and renames this to -logineditable for
consistency.

Step by step explanation:

The login field inherits its options from a standard
LabelEntry with the line

  Widget::bwinclude PasswdDlg LabelEntry .frame.lablog

and then removes some of its feature in the following line

  remove [list -command  ***-editable*** -justify -name
-show -side ... 

The -editable (which I emphasized by asterisks) happens to
be among them. So, by removing -editable from the remove
list, -editable is in fact reinstated.

Then, by adding the -editable to the 'prefix' line tells
BWidget to rename the -editable for the login entry to
-logineditable by prefixing 'login' to -editable.

  prefix [list login -editable -helptext -helpvar -label
-text \ ... 

This is to achieve consistency with the existing
-passwdeditable option.

So, this change is fully backward compatible.

The full patch (including the change to focus setting) are
in the uploaded file. The changes discussed above (in the
very first lines of the file) are accompanied by a change
that sets the focus to the login entry or passwd entry
depending on the respective editable flag (search for 'bach'
in the code, it's around line 119).

Salut,
      Bastien

andreas_kupries added on 2001-09-06 07:12:33:
Logged In: YES 
user_id=75003

This seems to contain a backward incompatible
change, the removal of "-editable", right ?

What was the effect of the removed option ?

bach added on 2001-06-26 19:10:36:

File Added - 7806: passwddlg.tcl

Logged In: YES 
user_id=98533

Darn, Opera didn't attach the file the first time, sorry.

bach added on 2001-06-26 19:07:23:
Logged In: YES 
user_id=98533

I found the place where to set the focus. I've attached the new passwddlg.tcl (taken from nightly cvs)

Attachments: