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
Break the toolstrip #8572
Break the toolstrip #8572
Conversation
Codecov Report
@@ Coverage Diff @@
## master #8572 +/- ##
==========================================
+ Coverage 55.06% 55.10% +0.04%
==========================================
Files 901 902 +1
Lines 65156 65220 +64
Branches 11755 11753 -2
==========================================
+ Hits 35875 35939 +64
+ Misses 26504 26501 -3
- Partials 2777 2780 +3
Flags with carried forward coverage won't be shown. Click here to find out more. |
Is this the correct reference? I like the change, but I rather like to remove/add specific buttons: I hardly use the filters, but most buttons in the (new) main toolstrip (except toggle panel and hardly branches (but submodule "up"). The code looks good and works as expected, but I believe that was not what you asked for. Will continue discussion in #4952 |
👍 |
Yes, there was a discussion pertaining to breaking the main toolbar into different ones (e.g. #5525 (comment)).
This one is a good one too, 👍
This is the first step to allow users customise the toolbar - either via a coarser solution of showing/hiding toolbars, or via a fine-grainer one of showing/hiding individual buttons. |
I am not opposing the change in any way. It also requires a way to hide/show the toolbars to be really useful, as well as splitting up the toolbars further. |
I see several strategies here. |
Plugins could also register their buttons. |
Btw, the toolbars settings are stored in a local user config located somewhere like this: |
If you arrange the toolbars on the same row, and the leftmost one reduces its width, does the right one stay still or move to the left? Or in other words, if you don't want to give up any vertical screen height and you want both toolbars, will this make the experience different/worse? |
Thank you @ivangrek, can you please explain the nature of your changes? [EDIT] Also your changes introduce a number of perf regressions - LINQ is significantly more expensive and requires more allocations (for example). |
This would be the default behaviour of Windows Forms. If toolbars are sequentially positioned (i.e. no gaps) they remain together when the left one contracts or expands - this is easy to verify by switching repositories (the repositories toolbar dropdown changes width). . . .
|
This reverts commit 2be774d.
What I see as immediate low hanging fruits from here
|
needs to choice |
Would be nice to "float left" |
Just VS UX. |
Positions are normally stored for me, but not always if they are viewed or not... Mentioned in #8636 |
Due to discovered layout and placement instability of toolbars reverting most of the functionality added in gitextensions#8572. Closes gitextensions#8680
Due to discovered layout and placement instability of toolbars reverting most of the functionality added in gitextensions#8572. Closes gitextensions#8680
Due to discovered layout and placement instability of toolbars reverting most of the functionality added in gitextensions#8572. Closes gitextensions#8680
Reintroduce ability to move toolstrips (as proposed in gitextensions#8572). This implementation is heavily influenced by the original implementation ToolStripSettingsManager in Windows Forms, however we only track visibility and location of each individual toolstrip. We're also only saving specified toolstrips as opposed to saving all known toolstrips (which in various situations results in terminal failures to restore toolstrips information). There are two key changes: 1. Restore toolstrip locations after the form's geometry has been restored. This ensures the toolstrips can be placed at the same coords as they were saved. 2. Hosting ToolStripPanel's padding must be set to 0 before toolstrips' locations can be restored/saved. This mitigates dotnet/winforms#4449 Fixes gitextensions#8680 Reverts gitextensions#8719
Reintroduce ability to move toolstrips (as proposed in gitextensions#8572). This implementation is heavily influenced by the original implementation ToolStripSettingsManager in Windows Forms, however we only track visibility and location of each individual toolstrip. We're also only saving specified toolstrips as opposed to saving all known toolstrips (which in various situations results in terminal failures to restore toolstrips information). There are two key changes: 1. Restore toolstrip locations after the form's geometry has been restored. This ensures the toolstrips can be placed at the same coords as they were saved. 2. Hosting ToolStripPanel's padding must be set to 0 before toolstrips' locations can be restored/saved. This mitigates dotnet/winforms#4449 Fixes gitextensions#8680 Reverts gitextensions#8719
Reintroduce ability to move toolstrips (as proposed in gitextensions#8572). This implementation is heavily influenced by the original implementation ToolStripSettingsManager in Windows Forms, however we only track visibility and location of each individual toolstrip. We're also only saving specified toolstrips as opposed to saving all known toolstrips (which in various situations results in terminal failures to restore toolstrips information). There are two key changes: 1. Restore toolstrip locations after the form's geometry has been restored. This ensures the toolstrips can be placed at the same coords as they were saved. 2. Hosting ToolStripPanel's padding must be set to 0 before toolstrips' locations can be restored/saved. This mitigates dotnet/winforms#4449 Fixes gitextensions#8680 Reverts gitextensions#8719
Relates to #5525
Proposed changes
Screenshots
Before
After
✒️ I contribute this code under The Developer Certificate of Origin.