GNOME Bugzilla – Bug 702635
Move items from gear menu to app menu
Last modified: 2015-08-08 15:32:45 UTC
Most of the items in the gear menu belong in the app menu - new window, user information, preferences, help, about, quit. You don't need close - it's in the headerbar already as a button.
true, the close menuitem should die now that we have the close button
about the user information here we have a problem, we have 2 user information, one global which is set in the dash and another per repository which is set in the repository view
should we move the global one to the app menu and keep the one in the repository?
(In reply to comment #3) > should we move the global one to the app menu and keep the one in the > repository? Makes sense, but they need to be differentiated somehow. The dialog for the repo specific information could be titled "<repository name> - Author Details". It could also have a checkbox for "Use global author details", which makes the fields insensitive. And yes, I prefer "Author Details" to "User Information". :)
Close removed
(In reply to comment #4) > (In reply to comment #3) > > should we move the global one to the app menu and keep the one in the > > repository? > > Makes sense, but they need to be differentiated somehow. The dialog for the > repo specific information could be titled "<repository name> - Author Details". > > And yes, I prefer "Author Details" to "User Information". :) This means we are looking at the context: Git user vs Commit Author I do feel "Author Details" is more accurate. When I wrote the feature, I was thinking from the "Git user" context, hence the title. > It could also have a checkbox for "Use global author details", which makes the > fields insensitive. IMO, a checkbox would introduce a bit complexity. This is how it works: The global git config is from ~/.gitconfig and that which is editable when in Dash View. The per-repo or local git config is from /path/to/repo/.git/config and that which is editable from History View. If you look at the code, based on whether we are in Dash or History view, we are loading the details 'Name' and 'Email'. Example: show_user_information_dialog(global_config, null); show_user_information_dialog(repo_config, d_repository.name); Now, suppose we do add a checkbox to the dialog. This checkbox has to appear only in dialog shown for per-repo config dialog (Can be done). Before we save the details, we have to check: 1. Are the details entered in the per-repo dialog are same as those available in global config? 1.1 What if global config doesn't exist? 1.1.1 Do we create a global config on behalf of the user? 1.1.2 Do we ignore and not save the checkbox preference? 1.2 If the per-repo config details are different from the global one, do we make the user known that we are writing to a different file the details?
(In reply to comment #6) ... > 1. Are the details entered in the per-repo dialog are same as those available > in global config? > > 1.1 What if global config doesn't exist? > 1.1.1 Do we create a global config on behalf of the user? > 1.1.2 Do we ignore and not save the checkbox preference? Git is essentially broken if you use it without having configured the user details. I would add a mandatory first run stage which requires that you add your name and email, if they are not globally configured. > 1.2 If the per-repo config details are different from the global one, do we > make the user known that we are writing to a different file the details? This is the purpose of the checkbox that I described - you need to be really clear that they are deviating from their global configuration.
Entering global information has been moved to the app menu. The author details dialog also makes it quite clear now which config you are editing. What is still missing is in the repo author details dialog, whether the repo actually has a local user/e-mail configured or if it's coming from the global config. I agree with Allan here that a checkbox making this explicit is a very good idea.
I've added the checkbox so users are now aware and have to explicitly override global author details.