printing: Add printing support
Part-of: <https://gitlab.gnome.org/Incubator/loupe/-/merge_requests/165>
This commit is contained in:
parent
e96b9ccac9
commit
ae5ca76176
22 changed files with 936 additions and 49 deletions
|
|
@ -1,273 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<interface>
|
||||
<object class="GtkShortcutsWindow" id="help_overlay">
|
||||
<property name="modal">True</property>
|
||||
<child>
|
||||
<object class="GtkShortcutsSection">
|
||||
<property name="section_name">shortcuts</property>
|
||||
<property name="max-height">12</property>
|
||||
<child>
|
||||
<object class="GtkShortcutsGroup">
|
||||
<property name="title" translatable="yes" context="shortcut window">General Shortcuts</property>
|
||||
<child>
|
||||
<object class="GtkShortcutsShortcut">
|
||||
<property name="title" translatable="yes" context="shortcut window">Show Main Menu</property>
|
||||
<property name="accelerator">F10</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkShortcutsShortcut">
|
||||
<property name="title" translatable="yes" context="shortcut window">Copy Image to Clipboard</property>
|
||||
<property name="action-name">win.copy</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkShortcutsShortcut">
|
||||
<property name="title" translatable="yes" context="shortcut window">Move Image to Trash</property>
|
||||
<property name="action-name">win.trash</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkShortcutsShortcut">
|
||||
<property name="title" translatable="yes" context="shortcut window">Toggle Image Properties</property>
|
||||
<property name="action-name">win.toggle-properties</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkShortcutsShortcut">
|
||||
<property name="title" translatable="yes" context="shortcut window">Set as Background</property>
|
||||
<property name="action-name">win.set-background</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkShortcutsShortcut">
|
||||
<property name="title" translatable="yes" context="shortcut window">Toggle Fullscreen</property>
|
||||
<property name="action-name">win.toggle-fullscreen</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkShortcutsShortcut">
|
||||
<property name="title" translatable="yes" context="shortcut window">Leave Fullscreen</property>
|
||||
<property name="action-name">win.leave-fullscreen</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkShortcutsShortcut">
|
||||
<property name="title" translatable="yes" context="shortcut window">New Window</property>
|
||||
<property name="action-name">app.new-window</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkShortcutsShortcut">
|
||||
<property name="title" translatable="yes" context="shortcut window">Open Help</property>
|
||||
<property name="action-name">app.help</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkShortcutsShortcut">
|
||||
<property name="title" translatable="yes" context="shortcut window">Show Keyboard Shortcuts</property>
|
||||
<property name="action-name">win.show-help-overlay</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkShortcutsShortcut">
|
||||
<property name="title" translatable="yes" context="shortcut window">Close Window</property>
|
||||
<property name="action-name">window.close</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkShortcutsShortcut">
|
||||
<property name="title" translatable="yes" context="shortcut window">Quit</property>
|
||||
<property name="action-name">app.quit</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkShortcutsGroup">
|
||||
<property name="title" translatable="yes" context="shortcut window">Navigate Images</property>
|
||||
<child>
|
||||
<object class="GtkShortcutsShortcut">
|
||||
<property name="direction">GTK_TEXT_DIR_LTR</property>
|
||||
<property name="title" translatable="yes" context="shortcut window">Next Image</property>
|
||||
<property name="accelerator">Right</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkShortcutsShortcut">
|
||||
<property name="direction">GTK_TEXT_DIR_LTR</property>
|
||||
<property name="title" translatable="yes" context="shortcut window">Previous Image</property>
|
||||
<property name="accelerator">Left</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkShortcutsShortcut">
|
||||
<property name="direction">GTK_TEXT_DIR_RTL</property>
|
||||
<property name="title" translatable="yes" context="shortcut window">Next Image</property>
|
||||
<property name="accelerator">Left</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkShortcutsShortcut">
|
||||
<property name="direction">GTK_TEXT_DIR_RTL</property>
|
||||
<property name="title" translatable="yes" context="shortcut window">Previous Image</property>
|
||||
<property name="accelerator">Right</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkShortcutsShortcut">
|
||||
<property name="title" translatable="yes" context="shortcut window">First Image</property>
|
||||
<property name="action-name">win.first</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkShortcutsShortcut">
|
||||
<property name="title" translatable="yes" context="shortcut window">Last Image</property>
|
||||
<property name="action-name">win.last</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkShortcutsGroup">
|
||||
<property name="title" translatable="yes" context="shortcut window">Rotate Image</property>
|
||||
<child>
|
||||
<object class="GtkShortcutsShortcut">
|
||||
<property name="title" translatable="yes" context="shortcut window">Rotate Clockwise</property>
|
||||
<property name="accelerator"><Ctrl>R</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkShortcutsShortcut">
|
||||
<property name="title" translatable="yes" context="shortcut window">Rotate Counterclockwise</property>
|
||||
<property name="accelerator"><Ctrl><Shift>R</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkShortcutsGroup">
|
||||
<property name="title" translatable="yes" context="shortcut window">Zoom Image</property>
|
||||
<child>
|
||||
<object class="GtkShortcutsShortcut">
|
||||
<property name="title" translatable="yes" context="shortcut window">Zoom In</property>
|
||||
<property name="accelerator"><Ctrl>plus plus</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkShortcutsShortcut">
|
||||
<property name="title" translatable="yes" context="shortcut window">Zoom Out</property>
|
||||
<property name="accelerator"><Ctrl>minus minus</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkShortcutsShortcut">
|
||||
<property name="title" translatable="yes" context="shortcut window">Best Fit</property>
|
||||
<property name="accelerator"><Ctrl>0 0</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkShortcutsShortcut">
|
||||
<property name="title" translatable="yes" context="shortcut window">Original Scale</property>
|
||||
<property name="accelerator"><Ctrl>1 1</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkShortcutsShortcut">
|
||||
<property name="title" translatable="yes" context="shortcut window">200% Scale</property>
|
||||
<property name="accelerator"><Ctrl>2 2</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkShortcutsGroup">
|
||||
<property name="title" translatable="yes" context="shortcut window">Pan View</property>
|
||||
<child>
|
||||
<object class="GtkShortcutsShortcut">
|
||||
<property name="title" translatable="yes" context="shortcut window">Pan Left</property>
|
||||
<property name="action-name">win.pan-left</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkShortcutsShortcut">
|
||||
<property name="title" translatable="yes" context="shortcut window">Pan Right</property>
|
||||
<property name="action-name">win.pan-right</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkShortcutsShortcut">
|
||||
<property name="title" translatable="yes" context="shortcut window">Pan Up</property>
|
||||
<property name="action-name">win.pan-up</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkShortcutsShortcut">
|
||||
<property name="title" translatable="yes" context="shortcut window">Pan Down</property>
|
||||
<property name="action-name">win.pan-down</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkShortcutsGroup">
|
||||
<property name="title" translatable="yes" context="shortcut window">Gestures</property>
|
||||
<child>
|
||||
<object class="GtkShortcutsShortcut">
|
||||
<property name="direction">GTK_TEXT_DIR_LTR</property>
|
||||
<property name="title" translatable="yes" context="shortcut window">Next Image</property>
|
||||
<property name="shortcut-type">gesture-two-finger-swipe-right</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkShortcutsShortcut">
|
||||
<property name="direction">GTK_TEXT_DIR_LTR</property>
|
||||
<property name="title" translatable="yes" context="shortcut window">Previous Image</property>
|
||||
<property name="shortcut-type">gesture-two-finger-swipe-left</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkShortcutsShortcut">
|
||||
<property name="direction">GTK_TEXT_DIR_RTL</property>
|
||||
<property name="title" translatable="yes" context="shortcut window">Next Image</property>
|
||||
<property name="shortcut-type">gesture-two-finger-swipe-left</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkShortcutsShortcut">
|
||||
<property name="direction">GTK_TEXT_DIR_RTL</property>
|
||||
<property name="title" translatable="yes" context="shortcut window">Previous Image</property>
|
||||
<property name="shortcut-type">gesture-two-finger-swipe-right</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkShortcutsShortcut">
|
||||
<property name="title" translatable="yes" context="shortcut window">Zoom In</property>
|
||||
<property name="shortcut-type">gesture-stretch</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkShortcutsShortcut">
|
||||
<property name="title" translatable="yes" context="shortcut window">Zoom Out</property>
|
||||
<property name="shortcut-type">gesture-pinch</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkShortcutsShortcut">
|
||||
<property name="title" translatable="yes" context="shortcut window">Rotate Clockwise</property>
|
||||
<property name="shortcut-type">gesture-rotate-clockwise</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkShortcutsShortcut">
|
||||
<property name="title" translatable="yes" context="shortcut window">Rotate Counterclockwise</property>
|
||||
<property name="shortcut-type">gesture-rotate-counterclockwise</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</interface>
|
||||
|
||||
192
data/gtk/print.ui
Normal file
192
data/gtk/print.ui
Normal file
|
|
@ -0,0 +1,192 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<interface>
|
||||
<template class="LpPrint" parent="AdwWindow">
|
||||
<property name="title" translatable="yes">Layout Image</property>
|
||||
<property name="default-width">350</property>
|
||||
<signal name="notify::orientation" handler="orientation_changed" swapped="yes" />
|
||||
<property name="content">
|
||||
<object class="GtkBox">
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="spacing">12</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>
|
||||
<child>
|
||||
<object class="AdwHeaderBar">
|
||||
<child type="start">
|
||||
<object class="GtkButton">
|
||||
<property name="icon-name">go-previous-symbolic</property>
|
||||
<property name="action-name">print.back</property>
|
||||
</object>
|
||||
</child>
|
||||
<style>
|
||||
<class name="flat" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="vexpand">true</property>
|
||||
<property name="spacing">24</property>
|
||||
<property name="margin-top">18</property>
|
||||
<property name="margin-end">18</property>
|
||||
<property name="margin-bottom">18</property>
|
||||
<property name="margin-start">18</property>
|
||||
<child>
|
||||
<object class="LpPrintPreview" id="preview">
|
||||
<property name="css-name">lpprintpreview</property>
|
||||
<binding name="print">
|
||||
<constant>LpPrint</constant>
|
||||
</binding>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="halign">center</property>
|
||||
<property name="spacing">36</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<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>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<style>
|
||||
<class name="linked" />
|
||||
</style>
|
||||
<child>
|
||||
<object class="GtkButton">
|
||||
<property name="icon-name">center-on-page-horizontal-symbolic</property>
|
||||
<property name="action-name">print.center-horizontally</property>
|
||||
<property name="tooltip-text" translatable="yes">Center image horizontally</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton">
|
||||
<property name="icon-name">center-on-page-vertical-symbolic</property>
|
||||
<property name="action-name">print.center-vertically</property>
|
||||
<property name="tooltip-text" translatable="yes">Center image vertically</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkListBox">
|
||||
<property name="selection-mode">none</property>
|
||||
<child>
|
||||
<object class="AdwActionRow">
|
||||
<property name="title" translatable="yes">Image Width</property>
|
||||
<child>
|
||||
<object class="GtkSpinButton" id="width">
|
||||
<property name="valign">center</property>
|
||||
<property name="max-width-chars">5</property>
|
||||
<signal name="value-changed" handler="width_changed" swapped="yes" />
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="AdwActionRow">
|
||||
<property name="title" translatable="yes">Image Scale</property>
|
||||
<child>
|
||||
<object class="GtkLabel" id="scale">
|
||||
<style>
|
||||
<class name="dim-label" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="AdwActionRow">
|
||||
<property name="title" translatable="yes">Left Margin</property>
|
||||
<child>
|
||||
<object class="GtkSpinButton" id="margin_left">
|
||||
<property name="valign">center</property>
|
||||
<property name="max-width-chars">5</property>
|
||||
<signal name="value-changed" handler="margin_left_changed" swapped="yes" />
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="AdwActionRow">
|
||||
<property name="title" translatable="yes">Top Margin</property>
|
||||
<child>
|
||||
<object class="GtkSpinButton" id="margin_top">
|
||||
<property name="valign">center</property>
|
||||
<property name="max-width-chars">5</property>
|
||||
<signal name="value-changed" handler="margin_top_changed" swapped="yes" />
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="AdwComboRow" id="unit">
|
||||
<property name="title" translatable="yes">Length Unit</property>
|
||||
<signal name="notify::selected-item" handler="unit_selected" swapped="yes" />
|
||||
<property name="model">
|
||||
<object class="GtkStringList">
|
||||
<items>
|
||||
<item>cm</item>
|
||||
<item>in</item>
|
||||
<item>px</item>
|
||||
</items>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</child>
|
||||
<style>
|
||||
<class name="boxed-list" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton">
|
||||
<property name="label" translatable="yes">Print</property>
|
||||
<property name="action-name">print.print</property>
|
||||
<property name="halign">center</property>
|
||||
<property name="valign">end</property>
|
||||
<property name="vexpand">true</property>
|
||||
<property name="width-request">160</property>
|
||||
<style>
|
||||
<class name="suggested-action" />
|
||||
<class name="pill" />
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</property>
|
||||
</template>
|
||||
</interface>
|
||||
Loading…
Add table
Add a link
Reference in a new issue