Comment 10 for bug 180132

sander (s-devrieze) wrote :

Ok, this is the idea (warning: you probably need to reread this a few times to understand):

* Remove the Edit profiles entry from the File menu
* Create a special profile called "Guest Login" (or simply "Guest").
* When this Guest profile is selected in the Login dialog, focus will be on the Contact ID field and the whole dialog will look like it looks like now (password field, More... option, etc). The user can configure all options with this special profile. This profile can't be deleted using the interface (only possible when manually editing the config file). The name of this profile should be translatable in other languages.
* The user cannot set a default profile any more. Coccinella always will set the last used profile as the default. Only exception is when the user has enabled auto-login. In this case, the Guest profile *never* will be remembered as last used account.
* The account created in the assistant will thus be the default account initially.
* When a normal user defined profile that does not contain a saved password (not defined by the user) is selected in the Login dialog, only the Password field is showed and the focus change to this field. The Contact ID field and More... should not be showed. Return will simulate pressing on the Login button.
* When a normal user defined profile does contain a password, nothing else will be showed. Thus only the Profile line and the Login and Cancel button will be showed (besides the header and intro text).
* The user should be able to create special predefined profiles like the Google Talk or jabber.org profiles by himself. This can be done by using a variable that consists of illegal characters for a JID (don't know which characters are illegal in a JID). E.g. %<email address hidden>. When a user selects a special profile like this in the Login dialog, the variable %s is replaced by a string (translatable!), e.g. "MyName". For such profiles, the Login dialog will show the Contact ID field and the focus should be in this field. Also, the text "MyName" should be selected so that the user can simply start typing. Normally, such a profile will not contain a saved password and thus also the Password field is showed an is empty. More... is not showed.
* Next to the Profile dropdown list in the Login dialog, there are 3 small icon buttons on the same line (similar size as the show business card icons used in some other dialogs). All these buttons have balloon help texts.
* The first button is the "Edit Profile" button. When the users clicks on this button the currently selected profile in the dropdown list will be selected and an Edit Profile dialog for this selected profile will be opened. This dialog will look similar to the current Edit Profiles dialog with these differences: different intro text, the profile dropdown list is replaced by a text field so that users also can change the profile name (remember Mats that we discussed how to implement this new feature before ;-) ), the Nickname field will be removed (can be done later: this is a PEP feature and should be somewhere else in the interface so that the user can change his nickname at any time...maybe Action menu or the planned presence control panel?), the final "s" in the header title will be dropped. Add Profile and Delete Profile buttons removed. This dialog will contain all other interface parts you currently see in the Edit Profiles dialogs.
* The next icon button (middle) is the "Add Profile" button. This will open a dialog similar to the Edit Profile dialog with these differences: different header, different intro text, all fields empty (or default value). When the user tries to save the new profile whilst he did not entered a profile name or an invalid contact ID, Coccinella should complain about this and move cursor focus to any of these fields after the user closed the warning.
* The last icon button is the Delete Profile button. When the user clicks on this a confirmation dialog is showed or a warning in case the user tries to delete the Guest profile (which can't be deleted using the interface; only by manually editing the config file!)
* Intro help text for the Login dialog: "Select the guest profile or any other profile."
* Required when Bug #144863 is implemented: change the Priority entry under More...-->Login into a checkbox option "o Use custom priority <value field>". When this option is enabled the dynamic priority feature will be overridden.
* Maybe the "Login on Coccinella startup" can be put under the Password field in the Login dialog

Advantages:
* File menu will contain one entry less
* Profile names can be changed easily
* The Login dialog will be 1 (Guest profile), 2 (special profile like Google Talk), 3 (profile without password), or 4 (normal profile) vertical lines smaller (reduction of around 50% in dialog size maximum!)
* The Edit Profile dialog will be probably 2 vertical lines smaller than the current Edit Profiles dialog
* Same for Add Profile dialog
* Separate dialog to enter the profile name is not required any more
* A challenge for Mats ;-)
* New feature for branded clients: special profile with variable
* As all dialogs will be smaller, Coccinella will be more suitable for extremely small resolutions
* It will be easier for grandmothers: after the assistant, the newly created profile will be the default. A "grandmother user" probably does not want to add more profiles and thus only sees the minimal Login dialog which is less confusing; the chances the "grandmother user" clicks on a wrong button reduces. B-)
* Others?

Disadvantages:
* Mats will introduce new bugs ;-)
* Others?

Other feedback including suggestions?