window: Add missing shortcuts

Add shortcuts
- F9 Image properties
- F10 Main menu
- Ctrl +/- for zoom
- Ctrl 0 for best fit
- Ctrl [Shift] R for rotate
- Escape to leave fullscrenen
Updated help overlay accordingly.
This commit is contained in:
Sophie Herold 2022-11-23 19:12:19 +01:00
parent 583794a3ec
commit f1593203a0
5 changed files with 200 additions and 14 deletions

View file

@ -14,44 +14,162 @@
<property name="accelerator">F10</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="title" translatable="yes" context="shortcut window">Toggle Image Properties</property>
<property name="action-name">win.toggle-properties</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="title" translatable="yes" context="shortcut window">Toggle Fullscreen</property>
<property name="action-name">win.toggle-fullscreen</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="title" translatable="yes" context="shortcut window">Leave Fullscreen</property>
<property name="action-name">win.leave-fullscreen</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="title" translatable="yes" context="shortcut window">New Window</property>
<property name="accelerator">&lt;Primary&gt;n</property>
<property name="action-name">app.new-window</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="title" translatable="yes" context="shortcut window">Open Help</property>
<property name="accelerator">F1</property>
<property name="action-name">app.help</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="title" translatable="yes" context="shortcut window">Show Keyboard Shortcuts</property>
<property name="accelerator">&lt;Primary&gt;question</property>
<property name="action-name">win.show-help-overlay</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="title" translatable="yes" context="shortcut window">Close Window</property>
<property name="action-name">window.close</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="title" translatable="yes" context="shortcut window">Quit</property>
<property name="accelerator">&lt;Primary&gt;q</property>
<property name="action-name">app.quit</property>
</object>
</child>
</object>
</child>
<child>
<object class="GtkShortcutsGroup">
<property name="title" translatable="yes" context="shortcut window">Navigate Images</property>
<!-- TODO: All these need RTL support -->
<child>
<object class="GtkShortcutsShortcut">
<property name="title" translatable="yes" context="shortcut window">Next Image</property>
<property name="shortcut-type">gesture-two-finger-swipe-right</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="title" translatable="yes" context="shortcut window">Show with orginal scale</property>
<property name="title" translatable="yes" context="shortcut window">Previous Image</property>
<property name="shortcut-type">gesture-two-finger-swipe-left</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="title" translatable="yes" context="shortcut window">Next Image</property>
<property name="accelerator">Right</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="title" translatable="yes" context="shortcut window">Previous Image</property>
<property name="accelerator">Left</property>
</object>
</child>
</object>
</child>
<child>
<object class="GtkShortcutsGroup">
<property name="title" translatable="yes" context="shortcut window">Zoom Image</property>
<child>
<object class="GtkShortcutsShortcut">
<property name="title" translatable="yes" context="shortcut window">Zoom In</property>
<property name="shortcut-type">gesture-stretch</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="title" translatable="yes" context="shortcut window">Zoom Out</property>
<property name="shortcut-type">gesture-pinch</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="title" translatable="yes" context="shortcut window">Zoom In</property>
<property name="accelerator">&lt;Ctrl&gt;plus plus</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="title" translatable="yes" context="shortcut window">Zoom Out</property>
<property name="accelerator">&lt;Ctrl&gt;minus minus</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="title" translatable="yes" context="shortcut window">Best Fit</property>
<property name="action-name">win.zoom-best-fit</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="title" translatable="yes" context="shortcut window">Original Scale</property>
<property name="accelerator">1</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="title" translatable="yes" context="shortcut window">Show with 200% of orginal scale</property>
<property name="title" translatable="yes" context="shortcut window">200% Scale</property>
<property name="accelerator">2</property>
</object>
</child>
</object>
</child>
<child>
<object class="GtkShortcutsGroup">
<property name="title" translatable="yes" context="shortcut window">Rotate Image</property>
<child>
<object class="GtkShortcutsShortcut">
<property name="title" translatable="yes" context="shortcut window">Rotate Clockwise</property>
<property name="shortcut-type">gesture-rotate-clockwise</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="title" translatable="yes" context="shortcut window">Rotate Counterclockwise</property>
<property name="shortcut-type">gesture-rotate-counterclockwise</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="title" translatable="yes" context="shortcut window">Rotate Clockwise</property>
<property name="accelerator">&lt;Ctrl&gt;R</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="title" translatable="yes" context="shortcut window">Rotate Counterclockwise</property>
<property name="accelerator">&lt;Ctrl&gt;&lt;Shift&gt;R</property>
</object>
</child>
</object>
</child>
</object>
</child>
</object>

View file

@ -121,11 +121,24 @@
</child>
</object>
</property>
<child>
<!-- Set the shortcut here since it only makes sense if the button is visible -->
<object class="GtkShortcutController">
<property name="scope">managed</property>
<child>
<object class="GtkShortcut">
<property name="trigger">F10</property>
<property name="action">activate</property>
</object>
</child>
</object>
</child>
</object>
</child>
<child type="end">
<object class="GtkToggleButton" id="properties_button">
<property name="icon-name">help-about-symbolic</property>
<property name="tooltip-text" translatable="yes">Image Properties</property>
</object>
</child>
</object>