Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Split up the pull/fetch/rebase/merge button into separate buttons #3923

Closed
mikechamberlain opened this issue Aug 22, 2017 · 10 comments
Closed

Comments

@mikechamberlain
Copy link

mikechamberlain commented Aug 22, 2017

Do you want to request a feature or report a bug?

Feature.

What is the current behavior?

All fetching and merging from the toolbar has to be done through a fiddly split button that requires an unnecessarily high degree of dexterity for succeess.

git-extensions-pull

What is the expected behavior?

Remove the split button, together with the unintuitive and highly idiosyncratic "Set the next selection as the default" option. Introduce separate buttons for Merge, Rebase, Fetch, Fetch All and Open Pull Dialog.

Motivation

The vast majority of developers have high resolution monitors. We have plenty of empty space on the toolbar for more buttons. Pulling/merging/fetching is one of the most common operations. But we are currently forced to target a ~10 pixel-wide dropdown arrow to access the "non-default" actions.

This is made even more frustrating by the context menu's dismissal on mouse-out. It's too easy to slip off the edge and have to fiddle with the button again.

Lastly, the idea of setting the default action of a button from a menu on the button itself seems to be a completely random interaction, the likes of which I've only ever seen in GitExtensions.

All these issues are solved by breaking this weird and frustrating split button into regular top-level buttons.

@RussKie RussKie added this to the Next version milestone Dec 13, 2017
@NikolayXHD
Copy link
Member

NikolayXHD commented Sep 1, 2018

I suggest this feature to be implemented as optional / configurable

When the dropdown is replaced by 4 (or 5) separate buttons, then whenever user fetches,
he has to carefully pick one button from a group of 5, with similarly looking blue arrow icons. And, in contrast with current solution, without descriptive text.

I find the current look and behavior convenient, because I don't use fetch options others than the one selected as default. I also think this is true for many people, there is even a feature request #4159 which depends on current behavior.

@RussKie RussKie removed this from the 3.00 milestone Sep 2, 2018
@RussKie
Copy link
Member

RussKie commented Sep 2, 2018

I agree that the metaphor for selecting the default option is somewhat odd. This would be much better expressed with a Ribbon, if we had one.

However I also agree with @NikolayXHD that having several similarly looking buttons in the toolbar would have a high degree of probability of creating confusion.
In my day-to-day job I see a lot with engineers who work on laptops, that do not provide have hi-res screens. Other engineers that have laptops with hi-res screens, often scale their Windows (150%, 200% etc).

Whilst I appreciate that the current UX is somewhat imperfect and it may cause some discomfort to some of our users, I am not entirely convinced the proposal would makes it universally better for everyone.

@jbialobr
Copy link
Member

jbialobr commented Sep 2, 2018

I have never been 100% happy with the split button. The idea I had to fix that, but never have had enough motivation to do it, is to make it configurable which button is the default button, which buttons should go next to the default button in the tool bar. The other buttons should go to drop down menu as it is now. All that configurations should take place in the settings dialog that we could remove the odd menu item to set the default action.

@NikolayXHD
Copy link
Member

All that configurations should take place in the settings dialog

We could also replace "Set the next selection as the default" checkbox with "Pull menu configuration" button that would lead to the corresponding settings page

@RussKie
Copy link
Member

RussKie commented Sep 4, 2018

I'm happy for this discussion to be revisited when we ship v3

@mtsirak
Copy link

mtsirak commented Sep 12, 2019

I think the best of both worlds would be to make the options inside the drop-down drag-able to the toolbar.

@pmiossec
Copy link
Member

I think the best of both worlds would be to make the options inside the drop-down drag-able to the toolbar.

But I let you imagine the difficulty and the effort to do such a thing! We are waiting your PR 😁

@gregsohl
Copy link
Contributor

I like the way it is in the current v3.2.1 build with the options broken out on the drop down. Very useful and a great incremental improvement over v2.x

pmiossec added a commit to pmiossec/gitextensions that referenced this issue Apr 28, 2020
* One for fetch operations,
* One for rebase operations,
* One for the more generic "pull dialog"

The first two with there own default operation setting.

Improvement over gitextensions#3923
pmiossec added a commit to pmiossec/gitextensions that referenced this issue Apr 28, 2020
* One for fetch operations,
* One for rebase operations,
* One for the more generic "pull dialog"

The first two with there own default operation setting.

Improvement over gitextensions#3923
pmiossec added a commit to pmiossec/gitextensions that referenced this issue May 24, 2020
* One for fetch operations,
* One for rebase operations,
* One for the more generic "pull dialog"

The first two with there own default operation setting.

