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

always show header of topmost module #18323

Merged
merged 1 commit into from
Feb 7, 2025

Conversation

dterrahe
Copy link
Member

@dterrahe dterrahe commented Jan 31, 2025

based on suggestion here https://discuss.pixls.us/t/shortcut-for-collapsing-active-module/47990/6?u=dterrahe

PLEASE VOTE THUMBS UP or DOWN on this OP to indicate if you would like to see this merged.

This makes sure that even for very long modules that might not fit on the screen (for example because they have a parametric mask as well) you will always see the module's header at the top even if you scroll down.

Please extensively test:

  • scrolling (with scroll wheel, dragging the scroll bar and auto scrolling that happens when the module is resized, for example when adding masks). If any of it feels strange to (excessively weird jumping or the wrong modules ending up on screen) please try to describe how to reproduce (or video!) and report.
  • expanding/collapsing modules. When doing so, the logic tries to keep the clicked-on header under the cursor when possibly several modules at the same time expand/collapse. Sometimes this is not possible (due to not enough modules below to allow scrolling up) but if you unexpected end up with a different module header under the cursor than you clicked on, please let me know (again video is best).

Thanks!

Recording.2025-01-31.111009.mp4

@todd-prior
Copy link

Again thanks for putting so much thought into this . I think if it could be set in place without too much reworking it would be a nice to have as an option but if there is a chance that it breaks things and might add to the performace burden maybe its not worth it???

@jbinpg
Copy link

jbinpg commented Jan 31, 2025

Losing drag and drop capability of modules would be a deal breaker for me. Need to do this with tone equalizer to get it above negadactor when doing black and white processing.

@dterrahe
Copy link
Member Author

Losing drag and drop capability of modules would be a deal breaker for me.

You may have misunderstood my message. Obviously this patch would not be allowed to break existing functionality. What I meant was if nobody is interested in it, I would not spend more time on fixing the issues and just abandon it.

However, I think I now have addressed both issues (the drag and drop and the collapsing top module disappearing off the panel).

@dterrahe
Copy link
Member Author

I updated the OP (with a video as well). Please comment if this is a useful effect and help test if it introduces any strange behavior.

@wpferguson
Copy link
Member

I'll test in a little while...

@todd-prior
Copy link

I'll have some time tonight or tomorrow....I am always so impressed with how you craft these changes so quickly... One thing I noted in the video and maybe again its just me thinking out loud but if the selected module could also move to the top of the list when activated there would be more default screen space under it ...in your example it would be when you activated or gave focus to the rgb curve it doesn't reposition to the top... again this might be too difficult to add in...looks good though....

@dterrahe
Copy link
Member Author

if the selected module could also move to the top of the list when activated

This is an existing option in preferences/darkroom called "scroll processing modules to the top when expanded". It makes (more) sense when "expand a single processing module at a time" is also selected. I don't like/use either option; I find the automatic minimum necessary move suits me better. But you should definitely test them in conjunction with this PR and see if it does what you like.

@dterrahe
Copy link
Member Author

I'm getting

(darktable:9314): Gtk-WARNING **: 11:52:10.175: GtkEventBox 0x55ebf0d50820 adjusted size vertical min 1 natural 1 must not decrease below min 34 natural 34

(darktable:9314): Gtk-WARNING **: 11:52:10.175: GtkEventBox 0x55ebf0d50820 attempted to adjust its size allocation from 0,33 323x34 to 0,0 323x67. adjust_size_allocation must keep allocation inside original bounds

Not sure if that affects anything visible, but will need to address it before merging.

@wpferguson
Copy link
Member

I saw something similar but the natural was 193 and the min was 207. I got it while testing a PR (I don't remember which) the first time I started darktable. I restarted and it never appeared again.

@todd-prior
Copy link

if the selected module could also move to the top of the list when activated

This is an existing option in preferences/darkroom called "scroll processing modules to the top when expanded". It makes (more) sense when "expand a single processing module at a time" is also selected. I don't like/use either option; I find the automatic minimum necessary move suits me better. But you should definitely test them in conjunction with this PR and see if it does what you like.

Will do.....

@dterrahe
Copy link
Member Author

Errors fixed.

@dterrahe dterrahe marked this pull request as draft January 31, 2025 20:39
@dterrahe
Copy link
Member Author

Pfff had not noticed at quick glance that this completely messes up collapsible sections (like in color calibration). The header is now at the bottom there...
Need to look and fix. Later.

@jenshannoschwalm
Copy link
Collaborator

Not tested myself - just watched the video - but for me this would be a clear UI improvement.

@dterrahe
Copy link
Member Author

dterrahe commented Feb 6, 2025

Issue with collapsible sections fixed.

This might be ready to go.

@dterrahe dterrahe marked this pull request as ready for review February 6, 2025 01:19
@dterrahe dterrahe changed the title RFC always show header of topmost module always show header of topmost module Feb 6, 2025
@todd-prior
Copy link

@dterrahe Sorry I have been no help with testing...crazy busy at work and buried with building this little image vault for our scopes...
PXL_20250204_045034640 RAW-01 COVER

@TurboGit TurboGit added this to the 5.2 milestone Feb 6, 2025
@TurboGit TurboGit added feature: redesign current features to rewrite scope: UI user interface and interactions documentation-pending a documentation work is required release notes: pending labels Feb 6, 2025
@dterrahe
Copy link
Member Author

dterrahe commented Feb 7, 2025

Release note:

  • when part of a module has scrolled off the top of the panel, now its header will remain visible, so it for example can be clicked on to collapse the module. This is especially useful when dealing with long modules with masks.

Copy link
Member

@TurboGit TurboGit left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Works for me, thanks!

@TurboGit TurboGit merged commit 1682e39 into darktable-org:master Feb 7, 2025
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation-pending a documentation work is required feature: redesign current features to rewrite scope: UI user interface and interactions
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants