2020-12-26 02:05:34 -08:00
|
|
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
|
|
<interface>
|
2021-12-21 10:55:02 -08:00
|
|
|
|
<template class="LpImageView" parent="AdwBin">
|
2020-12-26 02:05:34 -08:00
|
|
|
|
<property name="css-name">imageview</property>
|
2021-09-05 05:51:34 -07:00
|
|
|
|
<property name="focusable">True</property>
|
2021-09-14 19:48:24 -07:00
|
|
|
|
<property name="focus-on-click">True</property>
|
2021-01-23 23:36:28 -08:00
|
|
|
|
<property name="child">
|
2022-11-16 20:14:39 +01:00
|
|
|
|
<object class="GtkOverlay" id="bin_child">
|
2020-12-26 02:05:34 -08:00
|
|
|
|
<property name="hexpand">True</property>
|
|
|
|
|
|
<child>
|
2023-11-29 20:15:42 +01:00
|
|
|
|
<object class="LpSlidingView" id="sliding_view" />
|
2022-01-19 23:11:38 -08:00
|
|
|
|
</child>
|
|
|
|
|
|
<child type="overlay">
|
2022-11-10 19:39:23 +01:00
|
|
|
|
<object class="GtkBox" id="controls_box_start">
|
2022-06-29 21:12:12 -04:00
|
|
|
|
<property name="valign">end</property>
|
2022-11-10 19:39:23 +01:00
|
|
|
|
<property name="halign">start</property>
|
2022-07-10 19:39:03 -04:00
|
|
|
|
<property name="margin-start">18</property>
|
|
|
|
|
|
<property name="margin-end">18</property>
|
|
|
|
|
|
<property name="margin-top">18</property>
|
2022-06-29 21:12:12 -04:00
|
|
|
|
<property name="margin-bottom">18</property>
|
2024-09-09 22:55:39 +02:00
|
|
|
|
<property name="spacing">6</property>
|
|
|
|
|
|
<style>
|
|
|
|
|
|
<class name="osd-box" />
|
|
|
|
|
|
</style>
|
2022-06-29 21:12:12 -04:00
|
|
|
|
<child>
|
|
|
|
|
|
<object class="GtkButton" id="prev_button">
|
2022-07-10 19:39:03 -04:00
|
|
|
|
<property name="halign">start</property>
|
2022-06-29 21:12:12 -04:00
|
|
|
|
<property name="icon-name">go-previous-symbolic</property>
|
2022-12-06 18:24:32 +01:00
|
|
|
|
<property name="action-name">win.previous</property>
|
2022-06-29 21:12:12 -04:00
|
|
|
|
<property name="tooltip-text" translatable="yes">Previous Image</property>
|
|
|
|
|
|
<style>
|
2024-09-09 22:55:39 +02:00
|
|
|
|
<class name="flat" />
|
2022-06-29 21:12:12 -04:00
|
|
|
|
</style>
|
|
|
|
|
|
</object>
|
|
|
|
|
|
</child>
|
|
|
|
|
|
<child>
|
|
|
|
|
|
<object class="GtkButton" id="next_button">
|
|
|
|
|
|
<property name="icon-name">go-next-symbolic</property>
|
2022-12-06 18:24:32 +01:00
|
|
|
|
<property name="action-name">win.next</property>
|
2022-06-29 21:12:12 -04:00
|
|
|
|
<property name="tooltip-text" translatable="yes">Next Image</property>
|
|
|
|
|
|
<style>
|
2024-09-09 22:55:39 +02:00
|
|
|
|
<class name="flat" />
|
2022-06-29 21:12:12 -04:00
|
|
|
|
</style>
|
|
|
|
|
|
</object>
|
|
|
|
|
|
</child>
|
2023-04-20 02:32:41 +02:00
|
|
|
|
<child>
|
|
|
|
|
|
<object class="GtkEventControllerMotion" id="controls_box_start_events" />
|
|
|
|
|
|
</child>
|
2022-11-10 19:39:23 +01:00
|
|
|
|
</object>
|
|
|
|
|
|
</child>
|
|
|
|
|
|
<child type="overlay">
|
|
|
|
|
|
<object class="GtkBox" id="controls_box_end">
|
|
|
|
|
|
<property name="valign">end</property>
|
|
|
|
|
|
<property name="halign">end</property>
|
|
|
|
|
|
<property name="margin-start">18</property>
|
|
|
|
|
|
<property name="margin-end">18</property>
|
|
|
|
|
|
<property name="margin-top">18</property>
|
|
|
|
|
|
<property name="margin-bottom">18</property>
|
2024-09-09 22:55:39 +02:00
|
|
|
|
<style>
|
|
|
|
|
|
<class name="osd-box" />
|
|
|
|
|
|
</style>
|
|
|
|
|
|
|
2022-11-10 19:39:23 +01:00
|
|
|
|
<child>
|
2024-09-09 22:55:39 +02:00
|
|
|
|
<object class="GtkRevealer">
|
|
|
|
|
|
<property name="reveal-child" bind-source="LpImageView" bind-property="zoom-toggle-state" bind-flags="sync-create" />
|
|
|
|
|
|
<property name="transition-type">slide-left</property>
|
|
|
|
|
|
<child>
|
|
|
|
|
|
<object class="GtkBox">
|
|
|
|
|
|
<property name="spacing">6</property>
|
|
|
|
|
|
<child>
|
|
|
|
|
|
<object class="GtkButton" id="zoom_out">
|
|
|
|
|
|
<property name="icon-name">minus-symbolic</property>
|
|
|
|
|
|
<property name="action-name">win.zoom-out-center</property>
|
|
|
|
|
|
<property name="tooltip-text" translatable="yes">Zoom Out</property>
|
|
|
|
|
|
<style>
|
|
|
|
|
|
<class name="flat" />
|
|
|
|
|
|
</style>
|
|
|
|
|
|
</object>
|
|
|
|
|
|
</child>
|
|
|
|
|
|
<child>
|
|
|
|
|
|
<object class="GtkButton" id="zoom_in">
|
|
|
|
|
|
<property name="margin-end">6</property>
|
|
|
|
|
|
<property name="icon-name">plus-symbolic</property>
|
|
|
|
|
|
<property name="action-name">win.zoom-in-center</property>
|
|
|
|
|
|
<property name="tooltip-text" translatable="yes">Zoom In</property>
|
|
|
|
|
|
<style>
|
|
|
|
|
|
<class name="flat" />
|
|
|
|
|
|
</style>
|
|
|
|
|
|
</object>
|
|
|
|
|
|
</child>
|
|
|
|
|
|
</object>
|
|
|
|
|
|
</child>
|
2022-11-10 19:39:23 +01:00
|
|
|
|
</object>
|
|
|
|
|
|
</child>
|
|
|
|
|
|
<child>
|
2024-09-09 22:55:39 +02:00
|
|
|
|
<object class="GtkToggleButton" id="zoom_toggle">
|
|
|
|
|
|
<property name="margin-end">6</property>
|
|
|
|
|
|
<property name="icon-name">zoom-toggle-symbolic</property>
|
|
|
|
|
|
<property name="active" bind-source="LpImageView" bind-property="zoom-toggle-state" bind-flags="sync-create" />
|
|
|
|
|
|
<property name="tooltip-text" translatable="yes">Toggle Zoom</property>
|
2022-11-10 19:39:23 +01:00
|
|
|
|
<style>
|
2024-09-09 22:55:39 +02:00
|
|
|
|
<class name="flat" />
|
2022-11-10 19:39:23 +01:00
|
|
|
|
</style>
|
|
|
|
|
|
</object>
|
|
|
|
|
|
</child>
|
2023-04-20 22:18:21 +02:00
|
|
|
|
<child>
|
2024-09-09 22:55:39 +02:00
|
|
|
|
<object class="GtkMenuButton" id="zoom_menu_button">
|
|
|
|
|
|
<property name="tooltip-text" translatable="yes">Zoom to Specific Level</property>
|
|
|
|
|
|
<property name="direction">up</property>
|
|
|
|
|
|
<property name="icon-name">pan-down-symbolic</property>
|
2023-04-20 22:18:21 +02:00
|
|
|
|
<style>
|
2024-09-09 22:55:39 +02:00
|
|
|
|
<class name="flat" />
|
2023-04-20 22:18:21 +02:00
|
|
|
|
</style>
|
2024-09-09 22:55:39 +02:00
|
|
|
|
<property name="popover">
|
|
|
|
|
|
<!--
|
|
|
|
|
|
Use manual implementation instead of GtkPopoverMenu because:
|
|
|
|
|
|
1. We need to specify the shortcuts manually since called from the menu the zoom does not aim for the cursor.
|
|
|
|
|
|
2. Hovering other menu entries would steal the focus from the GtkEntry.
|
|
|
|
|
|
-->
|
|
|
|
|
|
<object class="GtkPopover">
|
|
|
|
|
|
<property name="default-widget">submit_zoom</property>
|
|
|
|
|
|
<style>
|
|
|
|
|
|
<class name="menu" />
|
|
|
|
|
|
</style>
|
|
|
|
|
|
<property name="child">
|
|
|
|
|
|
<object class="GtkBox">
|
|
|
|
|
|
<property name="orientation">vertical</property>
|
|
|
|
|
|
<property name="margin-top">6</property>
|
|
|
|
|
|
<property name="margin-end">6</property>
|
|
|
|
|
|
<property name="margin-bottom">6</property>
|
|
|
|
|
|
<property name="margin-start">6</property>
|
|
|
|
|
|
<property name="spacing">6</property>
|
|
|
|
|
|
<child>
|
|
|
|
|
|
<object class="GtkListBox" id="zoom_to_list">
|
|
|
|
|
|
<child>
|
|
|
|
|
|
<object class="GtkListBoxRow" id="zoom_to_300">
|
|
|
|
|
|
<property name="child">
|
|
|
|
|
|
<object class="GtkBox">
|
|
|
|
|
|
<child>
|
|
|
|
|
|
<object class="GtkLabel">
|
|
|
|
|
|
<property name="halign">start</property>
|
|
|
|
|
|
<property name="label">300 %</property>
|
|
|
|
|
|
</object>
|
|
|
|
|
|
</child>
|
|
|
|
|
|
<child>
|
|
|
|
|
|
<object class="GtkLabel">
|
|
|
|
|
|
<property name="halign">end</property>
|
|
|
|
|
|
<property name="hexpand">true</property>
|
|
|
|
|
|
<property name="label">Ctrl+3</property>
|
|
|
|
|
|
<style>
|
|
|
|
|
|
<class name="dim-label" />
|
|
|
|
|
|
</style>
|
|
|
|
|
|
</object>
|
|
|
|
|
|
</child>
|
|
|
|
|
|
</object>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
</object>
|
|
|
|
|
|
</child>
|
|
|
|
|
|
<child>
|
|
|
|
|
|
<object class="GtkListBoxRow" id="zoom_to_200">
|
|
|
|
|
|
<property name="child">
|
|
|
|
|
|
<object class="GtkBox">
|
|
|
|
|
|
<child>
|
|
|
|
|
|
<object class="GtkLabel">
|
|
|
|
|
|
<property name="halign">start</property>
|
|
|
|
|
|
<property name="label">200 %</property>
|
|
|
|
|
|
</object>
|
|
|
|
|
|
</child>
|
|
|
|
|
|
<child>
|
|
|
|
|
|
<object class="GtkLabel">
|
|
|
|
|
|
<property name="halign">end</property>
|
|
|
|
|
|
<property name="hexpand">true</property>
|
|
|
|
|
|
<property name="label">Ctrl+2</property>
|
|
|
|
|
|
<style>
|
|
|
|
|
|
<class name="dim-label" />
|
|
|
|
|
|
</style>
|
|
|
|
|
|
</object>
|
|
|
|
|
|
</child>
|
|
|
|
|
|
</object>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
</object>
|
|
|
|
|
|
</child>
|
|
|
|
|
|
<child>
|
|
|
|
|
|
<object class="GtkListBoxRow" id="zoom_to_100">
|
|
|
|
|
|
<property name="child">
|
|
|
|
|
|
<object class="GtkBox">
|
|
|
|
|
|
<child>
|
|
|
|
|
|
<object class="GtkLabel">
|
|
|
|
|
|
<property name="halign">start</property>
|
|
|
|
|
|
<property name="label">100 %</property>
|
|
|
|
|
|
</object>
|
|
|
|
|
|
</child>
|
|
|
|
|
|
<child>
|
|
|
|
|
|
<object class="GtkLabel">
|
|
|
|
|
|
<property name="halign">end</property>
|
|
|
|
|
|
<property name="hexpand">true</property>
|
|
|
|
|
|
<property name="label">Ctrl+1</property>
|
|
|
|
|
|
<style>
|
|
|
|
|
|
<class name="dim-label" />
|
|
|
|
|
|
</style>
|
|
|
|
|
|
</object>
|
|
|
|
|
|
</child>
|
|
|
|
|
|
</object>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
</object>
|
|
|
|
|
|
</child>
|
|
|
|
|
|
<child>
|
|
|
|
|
|
<object class="GtkListBoxRow" id="zoom_to_66">
|
|
|
|
|
|
<property name="child">
|
|
|
|
|
|
<object class="GtkLabel">
|
|
|
|
|
|
<property name="halign">start</property>
|
|
|
|
|
|
<property name="label">66 %</property>
|
|
|
|
|
|
</object>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
</object>
|
|
|
|
|
|
</child>
|
|
|
|
|
|
<child>
|
|
|
|
|
|
<object class="GtkListBoxRow" id="zoom_to_50">
|
|
|
|
|
|
<property name="child">
|
|
|
|
|
|
<object class="GtkLabel">
|
|
|
|
|
|
<property name="halign">start</property>
|
|
|
|
|
|
<property name="label">50 %</property>
|
|
|
|
|
|
</object>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
</object>
|
|
|
|
|
|
</child>
|
|
|
|
|
|
</object>
|
|
|
|
|
|
</child>
|
|
|
|
|
|
<child>
|
|
|
|
|
|
<object class="GtkBox">
|
|
|
|
|
|
<property name="spacing">12</property>
|
|
|
|
|
|
<child>
|
|
|
|
|
|
<object class="GtkEntry" id="zoom_value">
|
|
|
|
|
|
<property name="activates-default">True</property>
|
|
|
|
|
|
<property name="input-purpose">number</property>
|
|
|
|
|
|
<property name="max-width-chars">8</property>
|
|
|
|
|
|
<property name="tooltip-text">Custom Zoom Level</property>
|
|
|
|
|
|
</object>
|
|
|
|
|
|
</child>
|
|
|
|
|
|
<child>
|
|
|
|
|
|
<object class="GtkButton" id="submit_zoom">
|
2024-09-17 13:40:42 +01:00
|
|
|
|
<property name="icon-name">check-plain-symbolic</property>
|
2024-09-09 22:55:39 +02:00
|
|
|
|
<property name="tooltip-text">Zoom to Specified Level</property>
|
|
|
|
|
|
<style>
|
|
|
|
|
|
<class name="suggested-action" />
|
|
|
|
|
|
<class name="circular" />
|
|
|
|
|
|
</style>
|
|
|
|
|
|
</object>
|
|
|
|
|
|
</child>
|
|
|
|
|
|
</object>
|
|
|
|
|
|
</child>
|
|
|
|
|
|
</object>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
</object>
|
|
|
|
|
|
</property>
|
2023-04-20 22:18:21 +02:00
|
|
|
|
</object>
|
|
|
|
|
|
</child>
|
2023-04-20 02:32:41 +02:00
|
|
|
|
<child>
|
|
|
|
|
|
<object class="GtkEventControllerMotion" id="controls_box_end_events" />
|
|
|
|
|
|
</child>
|
2020-12-26 02:05:34 -08:00
|
|
|
|
</object>
|
|
|
|
|
|
</child>
|
|
|
|
|
|
</object>
|
2021-01-23 23:36:28 -08:00
|
|
|
|
</property>
|
2020-12-26 02:05:34 -08:00
|
|
|
|
<style>
|
2023-11-28 22:02:30 +01:00
|
|
|
|
<class name="image-view" />
|
2020-12-26 02:05:34 -08:00
|
|
|
|
</style>
|
|
|
|
|
|
</template>
|
2024-09-09 22:55:39 +02:00
|
|
|
|
</interface>
|