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

Open inspector fullscreen and exploit monitor resolution, see #1474, #5591 #5593

Merged
merged 10 commits into from
Jul 28, 2020

Conversation

rfranke
Copy link
Contributor

@rfranke rfranke commented Jan 3, 2020

Please have a look at this modification and extension. A fullscreen view was considered in #1474. Moreover, it gives crisp previews with Mac Retina and HiDPI displays, see #5591.

The changes are:

  • filecatalog.cc: add shortcuts
    'f' for image on full screen
    (the inspector window closes upon key release)
    'Shift' 'f' for 100% crop on full screen
    (synchronization with mouse move as before with dual monitors)
  • filepanel.cc: don't create inspector tab
  • inspector.cc, inspector.h:
    create separate window for inspector
    scale image if requested
    exploit device scaling for full monitor resolution under macOS

Tested under macOS 10.15.2 and Ubuntu Linux 18.04. Both scale differently. Hoping that Windows won't open yet another path.

…1#1474, Beep6581#5591

- filecatalog.cc: add shortcuts
    'f' for image on full screen
    'Shift' 'f' for 100% crop on full screen
    (synchronization with mouse move as before with dual monitors)
- filepanel.cc: don't create inspector tab
- inspector.cc, inspector.h:
    create separate window for inspector
    scale image if requested
    exploit device scaling for full monitor resolution under macOS
@heckflosse
Copy link
Collaborator

@rfranke Thanks for working on this 👍

On Windows I get a short flickering when starting RT. The borders of the inspector window appear and then disappear.

This patch fixes the flickering:

diff --git a/rtgui/inspector.cc b/rtgui/inspector.cc
index d27dd8d08..aa0a9c4ad 100644
--- a/rtgui/inspector.cc
+++ b/rtgui/inspector.cc
@@ -85,6 +85,7 @@ InspectorBuffer::~InspectorBuffer() {
 Inspector::Inspector () : currImage(nullptr), scaled(false), active(false)
 {
     set_name("Inspector");
+    window.set_visible(false);
     window.add_events(Gdk::KEY_PRESS_MASK);
     window.signal_key_release_event().connect(sigc::mem_fun(*this, &Inspector::on_key_release));
     window.set_title("RawTherapee Inspector");

@rfranke
Copy link
Contributor Author

rfranke commented Jan 3, 2020

Thank you for the test under Windows.

@heckflosse
Copy link
Collaborator

@rfranke Some thoughts:

  1. instead of closing the preview when releasing the f-key it could be closed when pressing f again

That would allow further improvents as for example:

  1. when preview is open, press z to zoom in 1:1
  2. use cursor left/right to go to previous/next image
  3. allow panning in 1:1 mode

Just ideas, what do you think?

@rfranke
Copy link
Contributor Author

rfranke commented Jan 3, 2020

The close on button release is inspired by Darktable and the latest discussion in #1474. I like this approach when preselecting photos. All navigation, ranking, inspection of exif data and the like is done in the file browser as before and one can view details on demand without many clicks -- even with just one monitor like a laptop in a hotel room.
Panning is possible with a second monitor for the inspector window by moving the mouse over the thumbnail on the first monitor.
A permanent inspector window would basically require to duplicate functionality of the file browser -- or somehow add the inspector window as second event source to existing file browser code. This sounds like more work and more code changes, but would of course be possible if it simplified the workflow.

rfranke and others added 2 commits January 3, 2020 20:25
- 2D scrolling during 1:1 view (tested with mac trackpad)
- click to pin inspector window
- another click or ESC to hide inspector window
- 'z' or 'F' to switch to 1:1 view, 'f' to switch to scaled view
@rfranke
Copy link
Contributor Author

rfranke commented Jan 4, 2020

The 'z' key works now as proposed, provided the inspector window was pinned to the monitor. Configured a mouse click for this. (specific shortcuts might need to be changed in the end to better match the overall RawTherapee concept)

Moreover I added 2D scrolling for 1:1 views. It works well with the trackpad of a MacBook. Under Linux, a mouse with scrollwheel appeared much too slow though. This is the opposite of much too fast scrolling through thumbnails on a MacBook ... a common adaptation of scroll sensitivities would be needed.

The complete list of new events:

  • 2D scrolling during 1:1 view (tested with mac trackpad)
  • click to pin inspector window
  • another click or ESC to hide inspector window
  • 'z' or 'F' to switch to 1:1 view, 'f' to switch to scaled view

- introduce step increment for non-mac
- don't close pinned window on button press anymore
@rfranke
Copy link
Contributor Author

rfranke commented Jan 12, 2020

The last commit generalises scrolling for any platform. A force-pushed update handles scroll events through the drawingarea, instead of the enclosing window, to get rid of duplicated scroll events.

- support zoom gesture and Alt scroll
@rfranke
Copy link
Contributor Author

rfranke commented Jul 25, 2020

I'm heavily using the fullscreen image view in my branch. Both: temporal popup on a laptop monitor or pinned to second external monitor.

Is there a chance to this merged?

@heckflosse
Copy link
Collaborator

@rfranke You may add your name to Development contributors section of AUTHORS.txt before I push the merge button ;-)

@heckflosse
Copy link
Collaborator

@rfranke

another click or ESC to hide inspector window

Another click does not work. ESCworks. I'm on windows, if that matters

@rfranke
Copy link
Contributor Author

rfranke commented Jul 28, 2020

I updated AUTHORS.txt.

The close on another click was removed with commit a064a22 (Support more scroll devices for inspector window) as this led to an unintended close sometimes.

@heckflosse heckflosse merged commit 6c9c603 into Beep6581:dev Jul 28, 2020
@heckflosse
Copy link
Collaborator

@rfranke Thanks for this enhancement 👍

This was referenced Feb 23, 2021
@Beep6581 Beep6581 modified the milestone: v5.10 Dec 19, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants