Community
Participate
Working Groups
The EGit UI has undergone a radical surgery between the original incarnation for 0.12 to the current white-is-everything look at the moment. It unfortunately disgusies the window from looking like a dialog (it looks more like a floating view) and the options to 'generate change id' and select all files' are now minimal buttons with very little context. In comparison with the previous dialog, the ability to instantly see and appreciate what is happening (e.g. 'Calculate Change-Id for Gerrit Review') is now completely hidden behind a small icon and will not help those whose first experience is EGit. Furthermore, the 'select all' and 'deselect all', which used to be easily hittable buttons next to the commit and cancel buttons (which weren't taking up any more space) are buried behind opaque icons completely separately from where the checkboxes actually are.
I totally agree with that. While the new dialog looks nicer, I find the old one more usable and miss checkboxes showing commit options at a glance. It is not obvious for example if amend option is turned on and the icon is not that clear (in all fairness it would be probably hard to come up with an expressive one). Also, a good UI would guide a user and the icons inhibit discovery of the options.
The idea was to switch to using a toolbar so that more options can be added in the future without increasing the size of the dialog. A toolbar allows first-level options as well as a drop-down for advanced options that is consistent with how views layout options. Just so I'm clear, are you suggesting not using form sections, not using a white background, or not using toolbars for options (amend, change-id, etc)? Here are some other screenshots of possible new commit dialogs looks: http://img.skitch.com/20110519-8ggj8ytsxtbmwbnmn92wbc2gf7.png http://img.skitch.com/20110519-dnecsyas3x1m4rb3aksuka1g1c.png http://img.skitch.com/20110519-mk2anb6ykahd2naj42euqwgefs.png
* Not using form sections - agreed * Not using white background - agreed * Not using toolbars for options - agreed Basically, like it was before was good. All of the above suggestions use icons, which unless you know what they mean, are meaningless. Some suggestions to save space: Instead of a table of 1x4 of options, you could have 2x2 Seeing as the 'author' and 'committer' are almost always going to be the same, use an 'advanced' drop-down which hides the author/commiter info and can expand that section on demand. Maybe put all of the info in a revealable section. Commit msg [+] Show advanced options Files Commit Msg [-] Show advanced options Committer: Me Author: You [ ] Amend previous commit [ ] Generate Change ID [ ] Show untracked files [ ] Add signed-off-by That way, the default (everything is in preferences) can be used, and the drop-down can show the specific information. But I'm not sure whether we'd ever want show untracked files to be off - do we even need that any more? The 'add all' button didn't take up any more space as it sits neatly next to the commit button in any case.
I think this has broken more than just the GUI. Before, you could leave the 'Generate Gerrit Change Id' selected, and it would remember it upon subsequent invocations of the commit panel. Now, this 'remember the state' has been thrown away, with the result that you have to select it *each time* you want to calculate the change id for the project. It doesn't seem to matter that I have the hook in place which generates it from the command line. Please, just revert this change before EGit 1.0 is released.
Are you using the gerrit.createchangeid git config setting?
No, I'm saying that the old UI maintained the checkbox state so that you didn't need to do it. Really, 1.0 is almost here and instead of nit picking about various options the sensible thing would be to roll it back like it was.
It involves rolling back more than just the commit dialog UI, several other commit-related classes were refactored to support sharing between the commit dialog and the staging view.
One suggestion to help move forwards; make gerrit.createchangeid a selectable property in the Git preferences page (along the lines of 'wrap hard commits'). I presume this is only supported in EGit, rather than the command line hook?
I strongly agree with the concerns that Alex has listed on this bug report. I found the old commit dialog significantly easier to use. I provided better visual separation between the UI elements than the forms-based UI, better consistency with other dialogs in the platform and the selected actions were more obvious. After using the new dialog for several month I still have a hard time memorizing the meaning of icons and find myself hovering over them frequently to reveal the tooltip. Collapseable sections provide a good way to reduce the complexity of a UI in common scenarios while still providing quick access to advanced options for expert users. (In reply to comment #3) > * Not using form sections - agreed > * Not using white background - agreed > * Not using toolbars for options - agreed +1 All options that modify the commit should be controlled by buttons with descriptive labels. Toolbars should be used for controlling filters and the other visual aspects of the UI (e.g. to show untracked files, open the compare view). Here is a suggestion based on comment#3: pre.. ---------------- |Commit Message| ---------------- Committer: Me >>> Advanced options Author: You [ ] Amend previous commit [ ] Generate Change ID [ ] Add signed-off-by ------- |Files| -------
Hi Steffen, thanks for the feedback, just to be clear, in your proposal, the Form widgets and sections would not be used at all correct?
Created attachment 203618 [details] cvs commit dialog
I would only use an ExpandableComposite but not use any of the form widgets. I have attached a screenshot of the CVS commit dialog that shows how they embedded toolbars and used borders to separate sections.
Reverting won't happen.