Separate window show ui and code to enable editing
This commit is contained in:
parent
0012d807e3
commit
9205c93fae
8 changed files with 527 additions and 382 deletions
|
|
@ -56,62 +56,88 @@
|
|||
</item>
|
||||
</section>
|
||||
</menu>
|
||||
<template class="LpWindow" parent="AdwApplicationWindow">
|
||||
<property name="default-width">600</property>
|
||||
<property name="default-height">498</property>
|
||||
<property name="width-request">360</property>
|
||||
<property name="height-request">294</property>
|
||||
<child>
|
||||
<object class="AdwBreakpoint">
|
||||
<condition>max-width: 590sp</condition>
|
||||
<setter object="multi_layout_view" property="layout-name">bottom-properties</setter>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="AdwBreakpoint">
|
||||
<condition>max-width: 590sp and max-height: 550sp</condition>
|
||||
<setter object="multi_layout_view" property="layout-name">overlay-properties</setter>
|
||||
</object>
|
||||
</child>
|
||||
<property name="content">
|
||||
<object class="AdwToastOverlay" id="toast_overlay">
|
||||
<property name="child">
|
||||
<object class="AdwMultiLayoutView" id="multi_layout_view">
|
||||
<child>
|
||||
<object class="AdwLayout">
|
||||
<property name="name">sidebar-properies</property>
|
||||
<template class="LpWindowImage" parent="AdwBin">
|
||||
<property name="child">
|
||||
<object class="AdwMultiLayoutView" id="multi_layout_view">
|
||||
<child>
|
||||
<object class="AdwLayout">
|
||||
<property name="name">sidebar-properies</property>
|
||||
<property name="content">
|
||||
<object class="LpWindowContent" id="window_content">
|
||||
<property name="show-properties" bind-source="properties_button" bind-property="active" bind-flags="sync-create|invert-boolean" />
|
||||
<property name="headerbar">
|
||||
<object class="AdwLayoutSlot">
|
||||
<property name="id">headerbar</property>
|
||||
</object>
|
||||
</property>
|
||||
<property name="content">
|
||||
<object class="LpWindowContent" id="window_content">
|
||||
<property name="show-properties" bind-source="properties_button" bind-property="active" bind-flags="sync-create|invert-boolean" />
|
||||
<property name="headerbar">
|
||||
<object class="AdwOverlaySplitView" id="properties_split_view">
|
||||
<property name="sidebar-position">end</property>
|
||||
<property name="min-sidebar-width">255</property>
|
||||
<property name="show-sidebar" bind-source="properties_button" bind-property="active" bind-flags="bidirectional|sync-create" />
|
||||
<property name="content">
|
||||
<object class="AdwLayoutSlot">
|
||||
<property name="id">headerbar</property>
|
||||
<property name="id">content</property>
|
||||
</object>
|
||||
</property>
|
||||
<property name="content">
|
||||
<object class="AdwOverlaySplitView" id="properties_split_view">
|
||||
<property name="sidebar-position">end</property>
|
||||
<property name="min-sidebar-width">255</property>
|
||||
<property name="show-sidebar" bind-source="properties_button" bind-property="active" bind-flags="bidirectional|sync-create" />
|
||||
<property name="content">
|
||||
<object class="AdwLayoutSlot">
|
||||
<property name="id">content</property>
|
||||
</object>
|
||||
</property>
|
||||
<property name="sidebar">
|
||||
<object class="AdwLayoutSlot">
|
||||
<property name="id">properties</property>
|
||||
</object>
|
||||
</property>
|
||||
<property name="sidebar">
|
||||
<object class="AdwLayoutSlot">
|
||||
<property name="id">properties</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="AdwLayout">
|
||||
<property name="name">bottom-properties</property>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="AdwLayout">
|
||||
<property name="name">bottom-properties</property>
|
||||
<property name="content">
|
||||
<object class="LpWindowContent">
|
||||
<property name="show-properties" bind-source="properties_button" bind-property="active" bind-flags="sync-create|invert-boolean" />
|
||||
<property name="headerbar">
|
||||
<object class="AdwLayoutSlot">
|
||||
<property name="id">headerbar</property>
|
||||
</object>
|
||||
</property>
|
||||
<property name="content">
|
||||
<object class="GtkBox">
|
||||
<property name="orientation">vertical</property>
|
||||
<child>
|
||||
<object class="AdwLayoutSlot">
|
||||
<property name="id">content</property>
|
||||
<property name="vexpand">True</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkRevealer">
|
||||
<property name="transition-type">slide-up</property>
|
||||
<property name="reveal-child" bind-source="properties_button" bind-property="active" bind-flags="bidirectional|sync-create" />
|
||||
<style>
|
||||
<class name="bottom-properties" />
|
||||
</style>
|
||||
<property name="child">
|
||||
<object class="AdwLayoutSlot">
|
||||
<property name="id">properties</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="AdwLayout">
|
||||
<property name="name">overlay-properties</property>
|
||||
<property name="content">
|
||||
<object class="AdwBottomSheet">
|
||||
<property name="modal">True</property>
|
||||
<property name="open" bind-source="properties_button" bind-property="active" bind-flags="bidirectional|sync-create" />
|
||||
<property name="content">
|
||||
<object class="LpWindowContent">
|
||||
<property name="show-properties" bind-source="properties_button" bind-property="active" bind-flags="sync-create|invert-boolean" />
|
||||
|
|
@ -121,187 +147,149 @@
|
|||
</object>
|
||||
</property>
|
||||
<property name="content">
|
||||
<object class="GtkBox">
|
||||
<property name="orientation">vertical</property>
|
||||
<child>
|
||||
<object class="AdwLayoutSlot">
|
||||
<property name="id">content</property>
|
||||
<property name="vexpand">True</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkRevealer">
|
||||
<property name="transition-type">slide-up</property>
|
||||
<property name="reveal-child" bind-source="properties_button" bind-property="active" bind-flags="bidirectional|sync-create" />
|
||||
<style>
|
||||
<class name="bottom-properties" />
|
||||
</style>
|
||||
<property name="child">
|
||||
<object class="AdwLayoutSlot">
|
||||
<property name="id">properties</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<object class="AdwLayoutSlot">
|
||||
<property name="id">content</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</property>
|
||||
<property name="sheet">
|
||||
<object class="AdwToolbarView">
|
||||
<child type="top">
|
||||
<object class="AdwHeaderBar">
|
||||
<property name="show-title">False</property>
|
||||
</object>
|
||||
</child>
|
||||
<property name="content">
|
||||
<object class="AdwLayoutSlot">
|
||||
<property name="id">properties</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<!-- Layout slots -->
|
||||
<child type="headerbar">
|
||||
<object class="AdwHeaderBar" id="headerbar">
|
||||
<!--
|
||||
<property name="show-end-title-buttons" bind-source="window" bind-property="fullscreened" bind-flags="sync-create|invert-boolean" />
|
||||
<property name="show-start-title-buttons" bind-source="window" bind-property="fullscreened" bind-flags="sync-create|invert-boolean" />
|
||||
-->
|
||||
<style>
|
||||
<class name="fullscreen-osd" />
|
||||
</style>
|
||||
<child type="start">
|
||||
<object class="GtkButton" id="fullscreen_button">
|
||||
<property name="action-name">win.toggle-fullscreen</property>
|
||||
<property name="tooltip-text" translatable="yes">Toggle Fullscreen</property>
|
||||
</object>
|
||||
</child>
|
||||
<child type="start">
|
||||
<object class="GtkButton" id="edit_button">
|
||||
<property name="action-name">win.edit</property>
|
||||
<property name="icon-name">document-edit-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Edit Image</property>
|
||||
</object>
|
||||
</child>
|
||||
<child type="end">
|
||||
<object class="GtkMenuButton" id="primary_menu">
|
||||
<property name="icon-name">open-menu-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Main Menu</property>
|
||||
<property name="primary">True</property>
|
||||
<property name="popover">
|
||||
<object class="GtkPopoverMenu">
|
||||
<property name="menu-model">primary_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>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child type="end">
|
||||
<object class="GtkToggleButton" id="properties_button">
|
||||
<property name="icon-name">info-outline-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Image Properties</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="AdwLayout">
|
||||
<property name="name">overlay-properties</property>
|
||||
<property name="content">
|
||||
<object class="AdwBottomSheet">
|
||||
<property name="modal">True</property>
|
||||
<property name="open" bind-source="properties_button" bind-property="active" bind-flags="bidirectional|sync-create" />
|
||||
<property name="content">
|
||||
<object class="LpWindowContent">
|
||||
<property name="show-properties" bind-source="properties_button" bind-property="active" bind-flags="sync-create|invert-boolean" />
|
||||
<property name="headerbar">
|
||||
<object class="AdwLayoutSlot">
|
||||
<property name="id">headerbar</property>
|
||||
</object>
|
||||
</property>
|
||||
<property name="content">
|
||||
<object class="AdwLayoutSlot">
|
||||
<property name="id">content</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</property>
|
||||
<property name="sheet">
|
||||
<object class="AdwToolbarView">
|
||||
<child type="top">
|
||||
<object class="AdwHeaderBar">
|
||||
<property name="show-title">False</property>
|
||||
</object>
|
||||
</child>
|
||||
<property name="content">
|
||||
<object class="AdwLayoutSlot">
|
||||
<property name="id">properties</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
<object class="GtkEventControllerMotion" id="headerbar_events" />
|
||||
</child>
|
||||
<!-- Layout slots -->
|
||||
<child type="headerbar">
|
||||
<object class="AdwHeaderBar" id="headerbar">
|
||||
<property name="show-end-title-buttons" bind-source="LpWindow" bind-property="fullscreened" bind-flags="sync-create|invert-boolean" />
|
||||
<property name="show-start-title-buttons" bind-source="LpWindow" bind-property="fullscreened" bind-flags="sync-create|invert-boolean" />
|
||||
</object>
|
||||
</child>
|
||||
<child type="content">
|
||||
<object class="LpDragOverlay" id="drag_overlay">
|
||||
<property name="drop_target">drop_target</property>
|
||||
<property name="content">
|
||||
<object class="GtkStack" id="stack">
|
||||
<property name="visible-child">status_page</property>
|
||||
<style>
|
||||
<class name="fullscreen-osd" />
|
||||
<class name="drop-widget" />
|
||||
</style>
|
||||
<child type="start">
|
||||
<object class="GtkButton" id="fullscreen_button">
|
||||
<property name="halign">end</property>
|
||||
<property name="action-name">win.toggle-fullscreen</property>
|
||||
<property name="tooltip-text" translatable="yes">Toggle Fullscreen</property>
|
||||
</object>
|
||||
</child>
|
||||
<child type="end">
|
||||
<object class="GtkMenuButton" id="primary_menu">
|
||||
<property name="icon-name">open-menu-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Main Menu</property>
|
||||
<property name="primary">True</property>
|
||||
<property name="popover">
|
||||
<object class="GtkPopoverMenu">
|
||||
<property name="menu-model">primary_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>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<child type="end">
|
||||
<object class="GtkToggleButton" id="properties_button">
|
||||
<property name="icon-name">info-outline-symbolic</property>
|
||||
<property name="tooltip-text" translatable="yes">Image Properties</property>
|
||||
<child>
|
||||
<object class="GtkDropTarget" id="drop_target">
|
||||
<property name="actions">copy</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkEventControllerMotion" id="headerbar_events" />
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child type="content">
|
||||
<object class="LpDragOverlay" id="drag_overlay">
|
||||
<property name="drop_target">drop_target</property>
|
||||
<property name="content">
|
||||
<object class="GtkStack" id="stack">
|
||||
<property name="visible-child">status_page</property>
|
||||
<style>
|
||||
<class name="drop-widget" />
|
||||
</style>
|
||||
<object class="AdwStatusPage" id="status_page">
|
||||
<property name="title" translatable="yes">View Images</property>
|
||||
<property name="description" translatable="yes">Drag and drop images here</property>
|
||||
<child>
|
||||
<object class="GtkDropTarget" id="drop_target">
|
||||
<property name="actions">copy</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="AdwStatusPage" id="status_page">
|
||||
<property name="title" translatable="yes">View Images</property>
|
||||
<property name="description" translatable="yes">Drag and drop images here</property>
|
||||
<child>
|
||||
<object class="GtkButton">
|
||||
<property name="halign">center</property>
|
||||
<property name="label" translatable="yes">_Open Files…</property>
|
||||
<property name="use-underline">True</property>
|
||||
<property name="action-name">win.open</property>
|
||||
<style>
|
||||
<class name="pill" />
|
||||
<class name="suggested-action" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="LpImageView" id="image_view">
|
||||
<child>
|
||||
<object class="GtkGestureClick" id="forward_click_gesture">
|
||||
<property name="button">9</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkGestureClick" id="backward_click_gesture">
|
||||
<property name="button">8</property>
|
||||
</object>
|
||||
</child>
|
||||
<object class="GtkButton">
|
||||
<property name="halign">center</property>
|
||||
<property name="label" translatable="yes">_Open Files…</property>
|
||||
<property name="use-underline">True</property>
|
||||
<property name="action-name">win.open</property>
|
||||
<style>
|
||||
<class name="pill" />
|
||||
<class name="suggested-action" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</property>
|
||||
</child>
|
||||
<child>
|
||||
<object class="LpImageView" id="image_view">
|
||||
<child>
|
||||
<object class="GtkGestureClick" id="forward_click_gesture">
|
||||
<property name="button">9</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkGestureClick" id="backward_click_gesture">
|
||||
<property name="button">8</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child type="properties">
|
||||
<object class="LpPropertiesView" id="properties_view" />
|
||||
</child>
|
||||
</property>
|
||||
</object>
|
||||
</property>
|
||||
</child>
|
||||
<child type="properties">
|
||||
<object class="LpPropertiesView" id="properties_view" />
|
||||
</child>
|
||||
</object>
|
||||
</property>
|
||||
</template>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue