parent
d2ff86f7a5
commit
5a905cd53f
11 changed files with 10 additions and 10 deletions
|
|
@ -33,7 +33,7 @@ mod imp {
|
|||
use super::*;
|
||||
|
||||
#[derive(Debug, Default, CompositeTemplate)]
|
||||
#[template(file = "../../data/gtk/image_page.ui")]
|
||||
#[template(file = "image_page.ui")]
|
||||
pub struct LpImagePage {
|
||||
#[template_child]
|
||||
pub(super) stack: TemplateChild<gtk::Stack>,
|
||||
|
|
|
|||
122
src/widgets/image_page.ui
Normal file
122
src/widgets/image_page.ui
Normal file
|
|
@ -0,0 +1,122 @@
|
|||
<?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="AdwBin" id="spinner_page">
|
||||
<property name="hexpand">true</property>
|
||||
<property name="vexpand">true</property>
|
||||
<child>
|
||||
<object class="GtkSpinner" id="spinner">
|
||||
<property name="height-request">24</property>
|
||||
<property name="width-request">24</property>
|
||||
<property name="halign">center</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="spinning">True</property>
|
||||
</object>
|
||||
</child>
|
||||
</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="image" bind-property="error"/>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkBox" id="image_stack_page">
|
||||
<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="right_click_gesture">
|
||||
<property name="button">3</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkGestureLongPress" id="press_gesture">
|
||||
<property name="touch-only">True</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkPopoverMenu" id="popover">
|
||||
<property name="halign">start</property>
|
||||
<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_ccw</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_cw</property>
|
||||
<style>
|
||||
<class name="flat"/>
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</property>
|
||||
</template>
|
||||
</interface>
|
||||
|
||||
|
|
@ -58,7 +58,7 @@ mod imp {
|
|||
use super::*;
|
||||
|
||||
#[derive(Debug, Default, CompositeTemplate)]
|
||||
#[template(file = "../../data/gtk/image_view.ui")]
|
||||
#[template(file = "image_view.ui")]
|
||||
pub struct LpImageView {
|
||||
/// Direct child of this Adw::Bin
|
||||
#[template_child]
|
||||
|
|
|
|||
113
src/widgets/image_view.ui
Normal file
113
src/widgets/image_view.ui
Normal file
|
|
@ -0,0 +1,113 @@
|
|||
<?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="LpSlidingView" id="sliding_view">
|
||||
<signal name="notify::current-page" handler="page_changed_cb" swapped="yes"/>
|
||||
<signal name="target-page-reached" handler="target_page_reached_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>
|
||||
<child>
|
||||
<object class="GtkEventControllerMotion" id="controls_box_start_events" />
|
||||
</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="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>
|
||||
<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="GtkEventControllerMotion" id="controls_box_end_events" />
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</property>
|
||||
<style>
|
||||
<class name="image-view"/>
|
||||
</style>
|
||||
</template>
|
||||
</interface>
|
||||
|
|
@ -211,7 +211,7 @@ mod imp {
|
|||
use super::*;
|
||||
|
||||
#[derive(Debug, Default, CompositeTemplate, Properties)]
|
||||
#[template(file = "../../data/gtk/print.ui")]
|
||||
#[template(file = "print.ui")]
|
||||
#[properties(wrapper_type = super::LpPrint)]
|
||||
pub struct LpPrint {
|
||||
#[template_child]
|
||||
|
|
|
|||
190
src/widgets/print.ui
Normal file
190
src/widgets/print.ui
Normal file
|
|
@ -0,0 +1,190 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<interface>
|
||||
<template class="LpPrint" parent="AdwWindow">
|
||||
<property name="default-width">900</property>
|
||||
<property name="default-height">650</property>
|
||||
<child>
|
||||
<object class="GtkShortcutController">
|
||||
<property name="scope">managed</property>
|
||||
<child>
|
||||
<object class="GtkShortcut">
|
||||
<property name="trigger">Escape|<Ctrl>w</property>
|
||||
<property name="action">action(window.close)</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<property name="content">
|
||||
<object class="AdwToolbarView">
|
||||
<property name="top-bar-style">raised</property>
|
||||
<child type="top">
|
||||
<object class="AdwHeaderBar">
|
||||
<property name="show-start-title-buttons">false</property>
|
||||
<property name="show-end-title-buttons">false</property>
|
||||
<property name="title-widget">
|
||||
<object class="AdwWindowTitle" id="title" />
|
||||
</property>
|
||||
<child type="start">
|
||||
<object class="GtkButton">
|
||||
<property name="label" translatable="yes" comments="Translators: Go back to previous page">Back</property>
|
||||
<property name="action-name">print.back</property>
|
||||
<property name="can-shrink">true</property>
|
||||
</object>
|
||||
</child>
|
||||
<child type="end">
|
||||
<object class="GtkButton">
|
||||
<property name="label" translatable="yes">Print</property>
|
||||
<property name="action-name">print.print</property>
|
||||
<property name="can-shrink">true</property>
|
||||
<style>
|
||||
<class name="suggested-action" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<property name="content">
|
||||
<object class="AdwOverlaySplitView">
|
||||
<property name="sidebar">
|
||||
<object class="AdwPreferencesPage">
|
||||
<property name="halign">start</property>
|
||||
<property name="width-request">300</property>
|
||||
<child>
|
||||
<object class="AdwPreferencesGroup">
|
||||
<property name="title" translatable="yes">Layout</property>
|
||||
<child>
|
||||
<object class="AdwActionRow">
|
||||
<property name="title" translatable="yes">Orientation</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="valign">center</property>
|
||||
<style>
|
||||
<class name="linked" />
|
||||
</style>
|
||||
<child>
|
||||
<object class="GtkToggleButton">
|
||||
<property name="icon-name">page-orientation-portrait-symbolic</property>
|
||||
<property name="action-name">print.orientation</property>
|
||||
<property name="action-target">"portrait"</property>
|
||||
<property name="tooltip-text" translatable="yes">Portrait Page Orientation</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkToggleButton">
|
||||
<property name="icon-name">page-orientation-landscape-symbolic</property>
|
||||
<property name="action-name">print.orientation</property>
|
||||
<property name="action-target">"landscape"</property>
|
||||
<property name="tooltip-text" translatable="yes">Landscape Page Orientation</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="AdwComboRow" id="alignment">
|
||||
<property name="title" translatable="yes">Alignment</property>
|
||||
<property name="model">
|
||||
<object class="GtkStringList">
|
||||
<items>
|
||||
<item>center</item>
|
||||
<item>top</item>
|
||||
<item>bottom</item>
|
||||
<item>left</item>
|
||||
<item>right</item>
|
||||
</items>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="AdwPreferencesGroup">
|
||||
<property name="title" translatable="yes">Margins</property>
|
||||
<property name="header-suffix">
|
||||
<object class="GtkDropDown" id="margin_unit">
|
||||
<property name="tooltip-text" translatable="yes">Margin Units</property>
|
||||
<style>
|
||||
<class name="flat"/>
|
||||
</style>
|
||||
<property name="model">
|
||||
<object class="GtkStringList">
|
||||
<items>
|
||||
<item>cm</item>
|
||||
<item>in</item>
|
||||
<item>px</item>
|
||||
</items>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</property>
|
||||
<child>
|
||||
<object class="AdwSpinRow" id="margin_horizontal">
|
||||
<property name="title" translatable="yes">Horizontal</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="AdwSpinRow" id="margin_vertical">
|
||||
<property name="title" translatable="yes">Vertical</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="AdwPreferencesGroup">
|
||||
<property name="title" translatable="yes">Image Size</property>
|
||||
<property name="header-suffix">
|
||||
<object class="GtkDropDown" id="size_unit">
|
||||
<property name="tooltip-text" translatable="yes">Image Size Units</property>"
|
||||
<style>
|
||||
<class name="flat"/>
|
||||
</style>
|
||||
<property name="model">
|
||||
<object class="GtkStringList">
|
||||
<items>
|
||||
<item>cm</item>
|
||||
<item>in</item>
|
||||
<item>px</item>
|
||||
<item>%</item>
|
||||
</items>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</property>
|
||||
<child>
|
||||
<object class="AdwSwitchRow" id="fill_space">
|
||||
<property name="title" translatable="yes">Fill Space</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="AdwSpinRow" id="width">
|
||||
<property name="title" translatable="yes">Width</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="AdwSpinRow" id="height">
|
||||
<property name="title" translatable="yes">Height</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</property>
|
||||
<property name="content">
|
||||
<object class="LpPrintPreview" id="preview">
|
||||
<property name="vexpand">true</property>
|
||||
<property name="hexpand">true</property>
|
||||
<property name="width-request">260</property>
|
||||
<property name="height-request">260</property>
|
||||
<binding name="print">
|
||||
<constant>LpPrint</constant>
|
||||
</binding>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</property>
|
||||
</template>
|
||||
</interface>
|
||||
|
|
@ -38,7 +38,7 @@ mod imp {
|
|||
use super::*;
|
||||
|
||||
#[derive(Debug, Default, CompositeTemplate)]
|
||||
#[template(file = "../../data/gtk/properties_view.ui")]
|
||||
#[template(file = "properties_view.ui")]
|
||||
pub struct LpPropertiesView {
|
||||
pub(super) file: RefCell<Option<glib::WeakRef<gio::File>>>,
|
||||
pub(super) image: RefCell<Option<glib::WeakRef<LpImage>>>,
|
||||
|
|
|
|||
306
src/widgets/properties_view.ui
Normal file
306
src/widgets/properties_view.ui
Normal file
|
|
@ -0,0 +1,306 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<interface>
|
||||
<template class="LpPropertiesView" parent="AdwBin">
|
||||
<property name="width-request">255</property>
|
||||
<binding name="metadata">
|
||||
<lookup type="LpImage" name="metadata">
|
||||
<lookup type="LpPropertiesView" name="image"/>
|
||||
</lookup>
|
||||
</binding>
|
||||
<binding name="file">
|
||||
<lookup type="LpImage" name="file">
|
||||
<lookup type="LpPropertiesView" name="image"/>
|
||||
</lookup>
|
||||
</binding>
|
||||
<property name="child">
|
||||
<object class="GtkScrolledWindow">
|
||||
<property name="child">
|
||||
<object class="GtkBox">
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="spacing">24</property>
|
||||
<property name="margin-top">24</property>
|
||||
<property name="margin-bottom">24</property>
|
||||
<property name="margin-start">12</property>
|
||||
<property name="margin-end">12</property>
|
||||
<child>
|
||||
<object class="AdwPreferencesGroup">
|
||||
<child>
|
||||
<object class="AdwActionRow">
|
||||
<property name="title" translatable="yes">Folder</property>
|
||||
<property name="activatable-widget">folder_button</property>
|
||||
<binding name="subtitle">
|
||||
<closure type="gchararray" function="folder_name">
|
||||
<lookup name="file">LpPropertiesView</lookup>
|
||||
</closure>
|
||||
</binding>
|
||||
<child type="suffix">
|
||||
<object class="GtkButton" id="folder_button">
|
||||
<property name="valign">center</property>
|
||||
<property name="action-name">properties.open-folder</property>
|
||||
<property name="icon-name">folder-open-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Open Containing Folder</property>
|
||||
<style>
|
||||
<class name="flat"/>
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
<style>
|
||||
<class name="property"/>
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="AdwPreferencesGroup">
|
||||
<child>
|
||||
<object class="AdwActionRow">
|
||||
<property name="title" translatable="yes">Image Size</property>
|
||||
<property name="subtitle-selectable">True</property>
|
||||
<binding name="subtitle">
|
||||
<closure type="gchararray" function="image_size">
|
||||
<lookup type="LpImage" name="image-size">
|
||||
<lookup name="image">LpPropertiesView</lookup>
|
||||
</lookup>
|
||||
</closure>
|
||||
</binding>
|
||||
<style>
|
||||
<class name="property"/>
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="AdwActionRow">
|
||||
<property name="title" translatable="yes">Image Format</property>
|
||||
<property name="subtitle-selectable">True</property>
|
||||
<binding name="subtitle">
|
||||
<lookup type="LpImage" name="format-name">
|
||||
<lookup type="LpPropertiesView" name="image"/>
|
||||
</lookup>
|
||||
</binding>
|
||||
<style>
|
||||
<class name="property"/>
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="AdwActionRow">
|
||||
<property name="title" translatable="yes">File Size</property>
|
||||
<property name="subtitle-selectable">True</property>
|
||||
<binding name="subtitle">
|
||||
<closure type="gchararray" function="file_size">
|
||||
<lookup name="file-info">LpPropertiesView</lookup>
|
||||
</closure>
|
||||
</binding>
|
||||
<style>
|
||||
<class name="property"/>
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="AdwPreferencesGroup">
|
||||
<child>
|
||||
<object class="AdwActionRow">
|
||||
<property name="title" translatable="yes">File Created</property>
|
||||
<property name="subtitle-selectable">True</property>
|
||||
<binding name="subtitle">
|
||||
<closure type="gchararray" function="created_date">
|
||||
<lookup name="file-info">LpPropertiesView</lookup>
|
||||
</closure>
|
||||
</binding>
|
||||
<style>
|
||||
<class name="property"/>
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="AdwActionRow">
|
||||
<property name="title" translatable="yes">File Modified</property>
|
||||
<property name="subtitle-selectable">True</property>
|
||||
<binding name="subtitle">
|
||||
<closure type="gchararray" function="modified_date">
|
||||
<lookup name="file-info">LpPropertiesView</lookup>
|
||||
</closure>
|
||||
</binding>"
|
||||
<style>
|
||||
<class name="property"/>
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="AdwPreferencesGroup">
|
||||
<binding name="visible">
|
||||
<lookup name="has-information">
|
||||
<lookup name="metadata">LpPropertiesView</lookup>
|
||||
</lookup>
|
||||
</binding>
|
||||
<child>
|
||||
<object class="AdwActionRow">
|
||||
<property name="title" translatable="yes">Location</property>
|
||||
<property name="activatable-widget">location_button</property>
|
||||
<binding name="subtitle">
|
||||
<lookup name="location">
|
||||
<lookup name="metadata">LpPropertiesView</lookup>
|
||||
</lookup>
|
||||
</binding>
|
||||
<binding name="visible">
|
||||
<closure type="gboolean" function="has_content">
|
||||
<lookup name="location">
|
||||
<lookup name="metadata">LpPropertiesView</lookup>
|
||||
</lookup>
|
||||
</closure>
|
||||
</binding>
|
||||
<child type="suffix">
|
||||
<object class="GtkButton" id="location_button">
|
||||
<property name="valign">center</property>
|
||||
<property name="action-name">properties.open-location</property>
|
||||
<property name="icon-name">mark-location-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Open Location</property>
|
||||
<style>
|
||||
<class name="flat"/>
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
<style>
|
||||
<class name="property"/>
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="AdwActionRow">
|
||||
<property name="title" translatable="yes">Originally Created</property>
|
||||
<property name="subtitle-selectable">True</property>
|
||||
<binding name="subtitle">
|
||||
<lookup name="originally-created">
|
||||
<lookup name="metadata">LpPropertiesView</lookup>
|
||||
</lookup>
|
||||
</binding>
|
||||
<binding name="visible">
|
||||
<closure type="gboolean" function="has_content">
|
||||
<lookup name="originally-created">
|
||||
<lookup name="metadata">LpPropertiesView</lookup>
|
||||
</lookup>
|
||||
</closure>
|
||||
</binding>
|
||||
<style>
|
||||
<class name="property"/>
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="AdwActionRow">
|
||||
<property name="title" translatable="yes">Aperture</property>
|
||||
<property name="subtitle-selectable">True</property>
|
||||
<binding name="subtitle">
|
||||
<lookup name="f-number">
|
||||
<lookup name="metadata">LpPropertiesView</lookup>
|
||||
</lookup>
|
||||
</binding>
|
||||
<binding name="visible">
|
||||
<closure type="gboolean" function="has_content">
|
||||
<lookup name="f-number">
|
||||
<lookup name="metadata">LpPropertiesView</lookup>
|
||||
</lookup>
|
||||
</closure>
|
||||
</binding>
|
||||
<style>
|
||||
<class name="property"/>
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="AdwActionRow">
|
||||
<property name="title" translatable="yes">Exposure</property>
|
||||
<property name="subtitle-selectable">True</property>
|
||||
<binding name="subtitle">
|
||||
<lookup name="exposure-time">
|
||||
<lookup name="metadata">LpPropertiesView</lookup>
|
||||
</lookup>
|
||||
</binding>
|
||||
<binding name="visible">
|
||||
<closure type="gboolean" function="has_content">
|
||||
<lookup name="exposure-time">
|
||||
<lookup name="metadata">LpPropertiesView</lookup>
|
||||
</lookup>
|
||||
</closure>
|
||||
</binding>
|
||||
<style>
|
||||
<class name="property"/>
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="AdwActionRow">
|
||||
<property name="title" translatable="yes">ISO</property>
|
||||
<property name="subtitle-selectable">True</property>
|
||||
<binding name="subtitle">
|
||||
<lookup name="iso">
|
||||
<lookup name="metadata">LpPropertiesView</lookup>
|
||||
</lookup>
|
||||
</binding>
|
||||
<binding name="visible">
|
||||
<closure type="gboolean" function="has_content">
|
||||
<lookup name="iso">
|
||||
<lookup name="metadata">LpPropertiesView</lookup>
|
||||
</lookup>
|
||||
</closure>
|
||||
</binding>
|
||||
<style>
|
||||
<class name="property"/>
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="AdwActionRow">
|
||||
<property name="title" translatable="yes">Focal Length</property>
|
||||
<property name="subtitle-selectable">True</property>
|
||||
<binding name="subtitle">
|
||||
<lookup name="focal-length">
|
||||
<lookup name="metadata">LpPropertiesView</lookup>
|
||||
</lookup>
|
||||
</binding>
|
||||
<binding name="visible">
|
||||
<closure type="gboolean" function="has_content">
|
||||
<lookup name="focal-length">
|
||||
<lookup name="metadata">LpPropertiesView</lookup>
|
||||
</lookup>
|
||||
</closure>
|
||||
</binding>
|
||||
<style>
|
||||
<class name="property"/>
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="AdwActionRow">
|
||||
<property name="title" translatable="yes">Maker, Model</property>
|
||||
<property name="subtitle-selectable">True</property>
|
||||
<binding name="subtitle">
|
||||
<lookup name="maker-model">
|
||||
<lookup name="metadata">LpPropertiesView</lookup>
|
||||
</lookup>
|
||||
</binding>
|
||||
<binding name="visible">
|
||||
<closure type="gboolean" function="has_content">
|
||||
<lookup name="maker-model">
|
||||
<lookup name="metadata">LpPropertiesView</lookup>
|
||||
</lookup>
|
||||
</closure>
|
||||
</binding>
|
||||
<style>
|
||||
<class name="property"/>
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</property>
|
||||
</template>
|
||||
</interface>
|
||||
Loading…
Add table
Add a link
Reference in a new issue