Loupe/data/gtk/image_page.ui
Sophie Herold e04992b46d window: Adjust to image size when opening
Give LpImage a native with that should feel nice.
When opening a new window with a new image the window size
is determined by LpImage's natural width.
The image size and EXIF data is loaded before the image such
that the window can be shown in the right dimension while
loading the actual image.
2022-12-12 15:54:24 +00:00

110 lines
4.4 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<interface>
<menu id="image_menu">
<section>
<item>
<attribute name="label" translatable="yes">_Open With…</attribute>
<attribute name="action">win.open-with</attribute>
</item>
<!--<item>
<attribute name="label" translatable="yes">_Display On…</attribute>
<attribute name="action">win.display-on</attribute>
</item>-->
<item>
<attribute name="label" translatable="yes">_Print…</attribute>
<attribute name="action">win.print</attribute>
</item>
<item>
<attribute name="label" translatable="yes">_Copy</attribute>
<attribute name="action">win.copy</attribute>
</item>
</section>
<section>
<attribute name="label" translatable="yes">Rotate</attribute>
<attribute name="display-hint">inline-buttons</attribute>
<item>
<attribute name="custom">rotate-left</attribute>
</item>
<item>
<attribute name="custom">rotate-right</attribute>
</item>
</section>
<section>
<item>
<attribute name="label" translatable="yes">_Set as Background…</attribute>
<attribute name="action">win.set-background</attribute>
</item>
</section>
</menu>
<template class="LpImagePage" parent="AdwBin">
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="child">
<object class="GtkStack" id="stack">
<property name="transition-type">crossfade</property>
<child>
<object class="GtkSpinner" id="spinner">
<property name="halign">center</property>
<property name="valign">center</property>
<property name="spinning">True</property>
</object>
</child>
<child>
<object class="AdwStatusPage" id="error_page">
<property name="icon-name">image-missing-symbolic</property>
<property name="title" translatable="yes">Could not Load Image</property>
<property name="description" bind-source="LpImagePage" bind-property="error"/>
</object>
</child>
<child>
<object class="GtkScrolledWindow" id="scrolled_window">
<property name="propagate-natural-height">True</property>
<property name="propagate-natural-width">True</property>
<property name="child">
<object class="LpImage" id="image">
<child>
<object class="GtkGestureClick" id="click_gesture">
<property name="button">3</property>
</object>
</child>
<child>
<object class="GtkGestureLongPress" id="press_gesture">
<property name="touch-only">True</property>
</object>
</child>
<child>
<object class="GtkPopoverMenu" id="popover">
<property name="has-arrow">False</property>
<property name="menu-model">image_menu</property>
<child type="rotate-left">
<object class="GtkButton">
<property name="icon-name">object-rotate-left-symbolic</property>
<property name="tooltip-text" translatable="yes">Rotate Left</property>
<property name="action-name">win.rotate</property>
<property name="action-target">-90.0</property>
<style>
<class name="flat" />
</style>
</object>
</child>
<child type="rotate-right">
<object class="GtkButton">
<property name="icon-name">object-rotate-right-symbolic</property>
<property name="tooltip-text" translatable="yes">Rotate Right</property>
<property name="action-name">win.rotate</property>
<property name="action-target">90.0</property>
<style>
<class name="flat" />
</style>
</object>
</child>
</object>
</child>
</object>
</property>
</object>
</child>
</object>
</property>
</template>
</interface>