Improvement over gitextensions#3923
pmiossec added a commit to pmiossec/gitextensions that referenced this issue May 24, 2020
* One for fetch operations,
* One for rebase operations,
* One for the more generic "pull dialog"

The first two with there own default operation setting.

Improvement over gitextensions#3923
pmiossec added a commit to pmiossec/gitextensions that referenced this issue May 26, 2020
* One for fetch operations,
* One for rebase operations,
* One for the more generic "pull dialog"

The first two with there own default operation setting.

Improvement over gitextensions#3923
pmiossec added a commit to pmiossec/gitextensions that referenced this issue Jun 5, 2020
* One for fetch operations,
* One for rebase operations,
* One for the more generic "pull dialog"

The first two with there own default operation setting.

Improvement over gitextensions#3923
pmiossec added a commit to pmiossec/gitextensions that referenced this issue Jun 8, 2020
* One for fetch operations,
* One for rebase operations,
* One for the more generic "pull dialog"

The first two with there own default operation setting.

Improvement over gitextensions#3923
pmiossec added a commit to pmiossec/gitextensions that referenced this issue Jun 19, 2020
* One for fetch operations,
* One for rebase operations,
* One for the more generic "pull dialog"

The first two with there own default operation setting.

Improvement over gitextensions#3923
pmiossec added a commit to pmiossec/gitextensions that referenced this issue Jun 30, 2020
* One for fetch operations,
* One for rebase operations,
* One for the more generic "pull dialog"

The first two with there own default operation setting.

Improvement over gitextensions#3923
pmiossec added a commit to pmiossec/gitextensions that referenced this issue Jul 3, 2020
* One for fetch operations,
* One for rebase operations,
* One for the more generic "pull dialog"

The first two with there own default operation setting.

Improvement over gitextensions#3923
pmiossec added a commit to pmiossec/gitextensions that referenced this issue Jul 10, 2020
* One for fetch operations,
* One for rebase operations,

With there own default operation setting.

Improvement over gitextensions#3923
pmiossec added a commit to pmiossec/gitextensions that referenced this issue Jul 17, 2020
* One for fetch operations,
* One for rebase operations,

With there own default operation setting.

Improvement over gitextensions#3923
pmiossec added a commit to pmiossec/gitextensions that referenced this issue Sep 16, 2020
* One for fetch operations,
* One for rebase operations,

With there own default operation setting.

Improvement over gitextensions#3923
pmiossec added a commit to pmiossec/gitextensions that referenced this issue Oct 1, 2020
* One for fetch operations,
* One for rebase operations,

With there own default operation setting.

Improvement over gitextensions#3923
pmiossec added a commit to pmiossec/gitextensions that referenced this issue Nov 26, 2020
* One for fetch operations,
* One for rebase operations,

With there own default operation setting.

Improvement over gitextensions#3923
pmiossec added a commit to pmiossec/gitextensions that referenced this issue Nov 26, 2020
* One for fetch operations,
* One for rebase operations,

With there own default operation setting.

Improvement over gitextensions#3923
pmiossec added a commit to pmiossec/gitextensions that referenced this issue Dec 11, 2020
* One for fetch operations,
* One for rebase operations,

With there own default operation setting.

Improvement over gitextensions#3923
pmiossec added a commit to pmiossec/gitextensions that referenced this issue Jul 21, 2021
* One for fetch operations,
* One for rebase operations,

With there own default operation setting.

Improvement over gitextensions#3923
@GintasS
Copy link
Collaborator

GintasS commented Aug 22, 2021

Voting to close this, no one is working on this. Also, as @gregsohl has mentioned (me included) the setup is quite nice now, if someone still has an issue, should open a new ticket/create a PR with suggested improvements,

@RussKie
Copy link
Member

RussKie commented Aug 22, 2021

We have made a number of improvements in this area. There are no plans to split the buttons.
If you really want buttons split you can add custom scripts to the toolbar.

@RussKie RussKie closed this as completed Aug 22, 2021
pmiossec added a commit to pmiossec/gitextensions that referenced this issue Nov 7, 2021
* One for fetch operations,
* One for rebase operations,

With there own default operation setting.

Improvement over gitextensions#3923

# Conflicts:
#	GitUI/CommandsDialogs/FormBrowse.Designer.cs
#	GitUI/CommandsDialogs/FormBrowse.cs
pmiossec added a commit to pmiossec/gitextensions that referenced this issue Nov 7, 2021
* One for fetch operations,
* One for rebase operations,

With there own default operation setting.

Improvement over gitextensions#3923

# Conflicts:
#	GitUI/CommandsDialogs/FormBrowse.Designer.cs
#	GitUI/CommandsDialogs/FormBrowse.cs
pmiossec added a commit to pmiossec/gitextensions that referenced this issue Jan 21, 2022
* One for fetch operations,
* One for rebase operations,

