Loupe/data/gtk/image_view.ui
Sophie Herold 36000ff65c window: Put prev/next accels at window level
Tried to make things more stateless and RefCell usage for robust
- Use object properties to control the action enabled/disabled
- Borrow model RefCell for only one line or use .replace()
- Don't pass models around and borrow as short as possible instead

Fixes #20
2022-12-16 18:27:45 +00:00

109 lines
4.6 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<interface>
<template class="LpImageView" parent="AdwBin">
<property name="css-name">imageview</property>
<property name="focusable">True</property>
<property name="focus-on-click">True</property>
<property name="child">
<object class="GtkOverlay" id="bin_child">
<property name="hexpand">True</property>
<child>
<object class="AdwCarousel" id="carousel">
<property name="interactive">True</property>
<property name="allow-mouse-drag">False</property>
<property name="allow-scroll-wheel">False</property>
<signal name="page-changed" handler="page_changed_cb" swapped="yes"/>
</object>
</child>
<child type="overlay">
<object class="GtkBox" id="controls_box_start">
<property name="valign">end</property>
<property name="halign">start</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>
<property name="spacing">12</property>
<child>
<object class="GtkButton" id="prev_button">
<property name="halign">start</property>
<property name="icon-name">go-previous-symbolic</property>
<property name="action-name">win.previous</property>
<property name="tooltip-text" translatable="yes">Previous Image</property>
<style>
<class name="osd"/>
<class name="circular"/>
</style>
</object>
</child>
<child>
<object class="GtkButton" id="next_button">
<property name="icon-name">go-next-symbolic</property>
<property name="action-name">win.next</property>
<property name="tooltip-text" translatable="yes">Next Image</property>
<style>
<class name="osd"/>
<class name="circular"/>
</style>
</object>
</child>
</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>
<property name="spacing">12</property>
<child>
<object class="GtkButton" id="fullscreen_button">
<property name="halign">end</property>
<binding name="icon-name">
<closure type="gchararray" function="get_fullscreen_icon">
<lookup type="GtkWindow" name="fullscreened">
<lookup type="GtkWidget" name="root">LpImageView</lookup>
</lookup>
</closure>
</binding>
<property name="action-name">win.toggle-fullscreen</property>
<property name="tooltip-text" translatable="yes">Toggle Fullscreen</property>
<style>
<class name="osd"/>
<class name="circular"/>
</style>
</object>
</child>
<child>
<object class="GtkButton" id="zoom_out">
<property name="icon-name">zoom-out-symbolic</property>
<property name="action-name">win.zoom-out</property>
<property name="tooltip-text" translatable="yes">Zoom Out</property>
<style>
<class name="osd"/>
<class name="circular"/>
</style>
</object>
</child>
<child>
<object class="GtkButton" id="zoom_in">
<property name="icon-name">zoom-in-symbolic</property>
<property name="action-name">win.zoom-in</property>
<property name="tooltip-text" translatable="yes">Zoom In</property>
<style>
<class name="osd"/>
<class name="circular"/>
</style>
</object>
</child>
</object>
</child>
</object>
</property>
<style>
<class name="image-view"/>
</style>
</template>
</interface>