-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Add zoom function to slide show and write new usage prompts when entering the interface #17913
base: master
Are you sure you want to change the base?
Conversation
First of all; thank you for your contribution and for getting involved with development! Would you please explain a little what the added value of zooming is in the slideshow? There is no panning functionality in that view, so one could only zoom into the center of the image. Adding panning would make the slideshow more and more similar to the lighttable in preview mode. There you have further functions that might be helpful to you, like the home/end keys to go to first and last image. My understanding of the slideshow view is that is meant to provide an extremely simple interface where the chance of accidentally pressing a wrong button and getting into a state that a novice wouldn't know how to get out of is very limited. And of course it has automatic timed progression (which possibly is also not that useful if you occasionally want to zoom into a detail). In reviewing the code in this PR, I believe that locking/unlocking the mutex is not needed because both the shortcut handling and the expose function are running in the ui thread. More fundamentally, instead of implementing specific (and limited) functions to zoom in or out, you could consider creating a (hidden) slider that would allow much more flexibility in setting up shortcuts. You could then assign one key that in combination with the mouse wheel zooms in or out, adjust the speed of the shortcut, or in combination with a double click reset to 100%. Just pressing the key would give you the normal slider precision adjustment popup, where you could type in a zoom percentage. This slider could also be accessed from lua to directly set a specific percentage or read the currently active one. The code for this would be
(replacing your This would require the |
Thank you very much for your suggestion! |
Hello, I am the person who proposed to add two buttons to the slideshow interface before. After some exploration, I found that adding buttons would not make the interface as beautiful and elegant as it is now (possibly due to my limited UI design ability). Therefore, I gave up the idea of adding buttons and only added usage prompts for slideshow when entering the interface. In addition, I have added a function to zoom in and out of the projection room images, which is bound to the letter keys q and e and does not have a new write button. For my changes, my local compilation runs well without any issues and does not affect the use of the original features. I hope my contribution is accepted by you! Wishing Darktable continued success!