With there own default operation setting.

Improvement over gitextensions#3923

# Conflicts:
#	GitUI/CommandsDialogs/FormBrowse.Designer.cs
#	GitUI/CommandsDialogs/FormBrowse.cs
pmiossec added a commit to pmiossec/gitextensions that referenced this issue Jan 31, 2022
* One for fetch operations,
* One for rebase operations,

With there own default operation setting.

Improvement over gitextensions#3923

# Conflicts:
#	GitUI/CommandsDialogs/FormBrowse.Designer.cs
#	GitUI/CommandsDialogs/FormBrowse.cs
pmiossec added a commit to pmiossec/gitextensions that referenced this issue Feb 4, 2022
* One for fetch operations,
* One for rebase operations,

With there own default operation setting.

Improvement over gitextensions#3923
pmiossec added a commit to pmiossec/gitextensions that referenced this issue Feb 14, 2022
* One for fetch operations,
* One for rebase operations,

With there own default operation setting.

Improvement over gitextensions#3923
pmiossec added a commit to pmiossec/gitextensions that referenced this issue Mar 14, 2022
* One for fetch operations,
* One for rebase operations,

With there own default operation setting.

Improvement over gitextensions#3923
pmiossec added a commit to pmiossec/gitextensions that referenced this issue Mar 19, 2022
* One for fetch operations,
* One for rebase operations,

With there own default operation setting.

Improvement over gitextensions#3923
pmiossec added a commit to pmiossec/gitextensions that referenced this issue Aug 5, 2022
* One for fetch operations,
* One for rebase operations,

With there own default operation setting.

Improvement over gitextensions#3923
pmiossec added a commit to pmiossec/gitextensions that referenced this issue Aug 20, 2022
* One for fetch operations,
* One for rebase operations,

With there own default operation setting.

Improvement over gitextensions#3923
pmiossec added a commit to pmiossec/gitextensions that referenced this issue Sep 1, 2022
* One for fetch operations,
* One for rebase operations,

With there own default operation setting.

Improvement over gitextensions#3923
pmiossec added a commit to pmiossec/gitextensions that referenced this issue Sep 3, 2022
* One for fetch operations,
* One for rebase operations,

With there own default operation setting.

Improvement over gitextensions#3923
pmiossec added a commit to pmiossec/gitextensions that referenced this issue Sep 3, 2022
* One for fetch operations,
* One for rebase operations,

With there own default operation setting.

Improvement over gitextensions#3923
pmiossec added a commit to pmiossec/gitextensions that referenced this issue Sep 5, 2022
* One for fetch operations,
* One for rebase operations,

With there own default operation setting.

Improvement over gitextensions#3923
pmiossec added a commit to pmiossec/gitextensions that referenced this issue Sep 6, 2022
* One for fetch operations,
* One for rebase operations,

With there own default operation setting.

Improvement over gitextensions#3923
pmiossec added a commit to pmiossec/gitextensions that referenced this issue Sep 6, 2022
* One for fetch operations,
* One for rebase operations,

With there own default operation setting.

Improvement over gitextensions#3923
pmiossec added a commit to pmiossec/gitextensions that referenced this issue Sep 11, 2022
* One for fetch operations,
* One for rebase operations,

With there own default operation setting.

Improvement over gitextensions#3923
pmiossec added a commit to pmiossec/gitextensions that referenced this issue Oct 3, 2022
* One for fetch operations,
* One for rebase operations,

With there own default operation setting.

Improvement over gitextensions#3923
pmiossec added a commit to pmiossec/gitextensions that referenced this issue Oct 6, 2022
* One for fetch operations,
* One for rebase operations,

With there own default operation setting.

Improvement over gitextensions#3923
pmiossec added a commit to pmiossec/gitextensions that referenced this issue Oct 7, 2022
* One for fetch operations,
* One for rebase operations,

With there own default operation setting.

Improvement over gitextensions#3923
pmiossec added a commit to pmiossec/gitextensions that referenced this issue Oct 10, 2022
* One for fetch operations,
* One for rebase operations,

With there own default operation setting.

Improvement over gitextensions#3923
pmiossec added a commit to pmiossec/gitextensions that referenced this issue Oct 11, 2022
* One for fetch operations,
* One for rebase operations,

With there own default operation setting.

Improvement over gitextensions#3923
pmiossec added a commit to pmiossec/gitextensions that referenced this issue Oct 25, 2022
* One for fetch operations,
* One for rebase operations,

With there own default operation setting.

Improvement over gitextensions#3923
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

8 participants