sourcegit-scm / sourcegit

Windows/macOS/Linux GUI client for GIT users
MIT License
664 stars 69 forks source link

Make the side panel scroll as a whole #237

Closed Noisyfox closed 2 weeks ago

Noisyfox commented 2 weeks ago

This works much better on small screens when repo has lots of tags and branches

side_scroll

love-linger commented 2 weeks ago

If whole panel is scrollable, virtualizing will not work. This can cause stalling when displaying a large number of lists or tree nodes.

love-linger commented 2 weeks ago

for example, this is a user's repo from issue #215, which has 1900+ tags

image

Noisyfox commented 2 weeks ago

Firstly the tags are not shown by default. Secondly they can always filter first, if they really have THAT many tags.

Noisyfox commented 2 weeks ago

My main complatination is even ignore the tags, currently the branch list cannot be properly used on small screens.

Noisyfox commented 2 weeks ago

At the moment, if you have a lot of local branches, you couldn't even see the remotes list nor submodules, not mention tags. image

love-linger commented 2 weeks ago

At the moment, if you have a lot of local branches, you couldn't even see the remotes list nor submodules, not mention tags. image

This is indeed a disaster.

For a redesign, I would focus on two things

Noisyfox commented 2 weeks ago

At the moment, if you have a lot of local branches, you couldn't even see the remotes list nor submodules, not mention tags. image

This is indeed a disaster.

For a redesign, I would focus on two things

  • Need to support virtualization so that it doesn't get stuck when there are many items
  • Each group should be easily found at any time. For example, if you are scrolling through a list with 1000+ tags, you should also be able to see the grouping of local branches in that state, rather than having to scroll back.

Yeah agreed.

love-linger commented 2 weeks ago

I've pushed a new implementation for this. You can try it with latest develop branch

Noisyfox commented 2 weeks ago

I've pushed a new implementation for this. You can try it with latest develop branch

That's much better now! Thanks! I can daily drive this instead of SourceTree now~ Fantastic work man!

love-linger commented 2 weeks ago

I've pushed a new commit for this feature. You can try the latest build